Бэсм 6 какое поколение эвм
Перейти к содержимому

Бэсм 6 какое поколение эвм

  • автор:

СУЭБ ИВТ СО РАН

Словарные статьи в коллекции: (public_cat = Thesaurus of Information Technology: Dictionary Articles )

БЭСМ-6

[БЭСМ-6]
Ячейка памяти БЭСМ-6

БЭСМ-6 (Большая Электронно-Счётная Машина) — советская электронная цифровая вычислительная машина.

Первая супер-ЭВМ второго поколения — на полупроводниковых транзисторах. Разработка завершена в конце 1966 года (опытные образцы появились в 1964). Главный конструктор — Сергей Алексеевич Лебедев , заместители главного конструктора — Владимир Андреевич Мельников и Лев Николаевич Королев . В 1968 году начат выпуск на заводе Счётно-аналитических машин (САМ) в Москве. До 1987 года, когда был прекращён выпуск БЭСМ-6, было произведено 355 машин.

Ключевые термины, связанные с термином : «БЭСМ-6»:

  1. Российские ЭВМ [ru]
  2. СуперЭВМ [ru]

Литература

  1. Королев Л.Н. Структуры ЭВМ и их математическое обеспечение. М.: Наука. 1978. — 352 c.
  2. Малиновский Б. Н., Путь в бессмертие (Сергей Алексеевич Лебедев) // Глава из книги Малиновского Б.Н. «История вычислительной техники в лицах». — Киев: фирма «КИТ», ПТОО «А.С.К.». — 1995. — С. 384.
  3. Митропольский Ю.И. Мультиархитектурная вычислительная суперсистема // Труды Первой Всероссийской научной конференции «Методы и средства обработки информации». М.: МГУ. 2003. С. 131 — 136.
  4. Митропольский Ю.И. Развитие архитектуры ЭВМ от БЭСМ-6 до суперкомпьютеров
  1. Лаут В. Н., БЭСМ-6 // [Электронный ресурс]. — Институт точной механики и вычислительной техники им. С. А. Лебедева РАН. — 2009.
  2. Луховицкая Э.С., Езерова Г.Н. Информатика в ИПМ им. М.В. Келдыша. 1960-е годы // Препринты ИПМ им. М.В. Келдыша. 2013. № 29. 33 с.
  3. Митропольский Ю. И., Мультиархитектурная вычислительная суперсистема // руды Первой Всероссийской научной конференции «Методы и средства обработки информации». — 2003. — Выпуск № 1. — С. 131-136.
  4. Митропольский Ю. И., Развитие архитектуры ЭВМ от БЭСМ-6 до суперкомпьютеров // Митропольский Ю.И. Развитие архитектуры ЭВМ от БЭСМ-6 до суперкомпьютеров. — Институт системного анализа РАН. — 2011.

Ссылка на персон:

  1. Королев Лев Николаевич
  2. Лебедев Сергей Алексеевич
  3. Мельников Владимир Андреевич
  4. Митропольский Юрий Иванович

© 2013-2024, Евразийский национальный университет им. Л.Н.Гумилева, Астана
© 2007-2024, Новосибирский государственный университет, Новосибирск
© 1998-2024, Институт вычислительных технологий СО РАН, Новосибирск
© 1998-2024, Федотов А.М.

ФИТ НГУ НГУ
ЕНУ им.Гумилева
ИВТ СО РАН

Дата последней модификации: 27.02.2015

Семейство ЭВМ БЭСМ

Самая производительная отечественная ЭВМ первого поколения (и последняя машина этого поколения, созданная под руководством Сергея Алексеевича Лебедева), М-20, появилась в 1958 году и в следующем году была запущена в производ­ство.
Эта машина послужила исходной моделью для ряда ЭВМ второго поколения — БЭСМ-ЗМ, БЭСМ-4, М-220, М-222, причем по структурной организации первые три из указанных ЭВМ мало чем отличались от М-20, а БЭСМ-4 называли даже ее «полупроводниковым вариантом», который отличается от машины М-20 только большей емкостью оперативной и внешней памяти и более широким набором устройств ввода и вывода.

Быстродействие БЭСМ-4 было несколько ниже быстродействия машины М-20 (18 000 и 20 000 операций в секунду соответственно), а системы команд у них являлись совместимыми — в том смысле, что любая программа ЭВМ М-20 могла быть «правильно выполнена на машине БЭСМ-4». (Для сравнения, первая машина семейства БЭСМ, работа над которой закончилась в 1952 году, имела среднюю производительность около 10 000 операций в секунду, при этом она являлась тогда самой быстродействующей ЭВМ в Европе).

БЭСМ-1

Краткая характеристика М-20

