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

Принцип хранимой в памяти программы был предложен Дж. фон Нейманом в 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-ю команд.