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

Серия ICL 2900 - это серия компьютерных систем для мэйнфреймов, анонсированных британским производителем ICL 9 октября 1974 года. Компания начала разработку под названием «New Range» сразу после своего образования в 1968 году. ни с любыми предыдущими машинами, производимыми компанией, ни с машинами конкурентов: скорее, он был задуман как синтетический вариант, сочетающий лучшие идеи, доступные из различных источников.

С точки зрения маркетинга, серия 2900 была заменена серией 39 в середине 1980-х годов; тем не менее, Series 39 был, по сути, новым набором машин, реализующих архитектуру серии 2900, как и последующие машины ICL под торговой маркой «Trimetra».

Истоки [ править ]

Когда ICL была образована в 1968 году в результате слияния компаний International Computers and Tabulators (ICT) с English Electric Leo Marconi и Elliott Automation, компания рассматривала ряд вариантов для своей будущей линейки продуктов. Сюда входили усовершенствования ICT серии 1900 или English Electric System 4 , а также разработка, основанная на базовой языковой машине Дж. К. Илиффа . В итоге был выбран так называемый синтетический вариант : новый дизайн, начинающийся с чистого листа бумаги.

Как следует из названия, на дизайн повлияли многие источники. К ним относятся собственные более ранние машины ICL. Дизайн мэйнфреймов Burroughs оказал большое влияние, хотя ICL отвергла концепцию оптимизации дизайна для одного языка высокого уровня. Система Multics предоставила и другие идеи, особенно в области защиты. Однако наибольшее влияние извне, вероятно, оказала машина MU5, разработанная в Манчестерском университете .

Терминал ICL 7561, используемый как консоль оператора

Архитектурные решения [ править ]

Виртуальная машина [ править ]

Архитектура серии 2900 использует понятие «виртуальная машина» как набор ресурсов, доступных программе. Понятие «виртуальная машина» в архитектуре серии 2900 не следует путать с тем, как этот термин используется в других средах . Поскольку каждая программа выполняется на своей собственной виртуальной машине, эту концепцию можно сравнить с процессом в других операционных системах, в то время как процесс серии 2900 больше похож на поток .

Самый очевидный ресурс виртуальной машины - это виртуальное хранилище (память). Другие ресурсы включают периферийные устройства, файлы, сетевые подключения и так далее.

В виртуальной машине код может работать на шестнадцати различных уровнях защиты, называемых уровнями доступа (или уровнями ACR после регистра контроля доступа, который управляет механизмом). Наиболее привилегированные уровни кода операционной системы (ядро) работают на той же виртуальной машине, что и пользовательское приложение, как и промежуточные уровни, такие как подсистемы, для реализации доступа к файловому хранилищу и сети. Таким образом, системные вызовы связаны с изменением уровня защиты, но не требуют дорогостоящего вызова кода на другой виртуальной машине. Каждый модуль кода выполняется на определенном уровне доступа и может вызывать функции, предлагаемые кодом более низкого уровня (более привилегированным), но не может осуществлять прямой доступ к памяти или другим ресурсам на этом уровне. Таким образом, архитектура предлагает встроенный механизм инкапсуляции для обеспечения целостности системы.

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

Механизмы адресации [ править ]

Дисковые накопители ICL 2966

Архитектура 2900 поддерживает аппаратный стек вызовов , обеспечивая эффективное средство для выполнения программ на языке высокого уровня, особенно тех, которые допускают рекурсивные вызовы функций. В то время это было дальновидное решение, так как ожидалось, что доминирующими языками программирования изначально будут COBOL и FORTRAN . Архитектура предоставляет встроенные механизмы для выполнения вызовов процедур с использованием стека и регистры специального назначения для адресации вершины стека и основания текущего кадра стека.

