Основные направления развития системы команд

Условный переход

Передача управления

Предположим, команда 1 – команда условной передачи управления. После ее завершения должна выполнять либо команду 2, либо команду N.

Схема условной передачи управления:

K1 F1 D1 F1 W1        
K2   F2 D2 E1 W2      
K3     F3 D3 E3 W3    
K        
Kn         Fn Dn En Wn
Kn+1         Fn+1 Dn+1 En+1 Wn+1

Если переход произойдет, то конвейер теряет 3 такта. Команды 2, 3, 4 из конвейера удаляются. Эти команды называют слотами задержки перехода. Число слотов зависит от числа ступеней. В длинных конвейерах их больше. Применяется условный адрес, передающихся непосредственно УК.

Безусловный переход – устройство Е(исполнительное) определяет, нужен ли переход, но если адрес перехода выполняется раньше устройством D. При этом теряется только один такт.

Другой, более дорогой вариант. Процессор имеет в своем составе буфер адресов перехода.

ВТВ(Branch Target Buffer) - небольшая КЭШ-память, хранящая таблицу последних переходов.

Формат:

Адрес команды
Адрес перехода


Устройство F ищет адрес команды в левой части таблицы. Когда находит, выбирает по адресу правую.

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

Схема конвейера с параллельным ветвлением

Альтернатива: использует методы, предсказывающие переход (будет или нет). Статические предсказания переходов. Команды условного перехода имеют управление битами, устанавливающиеся компилятором по результатам прогноза.

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

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

I. Возврат к процессорам с простой системой команд, а реализация параллельной обработки, упреждающей выборки и других сложностей возлагается на компилятор. Реализация этого направления возможна при помощи процессора RISC – Reduced Instruction Computer – ПК с сокращенным набором команд. Эти процессоры приспособлены для работы конвейера. Имеет следующие типы организации:

1. Стандартная длина команд, равная шине данных

2. Небольшое число различных команд

3. Малое число способов адресации

4. Малое число форматов команд

5. Обращение к памяти в командах не более одного раза(чтение или запись)

6. Большое число регистров

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

II. Сохранение сложной системы команд с форматами разной длины и большим числом способов адресации при небольшом числе РОН. Компьютеры с такой архитектурой называются CISC – Complex Instruction Set Computer – ПК с полным набором команд. Это направление сохраняет простоту трансляции программ с языков высокого уровня на машинный язык. Это направление связывает три подхода:

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

2. Супере-скалярный конвейер – основная часть задержек конвейера связана с работой исполнительного блока (особенно с ПТ). В современных процессорах делают два исполнительных устройства: устройство для действий с ПТ и устройство целочисленной арифметики(с ФТ). Когда одно работает, другое –простаивает. Предложение: организация разделения единого конвейера команд на два потока. В супер-скалярном процессоре как минимум два параллельных работающих блока. Равномерность загрузки легче обеспечить для четырех и более магнитных блоков

Структура:

На блок диспетчеризации возлагается задача переставлять команды местами для подачи команд с ФТ, ПТ.

3. RISC – ядро. Стремления соединить достоинства CISC и RISC процессоров породила архитектурный гибрид. В процессорах фактически используют два ядра. Одно внешнее, второе внутреннее.

Схема структуры:

Обычно в одном процессоре реализуются все три подхода: супер - конвейер, супер -скалярный, RISC – ядро.



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



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