Простейшая организация конвейера

Для иллюстрации основных принципов построения ядер процессоров будет использоваться простейшая структура, содержащая 32 целочисленных регистра общего назначения (R0,...,R31), 32 регистра данных с плавающей точкой (F0,...,F31) и счетчик команд (РНК). Будем считать, что набор команд процессора включает типичные арифметические и логические операции, операции с плавающей точкой, операции пересылки данных, операции управления потоком команд и системные операции. В арифметических командах используется трехадресный формат, типичный для RISC-архитектур, а для обращения к оперативной памяти используются операции загрузки и записи содержимого регистров в оперативную память.

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

ВК - считывание команды;

ДК – дешифрация команды;

ЧО - считывание операндов;

ВП- выполнение команды;

ЗР - запись результата.

Идеальнымявляется конвейер, в котором:

все этапы (ступени) имеют одинаковое время срабатывания;

отсутствуют конфликты;

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

Выполнение команд в таком конвейере представлено в табл. 30.1.

 

 

Таблица 30.1. Порядок выполнения команд в 5-ступенчатом конвейере

 

Команда Такт
i ВК ДК ЧО ВП ЗР        
i+1   ВК ДК ЧО ВП ЗР      
i+2     ВК ДК ЧО ВП ЗР    
i+3       ВК ДК ЧО ВП ЗР  
i+4         ВК ДК ЧО ВП ЗР

 

Анализ табл. 30.1 показывает, что при конвейерной обработке после того, как получен результат выполнения первой команды (после заполнения конвейера), результат очередной команды появляется ежетактно.

При последовательном выполнении каждой команды время выполнения N команд составит:

Tпосл = N*(tВК + tДК + tЧО + tВП + tЗР) = 5Nτ

Предположим, что конвейер выполнения команд идеальный и времена срабатывания ступеней равны 1 такту (τ).

Время выполнения N команд в идеальном конвейере составит:

 

Tид.конв = *(tВК + tДК + tЧО + tВП + tЗР)+(N-1)τ = 5τ+(N-1)τ

Для данного примера при больших значениях Nускорение будет близко к 5 .

Очевидно, что при достаточно длительной работе конвейера его быстродействие будет существенно превышать быстродействие, достигаемое при последовательном выполнении всех этапов команд. Это увеличение будет тем больше, чем меньше длительность такта конвейера и чем больше количество выполненных за рассматриваемый период команд.

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

 

 








Дата добавления: 2015-09-29; просмотров: 828;


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

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

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

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