Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Процессор Intergraph Clipper C4 (C400)

Архитектура Clipper - это 32-битная архитектура набора команд, подобная RISC, разработанная Fairchild Semiconductor . Эта архитектура никогда не пользовалась большим успехом на рынке, и единственными производителями компьютеров, которые создавали основные линейки продуктов с использованием процессоров Clipper, были Intergraph и High Level Hardware . Первые процессоры, использующие архитектуру Clipper, были разработаны и проданы Fairchild, но ответственное за них подразделение впоследствии было продано Intergraph в 1987 году; Intergraph продолжил работу над процессорами Clipper для использования в собственных системах. [1]

В архитектуре Clipper использовался упрощенный набор инструкций по сравнению с более ранними архитектурами CISC , но он действительно включал некоторые более сложные инструкции, чем присутствовали в других современных процессорах RISC. Эти инструкции были реализованы в так называемом ПЗУ макросов в ЦП Clipper. Эта схема позволяла Clipper иметь несколько более высокую плотность кода, чем другие процессоры RISC.

Версии [ править ]

Die клипера C100 CPU
Die клипера C300 CPU

Первым микропроцессором Clipper, произведенным Fairchild, был C100, который стал доступен в 1986 году. За ним последовал более быстрый C300 от Intergraph в 1988 году. Последней моделью Clipper был C400, выпущенный в 1990 году, который был значительно переработан, чтобы быть быстрее. и добавил больше регистров с плавающей запятой. Процессор C400 объединил два ключевых архитектурных метода для достижения нового уровня производительности - суперскалярная диспетчеризация инструкций и суперпайплайновая работа.

В то время как многие процессоры того времени использовали либо суперскалярную диспетчеризацию инструкций, либо суперконвейерную операцию, Clipper C400 был первым процессором, в котором использовались и те, и другие. [2]

Intergraph начал работу над последующим дизайном процессора Clipper, известным как C5, но он так и не был завершен и выпущен. Тем не менее, для C5 были разработаны некоторые передовые технологии проектирования процессоров, и Intergraph получила на них патенты . Эти патенты, наряду с оригинальными патентами Clipper, послужили основанием для исков Intergraph о нарушении патентных прав против Intel и других компаний. [3]

Die клипера C300 CAMMU

В отличие от многих других микропроцессоров, процессоры Clipper фактически состояли из нескольких отдельных микросхем. C100 и C300 состоят из трех микросхем: один центральный процессор, содержащий как целочисленный блок, так и блок с плавающей запятой , и два блока управления кэш- памятью и памятью (CAMMU), один отвечает за данные, а другой - за инструкции. Модули CAMMU содержат кеши, резервные буферы трансляции и поддержку защиты памяти и виртуальной памяти.. C400 состоит из четырех основных блоков: целочисленного ЦП, FPU, MMU и блока кэш-памяти. Первоначальная версия использовала по одной микросхеме для ЦП и FPU и дискретные элементы для MMU и блока кэш-памяти, но в более поздних версиях MMU и блок кэширования были объединены в одну микросхему CAMMU.

Регистры и набор команд [ править ]

У Clipper было 16 целочисленных регистров (R15 использовался в качестве указателя стека), 16 регистров с плавающей запятой (ограничено 8 в ранних реализациях), плюс счетчик программ (ПК), слово состояния процессора (PSW), содержащее состояние ALU и FPU. флаги и разрешения прерывания, а также слово состояния системы (SSW), содержащее разрешение внешнего прерывания, режим пользователя / супервизора и биты управления трансляцией адресов.

Режимы пользователя и супервизора имели отдельные банки целочисленных регистров. Обработка прерываний заключалась в сохранении ПК, PSW и SSW в стеке, очистке PSW и загрузке ПК и SSW из вектора ловушки памяти.

Clipper был архитектурой загрузки / сохранения , где арифметические операции могли указывать только регистр или непосредственные операнды. Базовая инструкция «посылка» состояла из 16 бит: 8 бит кода операции, 4 бита исходного регистра и 4 бита регистра назначения. Формы с непосредственным операндом позволяли 1 или 2 следующих за пакетами инструкций указывать 16-разрядный (расширенный по знаку) или 32-разрядный операнд непосредственного действия. Процессор всегда был прямым порядком байтов, включая непосредственные операнды.

Специальная «быстрая» кодировка с 4-битным беззнаковым операндом была предусмотрена для добавления, вычитания, загрузки (быстрое перемещение для регистрации), а не (перемещение дополнения к быстрой регистрации).

Режимы адресации для инструкций загрузки / сохранения и перехода были следующими. Все смещения были обозначены знаком.

  • (Rn), d12 (Rn), d32 (Rn): регистр относительно с 0, 12 или 32-битным смещением
  • d16 (ПК), d32 (ПК): относительно ПК
  • d16, d32: абсолютное
  • [Rx] (Rn), [Rx] (PC): регистр или индексирование относительно ПК. Индексный регистр не масштабировался.

