Принцип программного управления
Основы учения об архитектуре вычислительных машин заложил выдающийся американский математик Джон фон Нейман. Он подключился к созданию первой в мире ламповой ЭВМ ENIAC в 1944 г., когда ее конструкция была уже выбрана. В процессе работы во время многочисленных дискуссий со своими коллегами Г.Голдстайном и А.Берксом фон Нейман высказал идею принципиально новой ЭВМ. В 1946 г. ученые изложили свои принципы построения вычислительных машин в статье «Предварительное рассмотрение логической конструкции электронно-вычислительного устройства». С тех пор прошло полвека, но выдвинутые в ней положения сохраняют актуальность и сегодня.
В статье убедительно обосновывается использование двоичной системы для представления чисел (нелишне напомнить, что ранее все вычислительные машины хранили обрабатываемые числа в десятичном виде). Авторы убедительно продемонстрировали преимущества двоичной системы для технической реализации, удобство и простоту выполнения в ней арифметических и логических операций. В дальнейшем ЭВМ стали обрабатывать и нечисловые виды информации - текстовую, графическую, звуковую и другие, но двоичное кодирование данных по-прежнему составляет информационную основу любого современного компьютера.
Еще одной поистине революционной идеей, значение которой трудно переоценить, является предложенный Нейманом принцип «хранимой программы». Первоначально программа задавалась путем установки перемычек на специальной коммутационной панели. Это было весьма трудоемким занятием: например, для изменения программы машины ENIAC требовалось несколько дней (в то время как собственно расчет не мог продолжаться более нескольких минут - выходили из строя лампы). Нейман первым догадался, что программа может также храниться в виде набора нулей и единиц, причем в той же самой памяти, что и обрабатываемые ею числа. Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатами вычислений.
Фон Нейман не только выдвинул основополагающие принципы логического устройства ЭВМ, но и предложил ее структуру, которая воспроизводилась в течение первых двух поколений ЭВМ.
Обобщая сказанное, можно изложить принципы Джона фон Неймана следующим образом:
1) информация кодируется в двоичной форме и разделяется на единицы, называемые словами.
2) ЭВМ функционирует в соответствии с алгоритмом. Алгоритм представляется в форме последовательности управляющих слов, называемых командами. Совокупность команд, представляющая алгоритм, называется программой.
3) Программы и данные хранятся в одной и той же памяти (эту память обычно называют оперативной памятью).
4) Обработка информации, предписанная алгоритмом, сводится к последовательному выполнению команд в порядке, однозначно определяемом программой.
Джон фон Нейман обосновал структуру вычислительной машины. По фон Нейману основными блоками ЭВМ являются: блок управления, арифметико-логическое устройство, память и устройства ввода-вывода (рисунок 1).
Несмотря на то, что принципы фон-Неймана были сформулированы еще в середине прошлого столетия, на заре развития цифровой вычислительной техники, они являются жизненными и по настоящее время. Современные персональные ЭВМ реализованы также на основе названных принципов.
Рисунок 1 – Обобщенная структурная схема ЭВМ
В современных ЭВМ обычно устройство управления (УУ) и арифметико-логическое устройство (АЛУ) объединяются в центральный процессор. Кроме оперативной памяти используется внешняя память, предназначенная для хранения программ и данных. Схема устройства такой ЭВМ представлена на рисунке 2. Следует отметить, что внешняя память отличается от устройств ввода и вывода тем, что данные в нее заносятся в виде, удобном компьютеру, но недоступном для непосредственного восприятия человеком. Так, накопитель на магнитных дисках относится к внешней памяти, а клавиатура - устройство ввода, дисплей и печать - устройства вывода.
Рисунок 2 – Обобщенная структура современной ЭВМ
Процессор ЭВМ является преобразователем информации, поступающей из памяти и внешних устройств (сюда относятся выборка команд из памяти, кодирование и декодирование, выполнение различных, в том числе и арифметических, операций, согласование работы узлов компьютера. Более детально функции процессора будут обсуждаться ниже.
В построенной по описанной схеме ЭВМ происходит последовательное считывание команд из памяти и их выполнение. Номер (адрес) очередной ячейки памяти, из которой будет извлечена следующая команда программы, указывается специальным устройством - счетчиком команд вУУ. Его наличие также является одним из характерных признаков рассматриваемой архитектуры.