stringtranslate.com

Средние системы Берроуза

Burroughs B2500Burroughs B4900 — серия мэйнфреймов, разработанных и производившихся корпорацией Burroughs в Пасадене, штат Калифорния , США, с 1966 по 1991 год. Они были предназначены для делового мира и имели набор команд, оптимизированный для языка программирования COBOL . Они были также известны как средние системы Берроуза , в отличие от больших систем Берроуза и малых систем Берроуза .

История и архитектура

Первое поколение

Компьютеры B2500 и B3500 были анонсированы в 1966 году. [1] Они работали непосредственно с основными десятичными типами данных COBOL-68: строками длиной до 100 цифр, с одним цифровым символом EBCDIC или ASCII или двумя 4-битными десятичными цифрами в двоичном коде. за байт. Портативные программы COBOL вообще не использовали двоичные целые числа, поэтому и B2500 не использовал их, даже для адресов памяти. Память адресулась до 4-битной цифры с обратным порядком байтов с использованием 5-значных десятичных адресов. Числа с плавающей запятой также использовали базу 10, а не какую-либо двоичную систему, и имели до 100 цифр мантиссы. Типичный оператор COBOL ADD A, B GIVING Cможет использовать операнды разной длины, разные представления цифр и разные представления знаков. Этот оператор скомпилирован в одну 12-байтовую инструкцию с тремя операндами памяти. [2] Сложное форматирование для печати осуществлялось путем выполнения одной EDITинструкции с подробными дескрипторами формата. Другие реализованные инструкции высокого уровня «переводят этот буфер через эту таблицу преобразования (например, EBCDIC в ASCII) в этот буфер» и «сортируют эту таблицу, используя эти требования сортировки, в эту таблицу». В крайних случаях отдельные инструкции могут выполняться несколько сотых секунды. MCP мог завершать слишком длинные инструкции, но не мог прерывать и возобновлять частично выполненные инструкции. (Возобновление является обязательным условием для создания виртуальной памяти в стиле страницы, когда операнды пересекают границы страницы.)

Машина настолько соответствовала COBOL, что компилятор COBOL был простым и быстрым, а программистам COBOL также было легко программировать на ассемблере.

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

Три зарезервированные ячейки памяти использовались в качестве «регистров» индексации адресов. Третий индексный регистр предназначался для указания кадра стека текущей процедуры в стеке вызовов/возвратов. Другие зарезервированные ячейки памяти управляли размерами операндов, когда этот размер не был постоянным.

B3500 был похож на B2500, но имел более короткое время цикла и больше возможностей расширения. B2500 имел максимум 60 КБ оперативной памяти и время цикла 2 микросекунды. B3500 имел максимум 500 Кбайт и время цикла 1 микросекунду.

B2500/3500 весил около 600–700 фунтов (270–320 кг). [3]

Последующие поколения машин

За машинами B2500/B3500 в 1972 году последовали B2700/B3700/B4700; B2800/B3800/B4800 в 1976 году, B2900/B3900/B4900 в 1980 году (которые были первыми в этой линейке, которые загружали свой микрокод с дискеты , а не реализовывали его как аппаратное постоянное запоминающее устройство ) и, наконец, Unisys V Series. машины В340-В560 в 1985-90 гг. Машины до B4800 не имели кэш-памяти . Каждому байту операнда или байту результата требовался отдельный цикл основной памяти, что ограничивало производительность программы. Чтобы компенсировать это, в поколении B3700/B4700 использовалась полупроводниковая основная память , которая была быстрее, но дороже и потребляла больше энергии, чем DRAM , используемая в конкурирующих машинах. Необычное использование десятичных чисел в качестве адресов памяти изначально не представляло проблемы; он просто включал использование логики декодера 1 из 5, а не 1 из 8 при выборе строк и банков основной памяти. Но более поздние машины использовали стандартные микросхемы памяти, которые ожидали двоичных адресов. Каждый 1000-байтовый блок логической памяти можно тривиально сопоставить с подмножеством из 1024 байтов в чипе с потерей всего 2,3%. Но для более плотных чипов и большего общего объема памяти весь десятичный адрес должен был быть преобразован в более короткую квазидвоичную форму перед отправкой адреса в чипы, и делать это снова для каждого цикла кэша или памяти. Эта логика преобразования несколько замедлила машинный цикл. Попытка перепроектирования адресного пространства в 1975 году была названа MS-3 для «Средних систем 3-го поколения», но этот проект был отменен. [4] [5]

Машины до B2900 позволяли вводить числа с «незначительными» значениями выше 9, но арифметика при этом давала неопределенные результаты. Это использовалось как форма шестнадцатеричной арифметики в MCP, а также некоторыми прикладными программистами. В более поздних версиях это было прекращено и вместо этого поддерживалось два новых кода операции (из двоичного в десятичное и из десятичного в двоичное) для поддержки адресации жестких дисков, доступных после приобретения Берроузом компании Memorex .

Отмена и выход на пенсию

