Средние системы Берроуза - Burroughs Medium Systems

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

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

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

Компьютеры B2500 и B3500 были анонсированы в 1966 году.[1]Они работали непосредственно с первичными десятичными типами данных COBOL-68: строками до 100 цифр, с одним EBCDIC или ASCII цифровой символ или два 4-битных двоично-десятичный Цифры BCD на байт. Переносимые программы COBOL не использовали двоичный целые числа вообще, поэтому B2500 тоже не работает, даже для адресов памяти. Память была адресована до 4-битной цифры в прямой порядок байтов стиль, используя пятизначные десятичные адреса. Плавающая точка числа также использовали основание 10, а не какое-то двоичное основание, и имели до 100 цифр мантиссы. Типичное заявление COBOL 'ДОБАВИТЬ A, B ПОДАЧА C'может использовать операнды разной длины, разные представления цифр и представления знаков. Этот оператор скомпилирован в одну 12-байтовую инструкцию с 3 операндами в памяти.[2]Сложное форматирование для печати выполнялось путем выполнения одного РЕДАКТИРОВАТЬ инструкция с подробными дескрипторами формата. Другие реализованные инструкции высокого уровня «переводят этот буфер через эту таблицу преобразования (например, 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 V340-V560 в 1985-90 гг. Машины до B4800 не имели кэш-память. Каждый байт операнда или байт результата требовал своего собственного отдельного цикла основной памяти, что ограничивало производительность программы. Чтобы компенсировать это, поколение B3700 / B4700 использовало основная память полупроводника это было быстрее, но дороже и требовало много энергии, чем DRAM используется в конкурирующих машинах. Необычное использование десятичных чисел в качестве адресов памяти изначально не было проблемой; он просто включал использование логики декодера 1 из 5, а не 1 из 8 в выборках строк и банков в основной памяти. Но более поздние машины использовали стандартные микросхемы памяти, рассчитанные на двоичные адреса. Каждый 1000-байтовый блок логической памяти может быть тривиально отображен на подмножество из 1024 байтов в микросхеме с потерей всего 2,3%. Но для более плотных микросхем и большего общего объема памяти весь десятичный адрес должен был быть преобразован в более короткую квазибвоичную форму перед отправкой адреса микросхемам и проделан снова для каждого цикла кеширования или памяти. Эта логика преобразования несколько замедлила машинный цикл. Попытка редизайна адресного пространства в 1975 году была названа MS-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 стековых машин Burroughs 'Large Systems, но был совершенно другим внутренне и был написан на язык ассемблера, а не в АЛГОЛ -производная. Программы имели отдельные адресные пространства, динамически перемещаемые базовый регистр, а в остальном не было виртуальная память; нет пейджинг и нет сегментация. Более крупные программы были сжаты в ограниченном адресном пространстве кода явным накладки. Иногородние части MCP также были сильно перекрыты. Первоначально код и данные разделяли одно адресное пространство из 300 000 цифр. Более поздние машины имели отдельные пробелы в миллионы цифр для программного кода и данных процесса. Поля адресов инструкций были расширены с 5 цифр до 6 цифр и еще 4 реальных индексные регистры были добавлены.[7]

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

За исключением самой операционной системы, все системное программное обеспечение было написано на BPL (Burroughs Programming Language), языке системного программирования, производном от ALGOL и Large System's. ESPOL системный язык. Начальный КОБОЛ компилятор поддерживал спецификацию ANSI 68 и поддерживал ВВЕДИТЕ СИМВОЛИКУ синтаксис, позволяющий встроенное кодирование на языке ассемблера, но не поддерживающий поддержку файлов RELATIVE и INDEXED; позже они были добавлены в версию компилятора ANSI 74, выпущенную в 1982 году. MCP позволял программам обмениваться данными друг с другом посредством передачи от ядра к ядру (CRCR) или с помощью очередей хранилища (STOQ), реализованный как системные вызовы с использованием BCT инструкции и открытые языки (COBOL ЗАПОЛНИТЬ ОТ / В). Это было неслыханно, за исключением самой большой IBM. Система / 360 систем того времени, и даже тогда управление взаимодействием нескольких программных потоков было большой оперативной головной болью.

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

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

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

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

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

—А белый стих неизвестный пользователь B2500

использованная литература

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