Burroughs B5000
Burroughs B5000 — это семейство мейнфреймов, разработанных и выпускавшихся американской компанией Burroughs Corporation (впоследствии вошедшей в состав Unisys) в 1961—1963 годах. Машины серии B5000 (включая модели B5500, B5700 и B5900) стали одними из первых коммерческих компьютеров, реализовавших концепцию стековой архитектуры, виртуальной памяти и ориентированного на высокоуровневые языки программирования (в первую очередь ALGOL) на уровне аппаратного обеспечения. B5000 оказали значительное влияние на развитие вычислительной техники, заложив основы для многих современных архитектурных решений.
История
Предпосылки создания
В конце 1950-х годов компания Burroughs, специализировавшаяся на электромеханических счётных машинах и электронных вычислителях, столкнулась с необходимостью выхода на рынок универсальных компьютеров. В 1957 году группа инженеров под руководством Роберта Бартона (Robert Barton) начала работу над архитектурой, которая могла бы эффективно поддерживать алгоритмические языки, такие как ALGOL 60. Основной идеей было перенести часть задач компиляции и управления памятью на аппаратный уровень, что должно было упростить программирование и повысить надёжность.
Разработка и выпуск
Проект получил кодовое название «B5000». Первая машина была представлена в 1961 году, а серийное производство началось в 1963 году. В отличие от многих конкурентов, B5000 изначально проектировалась как «машина для языков высокого уровня» (language-oriented machine). В 1964 году появилась улучшенная модель B5500 с увеличенным объёмом памяти и более быстрыми периферийными устройствами. Позднее семейство расширилось моделями B5700 (1967) и B5900 (1970), которые сохраняли обратную совместимость.
Влияние и наследие
Несмотря на коммерческий успех (всего было продано несколько сотен машин, в основном в США и Европе), B5000 не получили массового распространения из-за высокой стоимости и сложности. Однако их архитектурные решения — стековая организация, виртуальная память, аппаратная поддержка многозадачности — были впоследствии заимствованы многими другими системами, включая HP 3000, IBM System/38 и даже некоторые современные процессоры (например, Intel Itanium). В 1970-х годах на базе идей B5000 компания Burroughs выпустила серию B6000/B7000, которая оставалась в производстве до 1990-х годов.
Архитектура
Стековая организация
Центральным элементом архитектуры B5000 является стек (LIFO-структура), в котором хранятся операнды и промежуточные результаты вычислений. Все арифметические операции выполняются над вершиной стека, что устраняет необходимость в явной адресации регистров. Стек реализован аппаратно и имеет фиксированную глубину (обычно 16—32 элемента). При переполнении стека данные автоматически выгружаются в память.
Виртуальная память
B5000 стала одной из первых коммерческих машин с поддержкой виртуальной памяти. Адресное пространство процесса делилось на сегменты (страницы) фиксированного размера (512 слов). Трансляция адресов выполнялась аппаратным блоком управления памятью (MMU). Это позволяло запускать программы, размер которых превышал доступную физическую память, и обеспечивало изоляцию процессов.
Система команд
Набор команд B5000 был ориентирован на выполнение операций, характерных для языков высокого уровня. Включал:
- Команды работы со стеком (PUSH, POP, DUP, SWAP).
- Арифметические команды (ADD, SUB, MUL, DIV).
- Команды управления памятью (LOAD, STORE с сегментной адресацией).
- Команды вызова процедур (CALL, RETURN) с автоматическим сохранением контекста.
- Команды управления процессами (SPAWN, WAIT).
Периферия и ввод-вывод
Для своего времени B5000 имела развитую подсистему ввода-вывода. Использовались:
- Накопители на магнитных лентах (модели Burroughs 2000 series).
- Магнитные барабаны (для хранения данных и подкачки страниц).
- Принтеры (линейные и матричные).
- Перфокарточные устройства (считыватели и перфораторы).
- Терминалы (для удалённого доступа).
Программное обеспечение
Операционная система
B5000 работала под управлением операционной системы MCP (Master Control Program), которая была одной из первых многозадачных ОС с поддержкой виртуальной памяти. MCP обеспечивала:
- Управление процессами (планирование, синхронизация).
- Управление памятью (сегментация, подкачка).
- Файловую систему (иерархическую, с поддержкой каталогов).
- Ввод-вывод (драйверы устройств).
Языки программирования
Основным языком для B5000 был ALGOL 60, для которого существовал оптимизирующий компилятор, генерировавший код, максимально использующий стековую архитектуру. Также были доступны:
- COBOL (для коммерческих приложений).
- FORTRAN (для научных расчётов).
- BPL (Burroughs Programming Language) — диалект ALGOL с расширениями.
- Ассемблер (для низкоуровневого программирования).
Применение
B5000 использовались в основном в крупных организациях, где требовалась высокая надёжность и поддержка многозадачности:
- Банковское дело — обработка транзакций, ведение счетов, расчёт процентов.
- Государственные учреждения — учёт налогов, выдача пособий, ведение реестров.
- Научные исследования — моделирование, обработка данных, численные расчёты.
- Промышленность — управление производственными процессами, логистика.
Критика
Несмотря на инновационность, B5000 имели ряд недостатков:
- Высокая стоимость — машины были значительно дороже конкурентов (например, IBM 7090).
- Сложность программирования — хотя архитектура была ориентирована на ALGOL, низкоуровневое программирование требовало глубокого понимания стека и сегментации.
- Ограниченная производительность — стековая архитектура приводила к дополнительным накладным расходам при выполнении некоторых операций.
- Закрытость экосистемы — программное обеспечение было привязано к аппаратуре Burroughs, что затрудняло миграцию.
Интересные факты
- B5000 была одной из первых машин, в которой использовалась концепция «тегов» (tagged architecture) — каждый элемент данных имел специальный бит, указывающий его тип (число, адрес, код).
- Операционная система MCP была написана на ALGOL 60, что делало её одной из первых ОС, реализованных на языке высокого уровня.
- В 1960-х годах B5000 использовалась в NASA для расчёта траекторий космических аппаратов.
Источники
- Burroughs B5000 Reference Manual (1961)
- Computer History Museum: Burroughs B5000
- IEEE Annals of the History of Computing: «The Burroughs B5000»
- Энциклопедия компьютерной архитектуры (под ред. Дж. Хеннесси)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →