stringtranslate.com

Серия ГЭК 4000

Компьютеры серии GEC 4000 в Центре разработки Dunstable компании GEC Computers, 1991 г.
Передняя панель GEC 4080 [1]

GEC 4000 представлял собой серию 16 / 32-битных миникомпьютеров , производившихся компанией GEC Computers Ltd в Великобритании в 1970-х, 1980-х и начале 1990-х годов.

История

GEC Computers была основана в 1968 году как бизнес-подразделение конгломерата GEC . Компания унаследовала от Elliott Automation устаревшую серию Elliott 900, и ей потребовалось разработать новую линейку систем. Были идентифицированы три диапазона, известные внутри компании как Альфа, Бета и Гамма. Alpha появилась первой и стала 8-битным миникомпьютером GEC 2050 . За ним последовала бета-версия, ставшая GEC 4080. Gamma так и не была разработана, поэтому некоторые из ее расширенных функций были впоследствии возвращены в модель 4080. Главным разработчиком GEC 4080 был доктор Майкл Меллиар-Смит, а главным разработчиком моделей 4060 и 4060. В 4090 году был Питер Макли.

Системы серии 4000 были разработаны и изготовлены в Великобритании в офисах GEC Computers в Борехамвуде на Элстри-Уэй. В конце 1970-х годов разработка и производство были перенесены на новые заводы компании в Вудсайд-Эстейт, Данстейбл . В 1979 году компания GEC Computers была награждена Королевской премией за технические достижения за разработку серии 4000, в частности Nucleus. [2] К 1991 году количество производимых систем сокращалось, поэтому производство было переведено на завод GPT в Бистоне, Ноттингемшир , а разработка вернулась в Борехамвуд. Последние системы были изготовлены примерно в 1995 году. В 2018 году все еще работало несколько систем GEC 4220 с обслуживанием, проводимым Telent , а некоторые GEC 4310 работали до 2013 года. Лондонский метрополитен продолжает использовать системы GEC 4190 в 2022 году.

Ядро

Аппаратное обеспечение и встроенное ПО серии GEC 4000 включали в себя новаторскую функцию, известную как Nucleus . [3] Nucleus реализует ряд функций, которые чаще всего реализуются в ядре операционной системы , и, следовательно, операционные системы, работающие на системах серии GEC 4000, не должны сами напрямую предоставлять эти функции. Прошивка Nucleus не может быть перепрограммирована каким-либо кодом, работающим в системе, и это сделало системы особенно привлекательными для ряда приложений безопасности.

Ядро выполняет: [4]

В системах 4000 не предусмотрена возможность запуска какого-либо кода режима супервизора/привилегированного режима/ядра — весь код операционной системы выполняется как процессы. Следовательно, драйверы устройств , код файловой системы и другие функции, которые часто встречаются в ядрах операционной системы, должны запускаться в процессах систем 4000. Неотъемлемой частью этого является то, что все они работают в своих собственных адресных пространствах, защищенных от действий друг друга, как и все процессы.

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

Набор инструкций

Серия 4000 имеет набор инструкций CISC . Он имеет 8-битные байты , память с побайтовой адресацией с обратным порядком байтов , арифметику с дополнением до двух и формат с плавающей запятой по основанию 16 с превышением 64 (такой же, как IBM System/360 ). [5]

Номера моделей ниже 4090 представляют собой 16-битные процессоры, а номера моделей от 4090 и выше представляют собой смешанные 16-битные и 32-битные процессоры. Это относится к размерам указателей, доступных программам. Все системы поддерживают 16-битные указатели, известные как адресация CST (таблица текущих сегментов). 32-битные системы также поддерживают 32-битные указатели, известные как адресация PAS (выгружаемое адресное пространство). Каждый процесс имеет PAST (таблицу сегментов, доступных для программы), в которой указано, к каким сегментам системной памяти программе разрешен доступ. Адресация CST позволяет сопоставить четыре записи PAST по адресам 0, 16 КБ, 32 КБ и 48 КБ, что дает адресное пространство 16 бит/64 КБ. Программы, которые используют более 64 КБ памяти, должны явно сопоставлять нужные им записи PAST в любой момент с их 4 записями CST, хотя Nucleus автоматически сопоставляет различные сегменты кода с CST. Адресация PAS позволяет программам рассматривать свое адресное пространство как плоское 32-битное адресное пространство с последовательными записями PAST, появляющимися каждые 16 КБ, а Nucleus автоматически выполняет сопоставление сегментов записей PAST. 32-битные системы поддерживают сочетание адресации CST и PAS в одном процессе. Все инструкции имеют ширину 16 бит, за исключением некоторых инструкций адресации PAS, размер которых составляет 32 бита. Инструкции могут выполняться только из адресного пространства CST.

