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

Orion была серия 32-разрядных супер- мини - ЭВМ , разработанных и произведенных в 1980 году на высоком уровне Hardware Limited ( ГЛГ ), компания , базирующаяся в Оксфорде , Великобритания . Компания выпустила четыре версии машины:

  • Оригинальный Орион , иногда называемый «Орион с микрокодированием».
  • Орион 1/05 , в котором microcodeable процессор был заменен гораздо быстрее Фэирчайлд Машинки RISC - С-100 процессор обеспечивает приблизительно 5,5 MIPS целочисленной производительности и 1 Mflop двойной точности с плавающей запятой производительности.
  • Orion 1/07 , который предложил примерно 33% производительности больше над 1/05 (7.3 MIPS и 1.33 Mflops).
  • Орион 1/10 на основе позже поколение C-300 Clipper из Отдела Advanced процессора в Intergraph Corporation , которая требуется обширное охлаждение. Orion 1/10 предлагает дополнительное улучшение на 30% для операций с плавающей запятой целочисленной и одинарной точности и более чем на 150% для операций с плавающей запятой двойной точности (10 MIPS и 3 Mflops).

На всех четырех машинах использовалась одна и та же подсистема ввода-вывода.

Фон [ править ]

High Level Hardware была независимой британской компанией, основанной в начале 1982 года Дэвидом Г. Смоллом и Тимоти Б. Робинсоном. Дэвид Смол ранее был учредитель и директор OxfordResearch Machines Limited. Оба партнера ранее были старшими членами группы специальных проектов Research Machine. В 1984 году в результате этого исследования компания High Level Hardware выпустила Orion - высокопроизводительный микрокодируемый суперминикомпьютер UNIX, ориентированный, в частности, на научные приложения, такие как математическое моделирование , искусственный интеллект и символьная алгебра .

В апреле 1987 года компания High Level Hardware представила серию Orion на базе процессора Fairchild Clipper , но в конце 1989 года покинула рынок оборудования, чтобы сосредоточиться на продажах Apple Macintosh высокого класса .

Микрокодируемый Орион [ править ]

В оригинальном Orion использовалась процессорная архитектура на базе устройств серии Am2900 . Этот ЦП был новинкой в ​​том, что его микрокод был доступен для записи; другими словами, его набор инструкций может быть переопределен. Это средство использовалось для настройки некоторых Orion с наборами инструкций, оптимизированными для запуска языков программирования Оккама и LISP [1] или даже для вычисления фракталов. [2]

Центральный процессор [ править ]

Процессор состоял из АЛУ , который был построен вокруг Am2901 бит нарезанного микропроцессор . К этому был добавлен блок манипулирования байтами, который мог выполнять операции сдвига, поворота и маскирования, необходимые для обработки восьми- и шестнадцатибитных данных. Была предоставлена ​​дополнительная логика для поддержки сравнения двух дополнений со знаком и без знака в одной операции, арифметики с множественной точностью и с плавающей запятой.нормализация. Большинство операций можно было выполнить за 150 нс, однако время цикла варьировалось от 125 нс до 200 нс под управлением микропрограммы, чтобы можно было оптимизировать синхронизацию. Микросеквенсор, основанный на Am2910, направлял поток управления через микропрограмму. Он может выполнять переходы, циклы и вызовы подпрограмм, большинство из которых может зависеть от любого из нескольких состояний ЦП.

Процессора декодер инструкций, декодированные команды на уровне машины (в отличие от микро-инструкция). Это было достигнуто за счет использования таблиц сопоставления, содержащихся в оперативной памяти с быстрой проверкой четности, которая отображала однобайтовые коды операций на адреса микрокоманд. Управление передавалось на эти адреса с помощью специальной операции секвенсора, которая выполнялась параллельно с другими функциями ЦП . Следовательно, декодирование инструкций с перекрытием выполнения инструкций.

Был предоставлен механизм выхода, позволяющий расширить набор инструкций за пределы 256 записей, выбранных любым одним кодом операции. Существовал еще один механизм переключения между несколькими наборами таблиц диспетчеризации, позволяющий машине поддерживать несколько наборов команд одновременно. Используя этот механизм, каждый раз, когда происходило переключение контекста, можно было выбирать другой набор инструкций. Этот механизм также использовался для реализации привилегированных инструкций, динамического профилирования (для мониторинга производительности) и нескольких режимов ЦП (например, пользователя и ядра ).

Роль кэш-памяти , независимой от основной памяти, заключалась в том, чтобы удерживать вершину стека оценки для процедурно-ориентированного языка. Кэш имел задержку в два цикла, после чего он мог доставлять одно слово за цикл и был разделен на несколько страниц, каждая из которых содержала 512 32-битных слов с защитой четности. Страницы были сгруппированы попарно с архитектурным максимумом 16 пар. В оригинальной машине реализовано две пары. Второй член каждой пары обычно использовался в качестве дополнительных быстрых регистров и временного хранилища, не затрагивая страницу стека. Девять младших битов регистра ЦП, которые обращались к кеш-памяти, были реализованы со счетчиками и позволяли операции увеличения и уменьшения (push и pop), а также произвольный доступ.

Контрольный магазин [ править ]

Хранилище управления было построено с использованием высокоскоростных статических ОЗУ . Обычно он загружался во время начальной загрузки, что позволяло пользователю полностью программировать машину. Время цикла контрольной памяти составляло 125 нс, что соответствует самому быстрому циклу ЦП. Архитектура позволяла хранить до 32 Кслов (длина слова 64 бита) в хранилище управления, однако из-за ограничений в технологии памяти исходная реализация позволяла максимум 8 Кслов. Стандартная конфигурация имела 4 Кслова на одной печатной плате. Можно было установить две такие доски. Обеспечена проверка на четность. Для достижения требуемой скорости при разумных затратах вокруг магазина управления был применен двухуровневый конвейер. Позже была реализована плата на 16 Кслов, дающая максимальный размер хранилища управления 32 Кслова.