Данные вне стека обычно адресуются через дескриптор. Это 64-битная структура, содержащая 32-битный виртуальный адрес плюс 32 бита управляющей информации. Управляющая информация определяет, является ли адресуемая область кодом или данными; в случае данных - размер адресованных элементов (1, 8, 32, 64 или 128 бит); флаг, указывающий, требуется ли проверка привязки аппаратного массива; и различные другие усовершенствования.

32-битный виртуальный адрес состоит из 14-битного номера сегмента и 18-битного смещения внутри сегмента.

Технически код заказа не является частью архитектуры 2900: этот факт использовался для имитации других машин путем микрокодирования их наборов команд. Однако на практике все машины серии 2900 реализуют общий код заказа или набор инструкций, известный как PLI (интерфейс примитивного уровня). Это в первую очередь предназначено для компиляторов языков высокого уровня.

Есть несколько регистров, каждый из которых предназначен для специального назначения. Регистр накопителя (ACC) доступен для общего использования и может иметь размер 32, 64 или 128 бит. Регистр B используется для индексации в массивы; регистр LNB (Local Name Base) указывает на основание текущего кадра стека, а регистр SF (Stack Front) указывает на подвижную «вершину» стека; регистр DR используется для хранения дескрипторов для адресации в куче и так далее. Также есть два 32-битных указателя на данные вне стека; XNB (eXtra Name Base) и LTB (Linkage Table Base).

Форматы данных, распознаваемые инструкциями PLI, включают 32-разрядные целые числа без знака; 32-битные и 64-битные целые числа с дополнением до двух; 32-битные, 64-битные и 128-битные числа с плавающей запятой; и 32-битный, 64-битный и 128-битный упакованный десятичный формат. Обычно (что странно для тех, кто знаком с C и UNIX) логическое значение true представляется как ноль, а false - как минус один. Строки хранятся в виде массивов 8-битных символов, обычно закодированных в EBCDIC (хотя EBCDIC ICL имеет незначительные отличия от версии IBM). Можно использовать ISO (по сути, ASCII) вместо EBCDIC, установив управляющий бит в привилегированный регистр; среди прочего , это влияет на некоторые инструкции десятичного преобразования.

Поскольку некоторые из инструкций PLI, особенно для вызова процедур (особенно системных вызовов), очень мощные, скорость выполнения инструкций в серии 2900 не всегда напрямую сопоставима с таковой на оборудовании конкурентов. В маркетинговой литературе ICL использовалась концепция «IBM-эквивалента MIPS», представляющая собой рейтинг MIPS мэйнфрейма IBM, который достиг такой же производительности в тестах приложений. Эффективность, достигаемая архитектурой 2900, в частности, предотвращение накладных расходов на системные вызовы, компенсировала относительно низкую чистую производительность оборудования.

Реализации [ править ]

Первыми машинами, объявленными в серии 2900, были модели 2980 и 2970. Модель 2980 позволяла использовать один или два процессора кода заказа (OCP), каждый из которых работал со скоростью до 3 миллионов инструкций в секунду, с реальной памятью, настраиваемой до 8 мегабайт, с 500 наносекундное время доступа.

Изначально 2980 был самым мощным из мэйнфреймов ICL New Range. Помимо OCP, он состоял из контроллера множественного доступа к хранилищу (SMAC) и одного или нескольких контроллеров доступа к хранилищу (SAC), общего периферийного контроллера (GPC), одного или нескольких контроллеров файловых дисков (DFC) и контроллера канала связи. (CLC) вместе с дисководами (типичная конфигурация будет иметь восемь приводов EDS 200), ленточными деками, рабочей станцией (OPER), линейными принтерами и кардридерами. Он поддерживает операционные системы VME / B, VME / K и Edinburgh Multiple Access System (EMAS). Типичная конфигурация 2980 будет стоить около 2 миллионов фунтов стерлингов.

В отличие от 2980, 2970 и последующий 2960 были микрокодированы, что позволяло имитировать наборы команд, такие как старые серии 1900 или System 4.

