Сколько ядер у моего Mac?

Я в замешательстве, потому что, когда я вижу свой макинтош около окна, я вижу

Что у меня есть 1 Processor а также 4 cores, Но когда я бегу htop, Я вижу 8 cores

Что мне не хватает?

5 ответов

Решение

Что мне не хватает?

Гиперпоточность. У вас есть 4 физических ядра, но 8 логических.

Для каждого физического процессорного ядра операционная система обращается к двум виртуальным (логическим) ядрам и распределяет рабочую нагрузку между ними, когда это возможно.

Смотрите также данные Intel на вашем процессоре i7 4870HQ:

Количество ядер 4

Сердечники - это аппаратный термин, который описывает количество независимых центральных процессоров в одном вычислительном компоненте (кристалле или микросхеме).

Количество потоков 8

Поток или поток выполнения - это программный термин для базовой упорядоченной последовательности инструкций, которые могут передаваться или обрабатываться одним ядром ЦП.

В терминале вы можете увидеть разницу между количеством физических и логических процессоров, использующих sysctl:

$ sysctl hw.physicalcpu hw.logicalcpu
hw.physicalcpu: 4
hw.logicalcpu: 8

То, что вы видите, называется hyperthreaded сердечники.

Для каждого физического ядра есть два гиперпоточных (или логических) ядра, вы можете прочитать больше о гиперпоточности здесь

Ваш процессор - i7, поэтому у него есть Hyperthreading, который представлен приложениям системного мониторинга за счет удвоения количества ядер, поскольку каждый из них может обрабатывать два потока одновременно.

Он имеет 4 физических ядра и 4 логических ядра, что дает вам в общей сложности 8 ядер.

Это называется Hyper-Threading

Хотя большинство ответов здесь содержат ссылку на Википедию (что верно!), Я просто хочу перечислить абзац из той же статьи, который помог мне понять, как может работать логический процессор.

Гиперпоточность работает путем дублирования определенных секций процессора - тех, которые хранят архитектурное состояние, - но не дублирования основных ресурсов выполнения. Это позволяет гиперпоточному процессору выглядеть как обычный "физический" процессор и дополнительный "логический" процессор для операционной системы хоста (операционные системы, не поддерживающие HTT, видят два "физических" процессора), позволяя операционной системе планировать два потока или обрабатывает одновременно и надлежащим образом. Когда ресурсы выполнения не будут использоваться текущей задачей в процессоре без гиперпоточности, и особенно когда процессор остановлен, процессор, оснащенный гиперпоточностью, может использовать эти ресурсы исполнения для выполнения другой запланированной задачи. (Процессор может остановиться из-за промаха кеша, неправильного предсказания ветвления или зависимости данных.)

Источник: угадаете?

Другие вопросы по тегам