Форма представления чисел: двоичная, с плавающей запятой. 45 двоичных разрядов.

Диапазон представления чисел: от 2 -64 до 2 64 .

Структура команд: трехадресная, с автоматическим изменением адресов. Трехадресная команда содержит три адреса: адрес первого числа, адрес второго числа и адрес результата операции.

Емкость оперативного запоминающего устройст­ва (ОЗУ) на ферритовых сердечниках — 4096 машинных слов. В машине имелись внешние запоминающие устройства на магнитных барабанах и лентах. Три магнитных барабана позволяли запомнить приблизительно 12 000 слов, а четыре блока накопителей на магнитной ленте давали возможность хранить около 300 000 слов.

Скорость обмена информацией с ОЗУ: 12 000 слов в секунду для магнитных барабанов и 2800 слов в секунду для магнитных лент.

Ввод информации в машину производился с перфокарт со скоростью 100 карт в минуту.

Устройства вывода: быстродействующее печатающее устройство (скорость печати — 15 строк в секунду) и выходной перфоратор (50 карт в минуту). Промежуточное буферное запоминающее устройство на магнитном барабане позволяло одновременно выводить результаты и производить вычисления.

Система команд предусматривала операции:

  1. арифметического типа (пересылка слова, сложение, вычитание, вычитание модулей, деление, умножение, извлечение корня и некоторые другие);
  2. логического типа (сравнение, логическое умножение, логическое сложение, сдвиг мантиссы по адресу, сдвиг мантиссы по порядку, сдвиг слова по адресу, сдвиг слова по порядку);
  3. специальные операции над словами — главным образом для действий с командами (например, сложение кодов операций, вычитание кодов операций, циклическое сложение);
  4. операции управления — операции с содержимым так называемого регистра адреса, а также операции условных и безусловных переходов (безусловный переход с обратной связью, условный переход, безусловный переход, окончание цикла по регистру адреса, изменение регистра адреса).>

В машине использовалось 4500 электронных ламп и 35 000 полупроводниковых диодов.

В 1950 году в Институте точной механики и вычислительной техники под руководством С.А.Лебедева была спроектирована машина БЭСМ (Большая Электронная Счетная Машина), а в 1952 году началась ее опытная эксплуатация.
В проекте в начале предполагалось применять память на трубках Вильямса, но в 1955 году в качестве элементов памяти в ней использовались ртутные линии задержки. По тем временам БЭСМ была весьма производительной машиной — 8000 оп/сек. Она имела трехадресную систему команд, а для упрощения программирования широко применялся метод стандартных программ, который в дальнейшем положил начало модульному программированию, пакетам прикладных программ. Серийно машина стала выпускаться в 1956 году под названием БЭСМ-2.

БЭСМ-2

Создание высокопроизводительной и оригинальной по архитектуре вычислительной системы БЭСМ-6 имело большое влияние на развитие вычислительной техники. В ЭВМ БЭСМ-6 использовались 60 тыс. транзисторов и 200 тыс. полупроводниковых диодов, причем высокая надежность машины была обеспечена большим запасом мощности основных схем – диоды и транзисторы были нагружены на 25-40% от допустимого предела. Имея исключительно высокое быстродействие – 1 млн. оп/с, БЭСМ-6 обладала отличным коэффициентом отношения производительности к стоимости вычислений.

Разработка БЭСМ-6 была осуществлена под руководством С.А.Лебедева и В.А.Мельникова в ИТМ и ВТ. Серийный выпуск начат в 1967 году.

Машина БЭСМ-6 обладала рядом интересных особенностей, по организации виртуальной памяти по принятому в ее структурной организации принципу «трубопровода», по организации связи с каналами и периферийными устройствами.

Пульт управления БЭСМ-6

Машина электронная вычислительная общего назначения БЭСМ-6

ЭВМ БЭСМ-6

ЭВМ БЭСМ-6

  1. Главный конструктор: Герой Социалистического Труда, академик С. А. Лебедев; заместители главного конструктора: В. А. Мельников, Л. Н. Королев, В. С. Петров, Л. А. Теплицкий; основные разработчики: А. А. Соколов, В. Н. Лаут, М. В. Тяпкин, В. Л. Ли, Л. А. Зак, В. И. Смирнов, А. С. Федоров, О. К. Щербаков, А. В. Аваев, В. Я. Алексеев, О. А. Большаков, В. Ф. Жиров, В. А. Жуковский, Ю. И. Митропольский, Ю. Н. Знаменский, В. С. Чехлов и др.; ведущие разработчики ПО: В. П. Иванников, А. Н. Томилин, Д. Б. Подшивалов, М. Г. Чайковский, В. Ф. Тюрин, Э. З. Любимский, В. С. Штаркман, Н. Н. Говорун, В. П. Шириков, И. Н. Силин, В. М. Курочкин, Ю. М. Баяковский и др.
  2. Организации-разработчики: Институт точной механики и вычислительной техники (ИТМ и ВТ) АН СССР и Московский завод счетно-аналитических машин (САМ).
  3. Завод-изготовитель: Московский завод счетно-аналитических машин (САМ).
  4. Год окончания разработки: 1967.
  5. Год начала серийного выпуска: 1968.
  6. Год прекращения производства: 1987.
  7. Число выпущенных машин: 355.
  8. Область применения: универсальная ЭВМ для решения широкого класс задач науки и техники.

