Мій процесор - це Intel Core i3-380m . Як бачите, це 2 ядра та 4 нитки.
Хоча і Ubuntu 11.04, і Windows 7, здається, вважають це чотириядерний процесор:
Чому це? Це тому, що є 2 потоки на ядро, що розділяє процесор на 4 процесорні блоки?
Мій процесор - це Intel Core i3-380m . Як бачите, це 2 ядра та 4 нитки.
Хоча і Ubuntu 11.04, і Windows 7, здається, вважають це чотириядерний процесор:
Чому це? Це тому, що є 2 потоки на ядро, що розділяє процесор на 4 процесорні блоки?
Відповіді:
Як вже згадувалося, у вас є двоядерна система з 2 потоками на ядро.
Це продається в Інтернеті як гіперточка, і це робилося різними способами протягом багатьох років різними виробниками.
Щоб пояснити це у найпростішому вигляді, кожне ядро ЦП складається з "ядра" та різної архітектури навколо цього ядра, яка зберігає інформацію про стан та обробку для кожного потоку. Однопоточне ядро має архітектуру, щоб зберігати інформацію про стан, що має 1 потік, гіперточне ядро зберігає два різних набори інформації про стан, дозволяючи запускати два окремі процеси одночасно, доки вони вимагають різних частин ядра ( що цілком ймовірно, що це станеться, оскільки ядро складається з декількох одиниць декількох різних типів одиниць обробки).
Для спрощення того, як процесор сприймається в системі, кожна гіпертетка розглядається як окремий процесор, тому двоядерний, 2-х потоковий процесор представляється як чотирьохядерний процесор.
Операційна система також може використовувати Core-parking (функція в новіших процесорах Intel), що дозволяє операційній системі призупиняти половину ядра з гіперпотоком, щоб, коли не потрібна додаткова обробна здатність для гіпертретування, тоді виконується функція єдиного потоку збільшується, оскільки ядро більше не ділиться кешем на 2 потоки і тепер може повністю присвятити кеш-пам'ять основного ядра одному потоку.
Причина - гіперточення , яке підтримує ваш процесор. Hyperthreading не є еквівалентом додаткового процесора, але може дійсно підвищити продуктивність у багатопотокових програмах. Для кожного ядра процесора, який фізично присутній, операційна система звертається до двох віртуальних процесорів і ділиться навантаженням між ними, коли це можливо.
Речі набагато складніші, ніж вони були в дні однієї інструкції процесора за один такт цикла.
Зараз існує конвеєр для кожної інструкції, який складається з декількох етапів. Я почув цілих 41 рік, хоча це було деякий час тому, і я не маю уявлення про те, як виглядають поточні конвеєри процесора. Я знаю, що якщо трубопровід досить довгий, ви можете почати нову інструкцію вниз по конвеєру до того, як остання інструкція закінчиться, іноді в тому ж тактовому циклі, щоб ваше єдине ядро ефективно робило дві речі одночасно.
Тут є хитрість. Ви не можете просто використовувати це для прискорення швидкості, з якою ваш процесор пережовує інструкції певної програми. Існує проблема коректності: наступна інструкція може залежати від ще невизначеного результату попередньої інструкції. Щоб безпечно скористатися довгим конвеєром , мікросхема представить два окремих ядра процесора планувальнику операційної системи та альтернативні вказівки, що надсилаються до кожного ядра, щоб дві інструкції до того ж «ядра» ніколи не були в конвеєрі одночасно. Таким чином ми можемо бути впевнені, що будь-які інструкції, що виконуються одночасно, не заважатимуть одна одній. Це називається гіпертонуванням .
Тут варто зауважити, що, хоча гіпертодування може значно збільшити кількість роботи, яку ви вийдете зі свого процесора, це ніде не так добре, як мати стільки фізичних ядер. Залежно від завантаженості роботи, це може означати покращення на 15% або 40%. За деяких обставин ви можете навіть відключити цю функцію, щоб інші ядра мали повний ексклюзивний доступ до кешу L1 / L2 для цього ядра (це іноді робиться з виділеними серверами баз даних).
Коли ваш чіп рекламує себе як 2 ядра з 4 потоками, це означає, що це двоядерний процесор, який підтримує гіперточування.
Погляньте на цю сторінку розвідки - на ній є багато анімацій, що показують, як гіпертодування прискорює ваші завдання.
Utilization of Processor Resources
Кращий анімаційний, дивитися на нього і їх натисніть кнопку «авансовий».
Чому це? Це тому, що є 2 потоки на ядро, що розділяє процесор на 4 процесорні блоки?
Простіше кажучи, відповідь - так. Кожне ядро вашого процесора може підтримувати два незалежних потоки, так що всього 4. Але це не означає, що він має таку ж продуктивність, як чотириядерний однопотоковий процесор. практично продуктивність двоядерного процесора з двома потоками нижче, ніж у чотирьохядерного однопотокового процесора. Як і AMD Phenom X4.