Как работает процессор?



Давайте объясним максимально просто и понятно, не теряясь в дебрях терминов, которые пугают больше, чем просто термины, как работает ЦП, т. е. процессор в вашем ноутбуке или ПК (во многих случаях применимо и к другим микропроцессорам в других устройствах).

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

Примечание: Эта статья не является самым академическим или подробным объяснением. Но она должна прояснить вещи и объяснить, в общих чертах, как работает процессор.

1. Ядро процессора

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

1.1 Основная операция

Каждое ядро ​​процессора может функционировать независимо, имея собственный набор регистров и часто собственные кэши L2 и L2. Регистры хранят временные данные. Кэши — это быстрая память, используемая для сокращения времени доступа к часто используемым данным. Ядра могут совместно использовать некоторые ресурсы, такие как кэш L3 и контроллер памяти.

Процесс выполнения в ядре состоит из нескольких этапов: Извлечение — ядро ​​извлекает инструкции из кэша или основной памяти. Декодирование — инструкции декодируются в формат, понятный ядру. Выполнение — ядро ​​выполняет декодированные инструкции. Обратная запись — результаты записываются обратно в кэш или основную память.

1.2 Многоядерность и преимущества

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

Преимущества многоядерности: Улучшенная производительность: с большим количеством ядер процессор может обрабатывать больше задач одновременно. Это идеально подходит для современного программного обеспечения, которое разработано для многопоточности. Энергоэффективность: многоядерные процессоры могут быть более энергоэффективными по сравнению с увеличением тактовой частоты одного ядра, поскольку они могут распределять нагрузку между ядрами, которые могут работать на более низкой и эффективной частоте. Надежность: в критических системах большее количество ядер и высокая энергоэффективность могут снизить вероятность перегрева.

Другие соображения:

Масштабируемость: добавление дополнительных ядер не всегда означает линейное улучшение производительности. Эффективность масштабирования зависит от способности программного обеспечения использовать эти дополнительные ядра. Например, если приложение может использовать до 8 ядер, переход на 16 ядер не приведет к значительному изменению ситуации (при условии, что другие переменные останутся прежними — производительность на ядро ​​и т. д.).

Проектирование программного обеспечения: приложения должны быть написаны или оптимизированы для использования преимуществ многоядерной архитектуры. Если приложение не знает, как использовать более 1 ядра, мы не увидим увеличения производительности в этом приложении, если добавим потоки выполнения или ядра.

Технология и пространство чипа: всегда есть компромиссы. Пространство на чипе ограничено. Кэши и некоторые компоненты занимают место. Вот почему мы видим всевозможные различия между поколениями процессоров: предпринимаются попытки максимизировать пространство и производительность с помощью лучших архитектур и самых передовых производственных процессов.

1.3 Архитектура

Архитектура ЦП определяет его фундаментальную структуру. Архитектура также определяет, как процессор обрабатывает информацию, выполняет инструкции и взаимодействует с другими аппаратными компонентами.

В основном у нас есть 2 набора архитектур: Архитектура фон Неймана против Гарвардской архитектуры RISC (Reduced Instruction Set Computing) против CISC (Complex Instruction Set Computing) По идее, современные процессоры Intel и AMD используют принципы из обоих наборов архитектур. Они используют вариацию Гарвардской архитектуры, известную как Модифицированная Гарвардская архитектура. В этой конфигурации процессор имеет отдельные кэши для инструкций и данных (аналогично Гарвардской), но они питаются из общей памяти (аналогично Фон Неймана). Это позволяет сбалансировать эффективность разделения данных и инструкций для быстрого доступа и гибкость управления единой памятью.

Современные процессоры Intel и AMD часто рассматриваются как основанные на архитектуре CISC из-за их сложных наборов инструкций, которые позволяют выполнять сложные операции в нескольких инструкциях. Однако границы между RISC и CISC стали менее четкими из-за развития микроархитектурного дизайна.

1.4 Размер матрицы

В обзорах или презентациях вы можете услышать или прочитать термин «размер кристалла». Например, AMD Ryzen 5 3600X имеет размер кристалла 74 мм2. Что это значит?