Помимо обычных логических и арифметических операций, процессор поддерживал:

  • 32 × 32 → 32-битное умножение, деление и остаток (со знаком и без знака)
  • 64-битные сдвиги и вращения, работа с парами четных / нечетных регистров
  • 32 × 32 → 64-битное расширенное умножение
  • Целочисленный регистр push / pop (сохранение с пре-декрементом, загрузка с пост-инкрементом)
  • Вызов подпрограммы (нажать ПК, переместить адрес операнда на ПК)
  • Возврат из подпрограммы (вынуть ПК из стека)
  • Загрузка атомарной памяти и установка msbit
  • Ловушка супервизора

Допускаются более сложные макрокоманды:

  • Вставить / вытолкнуть несколько целочисленных регистров R n –R14
  • Вставить / вытолкнуть несколько регистров с плавающей запятой D n –D7
  • Пользовательские регистры push / pop R0 – R15
  • Возврат из прерывания (pop SSW, PSW и ПК)
  • Строка инициализации (сохраните R0 копий R2 в памяти, начиная с R1)
  • Перемещение и сравнение символов (длина в R0, источник в R1, место назначения в R2)

Большинство инструкций позволяло указать произвольный регистр указателя стека, но, за исключением сохранения / восстановления пользовательского регистра, операции с несколькими регистрами могли использовать только R15.

Системы Intergraph Clipper [ править ]

Фотография рабочей станции Intergraph CLIX

Intergraph продала несколько поколений систем Clipper, включая серверы и рабочие станции . Эти системы включали линейки продуктов InterAct, InterServe и InterPro и были ориентированы в основном на рынок САПР .

Fairchild продвигал операционную систему CLIX , версию UNIX System V , для использования с Clipper. Intergraph принял CLIX для своих систем на базе Clipper и продолжил его развитие; это была единственная операционная система, доступная для этих систем. Intergraph действительно работал над версией Microsoft Windows NT для систем Clipper и публично продемонстрировал ее, но эти усилия были отменены перед выпуском. [4] Intergraph решил прекратить выпуск линейки Clipper и вместо этого начал продавать системы x86 с Windows NT.

Ссылки [ править ]

  1. Перейти ↑ Weisberg, David (2008). «Революция инженерного дизайна: люди, компании и компьютерные системы, навсегда изменившие инженерную практику» (PDF) . Глава 14. Архивировано (PDF) из оригинала 4 марта 2016 года . Проверено 26 июня +2016 .
  2. ^ Коллекция CPU. "Intergraph Clipper C4" .
  3. Флинн, Лори (31 марта 2004 г.). "Intergraph и Intel урегулировали спор о чипах" . Нью-Йорк Таймс . Архивировано 19 июня 2015 года . Проверено 26 июня +2016 .
  4. Симпсон, Ник (15 января 2000 г.). «Re: Intergraph Interact 340» . Группа новостейcomp.sys.intergraph . Usenet: [email protected] . 
  • Корпорация Fairchild Semiconductor (1987). 32-разрядный микропроцессор CLIPPER: Руководство пользователя . Прентис-Холл. ISBN 0-13-138058-3.
  • Уолтер Холлингсворт; Говард Сакс; Алан Джей Смит (1989). «Процессор CLIPPER: архитектура и реализация набора команд». Коммуникации ACM . 32 (2): 200–219. DOI : 10.1145 / 63342.63346 .
  • Уолтер Холлингсворт; Говард Сакс; Алан Джей Смит (11 февраля 1987 г.). Fairchild CLIPPER: Архитектура набора команд и реализация процессора (PDF) (Технический отчет). UCB / CSD. 87/329 . Проверено 22 марта 2011 .
  • Джеймс Чо; Алан Джей Смит; Ховард Сакс (апрель 1986 г.). Архитектура памяти и блок управления кешем и памятью для процессора Fairchild CLIPPER (PDF) (Технический отчет). UCB / CSD. 86/289 . Проверено 22 марта 2011 .
  • Говард Сакс; Харлан МакГан; Ли Хэнсон; Натан Бруквуд (1991). «Компромиссы при проектировании и реализации в архитектуре Clipper C400». IEEE Micro . 11 (3): 18–21, 74–80. DOI : 10.1109 / 40.87566 .
  • История Intergraph
  • Набор команд 32-разрядного микропроцессорного модуля Clipper ™ (PDF) , Fairchild, октябрь 1985 г. , получено 11 июля 2020 г.
  • 32-разрядный микропроцессор Clipper ™: Введение в архитектуру CLIPPER (PDF) , Fairchild, май 1986 г. , получено 11 июля 2020 г.
  • Clipper ™ C100 32-Bit Compute Engine Data Sheet (PDF) , Intergraph, декабрь 1987 г. , получено 11 июля 2020 г.