Рефераты. Новые технологии в организации PC

В настоящее время доподлино известно о работах над двумя проце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, пропорция целочисленых, вещественных, специализированных устройств и устройств чтения/записи будет определяться сочетанием соответствующих команд в предполагаемом машинном коде. Тогда как на Микропроцессорном Форуме представители фирм Intel и HP объясняли, что процессоры семейства IA-64 будут содержать N одинаковых блоков по три функциональных устройства. Причем, можно предположить, что такой блок должен состоять из целочисленного устройства, устройства вещественной арифметики и устройства чтения/записи. Данные высказывания противоречат друг другу.

Кстати, EPIC удивительно напоминает архитектру VelociTI семейства сигнальных процессоров TMS320C6x фирмы Texas Instruments. Примером может служить TMS320C6201. В этом процессоре довольно много регистров - 32 регистра общего назначения. 8 функциональных устройств - это много даже по меркам современных процессоров общего назначения. Команды TMS320C6201 упаковываются во VLIW-слова, состоящие из 8 команд и шаблона. В шаблоне указаны зависимости между командами - явный параллелизм. За такт может исполниться до 8 команд. Все команды снабжены полем условия - предикация.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.