Термин «размер кристалла» относится к физической площади поверхности полупроводникового чипа, измеряемой в квадратных миллиметрах. Фактически это отдельный кремниевый чип, на котором вытравлены схемы и транзисторы процессора или другого типа интегральной схемы.

Размер кристалла является важным фактором при проектировании и производстве полупроводников, влияющим как на себестоимость производства, так и на производительность компонента.

Эта спецификация, размер кристалла, влияет на:

Стоимость производства – Меньший кристалл позволяет производителям получать больше функциональных чипов из одной кремниевой пластины, тем самым снижая материальные затраты на единицу. Более крупный кристалл более подвержен дефектам, что может снизить выход продукции.

Производительность – меньший кристалл уменьшает расстояние, которое сигналы должны пройти между различными компонентами чипа, такими как ядра процессора, кэш и контроллер памяти. Это может привести к повышению производительности и энергоэффективности.

Рассеивание тепла — технически говоря, вырабатываемое тепло лучше контролируется.

Портативность – Процессоры с меньшими кристаллами необходимы для мобильных устройств, таких как смартфоны и планшеты. Пространство в таком устройстве ограничено, а энергоэффективность имеет решающее значение для более длительного срока службы батареи.

1.5 Размер транзистора

Когда в технических характеристиках процессора вы видите что-то вроде 7 нм или 14 нм, производитель имеет в виду физический размер транзисторов, используемых в чипе.

Термин «нм» означает нанометры. Нанометр — это одна миллиардная часть метра. Так что это мало. В длине полупроводников это указывает на длину затвора каждого транзистора на чипе.

Почему размер транзистора имеет значение?

Улучшенная производительность: транзисторы меньшего размера могут быстрее переключаться между включенным и выключенным состояниями, что позволяет использовать более высокие тактовые частоты и, следовательно, лучшую производительность. Уменьшение размера транзисторов также снижает задержку и может улучшить реакцию на задачи обработки.

Более высокая плотность: чем меньше транзисторы, тем больше их можно включить в один чип. Это означает, что процессоры могут иметь больше ядер, больший кэш и, как правило, больше интегрированных функций на той же площади кремния. Это напрямую приводит к повышению общей производительности и энергоэффективности.

Энергоэффективность: транзисторы меньшего размера потребляют меньше энергии, поскольку для их работы требуется меньшее напряжение и они имеют меньшее электрическое сопротивление.

Однако по мере уменьшения размеров транзисторов производители сталкиваются со значительными проблемами, такими как:

Токи утечки. Ток утечки может увеличиваться по мере уменьшения размеров транзисторов, что приводит к потерям энергии и повышенному тепловыделению.

Изменчивость процесса — точность изготовления чрезвычайно маленьких транзисторов может привести к вариабельности между чипами, что влияет на выход продукции и постоянство производительности.

Физические ограничения – существует предел того, насколько можно уменьшить размеры транзисторов, известный как предел масштабирования. Это побудило производителей исследовать другие технологии, такие как 3D-транзисторы.

2. Кэш

Кэш-память — это тип быстрой памяти, расположенной непосредственно на процессоре (то есть на кристалле).

Основная роль кэша — сократить время доступа к часто используемым процессором данным, тем самым повышая общую производительность системы.

2.1 Типы кэша

Кэш-память обычно делится на три уровня, каждый из которых имеет различные характеристики и назначение:

Кэш L1 (уровень 1)

Скорость: Это самая быстрая форма кэш-памяти.
Размер: Обычно относительно небольшой (порядка нескольких килобайт).
Назначение: Хранит инструкции и данные, к которым процессору необходимо получить наиболее быстрый доступ.
Расположение: Обычно каждое ядро ​​процессора имеет свой собственный кэш L1.

Кэш L2 (уровень 2)

Скорость: медленнее, чем L1, но быстрее, чем основная память (ОЗУ).
Размер: больше, чем L1, обычно от нескольких сотен килобайт до нескольких мегабайт.
Назначение: действует как буфер между быстрым кэшем L1 и более медленным кэшем L3 или ОЗУ.
Расположение: может быть интегрирован в каждое ядро ​​или совместно использоваться группой ядер.

