
- •Нижегородский государственный университет им. Н.И. Лобачевского
- •1.Предисловие
- •2.Замечания по терминологии
- •3.Кибернетика и информатика
- •4.Предпосылки информатики
- •4.1.Мечта человека об искусственном человеке
- •4.2.Усилители физической и умственной деятельности человека
- •4.3.Ключевые проблемы информатики
- •5.Формализация естественного языка как средства общения.
- •6.Формализация физических характеристик среды обитания
- •6.1.Дискретные и непрерывные множества
- •6.2. Понятия измерительной шкалы, числа и измерения
- •6.3.Натуральное число
- •6.4.Позиционная система счисления
- •6.5.Натуральная числовая прямая
- •6.6.Целые числа (положительные и отрицательные)
- •6.7.Вещественные числа
- •7.Формализация физических зависимостей
- •7.1.Функции
- •7.2.Элементарные функции
- •7.3.Элементарная алгебра, аналитические и численные вычисления
- •8.Аналоговые и цифровые вычислители
- •9.Простейшие вычислители
- •9.1.Аналоговые вычислительные линейки
- •9.2.Цифровой абак и русские счеты
- •9.3.Цифровые механические арифмометры
- •9.4.Хронология событий.
- •10.Аналитические машины Чарльза Беббиджа.
- •11.Формализация рассуждений
- •11.1.Логика рассуждений
- •11.2.Логические функции и алгебра логики
- •11.3.Алгебра логики и алгебра релейно - контактных схем
- •12.Накануне компьютерной эры
- •12.1. Зарождение цифровых систем управления
- •12.2.Перфокарточные сортировальные машины
- •12.3.Методология моделирования
- •13.Теоретические модели вычислений
- •13.1.Алгоритм и его свойства
- •13.2.Проблема слов в ассоциативном исчислении
- •13.3.Нормальный алгоритм Маркова
- •13.4.Рекурсивные функции
- •13.5.Машина Тьюринга
- •13.6.Равнодоступная адресная машина
- •14.Пионеры зарубежной компьютеризации
- •15.Становление информатики в России. Борьба за признание
- •16.Два типа электронных вычислительных машин
- •16.1.Аналоговая вычислительная машина (авм)
- •16.2.Цифровая электронная вычислительная машина (компьютер, эвм)
- •16.3.Аналог или цифра
- •17.Пионеры отечественной компьютеризации
- •18.Становление информатики в России. Начальный период
- •19.Оригинальные отечественные серийные эвм (компьютеры)
- •19.1.Эвм Стрела
- •Элементная база
- •Программное обеспечение
- •Описание машины
- •Технико-эксплуатационные характеристики
- •Особенности эвм
- •19.2.Семейство эвм "м-20"
- •Структура эвм
- •Элементная база
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •Особенности машины
- •Об использовании эвм м-20
- •Описание машины
- •Элементная база
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •Особенности эвм
- •19.3.Семейство эвм "бэсм"
- •19.3.1.Бэсм-1
- •Структура эвм
- •19.3.2.Бэсм-2
- •Структура эвм
- •19.3.3.Бэсм-4
- •Структура эвм
- •Элементная база
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •19.4.Семейство эвм "Минск"
- •19.4.1.Минск-1
- •19.4.2.Минск-2
- •19.4.3.Минск -22
- •19.4.4.Минск-23
- •19.4.5.Минск-32
- •Описание машины
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •Особенности эвм
- •19.5.Семейство эвм "Урал"
- •19.5.1.Урал-1, Урал-2, Урал-3, Урал-4
- •Описание машины
- •Элементная база
- •Программное обеспечение
- •Основные эксплуатационно-технические данные
- •Особенности эвм
- •19.5.2.Урал-11, Урал-14, Урал-16
- •Описание машины
- •Элементная база
- •Программное обеспечение.
- •Основные эксплуатационно-технические данные машины “Урал-11”
- •Особенности эвм
- •19.6.Эвм "Весна" и "Снег"
- •19.7.Эвм бэсм-6
- •Описание машины
- •Элементная база
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •Особенности машины
- •19.8.Многопроцессорные вычислительные комплексы "Эльбрус"
- •Описание машины.
- •Элементная база
- •Программное обеспечение
- •Типовые комплектации
- •Производительность
- •19.9.Управляющие эвм
- •20.Эволюция элементарной базы и поколения эвм
- •20.1.Базисные логические элементы
- •20.2.Элементы регистровой памяти
- •20.3.Элементы памяти на магнитных сердечниках.
- •20.4.Интегральные схемы
- •20.5.Поколения эвм
- •21.Американская система ibm-360
- •22.Семейство Ряд "ес эвм"
- •22.1.Хронология создания
- •22.2.Ес эвм. Крупнейший промах или всеобщее счастье?
- •23.Автоматизация программирования
- •23.1.От двоичных кодов к ассемблерам - языкам символьного кодирования
- •Ассемблеры
- •Программы - загрузчики
- •23.2.Языки программирования высокого уровня
- •23.3.Трансляция программ
- •24.Первые компьютеры Сарова
- •25.Начало компьютеризации Нижегородского госуниверситета
- •26.Они были первыми
- •26.1.Конрад Цузе
- •26.2.А лан Тьюринг
- •26.3.Джон Маулчи и Джон Эккерт
- •26.4.Джон фон Нейман
- •26.5.А ксель Берг
- •26.6.В иктор Глушков
- •26.7.Сергей Лебедев
- •26.8.Исаак Брук
- •26.9.Николай Матюхин
- •26.10.Михаил Карцев
- •26.11.Юрий Базилевский
- •26.12. Башир Рамеев
- •26.13.Георгий Лопато
- •26.14. Всеволод Бурцев
- •27.Приложения
- •27.1.Основные черты кибернетики
- •27.1.1.Общенаучное значение кибернетики
- •27.1.2.Электронные счетные машины и нервная система
- •27.1.3.Прикладное значение кибернетики
- •27.2."Сигнал" Игоря Полетаева
- •27.3.Хронология компьютеростроения
- •Литература
- •Оглавление
13.6.Равнодоступная адресная машина
Машина с произвольным доступом к памяти (или, иначе, равнодоступная адресная машина — сокращенно РАМ) является усовершенствованием машины Тьюринга по следующим направлениям.
В дополнение к входной и выходной лентам введена оперативная память, состоящая из регистров, к которым обеспечен произвольный доступ. Следствием произвольного доступа является необходимость присвоить каждому регистру уникальное имя (адрес).
Состояние машины определяется содержимым регистров оперативной памяти. Смена состояния – изменение содержимого одного (любого) регистра.
Вместо управляющей таблицы используется программа, исполнение которой реализует изменение состояния машины от начального до заключительного.
Более подробно. РАМ состоит из входной ленты, с которой читающая головка только считывает символы из доступной ячейки, выходной ленты, на которую записывающая головка может только записывать символы в доступную ячейку, и оперативной памяти (рис. 52). Входная лента представляет собой последовательность ячеек, каждая из которых может содержать натуральное число (возможно, отрицательное). Всякий раз, когда читающая головка считывает символ из доступной ячейки входной ленты, эта лента сдвигается на одну клетку влево. Выход представляет собой ленту, на которую машина может только записывать символы, она разбита на ячейки, которые вначале все пусты. При выполнении записи в той ячейке выходной ленты, которая в текущий момент доступна записывающей головке, печатается натуральное число, и лента сдвигается на одну клетку влево. Как только выходной символ записан, его уже нельзя изменить. (Доступ к ячейкам входной/ выходной ленты последовательный).
Оперативная память состоит из последовательности регистров r0 r1, . . ., ri . . , каждый из которых способен хранить произвольное натуральное число. Как сказано выше, после доступа к ячейке ri возможен доступ к ячейке rj (произвольный доступ).
Рис. 52. Машина с произвольным доступом к памяти (РАМ)
_|Программа для РАМ (или РАМ-программа) хранится в отдельной памяти. Поэтому предполагается, что программа не может изменять сама себя. Программа является, в сущности, последовательностью (возможно) помеченных команд. Мы предполагаем, что имеются арифметические команды, команды ввода-вывода, и команды разветвления. Все вычисления производятся в первом регистре r0, называемом сумматором, который, как и всякий другой регистр памяти, может хранить произвольное натуральное число. Пример набора команд для РАМ показан в нижеследующей таблице. Каждая команда состоит из двух частей — кода операции и адреса регистра памяти. Если a – адрес регистра памяти, то a* - содержимое этого регистра.
|
Команда |
Действие |
1 |
LOAD a |
r0a* |
2 |
STORE i |
rir0* |
3 |
ADD a |
r0ro*+a* |
4 |
SUB a |
r0ro*-a* |
5 |
MULT a |
r0ro*a* |
6 |
DIV a |
r0ro*/a* |
7 |
READ i |
riвходной символ, входная лента сдвигается на ячейку влево. |
8 |
WRITE a |
a* печатается в доступной ячейке, выходная лента сдвигается на ячейку влево. |
9 |
JAMP b |
В счетчик команд засылается адрес b |
10 |
JGTZ b |
Если r0*>0, то в счетчик команд засылается адрес b |
11 |
JZERO b |
Если r0*=0, то в счетчик команд засылается адрес b |
12 |
HALT |
Останов |
При выполнении любой из первых восьми команд счетчик команд увеличивается на единицу. Поэтому команды в программе выполняются, последовательно, до тех пор, пока не встретится команда JUMP b или JZERO b (при содержимом сумматора, равном нулю), либо JGTZ b (при содержимом сумматора большем нуля).
Можно показать, что РАМ может вычислять в точности частично рекурсивные функции.
Поскольку РАМ-программа хранится в отдельной памяти, она не может изменять сама себя. Хранение программы в оперативной памяти (наряду с данными) превращает РАМ в равнодоступную адресную машину с хранимой программой (РАСП). Такая машина изображена на рис ?.
Рис. 53. Машина с хранимой программой (РАСП)
Можно доказать [], что модель вычисления в виде РАСП эквивалентна машине Тьюринга по своим вычислительным возможностям. Но замена управляющей таблицы (автоматное программирование) на программу (лингвистическое программирование) делает ее более пригодной для массового решения прикладных программ. Это объясняет тот факт, что не только первые, но и современные компьютеры реализуют, по сути дела, модель вычисления РАСП.
[А. Ахо, Дж. Хопкрофт, Дж. Ульман. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979]