Принцип программного управления 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Принцип программного управления



Принцип программного управления заключается в том, что алгоритм вычислений (например, вычисление некоторого выражения) представляется в виде упорядоченной последовательности команд, преобразующих исходные данные (операнды) в результат. Таким образом, действия предписанные алгоритмами, закладываются в команды (например, такие действия как сложение, вычитание, умножение, логические операции и т.д. представляются в виде соответствующих машинных команд). Последовательность команд называется программой. Программа управляет ходом вычислительного процесса.

Пусть, например, необходимо вычислить выражение: .

Возможная программа его вычисления содержит следующие команды:

1-я команда: умножить операнд a на b;

2-я команда: сохранить результат умножения ( a*b ) в памяти;

3-я команда: сложитьоперанды a и b;

4-я команда: умножить результат сложения (a+b) на c;

5-я команда: считать из памяти (a*b );

6-я команда: разделить результат (a*b ) на (a+b)* c.

Если операнды и действия над ними представлены в двоичной системе счисления, то для реализации программы можно ввести следующую систему команд:

 

КОП 1-й операнд 2-й операнд

 

где КОП - код операции – поле, в котором заданы операции, выполняемые процессором, закодированные в двоичной системе счисления.

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

.

Программа вычислений будет следующей:

1-я команда: умножить a0 на b0;

2-я команда: умножить a1 на b1;

3-я команда: сложить результат 1-й команды с результатом 2-й команды;

4-я команда: умножить a2 на b2;

5-я команда: сложить результат 3-й команды с результатом 4-й команды:

6-я команда: умножить a3 на b3;

7-я команда: сложить результат 5-й команды с результатом 6-й команды и т.д.

При использовании предложенной структуры команд программа будет состоять приблизительно из n - команд умножения и n - команд сложения, т.е. всего из 2 n команд. Большая длина программы обусловлена невозможностью оперативного возврата к тем ее частям, которые могли бы выполняться многократно.

Принцип хранимой в памяти программы

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

КОП Адрес операнда

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

Программа вычисления выражения: при использовании команд последнего типа намного сокращается.

1-я команда: i:= 0;

2-я команда: Yi:= 0:

3-я команда: умножение ai*bi:= Xi;

4-я команда: сложение Yi+Xi:= Yi;

5-я команда: i:=i+1;

6-я команда: i>n? Если нет, то переход на 3-ю команду;

7-я команда: Конец.

Длина полученной программы, использующей введенный тип команды, не зависит от числа n слагаемых. Сокращение длины программы достигается благодаря возможности многократного вызова из памяти последовательности с 3-ей по 6-ю команд.

Обобщенный формат команд

Команды в ЦВМ могут быть одноадресными, двухадресными и трехадресными (в машинах с так называемой естественной адресацией команд).

Формат одноадресной команды следующий:

КОП А - адрес операнда

 

Формат двухадресной команды:

КОП А1-адрес первого операнда А2 - адрес второго операнда

 

Формат трехадресной команды:

КОП А1- адрес первого операнда А2 – адрес второго операнда Ар-адрес результата

 

Каждая команда состоит из операционной части - кода операции (КОП) и адресной части. В операционной части указывается тип выполняемой операции в виде двоичного числа. В адресной части указывается адрес ячейки памяти, в которой размещается операнд (для одноадресной команды). Если в команде указывается адреса 1-го и 2-го операндов, то такая команда называется двухадресной. В трехадресной машине указывается еще и адрес результата, то есть номер ячейки ОП, куда помещается результат.

Какая из систем лучше? В современных машинах большого класса могут сочетаться все типы. Приведенные типы команд относятся к так называемым машинам с естественной адресацией команд, в которых команды размещаются в смежных ячейках памяти. Адресация производится с помощью счетчика команд СчК (PC- Program Counter). Однако существовали машины и с принудительной адресацией, в которых очередная команда выбиралась по адресу, указанному в предыдущей команде (такой способ адресации сохранен в настоящее время только в так называемых микропрограммных устройствах управления).

Структура команд такой машины имеет вид:

КОП А1 А2 Ар Аск

 

где Ар- адрес результата;

Аск -адрес следующей команды.

Т.к. приведенная команда использует два операнда, и еще появилось поле адреса, то поэтому команда стала четырехадресной:

 

Способы адресации команд

При размещении команд в ОП для их вызова на исполнение в процессор необходимо формировать адреса ячеек ОП, в которых они хранятся. В соответствии с методом формирования адреса команды процессоры делятся на два типа: процессоры с принудительным порядком выполнения команд (принудительной адресацией команд) и с естественным порядком выполнения команд (естественной адресацией команд).



Поделиться:


Последнее изменение этой страницы: 2016-08-06; просмотров: 2282; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.244.44 (0.009 с.)