Jump to content

Машина с произвольным доступом к хранимой программе

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

RASP — это модель машины с произвольным доступом (RAM), которая, в отличие от RAM, имеет свою программу в своих «регистрах» вместе с входными данными. Регистры неограниченны (бесконечная емкость); является ли число регистров конечным, зависит от модели. Таким образом, RASP относится к оперативной памяти так же, как универсальная машина Тьюринга к машине Тьюринга . RASP является примером архитектуры фон Неймана , тогда как RAM является примером Гарвардской архитектуры .

RASP из всех абстрактных моделей ближе всего к общему понятию компьютера . Но в отличие от реальных компьютеров модель RASP обычно имеет очень простой набор инструкций, значительно сокращенный от тех, что используются в процессорах CISC и даже RISC , до простейших арифметических операций, инструкций «перемещения» между регистрами и инструкций «тестирования/перехода». Некоторые модели имеют несколько дополнительных регистров, например аккумулятор .

Вместе с регистровой машиной , ОЗУ и указателем RASP образует четыре общие модели последовательных машин , названные так, чтобы отличать их от «параллельных» моделей (например, параллельной машины произвольного доступа ) [ср. ван Эмде Боас (1990)].

Неформальное определение: модель хранимой программы с произвольным доступом RASP ( )

Краткое описание RASP:

RASP — это универсальная машина Тьюринга (UTM), построенная на шасси RAM машины с произвольным доступом .

Читатель помнит, что UTM — это машина Тьюринга с «универсальной» таблицей инструкций с конечным числом состояний, которая может интерпретировать любую правильно сформированную «программу», записанную на ленте, как строку из пяти кортежей Тьюринга, отсюда и ее универсальность. В то время как классическая модель UTM предполагает найти на своей ленте кортежи Тьюринга из 5 кортежей, туда можно поместить любой мыслимый набор программ, при условии, что машина Тьюринга ожидает их найти — при условии, что ее таблица конечных состояний может интерпретировать их и преобразовать в желаемое действие. Вместе с программой на ленте будут напечатаны входные данные/параметры/числа (обычно справа от программы) и, в конечном итоге, выходные данные/числа (обычно справа от обоих, либо смешанные с входными данными, либо заменяющие их). ). «Пользователь» должен расположить головку машины Тьюринга над первой инструкцией, а входные данные должны быть размещены в указанном месте и формате, соответствующем как программе на ленте, так и таблице инструкций конечного автомата.

RASP имитирует эту конструкцию: он помещает «программу» и «данные» в отверстия (регистры). Но в отличие от UTM, RASP продолжает «извлекать» свои инструкции последовательно, если только условный тест не отправляет их куда-то еще.

Смущает: два набора инструкций . В отличие от UTM, модель RASP имеет два набора инструкций — таблицу инструкций конечного автомата («интерпретатор») и «программу» в дырках. Два набора не обязательно должны быть взяты из одного и того же набора.

Пример оперативной памяти, RASP как работающей

Следующий пример программы переместит содержимое регистра (отверстия) № 18 в регистр (отверстие) № 19, стирая при этом содержимое № 18.

    5: 03 18 15    JZ 18,15       ; if [18] is zero, jump to 15 to end the program
       02 18       DEC 18         ; Decrement [18]
       01 19       INC 19         ; Increment [19]
       03 15 05    JZ 15, 5       ; If [15] is zero, jump to 5 to repeat the loop (use Halt to simulate unconditional jump)
   15: 00          H              ; Halt

   18:  n                         ; Source value to copy
   19:                            ; Destination for copy

Программные инструкции , доступные в этой машине RASP, будут простым набором, чтобы пример был кратким:

Инструкция Мнемоника Действие над регистром «r» Действие над регистром инструкций конечного автомата, IR
INCrement ИНК ( р ) [г] +1 → р [ИС] +1 → ИС
DECrement ДЕКАБРЬ ( р ) [г] -1 → р [ИС] +1 → ИС
Перейти, если ноль JZ (р, z) никто ЕСЛИ [r] = 0 ТО z → IR ИНАЧЕ [IR] +1 → IR
Остановиться ЧАС никто [ИСТ] → ЕСТЬ

