Курс лекций по вычислительной технике



         

Наличие такого конвейера позволяет повысить производительность в раз (в идеальном случае)


Создание конвейера осложняется следующими обстоятельствами:

длительность этапов может быть различной

-        результат предыдущей операции используется в качестве  операнда в последующей  (например,   результат команды «К»  должен быть использо­ван в качестве источника в команде «К+3») или  команда «К» является пере­дачей управления, то есть после  неё должна следовать команда К+М. 

-        в программе нарушается линейность, т.е.  появляются  ветвления (пе­реходы):  команда «К» является передачей управления, то есть после  неё должна следовать команда К+М. 

-        в некоторых операциях присутствуют не все этапы.

Эти проблемы решаются либо компилятором, который старается вы­страивать команды в порядке наиболее удобном для конвейера и при необхо­димости вставляет команды холостого хода, либо аппаратно.

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

Тем не менее, введение пятистадийного конвейера в Интел 486 позволило, по сравнению с Интел 386, повысить тактовую частоту в три раза, а время выполнения команд (в тактах) – сократить  вдвое.

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

про­цессора решается компилятором или посредством  специальной  аппаратуры расщепле­ния.




Содержание  Назад  Вперед