Из книги Л.Н.Королева "Структуры ЭВМ и их математическое обеспечение"
Мы выделили описание машины БЭСМ-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.
рис. 1
Система команд БЭСМ-6 допускает индексную и косвенную адресацию. Как правило, действительный (исполнительный) адрес получается путем прибавления содержимого одного из индексных регистров к коду адреса, записанному в команде. Полученный после таких манипуляций адрес называется исполнительным математическим адресом и не является еще адресом конкретной физической ячейки памяти, к которой должно быть произведено обращение по этому адресу.
Как же получается действительный физический адрес?
Математический 15-разрядный адрес БЭСМ-6 делится на две части Старшие 5 разрядов определяют номер математической страницы, а младшие 10 разрядов - номер слова в данной странице. В структуре машины предусмотрена небольшая по объему, очень быстрая память, хранящая таблицу соответствия математических страниц (или листов) физическим страницам, и пятиразрядный номер математической страницы аппаратно подменяется соответствующим номером физической страницы. Иными словами, номер математической страницы можно рассматривать как адрес строки в таблице соответствий, по которому выбирается необходимая физическая страница реально существующей памяти машины. Таким образом, полный физический адрес слова в памяти формируется из раз рядов номера физической страницы, выбранных из таблицы, и разрядов номера слова в странице, взятых из математического адреса.