Устройство процессора, как он работает на самом деле
В современном мире компьютерных технологий процессор занимает одно из основополагающих мест. Центральный процессор – это высокотехнологичное и очень сложное устройство, которое включает в себя все достижения, появляющиеся в сфере вычислительной техники, а также в областях, прилежащих в ней.
Упрощенно устройство процессора выглядит так:
Основу составляют ядра (одно или несколько). Они отвечают за выполнение всех доверенных инструкций;
Имеется несколько уровней памяти КЭШ (чаще всего два или три), благодаря которым ускоряется взаимодействие процессора и ОЗУ;
Контроллер ОЗУ;
Контроллер системной шины (QPI, HT, DMI и т.д.).;
Устройство управления процессора характеризуется следующими параметрами:
Тип микроархитектуры;
Уровни КЭШ-памяти;
Объем КЭШ-памяти;
Тип и скорость системной шины;
Размер обрабатываемых слов;
Встроенный контроллер памяти (его может не быть);
Тип поддерживаемой ОЗУ;
Объем адресной памяти;
Наличие встроенного графического чипа (интегрированная видеокарта совсем не редкость на сегодняшний день и выступает скорее как дополнение к более мощным, дискретным картам, хотя устройство процессора позволяет использовать довольно мощные встроенные решения);
Количество потребляемой электроэнергии.
Процессор и его характеристики
Ядро процессора – буквально его сердце, в котором содержаться функциональные блоки, осуществляющие выполнение логических и арифметических задач. Ядра работают следующим образом:
Происходит проверка блока выборки на наличие прерываний. Найдя подобные прерывания, они заносятся в стек. Счетчик команд получает адрес с командой обработчика прерываний. Закончив с работой функций прерываний, данные, попавшие в стек, восстанавливаются. Далее происходит считывание адреса команды инструкций из блока выборки. Отсюда происходит считывание из ОЗУ или КЭШ-памяти, после чего данные поступают в блок декодирования. Теперь происходит расшифровка полученных команд, после чего данные передаются на блок выборки. Там данные считываются ОЗУ или КЭШ-памятью и передаются планировщику, где определяется, какой блок должен выполнять операцию, после чего данные поступают именно туда. Блок управления инструкций выполняет полученные команды и передает результат блоку сохранения результатов.
Такой цикл называется процессом, а последовательно выполняемые команды являются программой. За скорость, с которой один этап цикла переходит в другой, отвечает тактовая частота, а за время, отводящееся для работы этапа цикла, отвечает само устройство процессора, а точнее его ядра.
Существует ряд способов, с помощью которых можно повысить производительность процессора. Для этого нужно поднять уровень тактовой частоты, который имеет определенные ограничения. Повышая тактовую частоту, непременно повышаешь энергопотребление и, как следствие, температуру, а это ведет к понижению общей стабильности устройства процессора.
Для того чтобы избежать необходимости в повышение тактовой частоты, производители решили пойти другим путем, придумывая разнообразные архитектурные решения. Одним из таких решений является конвейеризация, суть которой в том, что каждая выполняемая процессором инструкция поочередно поступает во все блоки ядра, где выполняется часть действий. Таким образом, при выполнении всего одной инструкции большая часть блоков будет находиться в режиме простоя. Таким образом, все современные процессоры работают так: выполнив одну операцию, они сразу приступают к другой, сокращая время простоя до минимума и увеличивая эффективность на столько, на сколько это возможно. Конечно, в идеале все выглядит так, будто устройство процессора всегда работает с эффективностью 100%, но этого не происходит из-за того, что поступаемые команды непоследовательны.