Основная память [ править ]

Основная память была организована в виде 32-битных слов с двусторонним чередованием, что позволяло извлекать или сохранять 64 бита данных за одну операцию. При нормальной работе доступ к основной памяти осуществлялся через блок управления виртуальной памятью.

В исходной реализации каждый модуль основной памяти содержал 0,5 Мбайт памяти с защитой четности, построенной с использованием 64 КБ динамической МОП-памяти. Время цикла произвольного доступа составляло 500 нс на 32-битное слово, но передача нескольких слов, например, в кэш и из кэша, давала эффективное время цикла 250 нс на 32-битное слово (16 Мбайт в секунду). Модули памяти декодировали 26-битные адреса физических слов, и в рамках этого ограничения общий объем памяти ограничивался только количеством доступных слотов системной шины; в зависимости от конфигурации ввода-вывода системы можно было установить до 10 Мбайт физической памяти. Более поздняя реализация модуля памяти увеличила размер до 2 МБ с использованием ОЗУ 256 КБ.

Преобразование логических адресов в физические осуществлялось с использованием набора таблиц преобразования адресов. Каждый процесс имеет доступ к трем независимо расширяемым областям памяти, обычно используемым для программы, кучи и стека. Четвертый регион обычно зарезервирован для операционной системы. Таблицы также содержат набор битов прав для каждой страницы памяти, обеспечивающий полную защиту и поддерживающий реализацию виртуальной памяти, выгружаемой по запросу. Таблицы трансляции кэшировались в CPU, что в большинстве случаев приводило к накладным расходам только одной микрокоманды при выполнении трансляции адресов. Размер страницы, фиксированный аппаратно, составлял 4 Кбайта. Каждая логическая область может иметь размер до 256 Мбайт.

Подсистема ввода / вывода [ править ]

Подсистемы ввода-вывода Orion включали ряд подключенных микрокомпьютеров для выполнения задач низкого уровня, таких как запуск диагностики и управление терминалами и дисками.

Диагностический микрокомпьютер (на базе Zilog Z80 ) был встроен в центральный процессор. Его функции включали запуск проверки достоверности системы при первом включении питания, загрузку ЦП и принятие управления в случае обнаружения неустранимой ошибки четности управляющего хранилища. Его также можно использовать для динамической загрузки нового микрокода во время работы машины. RS-232C интерфейс был предоставлен , к которому терминал может быть присоединен. Затем в сочетании со специальным микрокодом можно запустить расширенную диагностику для выполнения анализа неисправностей в случае сбоя системы. Проблемы обычно можно разделить на одну или две интегральные схемы.

Один или несколько интеллектуальных каналов ввода-вывода контролировали периферийную активность. Каждый из них включал в себя полнофункциональный микрокомпьютер на базе Z80, который выполнял функции управления и обслуживания. Передача данных к периферийным устройствам и от них происходила через путь прямого доступа к памяти (DMA), построенный с использованием микропроцессоров битового среза Am2901. Это позволяло использовать полную производительность системы памяти Orion и периферийного устройства, а микрокомпьютер мог принимать меры по исправлению ошибок ввода-вывода. Программное обеспечение на Orion взаимодействует с микрокомпьютером, используя протокол передачи сообщений высокого уровня.

Операционная система [ править ]

Операционной системой для микрокодируемого Orion была OTS (Orion Time Sharing) версии 1.x, портированная для операционной системы UNIX 4.1BSD .

Orions на базе Clipper работает под управлением OTS версии 2.x, порта 4.2BSD UNIX с некоторыми дополнениями. Это не было особенно надежным или безопасным и имело тенденцию «забывать» идентификаторы пользователей процессов, случайным образом оставляя пользовательские процессы запущенными от имени пользователя root .

HLH также произвела графический терминал для Orion под названием StarPoint , на который они перенесли систему X Window .

HLH Orions в Кентском университете

Серия Orion была умеренно популярна на факультетах информатики британских университетов, включая Вестфилдский колледж, Лондон , [3] Бат , Эдинбург , Хериот-Ватт , Кент , Саутгемптон , Уорик , Йорк , Королевский колледж в Лондоне . Типичная многопользовательский конфигурация Ориона имела бы 8 МБ в ОЗУ , SMD жесткий диск (например, 168 МБ Кеннеди или 434 МБ для Fujitsu Eagle), 60 МБ QIC-24 ленточных накопителя и от 8 до 32 терминальных портов RS-232 .

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

  1. ^ http://www.freaknet.org/martin/tape/gos/support/hlh/remc
  2. ^ http://www.cb1.com/~john/research/PhD/mandelbrot.txt
  3. ^ http://hlhco.info/photos/Guardian-Jan-04-1984.jpg

Библиография [ править ]

  • Orion, Высокопроизводительный персональный компьютер - Брошюра для продажи, выпущенная High Level Hardware Limited.
  • Орион 1/05 - Брошюра по продажам, выпущенная High Level Hardware Limited.
  • Руководство по настройке Orion - информация о продукте, подготовленная High Level Hardware Limited.
  • Фидлер, С. «Охота на высокие результаты с Орионом». Уникальный, системный источник информации UNIX. 7.9 (1989): 11-12. Распечатать.

Внешние ссылки [ править ]

  • Фотография HLH Orion в университете Бата
  • Оригинальный Orion, модернизированный до Orion 1/05 в компьютерной коллекции Джима Остина