Особенности архитектуры PA-RISK компании Hewlett-Packard
|И|Ли|№ докум.|Подп. |Дат| | |
|з|ст| | |а | | |
|м| | | | | | |
| |
| |
|команда не является командой загрузки или записи. В противном случае потери |
|равны одному такту. Потери на запись части слова могут составлять от нуля до |
|двух тактов. Моделирование показывает, что подавляющее большинство команд |
|записи в действительности работают с однословным или двухсловным форматом. |
|Все операции с плавающей точкой, за исключением команд деления и вычисления |
|квадратного корня, полностью конвейеризованы и имеют двухтактную задержку |
|выполнения как в режиме с одинарной, так и с двойной точностью. Процессор может|
|выдавать на выполнение независимые команды с плавающей точкой в каждом такте |
|при отсутствии каких-либо потерь. Последовательные операции с зависимостями по |
|регистрам приводят к потере одного такта. Команды деления и вычисления |
|квадратного корня выполняются за 8 тактов при одиночной и за 15 тактов при |
|двойной точности. Выполнение команд не останавливается из-за команд |
|деления/вычисления квадратного корня до тех пор, пока не потребуется регистр |
|результата или не будет выдаваться следующая команда деления/вычисления |
|квадратного корня. |
|Процессор может выполнять параллельно одну целочисленную команду и одну команду|
|с плавающей точкой. При этом "целочисленными командами" считаются и команды |
|загрузки и записи регистров плавающей точки, а "команды плавающей точки" |
|включают команды FMPYADD и FMPYSUB. Эти последние команды объединяют операцию |
|умножения с операциями сложения или вычитания соответственно, которые |
|выполняются параллельно. Пиковая производительность составляет 200 MFLOPS для |
|последовательности команд FMPYADD, в которых смежные команды независимы по |
|регистрам. |
|Потери для операций плавающей точки, использующих предварительную загрузку |
|операнда командой LOAD, составляют один такт, если команды загрузки и плавающей|
|арифметики являются смежными, и два такта, если они выдаются для выполнения |
|одновременно. Для команды записи, использующей результат операции с плавающей |
|точкой, потери отсутствуют, даже если они выполняются параллельно. |
|Потери, возникающие при промахах в кэше данных, минимизируются посредством |
|применения четырех разных методов: "попадание при промахе" для команд LOAD и |
|STORE, потоковый режим работы с кэшем данных, специальная кодировка команд |
|записи, позволяющая избежать копирования строки, в которой произошел промах, и |
|семафорные операции в кэш-памяти. Первое свойство позволяет во время обработки |
|промаха в кэше данных выполнять любые типы других команд. Для |
| | | | | | |Лис|
| | | | | |**** 7.0915.01.08 ПЗКП |т |
| | | | | | | |
|И|Ли|№ докум.|Подп. |Дат| | |
|з|ст| | |а | | |
|м| | | | | | |
| |
| |
|промахов, возникающих при выполнении команды LOAD, обработка последующих команд|
|может продолжаться до тех пор, пока регистр результата команды LOAD не |
|потребуется в качестве регистра операнда для другой команды. Компилятор может |
|использовать это свойство для предварительной выборки в кэш необходимых данных |
|задолго до того момента, когда они действительно потребуются. Для промахов, |
|возникающих при выполнении команды STORE, обработка последующих команд загрузки|
|или операций записи в части одного слова продолжается до тех пор, пока не |
|возникает обращений к строке, в которой произошел промах. Компилятор может |
|использовать это свойство для выполнения команд на фоне записи результатов |
|предыдущих вычислений. Во время задержки, связанной с обработкой промаха, |
|другие команды LOAD и STORE, для которых происходит попадание в кэш данных, |
|могут выполняться как и другие команды целочисленной арифметики и плавающей |
|точки. В течение всего времени обработки промаха команды STORE, другие команды |
|записи в ту же строку кэш-памяти могут происходить без дополнительных потерь |
|времени. Для каждого слова в строке кэш-памяти процессор имеет специальный |
|индикационный бит, предотвращающий копирование из памяти тех слов строки, |
|которые были записаны командами STORE. Эта возможность применяется к |
|целочисленным и плавающим операциям LOAD и STORE. |
|Выполнение команд останавливается, когда регистр-приемник команды LOAD, |
|выполняющейся с промахом, требуется в качестве операнда другой команды. |
|Свойство "потоковости" позволяет продолжить выполнение как только нужное слово |
|или двойное слово возвращается из памяти. Таким образом, выполнение команд |
|может продолжаться как во время задержки, связанной с обработкой промаха, так и|
|во время заполнения соответствующей строки при промахе. |
|При выполнении блочного копирования данных в ряде случаев компилятор заранее |
|знает, что запись должна осуществляться в полную строку кэш-памяти. Для |
|оптимизации обработки таких ситуаций архитектура PA-RISC 1.1 определяет |
|специальную кодировку команд записи ("блочное копирование"), которая |
|показывает, что аппаратуре не нужно осуществлять выборку из памяти строки, при |
|обращении к которой может произойти промах кэш-памяти. В этом случае время |
|обращения к кэшу данных складывается из времени, которое требуется для |
|копирования в память старой строки кэш-памяти по тому же адресу в кэше (если он|
|"грязный") и времени, необходимого для записи нового тега кэша. В процессоре PA|
|7100 такая возможность реализована как для привилегированных, так и для |
|непривилегированных команд. |
| | | | | | |Лис|
| | | | | |**** 7.0915.01.08 ПЗКП |т |
| | | | | | | |
|И|Ли|№ докум.|Подп. |Дат| | |
|з|ст| | |а | | |
|м| | | | | | |
| |
| |
|Последнее улучшение управления кэшем данных связано с реализацией семафорных |
|операций "загрузки с обнулением" непосредственно в кэш-памяти. Если семафорная |
|операция выполняется в кэше, то потери времени при ее выполнении не превышают |
|потерь обычных операций записи. Это не только сокращает конвейерные потери, но |
|и снижает трафик шины памяти. В архитектуре PA-RISC 1.1 предусмотрен также |
|другой тип специального кодирования команд, который устраняет требование |
|синхронизации семафорных операций с устройствами ввода/вывода. |
|Управление кэш-памятью команд позволяет при промахе продолжить выполнение |
|команд сразу же после поступления отсутствующей в кэше команды из памяти. |
|64-битовая магистраль данных, используемая для заполнения блоков кэша команд, |
|соответствует максимальной полосе пропускания внешней шины памяти 400 Мбайт/с |
|при тактовой частоте 100 МГц. |
|В процессоре предусмотрен также ряд мер по минимизации потерь, связанных с |
|преобразованиями виртуальных адресов в физические. |
|Конструкция процессора обеспечивает реализацию двух способов построения |
|многопроцессорных систем. При первом способе каждый процессор подсоединяется к |
|интерфейсному кристаллу, который наблюдает за всеми транзакциями на шине |
|основной памяти. В такой системе все функции по поддержанию когерентного |
|состояния кэш-памяти возложены на интерфейсный кристалл, который посылает |
|процессору соответствующие транзакции. Кэш данных построен на принципах |
|отложенного обратного копирования и для каждого блока кэш-памяти поддерживаются|
|биты состояния "частный" (private), "грязный" (dirty) и "достоверный" (valid), |
|значения которых меняются в соответствии с транзакциями, которые выдает или |
|принимает процессор. |
|Второй способ организации многопроцессорной системы позволяет объединить два |
|процессора и контроллер памяти и ввода-вывода на одной и той же локальной шине |
|памяти. В такой конфигурации не требуется дополнительных интерфейсных |
|кристаллов и она совместима с существующей системой памяти. Когерентность |
|кэш-памяти обеспечивается наблюдением за локальной шиной памяти. Пересылки |
|строк между кэшами выполняются без участия контроллера памяти и ввода-вывода. |
|Такая конфигурация обеспечивает возможность построения очень дешевых |
|высокопроизводительных многопроцессорных систем. |
|Процессор поддерживает ряд операций, необходимых для улучшения |
| | | | | | |Лис|
| | | | | |**** 7.0915.01.08 ПЗКП |т |
| | | | | | | |
|И|Ли|№ докум.|Подп. |Дат| | |
|з|ст| | |а | | |
|м| | | | | | |
| |
| |
|графической производительности рабочих станций серии 700: блочные пересылки, |
|Z-буферизацию, интерполяцию цветов и команды пересылки данных с плавающей |
|точкой для обмена с пространством ввода/вывода. |
|Процессор построен на базе технологического процесса КМОП с проектными нормами |
|0.8 микрон, что обеспечивает тактовую частоту 100 МГц. |
| |
|1.3.2 Характеристика и особенности процессора PA 7200 |
| |
|Процессор PA 7200 имеет ряд архитектурных усовершенствований по сравнению с PA |
|7100, главными из которых являются добавление второго целочисленного конвейера,|
|построение внутрикристального вспомогательного кэша данных и реализация нового |
|64-битового интерфейса с шиной памяти. |
|Процессор PA 7200, как и его предшественник, обеспечивает суперскалярный режим |
|работы с одновременной выдачей до двух команд в одном такте. Все команды |
|процессора можно разделить на три группы: целочисленные операции, операции |
|загрузки/записи и операции с плавающей точкой. PA 7200 осуществляет |
|одновременную выдачу двух команд, принадлежащим разным группам, или двух |
|целочисленных команд (благодаря наличию второго целочисленного конвейера с АЛУ |
|и дополнительных портов чтения и записи в регистровом файле). Команды перехода |
|выполняются в целочисленном конвейере, причем эти переходы могут составлять |
|пару для одновременной выдачи на выполнение только с предшествующей командой. |
|Повышение тактовой частоты процессора требует упрощения декодирования команд на|
|этапе выдачи. С этой целью предварительная дешифрация потока команд |
|осуществляется еще на этапе загрузки кэш-памяти. Для каждого двойного слова |
|кэш-память команд включает 6 дополнительных бит, которые содержат информацию о |
|наличии зависимостей по данным и конфликтов ресурсов, что существенно упрощает |
|выдачу команд в суперскалярном режиме. |
|В процессоре PA 7200 реализован эффективный алгоритм предварительной выборки |
|команд, хорошо работающий и на линейных участках программ. |
|Как и в PA 7100 в процессоре реализован интерфейс с внешней кэш-памятью данных,|
|работающей на тактовой частоте процессора с |
| | | | | | |Лис|
| | | | | |**** 7.0915.01.08 ПЗКП |т |
| | | | | | | |
|И|Ли|№ докум.|Подп. |Дат| | |
|з|ст| | |а | | |
|м| | | | | | |
| |
| |
|однотактным временем ожидания. Внешняя кэш-память данных построена по принципу |
|прямого отображения. Кроме того, для повышения эффективности на кристалле |
|процессора реализован небольшой вспомогательный кэш емкостью в 64 строки. |
|Формирование, преобразование адреса и обращение к основной и вспомогательной |
|кэш-памяти данных выполняется на двух ступенях конвейера. Максимальная задержка|
|при обнаружении попадания равна одному такту. |
|Вспомогательный внутренний кэш содержит 64 32-байтовые строки. При обращении к |
|кэш-памяти осуществляется проверка 65 тегов: 64-х тегов вспомогательного кэша и|
|одного тега внешнего кэша данных. При обнаружении совпадения данные |
|направляются в требуемое функциональное устройство. |
|При отсутствии необходимой строки в кэш-памяти производится ее загрузка из |
|основной памяти. При этом строка поступает во вспомогательный кэш, что в ряде |
|случаев позволяет сократить количество перезагрузок внешней кэш-памяти, |
|организованной по принципу прямого отображения. Архитектурой нового процессора |
|для команд загрузки/записи предусмотрено кодирование специального признака |
|локального размещения данных ("spatial locality only"). При выполнении команд |
|загрузки, помеченных этим признаком, происходит обычное заполнение строки |
|вспомогательного кэша. Однако последующая запись строки осуществляется |
|непосредственно в основную память минуя внешний кэш данных, что значительно |
|повышает эффективность работы с большими массивами данных, для которых размера |
|строки кэш-памяти с прямым отображением оказывается недостаточно. |
|Расширенный набор команд процессора позволяет реализовать средства |
|автоиндексации для повышения эффективности работы с массивами, а также |
|осуществлять предварительную выборку команд, которые помещаются во |
|вспомогательный внутренний кэш. Этот вспомогательный кэш обеспечивает |
|динамическое расширение степени ассоциативности основной кэш-памяти, |
|построенной на принципе прямого отображения, и является более простым |
|альтернативным решением по сравнению с множественно-ассоциативной организацией.|
| |
|Процессор PA 7200 включает интерфейс новой 64-битовой мультиплексной системной |
|шины Runway, реализующей расщепление транзакций и поддержку протокола |
|когерентности памяти. Этот интерфейс включает буфера транзакций, схемы |
|арбитража и схемы управления соотношениями внешних и внутренних тактовых |
|частот. |
| | | | | | |Лис|
| | | | | |**** 7.0915.01.08 ПЗКП |т |
| | | | | | | |
|И|Ли|№ докум.|Подп. |Дат| | |
|з|ст| | |а | | |
|м| | | | | | |
| |
| |
|1.3.3 Характеристика суперскалярного процессора PA 8000 |
| |
|Процессор PA-8000 был анонсирован в марте 1995 года на конференции COMPCON 95. |
|Было объявлено, что показатели его производительности будут достигать 8.6 |
|единиц SPECint95 и 15 единиц SPECfp95 для операций целочисленной и вещественной|
|арифметики соответственно. В настоящее время этот очень высокий уровень |
|производительности подтвержден испытаниями рабочих станций и серверов, |
|построенных на базе этого процессора. |
|Процессор PA-8000 вобрал в себя все известные методы ускорения выполнения |
|команд. В его основе лежит концепция "интеллектуального выполнения", которая |
|базируется на принципе внеочередного выполнения команд. Это свойство позволяет |
|PA-8000 достигать пиковой суперскалярной производительности благодаря широкому |
Страницы: 1, 2, 3
|