Описание машины

ЭВМ БЭСМ-6 в ВЦ АН СССР

ЭВМ БЭСМ-6 в ВЦ АН СССР

В структуре БЭСМ-6 впервые в отечественной практике и независимо от зарубежных ЭВМ (STRETCH фирмы IBM) был широко использован принцип совмещения выполнения команд (до 14 одноадресных машинных команд могли находиться на разных стадиях выполнения). Этот принцип, названный главным конструктором БЭСМ-6 академиком С. А. Лебедевым принципом «водопровода», стал впоследствии широко использоваться для повышения производительности универсальных ЭВМ, получив в современной терминологии название конвейера команд.

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

Ассоциативная память на быстрых регистрах (типа cache) позволяла автоматически сохранять в ней наиболее часто используемые операнды и тем самым сократить число обращений к оперативной памяти. «Расслоение» оперативной памяти обеспечивало возможность одновременного обращения к разным ее модулям из разных устройств машины.

Разработчики ЭВМ БЭСМ-6

Разработчики ЭВМ БЭСМ-6

Механизмы прерывания, защиты памяти, преобразования виртуальных адресов в физические и привилегированный режим работы для ОС позволили использовать БЭСМ-6 в мультипрограммном режиме и режиме разделения времени. В арифметико-логическом устройстве были реализованы ускоренные алгоритмы умножения и деления (умножение на четыре цифры множителя, вычисление четырех цифр частного за один такт синхронизации), а также сумматор без цепей сквозного переноса, представляющий результат операции в виде двухрядного кода (поразрядных сумм и переносов) и оперирующий с входным трехрядным кодом (новый операнд и двухрядный результат предыдущей операции).

ЭВМ БЭСМ-6 имела оперативную память на ферритовых сердечниках — 32 Кб 50-разрядных слов, объем оперативной памяти увеличивался при последующих модификациях до 128 Кб.

Обмен данными с внешней памятью на магнитных барабанах (в дальнейшем и на магнитных дисках) и магнитных лентах осуществлялся параллельно по семи высокоскоростным каналам (прообраз будущих селекторных каналов). Работа с остальными периферийными устройствами (поэлементный ввод/вывод данных) осуществлялась программами-драйверами операционной системы при возникновении соответствующих прерываний от устройств.

Элементная база

Транзисторные переключатели тока и диодно-резисторная комбинаторная логика.

Конструкция

ЭВМ БЭСМ-6

ЭВМ БЭСМ-6

Компактные стойки с короткими связями между блоками с использованием внутреннего монтажа в стойке с двусторонним расположением ячеек.

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

Операционная система (было создано несколько операционных систем — Д68, НД-70, ОС ИПМ, Диспак, ОС «Дубна», ОС «Феликс»), трансляторы с автокода и распространенных языков высокого уровня, а также ряда специализированных и экспериментальных языков. Широко использовалась многоязыковая мониторная система «Дубна». Были разработаны также разнообразные сервисные диалоговые программы, обеспечивающие выполнение прикладных программ в пакетном и диалоговом режимах.

Технико-эксплуатационные характеристики

  • Среднее быстродействие — до 1 млн. одноадресных команд/с
  • Длина слова — 48 двоичных разрядов и два контрольных разряда
  • Представление чисел — с плавающей запятой
  • Рабочая частота — 10 МГц
  • Занимаемая площадь — 150-200 кв. м
  • Потребляемая мощность от сети 220 В/50Гц — 30 КВт (без системы воздушного охлаждения)

Особенности машины

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

БЭСМ-6 имела оригинальную систему элементов с парафазной синхронизацией. Высокая тактовая частота элементов потребовала от разработчиков новых оригинальных конструктивных решений для сокращения длин соединений элементов и уменьшения паразитных емкостей.

Использование этих элементов в сочетании с оригинальными структурными решениями позволило обеспечить уровень производительности до 1 млн. операций в секудну при работе в 48-разрядном режиме с плавающей запятой, что является рекордным по отношению к сравнительно небольшому количеству полупроводниковых элементов и их быстродействию (около 60 тыс. транзисторов и 180 тыс. диодов и частоте 10 МГц ).

