Вычислительная машина, где определенным образом закодированные команды программы хранятся в памяти, называется вычислительной машиной с хранимой в памяти программой.
Сущность фон-неймановской концепции вычислительной машины можно свести к четырем принципам:
• двоичное кодирование;
• программное управление;
• однородность памяти;
• адресность.
Принцип двоичного кодирования
Вся информация, как данные, так и команды, кодируются двоичными цифрами 0 и 1. В числовой информации обычно выделяют поле знака и поле значащих разрядов. В формате команды выделяют два поля: поле кода операции (КОп) и поле адресов (адресную часть — АЧ).
Код операции представляет собой указание, какая операция должна быть выполнена. Вид адресной части и число составляющих ее адресов зависят от типа команды.
Принцип программного управления
Все вычисления, предусмотренные алгоритмом, должны быть представлены в виде программы, состоящей из последовательности управляющих слов - команд. Команды программы хранятся в последовательных ячейках памяти вычислительной машины и выполняются в естественной последовательности.
Принцип однородности памяти
Команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы. Распознать их можно только по способу использования. Это позволяет производить над командами те же операции, что и над числами.
Принцип адресности
Структурно основная память состоит из пронумерованных ячеек произвольного доступа. Двоичные коды команд и данных разделяются на единицы информации, называемые словами, и хранятся в ячейках памяти, а для доступа к ним используются номера соответствующих ячеек – адреса.
Большинство современных ВМ по своей структуре отвечают принципу программного управления. Типичная фон-неймановская ВМ (рис. 3.2) содержит:
память,
устройство управления,
арифметико-логическое устройство,
устройство ввода/вывода.
Рис. 3.2. Структура фон-неймановской вычислительной машины
Устройство управления (УУ) организует автоматическое выполнение программ (путем реализации функций управления) и обеспечивает функционирование ВМ как единой системы. Пересылка информации между любыми элементами ВМ инициируется своим сигналом управления (СУ).
Арифметико-логическое устройство (АЛУ) обеспечивает арифметическую и логическую обработку двух входных переменных, в результате которой формируется выходная переменная. Функции АЛУ обычно сводятся к простым арифметическим и логическим операциям, а также операциям сдвига. Помимо результата операции АЛУ формирует ряд признаков результата (флагов). Флаги могут анализироваться в УУ с целью принятия решения о дальнейшей последовательности выполнения команд программы.
УУ и АЛУ тесно взаимосвязаны и их обычно рассматривают как единое устройство, известное как центральный процессор (ЦП) или просто процессор. Помимо УУ и АЛУ в процессор входит также набор регистров общего назначения (РОН), служащих для промежуточного хранения информации в процессе ее обработки.
В любой ВМ имеются средства для ввода программ и данных к ним. Информация поступает из подсоединенных к ЭВМ периферийных устройств (ПУ) ввода. Результаты вычислений выводятся на периферийные устройства вывода. Связь и взаимодействие ВМ и ПУ обеспечивают порты ввода и порты вывода.
Введенная информация сначала запоминается в основной памяти, а затем переносится во вторичную память, для длительного хранения. Чтобы программа могла выполняться, команды и данные должны располагаться в основной памяти (ОП), организованной таким образом, что каждое двоичное слово хранится в отдельной ячейке, идентифицируемой адресом, причем соседние ячейки памяти имеют следующие по порядку адреса. Доступ к любым ячейкам запоминающего устройства (ЗУ) основной памяти может производиться в произвольной последовательности. Такой вид памяти называется – память с произвольным доступом.
Размер ячейки основной памяти обычно принимается равным 8 двоичным разрядам – байту. Для хранения больших чисел используются 2,4 или 8 байтов, размещаемых в ячейках с последовательными адресами.
Адресация по младшему байту характерна для микропроцессоров фирмы Intel и мини-ЭВМ фирмы DEC, а по старшему байту – для микропроцессоров фирмы Motorola и универсальных ЭВМ фирмы IBM. В принципе выбор порядка записи байтов существенен лишь при пересылке данных между ВМ с различными формами их адресации или при манипуляциях с отдельными байтами числа. В большинстве ВМ предусмотрены специальные инструкции для перехода от одного способа к другому.
Для долговременного хранения больших программ и массивов данных в ВМ обычно имеется дополнительная память, известная как вторичная. Вторичная память энергонезависима и чаще всего реализуется на базе магнитных дисков.