Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vse_lektsii_po_assembleru.docx
Скачиваний:
8
Добавлен:
25.09.2019
Размер:
2.26 Mб
Скачать

Архитектура cisc от Intel

CISC (Complete Instruction Set Computing) – компьютер с полным набором команд. CISC характеризуется следящими свойствами:

  • Нефиксированное значение длины команды

  • Арифметические действия кодируются в одной команде

  • Небольшое число регистров, каждый их которых выполняет строго определенную функцию

Схема на телефоне (Структура микропроцессоров системы)

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

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

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

Уровень ОС

Уровень машинных команд

Уровень микроархитектуры

Уровень аппаратуры

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

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

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

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

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

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

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

Процессор i80486

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

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

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

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

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

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

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

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

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

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

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

В процессорах 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]