32-битный регистр A является основным регистром аккумулятора. Существует также 32-битный регистр B, который чаще всего используется вместе с регистром A как 64-битный регистр BA для операций с плавающей запятой двойной точности. 16-битный регистр X используется в основном для индексации массива, а два 16-битных регистра Y и Z используются в качестве 16-битных указателей. 16-битный регистр L указывает на локальные данные функции, а регистр G всегда содержит ноль, который можно использовать как 16-битный глобальный указатель, а также 8-битное, 16-битное или 32-битное нулевое значение. 16-битный регистр S (последовательность) указывает на следующую команду, которую необходимо выполнить. 8-битный регистр EC содержит биты кодов состояний. (Часть этого проиллюстрирована в гораздо более простом наборе команд GEC 2050. ) Регистр «ключей», доступный только для чтения, позволяет программам считывать значения, установленные на тумблерах на передней панели оператором. Никакого 32-битного регистра указателя PAS не существует — 32-битные указатели PAS находятся в памяти в 16-битном адресном пространстве CST, и доступ к ним осуществляется с помощью 16-битного указателя. Для стека не существует поддержки набора команд . Существует ряд регистров, недоступных программам, которые используются Nucleus, например, регистры аппаратного сегмента, которые указывают на четыре CST работающего процесса, главный сегмент и сегменты PAS, а также системные таблицы.

Набор команд содержит инструкции, которые выполняют операции «регистр-регистр», «сохранение-регистр», «регистр-сохранение» и «сохранение-сохранение». Существует набор инструкций по манипулированию строками, которые работают с переменной длиной сохранения, копирования, сравнения или сканирования шаблона. Существует ряд инструкций Nucleus для таких задач, как отправка сообщения другому процессу или периферийному устройству, получение сообщения или прерывания, изменение записи CST, чтобы она указывала на другой сегмент, доступный процессу, и т. д.

4080 имеет двухэтапный конвейер инструкций . Это становится четырехступенчатым конвейером для 4220, самой высокопроизводительной системы в серии. Системы начального уровня 415x и 4x6x имеют только одноступенчатый конвейер.

Нормальный режим работы ЦП называется Full Nucleus . Все системы также поддерживают ограниченный режим работы, называемый базовым тестом . В режиме базового тестирования Nucleus отключен, ввод-вывод выполняется по-другому, и может работать только одна программа, ограниченная нижними 64 КБ памяти, но все остальные инструкции, не относящиеся к ядру и не PAS, работают нормально. Этот режим используется на самых ранних этапах загрузки для настройки системных таблиц, необходимых Nucleus, перед выполнением инструкции Switch Full Nucleus . После переключения системы в режим Full Nucleus она не может вернуться в режим базового тестирования без вмешательства оператора на передней панели, что фактически убивает любую работающую операционную систему. Режим базового тестирования также используется для запуска определенного тестового программного обеспечения (отсюда и название).

Ввод, вывод

Конструкция 4000 I/O основана на нескольких процессорах ввода-вывода, известных как IOP , каждый из которых взаимодействует между хранилищем и набором контроллеров ввода-вывода. Операции ввода-вывода контролируются функцией Nucleus в ЦП, но как только запускается событие ввода-вывода, они работают автономно, без взаимодействия с ЦП, пока ввод-вывод не завершится. Каждый IOP обычного интерфейса может поддерживать до 255 или 256 одновременных операций ввода-вывода, каждая на отдельном пути . Каждый контроллер ввода-вывода на каждом IOP будет занимать один или несколько путей, в зависимости от того, сколько одновременных операций ввода-вывода им необходимо обработать. IOP контролирует доступ каждого Way к основному хранилищу, разрешая доступ только к последовательным ячейкам памяти, определенным для операции ввода-вывода, которую Way выполняет в данный момент. Более ранние IOP осуществляли доступ к хранилищу шириной 8 и 16 бит с пакетным режимом для одновременного выполнения до 8 передач для контроллеров ввода-вывода с более высокой пропускной способностью. Более поздние IOP добавили доступ к хранилищу шириной 32 бита.

Все системы имеют хотя бы один IOP. В 4080 этот первый IOP назывался базовым каналом мультиплексора [6] или BMC, а передняя панель 4080 обеспечивает управление как ЦП, так и BMC. В системах начального уровня 415x и 4x6x первый IOP (Integral Multiplexer Channel, или IMC) интегрирован в прошивку Nucleus, и, таким образом, операции ввода-вывода на IMC действительно оказывали некоторое влияние на производительность ЦП, хотя системы 4x6x могли иметь внешние IOP. добавлен. Инструкции ввода-вывода и системные таблицы Nucleus серии 4000 допускают до 8 операций ввода-вывода в секунду, хотя большинство моделей серии 4000 имели некоторые аппаратные ограничения, которые уменьшали это значение. Системы 408x имели 4-портовое хранилище, при этом ЦП и первый IOP использовали один из них, а к остальным портам хранилища подключалось до трех дополнительных IOP. (Ранняя документация показывает, что эти дополнительные порты магазина также были предназначены для подключения дополнительных процессоров, хотя эта конфигурация никогда не продавалась с процессорами 4080.) Более поздние модели имели больше портов магазина, в зависимости от того, сколько плат портов магазина можно было установить в система. Модель 4190 могла поддерживать полный набор из восьми операций ввода-вывода в секунду, а 4190D поддерживала восемь операций ввода-вывода в секунду с двумя процессорами.

Некоторые часто используемые контроллеры ввода-вывода — это интервальный таймер , контроллер системной консоли , устройство чтения перфоленты и контроллеры перфорации, контроллер линейного принтера (все они используют один путь), ряд контроллеров дисков SMD (и более раннего интерфейса дисковой шины) для управления. до четырех накопителей (все с использованием двух способов), контроллеры магнитной ленты Pertec PPC для четырех ленточных накопителей 12 дюйма и ряд многопортовых синхронных и асинхронных контроллеров последовательной связи (с использованием от 4 до 32 способов). Плата цифрового ввода-вывода (с использованием четырех способов) обычно использовалась для прямого интерфейса управления процессом и для обеспечения быстрого параллельного соединения между системами. Также был доступен контроллер ящика CAMAC (опять же, используемый для интерфейса управления процессом).Шина обычного интерфейса к которому подключаются эти контроллеры, является опубликованным интерфейсом [7] , и многие клиенты также создавали свои собственные контроллеры для своих конкретных требований к управлению технологическими процессами.Более ранний миникомпьютер GEC 2050 использовал 8-битную версию обычного интерфейса, и большинство операций ввода-вывода Контроллеры могут использоваться в обоих диапазонах систем.

Все IOP, спроектированные и построенные в 1970-е годы, обеспечивали одну и ту же шину обычного интерфейса для контроллеров ввода-вывода, и контроллеры ввода-вывода обычно можно было использовать в любом из них. В 1980-х годах были разработаны еще несколько специализированных IOP. IOP директора прямого доступа к памяти (DMAD) позволил создать новый тип контроллера ввода-вывода, который имел больше свободы доступа к основной памяти и позволил разработать более интеллектуальные коммуникационные контроллеры. SCSI IOP создавал шину SCSI для подключения более современных дисков, а также включал встроенный интервальный таймер, контроллер системной консоли и календарные часы, так что для поддержки только этих функций не требовался дополнительный IOP обычного интерфейса и отдельные контроллеры.

Клиенты

Пользователями систем серии GEC 4000 были многие физические и инженерные факультеты британских университетов, центральная вычислительная служба Университетского колледжа Лондона (Евклид) и Университета Кила , коммутационная магистраль академической/исследовательской сети JANET X.25 , Лаборатория Резерфорда-Эпплтона [8]. Лаборатория Дарсбери , Лаборатория Харвелла , NERC , Метеорологическое бюро , ЦЕРН , ICI , British Telecom , SIP (итальянская телекоммуникационная компания ) и Плесси . British Steel Corporation и BHP Steel использовали их для управления прокатными сталелитейными заводами в реальном времени, British Rail и лондонский метрополитен для планирования движения поездов в реальном времени, London Fire Brigade и Durham Fire Brigade для систем управления и контроля. Компьютеры контролировали большинство мировых национальных систем Videotex , включая службу просмотра данных Prestel .

В лаборатории Резерфорда-Эпплтона система GEC 4000 использовалась для управления синхротроном и инжекторами, используемыми для источника нейтронного расщепления ISIS до 1998 года.

GEC 4080M использовался в качестве центрального процессора радиолокационной системы злополучного самолета дальнего радиолокационного обнаружения Nimrod AEW.3 . [9]

Центральный совет по производству электроэнергии использовал процессоры GEC 4080 в трех своих центрах управления энергосистемой. Известные как GI74, они использовались для сбора данных с подстанций и отображения их на настенных диаграммах и табличных дисплеях.

Модели

Было выпущено несколько вариантов процессора GEC 4000, в том числе (в примерном хронологическом порядке):

Программное обеспечение

Для серии GEC 4000 было доступно несколько операционных систем, в том числе:

