Какие блоки входят в состав процессора
Перейти к содержимому

Какие блоки входят в состав процессора

  • автор:

Как устроен центральный процессор

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

У процессора есть:

Тактовая частота процессора

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

Разрядность процессора

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

Размерность технологического процесса

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

Сокет (разъем)

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

    • PGA (Pin Grid Array) – корпус квадратной или прямоугольной формы, штырьковые контакты
    • BGA (Ball Grid Array) – шарики припоя
    • LGA (Land Grid Array) – контактные площадки

    Кэш-память процессора

    Кэш-память процессора является одной из ключевых характеристик, на которую стоит обратить внимание при выборе. Кэш-память – массив сверхскоростной энергозависимой ОЗУ. Является буфером, в котором хранятся данные, с которыми процессор взаимодействует чаще или взаимодействовал в процессе последних операций. Благодаря этому уменьшается количество обращений процессора к основной памяти. Этот вид памяти делится на три уровня: L1, L2, L3. Каждый из уровней отличается по размеру памяти и скорости, и задачи ускорения у них отличаются. L1 — самый маленький и быстрый, L3 — самый большой и медленный. К каждому уровню процессор обращается поочередно (от меньшего к большему), пока не обнаружит в одном из них нужную информацию. Если ничего не найдено, обращается к оперативной памяти.

    Энергопотребление и тепловыделение

    Чем выше энергопотребление процессора, тем выше его тепловыделение. TDP (Thermal Design Power) – параметр, указывающий на то количество тепла, которое способна отвести охлаждающая система от определенного процессора при наибольшей нагрузке. Значение представлено в ваттах при максимальной температуре корпуса процессора. ACP (Average CPU Power) – средняя мощность процессора, показывающая энергопотребление процессора при конкретных задачах.

    Рабочая температура процессора

    Наивысший показатель температуры поверхности процессора, при котором возможна нормальная работа (54-100 °С). Этот показатель зависит от нагрузки на процессор и от качества отвода тепла. При превышении предела компьютер либо перезагрузится, либо просто отключится. Это очень важная характеристика процессора, которая напрямую влияет на выбор типа охлаждения.

    Множитель и системная шина

    Front Side Bus – частота системной шины материнской платы. Тактовая частота процессора является произведением частоты FSB на множитель процессора. У большинства процессоров заблокирован разгон по множителю, поэтому приходится разгонять по шине.

    Встроенное графическое ядро

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

    Количество ядер (потоков)

    Многоядерность одна из важнейших характеристик центрального процессора, но в последнее время ей уделяют слишком много внимания. Не так давно процессоры были одноядерными, их производительность на то время была достаточно хорошой, и не требовала увеличения мощности, когда процессоры уже уперлись в какой-то “потолок”. На замену одноядерным пришли процессоры с 2, 4 и 8 ядрами. Если 2 и 4-ядерные вошли в обиход очень быстро, процессоры с 8 ядрами пока не так востребованы. Для использования офисных приложений и серфинга в интернете достаточно 2 ядер, 4 ядра требуются для САПР и графических приложений, которым просто необходимо работать в несколько потоков. Что касается 8 ядер, очень мало программ поддерживают так много потоков, а значит, такой процессор для большинства приложений просто бесполезен. Обычно, чем меньше потоков, тем больше тактовая частота. Из этого следует, что если программа, адаптированная под 4 ядра, а не под 8, на 8-ядерном процессе она будет работать медленнее. Но этот процессор отличное решение для тех, кому необходимо работать сразу в большом количестве требовательных программ одновременно. Равномерно распределив нагрузку по ядрам процессора можно наслаждаться отличной производительностью во всех необходимых программ. В большинстве процессоров количество физических ядер соответствует количеству потоков: 8 ядер – 8 потоков. Но есть процессоры, где благодаря Hyper-Threading, к примеру, 4-ядерный процессор может обрабатывать 8 потоков одновременно.

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

    Сам процессор представляет собой небольшую квадратную пластину (чип), внутри которой находятся миллионы транзисторов. Если говорить о том, как работает процессор Intel или его конкурент AMD, нужно посмотреть, как устроены эти чипы. Первый микропроцессор появился еще в далеком 1971 году. Он мог выполнять только простейшие операции сложения и вычитания с обработкой всего лишь 4 бит информации, т. е. имел 4-битную архитектуру. Современные процессоры, как и первый, основаны на транзисторах и обладают куда большим быстродействием. Изготавливаются они методом фотолитографии из определенного числа отдельных кремниевых пластинок, составляющих единый кристалл, в который как бы впечатаны транзисторы. Схема создается на специальном ускорителе разогнанными ионами бора. Во внутренней структуре процессоров основными компонентами являются ядра, шины и функциональные частицы, называемые ревизиями. Если посмотреть, как работает процессор, нужно четко представлять себе, что любая команда имеет две составляющие – операционную и операндную. Операционная часть указывает, что должна выполнить в данный момент компьютерная система, операнда определяет то, над чем должен работать именно процессор. Кроме того, ядро процессора может содержать два вычислительных центра, которые разделяют выполнение команды на несколько этапов:

      • Выработка
      • Дешифрование
      • Выполнение команды
      • Обращение к памяти самого процессора
      • Сохранение результатов

      Сегодня применяется раздельное кэширование в виде использования двух уровней кэш-памяти, что позволяет избежать перехвата двумя и более командами обращения к одному из блоков памяти. Процессоры по типу обработки команд разделяют на линейные (выполнение команд в порядке очереди их записи), циклические и разветвляющиеся (выполнение инструкций после обработки условий ветвления). Среди основных функций, возложенных на процессор, в смысле выполняемых команд или инструкций различают основные задачи: математические действия на основе арифметико-логического устройства; перемещение данных (информации) из одного типа памяти в другой; принятие решения по исполнению команды, и на его основе – выбор переключения на выполнения других наборов команд. Взаимодействие с памятью (ПЗУ и ОЗУ) В этом процессе следует отметить такие компоненты, как шина и канал чтения и записи, которые соединены с запоминающими устройствами. ПЗУ содержит постоянный набор байт. Сначала адресная шина запрашивает у ПЗУ определенный байт, затем передает его на шину данных, после чего канал чтения меняет свое состояние и ПЗУ предоставляет запрошенный байт. Но процессоры могут не только считывать данные из оперативной памяти, но и записывать их. В этом случае используется канал записи. Но, если разобраться, по большому счету современные компьютеры чисто теоретически могли бы и вовсе обойтись без ОЗУ, поскольку современные микроконтроллеры способны размещать нужные байты данных непосредственно в памяти самого процессорного чипа. Но вот без ПЗУ обойтись никак нельзя. Кроме всего прочего, старт системы запускается с режима тестирования оборудования (команды BIOS), а только потом управление передается загружаемой операционной системе. Нужно четко понимать, что, если бы процессор не работал, компьютер бы не смог начать загрузку вообще. Но на примере функционирования человеческого организма нужно понимать, что в случае остановки сердца умирает весь организм. Так и с компьютерами. Не работает процессор – «умирает» вся компьютерная система.

      История создания. Дальнейшее развитие процессоров

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

      Устремления и ограничения — общая цель, которую стремятся достичь все разработчики микропроцессоров – получить процессор максимальной производительности с наименьшими затратами как в разработке, так и в производстве. При этом процессор должен быть как можно более универсален. Лишь при достаточно большой массовости производства можно разделить все расходы по разработке модели на такое количество выпущенных экземпляров, что цена одного процессора будет иметь разумный размер. Если же процессор найдет весьма узкое применение, то львиную долю его стоимости будут составлять расходы по собственно разработке процессора, а не расходы по его производству. Именно поэтому так дороги уникальные серверные и процессорные платформы, применяемые для нужд обороны и прочих малораспространенных задач. В общем случае, расходы по разработке, скажем, новой модели Celeron и какой-либо сложной специализированной структуры весьма сопоставимы. Однако цена специализированной системы будет превышать цену обычной в десятки раз.

      Проще всего создать процессор, оптимизированный под одну-единственную задачу. В рамках этой задачи можно достичь пика производительности для данной элементной базы. Но в связи с универсальностью происходят потери в производительности. Борьба противоположных требований, при всей своей простоте, является основным фактором влияния. Другим фактором, является удобство применения процессора для разработки приложений. При разработке любого сложного проекта на каком-то этапе сама технология производства оказывается делом первостепенной важности. Качественная реализация проекта оказывается невозможной без применения специальных средств для контроля за качеством производимых программных продуктов. Именно в этом заключаются корни популярности объектно-ориентированного подхода в языках высокого уровня. В той же мере и на уровне машинных кодов удобство системы команд может оказывать большое влияние на качество работы. Чем удобнее окажется процессор для разработчиков, тем больше будет выпущено программных продуктов именно для этой платформы, и тем привлекательней окажется эта платформа для конечных пользователей. Процессор должен обладать максимальной производительностью, при этом он должен сохранять свою относительную универсальность, обеспечивающую массовость производства. Также процессор должен быть достаточно удобен для разработки сложных приложений. С учетом всех этих требований можно рассматривать ныне существующие модели, оценивать их перспективность и, до некоторой степени, предсказывать их дальнейшее развитие.

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

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

      Для унификации структур обработки данных в структуры некоторых современных процессоров включают специальные преобразователи исходных кодов команд во внутренние машинные команды «исполнительного процессора». Масштабные исследования ведутся по созданию процессорных элементов и компьютеров в целом с использованием принципиально иной элементной базы: биполярных молекул, молекул ДНК, квантовых кубитов и света.

      Устройство современного процессора компьютера

      Устройство современного процессора компьютера

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

      Как устроен процессор компьютера

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

      Внешний вид процессора

      Архитектура

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

      Пример архитектуры процессора

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

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

      1. Модуль выборки инструкций. Здесь осуществляется распознавание инструкций по адресу, который обозначается в счетчике команд. Число одновременного считывания команд напрямую зависит от количества установленных блоков расшифровки, что помогает нагрузить каждый такт работы наибольшим количеством инструкций.
      2. Предсказатель переходов отвечает за оптимальную работу блока выборки инструкций. Он определяет последовательность исполняемых команд, нагружая конвейер ядра.
      3. Модуль декодирования. Данная часть ядра отвечает за определения некоторых процессов для выполнения задач. Сама задача декодирования очень сложная из-за непостоянного размера инструкции. В самых новых процессорах таких блоков встречается несколько в одном ядре.
      4. Модули выборки данных. Они берут информацию из оперативной или кэш-памяти. Осуществляют они именно выборку данных, которая необходима на этот момент для исполнения инструкции.
      5. Управляющий блок. Само название говорит уже о важности данного компонента. В ядре он является главнейшим элементом, поскольку производит распределение энергии между всеми блоками, помогая выполнять каждое действие вовремя.
      6. Модуль сохранения результатов. Предназначен для записи после окончания обработки инструкции в RAM. Адрес сохранения указывается в исполняющейся задаче.
      7. Элемент работы с прерываниями. ЦП способен выполнять сразу несколько задач благодаря функции прерывания, это позволяет ему останавливать ход работы одной программы, переключаясь на другую инструкцию.
      8. Регистры. Здесь хранятся временные результаты инструкций, данный компонент можно назвать небольшой быстрой оперативной памятью. Часто ее объем не превышает несколько сотен байт.
      9. Счетчик команд. Он хранит в себе адрес команды, которая будет задействована на следующем такте процессора.

      Системная шина

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

      Системная шина процессора

      Кэш-память

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

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

      Сокет (разъем)

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

      Разъем для процессора

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

      Видеоядро

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

      Графическое ядро CPU

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

      Устройство и основные характеристики
      центрального процессора

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

      Содержание:

      Что такое процессор и как он устроен

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

      Уже много лет основными производителями процессоров являются американские компании Intel и AMD (Advanced Micro Devices). Есть, конечно, и другие производители, но до уровня указанных лидеров им далеко.

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

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

      Как выглядит процессор компьютера

      Как изготавливают процессоры. Что такое техпроцесс.

      Основным материалом при производстве процессоров является самый обычный песок, а точнее сказать кремний, коего в составе земной коры около 30%. Из очищенного кремния сначала изготавливают большой монокристалл цилиндрической формы, который разрезают на «блины» толщиной около 1 мм.

      Затем с использованием технологии фотолитографии в них создаются полупроводниковые структуры будущих процессоров.

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

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

      Сегодняшние технологии позволяют создавать транзисторы размером всего 5-6 нанометров (толщина человеческого волоса около 50000 нм). Со временем техпроцесс изготовления процессоров станет еще совершеннее. По прогнозам, транзисторы уменьшатся как минимум до 3 нм.

      Чем тоньше техпроцесс – тем больше транзисторов можно поместить в один процессор, тем он будет производительнее и энергоэффективнее.

      Созданная таким образом полупроводниковая структура вырезается из кварцевого «блина» и помещается на текстолит. На обратную его сторону выводятся контакты для обеспечения подсоединения к материнской плате. Сверху кристал защищается от повреждения металлической крышкой (см. рис. выше).

      Понятие архитектуры, ядра, ревизии процессора

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

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

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

      В рамках доработки одного ядра производители могут делать небольшие изменения с целью устранения мелких недочетов. Такие усовершенствования, которые «не тянут» на звание самостоятельных ядер, называют ревизиями.

      Архитектурам, ядрам и ревизиям разработчики дают определенные названия. Например, компания Intel архитектурам и ядрам присваивает определенные имена, а их ревизиям – цифробуквенные обозначения. Так, все модели Intel Core 2 Duo являются процессорами микроархитектуры Intel Core и производились с ядрами Allendale, Conroe, Merom, Kentsfield, Wolfdale, Yorkfield. У каждого из этих ядер были еще и разные ревизии.

      Основные характеристики процессора

      Количество вычислительных ядер.

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

      Многоядерность, как способ повышения производительности процессоров, используется давно. Для «домашних» компьютеров и рабочих станций существуют процессоры с 64 ядрами (Ryzen Threadripper). Для серверов на рынке есть 128-ядерные предложения.

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

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

      Чем больше потоков – тем лучше. Количество потоков не всегда совпадает с количеством ядер процессора. Например, благодаря технологиям Hyper-Threading (у Intel) и Simultaneous MultiThreading (у AMD), 4-ядерный процессор может работать в 8 потоков и во многом опережать 6-тиядерных конкурентов.

      Размер кеша 2 и 3 уровней.

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

      Структура не всех современных процессоров предусматривает наличие кеша 3 уровня, хотя критичным моментом это не является. Так, по результатам многих тестов производительность процессоров Intel Core 2 Quadro, выпускавшихся с 2007 г. по 2011 г. и не имеющих кеша 3 уровня, даже сейчас выглядит достойно. Правда, кеш 2 уровня у них достаточно большой.

      Частота процессора.

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

      Техпроцесс.

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

      Termal Design Point — показатель, отображающий энергопотребление процессора, а также количество тепла, выделяемого им в процессе работы. Единицы измерения — Ватты (Вт). TDP зависит от многих факторов, среди которых главными являются количество ядер, техпроцесс изготовления и частота работы процессора.

      Кроме прочих преимуществ, «холодные» процессоры (с TDP до 100 Вт) лучше поддаются «разгону», когда пользователь изменяет некоторые настройки системы, вследствие чего увеличивается частота процессора. Разгон позволяет без дополнительных финансовых вложений увеличить производительность процессора (идогда на целых 20-25 %), но это уже отдельная тема.

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

      Наличие и производительность видеоядра.

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

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

      Тип и максимальная скорость поддерживаемой оперативной памяти.

      Эти характеристики процессора необходимо учитывать при выборе оперативной памяти, с которой он будет использоваться. Нет смысла переплачивать за быстрые модули ОЗУ, если процессор не сможет реализовать все их преимущества.

      Что такое сокет

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

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

      Каждый новый сокет разрабатывается производителями процессоров, когда возможности старых разъемов уже не могут обеспечить нормальную работу новых изделий. Для процессоров Intel длительное время использовался сокет LGA775 (процессоры Pentium 4, Pentium D, Celeron D, Pentium EE, Core 2 Duo, Core 2 Extreme, Celeron, Xeon серии 3000, Core 2 Quad). Затем были введены сокеты LGA1366, LGA1156, LGA1155 (процессоры i7, i5, i3) и др. Разъемы для процессоров от AMD за последние десятилетия также изменились — AM2, AM2+, AM3, AM4 и т.д. О более ранних сокетах, думаю, смысла вспоминать нет, поскольку компьютеры на их основе – уже раритет.

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

      Система охлаждения процессора

      Как выглядит куллер процессора

      Процессор нуждается в надлежащем охлаждении, иначе он может выйти из строя.

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

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

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

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

      Нормальная температура работы процессора — до 50 градусов Цельсия (при пиковых нагрузках возможно чуть больше). Но от модели к модели она может отличаться. Средства измерения температуры встроены в центральный процессор. При помощи специальных программ температуру можно отслеживать в режиме реального времени (например, программой SpeedFan).

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

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


      НАПИСАТЬ АВТОРУ

      Из чего состоит центральный процессор?

      Центральный процессор часто называют «мозгом» компьютера, ведь он, как и человеческий мозг, состоит из нескольких частей, собранных воедино для работы над информацией. Среди них есть те, что отвечают за прием информации, ее хранение, обработку и вывод. В этой статье портал TechSpot разбирает все ключевые элементы процессора, за счет которых и работают ваши компьютеры.

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

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

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

      Фундамент любого процессора: архитектура набора команд

      Первое, на что натыкаешься при разборе любого процессора — это на архитектуру набора команд (ISA). Архитектура является чем-то вроде фундамента работы процессора и именно от нее зависит то, как он работает и как все внутренние системы взаимодействуют друг с другом. Существует огромное количество архитектур, но самыми распространенными являются x86 (преимущественно в стационарных компьютерах и ноутбуках) и ARM (в мобильных устройствах и встроенных системах).

      Чуть менее распространенными и более нишевыми являются MIPS, RISC-V и PowerPC. Архитектура набора отвечает за ряд основных вещей: какие инструкции процессор может обрабатывать, как он взаимодействует с памятью и кэшем, как задача распределяется по нескольким этапам обработки и др.

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

      Блок управления и исполнительный тракт

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

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

      Блок-схема работы базового процессора. Черными линиями отображен поток данных, а красными — поток команд.

      Цикл выполнения команд — Выборка

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

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

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

      Цикл выполнения команд — Декодирование

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

      Стоит отметить, что сложность декодирования может зависеть от того, насколько продвинутой является архитектура набора команд процессора. У архитектуры RISC-V, к примеру, несколько десятков команд, а у x86 — несколько тысяч. У типичного процессора Intel x86 процесс декодирования является одним из сложнейших и занимает огромное количество памяти. Чаще всего процессоры декодируют команды, связанные с памятью, арифметическими вычислениями и переходом.

      3 основных типа команд

      Команда памяти может представлять собой нечто вроде «прочтите значение из адреса памяти 1234 вместо значения А» или «запишите значение Б в адрес памяти 5678». Арифметические команды имеют вид в духе «добавьте значение А к значению Б и сохраните результат в значении В». Инструкции перехода, в свою очередь, похожи на «выполните этот код, если значение В положительное, или выполните другой код, если значение В отрицательное». Зачастую в программах используется цепочка сразу из нескольких вышеупомянутых примеров, из-за чего конечный результат выглядит примерно так: «добавьте значение адреса памяти 1234 к значению адреса памяти 5678 и сохраните его в адресе памяти 4321, если результат положительный, либо в адрес 8765, если результат отрицательный».

      Перед тем, как перейти к выполнению декодированной команды, давайте уделим немного внимания регистрам.

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

      Арифметико-логическое устройство

      Вернемся к этапу выполнения команд. Сразу отметим, что он отличается для всех трех вышеупомянутых типов команд, поэтому давайте рассмотрим каждый их них.

      Самыми простыми для понимания являются арифметические команды. Эти команды отправляются в арифметическо-логическое устройство (ALU) для последующей обработки. Устройство представляет собой цепь, которая чаще всего работает с двумя значениями, отмеченными сигналом, и выдает результат.

      Представьте себе обычный калькулятор. Для любого вычисления вы вводите значения, выбираете необходимую арифметическую операцию и получаете результат. Арифметическо-логическое устройство (ALU) работает по похожему принципу. Тип операции зависит от опкода команды, который управляющий автомат отправляет в ALU и которое в дополнение к базовой арифметике может производить со значениями такие битовые операции, как AND, OR, NOT и XOR. Кроме того, арифметическо-логическое устройство выводит информацию о проведенном вычислении для управляющего автомата (например, оказалось ли оно положительным, отрицательным, равным нулю или вызвало переполнение).

      Несмотря на то, что арифметическо-логическое устройство чаще всего связано именно с арифметическими операциями, оно находит свое применение и в инструкциях памяти или перехода. Например, если процессору нужно вычислить адрес памяти, заданный в результате прошлого вычисления, либо в случае необходимости вычислить переход для добавления в счетчик программ, если инструкция того требует (пример: «если предыдущий результат отрицателен, перейти на 20 команд вперед»).

      Команды и иерархия памяти

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

      Типичный кэш первого уровня может состоять из нескольких сотен килобайт. Если процессор не найдет в нем то, что нужно, то перейдет к проверке кэша второго уровня (размером в несколько мегабайт), а затем — третьего (уже занимающего десятки мегабайт). В случае, если необходимых данных не будет и в кэше третьего уровня, то поиск будет производиться в оперативной памяти, а затем в накопителях. С каждым подобным «шагом», увеличивается не только объем доступных данных, но и задержка.

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

      Команды перехода и ветвления

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

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

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

      Самой простой аналогией будет процесс стирки. Предположим, что у вас достаточно вещей на две полные загрузки стиральной машины, а стирка и сушка каждой партии занимает по часу. Вы вполне можете загрузить в стиральную машину первую партию вещей, а потом переместить на сушилку, а когда они высохнут — заняться второй партией. Это займет четыре часа. Однако, если вы разделите процесс на этапы и начнете стирку второй партии вещей, пока сушится первая, вы сможете выполнить всю работу за три часа. Сокращение времени зависит от количества загружаемых вещей и количества стиральных/сушильных машин. Для выполнения отдельной загрузки в любом случае понадобится два часа, но в приведенном примере накладывание процессов увеличивает общую пропускную способность с 0,5 загрузки/час до 0,75 загрузки в час.

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

      Процессоры используют тот же принцип для повышения пропускной способности команд. Конвейеры современных процессоров на архитектуре ARM или x86 могут использовать свыше 20 стадий вычислительного конвейера, а это значит, что ядро процессора одновременно обрабатывает свыше 20 различных команд. Процессоры могут отличаться по разделению этих стадий под различные нужды, но в одном из примеров, принцип работы которого находится в открытом доступе, имеется 4 цикла для выборки, 6 циклов для декодирования, 3 цикла для выполнения команд и 7 циклов для отправки результатов в память.

      Возвращаясь к теме, теперь вы можете понять в чем проблема. Если процессор не определил тип команды до десятого цикла, то он начнет работу уже над 9 новыми командами, которые могут оказаться ненужными, если ветка команд уже не работает. Чтобы этого не происходило, процессоры оборудованы сложным механизмом, который называется модулем предсказателем переходов. По принципу работы этот механизм схож с машинным обучением. Детальное описание работы модуля предсказателя переходов — это тема для отдельной статьи, поэтому придется обойтись довольно простым объяснением: данный механизм отслеживает статус предыдущих переходов, чтобы определить, будет ли задействован следующий переход или нет. Современные предсказатели переходов могут обеспечить точность в 95% и выше.

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

      Внеочередное исполнение

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

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

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

      Ускорители и будущее процессоров

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

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

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

      Кристалл процессора Intel первого поколения архитектуры Nehalem. Обратите внимание: ядра и кэш занимают подавляющее часть площади.

      Кристалл системы на чипе от AMD. Много места отведено под ускорители и внешние интерфейсы.

      Многоядерность

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

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

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

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

      Физическая оболочка процессора

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

      Для того, чтобы синхронизировать работу всех компонентов процессора, используется тактовый сигнал. Современные процессоры обычно работают на частотах от 3.0 ГГц до 5.0 ГГц, и за последнее десятилетие ситуация особо не изменилась. При каждом цикле внутри чипа включаются и выключаются миллиарды транзисторов.

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

      Фото: Michael Dziedzic

      Тепловыделение — главный враг процессоров. Когда цифровая электроника нагревается, может начаться разрушение микроскопических транзисторов. Это в свою очередь может привести к повреждению чипа, если тепло не отвести. Чтобы этого не произошло, каждый процессор оборудован термораспределителями. Сам кристалл может занимать всего 20% площади процессора, ведь увеличение площади позволяет более равномерно распределять тепло по радиатору. Кроме того, дополнительно увеличивается количество имеющихся ножек процессора (контактов), предназначенных для взаимодействия с другими компонентами компьютера.

      На современных процессорах может располагаться свыше тысячи входных и выходных контактов на задней панели. Мобильный чип может быть оснащен всего несколькими сотнями, поскольку большинство вычислительных элементов расположены уже внутри чипа. Независимо от дизайна, около половины из них предназначены для распределения питания, а остальные — для передачи данных с оперативной памяти, чипсета, накопителей, устройств PCIe и др. Высокопроизводительным процессорам, потребляющим сто и более ампер при полной нагрузке, нужны сотни ножек для равномерного распределения тока. Обычно они покрываются золотом для улучшения проводимости. Стоит отметить, что разные производители располагают ножки по-разному во всей своей многочисленной продукции.

      Подытожим на примере

      Чтобы подвести итоги, кратко рассмотрим архитектуру процессора Intel Core 2. Это было еще в 2006 году, поэтому некоторые детали могут быть устаревшими, но информации о новых разработках отсутствуют в публичном доступе.

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

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

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

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

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

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

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

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

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