Чтобы упростить пример, мы снабдим конечный автомат RAM-as-RASP примитивными инструкциями, взятыми из того же набора, но дополненными двумя инструкциями косвенного копирования:

Инструкции конечного автомата ОЗУ:
{ Дюйм; декабрь ч; JZ ч,ххх; CPY ⟪h а ⟫, ⟨h а ; CPY ⟨ч а ,⟪ч а ⟫ }

Когда конечный автомат машины RASP интерпретирует программу в регистрах, что именно будет делать конечный автомат? Столбец, содержащий восклицательный знак ! будет перечислять во временной последовательности действия конечного автомата, поскольку он «интерпретирует» — преобразует в действие — программу:

ПК И
№ отверстия → 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
программа, параметры → 5 Джей Зи 18 15 Декабрь 18 ИНК 19 Джей Зи 15 5 ЧАС н
закодированная программа → 5 3 18 15 2 18 1 19 3 15 5 0 н
инструкции конечного автомата ↓
!

Традиция делит действия конечного автомата на две основные «фазы», ​​называемые «Выборка» и «Выполнение» . Ниже мы увидим, что внутри этих двух основных фаз существуют «подфазы». Не существует согласованной конвенции; каждая модель потребует своего точного описания.

Фаза выборки [ править ]

Конечный автомат имеет доступ ко всем регистрам, как напрямую, так и косвенно. Таким образом, он принимает № 1 в качестве ПК «счетчика программ». Роль счетчика программ будет заключаться в том, чтобы «сохранять место» в списке программ; государственная машина имеет свой собственный государственный реестр для частного использования.

При запуске конечный автомат ожидает найти номер в ПК — первую «Программу-инструкцию» в программе (т. е. под номером 5).