Машина серии 2900 состоит из ряда функциональных модулей, каждый из которых находится в отдельном шкафу. Периферийные устройства были подключены с помощью примитивного интерфейса ICL (розетка / вилка и набор кабелей) к адаптеру порта на SMAC. Применялась логическая адресация и использовалась групповая схема для идентификации компонентов системы с точки зрения портов, магистралей и потоков.

Ствол был родовое название и адрес устройства в порт , к которому периферийный контроллер будет назначен. Ствол был общим названием для контроллера для ряда устройств потока. Поток был общим названием для канала , под которым может быть ссылкой отдельных периферийные устройства.

Особого упоминания заслуживает процесс загрузки серии 2960: OCP содержал терминал mini OPER и кассетную деку. При загрузке OCP будет выполнять свою начальную загрузку программы (IPL) с назначенного устройства IPL. Код IPL предоставил средство OCP для обнаружения аппаратной конфигурации системы путем запроса потока (ов), магистрали (ов) и порта (ов), чтобы найти загрузочное устройство по умолчанию или выбранное вручную загрузочное устройство для набора микрокодов и / или Операционная система для загрузки. Этот процесс получил название GROPE или General Reconnaissance Of Peripheral Equipment. Метод загрузки кассеты также позволял инженерному персоналу загружать и запускать диагностическое программное обеспечение.

Обработчик кода заказа [ править ]

Процессор кода заказа ( OCP ) - это термин, используемый в машинах ICL 2900 Series и ICL Series 39 для центрального процессора (CPU). [1] [2]

См. Также [ править ]

  • VME - операционная система для серии ICL 2900, не путать с (более поздней) встроенной операционной системой.
  • Эдинбургская система множественного доступа - операционная система, отличная от ICL, для серии ICL 2900 (и других машин)
  • Хранилище файлов с адресацией по содержанию (CAFS)
  • Процессор распределенных массивов ICL (DAP)

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

  1. ^ "Обработчик кода заказа" . 6 мая 1995 . Проверено 1 мая 2013 года .
  2. ^ "Обработчик кода заказа" . 6 мая 1995 . Проверено 17 мая 2009 года .[ мертвая ссылка ]
  • Серия ICL 2900 . JK Пряжка. Серия Macmillan Computer Science, 1978. ISBN 0-333-21917-1 . 
  • Краткое описание системной архитектуры серии ICL 2900. JL Киди. В компьютерных структурах: принципы и примеры , ред. Дэниел П. Севиорек, К. Гордон Белл и Аллен Ньюэлл. Первоначально опубликовано в Australian Computer Journal , vol. 9, вып. 2, июль 1977 г., стр. 53–62. Доступно онлайн

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

Машина ICL 2966 примерно 1982 года выпуска находится в Национальном музее вычислительной техники в Блетчли-парке . Более подробную информацию можно найти по адресу:

  • Галерея больших систем

Шкафы на переднем плане, обозначенные 44, 45 и т. Д., Представляют собой сменные дисководы; пластиковые контейнеры наверху шкафов используются для хранения дисков, если они сняты с дисководов. Емкость больших контейнеров с большим количеством пластин составляет 200 МБ, в меньших - 40 МБ. Оранжевый цвет шкафов (официально «сгоревшее танго») был доминирующим цветом в корпоративном имидже ICL на момент выпуска системы.

  • Дж. К. Пряжка (ноябрь 1978 г.). «Истоки серии 2900» (PDF) . Технический журнал ICL . ICL. 1 (1). ISSN  0142-1557 . Проверено 7 ноября 2015 года .
  • Мартин Кэмпбелл-Келли (ноябрь 1989 г.). «Исследования и разработки компании ICL, часть 3: новый диапазон и другие разработки, 1968-85» (PDF) . Технический журнал ICL . ICL. 6 (4). ISSN  0142-1557 . Проверено 7 ноября 2015 года .