Новые технологии в организации PC
IA-64. IA-64 -
аббревиатура от Intel 64-bit Architecture - 64-разрядная Архитектура Intel.
IA-64 воплощает концепцию EPIC (аббревиатура от Explicitly Parallel
Instruction Computing - Вычисления с Явным Параллелизмом Команд). Концепция
EPIC разработана совместно фирмами Intel и Hewlett-Packard, по их
заявлениям, EPIC - концепция той же значимости, что CISC и RISC. В IA-64
используется новый 64-разрядный набор команд, разработанный также совместно
фирмами Intel и HP (для него в официальных сообщениях Intel и HP вводится
аббревиатура 64-bit ISA - 64-bit Instruction Set Architecture). Вдобавок,
Merced будет полностью совместим с семейством x86 (В официальных сообщениях
Intel семейство x86 обозначают аббревиатурой IA-32 - Intel 32-bit
Architecture - 32-разрядная Архитектура Intel).
В настоящее время доподлино известно о работах над двумя процеcсорами
семейства IA-64:
уже упомянутый Merced, разрабатываемый в основном силами Intel
McKinley, который разрабатывается в HP и появится в конце 2001 года
Недавно были добавлены еще два названия:
В 2002 должен появиться Madison, а за ним - Deerfield.
Хронология событий
Hewlett-Packard и Intel объявили о совместном исследовательском
проекте в июне 1994 года. Цель проекта - создание более совершенных
технологий в сфере "рабочих станций конца десятилетия, серверов и
информационно-вычислительных продуктов масштаба предприятия". Проект
включал разработку "архитектуры 64-разрядного набора команд" и
оптимизирующих компиляторов.
В 1996 году фирма HP выпустила свой первый 64-разрядный процессор
общего назначения - PA-8000, представитель нового семейства PA-RISC 2.0.
Естественно предположить, что PA-RISC 2.0 - результат совместного проекта
"архитектуры 64-разрядного набора команд", тем более, что в PA-8000
применены решения, которые в терминологии IA-64 называются "предикация" и
"загрузка по предположению". Но нет официальных данных, подтверждающих это
предположение.
9 октября 1997 года фирма Intel объявила, что
производство Merced, первого представителя нового семейства 64-разрядных
микропроцессоров, начнется в 1999 году по 0.18-микронному технологическому
процессу фирмы Intel, который также создается;
процессор предназначен для рабочих станций и серверов;
Merced сможет выполнять программы для 32-разрядных процессоров Intel;
Intel обладает средой разработки программного обеспечения, полностью
совместимого с IA-64, и "ключевые" независимые продавцы программного
обеспечения уже используют эту среду для разработки операционных систем и
приложений уровня предприятия;
14 октября 1997 года, на Микропроцессорном Форуме в Сан-Хосе, Калифорния,
фирмы Intel и HP впервые публично описали основы IA-64. Совместно выступили
John Crawford, Intel Fellow and Director of Microprocessor Architecture и
Jerry Huck, Hewllet-Packard`s Manager and Lead Architect. Запись их речей
можно найти на Web-сервере Intel, а демонстрировавшиеся слайды - на Web-
сервере HP. Фирма Intel дополнила это выступление заявлениями для прессы .
В тот же день на Микропроцессорном Форуме выступал Joel Birnbaum,
Director of Hewlett-Packard Laboratories, Senior Vice President of Research
and Development. Он вкратце рассказал о работах HP над процессорными
архитектурами с 1980-х до альянса с Intel в 1994. По его словам, отправной
точкой для альянса с Intel послужил проект, называемый сначала Wide-Word, а
затем Super-Parallel Processor Architecture (SP-PA). Этот проект был
выполнен в HP Labs под руководством Bill Worley, который одновременно
возглавлял работы над PA-RISC. Согласно Joel Birnbaum, в проекте Wide-Word
были проведены эксперименты со статическим параллелизмом и загрузкой по
предположению, разработана "обобщенная предикация", механизмы, позволяющие
масштабировать количество функциональных устройств и их "скорость". Также
он объяснил, зачем фирме HP понадобилось заключать альянс с Intel, но это
объяснение слишком обширно, чтобы приводить его здесь.
29 мая 1998 года фирма Intel сообщила о переносе на год выпуска
процессора Merced. Было объявлено, что серийное производство начнется в
середине 2000 года. А опытное - в 1999 году. В официальном сообщении нет
никаких сведений ни об архитектуре Merced, ни о технологии его
производства.
С 12 по 15 октября 1998 года проходил очередной Микропроцессорный Форум.
От Intel выступал Stephen Smith с темой "IA-64 Processors: Features and
Futures". Он сообщил несколько новых технических деталей, рассказал о
перспективах семейства IA-64.
EPIC, IA-64, Merced
Концепция EPIC, согласно Intel и HP, обладает достоинствами VLIW, но
не обладает ee недостатками.
John Crawford перечислил следующие особенности EPIC:
Большое количество регистров.
Масштабируемость архитектуры до большого количества функциональных
устройств. Это свойство представители фирм Intel и HP называют
"наследственно масштабируемый набор команд" (inherently scaleable
instruction set)
Явный параллелизм в машинном коде. Поиск зависимостей между командами
производит не процессор, а компилятор.
Предикация (Predication). Команды из разных ветвей услового ветвления
снабжаются предикатными полями (полями условий) и запускаются параллельно.
Загрузка по предположению (Speculative loading). Данные из медленной
основной памяти загружаются заранее.
Ниже эти особенности EPIC объяснены подробнее.
Представители Intel и HP назывют EPIC концепцией следующего поколения
и противопоставляют ее CISC и RISC. По мнению Intel, традиционные
архитектуры имеют фундаментальные свойства, ограничивающие
производительность. Производители RISC процессоров не разделяют подобного
пессимизма. Кстати, в 1980-х, когда возникла концепция RISC, прозвучало
много заявлений, что концепция CISC устарела, имеет фундаментальные
свойства, ограничивающие производительность. Но процессоры, причисляемые к
CISC (например, семейство x86 фирмы Intel), широко используются до сих пор,
их производительность растет.
Дело в том, что все эти аббревиатуры - CISC, RISC, VLIW обозначают
только идеализированные концепции. Реальные микропроцессоры трудно
классифицировать. Современные микропроцессоры, причисляемые к RISC, сильно
отличаются от первых процессоров RISC архитектуры. То же относится и к
CISC. Просто в наиболее совершенных процессорах заложено множество удачных
идей вне зависимости от их принадлежности к какой-либо концепции.
Регистры IA-64:
128 64-разрядных регистров общего назначения (целочисленных)
128 80-разрядных регистров вещественной арифметики.
64 1-pазpядных пpедикатных pегистpов.
Напомним, что наличие большого числа регистров названо John Crawford в
числе основных черт EPIC. Действительно, 128 - много по сравнению с 8
регистрами общего назначения семейства x86. Но, например, MIPS R10000
содержит 64 целых и 64 вещественных 64-разрядных регистров.
Формат команды IA-64:
идентификатор команды,
три 7-разрядных поля операндов - 1 приемник и 2 источника (операндами могут
быть только регистры, а их - 128=2^7)
особые поля для вещественной и целой арифметики
6-разрядное предикатное поле (64=2^6)
Команды IA-64 упаковываются (группируются) компилятором в "связку" длиною
в 128 pазpядов. Связка содеpжит 3 команды и шаблон, в котоpом будут указаны
зависимости между командами (можно ли с командой к1 запустить параллельно
к2, или же к2 должна выполниться только после к1) , а также между другими
связками (можно ли с командой к3 из связки с1 запустить параллельно команду
к4 из связки с2).
Перечислим все варианты составления связки из 3-х команд:
i1 || i2 || i3 - все команды исполняются паpаллельно
i1 & i2 || i3 - сначала i1, затем исполняются паpаллельно i2 и i3
i1 || i2 & i3 - паpаллельно исполняются i1 и i2, после них - i3
i1 & i2 & i3 - последовательно исполняются i1, i2, i3
Одна такая связка, состоящая из трех команд, соответствует набору из трех
функциональных устройств процессора. Процессоры IA-64 могут содержать
разное количество таких блоков, оставаясь при этом совместимыми по коду.
Ведь благодаря тому, что в шаблоне указана зависимость и между связками,
процессору с N одинаковыми блоками из трех функциональных устройства будет
соответствовать командное слово из N*3 команд ( N связок ). Таким образом
должна обеспечиваться масштабируемость IA-64. Несомненно, это красивая
концепция. К сожалению, IA-64 присущи и некоторые недостатки.
Tom R. Halfhill в статье журнала BYTE предполагает что без перекомпиляции
код с одного процессора семейства IA-64 не будет эффективно исполняться на
другом.
Уже упомянутый Jerry Huck отметил, что в IA-64 можно произвольно (блоками
по 3) увеличивать количество функциональных устройств, но при этом число
регистров должно оставаться неизменным.
Также Jerry Huck предупредил, что размер кода для IA-64 будет больше, чем
для RISC процессоров, потому что на 3 команды IA-64 приходится 128 bit, а
длина RISC команды обычно равна 32 bit, то есть, в 128 битах содержатся 4
команды RISC.
Вдобавок произошла путаница. На прошедшем во второй половине февраля 1998
года Форуме Разработчиков Intel ведущий инженер Carole Dulong сказала, что
в такой архитектуре, как Merced, пропорция целочисленых, вещественных,
специализированных устройств и устр
| | скачать работу |
Новые технологии в организации PC |