Рассмотрение «классической» микроархитектуры процессора

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

Итак, поехали…

В любом процессоре присутствует несколько элементов: кэш команд и данных, предпроцессор и постпроцессор.

Процесс обработки данных в классическом упрощённом виде, состоит из нескольких этапов:

  1. Происходит процедуравыборки. Во время этой процедуры данные и инструкции вытягиваются с кэш-памяти первого уровня (L1);
  2. Выбранные данные декодируются (превращаются в понятные для  процессора команды);
  3. Потом декодированные данные доходят до исполнительных блоков и выполняются;
  4. После всего этого обработанные результаты записываются в оперативную память.

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

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

А сейчас давайте рассмотрим процесс исполнения кода в «классическом» процессоре. Первым делом, при исполнении кода, происходит выборка инструкций и данных из кэша L1. Затем эти инструкции блоками определённой длинны, загружаются из кэша L1, среди которых потом выделяются те, которые подвергнутся декодированию.

Главная задача процессора – за минимальное время выполнить максимальное количество инструкций. Именно этим и определяется производительность процессора.

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

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

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

Если подвести небольшой итог, то мы вкратце рассмотрели структуру и принцип работы «классического» процессора, по модели которого построены реальные процессоры.

Также обратите внимание на сокеты процессоров.


Комментарии   

 
+1 # Евгений_2013 14.12.2013 17:03
Интересно но уж совсем вкратце, в реальных системах очень много хитрых ходов (кроме длины конвейера) ... например интересны и очень неоднозначны системы предсказаний, или как организуется НТ в интелах и при каких условиях это НТ наоборот мешает.
 
 
+1 # Богдан 09.02.2014 11:10
Некоторые люди говорят,что микроархитектур а AMD "отстой", это конечно юшошеский идеализм, но всё-таки интересно в чём там разница?
 

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


Защитный код
Обновить

Автор :

Инфо

Информативно о компьютерных технологиях. Различные материалы относительно компьютерного железа, софта (программ) и сетевых технологий. При полном или частичном копировании информации - прямая ссылка на сайт (We-it.net) обязательна.