Архитектура БЭСМ-6 характеризуется оптимальным набором арифметических и логических операций, быстрой модификацией адресов с помощью индекс-регистров ( включая режим стекового обращения ), механизмом расширения кода операций (экстракоды).

При создании БЭСМ-6 были заложены основные принципы системы автоматизации проектирования ЭВМ (САПР). Компактная запись схем машины формулами булевой алгебры явилась основой ее эксплуатационной и наладочной документации. Документация для монтажа выдавалась на завод в виде таблиц, полученных на инструментальной ЭВМ.

За разработку и организацию серийного производства БЭСМ-6 в 1969 г. была присуждена Государственная премия СССР: Лебедеву С. А., Мельникову В. А., Королёву Л. Н., Соколову А. А., Лауту В. Н., Тяпкину М. В., Заку Л. А., Смирнову В. И., Томилину А. Н., Семешкину В. И., Иванову В. А. Получены патент на ЭВМ БЭСМ-6, патенты на отдельные составляющие БЭСМ-6 и имееется большое количество публикаций. Несколько экземпляров БЭСМ-6 были установлены за рубежом.

Архитектура ЭВМ БЭСМ-6

С.А.Лебедев

Мы выделили описание машины БЭСМ-6 в отдельный раздел по той причине, что эта машина занимает особое место в развитии отечественной вычислительной техники. Принципы, заложенные в основу ее структурной организации, не потеряли своего значения до сих пор. Машины БЭСМ-6 и вычислительные комплексы, созданные на их основе, до сих пор интенсивно используются в научно-исследовательских институтах, центрах обработки информации, решающих наиболее важные для народного хозяйства, науки и обороны задачи. За время более 10-летнего использования этой машины накоплено огромное по составу, чрезвычайно важное по значимости математическое обеспечение, сконцентрировавшее в себя лучшие достижения советских ученых в области вычислительной математики, программирования, решения задач проектирования сложнейших объектов, в области решения задач, связанных с освоением космического пространства.

Разработка машины БЭСМ-6, главный конструктор которой академик С.А.Лебедев и зам. главного конструктора В. А. Мельников, была закончена в конце 1966 г. Машина вступила в строй в 1967 г.

БЭСМ-6 обладает рядом интересных особенностей по организации виртуальной (математической) памяти, по принятому в ее структуре принципу «водопровода», по организации защиты памяти, прерываний, по организации связи с внешними устройствами и каналами.

Машина БЭСМ-6 — быстродействующая машина, выполняющая около 1 млн. одноадресных операций в секунду. Она выполнена на полупроводниках, на элементной базе, допускающей высокую частоту переключений (основная тактовая частота — 10 Мгц). По своим структурным характеристикам и архитектуре машина БЭСМ-6 вполне может быть отнесена к машинам 3-го поколения, хотя она и выполнена не на интегральных схемах, а на «навесных» деталях, т. е. на технологической основе машин второго поколения.

Основная цель, которую преследовали авторы проекта машины БЭСМ-6, была такова: создать быстродействующую серийную машину, сравнительно дешевую, удовлетворяющую наиболее важным современным требованиям с точки зрения автоматизации программирования и развития операционных систем, оснащенную имевшимися в то время в отечественном серийном производстве внешними запоминающими устройствами и устройствами ввода-вывода. Машина предназначалась для использования в крупных вычислительных центрах для решения научных и экономических задач, требующих большого объема вычислений.

Как показало время, эта цель была достигнута. Машина БЭСМ-6 производится серийно, и круг заказчиков этой машины продолжает расти. Сферами ее применения оказались научно-исследовательские институты, университеты, крупные конструкторские бюро.
С.А.Лебедев, В.А.Мельников
А.Н.Томилин —>
Л.Н.Королев

Основные технические характеристики машины БЭСМ-6 таковы:

  • Быстродействие — около 1 млн. операций/сек.;
  • объем ОЗУ — от 32 до 128 тысяч машинных слов;
  • время выполнения сложения с плавающей запятой — 1,1 мксек;
  • время умножения — 1,9 мксек;
  • время деления — 4,9 мксек;
  • время выполнения логических поразрядных операций — 0,5 мксек.
  • Работа арифметического устройства совмещена с выборкой операндов из памяти.
  • Разрядность машинного слова — 48 двоичных разрядов.
  • Объем промежуточной памяти на магнитных барабанах — 512 тысяч слов.

