Институт №8 МАИ

8 день. Машина фон Неймана


Словарик программиста:


2.9 Модель фон Неймана.

2.9.1 Критика модели вычислений Тьюринга

Мы доказали, что МТ может быть записана на OСТ, а дальше там один шаг до внедрения в компьютер (в режиме отладки/интерпретации).

© На машине Тьюринга далеко не уедешь.

1) Описание программы для сложения двух дробей занимает целую страницу, с учетом того, что почти все программы МТ, через которые выполнен алгоритм, объявлены библиотечными.

2) Второй недостаток языка ОСТ — необходимость многочисленных копирований. Копирования могут составлять около половины всех действий соответствующих МТ. Это увеличивает время работы и усложняет читаемость программы, т.к. каждое слово встречается на ленте в нескольких экземплярах.

3) Ещё один недостаток — необходимость выписывать ситуации на ленте, иначе можно легко запутаться в расположении данных и будут ошибки в алгоритме.

Недостатки обусловлены свойствами МТ — основной модели вычислений.

Т.е. длина описания программы пропорциональна числу букв сообщения.

Язык ОСТ удобен для построения математической теории алгоритмов, но не для программирования.

Для программирования нужна более совершенная модель, которая была построена в 1940-ых годах Джоном фон Нейманом (усовершенствование МТ).


2.9.2 Адреса и имена

Все данные, полученные в результате работы, хранятся в ячейках ленты. Будем отсчитывать номера ячеек от некоторой фиксированной ячейки.

Адреса в явном виде нигде не записываются. Понятие адреса вторично: оно задано конструктивным образом, т.к. адрес может быть сгенерирован по известному алгоритму — вручную посчитать слова на ленте.

В программе могут встречаться переменные и константы. Значения переменных могут меняться в процессе выполнения программы, а значения констант не могут.

Текст программы станет более понятным, если вместо адресов значений использовать их имена.

Таблицу имён расположим перед программой и введём символ Т. Выходит, что текст программы расположен между символом таблицы имён Т и границой Д на ленте.


2.9.3 Построение процессора фон Неймана

В программах широко используются внешние МТ.

Они программируются и записываются на D-ленту до их применения в программе. Следовательно, они должны реализовывать действия, применимые при большого класса программ. Например, простейшие математические действия над целыми числами.

Каждая операция применяется к одному или нескольким словам над рабочим алфави- том процессора, называемых операндами. Количество операндов определяет местность операции (операция сложения имеет два операнда и является двуместной).

Операция выполняется нормированно: результат помещается за операндами. До выполнения операции операнды помещают в требуемом порядке перед свободным краем ленты, иначе результат запишется на месте слов, которые нужно сохранить.

Упрощение достигается использованием свободного края ленты (за ячейкой с символом Д).

Перенормируем операции так, чтобы результат также помещался на R-ленте не вслед за операндами, а вместо них.

Для построения процессора необходимо:

1) Выбрать рабочий алфавит процессора (множество первых p неотрицательных чисел, начиная с нуля).

2) Зафиксируем множество конечных и бесконечных допустимых слов, а также зафиксируем их длину.

3) Запишем на D-ленту программы операций процессора.

4) Сообщим обозначения операций управляющей программе этой УМТ, на основе которой построен процессор.

Отношения связывают числовые операнды, имеют истинностные значения и не являются операциями, т.к. размыкают множество допустимых операндов.


2.9.4 Согласование процессоров

Процессоры могут использоваться по отдельности или вместе. В последнем случае необходимо уточнить понятие согласованности.

Определение 2.9.1

При согласовании процессоров их S-ленты объединяются.

Отметим, что каждая из двух лент двулеиточного процессора содержит операцию перениен слов с «чужой» А-ленты на’ «евою» © одновременным их преобразованием К «своему» допустимому виду

Несколько попарно согласованных процессоров образуют п-ленточный процессор.

Процессор фон Неймана объединяет D-ленты многоленточного процессора и способен выполнить все операции объединённых D-лент за счет своего УУ.


2.9.5 Машина фон Неймана

Устройство:

Устройство памяти:

1) содержит конечное число ячеек ограниченного размера (в отличие от S-ленты процессора фон Неймана)

Поэтому не любая ВТ-функция вычислима на машине фон Неймана.

2) Данные в ячейках памяти, недоступны для непосредственного восприятия человеком.

3) Язык описания программ машины фон Неймана содержит средства управления устройствами ввода и вывода, преобразующими сообщения в данные и наоборот.

Преимущества аппаратной мфн:

Современной машиной фон Неймана можно считать языки программирования высокого уровня.