Архитектура клиппера

редактировать
Intergraph Clipper C4 (C400) CPU

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

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

Содержание
  • 1 Версии
  • 2 Регистры и набор команд
  • 3 Системы Intergraph Clipper
  • 4 Ссылки
Версии
Матрица ЦП Clipper C100 Матрица ЦП Clipper C300

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

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

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

Die Clipper C300 CAMMU

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

Регистры и набор команд

У Clipper было 16 целочисленных регистров (R15 использовался как указатель стека), 16 регистров с плавающей запятой (ограничено 8 в ранних реализациях), плюс счетчик программ ( PC), слово состояния процессора (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 (PC), d32 (PC): относительный PC
  • d16, d32: абсолютный
  • [Rx] (Rn), [Rx] (PC): регистр или индексирование относительно PC. Индексный регистр не масштабировался.

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

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

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

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

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

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

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

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

Ссылки
Последняя правка сделана 2021-05-15 11:50:23
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте