Архитектура клиппера - Clipper architecture

Процессор Intergraph Clipper C4 (C400)

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

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

Версии

Умри процессора Clipper C100
Умри процессора Clipper C300

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

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

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

Умри машины Clipper 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 из вектора ловушки памяти.

Машинка для стрижки была загрузка / сохранение архитектуры, где арифметические операции могут указывать только регистр или непосредственные операнды. Базовая инструкция «посылка» состояла из 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
  • Ловушка супервизора

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

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

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

Системы Intergraph Clipper

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

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

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

использованная литература

  1. ^ Вайсберг, Дэвид (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].