stringtranslate.com

Серия ICL 2900

ICL 2966 Модель 39

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

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

Происхождение

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

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

Архитектурные концепции

Дисководы ICL 2966
Оператор, добавляющий единицу
Оператор, добавляющий единицу

Виртуальная машина

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

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

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

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

Термин, используемый в машинах серий ICL 2900 и ICL 39 для центрального процессора (ЦП), — «процессор кода заказа» (OCP).

Механизмы адресации

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

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

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

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

Существует несколько регистров, каждый из которых предназначен для определенной цели. Регистр-аккумулятор (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 обычно использовалась концепция «эквивалентного MIPS IBM», представляющая собой рейтинг MIPS мэйнфрейма IBM, который достиг той же пропускной способности в тестах приложений. Эффективность, достигнутая архитектурой 2900, в частности, исключение накладных расходов на системные вызовы, компенсировала относительно низкую производительность чистого оборудования.

Реализации

P (параллельная) серия

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

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

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

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

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

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

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

Серия S (серийная)

Первые машины впоследствии были заменены семейством машин, основанных на дизайне среднего класса 2966, который был менее затратным в производстве и использовал последовательные , а не параллельные соединения . 2966 был расширен по производительности до 2988 и до 2958, дополненный версиями с двумя процессорами , чтобы охватить весь диапазон производительности. [2]

Смотрите также

Источники

Ссылки

  1. ^ Кэмпбелл-Келли, Мартин (ноябрь 1989 г.). «Исследования и разработки компании ICL. Часть 3: Новый ассортимент и другие разработки» (PDF) . Технический журнал ICL . 6 (4). ICL: 791–795 . Получено 19 декабря 2021 г. .
  2. Морали, Деннис (ноябрь–декабрь 1981 г.). «Robb Wilmot: The ICL Story». Electronics & Power . 27 (11). doi :10.1049/ep.1981.0360 . Получено 18 декабря 2021 г.

Внешние ссылки

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