Интел i860
Дизайнер | Интел |
---|---|
Биты | 32/64-битная |
Представлено | 1989 |
Дизайн | РИСЦ , ВЛИВ |
Тип | Загрузка-сохранение |
Кодирование | Зафиксированный |
Ветвление | Сравнить и разветвить |
Порядок байтов | С |
Размер страницы | 4 КБ |
Расширения | 64-битная графическая система |
Регистры | |
общего назначения | 32 32-битный |
Плавающая точка | 32 32-битных (16 64-битных) |
Intel i860 (также известный как 80860 ) — это RISC, микропроцессор представленный Intel в 1989 году. Это одна из первых попыток Intel создать совершенно новую, высокопроизводительную архитектуру набора команд после неудачного Intel iAPX 432 начала 1980-х годов. . Это был первый в мире чип с миллионом транзисторов. [1] Он был выпущен с немалой помпой, немного затмив более ранний Intel i960 , имевший успех в некоторых нишах встраиваемых систем . i860 так и не добился коммерческого успеха, и проект был закрыт в середине 1990-х годов.
Реализации [ править ]
Общая информация | |
---|---|
Запущен | 1989 |
Снято с производства | середина 1990-х |
Общий производитель |
|
Производительность | |
Макс. процессора Тактовая частота | от 25 МГц до 40 МГц |
Кэш | |
L1 Кэш | 4 КБ (I) + 8 КБ (D) |
Архитектура и классификация | |
Набор инструкций | Интел i860 |
Физические характеристики | |
Ядра |
|
История | |
Преемник | i860 XP |
Общая информация | |
---|---|
Запущен | 1991 |
Снято с производства | середина 1990-х |
Общий производитель |
|
Производительность | |
Макс. процессора Тактовая частота | от 40 МГц до 50 МГц |
Кэш | |
L1 Кэш | 16+16 КБ |
Архитектура и классификация | |
Набор инструкций | Интел i860 |
Физические характеристики | |
Транзисторы |
|
Ядра |
|
История | |
Предшественник | i860 XR |
Первой реализацией архитектуры i860 стал микропроцессор i860 XR (под кодовым названием N10 ), работавший на частоте 25, 33 или 40 МГц. второго поколения В микропроцессор i860 XP (под кодовым названием N11 ) добавлены страницы размером 4 Мбайт, встроенные кэши большего размера, поддержка кэша второго уровня, более быстрые шины и аппаратная поддержка отслеживания шины для обеспечения согласованности кэша в многопроцессорных системах. Технологическое сокращение XP (с 1 мкм до 0,8 CHMOS V) увеличило тактовую частоту до 40 и 50 МГц. [3] Оба микропроцессора поддерживали один и тот же набор команд для прикладных программ.
Технические характеристики [ править ]
i860 сочетал в себе ряд уникальных для того времени функций, в первую очередь архитектуру с очень длинными командами (VLIW) и мощную поддержку высокоскоростных операций с плавающей запятой. [4] В конструкции используются два класса инструкций: «основные» инструкции, использующие 32-битное ALU , и инструкции «с плавающей запятой или графики», которые работают с сумматором с плавающей запятой, множителем с плавающей запятой или 64-битным целым числом. графический блок. В системе были отдельные конвейеры для ALU, сумматора с плавающей запятой, умножителя с плавающей запятой и графического устройства. Он может выбирать и декодировать одну «ядерную» инструкцию и одну инструкцию «с плавающей запятой или графику» за такт. При использовании инструкций двойной операции с плавающей запятой (которые передают значения между последующими инструкциями двойной операции) он может выполнять до трех операций (одну ALU, одну операцию умножения с плавающей запятой и одну операцию сложения или вычитания с плавающей запятой). ) за такт. [1] [5]
Все шины данных имели ширину не менее 64 бит. Например, внутренняя шина памяти, ведущая к кэшу, имела ширину 128 бит.
Инструкции «ядерного» класса используют тридцать два 32-битных целочисленных регистра. Но инструкции «с плавающей запятой или графика» используют файл регистров, к которому модули с плавающей запятой могут обращаться как к тридцати двум 32-битным, шестнадцати 64-битным или восьми 128-битным регистрам с плавающей запятой, или который может графический модуль может обращаться к ним как к шестнадцати 64-битным целочисленным регистрам.
«Ядерный» модуль отвечает за выборку инструкций, и в обычном режиме «одной инструкции» он может выбирать одну 32-битную «ядерную» или одну 32-битную инструкцию «с плавающей запятой или графику» за цикл. Но при выполнении в режиме двойных инструкций доступ к кэшу инструкций осуществляется как инструкции VLIW, состоящие из 32-битной «базовой» инструкции в паре с 32-битной инструкцией «с плавающей запятой или графической» инструкцией, одновременно извлекаемой вместе по 64-битной инструкции. автобус. [5]
Intel назвала эту конструкцию «64-битным микропроцессором i860». [6]
Инструкции Intel i860 действовали с размерами данных от 8 до 128 бит. [7]
Графика поддерживает SIMD -подобные инструкции в дополнение к базовой математике с 64-битными целыми числами. Например, его 64-битный целочисленный путь данных может представлять несколько пикселей вместе как 8-битные пиксели, 16-битные пиксели или 32-битные пиксели. [5] Опыт работы с i860 повлиял на функциональность MMX , позже добавленную в процессоры Intel Pentium .
Конвейеры функциональных блоков доступны для программ ( VLIW ), что требует от компиляторов тщательного упорядочивания инструкций в объектном коде , чтобы конвейеры оставались заполненными. В традиционных архитектурах эти задачи выполнялись во время выполнения планировщиком самого ЦП, но сложность этих систем ограничивала их применение в ранних конструкциях RISC. В i860 была попытка полностью избежать этого, перенеся эту функцию за пределы чипа в компилятор. Это позволило i860 отвести больше места под функциональные блоки, повысив производительность. Благодаря своей архитектуре i860 мог выполнять определенные графические алгоритмы и алгоритмы с плавающей запятой с исключительно высокой скоростью, но его производительность в приложениях общего назначения ухудшалась, и его было трудно эффективно программировать (см. Ниже).
i860 имеет инструкции ветвления как без задержки, так и с задержкой. При выполнении отложенных переходов следующая инструкция будет выполнена перед передачей управления целевой инструкции перехода. Это означает, что i860 имеет один слот задержки ветвления. [8]
Производительность [ править ]
На бумаге производительность была впечатляющей для однокристального решения; однако реальная производительность была совсем не такой. Одна из проблем, возможно, не осознававшаяся в то время, заключалась в том, что пути выполнения кода трудно предсказать, а это означает, что становится чрезвычайно сложно правильно упорядочивать инструкции во время компиляции . Например, инструкция по сложению двух чисел займет значительно больше времени, если этих чисел нет в кеше, но у программиста нет возможности узнать, есть они или нет. Если будет сделано неверное предположение, весь конвейер остановится в ожидании данных. Вся конструкция i860 была основана на том, что компилятор эффективно справляется с этой задачей, что на практике оказалось практически невыполнимым. Хотя теоретически максимальная производительность составляет около 60-80 MFLOPS как для одинарной, так и для двойной точности для версий XP, [9] написанный вручную ассемблерный код смог получить лишь около 40 MFLOPS, а большинству компиляторов было трудно получить даже 10 MFLOPS. [10] Более поздняя архитектура Itanium , также разработанная VLIW, снова пострадала от проблемы, связанной с неспособностью компиляторов выдавать достаточно оптимизированный код.
Еще одной серьезной проблемой было отсутствие какого-либо решения для быстрого переключения контекста . В i860 было несколько конвейеров (для частей ALU и FPU), и прерывание могло их уничтожить и потребовать их перезагрузки. В лучшем случае на это ушло 62 цикла, в худшем — почти 2000 циклов. Последнее составляет 1/20000 секунды при частоте 40 МГц (50 микросекунд), что является вечностью для процессора. Это в значительной степени исключило i860 из числа процессоров общего назначения.
Гибель [ править ]
По мере совершенствования компиляторов общая производительность i860 росла так же, но к тому времени большинство других RISC-разработок уже обогнали i860 по производительности.
В конце 1990-х годов Intel заменила всю свою линейку RISC на конструкции на базе ARM , известные как XScale . Как ни странно, номер 860 с тех пор был повторно использован для набора микросхем управления материнской платой для систем Intel Xeon (высокопроизводительный Pentium ) и модели Core i7.
Энди Гроув предположил, что неудача i860 на рынке произошла из-за того, что Intel была слишком ограничена:
Теперь у нас было два очень мощных чипа, которые мы представили примерно одновременно: 486, в основном основанный на технологии CISC и совместимый со всем программным обеспечением ПК, и i860, основанный на технологии RISC, который был очень быстрым, но совместим с ничего. Мы не знали, что делать. Поэтому мы представили оба варианта, полагая, что предоставим право выбора рынку. ... наша двусмысленность заставила наших клиентов задаться вопросом, что на самом деле представляет собой Intel: 486 или i860?
— Энди Гроув , [11]
Приложения [ править ]
Сначала i860 использовался только в небольшом количестве суперкомпьютеров , таких как Intel iPSC/860 . Позже Intel какое-то время продвигала i860 как микропроцессор для рабочих станций, где он конкурировал, среди прочего, с микропроцессорами на базе архитектур MIPS и SPARC . Станция OKI Electric OKI 7300/30 [12] и Стардент Вистра 800 [13] Рабочие станции Unix основывались на процессоре i860 XR с частотой 40 МГц и операционной системой UNIX System V /i860. [14] Хауппож 4860 [15] и Оливетти CP486 [16] имел Intel 80486 и i860 на одной материнской плате. Первоначально Microsoft разработала то, что впоследствии стало Windows NT , на рабочих станциях на базе i860XR собственной разработки (под кодовым названием Dazzle ), а позже портировала NT на MIPS ( Microsoft Jazz ), Intel 80386 и другие процессоры. Некоторые утверждают, что обозначение NT было отсылкой к кодовому названию «N-Ten» i860XR. [17]
i860 действительно нашел применение в мире рабочих станций в качестве графического ускорителя. Он использовался, например, в NeXTdimension , где запускалась урезанная версия ядра Mach с полным стеком PostScript . Однако PostScript часть проекта так и не была завершена, поэтому в итоге пришлось просто перемещать цветные пиксели. В этой роли конструкция i860 работала значительно лучше, поскольку базовую программу можно было загрузить в кэш и сделать полностью «предсказуемой», что позволяло компиляторам правильно упорядочивать. Truevision выпустила плату ускорителя на базе i860, предназначенную для использования с картами кадрового буфера Targa и Vista. Pixar создала специальную версию RenderMan для работы на карте, которая работала примерно в четыре раза быстрее, чем хост 386. Другим примером был SGI от RealityEngine , который использовал в своем геометрическом движке несколько процессоров i860XP. Этот вид использования также постепенно исчез, поскольку более универсальные процессоры начали соответствовать производительности i860, а Intel сосредоточила свое внимание на Процессоры Pentium для вычислений общего назначения.
Компания Mercury Computer Systems использовала i860 в своем мультикомпьютере . От 2 до 360 вычислительных узлов будут находиться в сети с коммутацией каналов , причем каждый узел будет иметь локальную память, которая может быть отображена любым другим узлом. Каждый узел в этой гетерогенной системе может представлять собой i860, PowerPC или группу из трех процессоров SHARC DSP. Хорошая производительность была получена от i860 за счет предоставления клиентам библиотеки функций обработки сигналов, написанной на языке ассемблера. Аппаратное обеспечение вмещало до 360 вычислительных узлов в 9U высотой стойке , что делает его пригодным для мобильных приложений, таких как обработка данных бортовых радаров.
В начале 1990-х годов компания Stratus Technologies создала серверы серии XA/R на базе i860, работающие под управлением собственной VOS . операционной системы [18]
Также в 1990-х годах компания Alliant Computer Systems выпустила серверы FX/800 и FX/2800 на базе i860, заменив устаревшие серии FX/80 и FX/8.основан на Motorola 68000 ISA. Вычислительные системы Alliant и Mercury активно использовались в НАСА/Лаборатории реактивного движения для миссий SIR-C .
Военные США использовали i860 в многочисленных аэрокосмических приложениях и приложениях цифровой обработки сигналов в качестве сопроцессора, где он использовался вплоть до конца 1990-х годов. [19]
Ссылки [ править ]
- ^ Jump up to: Перейти обратно: а б Перри, Текла (2 июля 2022 г.). «Первый чип на миллион транзисторов: история инженеров» . IEEE-спектр . Архивировано из оригинала 5 июля 2022 г. Проверено 5 июля 2022 г.
- ^ Льюнес, Энн, «Архитектура Intel386 останется здесь», корпорация Intel, Microcomputer Solutions, июль/август 1989 г., стр. 2
- ^ «i860 XP — второе поколение i860» (PDF) . Архивировано из оригинала (PDF) 20 августа 2018 г. Проверено 22 февраля 2015 г.
- ^ Кон, Лес; Маргулис, Н. (август 1989 г.). «Представляем 64-битный микропроцессор Intel i860». IEEE микро . 9 (4). Компьютерное общество IEEE: 15–30. дои : 10.1109/40.31485 . S2CID 21922034 .
- ^ Jump up to: Перейти обратно: а б с Справочное руководство программиста 64-битного микропроцессора i860 (PDF) . Санта-Клара, Калифорния, США: Intel . 1989. Архивировано (PDF) из оригинала 23 февраля 2022 г.
- ^ Граймс, Джек; Кон, Л.; Бхарадвадж, Р. (июль 1989 г.). «64-разрядный процессор Intel i860: процессор общего назначения с возможностями 3D-графики». IEEE Компьютерная графика и приложения . 9 (4). Компьютерное общество IEEE: 85–94. дои : 10.1109/38.31467 . S2CID 38831149 .
- ^ «Коллекция чипов — микропроцессор i860 — Смитсоновский институт» . Смитсоновский институт .
- ^ «Справочное руководство программиста 64-битного микропроцессора i860™» (PDF) . п. 70(5-11) . Проверено 21 декабря 2023 г.
- ^ Олег Ю. Репин, Алексей Сергеевич Пылкин (2000). «Intel i860: 64-битный микропроцессор» . sscc.ru, ICMMG. Архивировано из оригинала 23 июня 2009 г. Проверено 27 сентября 2013 г.
- ^ Бейли, Д.Х.; Барщ, Э.; Фатухи, РА; Саймон, HD; Виратунга, С. (1990). Результаты производительности прототипа Intel Touchstone Gamma (PDF) (отчет). Исследовательский центр Эймса НАСА.
- ^ Олсон, Сандер (3 июня 2004 г.). «Процессору Intel 486 исполняется 15 лет» . Geek.com . Архивировано из оригинала 25 мая 2008 г.
- ^ «Oki Electric OKI Station 7300/30-Компьютерный музей» .
- ^ «Intel i860 — отсюда туда» . 2010.
- ^ «Компьютер KUBOTA/Stardent AVSstation Titan Vistra 800» . Архивировано из оригинала 14 мая 2014 г. Проверено 14 мая 2014 г.
- ^ «GeekDot — Hauppauge 4860» . 20 марта 2008 г.
- ^ «GeekDot — Olivetti CP486» . 16 августа 2011 г.
- ^ Терротт, Пол (24 января 2003 г.). «Windows Server 2003: путь к золоту» . Выиграй супер сайт . Архивировано из оригинала 20 июля 2011 г. Проверено 2 сентября 2013 г.
- ^ «История машин Stratus» . Архивировано из оригинала 12 июня 2003 г.
- ^ «СтекПуть» . Май 1997 года.
- Маргулис, Нил (1990). Архитектура микропроцессора i860 . Осборн/МакГроу-Хилл. ISBN 978-0-07-881645-1 .
Внешние ссылки [ править ]
- Многие карты расширения i860
- i860 изображения и описание .
- Родхамель, Майкл В. « Шинный интерфейс и блоки пейджинга микропроцессора i860 (tm) ». В Proc. Международная конференция IEEE по компьютерному дизайну, стр. 380–384, 1989.