Особенности архитектуры PA-RISK компании Hewlett-Packard
раллельно одну целочисленную команду и одну команду|
|с плавающей точкой. При этом "целочисленными командами" считаются и команды |
|загрузки и записи регистров плавающей точки, а "команды плавающей точки" |
|включают команды 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, главными из которых являются
| | скачать работу |
Особенности архитектуры PA-RISK компании Hewlett-Packard |