Кэш L3 (уровень 3)

Скорость: Медленнее, чем L1 и L2, но значительно быстрее, чем RAM.
Размер: Самый большой из кэшей, может достигать нескольких мегабайт до десятков мегабайт.
Назначение: Сокращает время доступа к данным, часто используемым всеми ядрами процессора.
Расположение: Обычно общее для всех ядер процессора.

2.2 Операция кэширования

Процесс использования кэша довольно прост в теории, но сложен в реализации.

Основные шаги:

  1. Первоначальный доступ: когда процессору требуются данные, он сначала проверяет кэш L1.
  2. Попадания и промахи:
    Попадание в кэш: если данные найдены в кэше («попадание» — как попадание, а не как музыкальное произведение), они быстро доставляются в процессор
    Промах кэша: если данные отсутствуют в кэше («промах» — промах), процессор проверяет следующие уровни кэша (L2, а затем L3). Если данные не найдены на этих уровнях, они извлекаются из оперативной памяти.
  3. Обновление кэша: данные, извлеченные из оперативной памяти, сохраняются в кэше для будущего доступа, заменяя менее часто используемые данные на основе алгоритмов замены, таких как Least Recently Used (LRU).

2.3 Влияние на производительность

Эффективное использование кэша может оказать значительное влияние на производительность системы. Доступ к данным намного быстрее, чем доступ к оперативной памяти, что снижает задержку и повышает скорость обработки данных. Хотя это и несколько натянуто, примером может служить Ryzen 7 5800X против 5800X3D. У X3D большой вертикальный 3D-кэш. И как вы, вероятно, знаете или видели/можете увидеть в бенчмарках, 5800X3D значительно превосходит приложения, которые могут использовать больший кэш. Одно из объяснений заключается в том, что реализация кэша и его использование лучше.

3. Тактовая частота

Тактовая частота относится к тактовой частоте процессора и измеряется в гигагерцах (ГГц). Эта скорость указывает на количество циклов, которые процессор может выполнить за секунду. Цикл по сути является тактовым импульсом, в течение которого процессор может выполнять основные операции, такие как чтение инструкций, их выполнение и запись результатов. Например, процессор с тактовой частотой 3 ГГц может выполнить 3 миллиарда циклов в секунду.

3.1 Как это работает?

Процессор получает тактовый сигнал от кварцевого генератора, который генерирует постоянный и точный ритм. Этот тактовый сигнал используется для синхронизации внутренних операций процессора. Каждый тактовый импульс позволяет процессору продвигаться в выполнении обрабатываемых им инструкций.

3.2 Влияние тактовой частоты на производительность

Лучшая производительность: чем выше тактовая частота, тем больше инструкций процессор может обработать за более короткий промежуток времени. Это приводит к лучшей производительности, особенно для приложений, которые зависят от скорости обработки одного потока выполнения (однопоточные).

Энергоэффективность и тепло: более высокие тактовые частоты также могут привести к более высокому потреблению энергии и выделению тепла. Производители процессоров должны найти баланс между тактовой частотой, потреблением энергии и рассеиванием тепла.

Уменьшение преимуществ: Не все приложения одинаково выигрывают от более высокой тактовой частоты. Программы, которые могут использовать несколько ядер одновременно, могут получить больше пользы от многоядерного процессора, чем от процессора с чрезвычайно высокой тактовой частотой, но с меньшим количеством ядер и более высокой теплоотдачей.

3.3 Ограничения

Поскольку транзисторы в микросхемах становятся все меньше и меньше, становится все сложнее увеличивать тактовую частоту без существенного увеличения энергопотребления и тепловыделения.

4. Трубопроводы

Конвейеризация — это важная концепция в современной архитектуре ЦП. Конвейеризация позволяет процессору выполнять несколько инструкций одновременно, разделяя процесс выполнения на несколько этапов. Каждый этап выполняется отдельной частью процессора, что повышает общую эффективность.

4.1 Типичные этапы трубопровода

В простом конвейере этапы могут быть следующими:

