Процессор какие бывают и для чего: Основные виды процессоров
Содержание
название, серия, поколение, номер, версия
Статья обновлена: 26.07.2021
Intel работает с 1968 года и считается одним из лучших создателей процессоров. Поскольку модификаций ЦП за долгую службу у Интел скопилось немало, порой, трудно выбрать подходящий «камень». Статья поможет со всем этим разобраться.
Что собой представляют процессоры компании Интел: характеристики процессоров Intel
На CPU от Интел используют обозначения, которые состоят из букв и цифр. Первая цифра — определение поколения, а следующие три — код. Буквы означают линейку ЦПУ и маркировку. Все эти символы тесно связаны с характеристиками устройств.
Маркировка процессоров Intel: версии процессора
В ЦП этого производителя используется 9 букв, которые обозначают маркировку.
- M — мобильный процессор. От классических ЦП отличается чуть урезанной частотой и более низкими показателями тепловыделения. Потому они не требуют мощного охлаждения. Часто их устанавливают в лэптопы, чтобы увеличить автономность.
- U — ультрамобильный процессор. Модели с таким индексом используются в планшетах, смартфонах и недорогих ультрабуках. Но есть и довольно мощные варианты. Показатель тепловыделения таких ЦП — всего лишь на уровне 15 Вт.
Примечание: буквенные обозначения T или S в маркировке ЦП свидетельствует о том, что модификация имеет более низкий показатель TDP.
Производительность ЦПУ в этом случае немного ниже.
- Y — процессор с экстремально низким потреблением: в среднем, 11,5 Ватт, но это не предел. «Космических» показателей производительности от устройств ожидать не стоит.
- Q — четырёхъядерный процессор. Модификаций подобного рода огромное количество. Хороший пример — i5-7440: 4 ядерный, с приличной частотой и не слишком дорогой.
- X — экстремальный процессор. Представляет собой топовое решение, на базе которого можно собрать крутую рабочую станцию для монтажа видео, работы с графическими программами и звуком. Подойдет для игр с запасом на будущее: с ультрапресетом графики и высоким стабильным FPS. Например, у i9-9820X — 10 ядер, которые трудятся на 4,2 ГГц, да еще и 20 потоков.
- H — процессор под упаковку. Маркировка ЦП такой буквой говорит об улучшении интегрированного графического чипа. Подобные варианты не заменят полноценную дискретную видеокарту, и уж тем более не претендуют на звание игровых, но качество «встройки» в таких устройствах выше, чем у аналогов.
- K — процессор может разгонять свою тактовую частоту. Это позволяет чипсету не «гонять из пустого в порожнее» при базовых нагрузках.
- T — проц обладает сниженной тактовой частотой и уменьшенными конструктивными требованиями к теплоотводу ПК. Такие процессоры установит даже новичок в свой базовый комп.
- F — в таких чипсетах нет встроенного графического процессора. Чтобы рендерить крутое 3D или играть в современные игры на хороших настройках — придется искать классную видеокарту. Тогда он точно не просядет даже на максимальных нагрузках. Пример: свежайший Intel Core i5-10400F с тактовой частотой до 4,3 ГГц, но отсутствующей интегрированной графикой.
В тему: Как правильно выбрать процессор для ПК: 5 обязательных деталей
Серия процессора
Обозначается номером. Чем выше числовое значение, тем мощнее девайс. Первая цифра номера говорит о том, к какому поколению принадлежит модель. Следующие цифры означают модификацию устройства: чем выше их значение, тем мощнее характеристики у девайса.
Совет: при выборе устройства будет не лишним сравнить номера CPU. Это поможет убедиться в том, что модификация девайса соответствует по показателям и функциональным возможностям конкретным задачам.
Интересная статья: 5 лучших процессоров от Intel для NVidia GeForce GTX 1060
Поколение процессора
Чтобы понять, какое поколение лучше, стоит рассмотреть все варианты. Они представлены в таблице:
Смотрите: 5 лучших процессоров Intel для NVidia GeForce GTX 1050 и GTX 1050 TI — рейтинг
Основные линейки
Основных линеек — три. Они отличаются параметрами и назначением.
Atom
МикроЦП на архитектуре x86 и x86-64. Изначально их создавали по 45 нм техпроцессу, но с 2014 года — по 14 нм. Устанавливают Атомы в планшеты, нетбуки, а также неттопы. Подходят модели только для работы с документами и интернет-серфинга, но выигрывают в плане автономности из-за энергоэффективности девайса.
Y/ Core m
Еще один вариант мобильной версии ЦП. Чаще можно встретить в бескулерном тонком лэптопе. Для набора текста и веб-серфинга — хороший вариант. Стоит отметить, что эти модели почти не греются, поэтому в большинстве случаев им и кулер никакой не нужен.
Следует ознакомиться: 5 способов предотвратить троттлинг процессора
Celeron/Pentium
Celeron — самые доступные двухъядерные процессоры. Для игр не пойдут, но для офисных задач и веб-серфинга вариант вроде G4900 очень даже неплох.
Pentium — те же 2 ядра, но с гораздо более высокими показателями производительности. Хороший вариант для домашнего и офисного использования. На сборке с G5400, приличным запасом оперативы и средней дискреткой типа GTX 1050 можно даже поиграть в современные игры, но без высоких настроек графики.
Core i
- Core i3. Универсальный вариант с поддержкой мультипоточности. Вплоть до 8-го поколения были двухъядерными и работали только на стоковых частотах. Потом количество ядер увеличилось в 2 раза. По сути, ЦП превратился в аналог i5 младшего поколения, но с улучшенной графикой.
- Core i5. Полноценные рабочие лошадки, на которых можно собрать довольно мощный компьютер. Все ЦП, начиная со Skylake, как минимум четырехъядерные. А i5-9600K, к примеру, вообще с шестью ядрами.
- Core i7. Монстры, способные справиться практически с любой задачей. Это по-прежнему одно из лучших решений для сборки профессионального и игрового назначения. Ядер и потоков в количестве 4/8 соответственно — не предел. К примеру, Intel Core i7-9700K — шестиядерный и 12-потоковый.
- Core i9. Самый мощный вариант ЦП от Интел с приличным запасом. Самый простой в линейке вариант — i9-9900K — восьмиядерный, шестнадцати потоковый. Топовая версия — i9-7980 XE — получила 18 ядер и 36 потоков. Сверхсложных задач для сборки на базе такого реактивного процессора просто не существует и ближайшие несколько лет ситуация вряд ли изменится.
Ликбез: Как протестировать процессор: 3 популярные утилиты
Xeon
Линейка Интел Зион на рынке с 1998 года, но в самостоятельную единицу начала отделятся только несколько лет назад. Раньше название чипсета с этой линейки выглядело так: название одного из настольных процессоров + Xeon. Так фанаты ПК знали, что они покупают улучшенную версию любимого чипсета. Сейчас же Xeon считается отдельной премиальной линейкой.
К примеру, тот же Intel Xeon Gold 5220 благодаря технологии Deep Learning Boost послужит идеальной основой для современных разработок на базе искусственного интеллекта. Также он оснащен технологией Турбо Буст 2.0, которая поможет повысить тактовую частоту и сама «научится» понимать когда именно пользователю понадобится такая «поддержка». Здесь пользователь получит в распоряжение 18 ядер, 6 каналов оперативки и 25,75 Мб кэша второго уровня. Настоящая махина для серьезных задач!
X-series
В конце 2019 появилась совершенно новая серия процессоров Intel — X. И она действительно экстраординарна! Здесь присутствует разблокированный множитель, что еще больше увеличивает границы производительности и позволяет работать с самыми сложными программами: вплоть до создания спецэффектов в кино в 4К-качестве. Также такие процессоры отлично подойдут для разработчиков игр. X-series легко выдержат даже максимальные настройки и трассировку лучей.
Состоянием на 2021 год считаются самыми мощными процессорами этого производителя, так как они имеют до 18 ядер и 36 потоков. А технология Turbo Boost Max 3.0 поможет системе преодолеть сложнейшие нагрузки, максимизируя производительность однопоточных задач.
Узнайте: Какой процессор лучше для игр, AMD или INTEL — выбираем из 2 производителей
Выводы и рекомендации при покупке процессоров Intel
Рекомендации:
- Для интернет-серфинга, набора текста и нетребовательных игр, включая онлайн проекты типа CS GO или WoT — подойдут базовые Pentium Gold G5420 или Intel Core i3-9100F. Для монтажа сложных роликов в 4К с 3D-эффектами они не подойдут, но создать милое домашнее видео им под силу.
- Бюджетный, но более производительный — i5-9400F. Такой малыш легко вытянет ГТА 5 или Ведьмак 3 на стандартных настройках с консольным ФПС.
- Для более серьезных задач — i7-8700 Box. В комбинации с дискреткой уровня 1050 Ti можно собрать хороший игровой ПК или графическую станцию.
- Если бюджет значения не имеет, а высокая производительность — главное требование, подойдет Intel Core i7-9700F. Есть варианты и под разгон. Рабочая станция на базе такого мощного процессора может многое и не боится серьезных нагрузок.
- Если же необходимо самое новое и самое лучшее, да так чтоб с хорошим запасом, подойдут последние модели.
Разобравшись в том, за что отвечает то или иное обозначение, выбирать ЦПУ пользователю станет легче. Да и процесс подбора наверняка ускорится.
Инструкция: Установка процессора на материнскую плату: 3 шага
Процессоры, ядра и потоки. Топология систем / Хабр
В этой статье я попытаюсь описать терминологию, используемую для описания систем, способных исполнять несколько программ параллельно, то есть многоядерных, многопроцессорных, многопоточных. Разные виды параллелизма в ЦПУ IA-32 появлялись в разное время и в несколько непоследовательном порядке. Во всём этом довольно легко запутаться, особенно учитывая, что операционные системы заботливо прячут детали от не слишком искушённых прикладных программ.
Используемая далее терминология используется в документации процессорам Intel. Другие архитектуры могут иметь другие названия для похожих понятий. Там, где они мне известны, я буду их упоминать.
Цель статьи — показать, что при всём многообразии возможных конфигураций многопроцессорных, многоядерных и многопоточных систем для программ, исполняющихся на них, создаются возможности как для абстракции (игнорирования различий), так и для учёта специфики (возможность программно узнать конфигурацию).
Предупреждение о знаках ®, ™, © в статье
Мой комментарий объясняет, почему сотрудники компаний должны в публичных коммуникациях использовать знаки авторского права. В этой статье их пришлось использовать довольно часто.
Процессор
Конечно же, самый древний, чаще всего используемый и неоднозначный термин — это «процессор».
В современном мире процессор — это то (package), что мы покупаем в красивой Retail коробке или не очень красивом OEM-пакетике. Неделимая сущность, вставляемая в разъём (socket) на материнской плате. Даже если никакого разъёма нет и снять его нельзя, то есть если он намертво припаян, это один чип.
Мобильные системы (телефоны, планшеты, ноутбуки) и большинство десктопов имеют один процессор. Рабочие станции и сервера иногда могут похвастаться двумя или больше процессорами на одной материнской плате.
Поддержка нескольких центральных процессоров в одной системе требует многочисленных изменений в её дизайне. Как минимум, необходимо обеспечить их физическое подключение (предусмотреть несколько сокетов на материнской плате), решить вопросы идентификации процессоров (см. далее в этой статье, а также мою предыдущую заметку), согласования доступов к памяти и доставки прерываний (контроллер прерываний должен уметь маршрутизировать прерывания на несколько процессоров) и, конечно же, поддержки со стороны операционной системы. Я, к сожалению, не смог найти документального упоминания момента создания первой многопроцессорной системы на процессорах Intel, однако Википедия утверждает, что Sequent Computer Systems поставляла их уже в 1987 году, используя процессоры Intel 80386. Широко распространённой поддержка же нескольких чипов в одной системе становится доступной, начиная с Intel® Pentium.
Если процессоров несколько, то каждый из них имеет собственный разъём на плате. У каждого из них при этом имеются полные независимые копии всех ресурсов, таких как регистры, исполняющие устройства, кэши. Делят они общую память — RAM. Память может подключаться к ним различными и довольно нетривиальными способами, но это отдельная история, выходящая за рамки этой статьи. Важно то, что при любом раскладе для исполняемых программ должна создаваться иллюзия однородной общей памяти, доступной со всех входящих в систему процессоров.
К взлёту готов! Intel® Desktop Board D5400XS
Ядро
Исторически многоядерность в Intel IA-32 появилась позже Intel® HyperThreading, однако в логической иерархии она идёт следующей.
Казалось бы, если в системе больше процессоров, то выше её производительность (на задачах, способных задействовать все ресурсы). Однако, если стоимость коммуникаций между ними слишком велика, то весь выигрыш от параллелизма убивается длительными задержками на передачу общих данных. Именно это наблюдается в многопроцессорных системах — как физически, так и логически они находятся очень далеко друг от друга. Для эффективной коммуникации в таких условиях приходится придумывать специализированные шины, такие как Intel® QuickPath Interconnect. Энергопотребление, размеры и цена конечного решения, конечно, от всего этого не понижаются. На помощь должна прийти высокая интеграция компонент — схемы, исполняющие части параллельной программы, надо подтащить поближе друг к другу, желательно на один кристалл. Другими словами, в одном процессоре следует организовать несколько ядер, во всём идентичных друг другу, но работающих независимо.
Первые многоядерные процессоры IA-32 от Intel были представлены в 2005 году. С тех пор среднее число ядер в серверных, десктопных, а ныне и мобильных платформах неуклонно растёт.
В отличие от двух одноядерных процессоров в одной системе, разделяющих только память, два ядра могут иметь также общие кэши и другие ресурсы, отвечающие за взаимодействие с памятью. Чаще всего кэши первого уровня остаются приватными (у каждого ядра свой), тогда как второй и третий уровень может быть как общим, так и раздельным. Такая организация системы позволяет сократить задержки доставки данных между соседними ядрами, особенно если они работают над общей задачей.
Микроснимок четырёхядерного процессора Intel с кодовым именем Nehalem. Выделены отдельные ядра, общий кэш третьего уровня, а также линки QPI к другим процессорам и общий контроллер памяти.
Гиперпоток
До примерно 2002 года единственный способ получить систему IA-32, способную параллельно исполнять две или более программы, состоял в использовании именно многопроцессорных систем. В Intel® Pentium® 4, а также линейке Xeon с кодовым именем Foster (Netburst) была представлена новая технология — гипертреды или гиперпотоки, — Intel® HyperThreading (далее HT).
Ничто не ново под луной. HT — это частный случай того, что в литературе именуется одновременной многопоточностью (simultaneous multithreading, SMT). В отличие от «настоящих» ядер, являющихся полными и независимыми копиями, в случае HT в одном процессоре дублируется лишь часть внутренних узлов, в первую очередь отвечающих за хранение архитектурного состояния — регистры. Исполнительные же узлы, ответственные за организацию и обработку данных, остаются в единственном числе, и в любой момент времени используются максимум одним из потоков. Как и ядра, гиперпотоки делят между собой кэши, однако начиная с какого уровня — это зависит от конкретной системы.
Я не буду пытаться объяснить все плюсы и минусы дизайнов с SMT вообще и с HT в частности. Интересующийся читатель может найти довольно подробное обсуждение технологии во многих источниках, и, конечно же, в Википедии. Однако отмечу следующий важный момент, объясняющий текущие ограничения на число гиперпотоков в реальной продукции.
Ограничения потоков
В каких случаях наличие «нечестной» многоядерности в виде HT оправдано? Если один поток приложения не в состоянии загрузить все исполняющие узлы внутри ядра, то их можно «одолжить» другому потоку. Это типично для приложений, имеющих «узкое место» не в вычислениях, а при доступе к данным, то есть часто генерирующих промахи кэша и вынужденных ожидать доставку данных из памяти. В это время ядро без HT будет вынуждено простаивать. Наличие же HT позволяет быстро переключить свободные исполняющие узлы к другому архитектурному состоянию (т.к. оно как раз дублируется) и исполнять его инструкции. Это — частный случай приёма под названием latency hiding, когда одна длительная операция, в течение которой полезные ресурсы простаивают, маскируется параллельным выполнением других задач. Если приложение уже имеет высокую степень утилизации ресурсов ядра, наличие гиперпотоков не позволит получить ускорение — здесь нужны «честные» ядра.
Типичные сценарии работы десктопных и серверных приложений, рассчитанных на машинные архитектуры общего назначения, имеют потенциал к параллелизму, реализуемому с помощью HT. Однако этот потенциал быстро «расходуется». Возможно, по этой причине почти на всех процессорах IA-32 число аппаратных гиперпотоков не превышает двух. На типичных сценариях выигрыш от использования трёх и более гиперпотоков был бы невелик, а вот проигрыш в размере кристалла, его энергопотреблении и стоимости значителен.
Другая ситуация наблюдается на типичных задачах, выполняемых на видеоускорителях. Поэтому для этих архитектур характерно использование техники SMT с бóльшим числом потоков. Так как сопроцессоры Intel® Xeon Phi (представленные в 2010 году) идеологически и генеалогически довольно близки к видеокартам, на них может быть четыре гиперпотока на каждом ядре — уникальная для IA-32 конфигурация.
Логический процессор
Из трёх описанных «уровней» параллелизма (процессоры, ядра, гиперпотоки) в конкретной системе могут отсутствовать некоторые или даже все. На это влияют настройки BIOS (многоядерность и многопоточность отключаются независимо), особенности микроархитектуры (например, HT отсутствовал в Intel® Core™ Duo, но был возвращён с выпуском Nehalem) и события при работе системы (многопроцессорные сервера могут выключать отказавшие процессоры в случае обнаружения неисправностей и продолжать «лететь» на оставшихся). Каким образом этот многоуровневый зоопарк параллелизма виден операционной системе и, в конечном счёте, прикладным приложениям?
Далее для удобства обозначим количества процессоров, ядер и потоков в некоторой системе тройкой (x, y, z), где x — это число процессоров, y — число ядер в каждом процессоре, а z — число гиперпотоков в каждом ядре. Далее я буду называть эту тройку топологией — устоявшийся термин, мало что имеющий с разделом математики. Произведение p = xyz определяет число сущностей, именуемых логическими процессорами системы. Оно определяет полное число независимых контекстов прикладных процессов в системе с общей памятью, исполняющихся параллельно, которые операционная система вынуждена учитывать. Я говорю «вынуждена», потому что она не может управлять порядком исполнения двух процессов, находящихся на различных логических процессорах. Это относится в том числе к гиперпотокам: хотя они и работают «последовательно» на одном ядре, конкретный порядок диктуется аппаратурой и недоступен для наблюдения или управления программам.
Чаще всего операционная система прячет от конечных приложений особенности физической топологии системы, на которой она запущена. Например, три следующие топологии: (2, 1, 1), (1, 2, 1) и (1, 1, 2) — ОС будет представлять в виде двух логических процессоров, хотя первая из них имеет два процессора, вторая — два ядра, а третья — всего лишь два потока.
Windows Task Manager показывает 8 логических процессоров; но сколько это в процессорах, ядрах и гиперпотоках?
Linux top
показывает 4 логических процессора.
Это довольно удобно для создателей прикладных приложений — им не приходится иметь дело с зачастую несущественными для них особенностями аппаратуры.
Программное определение топологии
Конечно, абстрагирование топологии в единственное число логических процессоров в ряде случаев создаёт достаточно оснований для путаницы и недоразумений (в жарких Интернет-спорах). Вычислительные приложения, желающие выжать из железа максимум производительности, требуют детального контроля над тем, где будут размещены их потоки: поближе друг к другу на соседних гиперпотоках или же наоборот, подальше на разных процессорах. Скорость коммуникаций между логическими процессорами в составе одного ядра или процессора значительно выше, чем скорость передачи данных между процессорами. Возможность неоднородности в организации оперативной памяти также усложняет картину.
Информация о топологии системы в целом, а также положении каждого логического процессора в IA-32 доступна с помощью инструкции CPUID. С момента появления первых многопроцессорных систем схема идентификации логических процессоров несколько раз расширялась. К настоящему моменту её части содержатся в листах 1, 4 и 11 CPUID. Какой из листов следует смотреть, можно определить из следующей блок-схемы, взятой из статьи [2]:
Я не буду здесь утомлять всеми подробностями отдельных частей этого алгоритма. Если возникнет интерес, то этому можно посвятить следующую часть этой статьи. Отошлю интересующегося читателя к [2], в которой этот вопрос разбирается максимально подробно. Здесь же я сначала кратко опишу, что такое APIC и как он связан с топологией. Затем рассмотрим работу с листом 0xB (одиннадцать в десятичном счислении), который на настоящий момент является последним словом в «апикостроении».
APIC ID
Local APIC (advanced programmable interrupt controller) — это устройство (ныне входящее в состав процессора), отвечающее за работу с прерываниями, приходящими к конкретному логическому процессору. Свой собственный APIC есть у каждого логического процессора. И каждый из них в системе должен иметь уникальное значение APIC ID. Это число используется контроллерами прерываний для адресации при доставке сообщений, а всеми остальными (например, операционной системой) — для идентификации логических процессоров. Спецификация на этот контроллер прерываний эволюционировала, пройдя от микросхемы Intel 8259 PIC через Dual PIC, APIC и
xAPIC к
x2APIC.
В настоящий момент ширина числа, хранящегося в APIC ID, достигла полных 32 бит, хотя в прошлом оно было ограничено 16, а ещё раньше — только 8 битами. Нынче остатки старых дней раскиданы по всему CPUID, однако в CPUID. 0xB.EDX[31:0] возвращаются все 32 бита APIC ID. На каждом логическом процессоре, независимо исполняющем инструкцию CPUID, возвращаться будет своё значение.
Выяснение родственных связей
Значение APIC ID само по себе ничего не говорит о топологии. Чтобы узнать, какие два логических процессора находятся внутри одного физического (т.е. являются «братьями» гипертредами), какие два — внутри одного процессора, а какие оказались и вовсе в разных процессорах, надо сравнить их значения APIC ID. В зависимости от степени родства некоторые их биты будут совпадать. Эта информация содержится в подлистьях CPUID.0xB, которые кодируются с помощью операнда в ECX. Каждый из них описывает положение битового поля одного из уровней топологии в EAX[5:0] (точнее, число бит, которые нужно сдвинуть в APIC ID вправо, чтобы убрать нижние уровни топологии), а также тип этого уровня — гиперпоток, ядро или процессор, — в ECX[15:8].
У логических процессоров, находящихся внутри одного ядра, будут совпадать все биты APIC ID, кроме принадлежащих полю SMT. Для логических процессоров, находящихся в одном процессоре, — все биты, кроме полей Core и SMT. Поскольку число подлистов у CPUID.0xB может расти, данная схема позволит поддержать описание топологий и с бóльшим числом уровней, если в будущем возникнет необходимость. Более того, можно будет ввести промежуточные уровни между уже существующими.
Важное следствие из организации данной схемы заключается в том, что в наборе всех APIC ID всех логических процессоров системы могут быть «дыры», т.е. они не будут идти последовательно. Например, во многоядерном процессоре с выключенным HT все APIC ID могут оказаться чётными, так как младший бит, отвечающий за кодирование номера гиперпотока, будет всегда нулевым.
Отмечу, что CPUID.0xB — не единственный источник информации о логических процессорах, доступный операционной системе. Список всех процессоров, доступный ей, вместе с их значениями APIC ID, кодируется в таблице MADT ACPI [3, 4].
Операционные системы и топология
Операционные системы предоставляют информацию о топологии логических процессоров приложениям с помощью своих собственных интерфейсов.
В Linux информация о топологии содержится в псевдофайле /proc/cpuinfo
, а также выводе команды dmidecode
. В примере ниже я фильтрую содержимое cpuinfo на некоторой четырёхядерной системе без HT, оставляя только записи, относящиеся к топологии:
Скрытый текст
ggg@shadowbox:~$ cat /proc/cpuinfo |grep 'processor\|physical\ id\|siblings\|core\|cores\|apicid' processor : 0 physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 processor : 1 physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 1 initial apicid : 1 processor : 2 physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 2 initial apicid : 2 processor : 3 physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 3 initial apicid : 3
В FreeBSD топология сообщается через механизм sysctl в переменной kern. sched.topology_spec в виде XML:
Скрытый текст
user@host:~$ sysctl kern.sched.topology_spec kern.sched.topology_spec: <groups> <group level="1" cache-level="0"> <cpu count="8" mask="0xff">0, 1, 2, 3, 4, 5, 6, 7</cpu> <children> <group level="2" cache-level="2"> <cpu count="8" mask="0xff">0, 1, 2, 3, 4, 5, 6, 7</cpu> <children> <group level="3" cache-level="1"> <cpu count="2" mask="0x3">0, 1</cpu> <flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags> </group> <group level="3" cache-level="1"> <cpu count="2" mask="0xc">2, 3</cpu> <flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags> </group> <group level="3" cache-level="1"> <cpu count="2" mask="0x30">4, 5</cpu> <flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags> </group> <group level="3" cache-level="1"> <cpu count="2" mask="0xc0">6, 7</cpu> <flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags> </group> </children> </group> </children> </group> </groups>
В MS Windows 8 сведения о топологии можно увидеть в диспетчере задач Task Manager.
Скрытый текст
Также их предоставляет консольная утилита Sysinternals Coreinfo и API вызов GetLogicalProcessorInformation.
Полная картина
Проиллюстрирую ещё раз отношения между понятиями «процессор», «ядро», «гиперпоток» и «логический процессор» на нескольких примерах.
Система (2, 2, 2)
Система (2, 4, 1)
Система (4, 1, 1)
Прочие вопросы
В этот раздел я вынес некоторые курьёзы, возникающие из-за многоуровневой организации логических процессоров.
Кэши
Как я уже упоминал, кэши в процессоре тоже образуют иерархию, и она довольно сильно связано с топологией ядер, однако не определяется ей однозначно. Для определения того, какие кэши для каких логических процессоров общие, а какие нет, используется вывод CPUID.4 и её подлистов.
Лицензирование
Некоторые программные продукты поставляются числом лицензий, определяемых количеством процессоров в системе, на которой они будут использоваться. Другие — числом ядер в системе. Наконец, для определения числа лицензий число процессоров может умножаться на дробный «core factor», зависящий от типа процессора!
Виртуализация
Системы виртуализации, способные моделировать многоядерные системы, могут назначить виртуальным процессорам внутри машины произвольную топологию, не совпадающую с конфигурацией реальной аппаратуры. Так, внутри хозяйской системы (1, 2, 2) некоторые известные системы виртуализации по умолчанию выносят все логические процессоры на верхний уровень, т.е. создают конфигурацию (4, 1, 1). В сочетании с особенностями лицензирования, зависящими от топологии, это может порождать забавные эффекты.
Спасибо за внимание!
Литература
- Intel Corporation. Intel® 64 and IA-32 Architectures Software Developer’s Manual. Volumes 1–3, 2014. www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
- Shih Kuo. Intel® 64 Architecture Processor Topology Enumeration, 2012 — software. intel.com/en-us/articles/intel-64-architecture-processor-topology-enumeration
- OSDevWiki. MADT. wiki.osdev.org/MADT
- OSDevWiki. Detecting CPU Topology. wiki.osdev.org/Detecting_CPU_Topology_%2880×86%29
Как работают микропроцессоры | Как работает
«»
Микропроцессоры лежат в основе всех компьютеров. Йорг Греэль / Getty Images
Компьютер, на котором вы читаете эту страницу, использует для своей работы микропроцессор . Микропроцессор является сердцем любого обычного компьютера, будь то настольный компьютер, сервер или ноутбук. Существует множество типов микропроцессоров, но все они делают примерно одно и то же примерно одинаково.
Микропроцессор, также известный как CPU или центральный процессор, представляет собой законченный вычислительный механизм, изготовленный на одном кристалле. Первым микропроцессором был Intel 4004, представленный в 1971 году. 4004 был не очень мощным — все, что он мог делать, это складывать и вычитать, и он мог делать это только 4 бита за раз. Но было удивительно, что все было на одном чипе. До 4004 инженеры строили компьютеры либо из наборов микросхем, либо из отдельных компонентов (транзисторов, соединенных по одному). 4004 стал одним из первых портативных электронных калькуляторов.
Advertisement
Если вы когда-нибудь задавались вопросом, что делает микропроцессор в вашем компьютере, или если вы когда-нибудь задумывались о различиях между типами микропроцессоров, тогда читайте дальше. В этой статье вы узнаете, как довольно простые методы цифровой логики позволяют компьютеру выполнять свою работу, будь то игра или проверка орфографии в документе!
Содержимое
- Развитие микропроцессора: Intel
- Логика микропроцессора
- Микропроцессорная память
- Инструкции микропроцессора
- Производительность микропроцессора и тенденции
- 64-битные микропроцессоры
Развитие микропроцессора: Intel
«»
Представленный Intel в 1974 году микропроцессор 8080 был первым микропроцессором, достаточно мощным для создания компьютера. Наука и общество Библиотека изображений / Getty Images
Первым микропроцессором, использованным в домашнем компьютере, был Intel 8080, полноценный 8-битный компьютер на одном кристалле, представленный в 1974 году. включены в состав IBM PC (который впервые появился около 1982). Если вы знакомы с рынком ПК и его историей, то знаете, что рынок ПК перешел от 8088 к 80286, к 80386, к 80486, к серии Pentium, к серии Core, к серии Xeon. Все эти микропроцессоры произведены Intel, и все они являются усовершенствованием базовой конструкции 8088.
С 2004 года Intel представила микропроцессоры с несколькими ядрами и миллионами дополнительных транзисторов. Но даже эти микропроцессоры подчиняются тем же общим правилам, что и более ранние чипы.
Процессор Intel Core i9 может иметь до восьми ядер, каждое из которых может выполнять любой фрагмент кода, работавший на оригинальном 8088, всего примерно в 6700 раз быстрее! Каждое ядро может обрабатывать несколько потоков инструкций, что позволяет компьютеру более эффективно управлять задачами.
Ассортимент продукции Intel значительно расширился по сравнению с 1970-ми годами. На момент написания этой статьи компания по-прежнему производит процессоры Pentium и Core для компьютеров, но более производительные ПК и серверы могут использовать чип Xeon. Кроме того, Intel предлагает линейки процессоров Celeron и Atom. Celeron ориентирован на пользователей компьютеров начального уровня, а процессоры Atom лучше подходят для мобильных устройств и устройств, являющихся частью Интернета вещей.
Несмотря на то, что Intel по-прежнему занимает значительную долю рынка, у нее больше конкурентов, чем ее справедливая доля. AMD конкурирует с Intel на рынке процессоров для ПК, но также имеет большой бизнес в области чипов для графических процессоров, популярных среди геймеров. Nvidia, известная своими графическими чипами, также производит процессоры. В 2020 году Apple представила свои чипы серии M, которые заменяют чипы Intel, которые Apple использовала для своих компьютеров Macintosh. Samsung также может работать над собственным дизайном процессоров. Многие другие компании производят процессоры для других применений электроники, таких как автомобили и продукты для умного дома. Рынок становится все более конкурентным.
Реклама
Логика микропроцессора
«»
Процессор Intel Pentium 4 был самым быстрым процессором Intel, когда он был представлен в 2001 году. Intel/Newsmakers
Чтобы понять, как работает микропроцессор, полезно заглянуть внутрь и узнать о логике, используемой для его создания. В процессе вы также можете узнать о языке ассемблера — родном языке микропроцессора — и о многом, что инженеры могут сделать для повышения скорости процессора.
Микропроцессор выполняет набор машинных инструкций, которые сообщают процессору, что делать. В соответствии с инструкциями микропроцессор выполняет три основных действия:
- Используя свой ALU (арифметико-логический блок), микропроцессор может выполнять математические операции, такие как сложение, вычитание, умножение и деление. Современные микропроцессоры содержат полные процессоры с плавающей запятой, которые могут выполнять чрезвычайно сложные операции с большими числами с плавающей запятой.
- Микропроцессор может перемещать данные из одной ячейки памяти в другую.
- Микропроцессор может принимать решения и переходить к новому набору инструкций на основе этих решений.
Микропроцессор может выполнять очень сложные функции, но это три его основных действия. На следующей диаграмме показан очень простой микропроцессор, способный выполнять следующие три задачи:
«»
На этой схеме показан простой микропроцессор, его компоненты и возможности.
HowStuffWorks
Это настолько просто, насколько это возможно для микропроцессора. Этот микропроцессор имеет:
- Адресную шину (может иметь ширину 8, 16, 32 или 64 бита), которая отправляет адрес в память
- Шину данных (может быть 8, 16, 32 или 64 разряда). биты), которые могут отправлять данные в память или получать данные из памяти
- Строка RD (чтение) и WR (запись), чтобы сообщить памяти, следует ли ей установить или получить адресную ячейку
- Линия синхронизации , которая позволяет тактовому импульсу последовательности процессора
- Линия сброса , которая сбрасывает программный счетчик на ноль (или что-то еще) и перезапускает выполнение
Предположим, что и шины адреса, и шины данных равны 8 битов в этом примере.
Вот компоненты этого простого микропроцессора:
- Регистры A, B и C представляют собой просто защелки, сделанные из триггеров. (Подробности см. в разделе «Защелки, запускаемые фронтом» книги «Как работает логическая логика».)
- Адресная защелка аналогична регистрам A, B и C.
- Счетчик программ — это защелка с дополнительной способностью увеличиваться на 1, когда об этом говорят, и сбрасываться на ноль, когда об этом говорят.
- АЛУ может быть таким же простым, как 8-битный сумматор (подробности см. в разделе о сумматорах в книге «Как работает булевская логика»), или он может складывать, вычитать, умножать и делить 8-битные значения. Давайте предположим здесь последнее.
- Тестовый регистр представляет собой специальную защелку, в которой могут храниться значения из сравнений, выполненных в АЛУ. ALU обычно может сравнивать два числа, чтобы определить, равны ли они, больше ли одно, чем другое и т. д. Тестовый регистр также может обычно хранить бит переноса из последней ступени сумматора. Он сохраняет эти значения в триггерах, а затем декодер инструкций может использовать эти значения для принятия решений.
- На диаграмме есть шесть полей с пометкой «3-State». Это буфера с тремя состояниями . Буфер с тремя состояниями может передавать 1, 0 или он может по существу отключать свой выход (представьте себе переключатель, который полностью отключает выходную линию от провода, к которому направляется выход). Буфер с тремя состояниями позволяет нескольким выходам подключаться к проводу, но только один из них фактически передает 1 или 0 на линию.
- Регистр инструкций и декодер инструкций отвечают за управление всеми остальными компонентами.
Хотя они не показаны на этой диаграмме, там должны быть управляющие линии от декодера команд, которые будут:
- Сообщать регистру A зафиксировать значение, которое в данный момент находится на шине данных
- Сообщить регистру B зафиксировать значение в данный момент на шине данных
- Сообщить регистру C, чтобы он зафиксировал значение, выдаваемое в данный момент ALU
- Сообщить регистру счетчика программ, чтобы он зафиксировал значение, которое в данный момент находится на шине данных
- Сообщить регистру адреса, чтобы зафиксировать значение, которое в данный момент находится в данных автобус
- Приказать регистру команд зафиксировать текущее значение на шине данных
- Приказать программному счетчику увеличить
- Приказать программному счетчику обнулить
- Активировать любой из шести буферов с тремя состояниями (шесть отдельных строк)
- Сообщите АЛУ, какую операцию выполнить
- Сообщите тестовому регистру, чтобы заблокировать тестовые биты АЛУ
- Активируйте линию RD
- Активируйте линию WR
В декодер команд поступают биты из тестового регистра и часы строки, а также биты из регистра инструкций.
Реклама
Микропроцессорная память
В предыдущем разделе говорилось о шинах адреса и данных, а также о линиях RD и WR. Эти шины и линии подключаются либо к ОЗУ, либо к ПЗУ — обычно к обоим. В нашем образце микропроцессора у нас есть адресная шина шириной 8 бит и шина данных шириной 8 бит. Это означает, что микропроцессор может адресовать 256 байтов памяти и одновременно считывать или записывать 8 бит памяти. Предположим, что этот простой микропроцессор имеет 128 байт ПЗУ, начиная с адреса 0, и 128 байт ОЗУ, начиная с адреса 128.
ROM означает постоянную память. Чип ПЗУ запрограммирован с постоянным набором предварительно установленных байтов. Адресная шина сообщает микросхеме ПЗУ, какой байт следует получить и поместить на шину данных. Когда линия RD изменяет состояние, микросхема ПЗУ представляет выбранный байт на шину данных.
Реклама
RAM означает оперативную память. ОЗУ содержит байты информации, и микропроцессор может считывать или записывать эти байты в зависимости от того, сигнализируется ли линия RD или WR. Одна из проблем с современными микросхемами оперативной памяти заключается в том, что они забывают все, как только отключается питание. Именно поэтому компьютеру необходимо ПЗУ.
Между прочим, почти все компьютеры содержат некоторое количество ПЗУ (можно создать простой компьютер без ОЗУ — многие микроконтроллеры делают это, помещая несколько байт ОЗУ в сам чип процессора — но вообще невозможно создать тот, который не содержит ПЗУ). На ПК ПЗУ называется BIOS (базовая система ввода/вывода). Когда микропроцессор запускается, он начинает выполнять инструкции, найденные в BIOS. Инструкции BIOS делают такие вещи, как тестирование аппаратного обеспечения машины, а затем отправляются на жесткий диск, чтобы получить загрузочный сектор (подробнее см. Как работают жесткие диски). Этот загрузочный сектор представляет собой еще одну небольшую программу, и BIOS сохраняет ее в оперативной памяти после считывания с диска. Затем микропроцессор начинает выполнять инструкции загрузочного сектора из ОЗУ. Программа загрузочного сектора скажет микропроцессору загрузить что-то еще с жесткого диска в ОЗУ, что микропроцессор затем выполнит, и так далее. Так микропроцессор загружает и выполняет всю операционную систему.
Реклама
Инструкции микропроцессора
Даже невероятно простой микропроцессор, показанный в предыдущем примере, имеет довольно большой набор инструкций, которые он может выполнять. Набор инструкций реализован в виде битовых комбинаций, каждая из которых имеет разное значение при загрузке в регистр инструкций. Люди не особенно хорошо запоминают битовые комбинации, поэтому набор коротких слов определяется для представления различных битовых комбинаций. Этот набор слов называется язык ассемблера процессора. Ассемблер может очень легко преобразовать слова в их битовые комбинации, а затем выходные данные ассемблера помещаются в память для выполнения микропроцессором.
Вот набор инструкций на языке ассемблера, которые разработчик может создать для простого микропроцессора в нашем примере:0004 — Загрузить регистр B из адреса памяти
Если вы читали Как работает программирование на C, то вы знаете что этот простой фрагмент кода C вычислит факториал числа 5 (где факториал числа 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120):
a=1;f=1;while (a < = 5) { е = е * а; a = a + 1;}
В конце выполнения программы переменная f содержит факториал 5.
Язык ассемблера
Компилятор C переводит этот код C на язык ассемблера. Предположим, что ОЗУ в этом процессоре начинается с адреса 128, а ПЗУ (содержащее программу на ассемблере) начинается с адреса 0, тогда для нашего простого микропроцессора язык ассемблера может выглядеть так:
// Предположим, что a находится по адресу 128/ / Предположим, F находится по адресу 1290 CONB 1 // a=1;1 SAVEB 1282 CONB 1 // f=1;3 SAVEB 1294 LOADA 128 // если a > 5, переход на 175 CONB 56 COM7 JG 178 LOADA 129// f=f*a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a=a+1;13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // вернуться к if17 STOP
ROM
Итак, теперь вопрос: «Как все эти инструкции выглядят в ПЗУ?» Каждая из этих инструкций языка ассемблера должна быть представлена двоичным числом. Для простоты предположим, что каждой инструкции на ассемблере присвоен уникальный номер, например:
- LOADA — 1
- LOADB — 2
- CONB — 3
- SAVEB — 4
- SAVEC mem — 5
- ADD — 6
- SUB — 7
- MUL — 8
- DIV — 9
- COM — 10
- JUMP адрес — 11
- JEQ адрес — 12
- JNEQ адрес — 13
- адрес JG — 14
- адрес JGE — 15
- адрес JL — 16
- адрес JLE — 17
- СТОП — 18
Числа известны как кодов операций . В ПЗУ наша маленькая программа будет выглядеть так:
// Предположим, что a находится по адресу 128// Предположим, что F находится по адресу 129.Addr opcode/value0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 3 // CONB 125 126 6 // ADD27 5 // SAVEC 12828 12829 1 1 // Прыжок 430 831 18 // STOP
Вы можете видеть, что семь строк кода C стали 18 строками ассемблера, а в ПЗУ это стало 32 байта.
Расшифровка
Декодер инструкций должен преобразовать каждый код операции в набор сигналов, которые управляют различными компонентами внутри микропроцессора. Возьмем в качестве примера инструкцию ADD и посмотрим, что она должна делать:
- Во время первого такта нам нужно загрузить инструкцию. Таким образом, декодер команд должен:
- активировать буфер с тремя состояниями для счетчика программ
- активировать линию RD
- активировать буфер с тремя состояниями ввода данных
- зафиксировать инструкцию в регистре команд
- Во время второго тактового цикла команда ADD декодируется. Для этого нужно сделать совсем немного:
- настроить операцию АЛУ на сложение
- зафиксировать вывод АЛУ в регистр C
- второй такт).
Каждую инструкцию можно разбить на набор последовательных операций, подобных этим, которые манипулируют компонентами микропроцессора в правильном порядке. Некоторые инструкции, такие как инструкция ADD, могут выполняться за два или три такта. Другим может потребоваться пять или шесть тактов.
Реклама
Производительность микропроцессора и тенденции
Количество доступных транзисторов оказывает огромное влияние на производительность процессора. Как было показано ранее, типичная инструкция процессора, такого как 8088, выполнялась за 15 тактов. Из-за конструкции умножителя для выполнения одного 16-разрядного умножения на процессоре 8088 требовалось около 80 циклов. С увеличением количества транзисторов становятся возможными гораздо более мощные умножители, способные работать с однотактной скоростью.
Большее количество транзисторов также позволяет использовать технологию, называемую конвейерной . В конвейерной архитектуре выполнение инструкций перекрывается. Таким образом, несмотря на то, что для выполнения каждой инструкции может потребоваться пять тактов, пять инструкций могут одновременно находиться на разных этапах выполнения. Таким образом, похоже, что одна инструкция завершает каждый такт.
Многие современные процессоры имеют несколько декодеров команд, каждый со своим собственным конвейером. Это позволяет использовать несколько потоков инструкций, что означает, что за каждый такт может выполняться более одной инструкции. Этот метод может быть довольно сложным для реализации, поэтому он требует большого количества транзисторов.
Тенденции
В наши дни кажется, что процессоры есть везде, и эта тенденция не замедляется. Исследователи нашли способы сделать микропроцессоры гибкими, что позволяет создавать такие предметы, как умная одежда. Исследователи работают над способами использования света, а не электричества, для работы процессоров. Вероятно, самое большое изменение на горизонте — это разработка квантовых компьютеров, которые не ограничиваются использованием единиц и нулей для решения задач. Хотя эти компьютеры могут более эффективно решать более сложные задачи, маловероятно, что в ближайшее время вы увидите квантовый компьютер на своем рабочем столе.
Реклама
64-битные микропроцессоры
«»
Узнайте, как работают 64-битные процессоры и почему они могут работать с почти бесконечным объемом оперативной памяти. AMD
Шестидесятичетырехбитные процессоры были с нами с 1992 года, а в 21 веке они стали мейнстримом. Эти процессоры имеют 64-битные АЛУ, 64-битные регистры, 64-битные шины и так далее.
Одна из причин, по которой миру нужны 64-разрядные процессоры, заключается в их расширенные адресные пространства . Доступ к 32-битным чипам часто ограничен максимум 2 ГБ или 4 ГБ ОЗУ. Это казалось много, когда большинство домашних компьютеров использовали только от 256 МБ до 512 МБ ОЗУ. Но домашние компьютеры 21-го века могут обрабатывать данные (очень сложные данные содержат много вещественных чисел) быстрее. Люди, занимающиеся редактированием видео, и люди, занимающиеся редактированием фотографий очень больших изображений, получают выгоду от такой вычислительной мощности. Продвинутые геймеры также выиграют от более детализированных игр с высоким разрешением. 964 байта оперативной памяти — это что-то порядка миллиарда гигабайт оперативной памяти. Благодаря 64-битной адресной шине и широким высокоскоростным шинам данных на материнской плате 64-битные машины также обеспечивают более высокую скорость ввода-вывода для таких устройств, как жесткие диски и видеокарты. Эти функции могут значительно повысить производительность системы.
Для получения дополнительной информации о микропроцессорах и смежных темах перейдите по следующим ссылкам.
Реклама
Часто задаваемые вопросы
Для чего используется микропроцессор?
Микропроцессор — это часть компьютера, выполняющая арифметические и логические операции, которые обычно включают сложение, вычитание, перенос чисел из одной области в другую и сравнение двух чисел.
Как еще называют микропроцессор?
Микропроцессор также известен как центральный процессор.
Много дополнительной информации
Статьи по теме
Больше отличных ссылок
- Webopedia: микропроцессор
- Сравнение ЦП 6-го поколения
- Сравнение ЦП 7-го поколения
Источники
- CU Боулдер сегодня. «Прорыв в микропроцессорной микросхеме на основе света может привести к созданию более мощных компьютеров и сетевой инфраструктуры». 23 декабря 2015 г. (22 сентября 2021 г.) https://www. colorado.edu/today/2015/12/23/breakthrough-light-based-microprocessor-chip-could-lead-more-powerful-computers- сеть
- Майкрософт. «Понимание квантовых вычислений». 1 февраля 2021 г. https://docs.microsoft.com/en-us/azure/quantum/overview-understanding-quantum-computing
- Patel, Prachi. C&EN. «Исследователи сообщают о самом сложном гибком микропроцессоре из всех, что Chip содержит более 39 000 транзисторов на пластиковой пленке». 26 июля 2021 г. https://cen.acs.org/materials/electronic-materials/Researchers-report-complex-flexible-microprocessor/99/web/2021/07
- Салман, Али. wccftech.com. 18 июня 2021 г. «Samsung может разработать собственный нестандартный процессор, поскольку ищет бывших инженеров Apple и AMD». https://wccftech.com/samsung-might-design-its-own-custom-cpu-as-it-seeks-former-apple-and-amd-engineers/
- Стэнфордский университет. «Как работает конвейер». (22 сентября 2021 г.) https://cs.stanford.edu/people/eroberts/courses/soco/projects/risc/pipelining/index. html
Процитируйте это!
Пожалуйста, скопируйте/вставьте следующий текст, чтобы правильно цитировать эту статью HowStuffWorks.com:
Marshall Brain & Chris Pollette
«Как работают микропроцессоры»
1 апреля 2000 г.
HowStuffWorks.com.
21 июня 2023 г.
Citation
Ядра процессора, что это такое, типы и функции
Все чаще и чаще производители компьютерного оборудования – мобильных телефонов, планшетов и компьютеров – объявляют количество ядер (или «ядер»), которое устройство есть, и выделить среди его характеристик: двухъядерный, четырехъядерный, восьмиядерный… И хотя любому ничего не подозревающему пользователю очевидно, что процессор с 8 ядрами лучше, чем с 2, , преимущества большее количество ядер не так бросается в глаза и не задумываешься есть ли у него недостатки.
Для начала стоит немного вспомнить о частях, из которых состоит компьютер и смартфон. Центральный процессор (Central Processing Unit, аббревиатура на английском языке) или процессор — это мозг вычислительного оборудования. Он отвечает за выполнение всех расчетов и преобразование вычислительных данных, поступающих с устройства, на наш язык.
Содержание
Компоненты чипсета.
Следует отметить, что в мобильных устройствах сегодня речь идет не только о процессоре, но и о чем-то более актуальном: наборе микросхем или SoC (System on Chip), который отвечает за организацию потока инструкций и данных между процессором или ЦП и другие важные компоненты.
Теперь внутри процессора есть ядра, независимых процессоров, которые позволяют выполнять несколько задач одновременно.
Эти ядра отвечают за выполнение необходимых математических операций для правильной работы устройства.
До 2005 года у каждого процессора было только одно ядро, и конкуренция между производителями была сосредоточена на тактовой частоте — ошибочно называемой «скоростью», — которую он мог достичь. Однако по мере достижения физических пределов частоты и необходимости увеличения производительности и уменьшения размера было обнаружено, что в процессоре может быть 2 ядра, а позже и больше, что позволит выполнять задачи. одновременный (здесь возникает понятие параллелизма) и, следовательно, более высокая производительность.
Всего 15 лет назад процессоры производились по 40- и 65-нанометровым технологиям. Однако сегодня есть устройства, которые производятся по технологиям всего 6 или 4 нанометров, что позволяет включать в процессоры все больше и больше ядер. Сегодня в некоторых из самых мощных мобильных телефонов 2023 года установлены 10-ядерные процессоры, такие как MediaTek Helio X20 и X30, в то время как 16-ядерные процессоры уже появились в компьютерах, и, несомненно, их количество будет продолжать расти.
Каждое ядро имеет определенную мощность для более быстрого развития операций. Эта мощность измеряется в МГц (мегагерцах) или ГГц (гигагерцах). Общее правило состоит в том, что 1 ГГц равен 1000 МГц, и именно это измерение обычно используется для расчета количества операций в секунду, которые может выполнять процессор или ЦП.
Как ядра работают параллельно?
Самым большим преимуществом наличия большего количества ядер в ЦП является то, что они могут работать одновременно, что повышает общую производительность. Вот несколько примеров задач, которые можно выполнять одновременно благодаря наличию нескольких процессорных ядер, от самых распространенных до сложных или специализированных:
- Воспроизведение музыки: При прослушивании песни в музыкальном приложении ядро отвечает за обработку и декодирование звука.
- Просмотр веб-страниц: В то же время другое ядро может позаботиться о загрузке и отображении посещаемых веб-страниц в браузере.
- Редактировать документ: Если вы работаете с текстовым документом или электронной таблицей, дополнительное ядро может позаботиться о выполнении необходимых операций для сохранения и обработки вносимых изменений.
- Загрузка файлов: Пока выполняются предыдущие задачи, другое ядро может управлять загрузкой файлов из Интернета.
- Обновления программного обеспечения: Дополнительное ядро может позаботиться об установке и применении обновлений программного обеспечения в фоновом режиме, не мешая другим вашим действиям.
- Антивирусная защита: Во время выполнения обычных задач ядро может запускать антивирусное сканирование для защиты вашего компьютера.
- Сжатие или распаковка файлов: Если вы работаете со сжатыми файлами, ядро может позаботиться о сжатии или распаковке этих файлов, пока вы выполняете другие задачи на компьютере.
- 3D-рендеринг: При работе над проектом 3D-моделирования и анимации ядро может позаботиться о расчете и рендеринге изображений и анимации в режиме реального времени, позволяя предварительно просмотреть работу.
- Научное моделирование: В области исследований ядро может отвечать за выполнение сложных расчетов и моделирования физических, химических или биологических систем, а результаты анализируются в другой программе.
- Video edition: При редактировании видео одно ядро может обрабатывать и применять эффекты и переходы в режиме реального времени, а другое ядро обрабатывает воспроизведение и предварительный просмотр содержимого.
- Искусственный интеллект и машинное обучение: В приложениях искусственного интеллекта одно ядро может отвечать за обработку и анализ больших объемов данных, а другое ядро отвечает за обучение и оптимизацию алгоритмов машинного обучения.
- Виртуализация: В средах виртуализации одно ядро может быть выделено для управления виртуальной машиной, в то время как другие ядра отвечают за поддержание производительности и стабильности операционной системы хоста.
- Онлайн-игры: Во время онлайн-игры одно ядро может быть выделено для обработки физики и искусственного интеллекта игры, а другое ядро отвечает за поддержание соединения и связь с другими игроками.
Как правило, восьмиядерным называется устройство с 8 ядрами; четырехъядерный, до одного с 4 ядрами; шестиядерный — это 6 ядер, а двухъядерный — всего 2 ядра. Чаще всего встречаются телефоны как минимум с 4 ядрами из-за отличного соотношения между ценой и производительностью.
В таком порядке идей можно было бы подумать, что любое восьмиядерное устройство должно быть более мощным, чем устройство только с 6 ядрами. Однако реальность немного сложнее, поскольку производители процессоров и SoC также должны отдавать приоритет производительности батареи.
MediaTek, например, использует технологию CorePilot. Это отвечает за делегирование определенных задач определенным ядрам и блокам телефона, чтобы снизить расход заряда батареи и при этом соответствовать ожиданиям клиентов.
Недавно выпущенный LG Q60, оснащенный восьмиядерным процессором MediaTek Helio P22, является прекрасным примером этого. Хотя в устройстве 8 ядер, не все они предназначены для выполнения одних и тех же функций. Из 8 ядер 4 имеют максимальную скорость 2 ГГц, а остальные 4 — 1,5 ГГц.
Это означает, что устройство может назначать ядрам разные задачи в зависимости от их функции. Например, может не быть необходимости использовать 2 ГГц для просмотра веб-страниц и проверки электронной почты, поэтому система автоматически назначает его чуть менее мощному ядру, но оно все равно выполняет свою работу, не влияя на пользователя.
По этой причине нельзя всегда утверждать, что большее количество ядер означает более высокую производительность, поскольку производитель может отдавать предпочтение времени автономной работы или другим аспектам, а не чистой производительности. Но правда в том, что наличие большего количества ядер дает много других преимуществ в зависимости от функций, встроенных в чипсет.
Примером воздействия ядер в телефоне может служить LG Q60, 8-ядерный телефон среднего класса, который в то время боролся с телефонами высокого класса.
Хотя это может показаться противоречивым, иногда с большим количеством ядер может значительно повысить производительность аккумулятора мобильного телефона.
Как мы уже говорили, один и тот же процессор часто имеет ядра с разными частотами.
Если телефон имеет 4 ядра, которые могут работать на частоте 2 ГГц, постоянное использование этой частоты приведет к более быстрой разрядке аккумулятора, даже если вы выполняете только основные задачи, такие как просмотр веб-страниц и проверка электронной почты. Если, с другой стороны, телефон сможет возложить эти основные задачи на менее мощные ядра, потребление батареи будет намного ниже.
Для повышения производительности без ущерба для потребления также существует функция big.LITTLE. Это гетерогенная архитектура обработки, в которой используются 2 типа процессоров: «МАЛЕНЬКИЕ» процессоры предназначены для максимальной эффективности, а «большие» процессоры используются с учетом максимальной вычислительной мощности.
И хотя вы можете подумать, что тогда телефон работает не так быстро, как мог бы быть, интегрированные интеллектуальные системы или чипсеты позаботятся о том, чтобы переключился на более мощные ядра при выполнении более ресурсоемких задач. Благодаря этому телефон может использовать менее мощные ядра для основных задач и автоматически переключаться на более мощные при воспроизведении HD-контента или открытии игр.
Хотя вопрос о ядрах может быть несколько запутанным, важно хотя бы понимать основы, чтобы сделать лучший выбор при покупке и, таким образом, знать, как работают наши устройства.
Так какое же количество ядер лучше всего?
Идеальное количество ядер для процессора Это зависит от типа задач, которые выполняет пользователь, и от фундаментального аспекта в таких регионах, как Латинская Америка: их бюджета.
Как правило, чем больше ядер, тем выше производительность, но и выше стоимость. Для обычных пользователей обычно достаточно 4 ядер, а профессионалы и геймеры могут выбрать 6 или 8 ядер.
Пользователям, которые используют свой телефон или компьютер для повседневных задач, достаточно 4 ядер устройства. Однако для более ресурсоемких операций, таких как редактирование видео, игры нового поколения, профессиональная работа, а также научные приложения или приложения искусственного интеллекта, рекомендуется использовать как можно больше ядер. В общем решение о количестве ядер должно приниматься на основе требований и бюджета.
Что такое потоки процессора?
Потоки процессора, также известные как потоки, представляют собой последовательности инструкций, которые выполняются ядром процессора. Каждый поток представляет собой независимую задачу, которую должен выполнять процессор, поэтому важно реализовать концепцию многозадачности, поскольку потоков позволяют ядрам процессора одновременно и эффективно работать над несколькими задачами.
Связь между ядрами и потоками является ключевой. В базовых процессорах каждое ядро одновременно выполняет один поток. Однако некоторые более продвинутые процессоры позволяют ядру запускать 2 потока одновременно, улучшая производительность и эффективность в определенных задачах.
Способность процессора выполнять несколько потоков полезна в приложениях, требующих высокой степени параллелизма, таких как редактирование видео, 3D-рендеринг и крупномасштабная обработка данных.