К центральному процессору могут быть подключены 32 лентопротяжных механизма, каждый емкостью до 1 млн. слов. В состав вводных-выводных устройств входят два алфавитно-цифровых печатающих устройства (400 строк в минуту), два устройства вывода на перфокарты (ПИ-80), четыре устройства вывода на перфоленту, четыре устройства ввода с перфоленты, два устройства ввода с перфокарт (ВУ-700 или УВвК-601), 24 телетайпа.

К БЭСМ-6 возможно подключение дисков и графопостроителей, однако в комплектацию машин, поступивших с завода-изготовителя до 1970 г., это важное оборудование не входило. В комплектацию серийных машин БЭСМ-6 диски были включены лишь в 1972 г.

Структурные особенности машины БЭСМ-6

Для того чтобы достичь необходимого баланса между высокой скоростью выполнения арифметических и логических действий в центральном процессоре и ограниченным быстродействием блоков оперативного ферритового запоминающего устройства (время цикла работы каждого блока — 2 мксек), были предприняты следующие меры в структурной организации. Оперативное запоминающее устройство состоит из восьми блоков, допускающих одновременную выборку информации (командных слов и операндов), что резко повышает эффективное быстродействие системы памяти. Подряд идущие физические адреса памяти относятся к разным блокам, и если оказалось, например, так, что последовательно выбираемые операнды имеют последовательно возрастающие (убывающие) адреса, то они могут выбираться со средней скоростью, равной 2 мксек/8=0,25 мксек.

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

где Т — время цикла одного блока памяти и n — число параллельно работающих блоков.

Приведенные выше формулы показывают значение метода «запараллеливания» блоков памяти для получения выигрыша в эффективном быстродействии.

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

Второй структурной особенностью организации обращений к оперативному запоминающему устройству является метод буфферизации, или метод накопления очереди заказов к системе памяти. В машине БЭСМ-6 существуют группы регистров, на которых хранятся запросы (адреса), называемые буферами адресов слов и команд. Разумеется, что эти буфера могут работать эффективно только в том случае, если структура машины позволяет просматривать команды «вперед», т. е. загодя готовить запросы. Устройство управления БЭСМ-6 позволяет это делать. Буфера адресов позволяют в конечном итоге сгладить неравномерность поступления запросов к памяти и тем самым повысить эффективность ее использования.

Третьей структурной особенностью БЭСМ-6 является метод использования сверхоперативной, неадресуемой из программы памяти небольшого объема, цель которого≈автоматическая экономия обращений к основному оперативному запоминающему устройству. Эта сверхоперативная память управляется таким образом, что часто используемые операнды и небольшие внутренние командные циклы оказываются на быстрых регистрах и готовы к немедленному использованию в арифметическом устройстве или в системе управления машиной. Быстрые регистры в ряде случаев позволяют экономить до 60% всех обращений к памяти и уменьшают тем самым временные затраты на ожидание чисел и команд из основной памяти.

Следует еще раз подчеркнуть, что об использовании быстрых регистров заботится аппаратура самой машины и при составлении программ об экономии обращений к памяти думать нет необходимости.

Эти структурные особенности БЭСМ-6 получили название водопроводного принципа построения структуры машины. В самом деле, если подсчитать время от начала выполнения команды до его окончания, то для каждой команды оно будет очень велико, однако глубокий параллелизм выполнения, просмотр вперед, наличие буфера адресов, быстрых регистров приводят к тому, что «поток» команд и темп обработки информации очень высок. Аналогия с водопроводом состоит в том, что если проследить время, за которое частица воды проходит по некоторому участку водопровода, то оно будет большим, хотя скорость на выходе потока может быть очень велика. Четвертой структурной особенностью БЭСМ-6, имеющей очень важное значение для построения операционных систем и работы машины в мультипрограммном режиме, является принятый аппаратный способ преобразования математических, или виртуальных адресов в физические адреса машины. В машине БЭСМ-6 четко выдержано деление на физическую и математическую память, принята постраничная организация, однако способ отображения, заложенный в аппаратуру, значительно отличается от того, который был применен в машине Атлас. Блок-схема процессора БЭСМ-6 представлена на рис. 1.

Система команд БЭСМ-6 допускает индексную и косвенную адресацию. Как правило, действительный (исполнительный) адрес получается путем прибавления содержимого одного из индексных регистров к коду адреса, записанному в команде. Полученный после таких манипуляций адрес называется исполнительным математическим адресом и не является еще адресом конкретной физической ячейки памяти, к которой должно быть произведено обращение по этому адресу.

Как же получается действительный физический адрес?

