Дизайнер | IBM |
---|---|
Биты | 32 |
Введено | Январь 1986 (коммерчески) |
дизайн | RISC |
Тип | Зарегистрироваться-Зарегистрироваться |
Кодирование | Переменная (длиной 2 или 4 байта) |
Разветвление | Код состояния |
Размер страницы | 4 КБ |
открыто | Нет |
Регистры | |
Общее назначение | 16 × 32 бит |
ROMP является уменьшенным набором команд (RISC) микропроцессор разработанный IBM в конце 1970 - х годов. Он также известен как минипроцессор OPD Research (в честь двух подразделений IBM, которые сотрудничали при его создании, IBM Research и подразделения продуктов Office [OPD]) и 032. ROMP был первоначально разработан для офисного оборудования и небольших компьютеров, как продолжение микропроцессора IBM OPD Mini Processor середины 1970-х годов, который использовался в системе обработки текстов IBM Office System / 6. Первые образцы стали доступны в 1981 году, и впервые он был коммерчески использован в IBM RT PC, анонсированном в январе 1986 года. Какое-то время планировалось, что RT PC будет персональным компьютером, а ROMP заменит Intel 8088, установленный в IBM Personal Компьютер. Однако позже ПК RT был преобразован в рабочую станцию для инженеров и ученых. Более поздняя CMOS- версия ROMP была впервые использована в плате сопроцессора для IBM 6152 Academic System, представленной в 1988 году, а позже появилась в некоторых моделях ПК RT.
Архитектурная работа над ROMP началась в конце весны 1977 года, как спин-офф IBM Research «s 801 процессор RISC (отсюда„Research“в аббревиатуре). Большинство архитектурных изменений были направлены на снижение затрат, например добавление 16-битных инструкций для повышения эффективности работы с байтами. Первоначальный ROMP имел 24-битную архитектуру, но через несколько лет после разработки набор команд был изменен на 32-битный.
Первые микросхемы были готовы в начале 1981 года, что сделало ROMP первым промышленным RISC. Процессор был представлен на Международной конференции по твердотельным схемам в 1984 году. ROMP впервые появился в коммерческом продукте как процессор для рабочей станции IBM RT PC, который был представлен в 1986 году. Чтобы предоставить примеры для производства ПК в режиме реального времени, массовое производство ROMP и его MMU началось в 1985 году. Задержка между завершением разработки ROMP и выпуском ПК RT была вызвана чрезмерно амбициозными планами программного обеспечения для ПК RT и его операционной системы (ОС). Эта ОС виртуализировала оборудование и могла содержать несколько других операционных систем. Эта технология, называемая виртуализацией, хотя и является обычным явлением в мэйнфрейм- системах, только в 21 веке начала набирать обороты в небольших системах. Усовершенствованная CMOS-версия ROMP была впервые использована на рабочей станции IBM 6152 Academic System, а затем и в некоторых моделях ПК RT.
IBM Research использовала ROMP в своем прототипе параллельного процессора Research (RP3), раннем экспериментальном масштабируемом мультипроцессоре с общей памятью, который поддерживал до 512 процессоров, впервые подробно описанный в 1985 году; и версия CMOS в его ACE, экспериментальном мультипроцессоре NUMA, который работал в 1988 году.
Архитектура ROMP была основана на оригинальной версии миникомпьютера IBM Research 801. Основными отличиями были больший размер слова (32 бита вместо 24) и включение виртуальной памяти. Архитектура поддерживала 8-, 16- и 32-битные целые числа, 32-битную адресацию и 40-битное виртуальное адресное пространство. Он имел регистр указателя инструкций и шестнадцать 32-битных регистров общего назначения. Микропроцессор управлялся 118 простыми 16- и 32-битными инструкциями.
Виртуальная память ROMP имеет сегментированное 40-битное (1 ТБ) адресное пространство, состоящее из 4096 сегментов по 256 МБ. 40-разрядный виртуальный адрес формируется в MMU путем объединения 12-разрядного идентификатора сегмента с 28 младшими битами из 32-разрядного виртуального адреса, вычисленного с помощью ROMP. Идентификатор сегмента получается из набора из 16 идентификаторов сегмента, хранящихся в MMU, адресованных четырьмя старшими битами 32-битного виртуального адреса, вычисленного с помощью ROMP.
ROMP - это скалярный процессор с трехступенчатым конвейером. На первом этапе, если есть инструкции в 16-байтовом буфере предварительной выборки команд, команда была извлечена, декодирована и операнды из файла регистров общего назначения были прочитаны. Буфер предварительной выборки команд считывал 32-битное слово из памяти всякий раз, когда ROMP не обращался к нему. Инструкции выполнялись на втором этапе и записывались обратно в файл реестра общего назначения на третьем этапе. ROMP использовал обходную сеть и соответствующим образом запланировал чтение и запись регистрового файла для поддержки последовательного выполнения зависимых инструкций. Большинство инструкций "регистр-регистр" выполнялись за один цикл; из 118 инструкций 84 имели задержку в один цикл. У ROMP была разработанная IBM сопутствующая интегральная схема, которая во время разработки носила кодовое имя Rosetta. Rosetta была блоком управления памятью (MMU) и предоставляла ROMP средства трансляции адресов, резервный буфер трансляции и буфер хранения.
ROMP и Rosetta были первоначально реализованы в технологии IBM 2 мкм с кремниевым затвором NMOS с двумя уровнями металлического соединения. ROMP состоит из 45 000 транзисторов и имеет размер 7,65 × 7,65 мм (58,52 мм 2), в то время как Rosetta состоит из 61 500 транзисторов и имеет размер 9,02 × 9,02 мм (81,36 мм 2). Оба упакованы в решетку с керамическими штырями на 135 контактов. Позднее была разработана CMOS-версия ROMP и Rosetta (называемая ROMP-C и Rosetta-C).