Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Электроника и микропроцессорная техника.doc
Скачиваний:
21
Добавлен:
21.11.2018
Размер:
1.24 Mб
Скачать

1.4. Микропроцессоры фирмы Hewlett - Packard

Фирма Hewlett-Packard еще в 1986 г. перешла на RISC-архитектуру, разработав процессоры семейства PA-RISC (PА - Precision Architecture - прецизион­ная архитектура). В настоящее время она производит уже четвертое семейство своих RISC-процессоров. Базовой моделью семейства стал процессор 7100 (1992 г.), изготовленный на кристалле площадью 200 мм2 по 0,8-мкм технологии. Он допускал параллельное выполнение двух команд с плавающей запятой, имел хорошо продуманную систему управления конвейерами, практически исключающую их простой, и работал на частоте 100 МГц.

Последовавший за ним PA-7100LС стал первым микропроцессором с интегрированными средствами мультимедиа. Он способен в реальном масштабе времени декодировать видеосигнал со скоростью 30 кадров в секунду в масштабе MPEG-1, одновременно поддерживая стереозвук. Появившиеся позже процессоры РА-7150 и РА-7200 в целом близки к РА-7100, но по сравнению с последним в них приняты меры для повышения производительности: в первом - тактовая частота увеличена до 125 МГц а во втором использованы оригинальные разработки по повышению производительности кэш-памяти второго уровня.

Процессоры следующего поколения РА-8000 и РА-8200 относятся к 64-разрядным структурам и допускают параллельное выполнение до четырех команд. Они выпол­нены они по 0,5 мкм и 0,35 мкм технологии соответственно и функ­ционируют на частоте 200 МГц и выше.

За один такт процессор РА-8200 может выполнять до четырех команд, выбранных из динамически nеpеупорядочиваемого буфера объемом до 56 команд.

Структура процессора содержит десять исполнительных устройств, которые разбиты по парам и допускают параллельное выполнение команд в них. Это – два целочисленных устройства, два устройства для операций с плавающей запятой и по два устройства деления/извлечения корня, загрузки/сохранения и сдвига/совмещения. В процессоре нет внутренней кэш-памяти первого уровня. Ее отсутствие компенсируется наличием 128-разрядного интерфейса для внешней кэш-памяти первого уровня, объем которой может достигать 4 Мбайт. В качестве системной используется шина Runway. Она применялась в ранних моделях PA-RISC и характеризуется пропускной способностью 768 Мбайт/с.

Фирма НР совместно с Intel планирует к выпуску в 2000 г. опытного процессора Merced. Он призван развить новую концепцию микропроцессоров с архитектурой VLIW (Very Long Instruction Word - очень длинные инструкции), в противовес бурно развивающимся RISC-процессорам с простыми и короткими инструкциями.

Использование этой архитектуры вызвано следующим. Многие современ­ные процессоры (Р6, Nx586, K6 и т.д.) содержат в своем составе устройства, преобразующие длинные и нерегулярные команды х86 в короткие и регулярные RISC-команды, которые затем с большой скоростью "перемалываются" ядром процессора.

Этот процессор будет запущен в серийное производство на фирме Intel и изготавливаться по 0,18 мкм технологии. Он станет первым процессором семейства IA-64 (аббревиатура от Intel 64-bit architecture). Которая воплощает концепцию EPIC (Explicitly Parallel Instruction Computing - вычисления с явным параллелизмом команд). Основными достоинствами данной концепции являются:

- распараллеливанием потока команд занимается компилятор, а не процессор, при этом компилятор способен провести анализ по всей программе, в то время как процессор может анализировать лишь небольшие ее участки. Такое положение усложняет архитектуру компилятора, а значит, может привести к увеличению числа ошибок при компилировании команд программы;

- процессор не тратит свое время на анализ потока команд;

- при многократном запуске некоторой программы ее распараллеливание осуществляется всего один раз (при компиляции), а не каждый раз, когда она исполняется на процессоре.

Главными конструктивно-технологическими особенностями IA-64 являются:

1) Наличие большого числа регистров для хранения информации (128 64-разрядных регистров общего назначения, 128 80-разрядных регистров вещественной арифметики и 64 одноразрядных предикатных регистров);

2) Масштабируемость архитектуры до большего количества функциональных устройств. Команды IA-64 упаковываются (группируются) компилятором в связку длиной в 128 разрядов. Каждая связка содержит три команды и шаблон, в котором указываются зависимости выполнения команд: можно ли с командой к1 запустить параллельно к2, или же к2 должна выполняться только после к1), а также между другими связками (можно ли с командой к3 из связки с1 запустить параллельно команду к4 из связки с2). Ниже представлены все возможные варианты составления связки их трех команд:

i1  i2  i3 - все команды исполняются параллельно,

i1& i2  i3 - сначала i1, а затем исполняются параллельно i2  i3,

i1  i2 & i3 - параллельно исполняются i1  i2, после них - i3,

i1 & i2 & i3 - последовательно исполняются i1, i2, i3.

Одна такая связка, состоящая из трех команд, соответствует набору из трех функциональных устройств процессора. IA-64 могут содержать разное количество блоков, оставаясь при этом совместимыми по коду. Благодаря шаблону процессору с N одинаковыми блоками из трех функциональных устройств будет соответствовать командное слово из N связок. Таким образом обеспечивается масштабируемость IA-64.

3) Явный параллелизм в машинном коде, при котором поиск зависимостей между командами производит не процессор, а компилятор,

4) Предикация, при которой команды из разных ветвей условного ветвления снабжаются предикатными полями (полями условий) и запускаются параллельно. Если в программе встречается условное ветвление, то команды из разных ветвей помечаются разными предикатными регистрами, далее они выполняются совместно, но их результаты не записываются, пока значения предикатных регистров не определены. Когда же, наконец, вычисляется условное ветвление, то один предикатный регистр, соответствующий “правильной” ветви, устанавливается в “1”, а другой - в “0”. Перед записью результатов процессор проверяет предикатное поле и проверяет результаты только тех команд, предикатное поле которых содержит предикатный регистр с записанной “1”.

5) Загрузка по предположению, при которой данные из медленной основной памяти загружаются компилятором заранее и помечаются особым образом. А непосредственно перед командой, использующей загружаемые по предположению данные, компилятор вставляет команду проверки предположения. Если при выполнении загрузки по предположению возникает исключительная ситуация, то процессор сгенерирует исключение только когда встретит команду проверки предположения. Если, например, команда загрузки выносится из ветвления, а ветвь, из которой она вынесена, не запускается, возникшая исключительная ситуация проигнорируется.

Однакo необходимо заметить, что RISC-технология постепен­но приближается к своему пределу производительности, в связи с чем разработчики новые пути ее повышения. Возможно, что достигнутый уровень технологии позволит реализовать принципиально новый подход: длинные и нерегулярные команды х86 преобразуются в очень длинные, но регулярные, которые затем выполняются большим числом параллельно работающих внутренних устройств так же за один такт. Другими словами, за один такт может быть выполнено сразу несколько десятков команд, что недостижимо для сегодняшних RISC-процессоров.