Лабораторная работа №1. Лабораторная работа 1 Конвейерная организация процессоров
Скачать 42.28 Kb.
|
Лабораторная работа № 1 Конвейерная организация процессоров С целью увеличения быстродействия процессора и максимального использования всех его возможностей обработка каждой команды разбивается на ряд последовательных шагов (этапов, стадий), суть которых не меняется от команды к команде. Конвейерный принцип обработки информации подразумевает, что в каждый момент времени процессор работает над различными стадиями выполнения нескольких команд, причем на выполнение каждой стадии выделяются отдельные аппаратные ресурсы. По очередному тактовому импульсу каждая команда в конвейере продвигается на следующую стадию обработки, выполненная команда покидает конвейер, а новая поступает в него. В различных процессорах количество и суть этапов различаются. Рассмотрим принципы конвейерной обработки информации на примере пятиступенчатого конвейера, в котором выполнение команды складывается из следующих этапов: IF (Instruction Fetch) - считывание команды в процессор; ID (Instruction Decoding) - декодирование команды; OR (Operand Reading) - считывание операндов; EX (Executing) - выполнение команды; WB (Write Back) - запись результата. Каждый из блоков занимает n тактов времени (ms). Варианты организации вычислений (Variants): Однотактная организация Конвейерная организация Суперскалярная организация (количество блоков в EX=числу тактов) Выполнение команд в таком конвейере представлено в табл. 1.
Пусть для выполнения отдельных стадий обработки требуются следующие затраты времени (в некоторых условных единицах): TIF = 20, TID = 15, TOR = 20, TEX = 25, TWB = 20. Тогда, предполагая, что дополнительные расходы времени составляют dt = 5 единиц, получим время такта: Оценим время выполнения одной команды и некоторой группы команд при последовательной (однотактной) и конвейерной обработке. При последовательной обработке время выполнения N команд составит: Анализ табл. 1 показывает, что при конвейерной обработке после того, как получен результат выполнения первой команды, результат очередной команды появляется в следующем такте работы процессора. Следовательно, Примеры длительности выполнения некоторого количества команд при последовательной и конвейерной обработке приведены в табл.2.
Очевидно, что при достаточно длительной работе конвейера его быстродействие будет существенно превышать быстродействие, достигаемое при последовательной обработке команд. Это увеличение будет тем больше, чем меньше длительность такта конвейера и чем больше количество выполненных команд. Сокращение длительности такта достигается, в частности, разбиением выполнения команды на большое число этапов, каждый из которых включает в себя относительно простые операции и поэтому может выполняться за короткий промежуток времени. Процессоры, имеющие в своем составе более одного конвейера, называются суперскалярными. Недостатком суперскалярных микропроцессоров является необходимость синхронного продвижения команд в каждом из конвейеров. В случае суперскалярной организации при EX=3, вид конвейера, следующий: EX WB EX IF ID OR EX Задачи Для существующего набора инструкций (ListInstructions (ListInstructions.slx)) необходимо: Нарисовать временные диаграммы вычислений ListInstructions. Вычислить общее время выполнения (TListInstructions) всего набора ListInstructions. Представить полученные результаты в виде графиков (диаграмм) для сравнения TListInstructions, сделать выводы. Реализация в любой среде программирования.
Пример.xls – пример. |