Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Принцип конвейеризации выполнения операций. Структура конвейера: конвейеры буферными регистрами, с буферной памятью, асинхронные конвейеры. Линейные и нелинейные конвейеры



Конвейеризация - это способ параллельного исполнения последовательных операций, заключающийся в выделении у операций стадий и ОДНОВРЕМЕННОМ исполнении разных стадий разных операций. Конвейеризация используется как основной метод повышения производительности подсистем ЭВМ: процессора, памяти.

Конвейер команд: назначение, концепции и принципы построения.

Конвейеризация (pipeline) является одним из важнейших способов реализации низкоуровневого параллелизма (уровень машинных команд). В англоязычной литературе этот термин обозначается ILP (Instruction Level Parallelism).

Конвейеры команд появились в компьютерах в начале 60-х годов.

Концепция конвейера команд базируется на следующем:

1. Разделение порядка выполнения машинной команды на ряд последовательных этапов.

2. Разделение аппаратуры процессора в части блока управления на ряд независимых блоков, каждый из которых может выполнять одну или несколько последовательных этапов команд. Количество этапов (стадий, ступеней, фаз) команд является важной характеристикой конвейера команд.

Классический конвейер команд является 6-ступенчатым:

1. Выборка команды (IF – Instruction Fetch).

2. Декодирование (Decode).

3. Формирование адресов операндов (OA –Operand Address).

4. Выборка операндов (OF – Operand Fetch).

5. Выполнение операции (EX - Executive).

6. Запись результата (Store).

В идеальном случае n-ступенчатый конвейер команд дает увеличение производительности процессора в n раз.

Идеализация приведенной оценки связана со следующими допущениями:

1. Длительность всех ваз одинакова.

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

3. Все фазы конвейера максимально загружены, что может иметь место только на линейном участке программы.

Принято считать, что конвейер команд с числом ступеней больше, чем у классического, но меньше 10, реализует суперконвейерную обработку, а с числом >10 и >15 – гиперконвейерную обработку. В современных процессорах используются конвейеры команд с числом ступеней около 20.

Конвейер команд и его фазы (этапы, стадии). Понятия суперконвейерной и гиперконвейерной обработки, cуперскалярная обработка с раздельными конвейерами и раздельными функциональными блоками.

Конвейеризируемые стадии исполнения команды (на примере MIPS)

1) Выборка команды (Instruction Fetch, IF);

2) Декодирование команды и чтение из регистрового файла (Instruction Decode, ID);

3) Исполнение или вычисления адреса памяти данных (Execution, EX);

4) Доступ к памяти данных (Data Memory Access, MEM);

5) Запись результата (Write Back, WB).

Риски (конфликты) конвейеров команд: структурные, по данным, по управлению.

Риски в конвейере (pipeline hazard) – ситуации, когда очередная стадия команды не может быть выполнена на очередном такте конвейера.

Сущевтвуют следующие типы рисков:

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

2) Риски по данным – обусловленные взаимосвязью конвейеризуемых команд по данным.

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

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.