Cтраница 4
Для перехода к группам команд, расположенных в других местах памяти, необходимо в конце каждой последовательности помещать специальную команду, указывающую ячейку, в которой находится начало следующей последовательности. Таким образом, достаточно, чтобы машина при включении обращалась к первой ячейке памяти, в которую предварительно была помещена начальная команда. Дальнейшая работа машины осуществляется одним из двух способов. В первом случае устройство управления снабжено счетчиком. При поступлении сигнала о том, что команда выполнена, показание счетчика увеличивается на единицу и дает номер ячейки, в которой хранится следующая команда. Если же должен произойти скачок к другой последовательности команд, то содержимое счетчика изменяется в зависимости от указания замыкающей команды выполняемой группы команд. Второй способ заключается в том, что каждая команда указывает на номер той ячейки памяти, из которой должна быть взята следующая команда. Этот способ называют принудительным выполнением команд. В отечественных машинах принят первый способ, который называют естественным. [46]
Начальная команда перед выполнением поступает в сумматор АУ и здесь может изменяться в зависимости от адреса индексной ячейки. Если адрес равен нулю, то команда не изменяется; при адресе, отличном от нуля, изменяется адресная часть начальной команды на содержимое индексной ячейки. [47]
Обычно аппаратная система прерывания фиксирует сигналы прерывания от устройств ввода-вывода. В такой-системе прерывание исполняемой рабочей программы производится за счет комплекса аппаратных средств, которые без предварительного обращения в память ЭВМ для вызова программы прерывания останавливают вычисления и с помощью микропрограммного аппарата производят операции по записи результатов решения и начальных команд. [48]
Каждый модуль обладает своими рабочими ячейками. Подпрограмма 14.3.2 использует ряд рабочих ячеек, в частности, ячейки а, Ь, п, х, у, I. В духе модульного подхода следует считать, что подпрограмма f составляется независимо от подпрограммы 14.3.2, что она берет значение аргумента, скажем, из ячейки х и помещает значение подынтегральной функции в ячейку у, что адрес входа в эту подпрограмму ( ее начальной команды) равен f w, а адрес выхода ( ячейки, куда попадает управление по завершении вычисления функции) равен f K. [49]
Каждый модуль обладает своими рабочими ячейками. Подпрограмма 15.3.2 использует ряд рабочих ячеек, в частности, ячейки а, Ь, п, х, у, I. В духе модульного подхода следует считать, что подпрограмма f составляется независимо от подпрограммы 15.3.2, что она берет значение аргумента, скажем, из ячейки х и помещает значение подынтегральной функции в ячейку у1, что адрес входа в эту подпрограмму ( ее начальной команды) равен / и, а адрес выхода ( ячейки, куда попадает управление по завершении вычисления функции) равен / и. [50]
Имеют адреса 69 - ( 68 М) и применяются для организации передачи управления между операторами. Верхняя граница ячеек зависит от М - количества операторов. За каждой меткой автокодовой программы, независимо от порядка ввода операторов, закреплена определенная ячейка. В нее транслятор во время загрузки записывает в виде целого числа адрес начальной команды рабочей программы соответствующего оператора. [51]
В большинстве современных вычислительных машин блок управления и арифметический блок явно не разделяются, причем блок управления распределен по всей вычислительной машине. Тем не менее блок управления удобно рассматривать как отдельный блок. Функция блока управления состоит в том, чтобы координировать работу других узлов машины. Таким образом, блок управления должен извлекать каждую команду программы из памяти в необходимом порядке и следить за ее выполнением. Блок управления также отвечает за то, чтобы программа точно записывалась в памяти в первый раз, что осуществляется с помощью программы, записанной первоначально в часть памяти и известной как начальные команды. [52]