Особенности архитектуры PA-RISK компании Hewlett-Packard
Особенности архитектуры PA-RISK компании Hewlett-Packard
| |
| |
|ХАРАКТЕРИСТИКА СУЩЕСТВУЮЩИХ АРХИТЕКТУР |
| |
|1.1 Основные отличия CISC и RISC архитектур |
|Двумя основными архитектурами набора команд, используемыми компьютерной |
|промышленностью на современном этапе развития вычислительной техники (в |
|соответствии с [2]) являются архитектуры CISC и RISC. Основоположником |
|CISC-архитектуры можно считать компанию IBM с ее базовой архитектурой /360, |
|ядро которой используется с 1964 года и дошло до наших дней, например, в таких |
|современных мейнфреймах как IBM ES/9000.Лидером в разработке микропроцессоров c|
|полным набором команд (CISC - Complete Instruction Set Computer) считается |
|компания Intel со своей серией x86 и Pentium. Эта архитектура является |
|практическим стандартом для рынка микрокомпьютеров. Для CISC-процессоров |
|характерно: сравнительно небольшое число регистров общего назначения; большое |
|количество машинных команд, некоторые из которых нагружены семантически |
|аналогично операторам высокоуровневых языков программирования и выполняются за |
|много тактов; большое количество методов адресации; большое количество форматов|
|команд различной разрядности; преобладание двухадресного формата команд; |
|наличие команд обработки типа регистр-память. |
|Основой архитектуры современных рабочих станций и серверов является архитектура|
|компьютера с сокращенным набором команд (RISC - Reduced Instruction Set |
|Computer). Зачатки этой архитектуры уходят своими корнями к компьютерам |
|CDC6600, разработчики которых (Торнтон, Крэй и др.) осознали важность упрощения|
|набора команд для построения быстрых вычислительных машин. Эту традицию |
|упрощения архитектуры С. Крэй с успехом применил при создании широко известной |
|серии суперкомпьютеров компании Cray Research. Однако окончательно понятие RISC|
|в современном его понимании сформировалось на базе трех исследовательских |
|проектов компьютеров: процессора 801 компании IBM, процессора RISC университета|
|Беркли и процессора MIPS Стенфордского университета. |
|Среди других особенностей RISC-архитектур следует отметить наличие достаточно |
|большого регистрового файла (в типовых RISC-процессорах реализуются 32 или |
|большее число регистров по сравнению с 8 - 16 регистрами в CISC-архитектурах), |
|что позволяет большему объему данных храниться в регистрах на процессорном |
|кристалле большее время и упрощает работу компилятора по распределению |
|регистров под переменные. |
| | | | | | |Лис|
| | | | | |**** 7.0915.01.08 ПЗКП |т |
| | | | | | | |
|И|Ли|№ докум.|Подп. |Дат| | |
|з|ст| | |а | | |
|м| | | | | | |
| |
|Для обработки, как правило, используются трехадресные команды, что помимо |
|упрощения дешифрации дает возможность сохранять большее число переменных в |
|регистрах без их последующей перезагрузки. |
|Развитие архитектуры RISC в значительной степени определялось прогрессом в |
|области создания оптимизирующих компиляторов. Именно современная техника |
|компиляции позволяет эффективно использовать преимущества большего регистрового|
|файла, конвейерной организации и большей скорости выполнения команд. |
|Современные компиляторы используют также преимущества другой оптимизационной |
|техники для повышения производительности, обычно применяемой в процессорах |
|RISC: реализацию задержанных переходов и суперскалярной обработки, позволяющей |
|в один и тот же момент времени выдавать на выполнение несколько команд. |
|Следует отметить, что в последних разработках компании Intel (имеются в виду |
|Pentium и Pentium Pro), а также ее последователей-конкурентов (AMD R5, Cyrix |
|M1, NexGen Nx586 и др.) широко используются идеи, реализованные в |
|RISC-микропроцессорах, так что многие различия между CISC и RISC стираются. |
|Однако сложность архитектуры и системы команд x86 остается и является главным |
|фактором, ограничивающим производительность процессоров на ее основе. |
| | | | | | |Лис|
| | | | | |**** 7.0915.01.08 ПЗКП |т |
| | | | | | | |
|И|Ли|№ докум.|Подп. |Дат| | |
|з|ст| | |а | | |
|м| | | | | | |
| |
| |
|Преимущества и недостатки архитектуры PA-RISC |
|компании Hewlett Packard |
| |
|Основой разработки современных изделий Hewlett-Packard является архитектура |
|PA-RISC. Она была разработана компанией в 1986 году и с тех пор прошла |
|несколько стадий своего развития благодаря успехам интегральной технологии от |
|многокристального до однокристального исполнения. В сентябре 1992 года компания|
|Hewlett-Packard объявила о создании своего суперскалярного процессора PA-7100, |
|который с тех пор стал основой построения семейства рабочих станций HP 9000 |
|Series 700 и семейства бизнес-серверов HP 9000 Series 800. В настоящее время |
|имеются 33-, 50- и 99 МГц реализации кристалла PA-7100. Кроме того выпущены |
|модифицированные, улучшенные по многим параметрам кристаллы PA-7100LC с |
|тактовой частотой 64, 80 и 100 МГц, и PA-7150 с тактовой частотой 125 МГц, а |
|также PA-7200 с тактовой частотой 90 и 100 МГц. Компания активно разрабатывает |
|процессор следующего поколения HP 8000, которые будет работать с тактовой |
|частотой 200 МГц и обеспечивать уровень 360 единиц SPECint92 и 550 единиц |
|SPECfp92. Появление этого кристалла ожидается в 1996 году. Кроме того, |
|Hewlett-Packard в сотрудничестве с Intel планируют создать новый процессор с |
|очень длинным командным словом (VLIW-архитектура), который будет совместим как |
|с семейством Intel x86, так и семейством PA-RISC. Выпуск этого процессора |
|планируется на 1998 год. |
| |
|1.3 Характеристика процессоров на основе архитектуры PA-RISC |
| |
|1.3.1 Характеристика и особенности процессора PA 7100 |
| |
|Особенностью архитектуры PA-RISC является внекристальная реализация кэша, что |
|позволяет реализовать различные объемы кэш-памяти и оптимизировать конструкцию |
|в зависимости от условий применения (рисунок 1.3.1). Хранение команд и данных |
|осуществляется в раздельных кэшах, причем процессор соединяется с ними с |
|помощью высокоскоростных 64-битовых шин. Кэш-память реализуется на |
|высокоскоростных кристаллах статической памяти (SRAM), синхронизация которых |
|осуществляется непосредственно на тактовой частоте процессора. При тактовой |
|частоте 100 МГц каждый кэш имеет полосу пропускания 800 Мбайт/с при выполнении |
|операций считывания и 400 Мбайт/с при выполнении операций записи. |
|Микропроцессор аппаратно поддерживает различный объем кэш-памяти: кэш команд |
|может иметь объем от 4 Кбайт до 1 Мбайт, кэш данных - от 4 Кбайт до 2 Мбайт. |
| | | | | | |Лис|
| | | | | |**** 7.0915.01.08 ПЗКП |т |
| | | | | | | |
|И|Ли|№ докум.|Подп. |Дат| | |
|з|ст| | |а | | |
|м| | | | | | |
| |
| |
|Чтобы снизить коэффициент промахов применяется механизм хеширования адреса. В |
|обоих кэшах для повышения надежности применяются дополнительные контрольные |
|разряды, причем ошибки кэша команд корректируются аппаратными средствами. |
| |
|[pic] |
| |
| |
|рис.1.3.1 Блок-схема процессора PA 7100 |
| |
|Процессор подсоединяется к памяти и подсистеме ввода/вывода посредством |
|синхронной шины. Процессор может работать с тремя разными отношениями |
|внутренней и внешней тактовой частоты в зависимости от частоты внешней шины: |
|1:1, 3:2 и 2:1. Это позволяет использовать в системах разные по скорости |
|микросхемы памяти. |
|Конструктивно на кристалле PA-7100 размещены: целочисленный процессор, |
|процессор для обработки чисел с плавающей точкой, устройство управления кэшем, |
|унифицированный буфер TLB, устройство управления, а также ряд интерфейсных |
|схем. Целочисленный процессор включает АЛУ, устройство сдвига, сумматор команд |
|перехода, схемы проверки кодов условий, схемы обхода, универсальный регистровый|
|файл, регистры |
| | | | | | |Лис|
| | | | | |**** 7.0915.01.08 ПЗКП |т |
| | | | | | | |
|И|Ли|№ докум.|Подп. |Дат| | |
|з|ст| | |а | | |
|м| | | | | | |
| |
| |
|управления и регистры адресного конвейера. Устройство управления кэш-памятью |
|содержит регистры, обеспечивающие перезагрузку кэш-памяти при возникновении |
|промахов и контроль когерентного состояния памяти. Это устройство содержит |
|также адресные регистры сегментов, буфер преобразования адреса TLB и аппаратуру|
|хеширования, управляющую перезагрузкой TLB. В состав процессора плавающей точки|
|входят устройство умножения, арифметико-логическое устройство, устройство |
|деления и извлечения квадратного корня, регистровый файл и схемы "закоротки" |
|результата. Интерфейсные устройства включают все необходимые схемы для связи с |
|кэш-памятью команд и данных, а также с шиной данных. Обобщенный буфер TLB |
|содержит 120 строк ассоциативной памяти фиксированного размера и 16 строк |
|переменного размера. |
|Устройство плавающей точки реализует арифметику с одинарной и двойной точностью|
|в стандарте IEEE 754. Его устройство умножения используется также для |
|выполнения операций целочисленного умножения. Устройства деления и вычисления |
|квадратного корня работают с удвоенной частотой процессора. |
|Арифметико-логическое устройство выполняет операции сложения, вычитания и |
|преобразования форматов данных. Регистровый файл состоит из 28 64-битовых |
|регистров, каждый из которых может использоваться как два 32-битовых регистра |
|для выполнения операций с плавающей точкой одинарной точности. Регистровый файл|
|имеет пять портов чтения и три порта записи, которые обеспечивают одновременное|
|выполнение операций умножения, сложения и загрузки/записи. |
|Конвейер проектировался с целью максимального увеличения времени, необходимого |
|для выполнения чтения внешних кристаллов SRAM кэш-памяти данных. Это позволяет |
|максимизировать частоту процессора при заданной скорости SRAM. Все команды |
|загрузки (LOAD) выполняются за один такт и требуют только одного такта полосы |
|пропускания кэш-памяти данных. Поскольку кэши команд и данных размещены на |
|разных шинах, в конвейере отсутствуют какие-либо потери, связанные с |
|конфликтами по обращениям в кэш данных и кэш команд. |
|Процессор может в каждом такте выдавать на выполнение одну целочисленную |
|команду и одну команду плавающей точки. Полоса пропускания кэша команд |
|достаточна для поддержания непрерывной выдачи двух команд в каждом такте. |
|Отсутствуют какие-либо ограничения по выравниванию или порядку следования пары |
|команд, которые выполняются вместе. Кроме того, отсутствуют потери тактов, |
|связанных с переключением с выполнения двух команд на выполнение одной команды.|
| |
| | | | | | |Лис|
| | | | | |**** 7.0915.01.08 ПЗКП |т |
| | | | | | | |
|И|Ли|№ докум.|Подп. |Дат| | |
|з|ст| | |а | | |
|м| | | | | | |
| |
| |
|Специальное внимание было уделено тому, чтобы выдача двух команд в одном такте |
|не приводила к ограничению тактовой частоты. Чтобы добиться этого, в кэше |
|команд был реализован специально предназначенный для этого заранее декодируемый|
|бит, чтобы отделить команды целочисленного устройства от команд устройства |
|плавающей точки. Этот бит предварительного декодирования команд минимизирует |
|время, необходимое для правильного разделения команд. |
| |
|Потери, связанные с зависимостями по данным и управлению, в этом конвейере |
|минимальны. Команды загрузки выполняются за один такт, за исключением случая, |
|когда последующая команда пользуется регистром-приемником команды LOAD. Как |
|правило компилятор позволяет обойти подобные потери одного такта. Для |
|уменьшения потерь, связанных с командами условного перехода, в процессоре |
|используется алгоритм прогнозирования направления передачи управления. Для |
|оптимизации производительности циклов передачи управления вперед по программе |
|прогнозируются как невыполняемые переходы, а передачи управления назад по |
|программе - как выполняемые переходы. Правильно спрогнозированные условные |
|переходы выполняются за один такт. |
|Количество тактов, необходимое для записи слова или двойного слова командой |
|STORE уменьшено с трех до двух тактов. В более ранних реализациях архитектуры |
|PA-RISC был необходим один дополнительный такт для чтения тега кэша, чтобы |
|гарантировать попадание, а также для того, чтобы объединить старые данные |
|строки кэш-памяти данных с записываемыми данными. PA 7100 использует отдельную |
|шину адресного тега, чтобы совместить по времени чтение тега с записью данных |
|предыдущей команды STORE. Кроме того, наличие отдельных сигналов разрешения |
|записи для каждого слова строки кэш-памяти устраняет необходимость объединения |
|старых данных с новыми, поступающими при выполнении команд записи слова или |
|двойного слова. Этот алгоритм требует, чтобы запись в микросхемы SRAM |
|происходила только после того, когда будет определено, что данная запись |
|сопровождается попаданием в кэш и не вызывает прерывания. Это требует |
|дополнительной ступени конвейера между чтением тега и записью данных. Такая |
|конвейеризация не приводит к дополнительным потерям тактов, поскольку в |
|процессоре реализованы специальные цепи обхода, позволяющие направить |
|отложенные данные команды записи последующим командам загрузки или командам |
|STORE, записывающим только часть слова. Для данного процессора потери конвейера|
|для команд записи слова или двойного слова сведены к нулю, если непосредственно|
|последующая |
| | | | | | |Лис|
| | | | | |**** 7.0915.01.08 ПЗКП |т |
| | | | | | | |
Страницы: 1, 2, 3
|