Смекни!
smekni.com

Сравнение архитектуры POWER с другими RISC архитектурами. (стр. 2 из 5)

Для реализации быстрой обработки ввода/вывода в архитектуре POWER используется шина Micro Channel, имеющая пропускную способность 40 или 80 Мбайт/сек. Шина Micro Channel включает 64-битовую шину данных и обеспечивает поддержку работы нескольких главных адаптеров шины. Такая поддержка позволяет сетевым контроллерам, видеоадаптерам и другим интеллектуальным устройствам передавать информацию по шине независимо от основного процессора, что снижает нагрузку на процессор и соответственно увеличивает системную производительность.

Многокристальный набор POWER2 состоит из восьми полузаказных микросхем (устройств):

  • Блок кэш-памяти команд (ICU) - 32 Кбайт, имеет два порта с 128-битовыми шинами;
  • Блок устройств целочисленной арифметики (FXU) - содержит два целочисленных конвейера и два блока регистров общего назначения (по 32 32-битовых регистра). Выполняет все целочисленные и логические операции, а также все операции обращения к памяти;
  • Блок устройств плавающей точки (FPU) - содержит два конвейера для выполнения операций с плавающей точкой двойной точности, а также 54 64-битовых регистра плавающей точки;
  • Четыре блока кэш-памяти данных - максимальный объем кэш-памяти первого уровня составляет 256 Кбайт. Каждый блок имеет два порта. Устройство реализует также ряд функций обнаружения и коррекции ошибок при взаимодействии с системой памяти;
  • Блок управления памятью (MMU).

Набор кристаллов POWER2 содержит порядка 23 миллионов транзисторов на площади 1217 квадратных мм и изготовлен по технологии КМОП с проектными нормами 0.45 микрон. Рассеиваемая мощность на частоте 66.5 МГц составляет 65 Вт.

Производительность процессора POWER2 по сравнению с POWER значительно повышена: при тактовой частоте 71.5 МГц она достигает 131 SPECint92 и 274 SPECfp92.

1. Эволюция архитектуры POWER в направлении архитектуры PowerPC

Компания IBM распространяет влияние архитектуры POWER в направлении малых систем с помощью платформы PowerPC. Архитектура POWER в этой форме может обеспечивать уровень производительности и масштабируемость, превышающие возможности современных персональных компьютеров. PowerPC базируется на платформе RS/6000 в дешевой конфигурации. В архитектурном плане основные отличия этих двух разработок заключаются лишь в том, что системы PowerPC используют однокристальную реализацию архитектуры POWER, изготавливаемую компанией Motorola, в то время как большинство систем RS/6000 используют многокристальную реализацию. Имеется несколько вариаций процессора PowerPC, обеспечивающих потребности портативных изделий и настольных рабочих станций, но это не исключает возможность применения этих процессоров в больших системах. Первым на рынке был объявлен процессор 601, предназначенный для использования в настольных рабочих станциях компаний IBM и Apple. За ним последовали кристаллы 603 для портативных и настольных систем начального уровня и 604 для высокопроизводительных настольных систем. Наконец, процессор 620 разработан специально для серверных конфигураций и ожидается, что со своей 64-битовой организацией он обеспечит исключительно высокий уровень производительности.

При разработке архитектуры PowerPC для удовлетворения потребностей трех различных компаний (Apple, IBM и Motorola) при сохранении совместимости с RS/6000, в архитектуре POWER было сделано несколько изменений в следующих направлениях:

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

Архитектура PowerPC поддерживает ту же самую базовую модель программирования и назначение кодов операций команд, что и архитектура POWER. В тех местах, где были сделаны изменения, которые могли потенциально препятствовать процессорам PowerPC выполнять существующие двоичные коды RS/6000, были расставлены "ловушки", обеспечивающие прерывание и эмуляцию с помощью программного обеспечения. Такие изменения вводились, естественно, только в тех случаях, если соответствующая возможность либо использовалась не очень часто в кодах прикладных программ, либо была изолирована в библиотечных программах, которые можно просто заменить.

2. PowerPC 601

Первый микропроцессор PowerPC, PowerPC 601, в настоящее время выпускается как компанией IBM, так и компанией Motorola. Он представляет собой процессор среднего класса и предназначен для использования в настольных вычислительных системах малой и средней стоимости. Он был разработан в качестве переходной модели от архитектуры POWER к архитектуре PowerPC и реализует возможности обеих архитектур. При этом двоичные коды RS/6000 выполняются на нем без изменений, что дало дополнительное время разработчикам компиляторов для освоения архитектуры PowerPC, а также разработчикам прикладных систем, которые должны перекомпилировать свои программы, чтобы полностью использовать возможности архитектуры PowerPC.

