Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Желтый_А.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
375.81 Кб
Скачать

Страницы 7–11

1 Конвейеризация вычислений

Совершенствование элементной базы уже не приводит к карди­нальному росту производительности ВМ. Более перспективными в этом плане представляются архитектурные приемы, среди которых один из наиболее значимых — конвейеризация.

Для пояснения идеи конвейера сначала обратимся к рис. 1.1, а, где показан отдельный функциональный блок (ФБ). Исходные данные поме­щаются во входной регистр Ргвх, обрабатываются в функциональном блоке, а результат обработки фиксируется в выходном регистре Ргвых- Если мак­симальное время обработки в ФБ равно Тmах, то новые данные могут быть занесены во входной регистр Ргвх не ранее, чем спустя Тmах

Рисунок 1.1- Обработка информации: а - в одиночном блоке; б- в кон­вейере с регистрами; в - в конвейере с памятью

Теперь распределим функции, выполняемые в функциональном блоке ФБ (см. рис. 1.1, а), между тремя последовательными независимыми блока­ми: ФБ1, ФБ2 и ФБ3, причем так, чтобы максимальное время обработки в каж­дом ФБi было одинаковым и равнялось Тmах/3. Между блоками разместим буферные регистры Ргi, (рис. 1.1, б), предназначенные для хранения резуль­тата обработки в ФБi , на случай, если следующий за ним функциональный блок еще не готов использовать этот результат. В рассмотренной схеме дан­ные на вход конвейера могут подаваться с интервалом Тmах/З (втрое чаще), и хотя задержка от момента поступления первой единицы данных в Ргвх до момента появления результата ее обработки на выходе Ргвых по-прежнему со­ставляет Тmах последующие результаты появляются на выходе Ргвых уже с ин­тервалом Тmах/3.

На практике редко удается добиться того, чтобы задержки в каждом ФБi были одинаковыми. Как следствие, производительность конвейера снижается, поскольку период поступления входных данных определяется максимальным временем их обработки в каждом функциональном блоке. Для устранения этого недостатка или, по крайней мере, частичной его компенсации, каждый буферный регистр Ргi следует заменить буферной памятью БПi, способной хранить множество данных и организованной по принципу FIFO – «первым вошел – первым вышел» (рис. 1.1, в). Обработав элемент данных, ФБi заносит результат в БПi-1, извлекает из БПi-1 новый элемент данных и приступает к очередному циклу обработки, причем эта последовательность осуществляется каждым функциональным блоком независимо от других блоков. Обработка в каждом блоке может продолжаться до тех пор, пока не ликвидируется предыдущая очередь или пока не переполнится следующая очередь. Если емкость буферной памяти достаточно велика, различия во времени обработки не сказываются на производительности, тем не менее желательно, чтобы средняя длительность обработки во всех ФБi была одинаковой.

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

По способу синхронизации работы ступеней конвейеры могут быть синхронными и асинхронными. Для традиционных ВМ характерны синхронные конвейеры. Связано это, прежде всего, с синхронным характером работы процессоров. Ступени конвейеров в процессоре обычно располагаются близко друг от друга, благодаря чему тракты распространения сигналов синхронизации получаются достаточно короткими и фактор «перекоса» сигналов (когда биты информации на разных линиях шины достигают соответствующих приемников не одновременно) становится не столь существенным. Асинхронные конвейеры оказываются полезными, если связь между ступенями не столь сильна, а длина сигнальных трактов между разными ступенями сильно разнится. Примером асинхронных конвейеров могут служить систолические массивы (однородная вычислительная среда из процессорных элементов, совмещающая в себе свойства конвейерной и матричной обработки и обладающая рядом особенностей).