Математический 15-разрядный адрес БЭСМ-6 делится на две части Старшие 5 разрядов определяют номер математической страницы, а младшие 10 разрядов — номер слова в данной странице. В структуре машины предусмотрена небольшая по объему, очень быстрая память, хранящая таблицу соответствия математических страниц (или листов) физическим страницам, и пятиразрядный номер математической страницы аппаратно подменяется соответствующим номером физической страницы. Иными словами, номер математической страницы можно рассматривать как адрес строки в таблице соответствий, по которому выбирается необходимая физическая страница реально существующей памяти машины. Таким образом, полный физический адрес слова в памяти формируется из раз рядов номера физической страницы, выбранных из таблицы, и разрядов номера слова в странице, взятых из математического адреса.

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

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

Аппарат защиты памяти, имеющий также очень важное значение для машин, работающих в мультипрограммном режиме, в БЭСМ-6 также тесно связан с постраничной организацией памяти. Каждая математическая страница может находиться в состоянии или закрытом, или открытом для чтения и записи чисел и команд. Аппаратно каждой странице ставится в соответствие триггер, указывающий ее состояние (открыта или закрыта по записи и чтению чисел); признаком защиты страницы по обращению за командами является код из всех нулей в строке таблицы соответствий. Тем самым в БЭСМ-6 защита по числам и по командам разделена. Это полезно для организации программ, обслуживающих несколько независимых задач.


В.А.Иванов (слева), С.А.Лебедев, В.И.Семешкин, БЭСМ-6 (сзади)

Кроме аппарата защиты памяти в БЭСМ-6 существует аппарат защиты привилегированных команд. Ряд команд, с помощью которых можно изменять содержимое управляющих регистров, непосредственно воздействовать на внешние устройства и внешние каналы, связанные с машиной, могут выполняться только в «супервизорном» режиме, т. е. в режиме, в котором работает операционная система. Попытка выполнить привилегированную команду в обычной программе приводит к прерыванию и прекращению выполнения этой программы. Супервизорный и обычный режимы работы машины тем самым аппаратурно различаются, в супервизорном режиме допустимо выполнение всего репертуара команд машины, в обычном математическом режиме часть команд не может быть выполнена.

Защита памяти и привилегированных команд позволяет так организовать одновременное решение нескольких задач на машине, чтобы полностью исключить всякое влияние одних задач на другие. Как правило, почти во всех программах, первый раз пропускаемых на машине, содержатся ошибки, порой самые непредвиденные, и очень важно, чтобы эти ошибки не повлекли за собой отказ всей системы в целом или порчи соседних программ и задач. Система прерываний БЭСМ-6 построена следующим образом. В аппаратуре машины предусмотрен так называемый главный регистр прерываний (ГРП) и регистр маски (РМ).

За каждым разрядом ГРП закреплена функция сигнализации появления сигнала прерываний от конкретных внешних устройств или от вполне определенных ситуаций, сложившихся в центральном устройстве машины. Соответственно главный 48-разрядный регистр прерываний разделен на две половины. В первой его половине расположены сигналы прерываний, поступающие от внешних устройств, сигнализирующие об окончании обменов, о появлении информации на входных регистрах, пришедшей с внешних устройств и т.д. Во второй половине расположены разряды, сигнализирующие об особых ситуациях, возникших внутри машины, например о переполнениях на арифметическом устройстве, о попытке деления на нуль, о попытках обращения к закрытой странице за числами или за командами, о возникновении контроля при передачах слов и командной информации между памятью и арифметическим устройством. Внутренние прерывания имеют более старший приоритет по сравнению с прерываниями от внешних устройств.

Регистр маски, содержание которого может меняться определенными привилегированными командами, служит для того, чтобы позволить операционной системе на определенное время блокировать срабатывание схемы прерывания от внешних устройств, не требующих моментальной реакции на свои сигналы. Маска тем самым позволяет «закрывать глаза» на некоторые внешние прерывания. Это важно для организации программно управляемого приоритета обслуживания внешних запросов, и операционная система широко этим пользуется. Один из разрядов главного регистра прерываний связан с периферийным регистром прерывания и сигнализирует лишь о том, что на периферийном регистре появился где-то сигнал прерывания. Периферийный регистр связан с медленнодействующими внешними устройствами, сигналы от которых поступают достаточно редко. Как и главный регистр прерываний, периферийный регистр имеет свою маску, позволяющую блокировать появление прерываний, реагировать на которые в данный момент по какой-либо причине нежелательно. Таким образом, система прерываний БЭСМ-6 построена по иерархическому принципу. Кроме того, в машине существует несколько регистров, в разрядах которых появляется информация о текущем состоянии внешних устройств. Эту информацию в любой момент можно извлечь и уяснить, например, такие вещи: находится ли данное устройство или канал в исправном состоянии, включено ли данное устройство, подматывается ли магнитная лента и т. д. Главный регистр прерываний, периферийный регистр прерываний и регистры состояний позволяют вкупе машине БЭСМ-6 реагировать на 240 различных признаков, характеризующих состояние внешней среды и внутреннее состояние машины.

