Архитектура PowerPC. Основные особенности архитектуры Power PC. Конвейер команд, страница 2

          Суперскалярная архитектура МП содержит пять исполнительных устройств: целочисленное устройство, устройство с пл. запятой, устройство предсказания ветвления, устройства загрузки/ сохранения. Кроме того, на кристалле МП содержатся системные регистры, два КЗУ -команд и данных по 8Кб. МП имеет Гарвардскую архитектуру и потоки команд и данных разделены. МП способен считывать и обрабатывать до трех команд одновременно (две исполняемые и одну ветвления).Для увеличения скорости работы МП позволяет выполнять команды в произвольном порядке (Out-of Order), используя регистры переименования. В архитектуре предусмотрено программируемое снижение мощности МП при снижении интенсивности работы, что особенно актуально для портативных ПК.

          Команды считываются из КЗУ команд и направляются  в одно из пяти исполнительных устройств. Если отсутствуют конфликты по данным, то они непосредственно исполняются. Целочисленные устройства исполняют большинство операций за один цикл. Устройство с плавающей запятой конвейеризировано и выполняет операции с одинарной и двойной точностью. Устройство ветвлений при выполнении при выполнении условий немедленно вычисляет целевой адрес команды. В случае промаха в КЗУ команд осуществляет обращение к системной памяти через 64-х битную шину, подобно тому, как организовано в процессоре М88110. При этом используется режим пакетной передачи позволяющий заполнить ячейку КЗУ за одну транзакцию. МП содержит 32 РОН (GPRs) для целочисленного исполнительного устройства и набор РОН для устройства с пл. запятой.

                   Конвейер команд.

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

1.Выборка (F). Во время данной ступени считываются команды из КЗУ- команд (2-для МП POWER 603, 4-для МП POWER 620)

2.  Декодирование/ считывания операндов (Decode/ Source Stage). Во время данной ступени диспетчер и устройство ветвления декодируют команды, определяет регистры переименования, читает операнды источники и направляет команды в соответствующие устройства или станции резервации.

3.  Исполнение (E). Во время данной ступени команды выполняются, и результаты записываются в регистры переименования (GP Rename Regs.)

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

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

          Работа функциональных устройств.

Диспетчер (Dispatch Unit). Читает две команды из КЗУ команд и помещает их в 6-ти ступенчатую очередь предвыборки. Команды ветвления  передаются в устройство ветвления (Branch Unit) , где незамедлительно начинается процесс вычисления целевого адреса. Диспетчер читает и декодирует нижние две команды и посылает их в исполнительные устройства. Если соответствующее исполнительное устройство занято, то диспетчер приостанавливает соответствующую ступень конвейера (Stall).

Для преодоления задержек, возникающих из-за взаимозависимости по данным МП, содержит станции резервации, для каждого исполнительного устройства. В RS-станции хранятся команды до тех пор, пока операнды не будут готовы. Это позволяет диспетчеру обрабатывать в данное время следующие текущие команды.