Файл: Дроздов Е.А. Многопрограммные цифровые вычислительные машины.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.04.2024
Просмотров: 258
Скачиваний: 0
исходные данные и программы, записанные на Стандартных блан ках, переносятся на перфоленты или перфокарты, с которых в даль нейшем информация считывается и поступает в ЗУ. В состав внеш них устройств входят клавишные устройства, контрольно-считываю- щие устройства (контрольники), перфораторы.
ВЦВМ исходные данные, команды программы, промежуточные
иокончательные результаты вычислений представляются в виде кодов чисел, причем нашли применение системы счисления с осно ваниями 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