Большие системы Берроуза

  • История и развитие Burroughs Large Systems

    • Burroughs Large Systems Group выпустила семейство 48-разрядных мэйнфреймов с стековыми машинными командами.  
    • Первая машина B5000 была выпущена в 1961 году и оптимизирована для компиляции на ALGOL 60.  
    • B5000 эволюционировала в B5500 и B5700, а также в B6500/B6700 и B8500.  
  • Архитектура и особенности B5000

    • B5000 имела необычную архитектуру, вдохновленную B6500.  
    • Аппаратное обеспечение было разработано для поддержки языков высокого уровня, таких как ALGOL 60 и COBOL.  
    • B5000 использовала стековую машину и частично управляемый данными дизайн.  
  • B5500 и B5700

    • B5500 использовала диски вместо фотобарабанов.  
    • B5700 позволяла использовать несколько процессоров, сгруппированных вокруг общего диска.  
  • B6500 и его преемники

    • B6500 имел инструкции переменной длины и 51-битное слово.  
    • B6500 использовал симметричную многопроцессорную обработку и стек Saguaro.  
    • B6700 и B7700 были разработаны на основе B6500, но с улучшенной архитектурой.  
  • B8500 и его судьба

    • B8500 была производной от D825 и не имела коммерческого успеха.  
    • Проект был отменен после 1970 года.  
  • Влияние и наследие

    • B5000 и B6500 оказали значительное влияние на развитие компьютерных систем.  
    • B5000 вдохновила последующие модели, такие как B6500 и B8500.  
  • История и развитие компьютеров Burroughs

    • Разработан в 1961 году, использовал дискретную транзисторную логику и память на магнитных сердечниках  
    • B5500 и B5700 последовали за B5000  
    • B6500 и B7500 стали первыми машинами, пришедшими на смену B5000  
  • Эволюция архитектуры

    • B6500, B7500, B6700, B7700, B6800, B7800, B5900, B7900 и Burroughs серии A  
    • После слияния с Sperry Corporation, разработка новых машин на базе MCP CMOS ASIC  
    • Модели Libra 100, Libra 500 и Libra 590  
  • Основные линейки аппаратного обеспечения

    • Проектирование и производство разделены между двумя подразделениями в Калифорнии и Филадельфии  
    • B5000 и B5500 разрабатывались в Пасадене, B6500 в Сити-оф-Индастри  
    • B6x00 разрабатывались в Мишн-Вьехо, B7x00 в Тредиффрине  
  • Языки программирования

    • B5000 использовал стековую архитектуру на основе ALGOL  
    • ESPOL и NEWP для написания MCP и системного ПО  
    • DCALGOL и DMALGOL для специфических расширений  
  • Системы управления сообщениями

    • DCP для обработки ввода и вывода сообщений  
    • ICP для подключения мэйнфреймов по локальной сети  
    • MCS как промежуточное ПО для обработки сообщений  
    • Примеры MCS: CANDE, SCREAM/6700, COMS, TPMCS  
  • Системы MCS и MCSS

    • MCS поддерживали доставку данных и отправку ответов удаленным пользователям.  
    • MCSS управляют сеансами пользователей и отслеживают их состояние.  
    • Балансировка нагрузки достигается на уровне MCS.  
  • Реализация TCP/IP и OSI

    • В 1988 году разработана реализация TCP/IP для США.  
    • В 1990-х годах реализована реализация стеков протоколов OSI.  
    • Внедрены приложения, определенные стандартом OSI.  
  • DMALGOL и базы данных

    • DMALGOL используется для компиляции программного обеспечения базы данных DMSII.  
    • DMALGOL генерирует код для обработки таблиц и индексов.  
    • В 1970-х годах DMALGOL широко использовался для сокращения объема кода.  
  • Архитектура стека

    • B5000 спроектирован как стековая машина, все данные хранятся в стеке.  
    • Многозадачность эффективна благодаря специальным инструкциям.  
    • Переключение процессов происходит через очередь готовности.  
  • Скорость и производительность стека

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

    • Каждый кадр стека соответствует лексическому уровню.  
    • Лексическая вложенность статическая, не связанная с выполнением.  
    • Процедуры могут быть вызваны обычным, call, process и run способами.  
  • Синхронизация и взаимоисключение

    • События позволяют синхронизировать взаимоисключение с помощью функций «ЗАКУПИТЬ» и «ОСВОБОДИТЬ»  
    • Дочерние задачи завершаются автоматически при завершении родительского процесса  
  • Многопроцессорная обработка

    • На компьютере с несколькими процессорами процессы могут выполняться одновременно  
    • Механизм событий является основным средством многопроцессорной обработки  
  • Тип вызова Run

    • Процедура запускается как независимая задача, которая может быть продолжена после завершения исходного процесса  
    • Дочерний процесс не может получить доступ к переменным в родительской среде  
  • Встроенные процедуры

    • Процедура может быть объявлена встроенной, что экономит накладные расходы на вызов  
    • Встроенные функции аналогичны параметризованным макросам  
  • Асинхронные вызовы

    • При асинхронных вызовах для каждого процесса инициируется отдельный стек  
    • Процессы совместно используют данные, но выполняются асинхронно  
  • Регистры отображения

    • Аппаратная оптимизация стека с помощью общих регистров  
    • Регистры указывают на начало каждого вызываемого стекового фрейма  
    • Доступ к объектам во внешней и глобальной среде так же эффективен, как и к локальным переменным  
  • Кросс-стековые вызовы

    • Вызывающий код и вызываемый код могут быть из разных программ и компиляторов  
    • Среды D[1] и D[0] не встречаются в стеке текущего процесса  
  • Объектно-ориентированная реализация

    • Возможность привязать структуру данных к области отображения адреса регистра  
    • Аппаратная схема адреса, состоящая из двух частей, реализована с помощью программного обеспечения  
  • Адресация и защита памяти

    • Переменные располагались со смещением вверх от основания стека уровней  
    • Массивы не хранились в памяти, а имели свое собственное адресное пространство  
    • Аппаратная проверка на соответствие известным границам индексов массива предотвращала ошибочное индексирование  
  • Особенности массивов в ALGOL

    • Массивы не проверялись по отдельности, что позволяло изменять размер массива.  
    • Массивы могли быть «рваными», что позволяло изменять размер строк.  
    • Массивы размером более 1024 слов сегментировались, что уменьшало нагрузку на память.  
  • Эквивалентность массивов

    • Объявление массива требовало выделения 48-битных слов данных.  
    • Поддерживалась эквивалентность массивов для различных типов данных.  
    • Дескрипторы данных указывали на тип данных массива.  
  • Преимущества стековой структуры

    • Стековая структура позволяла создавать дампы стека для отладки.  
    • Программы были неявно рекурсивными, что улучшало проверку ошибок.  
    • Burroughs FORTRAN лучше проверял ошибки, чем другие реализации.  
  • Архитектура с тегами

    • B5000 использовал теги для идентификации управляющих слов.  
    • В B6500 теги были расширены до трех битов.  
    • Четные теги указывали на пользовательские данные, нечетные — на системные.  
  • Архитектура, основанная на дескрипторах

    • Архитектура Burroughs была аппаратной архитектурой для объектно-ориентированного программирования.  
    • Программы состояли из 12- или 8-битных слогов, в зависимости от модели.  
    • Архитектура не предусматривала прямой адресации к регистрам или хранилищу.  
  • Полиморфные операторы и базовый набор

    • Многие операторы полиморфны в зависимости от типа данных.  
    • Базовый набор операторов составляет около 120, без учета мощных операторов.  
    • Операторы, зарезервированные для ОС, такие как MVST и HALT, не используются программами пользовательского уровня.  
  • Слоги вызова и операторы

    • Слоги вызова имени и значения содержат пары адресов.  
    • Слоги оператора либо не используют адреса, либо используют управляющие слова и дескрипторы в стеке.  
  • Линейка B5000 и несколько процессоров

    • B5000 использовала два процессора, соединенных высокоскоростной шиной.  
    • B6000, B7000 и B8000 имели симметричные процессоры.  
    • B7000 могла содержать до восьми процессоров.  
  • Синхронизация и блокировки

    • RDLK (чтение с блокировкой) — низкоуровневый способ синхронизации.  
    • СОБЫТИЯ — механизм более высокого уровня, используемый пользовательскими программами.  
    • Блокировки Dahm использовали инструкцию READLOCK для генерации RDLK.  
  • Влияние B5000

    • B5000 повлияла на линейку мэйнфреймов Unisys ClearPath.  
    • Архитектура B5000 вдохновила Чака Мура на создание языка Forth.  
    • B5000 повлияла на советскую серию мэйнфреймов «Эльбрус».  
    • HP 3000 и калькуляторы HP также испытали влияние B5000.  
    • Системы NonStop и Tandem Computers также испытали влияние B5000.  
  • Архитектура и безопасность

    • B5000 была защищенной архитектурой, работающей на оборудовании.  
    • Этот метод повлиял на современные виртуальные машины, такие как Java JVM.  
    • Intel iAPX 432 могла бы обеспечить эквивалентную физическую основу.  

Полный текст статьи:

Большие системы Берроуза

Оставьте комментарий

Прокрутить вверх