Доступные языки программирования включали Babbage ( язык ассемблера высокого уровня ), FORTRAN IV , CORAL 66 , ALGOL , APL и BASIC .

Бэббидж

Бэббидж — это язык ассемблера высокого уровня для миникомпьютеров серии GEC 4000 . Он появился в 1971 году. [10] [11] Он был назван в честь Чарльза Бэббиджа , английского пионера компьютеров. [10]

Пример

Этот код печатает факториал чисел от 1 до 9.

ПРОЦЕСС ГЛАВА ФАКТОРИАЛТОЧКА ВХОДАЛИТЕРАЛ TO = 4 // Предположим, что используется проформа по умолчаниюВНЕШНЯЯ РУТИНА ОТКРЫТЬ, ПОМЕЩАТЬ, ЗАКРЫВАТЬ, ТОЧАРВЕКТОР [0,19] БАЙТА ОТВЕТА = "факториал x = xxxxxx" ПОЛОВИНА СЧЕТАПОЛОВИНА СТОИМОСТИПОЛНЫЙ РЕЗУЛЬТАТ//************************************************ ****************************** ОБЫЧНЫЙ ФАКТ(ЗНАЧЕНИЕ) // возвращаем факториал RA. ЗНАЧЕНИЕ => РЕЗУЛЬТАТ ПОКА УМЕНЬШИТЬ ЗНАЧЕНИЕ GT //0// DO << РЕЗУЛЬТАТ * ЗНАЧЕНИЕ => РЕЗУЛЬТАТ >> ВОЗВРАТ(РЕЗУЛЬТАТ) КОНЕЦ//************************************************ ******************************ВХОДНАЯ ТОЧКА: ОТКРЫТЬ(ДО, 1) // Выводим факториалы чисел от 1 до 9 1 => РА ПОВТОРИТЬ << РА => СЧЕТ ФАКТ(РА) => РА ТОЧАР(РА,7,ОТВЕТ+13) ТОЧАР(СЧЕТ, 2, ОТВЕТ + 9) СТАВИТЬ(ТО, 20, ОТВЕТ) СЧЕТ + 1 => РА >> ПОКА РА LT 10 РЯДОМ С) СТОП(0) КОНЕЦ//************************************************ ******************************

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

Рекомендации

  1. ^ «Управление и мониторинг центрального процессора» (PDF) . Компьютер GEC 4000 . Декабрь 1977 года . Проверено 15 июня 2009 г.
  2. ^ «Пресс-релиз: GEC Computers получает премию Королевы» (PDF) . 21 апреля 1979 г. Архивировано из оригинала (PDF) 22 октября 2019 г.
  3. ^ «Руководство по ядру центрального процессора» (PDF) . Компьютер GEC 4000 . Декабрь 1977 года . Проверено 15 июня 2009 г.
  4. ^ П. Дж. Деннинг, «Письмо президента ACM: компьютерная архитектура: некоторые старые идеи, которые еще не совсем реализованы», Communications of the ACM , 24 (9), 1981, стр. 553.
  5. ^ «Набор инструкций центрального процессора (GEC 4080)» (PDF) . Компьютер GEC 4000 . Декабрь 1977 года . Проверено 15 июня 2009 г.
  6. ^ «Базовый канал мультиплексора ЦП» (PDF) . Компьютер GEC 4000 . Декабрь 1977 года . Проверено 15 июня 2009 г.
  7. ^ «Руководство пользователя по аппаратному обеспечению - Интерфейсы (GEC 4080)» (PDF) . Компьютер GEC 4000 . Апрель 1977 г., стр. 4–25 . Проверено 15 июня 2009 г.
  8. ^ «Последний из британских мини». Информационный бюллетень по инженерным вычислениям . Проверено 7 января 2017 г.
  9. ^ "BAe Nimrod AEW 3" . spyflight.co.uk . Архивировано из оригинала 2 мая 2012 года . Проверено 17 мая 2009 г.
  10. ^ аб Иллингворт, В. (1986). «Б.001 Бэббидж». Словарь вычислений (2-е изд.). Оксфорд: ISBN Market House Books Ltd. 0-19-853913-4.
  11. ^ Саломон, Дэвид (февраль 1993 г.). «6.1.4 БЭББИДЖ». Сборщики и грузчики (PDF) . Серия Эллиса Хорвуда «Компьютеры и их приложения» (1-е изд.). Чичестер, Западный Суссекс, Великобритания: Ellis Horwood Limited / Simon & Schuster International Group . стр. 184–185. ISBN 0-13-052564-2. Архивировано (PDF) из оригинала 23 марта 2020 г. Проверено 1 октября 2008 г.[1] (xiv+294+4 страницы)

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