Unisys прекратила дальнейшую разработку оборудования серии V в 1991 году, а поддержка закончилась в 2004 году. [6] В машинах B4900 и более поздних версиях целочисленные операции длиной 10 цифр или меньше теперь обрабатывались параллельно; только более длинные операнды продолжали использовать последовательный метод. И все операции с плавающей запятой были ограничены точностью до 17 цифр. Более поздние машины Medium Systems добавили регистр аккумулятора и инструкции аккумулятора/памяти, используя 32-битные, 7-значные целые числа и 48-битные или 80-битные значения с плавающей запятой, все выровнены по границам 16-битного слова.

Операционная система

Операционная система называлась MCP, что означает «Master Control Program». Он имел много общих архитектурных особенностей с MCP стековых машин больших систем Берроуза, но был совершенно другим внутри и был закодирован на языке ассемблера , а не на производном языке ALGOL . Программы имели отдельные адресные пространства, динамически перемещаемые базовым регистром , но в остальном виртуальная память отсутствовала ; нет пейджинга и сегментации . Более крупные программы были втиснуты в ограниченное адресное пространство кода за счет явных наложений . Нерезидентные части MCP также были сильно перекрыты. Первоначально код и данные разделяли одно адресное пространство из 300 000 цифр. Более поздние машины имели отдельные пространства в миллион цифр для программного кода и данных процесса. Поля адреса инструкций были расширены с пяти до шести цифр, и были добавлены еще четыре реальных индексных регистра . [7]

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

За исключением самой операционной системы, все системное программное обеспечение было закодировано на BPL (язык программирования Берроуза), языке системного программирования, полученном на основе системного языка ALGOL и ESPOL компании Large System . Первоначальный компилятор COBOL поддерживал спецификацию ANSI 68 и поддерживал ENTER SYMBOLICсинтаксис, позволяющий осуществлять встроенное кодирование на языке ассемблера, но не имел поддержки ОТНОСИТЕЛЬНЫХ и ИНДЕКСИРОВАННЫХ файлов; позже они были добавлены в версию компилятора ANSI 74, выпущенную в 1982 году. MCP позволял программам взаимодействовать друг с другом посредством передачи данных между ядрами ( CRCR) или с помощью очередей хранения ( STOQ), реализованных как системные вызовы с использованием BCTобучение и знакомство с языками (COBOL FILL FROM/INTO). Это было неслыханно, за исключением самых крупных систем IBM System/360 того времени, и даже тогда управление взаимодействием нескольких программных потоков было серьезной операционной головной болью.

Использование и наследие

Серия Medium Systems представляла собой очень эффективные мультипрограммные машины. Даже самые базовые версии B2500 могли поддерживать мультипрограммирование в приемлемом масштабе. Более крупные процессоры Medium Systems поддерживали основные операции центров обработки данных банков и других финансовых учреждений, а также многих предприятий и государственных заказчиков. Medium System была предпочтительной платформой для многих специалистов по обработке данных.

С помощью Medium System компьютер может одновременно запускать систему пакетного расчета заработной платы, вводить банковские чеки в сортировщик считывателей MICR , компилировать приложения COBOL, поддерживать онлайн-транзакции и выполнять тестовые запуски новых приложений (в просторечии называемых «миксом»). поскольку консольная команда ' MX' показывает, что задания выполняются). Не было ничего необычного в том, чтобы запускать восемь или десять программ на B2500 среднего размера. В установках средней системы часто использовались ленточные кластеры (четыре накопителя, встроенные в шкаф средней высоты) для ввода и вывода магнитной ленты. Также были доступны отдельно стоящие ленточные накопители, но они были намного дороже. Лента была основным носителем данных на этих компьютерах; раньше она часто использовалась для пакетного обновления файлов «отец-сын»; Поскольку с течением времени дополнительный диск становился все дешевле, он стал рассматриваться как библиотека/устройство резервного копирования, содержащее все файлы данных, а иногда и программные файлы (с использованием утилиты MFSOLT ) для конкретного приложения или клиента/клиента.

COBOL в машинный код

Резидентные файлы на ленте.
Заголовки заданий для ввода карт.
Буферизация карт и печати
. ​​Я создал систему учета (управляемую параметрами)

пустой стих от неизвестного пользователя B2500.

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

  1. ^ Грей, Джордж (октябрь 1999 г.). «Компьютеры Берроуза третьего поколения». Информационный бюллетень об истории Unisys . 3 (5). Архивировано из оригинала 26 сентября 2017 года.
  2. ^ Справочное руководство по системам Burroughs B2500 и B3500 (PDF) . Корпорация Берроуз. Октябрь 1969 года.
  3. ^ Справочное руководство по системам Burroughs B2500 и B3500, 1969, стр. 1-4 (20).
  4. ^ «Строение машины MS-3 S» (PDF) . 30 июня 1975 года.
  5. ^ Джордж Т. Грей; Рональд К. Смит (2007). «Против течения: слияние Сперри-Берроуза и борьба Unisys за выживание в 1980–2001 годах». IEEE Анналы истории вычислений . 29 (2): 3–17. дои : 10.1109/MAHC.2007.16. S2CID  15187529.
  6. ^ «Unisys берет плату в размере 1200 миллионов долларов и сокращает еще 10 000 рабочих мест; А, 2200 строк выживают, против того, чтобы идти», Computer Business Review, 23 июля 1991 г.
  7. ^ «Набор инструкций серии V» (PDF) .