Процессор 601 базировался на однокристальном процессоре IBM, который был разработан к моменту создания альянса трех ведущих фирм. Но по сравнению со своим предшественником, PowerPC 601 претерпел серьезные изменения в сторону повышения производительности и снижения стоимости. Например, в его состав было включено более сложное устройство переходов, расширенные возможностями мультипроцессорной работы, включая интерфейс шины высокопроизводительного процессора 88110 компании Motorola. В Power 601 реализована суперскалярная обработка, позволяющая выдавать на выполнение в каждом такте 3 команды, возможно не в порядке их расположения в программном коде.

3. Процессор PowerPC 603

PowerPC 603 является первым микропроцессором в семействе PowerPC, который полностью поддерживает архитектуру PowerPC (рисунок 5.20). Он включает пять функциональных устройств: устройство переходов, целочисленное устройство, устройство плавающей точки, устройство загрузки/записи и устройство системных регистров, а также две, расположенных на кристалле кэш-памяти для команд и данных, емкостью по 8 Кбайт. Поскольку PowerPC 603 - суперскалярный микропроцессор, он может выдавать в эти исполнительные устройства и завершать выполнение до трех команд в каждом такте. Для увеличения производительности PowerPC 603 допускает внеочередное выполнение команд. Кроме того он обеспечивает программируемые режимы снижения потребляемой мощности, которые дают разработчикам систем гибкость реализации различных технологий управления питанием.

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

Описание архитектуры и принципов работы микропроцессоров семейства PowerPC


1. Общие сведения

Семейство RISC-процессоров PowerPC в настоящее время состоит из следующих моделей: EC603e, 603e, 604e, 740, 750 (производятся фирмами Motorola и IBM).
В данной работе архитектура и работа микропроцессоров PowerPC рассматривается на базе процессора PowerPC 750. Полную документация по архитектуре и программированию всех процессоров доступна на сайтах Motorola и IBM.
750 реализует 32-разрядную архитектуру PowerPC, которая предоставляет 32-разрядную адресацию, обработку целочисленных данных (8, 16, 32 разряда), данных с плавающей точкой (32 и 64 разряда).
Процессор 750 состоит из следующих устройств выполнения :
· Устройство с плавающей точкой (FPU)
· Устройство обработки переходов (BPU)
· Устройство системных регистров (SRU)
· Устройство загрузки/записи (LSU)
· Два целочисленных устройства (IUs): IU1 - выполняет все команды IU2 - выполняет все команды, кроме умножения и деления
750 является суперскалярным процессором: возможна выборка четырех команд из кэша и выполнение шести команд за один такт. Большинство целочисленных команд выполняется за один такт. Выполнение команд с плавающей точкой разбиваются на три ступени. Одна команда с ПТ занимает одну ступень, таким образом одновременно FPU может выполнять три команды с плавающей точкой (32-разрядные операнды). Сложение 64-разрядных операндов выполняется за три такта, умножение и умножение-сложение за четыре.
750 имеет независимый встроенный восьмиканальный, 32 Кб, физически адресуемый кэш команд и данных, а также независимые устройства управления памятью команд и данных (memory management unit, MMU). Каждое MMU имеет ассоциативный буфер TLB (DTLB и ITLB) для сохранения адресов недавно использованных страниц. Архитектурой PowerPC также определяется наличие таблиц трансляции адресов блоков памяти (block address translation array, IBAT и DBAT), Подробнее работа памяти описана в соответствующем разделе.
Кэш L2 реализован в виде встроенных памяти тэгов и внешней памяти SRAM. Доступ к внешней SRAM происходит через порт кэша L2, который поддерживает один банк памяти до 1 Мб SRAM.
750 имеет 32-разрядную адресную шину и 64-разрядную шину данных. Внешние устройства получают системные ресурсы через устройство внешнего центрального арбитра. В 750 используется MEI (modified/exclusive/invalid) протокол для синхронизации кэша и памяти и предотвращения ошибок при обращении к кэшу.


2. Архитектура и работа процессора.

2.1 Поток команд.
Как видно из рисунка, устройство управления потоком команд состоит из устройства последовательной выборки (fetcher), очереди из шести команд (instruction queue, IQ), устройства распределения команд и устройства обработки переходов (BPU).
Оно определяет адрес следующей команды для выборки по информации из устройства выборки и BPU.
Команда загружается из кэша команд в очередь команд. BPU извлекает команды перехода из последовательного загрузчика. Команды перехода, которые не могут быть обработаны немедленно, предсказываются с помощью специальных алгоритмов динамического или статического (определен архитектурой) предсказания переходов.
Команды перехода, не влияющие на LR или CTR (регистры, содержащие адреса переходов), удаляются из потока команд.
Команды из предсказанной ветви не завершаются, пока переход не обработан наверняка, сохраняя программную модель последовательного выполнения. Если переход был неправильным, устройство выполнения уничтожает все предсказанные пути команд и выбирает команды из правильной ветви.