IF (выборка инструкции): процессор считывает инструкцию из кэша или ОЗУ.

ID (декодирование инструкции): процессор декодирует инструкцию, чтобы определить, какую операцию ему необходимо выполнить.

EX (Выполнить): процессор выполняет операцию, указанную в инструкции.

MEM (доступ к памяти): процессор обращается к памяти для чтения или записи данных при необходимости.

WB (обратная запись): результаты записываются обратно в регистр или память.

4.2 Преимущества конвейеризации

Повышение эффективности — обрабатывая несколько инструкций одновременно, конвейер увеличивает общее количество инструкций, которые процессор может выполнить за единицу времени.

Более эффективное использование ресурсов — каждый компонент процессора можно использовать непрерывно, не дожидаясь завершения других этапов.

4.3 Недостатки и проблемы

Опасности: в конвейере существует три основных типа опасностей: структурные (когда оборудование не поддерживает одновременное выполнение нескольких инструкций), данные (когда инструкции зависят друг от друга) и управление (когда переходы и решения влияют на поток инструкций).

Сложность проектирования: реализация эффективного конвейера требует сложного проектирования для надлежащего управления зависимостями и опасностями.

Снижение производительности: например, в случае возникновения опасности в системе управления конвейер может быть вынужден отбросить некоторые частично обработанные инструкции, что приведет к снижению производительности.

5. Hyper-Threading и SMT

5.1 Гиперпоточность – Intel

Hyper-Threading — это технология, разработанная Intel, которая позволяет одному физическому ядру процессора выполнять два потока (или процесса выполнения) одновременно. Это достигается путем дублирования определенных разделов процессора, которые хранят архитектурное состояние, но не дублирования всего физического ядра.

Как работает Hyper-Threading

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

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

5.2 Одновременная многопоточность – AMD

Одновременная многопоточность, реализованная AMD под названием «SMT», работает аналогично Hyper-Threading от Intel. Цель та же: позволить каждому физическому ядру выполнять несколько потоков одновременно для повышения эффективности и общей производительности.

Различия и сходства: Обе технологии направлены на максимальное повышение эффективности процессора, позволяя одному ядру управлять несколькими задачами одновременно.

SMT и Hyper-Threading — это просто разные коммерческие названия одной и той же фундаментальной идеи, позволяющей ядру выполнять несколько потоков одновременно.

Конкретная реализация может различаться у Intel и AMD, но основной принцип остается тем же.

5.3 Влияние на производительность

Использование Hyper-Threading или SMT может привести к значительному повышению производительности в многопоточных сценариях, где есть много задач, которые могут выполняться параллельно. В зависимости от приложения, повышение производительности может варьироваться:

Приложения, оптимизированные для многопоточности, такие как видеоредактирование и научные расчеты, могут получить значительную выгоду от многопоточности. Игры и приложения, которые больше зависят от производительности одного потока, могут не увидеть значительных улучшений и, в некоторых случаях, могут даже испытывать небольшое снижение производительности из-за дополнительной сложности в управлении потоками и/или неэффективности использования нескольких потоков.

6. TDP – расчетная тепловая мощность

TDP представляет собой максимальное количество тепла, вырабатываемого процессором (также используется для других компонентов, таких как видеокарта или графический процессор), которое система охлаждения должна быть способна рассеивать в стандартных рабочих условиях. Он выражается в ваттах (Вт) и указывает потребление энергии и тепловыделение в типичных условиях использования, но будьте осторожны, это не обязательно максимальные условия.

6.1 Почему TDP имеет значение?

Проектирование системы охлаждения: TDP помогает определить тип и размер системы охлаждения, необходимой для поддержания компонентов при безопасной рабочей температуре. Недостаточное охлаждение может привести к перегреву, что может снизить производительность и срок службы компонентов.

Выбор компонентов: при сборке или модернизации системы важно учитывать TDP компонентов, чтобы обеспечить совместимость с охлаждающей способностью корпуса и системы охлаждения.

