1.3. Классическая архитектура ЭВМ
Считается, что основные идеи построения современных ЭВМ в
1) информация кодируется в двоичной форме и разделяется на единицы – слова.
2) разнотипные по смыслу слова различаются по способу использования, но не по способу кодирования.
3) Слова информации размещаются в ячейках памяти и идентифицируются номерами ячеек – адресами слов.
4) Алгоритм представляется в форме последовательности управляющих слов, называемых командами. Команда определяет наименование операции и слова информации, участвующие в ней. Алгоритм, записанный в виде последовательности команд, называется программой.
5) Выполнение вычислений, предписанных алгоритмом, сводится к последовательному выполнению команд в порядке, однозначно определенном программой.
Поэтому классическую архитектуру современных ЭВМ, представленную на рисунке 1.3, часто называют «архитектурой фон Неймона».
Программа вычислений (обработки информации) составляется в виде последовательности команд и загружается в память машины – запоминающее устройство (ЗУ). Там же храниться исходные данные и промежуточные результаты обработки. Центральное устройство управления (ЦУУ) последовательно извлекает из памяти команды программы и организует их выполнение. Арифметико-логическое устройство (АЛУ) предназначено для реализации операций преобразования информации. Программа и исходные данные вводятся в память машины через устройства ввода (УВв), а результаты обработки предъявляются на устройства вывода (УВыв).
Характерной особенностью архитектуры фон Неймона является то, что память представляет собой единое адресное пространство, предназначенное для хранения, как программ, так и данных.
Такой подход, с одной стороны, обеспечивает большую гибкость организации вычислений – возможность перераспределения памяти между программой и данными, возможность самомодификации программы в процессе её выполнения. С другой стороны, без принятия специальных мер защиты снижается надежность выполнения программы, что особенно не допустимо в управляющих системах.
Действительно, поскольку и команды программы, и данные кодируются в ЭВМ двоичными числами, теоретически возможно как разрушение программы (при обращении в область программы как к данным), так и попытка «выполнения» области данных как программы (при ошибочных переходах программы в область данных).
Альтернативной фон-неймановской является т.н. гарвардская архитектура. ЭВМ, реализованные по этому принципу, имеют два непересекающихся адресных пространства – для программы и для данных, причем программу нельзя разместить в свободной области памяти данных и наоборот. Гарвардская архитектура применяется главным образом в управляющих ЭВМ.