Конвейеризация (конвейер операций).

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

 

, – продолжительность i-го этапа

 

 

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

 

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

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

___

tT=max{ti} , i=1,k

Синхронный конвейер целесообразно использовать при условии, что продолжительности ti примерно одинаковые и равны tт. Покажем принцип работы конвейерных команд на временной диаграмме.

Пусть процесс выполнения команд разбит на 5 этапов. Тогда временная диаграмма имеет следующий вид:

 

 

На временной диаграмме одинаковыми символами помечены разные этапы рабочего цикла одной и той же команды. Всего команд на диаграмме 7. Эти 7 команд выполняются за 11 тактов на конвейере или за 35 тактов при последовательном методе выполнения команд, т.е. при отсутствии конвейера.

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

tпосл. К В приведенном примере tпосл. 35

К > _____ > _____ ; ______ = ______ » 3

 

tконв. 2 tконв. 11

 

Таким образом, рост производительности не менее, чем в К раз и не более, чем в К раз. 2

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

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

 








Дата добавления: 2015-08-14; просмотров: 2270;


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

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.