Принципы Фон-Неймана.

Первый компьютер MARK-1 был построен в США в 1943г. Однако оказалось, что не всякий алгоритм можно реализовать на этом компьютере. Группа ученых, приглашенная для помощи, после тщательного анализа сформулировала несколько практических принципов, которыми следует руководствоваться в дополнение к общим теоретическим при создании реально работающей универсальной вычислительной машины. Они получили название принципов Фон-Неймана и используются без изменения до сих пор. Эти принципы касаются устройств хранения информации, процессора, организации обмена с внешней средой, адресации памяти и т.д.:

¨ компьютер компонуется из трех основных устройств: запоминающего устройства, арифметико-логического устройства и устройства управления;

¨ запоминающее устройство используется для хранения входной, выходной и промежуточной информации;

¨ данные представлены в запоминающем устройстве в форме двоичных чисел;

¨ арифметико-логическое устройство выполняет арифметические и логические операции;

¨ устройство управления обеспечивает чтение и выполнение команд программы и синхронизирует все операции в компьютере;

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

¨ для ввода и вывода информации используются отдельные устройства ввода-вывода.

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