Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лк10.Модельная ЭВМ.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
366 Кб
Скачать
☆

Проблема начальной загрузки программы

Теперь осталось определить условие начала работы программы. Прежде всего, программа каким-то образом должна оказаться в памяти нашей ЭВМ. Вообще говоря, исходя из принципа неразличимости команд и данных, нашу программу можно, например, представить в виде массива целых чисел и ввести в память, используя команду ввода (например, с кодом операции 16, см. таблицу 1). Заметим, однако, что для начального ввода программы в память мы не можем использовать команды ввода из языка машины, так как для этого в памяти уже должна находиться хотя бы одна команда. Чтобы разорвать этот замкнутый круг, в современных ЭВМ обычно часть памяти отводят для постоянного хранения специальной небольшой программы, которая называется программой начальной загрузки. Эта программа начинает автоматически выполняться при включении ЭВМ2. Память, занимаемая программой начальной загрузки, недоступна для записи, такую память, обычно обозначают английской аббревиатурой ROM – Read Only Memory. Ясно, что наличие программы начальной загрузки нарушает принцип Фон Неймана однородности памяти.

В учебной ЭВМ пойти по этому пути загрузки программы нельзя по двум причинам. Во-первых, память и так очень маленькая, и отводить часть её для постоянного хранения программы начальной загрузки нерационально, а, во-вторых, мы не хотим отступать от принципа Фон Неймана однородности памяти. В УМ-3 первичной загрузкой программы в память и формированием начальных значений регистров в устройстве управления занимается устройство ввода. Для этого на устройстве ввода имеется специальная кнопка ПУСК. При нажатии этой кнопки устройство ввода самостоятельно (без сигналов со стороны устройства управления, которое ещё не функционирует) выполняет следующую последовательность действий:

  1. Производит ввод расположенного на устройстве ввода массива машинных слов в память, начиная с первой ячейки; этот массив машинных слов заканчивается специальным признаком конца ввода3.

  2. РА := 1; первой будет выполняться команда из ячейки с номером один.

  3. w := 0; начальное значение признака результата нулевое.

  4. Err := 0; признак ошибки сбрасывается (устанавливается равным false).

Как видно, при нажатии кнопки ПУСК устройство ввода выполняет функции упомянутой выше программы начальной загрузки современных ЭВМ. Вот теперь всё готово для автоматической работы центрального процессора по загруженной в память программе, и за дело принимается устройство управления.

Таким образом, полностью определены условия начала и конца работы этой учебной машины как алгоритмической системы. Здесь по аналогии хорошо вспомнить, как условия начала работы определялись, скажем, для машины Тьюринга: на ленте расположено входное слово, головка установлена у первого слева символа этого слова и машина находится в первом состоянии.

Заметим, что по своей архитектуре эта учебная машина очень похожа на первые ЭВМ, построенные в соответствии с принципами Фон Неймана, например, на отечественную ЭВМ Стрела, выпускавшуюся в средине прошлого века.