Как же происходит прерывание? Если в каком-либо разряде ГРП появился сигнал прерывания и в соответствующем разряде маски этот сигнал не заблокирован, текущая программа прекращает свое выполнение, и управление принудительно передается на некоторую фиксированную физическую ячейку памяти. Одновременно машина переводится в состояние супервизорного режима, отменяются все другие прерывания и в некоторых управляющих регистрах аппаратно запоминается состояние прерванной программы. Это состояние характеризуется номером команды, на которой произошло прерывание, и статусом прерванной программы, т. е. запоминается тот режим, в котором она выполнялась. Прерванная программа, например, могла выполняться, в свою очередь, в режиме супервизора или в обычном режиме, могла выполняться в режиме блокировки схемы приписки адресов или в режиме преобразования математических адресов в физические, наконец, могла выполняться в режиме экстракодов, о котором будет сказано несколько ниже, в режиме блокировки прерываний по переполнению арифметического устройства. Иными словами, при прерывании схемно запоминается тот минимум, который необходим для последующего возврата в прерванную программу. Блок управляющей программы, анализирующий причину прерывания и организующий обращение к соответствующему блоку реакции на данное прерывание, располагается, начиная с фиксированной ячейки, на которую передается управление. Можно сказать, что операционная система начинается с этой фиксированной ячейки.

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

Прежде всего в этом блоке производится пересылка содержимого сумматора (его старших и младших разрядов) в некоторые ячейки закрытой области памяти. Это делается для того, чтобы программы операционной системы могли свободно пользоваться сумматором, не заботясь о его сохранности. Затем производится пересылка значений двух индексных регистров в память с тем, чтобы сохранить то их содержание, которое было им придано прерванной задачей, и тем самым дать возможность программам операционной системы пользоваться этими индексными регистрами для своих целей. Далее на сумматор считывается содержимое главного регистра прерываний, отыскивается номер самого старшего разряда, давшего прерывание, и по этому номеру производится передача управления по переключателю на блок, реагирующий именно на прерывание с данным номером. Например, если оказалось, что номер самого старшего разряда равен 3, то это означает, что закончился обмен по магнитному барабану и управление передается на специальный блок, занимающийся обработкой прерываний по концу обмена. Если номер оказался равным 1, то это означает наступление момента, когда можно выдавать некоторый символ на строку печати, и передача управления происходит на соответствующий блок, организующий выдачу строки символов на печатающее устройство. Процедура упрятывания, сохранения необходимой информации и передачи управления на соответствующий блок реакции отнимает у центрального процессора около 23 мксек.

Несмотря на то, что это время кажется не очень большим, оно ставит некоторые ограничения на максимально допустимую частоту поступающих прерываний, с которыми могут справиться процессор и операционная система. Поэтому очень важно оптимизировать по времени работу блоков операционной системы, идущих с закрытым прерыванием. Как мы знаем, при прерывании машина переводится в супервизорный режим, в состояние с запрещением дальнейшего прерывания и с блокировкой схемы «приписывания» адресов. Для того чтобы не потерять, точнее, не упустить время реакции на другие прерывания, которые могут возникнуть в момент работы центрального процессора в этом режиме с «закрытыми глазами», нужно заботиться о том, чтобы как можно скорее «открыть» прерывания.

В диспетчере принята следующая логика, уменьшающая вероятность потери прерываний. Любая программа, реагирующая на конкретную причину прерываний, состоит из двух блоков: блока минимально необходимой реакции, идущего с закрытым прерыванием, и блока, который может производить работу с открытым (незапрещенным) прерыванием. После выполнения блоков минимально необходимой реакции управление передается на блок поиска старшего разряда, давшего прерывание. В том случае, если не появилось новых прерываний, управление передается блоку реакции, который идет с открытым прерыванием. Блок-схема программы реакции на прерывания представлена на рис. 2. Из приведенной блок-схемы видно, что блоки минимальной реакции на соответствующее прерывание завершают свою работу постановкой в очередь заказа на дальнейшую обработку данного прерывания, которая может идти уже с открытым прерыванием. Чтобы была более понятна разница между блоком минимальной реакции на i-е прерывание и блоком дальнейшей обработки, приведем следующий пример.

В процессе считывания информации с перфокарт прерыванием фиксируется момент появления считанной строки (или столбца) на регистре мультиплексного канала. Эта информация должна как можно скорее быть снята с этого регистра, чтобы освободить его для дальнейшей работы.

