Эволюция архитектуры 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,
были расставлены "ловушки",
обеспечивающие прерывание и
эмуляцию с помощью программного
обеспечения. Такие изменения
вводились, естественно, только в
тех случаях, если соответствующая
возможность либо использовалась не
очень часто в кодах прикладных
программ, либо была изолирована в
библиотечных программах, которые
можно просто заменить.
PowerPC 601
Первый микропроцессор PowerPC, PowerPC
601, в настоящее время выпускается
как компанией IBM, так и компанией
Motorola. Он представляет собой
процессор среднего класса и
предназначен для использования в
настольных вычислительных
системах малой и средней стоимости.
Он был разработан в качестве
переходной модели от архитектуры
POWER к архитектуре PowerPC и реализует
возможности обеих архитектур. При
этом двоичные коды RS/6000 выполняются
на нем без изменений, что дало
дополнительное время
разработчикам компиляторов для
освоения архитектуры PowerPC, а также
разработчикам прикладных систем,
которые должны перекомпилировать
свои программы, чтобы полностью
использовать возможности
архитектуры PowerPC.
Процессор 601 базировался на
однокристальном процессоре IBM,
который был разработан к моменту
создания альянса трех ведущих фирм.
Но по сравнению со своим
предшественником, PowerPC 601 претерпел
серьезные изменения в сторону
повышения производительности и
снижения стоимости. Например, в его
состав было включено более сложное
устройство переходов, расширенные
возможностями мультипроцессорной
работы, включая интерфейс шины
высокопроизводительного
процессора 88110 компании Motorola. В Power
601 реализована суперскалярная
обработка, позволяющая выдавать на
выполнение в каждом такте 3 команды,
возможно не в порядке их
расположения в программном коде.
Рис. 6.19. Блок-схема
процессора Power PC 603
Процессор PowerPC 603
PowerPC 603 является первым
микропроцессором в семействе PowerPC,
который полностью поддерживает
архитектуру PowerPC (рисунок 6.19). Он
включает пять функциональных
устройств: устройство переходов,
целочисленное устройство,
устройство плавающей точки,
устройство загрузки/записи и
устройство системных регистров, а
также две, расположенных на
кристалле кэш-памяти для команд и
данных, емкостью по 8 Кбайт.
Поскольку PowerPC 603 - суперскалярный
микропроцессор, он может выдавать в
эти исполнительные устройства и
завершать выполнение до трех
команд в каждом такте. Для
увеличения производительности PowerPC
603 допускает внеочередное
выполнение команд. Кроме того он
обеспечивает программируемые
режимы снижения потребляемой
мощности, которые дают
разработчикам систем гибкость
реализации различных технологий
управления питанием.
При обработке в процессоре
команды распределяются по пяти
исполнительным устройствам в
заданном программой порядке. Если
отсутствуют зависимости по
операндам, выполнение происходит
немедленно. Целочисленное
устройство выполняет большинство
команд за один такт. Устройство
плавающей точки имеет конвейерную
организацию и выполняет операции с
плавающей точкой как с одинарной,
так и с двойной точностью. Команды
условных переходов обрабатывается
в устройстве переходов. Если
условия перехода доступны, то
решение о направлении перехода
принимается немедленно, в
противном случае выполнение
последующих команд продолжается по
предположению (спекулятивно).
Команды, модифицирующие состояние
регистров управления процессором,
выполняются устройством системных
регистров. Наконец, пересылки
данных между кэш-памятью данных, с
одной стороны, и регистрами общего
назначения и регистрами плавающей
точки, с другой стороны,
обрабатываются устройством
загрузки/записи.
В случае промаха при обращении к
кэш-памяти, обращение к основной
памяти осуществляется с помощью
64-битовой высокопроизводительной
шины, подобной шине
микропроцессора MC88110. Для
максимизации пропускной
способности и, как следствие,
увеличения общей
производительности кэш-память
взаимодействует с основной памятью
главным образом посредством
групповых операций, которые
позволяют заполнить строку
кэш-памяти за одну транзакцию.
После окончания выполнения
команды в исполнительном
устройстве ее результаты
направляются в буфер завершения
команд (completion buffer) и затем
последовательно записываются в
соответствующий регистровый файл
по мере изъятия команд из буфера
завершения. Для минимизации
конфликтов по регистрам, в
процессоре PowerPC 603 предусмотрены
отдельные наборы из 32
целочисленных регистров общего
назначения и 32 регистров плавающей
точки.
PowerPC 604
Суперскалярный процессор PowerPC 604
обеспечивает одновременную выдачу
до четырех команд. При этом
параллельно в каждом такте может
завершаться выполнение до шести
команд. На рисунке 6.20 представлена
блок-схема процессора 604. Процессор
включает шесть исполнительных
устройств, которые могут работать
параллельно:
- устройство плавающей точки (FPU);
- устройство выполнения
переходов (BPU);
- устройство загрузки/записи (LSU);
- три целочисленных устройства
(IU):
- два однотактных целочисленных
устройства (SCIU);
- одно многотактное
целочисленное устройство (MCIU).
Такая параллельная конструкция в
сочетании со спецификацией команд
PowerPC, допускающей реализацию
ускоренного выполнения команд,
обеспечивает высокую
эффективность и большую пропускную
способность процессора.
Применяемые в процессоре 604 буфера
переименования регистров, буферные
станции резервирования,
динамическое прогнозирование
направления условных переходов и
устройство завершения выполнения
команд существенно увеличивают
пропускную способность системы,
гарантируют завершение выполнения
команд в порядке, предписанном
программой, и обеспечивают
реализацию модели точного
прерывания.
В процессоре 604 имеются отдельные
устройства управления памятью и
отдельные по 16 Кбайт внутренние
кэши для команд и данных. В нем
реализованы два буфера
преобразования виртуальных
адресов в физические TLB (отдельно
для команд и для данных), содержащие
по 128 строк. Оба буфера являются
двухканальными
множественно-ассоциативными и
обеспечивают переменный размер
страниц виртуальной памяти.
Кэш-памяти и буфера TLB используют
для замещения блоков алгоритм LRU.
Рис. 6.20. Блок-схема
процессора Power PC 604
Процессор 604 имеет 64-битовую
внешнюю шину данных и 32-битовую
шину адреса. Интерфейсный протокол
процессора 604 позволяет нескольким
главным устройствам шины
конкурировать за системные ресурсы
при наличии централизованного
внешнего арбитра. Кроме того,
внутренние логические схемы
наблюдения за шиной поддерживают
когерентность кэш-памяти в
мультипроцессорных конфигурациях.
Процессор 604 обеспечивает как
одиночные, так и групповые
пересылки данных при обращении к
основной памяти.
PowerPC 620
К концу 1995 года ожидается
появление нового процессора PowerPC 620.
В отличие от своих
предшественников это будет
полностью 64-битовый процессор. При
работе на тактовой частоте 133 МГц
его производительность
оценивается в 225 единиц SPECint92 и 300
единиц SPECfp92, что соответственно на
40 и 100% больше показателей
процессора PowerPC 604.
Подобно другим 64-битовым
процессорам, PowerPC 620 содержит
64-битовые регистры общего
назначения и плавающей точки и
обеспечивает формирование
64-битовых виртуальных адресов. При
этом сохраняется совместимость с
32-битовым режимом работы,
реализованным в других моделях
семейства PowerPC.
В процессоре имеется кэш-память
данных и команд общей емкостью 64
Кбайт, интерфейсные схемы
управления кэш-памятью второго
уровня, 128-битовая шина данных между
процессором и основной памятью, а
также логические схемы поддержания
когерентного состояния памяти при
организации многопроцессорной
системы.
Процессор PowerPC 620 нацелен на рынок
высокопроизводительных рабочих
станций и серверов.
В заключении отметим, что в
иллюстрациях к курсу приведены
основные характеристики некоторых
современных систем, построенных на
рассмотренных в данном разделе
процессорах.
[Предыдущая глава]
[Оглавление] [Следующая
глава]
|