
книги из ГПНТБ / Дроздов Е.А. Многопрограммные цифровые вычислительные машины
.pdfБольшинство многопрограммных ЦВМ строится таким образом, чтобы можно было организовать различные режимы работы, отли чающиеся порядком обслуживания программ абонентов и сте пенью их воздействия на вычислительный процесс: режим пакетной обработки, режим работы с разделением времени, режим запрос — ответ и др. Организация режима работы с разделением времени связана с необходимостью разветвленной сети внешних устройств ввода — вывода.
Для многопрограммных машин характерно широкое применение модульных структур. Это прежде всего относится к запоминающим устройствам и к устройствам ввода — вывода, состав которых (ко личество модулей) определяется нуждами потребителей.
Многопрограммные ЦВМ в большей степени приспособлены для построения на их базе многомашинных вычислительных систем. Связь между процессорами в системах осуществляется через об щие внешние устройства ввода — вывода. Возможна и непосред ственная связь через общее поле оперативной памяти.
Состав математического обеспечения многопрограммных ма шин значительно шире, чем однопрограммных. Это особенно ка сается тех машин, в которых предусмотрены различные режимы работы.
Кроме отмеченного в многопрограммных ЦВМ более широко реализована возможность работы с машинными словами перемен ной длины, а также возможность выполнения операций с числами, представленными не только в двоичном, но и в двоично-десятичном коде.
Рассмотрим состав и назначение основных устройств многопро граммной ЦВМ по структурной схеме (рис. 1.1). К их числу отно сятся арифметическое устройство (АУ), запоминающие устрой ства (ЗУ), устройства ввода данных (УВД), устройства вывода результатов (УВР), устройство управления (УУ), пульт ручного управления и сигнализации, селекторные каналы (СК), мульти плексный канал (МК). Арифметическое устройство и устройство управления составляют процессор машины.
Каждое устройство представляет собой функционально незави симую по преобразованию информации часть машины. В кон структивном отношении не все устройства представлены в виде автономной, самостоятельной части машины. Устройства вклю чают в себя следующие функциональные части: элементы, узлы,
блоки.
Э л е м е н т — простейшая функциональная часть ЦВМ, выпол няющая элементарную операцию над одной или несколькими циф рами алфавита. К числу элементарных операций относятся: запо минание цифры алфавита, реализация одной из элементарных ло гических операций (см. гл. III), формирование сигнала (кодового, управляющего, синхронизирующего) по форме, длительности, ам плитуде. Примеры элементов: триггер, ферритовый сердечник с об мотками, логические элементы И, ИЛИ, НЕ, усилитель, формиро ватель и др.
-10
Уз е л — функциональная часть машины, составленная из эле ментов и выполняющая операцию над одним числом. К узлам от носятся счетчики, регистры, коммутаторы и т. д.
Б л о к — функциональная часть машины, составленная из эле ментов и узлов и выполняющая операции над числами или управ ление выполнением этих операций. Примеры блоков: блок сумма тора, блок регистров, блок местного управления операциями, блок центрального управления операциями и др. Иногда блоки выделя ются как самостоятельные конструктивные части.
Рис. 1.1. Структурная схема многопрограммной ЦВМ
Арифметическое устройство служит для выполнения арифмети ческих и логических операций над кодами чисел и команд. Основ ным блоком АУ большинства ЦВМ является блок сумматора, осу ществляющий операцию сложения двух чисел. Выполнение всех других арифметических операций сводится к выполнению операции сложения и некоторых вспомогательных операций, таких, как сдвиг числа, обращение кода числа (см. гл. II) и др.
Запоминающие устройства предназначаются для приема, -хране ния и выдачи информации (чисел и команд). В ЦВМ имеется не сколько типов ЗУ, различающихся по своим основным характери стикам — быстродействию и емкости. Это объясняется тем, что ни один из Используемых в настоящее время типов ЗУ не удовлетво ряет полностью двум противоречивым требованиям: высокой ско рости приема и выдачи информации и большой емкости. В совре менных многопрограммных ЦВМ используется по крайней мере два типа ЗУ — оперативные запоминающие устройства (ОЗУ) и внешние запоминающие устройства (ВЗУ).
П
Оперативное запоминающее устройство служит для приема, хранения и выдачи чисел, участвующих в ближайшем ряде опера ций. Запись и выдача информации из ОЗУ осуществляется отдель ными числами. В ходе выполнения операции числа, участвующие в ней, по сигналам из устройства управления последовательно извле каются из ОЗУ и пересылаются в АУ. Результат выполнения опера ции из АУ отправляется на хранение в ОЗУ. Оперативная память состоит из отдельных ячеек, служащих для запоминания, как пра вило, одного числа. Все ячейки нумеруются подряд и каждой из них присваивается постоянный номер — адрес ячейки. Оперативные ЗУ характеризуются большим быстродействием (время выборки одного числа составляет несколько микросекунд) и сравнительно небольшой емкостью.
В ОЗУ многопрограммных ЦВМ хранится несколько одновре менно реализуемых программ. Для предотвращения искажения ин формации при одновременном размещении в ОЗУ нескольких про грамм предусматриваются меры по защите программ от взаимного влияния. Реализация этих мер осуществляется системой защиты па мяти, которая представляет собой комплекс аппаратно-программных средств (см. гл. VIII).
Внешнее запоминающее устройство предназначено для хранения информации, не участвующей в ближайшем ряде вычислений. В процессе решения задач между ОЗУ и ВЗУ происходит обмен группами (массивами) чисел, размещенными в отдельных зонах ВЗУ. Емкость ВЗУ доходит до десятков миллионов чисел, скорость записи или считывания составляет десятки тысяч чисел в секунду.
В ряде машин, главным образом специализированных, предна значенных для решения ограниченного числа задач, кроме ОЗУ и ВЗУ имеется еще один вид быстродействующей памяти — постоян ное запоминающее устройство (ПЗУ). В ПЗУ хранятся постоянные величины (константы), участвующие в решении задач, и програм мы. Информация в ПЗУ записывается только один раз при кон струировании машины, и в дальнейшем она не изменяется. При считывании информация в ПЗУ сохраняется.
Для ЗУ большой емкости характерна модульная структура. На пример, ОЗУ может включать не один, а несколько модулей (кубов памяти, или накопителей) с автономными или общими схемами уп равления записью и считыванием информации.
Устройство ввода данных служит для восприятия вводимой ин формации (исходных данных и программ), представленной в виде некоторой системы пробивок на перфокартах или перфолентах, преобразования ее в электрические кодовые сигналы и передачи в ЗУ машины. Если в ЦВМ решается задача при непрерывно изме няющихся исходных данных, то в состав ее входных устройств дол жны входить преобразователи непрерывных величин в дискретные.
Устройство вывода результатов служит для преобразования вы водимого из машины числового материала, представленного элек трическими сигналами, в систему пробивок на перфокартах или перфолентах или для печатания результатов решения задач на бу
12
мажных лентах. Оборудование вывода состоит из печатающих устройств и аппаратуры записи информации на перфоленты или перфокарты (выходные перфораторы). Печатание может носить цифровой, буквенный или буквенно-цифровой характер. В специа лизированных ЦВМ, управляющих некоторыми объектами, выход ные устройства должны преобразовывать информации из дискрет ной формы в непрерывную (управляющие воздействия). Поэтому в составе выходных устройств таких машин должны быть преобра зователи типа код — аналог.
Устройство управления служит для управления взаимодействием всех функциональных устройств машины, которое необходимо для реализации вычислительного процесса, производимого по заранее составленным и введенным в машину программам. Координация работы всех устройств, блоков и узлов машины осуществляется с помощью синхронизирующих и управляющих сигналов, вырабаты ваемых в УУ. Синхронизирующие сигналы обеспечивают совме щение срабатывания элементов ЦВМ во времени, а управляющие сигналы задают необходимую последовательность срабатывания этих элементов.
Пульт ручного управления и сигнализации предназначается для запуска и останова машины и контроля за ее работой. При необхо димости ручное управление позволяет осуществить контроль пра вильности вычислений путем выполнения введенной программы по отдельным операциям. Сигнализация сообщает о возникающих в машине неисправностях.
Если в машине реализован режим работы с разделением време ни, в ее состав входит мультиплексный канал и один или несколько селекторных каналов.
Мультиплексный канал представляет собой логически само стоятельный агрегат, осуществляющий организацию взаимосвязи между ЦВМ (процессором) и ОЗУ машины, с одной стороны, и группой сравнительно медленно действующих устройств ввода — вывода, с другой стороны. В качестве такого агрегата может исполь зоваться ЦВМ. Мультиплексный канал работает по методу уплот нения передач путем разделения во времени действий по обслужи ванию нескольких одновременно работающих устройств ввода — вывода.
Селекторный канал — это логически самостоятельный агрегат, осуществляющий организацию взаимосвязи между ЦВМ (процес сором) и ОЗУ машины, с одной стороны, и группой внешних запоми нающих устройств, с другой стороны, в режиме предпочтения, или в монопольном режиме. В селекторном канале исключена возмож ность одновременной работы нескольких ВЗУ, все средства канала монополизируются в течение некоторого времени одним ВЗУ.
Кроме рассмотренных устройств, связанных между собой систе мой магистралей, в состав любой универсальной ЦВМ входят внеш ние устройства, которые не имеют электрической связи с машиной.
Внешние устройства служат для подготовки исходных данных и программ к вводу в машину. С помощью внешних устройств
13
исходные данные и программы, записанные на Стандартных блан ках, переносятся на перфоленты или перфокарты, с которых в даль нейшем информация считывается и поступает в ЗУ. В состав внеш них устройств входят клавишные устройства, контрольно-считываю- щие устройства (контрольники), перфораторы.
ВЦВМ исходные данные, команды программы, промежуточные
иокончательные результаты вычислений представляются в виде кодов чисел, причем нашли применение системы счисления с осно ваниями 2, 3, 8, 10, 16. Большинство машин оперирует двоичными числами. Часто встречаются машины, в которых в качестве основ ной используется десятичная система счисления. Реже применяет ся троичная система. Восьмеричная и шестнадцатеричная системы используются для ввода и вывода информации, так как они соче тают краткость записи чисел с простотой преобразования их в двоичные числа.
Чтобы в электронной цифровой машине можно было произво дить вычислительные операции с вводимыми в нее числами и командами, последние необходимо представить в виде электриче ских сигналов.
Различают два способа представления двоичных цифр в ЦВМ:
—статический, когда цифры 1 и 0 представляются двумя раз личными уровнями потенциала;
—импульсный, когда цифре 1 соответствует положительный (отрицательный) импульс определенной длительности, а цифре 0 —
отрицательный (положительный) импульс или отсутствие им пульса.
Двоичные числа в ЦВМ представляются и передаются между различными узлами и устройствами в параллельном или последо вательном коде. При параллельном коде для передачи цифры каждого разряда числа используется отдельный физический ка нал (шина, провод), так что все разряды кода передаются одновре менно. При этом может применяться как статический, так и импульсный способ представления двоичных цифр. При последова тельном коде все разряды двоичного числа передаются поочередно по одному и тому же физическому каналу (шине). Отметки време ни прохождения каждого кодового импульса создаются синхрони зирующими импульсами, общими для всей машины. При последо вательном коде возможен только импульсный способ представле ния двоичных цифр. .
В ЦВМ применяется также так называемая парафазная систе ма кодирования, когда для передачи цифр каждого разряда двоич ного числа; представленного в параллельном коде, используется не один, а два физических канала. Если в данном разряде числа со держится 1, то по первому каналу передается сигнал высокого (низкого) уровня, а по второму каналу — сигнал низкого (высоко го) уровня. Если же в данном разряде содержится 0, то распреде-' ление сигналов между каналами будет противоположным. Анало-' г-ичная картина будет, если используется не статический, а импульс ный способ представления двоичных цифр.
14
Мультипрограммные машины, как и вообще ЦВМ, можно клас сифицировать по нескольким основным признакам.
1. По назначению или характеру решаемых задач машины делятся на универсальные и специализированные. Машина счи тается универсальной, если любой алгоритм может быть представ лен в виде конечного набора выполняемых этой машиной команд.
Специализированные ЦВМ предназначены для решения задач определенного класса. Они обычно рассчитываются на однократное или многократное решение нескольких задач при периодически или непрерывно изменяющихся значениях входных данных. Программы решения задач составляются, как правило, заранее и вводятся в
ПЗУ.
2.По форме представления чисел различают машины с фикси рованной и с плавающей запятой. У машин с фиксированной запя той числа представлены в естественной форме. Машины с плаваю щей запятой оперируют числами, представленными в нормальной форме: для каждого числа указывается его цифровая часть (ман тисса) и порядок.
3.По способу передачи чисел между устройствами ЦВМ разли чают машины параллельного (большинство современных машин)
ипоследовательного действия. Для передачи чисел в таких маши нах применяются соответственно параллельный и последователь ный коды.
4.По числу адресов в команде машины бывают одно-, двух-, трех- и в редких случаях четырехадресные.
5.По сложности, габаритам, потребляемой мощности машины делятся на большие, средние, малые. Однако такое деление до вольно условное. Большие машины сложнее по своей структуре,, требуют для размещения большую площадь (100—200 м2), потреб-, ляют много энергии, скорость вычислений у них может доходить: до нескольких миллионов операций в секунду. Средние и малые' машины проще и обладают обычно меньшим быстродействием-.
§1.2. Принцип программного управления. Многопрограммный
режим работы ЦВМ
Воснову работы цифровых машин вообще и многопрограммныхЦВМ в частности заложен принцип программного управления с- операционно-адресной организацией управления вычислительнымпроцессом. Решение задачи на машине заключается в выполнении: заранее обусловленной последовательности арифметических и ло гических операций, каждая из которых выполняется под воздей ствием определенного набора электрических сигналов — команды. Команда определяет действия машины в течение некоторого про-: межутка времени и воспринимается как соответствующая комму-- тация устройств, блоков, узлов и элементов, участвующих в выпол-. нении данной операции.
Вобщем случае команда как группа символов, воспринимаемых: машиной, делится на несколько подгрупп. Одна подгруппа является-
15"
кодом операции. Она определяет, что должна сделать машина, какую операцию выполнять. Остальные подгруппы, называемые адресами, указывают, откуда (из какой ячейки ОЗУ) взять числа для операции, куда направить результат выполнения операции и откуда взять следующую команду. В качестве адресов указыва ются номера ячеек оперативной памяти. Наибольшее распростра нение получили одно-, двух и трехадресные команды.
В одноадресной команде кроме кода операции указывается адрес только одной ячейки ОЗУ. Поэтому для выполнения одной арифметической операции требуются три одноадресные команды. Первая команда выбирает из ОЗУ одно число, участвующее в опе рации, вторая команда— второе число, третья команда указывает, в какую ячейку памяти следует поместить результат. Однако в большинстве машин одноадресные команды используются более экономно: результат предыдущей операции, полученный в сумма торе АУ, не отсылается в ОЗУ, а используется при выполнении по следующей команды. Тем самым сокращается общее количество одноадресных команд, необходимых при решении данной задачи.
Двухадресная команда кроме кода операции содержит адреса двух ячеек ОЗУ, из которых необходимо взять числа, участвующие в операции. Результат операции остается в АУ и затем либо отсы лается в ОЗУ по другой команде, либо используется в качестве одного из чисел при выполнении очередной команды.
В трехадресной команде имеется код операции и три адреса. Два из них указывают номера ячеек ОЗУ, откуда необходимо взять числа для выполнения операции, а третий дает номер ячейки ОЗУ, куда необходимо поместить результат операции. Следовательно, любая арифметическая операция выполняется по одной команде. В общем случае трехадресная команда выполняется за пять эта пов: вызов из ОЗУ команды, передача из ОЗУ в АУ первого числа, передача из ОЗУ в АУ второго числа, выполнение заданной опера ции, передача полученного результата операции из АУ в ОЗУ. В современных ЦВМ выполнение в АУ заданной операции обычно совмещается во времени с выборкой из ОЗУ очередной команды.
Совокупность команд, определяющая последовательность вы полнения операций над числами, называется программой решения задачи. Для каждой задачи программа составляется заранее и вместе с исходными данными вводится в память машины. Таким образом, программирование заключается в расписывании хода ре шения задачи применительно к системе операций, свойственных данному типу ЦВМ, и распределении ячеек памяти между коман дами программы и исходными данными.
Порядок выполнения команд программы принимается, как пра вило, естественным. Команды располагаются в ОЗУ подряд в по рядке возрастания номеров ячеек, т. е. в том порядке, в каком они должны выполняться. После выполнения каждой очередной коман ды выполняется команда, расположенная в следующей по порядку ячейке памяти, т. е. в ячейке, адрес которой на единицу больше адреса выполненной команды. Так продолжается до тех пор, пока
16
в программе не встретится команда, нарушающая этот порядок (такой командой может быть команда условной или безусловной передачи управления).
Обычный рабочий цикл цифровой машины с трехадресной си стемой команд строится следующим образом. Очередная команда извлекается из ОЗУ и посылается в устройство управления, где она расшифровывается. Совокупностью сигналов, представляющих код операции, АУ настраивается на выполнение данной операции. Адреса команды поочередно воздействуют на ОЗУ, настраивая его последовательно на выдачу чисел из ячеек памяти, указанных в адресах, а затем на прием результата операции. Выбранные из ОЗУ числа поступают в АУ, где над ними производится операция, определяемая ее.кодом. Во время выполнения этой операции из ОЗУ выбирается очередная команда, которая должна выполняться в следующем рабочем цикле. Результат операции отсылается в ячейку ОЗУ, указанную в третьем адресе команды, на чем и закан чивается выполнение данной команды. В случае команд меньшей адресности этот цикл выполняется с помощью нескольких команд. Рабочий цикл ЦВМ с одноили двухадресной системой команд занимает лишь некоторую часть описанного цикла.
Важная особенность современных ЦВМ — автоматический вы бор нужного продолжения вычислений в тех случаях, когда воз можны несколько различных вариантов хода расчетов. Очевидно, что в программе решения задачи должны быть заранее предусмот рены все возможные варианты вычислений, т. е. составлены после довательности команд для всех расчетных формул, которые встре чаются в ходе вычислений. Автоматическое разветвление вычисли тельного процесса осуществляется за счет наличия в машине обратной связи между АУ и устройством управления, определяю щим порядок выдачи команд программы из ОЗУ. Другой не менее важной особенностью ЦВМ является цикличность выполнения опе раций, использование циклически изменяемых программ.
Последовательный характер выполнения операций при реали зации данной программы связан со значительными простоями от дельных устройств ЦВМ. Например, за время одного цикла Тц однопрограммной трехадресной машины ее арифметическое устрой ство занято выполнением операции в течение (0,10—0,25) Тц, т. е. большую часть цикла АУ простаивает. Эти простои особенно за метны при совместной работе быстродействующих устройств (ОЗУ, АУ) и сравнительно медленнодействующих устройств вво да — вывода.
В многопрограммных машинах обеспечивается параллельная работа отдельных устройств, причем требование независимой ра боты устройств ввода — вывода и работы процессора положило начало модульному принципу конструирования ЦВМ. Различают методы локального и нелокального параллелизма работы устройств машины [41]. С помощью методов локального параллелизма совме щается время работы быстродействующих устройств ЦВМ, тем са мым повышается скорость выполнения к
2-821
равномерная загрузка этих устройств. Такие методы реализуются аппаратными средствами. Они используются не только в много программных, но и в однопрограммных ЦВМ. Простейшее совме щение операций в машине заключается в одновременном выполне нии операции в АУ и выборки кода команды из ОЗУ.
Методы нелокального параллелизма, используемые для обеспе чения параллелизма в работе отдельных устройств ЦВМ (главным образом процессора и устройств ввода — вывода), реализуются аппаратно-программными средствами. Нелокальный параллелизм осуществляется путем одновременного выполнения команд разных программ (или разных команд одной и той же программы) на раз ных устройствах машины и достигается за счет многопрограммной организации ее работы. Следовательно, такой параллелизм в рабо те устройств характерен только для многопрограммных ЦВМ.
В многопрограммных ЦВМ работа организуется так: пока про цессор выполняет одну программу, по другой программе одновре менно осуществляется ввод информации (или вводится в ОЗУ сама программа), по третьей программе — вывод результатов решения задачи. Если в выполнении первой программы произошла задерж ка вследствие запроса на работу устройств ввода — вывода, про цессор переходит к выполнению одной из программ, ожидающих очереди и размещенных в ОЗУ. Устройства ввода — вывода выпол няют свои функции независимо от процессора. Связь между про цессором и соответствующим устройством ввода (вывода) осуще ствляется только в начале и конце работы по вводу — выводу дан ного объема информации.
Таким образом, основная цель организации многопрограммного режима работы ЦВМ — наиболее полная загрузка всех устройств машины и, как следствие, повышение ее производительности. При одновременной реализации нескольких программ (хотя в каждый данный момент процессор выполняет команду какой-то одной про граммы) несмотря на прерывания и, следовательно, увеличение времени выполнения одной программы общее время решения мно гих задач уменьшается по сравнению с временем их решения на однопрограммной машине.
§1.3. Режимы работы многопрограммных ЦВМ
Воднопрограммных ЦВМ с линейной организацией выполнения команд программы основные функции управления осуществляются аппаратурными средствами с помощью устройства управления, координирующего работу всех других устройств.
Вмногопрограммных ЦВМ используется сочетание программных
иаппаратурных средств управления, образующих некоторую иерар хическую структуру, на верхнем уровне которой располагаются программные средства управления, а на нижнем — аппаратурные. Программные средства управления составляют систему управляю щих программ, устанавливающих порядок функционирования всех устройств машины при различных режимах ее работы. Тем самым
18
программисты избавлены от необходимости каждый раз вносить этот порядок в рабочие программы. Программно-аппаратурные средства управления являются более гибкими по сравнению с ап паратурными, они выполняют более разнообразные функции и включают ряд специфических систем, важнейшими из которых яв ляются система прерываний и приоритетов, система динамического распределения памяти, система защиты памяти.
Наличие развитой программно-аппаратурной системы управле ния дает возможность организовать несколько различных, режимов работы машины, основными из которых являются следующие: одно программный режим, режим пакетной обработки, режим разделе ния времени, режим запрос — ответ. Последние три режима — многопрограммные, а последние два режима организуются при на личии удаленных от ЦВМ периферийных устройств ввода — вывода с автономными пультами.
Однопрограммный режим — это такой способ организации ре шения задач, при котором все устройства машины заняты выполне нием только одной программы.
Возможны две разновидности этого режима.
О д н о п р о г р а м м н ы й р е ж и м с н е п о с р е д с т в е н н ы м д о с т у п о м а б о н е н т а к м а ши н е . В этом режиме абонент сам работает за пультом ЦВМ: вводит свою программу, запускает ее в непрерывном или однотактном режиме, наблюдает за выво дом результатов по мере получения. Он может высвечивать на пульте содержимое регистров АУ, УУ или ячеек памяти, модифици ровать инструкции и значения некоторых параметров. Это значи тельно облегчает отладку программ. Находясь за пультом машины, абонент имеет ее в своем полном распоряжении, он ведет с ней диалог. Преимущества такого режима могут использоваться толь ко на уровне машинного языка.
Применение однопрограммного режима с непосредственным до ступом чрезвычайно невыгодно с точки зрения производительности ЦВМ. Действительно, время реакции абонента (загрузка колоды перфокарт или перфоленты, работа с пультом, время обдумывания дальнейшего плана действий и т. д.) очень велико по сравнению с временем реакции машины, особенно быстродействующих ее устройств (АУ, ОЗУ, УУ). Поэтому машинное время используется нерационально, машина простаивает. По мере совершенствования ЦВМ и увеличения их быстродействия разница во времени реакции машины и абонента возрастает, следовательно, уменьшается 'эф фективность работы машины в таком режиме. Рассматриваемый режим работы характерен для начальной стадии применения ЦВМ.
О д н о п р о г р а м м н ы й р е ж и м с п о с л е д о в а т е л ь н ым в ы п о л н е н и е м п р о г р а м м б е з у ч а с т и я а б о н е н т о в (режим последовательной обработки). В этом режиме в ЗУ машины имеется несколько программ абонентов, введенных заранее. Программы выполняются последовательно. Автоматиче ский переход к другой программе осуществляется только по окон чании текущей программы или при обнаружении ошибки в про
2* |
19 |