(Без использования косвенных COPY задача передачи указанной программной инструкции в № 2 является немного сложной. Конечный автомат будет косвенно уменьшать указанный регистр, одновременно увеличивая (пустой) регистр № 2. Во время на этапе «анализа» он восстановит пожертвованное содержимое #5, пожертвовав счетчиком в #2.)

Цель приведенного выше обходного пути — показать, что жизнь становится намного проще, когда конечный автомат имеет доступ к двум видам косвенного копирования:

  • копировать косвенно из i и напрямую в j: CPY ⟪h i ⟫, ⟨h j
  • копировать прямо из i и косвенно в j: CPY ⟨h i ,⟪h j

В следующем примере показано, что происходит на этапе «выборки» конечного автомата. Операции конечного автомата перечислены в столбце «Инструкция конечного автомата ↓». Обратите внимание, что в конце выборки регистр № 2 содержит числовое значение 3 «кода операции» («код операции») первой инструкции JZ :

ПК МОСТ
№ отверстия → 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
программа, параметры → 5 Джей Зи 18 15 Декабрь 18 ИНК 19 Джей Зи 15 5 ЧАС н
закодированная программа → 5 3 18 15 2 18 1 19 3 15 5 0 н
шаг инструкции конечного автомата ↓
1 выборка_инстр: CPY ⟪1⟫, ⟨2⟩ 5 я [3] [3] 18 15 2 18 1 19 3 15 5 0 н

Фаза разбора [ править ]

Теперь, когда номер программы-инструкции (например, 3 = «JZ») находится в регистре № 2 — PIR «Регистр программы-инструкции» — конечный автомат продолжает уменьшать номер до тех пор, пока IR не станет пустым:

Если бы IR был пуст перед декрементом, тогда команда программы была бы 0 = HALT, и машина перешла бы к своей процедуре «HALT». После первого декремента, если бы отверстие было пустым, инструкция была бы INC, и машина перешла бы к инструкции «inc_routine». После второго декремента пустой IR будет представлять DEC, и машина перейдет к «dec_routine». После третьего декремента IR действительно пуст, и это приводит к переходу к подпрограмме «JZ_routine». Если бы неожиданное число все еще было в IR, то машина обнаружила бы ошибку и могла бы ОСТАНОВИТЬСЯ (например).

ПК И
№ отверстия → 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
программа, параметры → 5 Джей Зи 18 15 Декабрь 18 ИНК 19 Джей Зи 15 5 ЧАС н
закодированная программа → 5 3 18 15 2 18 1 19 3 15 5 0 н
инструкции конечного автомата ↓
CPY ⟪1⟫, ⟨2⟩ 5 я [3] [3] 18 15 2 18 1 19 3 15 5 0 н
JZ 2, стоп 5 3 3 18 15 2 18 1 19 3 19 5 0 н
3 2 ДЕКАБРЯ 5 2 3 18 15 2 18 1 19 3 15 5 0 н
4 JZ 2, Inc_Routine: 5 2 3 18 15 2 18 1 19 3 15 5 0 н
5 2 ДЕКАБРЯ 5 1 3 18 15 2 18 1 19 3 15 5 0 н
6 JZ 2, dec_routine 5 1 3 18 15 2 18 1 19 3 15 5 0 н
7 2 ДЕКАБРЯ 5 0 3 18 15 2 18 1 19 3 15 5 0 н
8 JZ 2, JZ_рутина 5 0 !
остановка: ОСТАНОВКА 5 3 3 18 15 2 18 1 19 3 15 5 0 н
inc_routine: и т. д. 5 3 3 18 15 2 18 1 19 3 15 5 0 н
dec_routine: и т. д. 5 3 3 18 15 2 18 1 19 3 15 5 0 н
9 JZ_рутина: и т. д. 5 3 3 18 15 2 18 1 19 3 15 5 0 н

Фаза выполнения, JZ_routine [ править ]

Теперь конечный автомат знает, какую программу-инструкцию следует выполнить; действительно, он перешел к последовательности инструкций «JZ_routine». Инструкция JZ имеет 2 операнда — (i) номер регистра для проверки и (ii) адрес, по которому следует перейти, если проверка прошла успешно (отверстие пусто).

(i) Выборка операнда — какой регистр проверить на пустой? : Аналогично фазе выборки, конечный автомат перемещает содержимое регистра, на который указывает ПК, то есть отверстие №6, в регистр программных команд PIR №2. Затем он использует содержимое регистра №2, чтобы указать на регистр, который нужно проверить на ноль, то есть регистр №18. Отверстие № 18 содержит число «n». Для проведения теста теперь конечный автомат использует содержимое PIR для косвенного копирования содержимого регистра №18 в запасной регистр №3. Таким образом, есть два варианта развития событий (ia): регистр №18 пуст, (ib) регистр №18 не пуст.

(ia): Если регистр №3 пуст, то конечный автомат переходит к (ii) выборке второго операнда — выборку адреса перехода.

(ib): Если регистр №3 не пуст, то конечный автомат может пропустить (ii) выборку второго операнда. Он просто увеличивает вдвое скорость ПК, а затем безоговорочно возвращается к фазе выборки инструкций, где извлекает программную инструкцию № 8 (DEC).

(ii) Выборка операнда — переход по адресу . Если регистр №3 пуст, конечный автомат продолжает использовать ПК для косвенного копирования содержимого регистра, на который он указывает (№8), в себя . Теперь ПК удерживает адрес перехода 15. Затем конечный автомат безоговорочно возвращается к фазе выборки инструкций, где он извлекает программную инструкцию № 15 (HALT).

ПК И
№ отверстия → 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
программа, параметры → 5 Джей Зи 18 15 Декабрь 18 ИНК 19 Джей Зи 15 5 ЧАС н
закодированная программа → 5 3 18 15 2 18 1 19 3 15 5 0 н
шаг инструкции конечного автомата ↓
9 JZ_рутина ИНК 1 [6] 3 3 18 15 2 18 1 19 3 15 5 0 н
10 CPY ⟪1⟫, ⟨2⟩ 6 я [18] 3 [18] 15 2 18 1 19 3 15 5 0 н
11 тестовое отверстие: CPY ⟪2⟫, ⟨3⟩ 6 18 я [н] 3 18 15 2 18 1 19 3 15 5 0 [н]
12 тестовое отверстие: JZ 3, прыжок 6 18 я [н] 3 18 15 2 18 1 19 3 15 5 0 н
н н
13 no_jump: ИНК 1 [7] 18 н 3 18 15 2 18 1 19 3 15 5 0 н
14 ИНК 1 [8] 18 н 3 18 15 2 18 1 19 3 15 5 0 н
15 J fetch_instr 8 18 н 3 18 15 2 18 1 19 3 15 5 0 н
1 выборка_инстр: CPY ⟪1⟫, ⟨2⟩ 8 я [2] н 3 18 15 [2] 18 1 19 3 15 5 0 н
2 разобрать: и т. д.
13 прыжок: ИНК 1 [7] 18 н 3 18 15 2 18 1 19 3 15 5 0 н
14 CPY ⟪1⟫, ⟨1⟩ [15] 18 н 3 18 [15] 2 18 1 19 3 15 5 0 н
15 J fetch_instr 15 18 н 3 18 15 2 18 1 19 3 15 5 0 н
1 выборка_инстр: CPY ⟪1⟫, ⟨2⟩ 15 я [0] н 3 18 15 2 18 1 19 3 15 5 [0] н
2 разобрать: и т. д.

Фаза выполнения INC, DEC [ править ]

Следующее завершает автоматную интерпретацию программных инструкций INC h, DEC h в ОЗУ и, таким образом, завершает демонстрацию того, как ОЗУ может «выдавать себя за» RASP:

Набор инструкций целевой программы: { INC h; декабрь ч; JZ ч,ххх, СТОЛБ }

Без косвенных инструкций конечного автомата INCi и DECi для выполнения программных инструкций INC и DEC конечный автомат должен использовать косвенное копирование, чтобы поместить содержимое указанного регистра в запасной регистр № 3, DEC или INC, а затем использовать косвенная копия, чтобы отправить ее обратно в указанный регистр.

ПК И
№ отверстия → 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
программа, параметры → 5 Джей Зи 18 15 Декабрь 18 ИНК 19 Джей Зи 15 5 ЧАС н
закодированная программа → 5 3 18 15 2 18 1 19 3 15 5 0 н
инструкции конечного автомата ↓
15 J fetch_instr 8 18 н 3 18 15 2 18 1 19 3 15 5 0 н
16 выборка_инстр: CPY ⟪1⟫, ⟨2⟩ 8 я [2] н 3 18 15 2 18 1 19 3 15 5 0 н
17 разобрать: JZ 2, стоп 8 2 н 3 18 15 2 18 1 19 3 15 5 0 н
18 2 ДЕКАБРЯ 8 [1] н 3 18 15 2 18 1 19 3 15 5 0 н
19 JZ 2, вкл_рутина: 8 1 н 3 18 15 2 18 1 19 3 15 5 0 н
20 2 ДЕКАБРЯ 8 [0] н 3 18 15 2 18 1 19 3 15 5 0 н
21 JZ 2, dec_routine: 8 0 ! н 3 18 15 2 18 1 19 3 15 5 0 н
22 dec_routine: ИНК 1 9 0 н 3 18 15 2 18 1 19 3 15 5 0 н
23 CPY ⟪1⟫, ⟨2⟩ 9 я 18 н 3 18 15 2 18 1 19 3 15 5 0 н
24 CPY ⟪2⟫, ⟨3⟩ 9 18 я н 3 18 15 2 18 1 19 3 15 5 0 н
25 ДЗ 3,*+2 9 18 н 3 18 15 2 18 1 19 3 15 5 0 н
26 3 ДЕКАБРЯ 9 18 n-1 3 18 15 2 18 1 19 3 15 5 0 н
27 CPY ⟨3⟩ ,⟪2⟫ 9 18 я n-1 3 18 15 2 18 1 19 3 15 5 0 n-1
28 ИНК 1 10 18 n-1 3 18 15 2 18 1 19 3 15 5 0 n-1
29 J fetch_instr 10 18 n-1 3 18 15 2 18 1 19 3 15 5 0 n-1
30 выборка_инстр: CPY ⟪1⟫, ⟨2⟩ 10 я 1 n-1 3 18 15 2 18 1 19 3 15 5 0 n-1
31 разобрать: JZ 2, стоп 10 1 n-1 3 18 15 2 18 1 19 3 15 5 0 n-1
32 2 ДЕКАБРЯ 10 0 n-1 3 18 15 2 18 1 19 3 15 5 0 n-1
33 JZ 2, Inc_Routine: 10 0 ! n-1 3 18 15 2 18 1 19 3 15 5 0 n-1
34 inc_routine: ИНК 1 11 0 n-1 3 18 15 2 18 1 19 3 15 5 0 n-1
35 CPY ⟪1⟫, ⟨2⟩ 11 я 19 n-1 3 18 15 2 18 1 19 3 15 5 0 n-1
36 CPY ⟪2⟫, ⟨3⟩ 11 19 я 0 3 18 15 2 18 1 19 3 15 5 0 n-1 0
37 ИНК 3 11 19 1 3 18 15 2 18 1 19 3 15 5 0 n-1 0
38 CPY ⟨3⟩ ,⟪2⟫ 11 19 я 1 3 18 15 2 18 1 19 3 15 5 0 n-1 1
39 ИНК 1 12 19 1 3 18 15 2 18 1 19 3 15 5 0 n-1 0
40 J fetch_instr 12 19 1 3 18 15 2 18 1 19 3 15 5 0 n-1 0
41 выборка_инстр: и т. д. 12 19 1 3 18 15 2 18 1 19 3 15 5 0 n-1 0

Альтернативные инструкции : Хотя демонстрация привела к примитивному RASP, состоящему всего из четырех инструкций, читатель может представить, как дополнительную инструкцию, такую ​​как «ADD ⟨h⟩ » или «MULT ⟨h a ,⟪h b можно выполнить >.

Самомодифицирующиеся программы RASP [ править ]

Когда ОЗУ действует как RASP, было получено нечто новое: в отличие от ОЗУ, RASP имеет возможность самостоятельного изменения своих программных инструкций (инструкции конечного автомата заморожены и не могут быть изменены машиной). Кук-Рекхау (1971) (стр. 75) комментируют это в своем описании своей модели RASP, как и Хартманис (1971) (стр. 239 и далее).

Раннее описание этого понятия можно найти у Гольдштина-фон Неймана (1946):

«Нам нужен порядок [инструкция], который может заменить число в заданном порядке... Посредством такого порядка результаты вычислений могут быть введены в инструкции, управляющие тем или иным вычислением» (стр. 93).

Такая способность делает возможным следующее:

Набор программ-инструкций RASP Кука и Рекхау ( 1973 )

Во влиятельной статье Стивен А. Кук и Роберт А. Рекхоу определяют свою версию RASP:

«Описанная здесь машина с произвольным доступом к хранимым программам (RASP) аналогична машине RASP, описанной Хартманисом [1971]» (стр. 74).

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

Отличительной особенностью их модели RASP является отсутствие возможности для косвенных программных инструкций (см. их обсуждение, стр. 75). Они достигают этого, требуя от программы самоизменения: при необходимости инструкция может изменить «параметр» (своё слово, т. е. «операнд») конкретной инструкции. Они разработали свою модель таким образом, что каждая «инструкция» использует два последовательных регистра: один для «кода операции» (их слова) и параметр «либо адрес, либо целочисленная константа».

Реестры их RASP не ограничены по емкости и количеству; аналогично их аккумулятор AC и счетчик команд IC не ограничены. Набор инструкций следующий:

операция мнемонический код операции описание
постоянная нагрузка ЛОД, к 1 поместить константу k в аккумулятор
добавлять ДОБАВИТЬ, Дж 2 добавить содержимое регистра j в аккумулятор
вычесть СУБ,j 3 вычесть содержимое регистра j из аккумулятора
магазин СТО, дж 4 скопировать содержимое аккумулятора в регистр j
ответвление на положительном аккумуляторе БФА, ххх 5 ЕСЛИ содержимое аккумулятора > 0, ТО переход к xxx, ЛИБО следующая инструкция
читать Р.Д., Дж. 6 следующий ввод в регистр j
распечатать ПРИ, Дж 7 вывести содержимое регистра j
остановка HLT любое другое - или + целое число останавливаться

Ссылки [ править ]

Часто машины RAM и RASP представлены вместе в одной статье. Они были скопированы с машины с произвольным доступом ; за некоторыми исключениями, эти ссылки такие же, как и в Register Machine .

  • Джордж Булос , Джон П. Берджесс , Ричард Джеффри (2002), Вычислимость и логика: четвертое издание , Издательство Кембриджского университета, Кембридж, Англия. Оригинальный текст Булоса-Джеффри был тщательно переработан Берджессом: он более продвинут, чем вводный учебник. Модель «счетной машины» подробно описана в главе 5 «Вычислимость счетов» ; это одна из трех моделей, которые тщательно рассматривались и сравнивались: машина Тьюринга (все еще в исходной четырехкортежной форме Булоса) и две рекурсивные модели.
  • Артур Беркс , Герман Голдстайн , Джон фон Нейман (1946), Предварительное обсуждение логического проектирования электронного вычислительного прибора , перепечатано на стр. 92 и далее в книге Гордона Белла и Аллена Ньюэлла (1971), Компьютерные структуры: материалы для чтения и примеры , Книга МакГроу-Хилла Компания, Нью-Йорк. ISBN   0-07-004357-4 .
  • Стивен А. Кук и Роберт А. Рекхоу (1972), Машины с произвольным доступом с ограниченным временем , Journal of Computer Systems Science 7 (1973), 354–375.
  • Мартин Дэвис (1958), «Вычислимость и неразрешимость» , McGraw-Hill Book Company, Inc., Нью-Йорк.
  • Кэлвин Элгот и Авраам Робинсон (1964), Машины с произвольным доступом к хранимым программам, подход к языкам программирования , Журнал Ассоциации вычислительной техники, Vol. 11, № 4 (октябрь 1964 г.), стр. 365–399.
  • Дж. Хартманис (1971), «Вычислительная сложность машин с хранимыми программами произвольного доступа», Mathematical Systems Theory 5, 3 (1971), стр. 232–245.
  • Джон Хопкрофт , Джеффри Уллман (1979). Введение в теорию автоматов, языки и вычисления , 1-е изд., Чтение мессы: Аддисон-Уэсли. ISBN   0-201-02988-X . Сложная книга, посвященная вопросам машинной интерпретации «языков», NP-полноты и т. д.
  • Стивен Клини (1952), «Введение в метаматематику» , Издательство Северной Голландии, Амстердам, Нидерланды. ISBN   0-7204-2103-9 .
  • Дональд Кнут (1968), Искусство компьютерного программирования , второе издание, 1973 г., Аддисон-Уэсли, Ридинг, Массачусетс. См. страницы 462–463, где он определяет «новый вид абстрактной машины или «автомата», который имеет дело со связанными структурами».
  • Иоахим Ламбек (1961, получено 15 июня 1961 г.), Как запрограммировать бесконечные счеты , Mathematical Bulletin, vol. 4, нет. 3. Сентябрь 1961 г., страницы 295–302. В своем Приложении II Ламбек предлагает «формальное определение «программы». Он ссылается на Melzak (1961) и Kleene (1952) « Введение в метаматематику» .
  • З.А. Мельзак (1961, получено 15 мая 1961 г.), Неофициальный арифметический подход к вычислимости и вычислениям , Canadian Mathematical Bulletin , vol. 4, нет. 3. Сентябрь 1961 г., страницы 279–293. Мельзак не приводит никаких упоминаний, но признает «пользу бесед с докторами Р. Хэммингом , Д. Макилроем и В. Высоцким из телефонных лабораторий Bell и с доктором Х. Вангом из Оксфордского университета ».
  • Марвин Мински (1961). «Рекурсивная неразрешимость проблемы Поста о «теге» и других тем теории машин Тьюринга». Анналы математики . 74 (3): 437–455. дои : 10.2307/1970290 . JSTOR   1970290 .
  • Марвин Мински (1967). Вычисления: конечные и бесконечные машины (1-е изд.). Prentice-Hall, Inc. Энглвуд Клиффс, Нью-Джерси: ISBN  0-13-165449-7 . В частности, см. главу 11: Модели, подобные цифровым компьютерам и главу 14: Очень простые основы вычислительности . В первой главе он дает определение «программным машинам», а в следующей главе обсуждает «универсальные программные машины с двумя регистрами» и «... с одним регистром» и т. д.
  • Джон К. Шепердсон и Х. Э. Стерджис (1961) получили в декабре 1961 года «Вычислимость рекурсивных функций» , журнал Ассоциации вычислительной техники (JACM) 10:217-255, 1963. Чрезвычайно ценный справочный документ. В Приложении А авторы цитируют еще 4 со ссылкой на «Минимальность инструкций, используемых в 4.1: сравнение с аналогичными системами».
  • Капенгст, Хайнц, Абстрактная вычислительная машина с программным управлением» , Журнал математической логики и основ математики: 5 (1959), 366–379.
  • Ershov, A. P. On operator algorithms , (Russian) Dok. Akad. Nauk 122 (1958), 967-970. English translation, Automat. Express 1 (1959), 20-23.
  • Петер, Рожа Графовые схемы и рекурсивные функции , Dialectica 12 (1958), 373.
  • Гермес, Ганс Универсальность вычислительных машин с программным управлением . Матем.-Физ. Отчеты за семестр (Геттинген) 4 (1954), 42–53.
  • Арнольд Шёнхаге (1980), Машины для модификации памяти , Общество промышленной и прикладной математики, SIAM J. Comput. Том. 9, № 3, август 1980 г., в котором Шёнхаге показывает эквивалентность своего SMM «преемнику RAM» (машине произвольного доступа) и т. д. соотв. Машины для модификации хранилища , в журнале Theoretical Computer Science (1979), стр. 36–37.
  • Питер ван Эмде Боас , Модели машин и моделирование, стр. 3–66, опубликовано в: Ян ван Леувен , изд. Справочник по теоретической информатике. Том A: Алгоритмы и сложность , MIT PRESS/Elsevier, 1990. ISBN   0-444-88071-2 (том А). КА 76.H279 1990 г.
Отношение ван Эмде Боаса к СММ представлено на стр. 32–35. Эта трактовка проясняет Шёнхаге 1980 — она близко следует, но немного расширяет трактовку Шёнхаге. Обе ссылки могут быть необходимы для эффективного понимания.
  • Хао Ван (1957), Вариант теории вычислительных машин Тьюринга , JACM (Журнал Ассоциации вычислительной техники) 4; 63–92. Представлено на заседании Ассоциации 23–25 июня 1954 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 73abe5adc3d2b4a31d6ef6182ecafaab__1717816800
URL1:https://arc.ask3.ru/arc/aa/73/ab/73abe5adc3d2b4a31d6ef6182ecafaab.html
Заголовок, (Title) документа по адресу, URL1:
Random-access stored-program machine - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)