Квант

53

Что такое мини-ЭВМ?

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

Действительность оказалась совершеннюиной. Разумеется, большое и сверхбольшие машины продолжают создавать и успешно работать во многих отраслях. Но наряду с ними (а в ряде случаев — вытесяя их) в последние десятилетия начали бурно развивать машины вычислительные машины — мини-ЭВМ.

Не миниаторные, а минимальные Если судить по названному, можно подумать, что мини-ЭВМ — это маленькие, миниаторные ЭВМ. С одной стороны, конечно, почти все современные мини-компьютеры*) имеют весма скромные размеры и занимают один — два небольших шкафчика, а некоторые из них помещаются в ящике стола. С другой стороны, в наш век микрозлектронки даже так называемые «большие ЭВМ» имеют не на много большиеgabenты. Тогда, может быть, мини-машины — это двевые ЭВМ с малыми возможностями? Дешевые — это верно, а что касается малых возможностей, то это как посмотреть: по объему оперативной памяти и быстродействию «мини» практически не уступают своим «коллегам» средней мощности, а по возможности работы с внешними устройствами намного их превосходят.

Так в чем же особенность мини-машин, почему их выделяют в особый класс?

*) Не следует путать мини-ЭВМ (мини-компьютер) — машину, способную использовать самые разнообразные программы, с микрокалькулятором — карманным или настольным прибомом, предназначенным для числовых расчетов («Квант», 1978, № 4, c. 23).

54

По словам Н. П. Брусенцова, автор книги «Мини-компьютеры» (М., «Наука», 1979), писавка «МИНИ» в обозначении этого класса ЭВМ ознакомлен не миниатории, а миниальные. Разработчики этих машин исключали из их архитектуры все элементы, предназначенные для выполнения вычислений в целях и не обязательные при других формах использования ЭВМ. К таким элементам относятся, прежде всего, арифметический блок, позволяющий быстро и с большой точностью выполнять сложение, вычитание, умножение и деление рациональных чисел. Большаялина машинного слова в машинах средней и высокой мощности (32, 36, 45 и даже 48 двойных разрядов) тоже связывана с обеспечением высокой мощности представления таких чисел. Для представления других видов данных имеет такое длинное слово совсем не обязательное: для любого стандартного символа, например, достаточно одного байта*), а целые числа, встречающиеся в большихстератических задач, выполняются в двух байтах. В большистве мини-машин приняталина слова в два байта (16 битов), а иногда и того меньше.

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

А как же они считают?

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

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

Бегемот в спичечном коробке

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

Например, в одной из самых распространенных современных ЭВМ наcala шестидесных годов — машине M-20 — было всего 4096 45 разрядных слов. При таких параметрах для адреса*) любого слова достаточно dvenaцать битов (проверьте это!). Поэтому в каждой команде этой машины указывается адрес трех слов, шесть битов выделились для записи кода операции, что позволяет закодировать 64 разных команды, и еще осталось место!

В мини-машинах, размещется, от трех адресов решить не может: даже для одного адреса неxbатает места. Действительно, если ответ для кода операции всего 4 разряда (а это — всего 16 различных команд!), то для адреса остается 12 битов, то есть удаляется указать адрес тех же 4096 слов. Но ведь объем памяти современных мини-машин бывают в 30 раз большие (см. таблицу на с. 55), да и 16 команда маловаго для работы. Если же записьать команду не в одной, а два или три последовательных сло-

*) Напоминаем, что байт — это 8 битов, то есть 8 двойных разрядов.

*) См. статью Ю. Первина в предыдущем номере.

55

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

Ухшренняя разработчиков ЭВМ, направленные на решение этой проблемы, наполняют попытки запихнуть бегемота в спиечный коробок: огромный адрес слова 256-килобайтной памяти пытаются «засунуть» в те несколько разрядов, которые остаются после размешения кода операции. Укажем лишь несколько приемов:

  1. Использовются бездресные команды для работы со специальными ячейками памяти — регистрации, обработание к которым проискодит очень быстро. В машинах CM-1 и CM-2 — по два таких регистрации, в CM-3 и CM-4 — семь.

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

  3. Применяется косвенная адресная требуется: требуемый адрес записывают в отдельное слово (тогда он может занять все 16 бит), а адрес этого слова указывают в команде (например, с помощью относительной адресции).

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

  • управление atomными и гидроэлектростанциями;
  • диспетчерское управление энергосистемами страны;
  • управление доменными печами;
  • управление технологическими процессами в цветной металлургии, горной, cementной, целлюлозно-бумажной, легкой промышленности;
  • резервирование мест и продажа билетов на авиалинии страны (система «Сирена»);
  • управление городским автобусным движением (в Омске, Алма-Ате, Вороншилоград);
  • управление метрополитеном (в Ленинграде, Харькове);
  • управление нефтепроводом (например, нефтепровод «Дружба»);
  • в информационно-вычислительных центрах АСУ «Олимпида-80».

Наш технический справочник

СМ — Система Мини-ЭВМ социальстических стран

Показатель
Модель
Единица
СМ-1
СМ-2
СМ-3
СМ-4

Производительность
Прямо адресуемая память
Длина слова
Минимальный объем оперативной памяти
Максимальный объем оперативной памяти
Скорость объема с устройствами ввода — вывода

Тыс.оп./сек
К(=1024)
слов
бит
400
500
200
700
32
32
32
16
16
16
16
8
64
32
32,64
K байт
K байт
64
256
64
248
K слов/сек
250
700
800
800

Модели CM-1, 2 отличия от модели CM-3, 4. Естьница в архитектуре машин — в системе команд, в способах адресации, в системах программирования, в организации и структуре системы ввода—вывода. Это означает, что программы, написанные для ЭВМ CM-1, 2, не подходит для ЭВМ CM-3, 4, и обратно, то есть эти модели ЭВМ несовместимы.