Особенности архитектуры PA-RISK компании Hewlett-Packard
единяется к памяти и подсистеме ввода/вывода посредством |
|синхронной шины. Процессор может работать с тремя разными отношениями |
|внутренней и внешней тактовой частоты в зависимости от частоты внешней шины: |
|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 ПЗКП |т |
| | | | | | | |
|И|Ли|№ докум.|Подп. |Дат| | |
|з|ст| | |а | | |
|м| | | | | | |
| |
| |
|команда не является командой загрузки или записи. В противном случае потери |
|равны одному такту. Потери на запись части слова могут составлять от нуля до |
|двух тактов. Моделирование показывает, что подавляющее большинство команд |
|записи в действительности работают с однословным или двухсловным форматом. |
|Все операции с плавающей точкой, за исключением команд деления и вычисления |
|квадратного корня, полностью конвейеризованы и имеют двухтактную задержку |
|выполнения как в режиме с одинарной, так и с двойной точностью. Процессор может|
|выдавать на выполнение независимые команды с плавающей точкой в каждом такте |
|при отсутствии каких-либо потерь. Последовательные операции с зависимостями по |
|регистрам приводят к потере одного такта. Команды деления и вычисления |
|квадратного корня выполняются за 8 тактов при одиночной и за 15 тактов при |
|двойной точности. Выполнение команд не останавливается из-за команд |
|деления/вычисления квадратного корня до тех пор, пока не потребуется регистр |
|результата или не будет выдаваться следующая команда деления/вычисления |
|квадратного корня. |
|Процессор может выполнять па
| | скачать работу |
Особенности архитектуры PA-RISK компании Hewlett-Packard |