HLH Орион
В этой статье используются голые URL-адреса , которые неинформативны и уязвимы к порче ссылок . ( Август 2022 г. ) |
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2011 г. ) |
Orion , представлял собой серию 32-битных суперминикомпьютеров HLH разработанных и произведенных в 1980-х годах компанией Level Hardware Limited ( High ), базирующейся в Оксфорде , Великобритания . Компания выпустила четыре версии машины:
- Оригинальный Орион , иногда называемый «Микрокодируемым Орионом».
- Orion 1/05 , в котором микрокодируемый процессор был заменен гораздо более быстрым процессором Fairchild Clipper RISC C-100, обеспечивающим производительность примерно 5,5 MIPS при целочисленных операциях и 1 Мфлопс при производительности с плавающей запятой двойной точности.
- Orion 1/07 , который предлагал примерно на 33% большую производительность по сравнению с 1/05 (7,3 MIPS и 1,33 Мфлопс).
- Orion 1/10 более позднего поколения основан на C-300 Clipper от подразделения усовершенствованных процессоров Intergraph Corporation, который требовал интенсивного охлаждения. Orion 1/10 обеспечил дальнейшее улучшение на 30% для операций с целыми числами и одинарной точностью с плавающей запятой и более чем на 150% улучшение для операций с плавающей запятой двойной точности (10 MIPS и 3 Мфлопс).
Все четыре машины использовали одну и ту же подсистему ввода-вывода.
Фон
[ редактировать ]High Level Hardware — независимая британская компания, основанная в начале 1982 года Дэвидом Г. Смоллом и Тимоти Б. Робинсоном. Дэвид Смолл ранее был одним из основателей и директором базирующейся в компании Оксфорде Research Machines Limited. Оба партнера ранее были старшими членами группы специальных проектов Research Machine. В 1984 году в результате этого исследования High Level Hardware выпустила Orion, высокопроизводительный микрокодируемый UNIX суперминикомпьютер , предназначенный, в частности, для научных приложений, таких как математическое моделирование , искусственный интеллект и символическая алгебра .
В апреле 1987 года High Level Hardware представила серию Orion на базе процессора Fairchild Clipper, но в конце 1989 года покинула рынок оборудования, чтобы сконцентрироваться на продажах высокопроизводительных Apple Macintosh .
Микрокодируемый Орион
[ редактировать ]В оригинальном Orion использовалась архитектура процессора, основанная на устройствах серии Am2900 . Этот процессор был новым в том смысле, что его микрокод был доступен для записи; другими словами, его набор инструкций можно было переопределить. Эта возможность использовалась для настройки некоторых Орионов с наборами инструкций, оптимизированными для работы с Occam и LISP. языками программирования [1] или даже вычислять фракталы. [2]
Центральный процессор
[ редактировать ]ЦП , состоял из АЛУ построенного на базе побитового микропроцессора Am2901 . К этому был добавлен блок манипуляции с байтами, который мог выполнять операции сдвига, вращения и маскировки, необходимые для обработки восьми- и шестнадцатибитных данных. Была предоставлена дополнительная логика для поддержки как знакового, так и беззнакового сравнения двух чисел в одной операции, арифметики с множественной точностью и нормализации с плавающей запятой . Большинство операций можно было выполнить за 150 нс, однако время цикла изменялось от 125 нс до 200 нс под управлением микропрограммы, что позволяло оптимизировать время. Микросеквенсор, основанный на Am2910, направлял поток управления через микропрограмму. Он мог выполнять ветвления, циклы и вызовы подпрограмм, большинство из которых могли быть обусловлены любым из нескольких условий состояния ЦП.
Декодер инструкций ЦП , декодированные инструкции машинного уровня (в отличие от микроинструкций). Это было достигнуто за счет использования таблиц отображения, хранящихся в оперативной памяти с быстрой проверкой четности, которая отображала однобайтовые коды операций на адреса микроинструкций. Управление по этим адресам передавалось с помощью специальной операции секвенсора, которая выполнялась параллельно с другими функциями ЦП . Следовательно, декодирование инструкций перекрывает выполнение инструкций.
Был предусмотрен механизм выхода, позволяющий расширить набор инструкций за пределы 256 записей, выбранных любым одним кодом операции. Существовал дополнительный механизм переключения между несколькими наборами таблиц диспетчеризации, позволяющий машине одновременно поддерживать несколько наборов команд. Используя этот механизм, каждый раз при переключении контекста можно было выбирать другой набор команд. Этот механизм также использовался для реализации привилегированных инструкций, динамического профилирования (для мониторинга производительности) и нескольких режимов ЦП (например, User и Kernel ).
Роль кэш-памяти , независимой от основной памяти, заключалась в том, чтобы удерживать верхнюю часть стека вычислений процедурно-ориентированного языка. Кэш имел задержку в два цикла, после чего он мог доставлять одно слово за цикл, и был разделен на несколько страниц, каждая из которых содержала 512 32-битных слов с защитой четности. Страницы были сгруппированы по парам с архитектурным максимумом в 16 пар. В исходной машине реализованы две пары. Второй член каждой пары обычно использовался в качестве дополнительных быстрых регистров и временного хранилища, не затрагивая страницу стека. Младшие девять бит регистра ЦП, которые обращались к кешу, были реализованы с помощью счетчиков и допускали операции увеличения и уменьшения (push и pop), а также произвольный доступ.
Магазин управления
[ редактировать ]Хранилище управления было построено с использованием высокоскоростной статической оперативной памяти . Обычно он загружался во время начальной загрузки, что позволяло полностью микропрограммировать машину пользователем. Время цикла сохранения управления составляло 125 нс, что соответствует самому быстрому циклу ЦП. Архитектура позволяла хранить до 32 килослов (длина слова 64 бита), однако из-за ограничений в технологии памяти исходная реализация допускала максимум 8 килослов. В стандартной конфигурации на одной плате было 4 тыс. слов. Таких плат можно было установить две. Была предусмотрена проверка четности. Для достижения необходимой скорости при разумных затратах вокруг хранилища управления был использован двухуровневый трубопровод. Позже была реализована плата на 16 килослов, обеспечивающая максимальный размер хранилища элементов управления 32 килослова.
Основная память
[ редактировать ]Основная память была организована в виде 32-битных слов с двусторонним чередованием, что позволяло извлекать или сохранять 64 бита данных за одну операцию. В обычном режиме доступ к основной памяти осуществлялся через блок управления виртуальной памятью.
В исходной реализации каждый модуль основной памяти содержал 0,5 Мбайт памяти с защитой четности, созданной с использованием динамической MOS RAM емкостью 64 КБ. Время цикла произвольного доступа составляло 500 нс на 32-битное слово, но передача нескольких слов, например в кэш и из него, давала эффективное время цикла 250 нс на 32-битное слово (16 Мбайт в секунду). Модули памяти декодировали 26-битные адреса физических слов, и в этом пределе общая емкость памяти ограничивалась только количеством доступных слотов системной шины; в зависимости от конфигурации ввода-вывода системы можно было установить до 10 Мбайт физической памяти. В более поздней реализации модуля памяти размер был увеличен до 2 МБ с использованием ОЗУ 256 КБ.
Трансляция логических адресов в физические осуществлялась с использованием набора таблиц трансляции адресов. Каждый процесс имеет доступ к трем независимо расширяемые области памяти, обычно используемые для программ, кучи и стека. Четвертый регион обычно зарезервирован для операционной системы. Таблицы также содержали набор битов прав для каждой страницы памяти, обеспечивающий полную защиту и поддерживающий реализацию виртуальной памяти, выгружаемой по запросу. Таблицы трансляции кэшировались в ЦП, что в большинстве случаев приводило к затратам всего одной микроинструкции при выполнении трансляции адресов. Размер страницы, фиксируемый аппаратно, составлял 4 Кбайт. Каждая логическая область может иметь размер до 256 Мбайт.
Подсистема ввода/вывода
[ редактировать ]Подсистемы ввода-вывода «Орион» включали в себя ряд подключенных микрокомпьютеров для выполнения задач низкого уровня, таких как запуск диагностики и управление терминалами и дисками.
Диагностический микрокомпьютер (на базе Zilog Z80 ) был встроен в ЦП. В его функции входило выполнение проверки достоверности системы при первом включении питания, загрузка ЦП и принятие управления в случае обнаружения неисправимой ошибки четности хранилища управления. Его также можно было использовать для динамической загрузки нового микрокода во время работы машины. Был предусмотрен интерфейс RS-232C , к которому можно было подключить терминал. Затем можно было бы запустить расширенную диагностику в сочетании со специальным микрокодом для анализа неисправностей в случае сбоя системы. Проблемы обычно могут быть связаны с одной или двумя интегральными схемами.
Один или несколько интеллектуальных каналов ввода-вывода управляли периферийной активностью. Каждый из них включал полнофункциональный микрокомпьютер на базе Z80, который выполнял функции управления и ведения домашнего хозяйства. Передача данных на периферийные устройства и обратно осуществлялась через путь прямого доступа к памяти (DMA), который сам построен с использованием побитовых микропроцессоров Am2901. Это позволило полностью использовать производительность системы памяти Orion и периферийных устройств, а микрокомпьютер мог принимать корректирующие меры в случае программных ошибок ввода-вывода. Программное обеспечение «Ориона» взаимодействовало с микрокомпьютером, используя протокол передачи сообщений высокого уровня.
Операционная система
[ редактировать ]Операционной системой для микрокодируемого Orion была OTS (Orion Time Sharing) версии 1.x, порт 4.1BSD UNIX операционной системы .
Orions на базе Clipper работал под управлением OTS версии 2.x, порта 4.2BSD UNIX с некоторыми дополнениями. Это не было особенно надежным и безопасным и имело тенденцию «забывать» идентификаторы пользователей процессов, случайным образом оставляя пользовательские процессы запущенными от имени пользователя root .
HLH также выпустила графический терминал для Orion под названием StarPoint , на который они портировали систему X Window .
Серия «Орион» пользовалась умеренной популярностью среди факультетов информатики британских университетов, в том числе Вестфилд-колледжа в Лондоне . [3] Бат , Эдинбург , Хериот-Уотт , Кингстонский политехнический институт , Кент , Саутгемптон , Уорик , Йорк , Королевский колледж, Лондон . Типичная многопользовательская конфигурация Orion имела 8 МБ ОЗУ -24 на 60 МБ , SMD жесткий диск (например, Kennedy на 168 МБ или Fujitsu Eagle на 434 МБ), ленточный накопитель QIC и от 8 до 32 RS-232. терминальных портов .
Ссылки
[ редактировать ]Библиография
[ редактировать ]- Orion, высокопроизводительный персональный компьютер — брошюра о продажах, выпущенная High Level Hardware Limited.
- Orion 1/05 — Брошюра о продажах, выпущенная High Level Hardware Limited.
- Руководство по настройке Orion — информация о продукте, предоставленная High Level Hardware Limited.
- Фидлер, С. «В поисках высокой производительности с Orion». Уникальный источник информации о системе UNIX. 7,9 (1989): 11–12. Распечатать.