Энергоэффективность: TDP может дать представление об энергоэффективности процессора или видеокарты. Компоненты с более низким TDP обычно более энергоэффективны, что может быть важно для систем, работающих круглосуточно, таких как серверы, или для портативных устройств, где срок службы батареи имеет решающее значение. Например, для домашней лаборатории, домашнего сервера или NAS мы хотели бы иметь минимально возможный TDP и максимально возможную энергоэффективность, чтобы иметь минимально возможные расходы на электроэнергию.

6.2 Как измеряется TDP?

TDP определяется производителями оборудования на основе типичного сценария использования, который не обязательно включает максимально возможную нагрузку.

Производители тестируют компоненты при различных нагрузках и измеряют выделяемое тепло, чтобы установить TDP, отражающий потребности в охлаждении в наиболее распространенных сценариях использования. По этой причине мы обычно хотим систему охлаждения, которая превышает TDP нашего процессора с точки зрения охлаждающей способности. Особенно для игровых систем или других интенсивных и длительных рабочих сценариев.

7. Как определить вычислительную мощность процессора?

Давайте подойдем к обсуждению производительности двумя способами.

IPC, потому что часто в новостях мы видим, что производитель X упоминает, что у нового поколения процессоров IPC на 20% выше. А потом о производительности как… производительности, воспринимаемой нами, людьми. Сколько FPS выдает процессор в игре X или сколько секунд требуется для рендеринга конкретного клипа?

7.1 IPC – количество инструкций за цикл

Когда такие производители, как AMD или Intel, говорят, что «IPC» увеличился на определенный процент от поколения к поколению, они имеют в виду «Instructions Per Cycle». IPC является важнейшим показателем производительности в архитектуре ЦП, показывающим среднее количество инструкций, которые ЦП может выполнить за такт. Давайте подробно рассмотрим, что это значит и как это влияет на общую производительность ЦП.

IPC измеряет эффективность, с которой процессор выполняет инструкции. Это ключевой показатель архитектурной эффективности процессора, независимо от его тактовой частоты.

Вот почему важен МПК:

Эффективность: более высокий IPC означает, что процессор может выполнять больше работы за каждый такт. Эта эффективность приводит к лучшей производительности, особенно в сценариях, где тактовая частота у ЦП одинакова.

Масштабирование производительности: даже если тактовая частота (ГГц) не увеличивается, улучшения в IPC все равно могут обеспечить лучшую производительность. Это имеет решающее значение для достижения прироста вычислительной мощности без превышения пределов энергопотребления и тепловыделения.

Способы улучшения МПК

Производители достигают улучшений в IPC за счет архитектурных усовершенствований, таких как:

  • Оптимизированные пути выполнения: сокращение количества шагов или сложности операций, необходимых для выполнения инструкций.
  • Улучшенное прогнозирование ветвлений: более точное прогнозирование путей, по которым пойдут программы, что позволяет подготовить ЦП к более быстрой обработке наиболее вероятных результатов.
  • Более крупные и эффективные кэши: обеспечивают более быстрый доступ к часто используемым данным и инструкциям, сокращая время ожидания ЦП.
  • Расширенные возможности выполнения инструкций вне очереди: позволяют процессорам обрабатывать инструкции по мере доступности ресурсов, а не строго последовательно.
  • Увеличение количества ядер и потоков: хотя это и не увеличивает IPC напрямую, но позволяет одновременно обрабатывать несколько инструкций, дополняя улучшения IPC.

7.2 Как узнать производительность процессора? Как узнать, какой процессор лучше?

Если вы хотите купить процессор, вам в первую очередь необходимо определиться с бюджетом и тем, как вы будете его использовать.

То, как вы планируете использовать процессор, имеет большое значение. Например, если программа/игра, которую вы хотите запустить, не оптимизирована для нескольких ядер или для более чем x ядер, вам может понадобиться процессор с более быстрыми отдельными ядрами, даже если у него не так много ядер. И наоборот.

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

Да, вы также можете посмотреть на характеристики, такие как частота ГГц, количество ядер, TDP и производственный процесс. Тем не менее, в конечном счете, бенчмарк — это точный индикатор производительности, на который вы можете положиться.

Надеюсь, эта статья оказалась для вас полезной. Если да, обязательно поделитесь ею!

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *