Стадии обработки машинной команды

Процессор i80486

Михкроархитектрупа P6

Многоуровневое представление компьютера

Микроархитектура Intel

Понятие микроархитектура впервые было определено Intel для процессора семейства Pentium Pro. Введение этого понятия объяснялось необходимостью правильного позиционирования новых процессоров среди существующих.

Уровень ОС
Уровень машинных команд
Уровень микроархитектуры
Уровень аппаратуры


Представление компьютера в виде уровней.

Микроархитектуру P6 поддерживают такие процессоры Интел как Пентиум Про, Пентиум IIб Селерон, Пентиум III.

Эта микроархитектура является, по определению Интел, трехходовой суперскалярной конвейерной архитектурой.

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

Процессоры Интел относятся к группе CISC – процессоров т.е.:

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

Затратная по времени операция – выборка команды из памяти.

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

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

· Выборка команды из кэш-памяти или из оперативной памяти.

· Декодирование команды

· Генерация адреса в ходе которой определяются адреса операндов в памяти и выполняется выборка операндов.

· Выполнение операции с помощью АЛУ.

· Запись результата (место записи результата зависит от алгоритма работы конкретной машинной команды).

Преимущество такого подхода:

Очередная команда после её выборки попадает в блок кодирования. Таким образом блок выборки освобождается и может выбрать следующую команду. Т.е. на конвейере могут находится в различной стадии выполнения пять команд. Скорость вычисления в результате существенно возрастает.

В процессорах Pentium конвейерная архитектура была усовершенствована и получила название суперскалярной. В отличии от скалярной архитектуры i80486 первые модели процессоров Pentium имели два конвейера.

В идеале такой суперскалярный процессор должен выполнять две команды за машинный такт. Но не все так просто. Реально два конвейера Пентиум не были функционально равнозначными. В связи с этим они даже имели разные названия – u конвейер (главный) и v – конвейер (второстепенный). Главный конвейер был полнофункциональным и мог выполнять любые машинные команды. Функциональность второстепенного конвейера была ограничена.

Технологии динамического выполнения команд

1) Предсказывание правильного адреса перехода. Основная задача механизма предсказывания – исключить перезагрузку конвейера. Под переходом понимается запланированное алгоритм изменение последовательного характера выполнения программы. Все преимущества конвейеризации теряются. Поэтому в архитектуру Pentium в состав устройства выборки декодирования был введен блок предсказывания переходов. Вероятность правильного предсказания составляет около 80%.

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

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

Архитектура IA-32

· Набор ресурсов процессора в архитектуре IA-32:

· Пространство адресу памяти до 232 – 1 байт (4 гбайт), для Pentium III/IV – до 236 – 1 байт (64 гбайт)

· 8 регистров целочисленного устройства для хранения данных общего назначения

· 6 сегментных регистров

· Набор регистров состояния и управления

· 8 регистров устройства вычислений с плавающей точкой (сопроцессора)

· 8 регистров целочисленного MMX – расширения, отображенных на регистры сопроцессора

· 8 регистров XMM – расширения с плавающей точкой (Первый процессоры Pentium III)

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

Адресация памяти в IA-32

4 режима:

Реальный – при формировании адреса используется 16-ти разрядные смещения и 16-ти разрядные сегменты адреса, которые хранятся в сегментных регистрах.

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

Защищенный – в этом режиме используется 32-х разрядная адресация, предусматривающая несколько вариантов защиты, откуда и появилось название этого режима.

Виртуальный – в этом режиме процессор моделирует псевдоодновременную работу нескольких виртуальных процессоров i8086.

Системного управления (System Management Mode - SMM) – Обеспечивает ОС механизмом для выполнения машинно-зависимых функций, таких как перевод компа в режим пониженного энергопотребления или выполнения действий по защите системы. Для перехода в данный режим процессор должен получить спец. Сигнал от усовершенствоннаго программируемого контролера прерываний, при этом сохраняются состояния вычислительной среды процессора.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: