Основы конвейерной работы МП. Тактирование и управление временными задержками. Время прохождения автомата с памятью, страница 2

Достаточно мало МП содержат К=10.

С другой стороны болеекрупный уровеньорганизации  конвейеров на процессорном уровне называется «макроконвейером».

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

Пусть t- необходимое время для выполнения не конвейеризированной последовательной программы.

Для выполнения такой же программы с использованием «К»ступеней конвейера с равномерной задержкой требуется период тактирования;

p= t/k+d,       где d- задержка в автомате с памятью.

Такой конвейер имеет максимум производительности на частоте:

f= 1/p= 1/ (t/k+d)

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

Конвейер состоит из вентилей и автоматов с памятью (регистров):

с+кh,          

где с- покрывает стоимость всех логических ступеней и

«h» - представляет стоимость всех автоматов.

Тогда соотношение производительность/ стоимость (PCR) составляет:

PCR=f/c+kh=1/(t/k+d)(c+kh)           (6)

На РИС.      представлена функция PCR в зависимости от «к».

PCR

 


                                        К0  оптимальное          к (колич. ступеней)

Рис.

Максимум соотношения производительность/стоимость зависит от оптимального числа ступеней конвейера:

 


                              К0=   tc/dh                   (7)

, где t- общая задержка потока команд через конвейер.

с- общая стоимость ступеней,

d и h соответственно задержка и стоимость регистров, которые могли бы быть подобраны для достижения оптимального К0.

Эффективность и производительность конвейера.

Эффективность -Ек линейного конвейера с «к» ступенями.

Sk- фактор ускорения.n- количество задач (операций).

Ek=Sk/k=n/k+(n-1)                    (8)

Фактор эффективности стремиться к единице, при n стремящимся к бесконечности и нижняя граница Ек=1\к,  когда n=1.

Производительность конвейера Hk определяется  следующим выражением:

Hk= n/{k+(n-1)} t=nf/k+(n-1)     (9)

Максимум эффективности на частоте f достигается когда Ек стремится к единице и n стремится к бесконечности.

Все основные показатели конвейера связаны между собой выражениями:

 


Hk=Ekf=Ek/ t=Sr/k t

Особенности работы конвейера команд.

Работа современных МП распадается на отдельные фазы циклически следующие друг за другом:

1. Instructionfetch (IF)- выборка кода команды- извлекает команду                из КЭШ ЗУ, предположительно за 1 цикл.

2. Decode (D)-декодирование команд- определяет тип команды и           требуемые ресурсы (РОНы, шины, функциональные         исполнительные единицы)

3. Issue (I)- чтение операндов- резервирует ресурсы для данных и управляет блокировками конвейера.

4. Execute (E)- выполнение команды на одной или нескольких фазах.

5. Writeback (WB)- запись результата в регистры.

Данные фазы идеальны для совмещения в линейных конвейерах. Каждая фаза требует от 1 до нескольких циклов тактирования для исполнения в зависимости от типа команды и архитектуры процессор/ память.

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

  F        D      I          E      E      E        WB        (M1)—R1

F       D        I         E       E       E     WB   (M2)—R2

(R1)+(R2)-(R3)  F        D        X       X        X       I       E          E       E      WB       

Пока не закончены  циклы чтения в R1  и R2  в третьей команде не может быть выполнена операция сложения с записью результата. Это приводит к простою  (блокировке) цикла конвейера на 3 цикла. В примере предполагается, что каждый цикл загрузки/ сохранения занимает 3-цикла CISC.

Аналогичная операция в RISC- процессоре занимает ,как  правило, меньшее число циклов.

Сравнительные особенности функционирования суперскалярных и суперконвейерных архитектур.

Как уже отмечалось, реальными путями развития производительности МП являются: технология СБИС, параллелизм архитектуры базового процессора и мультипроцессорные системы. Рассматривая параллелизм работы процессора в виде конвейерной обработки команд мы приходим к понятию суперскалярной архитектуры, в которой имеется возможность считывать одновременно более одной команды за цикл. Степень суперскалярности «m» , как правило, в реальных МП находится в пределах 2-5. В скалярных процессорах m=1. Конечно, такие архитектуры должны допускать и множественную параллельную обработку команд, что влечет  за собой и множественное количество исполнительных устройств, работающих в параллель, таких как: целочисленные устройства, устройства с плавающей запятой, устройства ветвления, загрузки- сохранения и др.