Блок минимальной реакции выполняет работу по освобождению входного регистра и записи информации в ячейки ОЗУ. Кроме этой работы блок реакции на прерывания должен выполнить большой объем работы по семантическому контролю содержания строки, по компоновке символов для засылки их в память машины, т. е. выполнить работы по редактированию введенной информации. Эта работа должна быть выполнена до прихода со считывающего устройства следующей строки информации. Между моментами появления строк проходит сравнительно большой промежуток времени, и эти работы по редактированию на проходе можно выполнять «не спеша».

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

Для того чтобы лучше пояснить значение аппарата защиты памяти в БЭСМ- 6, расскажем о том, как этим аппаратом пользуется операционная система (ОС). Задача, поступающая в систему, снабжается некоторым описанием тех ресурсов, которые она потребует от системы в процессе своего решения. Эта информация называется паспортом задачи. В частности, в паспорте указывается число листов ОЗУ, которое ей потребуется для решения.

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

В тот момент, когда данная задача начинает решаться, точнее, в тот момент, когда в ее распоряжение отдается центральный процессор, на основе этой таблицы формируется содержание аппаратных регистров приписки для тех математических листов, которым выделена в данный момент оперативная физическая память. Тем математическим листам, которым выделена память на барабанах или которые вообще не затребовала задача, приписывается признак защиты. Если в ходе своего решения задача не обращается к листам, отображенным на магнитные барабаны, или к листам, для нее не существующим, то процесс счета происходит нормально. В том случае, если программа задачи обратилась к математическому листу, который находится на барабане, срабатывает прерывание по защите, и операционная система, анализируя причину прерывания, стремится «перекачать» этот лист с барабана. на первый свободный лист оперативной памяти. Иногда для этого ей приходится «сбросить» какой-либо лист на барабан, освободив тем самым лист оперативной памяти. Пока производится «подкачка» листов для того, чтобы можно было продолжить решение задачи, прерванное по защите программы, центральный процессор отдается в распоряжение другой задаче. Очевидно, стратегия, т. е. методы распределения листов задач между оперативной памятью и памятью на магнитном барабане должны быть выбраны так, чтобы минимизировать число «сбросов» и «подкачек», так как это прямо влияет на эффективность мультипрограммной работы. Таких методов существует много, и о них должен быть особый разговор, выходящий за рамки данной книги. Итак, система защиты и приписки используется операционной системой для организации динамического распределения ресурсов двухуровневой памяти. Но этой же системой ОС пользуется для того, чтобы совместить вычисления с работой внешних запоминающих устройств и устройств ввода-вывода.

Как только программа задачи обращается к процедуре вывода (ввода) информации с какого-либо математического листа, этот лист «закрывается» по защите вплоть до окончания процесса вывода (ввода). Теперь задача, задав ОС директиву выполнить ввод-вывод, может свободно продолжать вычисления, которые не пользуются информацией с листа, находящегося в обмене, и в этом случае работа по вводу-выводу будет совмещена со счетом. Стоит лишь задаче обратиться к листу, находящемуся в процессе обмена, как произойдет прерывание и операционная система заставит эту задачу подождать окончания обмена. Тем самым достигается синхронизация параллельных процессов счета и ввода-вывода. И, наконец, если программа задачи обратилась к незаказанному листу ОЗУ, т.е. совершила попытку обратиться к «чужому» листу, то опять срабатывает прерывание по защите и операционная система фиксирует ошибку в программе и выбрасывает задачу из решения, предоставляя занятые ею ресурсы в распоряжение других задач.

Текст воспроизволится по изданию: Структуры ЭВМ и их математическое обеспечение. Королев Л.Н. Главная редакция физико-математической литературы, М., Наука, 1978. Фотографии из книги: Б.Н. Малиновский. «История вычислительной техники в лицах». Киев, фирма КИТ, 1995 г.

Основные участники разработки БЭСМ-6 — С.А.Лебедев (главный конструктор), В.А.Мельников, Л.Н.Королев (заместители главного конструктора), Л. А. Зак, В.Н.Лаут, В.И.Смирнов, А.А.Соколов, А.Н.Томилин, М. В. Тяпкин. Ведущие разработчики программного обеспечения БЭСМ-6 — В.П.Иванников, Э.З.Любимский, Н.Н.Говорун, В.П. Шириков, И.Н. Силин, В.М. Курочкин, Д.Б. Подшивалов, М.Г. Чайковский, В.С.Штаркман.

Другие страницы, статьи и заметки о БЭСМ-6
  • Страница ностальгии по БЭСМ-6 (автор: Leonid A. Broukhis; техническая информация, система команд, программный эмулятор и др.)

© Лаборатория Параллельных Информационных Технологий, НИВЦ МГУ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *