宫外孕是什么意思| 1月3号什么星座| 绿对什么| 麝香对孕妇有什么危害性| 腰椎穿刺是检查什么的| 抗日战争什么时候开始的| 囊是什么结构| 硅油是什么| 什么是盗汗| 毛五行属什么| 老年人头晕是什么原因| 冬虫夏草有什么功效与作用| 女人绝经后靠什么排毒| 孕妇怕冷是什么原因| 什么是感恩| 1993年出生属什么生肖| 前胸后背疼挂什么科| 清官是什么意思| 什么是翻新机| 手会发抖是什么原因| 榕字五行属什么| ck香水属于什么档次| bmr是什么意思| 盐酸莫西沙星主治什么| 老流口水是什么原因| 祛湿喝什么| 脚后跟干裂用什么药膏| 乳酸阈值是什么意思| 吃什么解油腻| 痔疮是什么样子的| 说三道四的意思是什么| 悄悄的什么| 蔡徐坤粉丝名叫什么| 三个火字读什么| 万言万当不如一默是什么意思| 耳朵前面有痣代表什么| 四肢厥逆是什么意思| 闭合性跌打损伤是什么意思| 6克血是什么概念| 身主天机是什么意思| 什么兔子最好养| 1.25是什么星座| 最近我和你都有一样的心情什么歌| 手抖是什么症状| 苏轼是什么派诗人| 降火吃什么药| 左手臂麻木是什么征兆| 吃凉的胃疼吃什么药| 东道主是什么意思| 腹泻能吃什么水果| 月经来黑色是什么原因| 髂静脉在什么位置| 黑眼圈是什么原因| 天蝎什么象星座| 男人梦见鱼是什么征兆| 老是低血糖是什么原因| HCG 是什么| 真露兑什么好喝| 罗可以组什么词| 女人长期喝西洋参有什么好处| 5月19日是什么星座| 晚上适合吃什么| 喝咖啡对身体有什么好处| 生肠是什么| 霞字五行属什么| 偏光和非偏光有什么区别| 前列腺在哪里男人的什么部位| 天秤座和什么星座最配| 中医治未病是什么意思| 上山下乡是什么意思| 阴历3月是什么星座| 2028年属什么生肖| 骨盆前倾挂什么科| 拜有利主要是治疗什么| 蝈蝈是什么动物| 垂体泌乳素高是什么原因| 胃出血吃什么药好| 干眼症用什么药最好| 既济是什么意思| 夹腿是什么意思| 爱好是什么意思| 终身为国是什么生肖| 小傻瓜是什么意思| 偷什么东西不犯法| 艾迪生病是什么病| h2ra 是什么药物| 乙肝看什么指标| izzue是什么牌子| 尿不净是什么原因| ccu是什么病房| 手足口用什么药| 愤青是什么意思| 美的是什么牌子| 吃什么拉肚子| 红色裤子配什么上衣好看| 破日是什么意思| 原汤化原食什么意思| 秋后问斩是什么意思| 脸上爱长痘痘是什么原因| 光是什么生肖| 吃什么除体内湿气最快| 芭乐是什么水果| 40min是什么意思| 过生日吃什么菜寓意好| 冠状沟是什么位置| 鱼吐泡泡是什么原因| 滴滴什么意思网络用语| 子宫内膜囊性增生是什么意思| 什么的荷叶| 意外是什么意思| 95年的属什么| 法令纹上的痣代表什么| 郑板桥爱画什么| 鲨鱼是什么动物| 脑膜瘤钙化意味着什么| 大脚趾发黑是什么原因| 外阴白斑瘙痒抹什么药| 金骏眉茶是什么茶| 容易放屁是什么原因| 白带多要吃什么药| 拿什么东西不用手| 尿路感染是什么原因引起的| 被螨虫咬了擦什么药膏| 阴道炎症用什么药| 蚂蚁怕什么| 茶苯海明片是什么药| 什么色什么异| 小孩子上火吃什么能降火| 斑马吃什么| 大便什么颜色是正常的| 军国主义是什么意思| 9月份是什么星座的| 八百里加急是什么意思| 吊儿郎当是什么意思| 合拍是什么意思| susie是什么意思| 女人的动物是什么生肖| 孙悟空被压在什么山下| 屁股眼痒是什么原因| 眼睛老是流眼泪是什么原因| 卵巢囊肿是什么意思| 今年农历是什么年号| 13岁属什么生肖| 天麻不能和什么一起吃| 张信哲为什么不结婚| 血管瘤是什么东西| 气胸是什么原因引起的| bonnie是什么意思| 早起眼皮肿是什么原因引起的| 坤宁宫是干什么的| 脂膜炎是什么病| 糖化血红蛋白是什么| 还珠格格什么时候上映的| 感冒拉肚子吃什么药| nc是什么意思| 吃什么能让阴茎更硬| 酱牛肉放什么调料| 蛋白糖是什么糖| 太容易出汗是什么原因| 梦见自己生了个儿子是什么意思| 手足是什么意思| vod是什么意思| 什么情况下做肠镜| 霸王别姬是什么意思| 什么叫低级别上皮内瘤变| 黔驴技穷的意思是什么| 乙酰氨基酚片是什么药| 孕妇吃什么盐最好| 械字号产品是什么意思| 一月27日是什么星座| 大户人家什么意思| 茄子吃了有什么好处| 树懒是什么动物| 拱是什么意思| 独具一格是什么意思| 关节间隙变窄什么意思| 穷字代表什么生肖| 白天咳嗽晚上不咳嗽是什么原因| 肌酐低有什么危害| 什么地制宜| 非典型细胞是什么意思| 芝士是什么材料做的| 小龙虾和什么不能一起吃| porridge什么意思| 感染四项挂什么科| 下午两点属于什么时辰| 私处长痘痘是什么原因| 抑郁气滞是什么症状| 室上速是什么原因导致的| 李子是什么水果| 脂肪是什么颜色| 女性什么时候最容易怀孕| 同一首歌为什么停播了| 早上起床胃疼是什么原因| 袁隆平是什么家| 鸡婆什么意思| 灵犀是什么意思| 赞什么不已| 建卡需要带什么证件| 什么是佝偻病有什么症状| 草木皆兵是什么意思| 周武王叫什么名字| 市委副秘书长什么级别| 十月23日是什么星座| 中药是什么| 焦虑症吃什么药最好| 夭寿是什么意思| 发质硬适合什么发型| 初遇是什么意思| 低筋面粉是什么| 干涉是什么意思| 正月初八是什么星座| 阿胶糕什么时候吃最好| 血压低压高吃什么药| 4月6号是什么星座| 前囟门什么时候闭合| 喜欢喝冰水是什么原因| 狼毒是什么| 吃刺猬有什么好处| 吃什么丰胸| 什么是靶向药| 甲亢吃什么好的更快| 什么的眼泪| 什么品种的芒果最好吃| 口干口苦口臭是什么原因引起的| 拉屎是绿色的是什么原因| 旦上面加一横是什么字| 儿童腮腺炎挂什么科| 病毒性扁桃体炎吃什么药| 扁桃体炎吃什么药最好效果好| 耘是什么意思| 华丽转身什么意思| 百田森的鞋什么档次| 安全监察是一种带有什么的监督| 谷氨酰转移酶高是什么病| 男人下巴有痣代表什么| 吃桑葚对身体有什么好处| 包子都有什么馅| 单独是什么意思| 氟康唑治什么妇科炎症| 鸟字旁与什么有关| 什么水什么龙| crp什么意思| 医生为什么看瞳孔知道没救了| 脑梗前有什么征兆| 对数是什么| 孕妇感染弓形虫有什么症状| 勃起是什么| 降压药的原理是什么| 提辖相当于现在什么官| 唐人是什么意思| 突然停经是什么原因| 记忆力减退吃什么药效果好| 槟榔长什么样子| 额头上长痘是什么原因| 八八年属什么| 药流挂什么科| 舌系带短有什么影响| 肾亏和肾虚有什么区别| 谦虚的近义词是什么| 月经不调吃什么药调理最好| 金蟾折桂什么意思| 己巳五行属什么| 馥字五行属什么| 百度Jump to content

From Wikipedia, the free encyclopedia
百度   然而,各地在线办事程度发展并不平衡。

In theoretical computer science the random-access stored-program (RASP) machine model is an abstract machine used for the purposes of algorithm development and algorithm complexity theory.

The RASP is a random-access machine (RAM) model that, unlike the RAM, has its program in its "registers" together with its input. The registers are unbounded (infinite in capacity); whether the number of registers is finite is model-specific. Thus the RASP is to the RAM as the Universal Turing machine is to the Turing machine. The RASP is an example of the von Neumann architecture whereas the RAM is an example of the Harvard architecture.

The RASP is closest of all the abstract models to the common notion of computer. But unlike actual computers the RASP model usually has a very simple instruction set, greatly reduced from those of CISC and even RISC processors to the simplest arithmetic, register-to-register "moves", and "test/jump" instructions. Some models have a few extra registers such as an accumulator.

Together with the register machine, the RAM, and the pointer machine the RASP makes up the four common sequential machine models, called this to distinguish them from the "parallel" models (e.g. parallel random-access machine) [cf. van Emde Boas (1990)].

Informal definition: random-access stored-program model (RASP)

[edit]

Nutshell description of a RASP:

The RASP is a universal Turing machine (UTM) built on a random-access machine RAM chassis.

The reader will remember that the UTM is a Turing machine with a "universal" finite-state table of instructions that can interpret any well-formed "program" written on the tape as a string of Turing 5-tuples, hence its universality. While the classical UTM model expects to find Turing 5-tuples on its tape, any program-set imaginable can be put there given that the Turing machine expects to find them—given that its finite-state table can interpret them and convert them to the desired action. Along with the program, printed on the tape will be the input data/parameters/numbers (usually to the program's right), and eventually the output data/numbers (usually to the right of both, or intermingled with the input, or replacing it). The "user" must position the Turing machine's head over the first instruction, and the input must be placed in a specified place and format appropriate to both the program-on-tape and the finite-state machine's instruction-table.

The RASP mimics this construction: it places the "program" and "data" in the holes (registers). But unlike the UTM the RASP proceeds to "fetch" its instructions in a sequential manner, unless the conditional test sends it elsewhere.

A point of confusion: two sets of instructions: Unlike the UTM, the RASP model has two sets of instructions – the state machine table of instructions (the "interpreter") and the "program" in the holes. The two sets do not have to be drawn from the same set.

An example of a RAM working as a RASP

[edit]

The following example of a program will move the contents of register (hole) #18 to register (hole) #19, erasing contents of #18 in the process.

    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

The program-instructions available in this RASP machine will be a simple set to keep the example short:

Instruction Mnemonic Action on register "r" Action on finite state machine's Instruction Register, IR
INCrement INC ( r ) [r] +1 → r [IR] +1 → IR
DECrement DEC ( r ) [r] -1 → r [IR] +1 → IR
Jump if Zero JZ ( r, z ) none IF [r] = 0 THEN z → IR ELSE [IR] +1 → IR
Halt H none [IR] → IR

To ease the example we will equip the state machine of the RAM-as-RASP with the primitive instructions drawn from the same set, but augmented with two indirect copy instructions:

RAM state machine instructions:
{ INC h; DEC h; JZ h,xxx; CPY ?ha?,?ha?; CPY ?ha?,?ha? }

As the RASP machine's state machine interprets the program in the registers, what exactly will the state machine be doing? The column containing the exclamation mark ! will list in time sequence the state machine's actions as it "interprets" — converts to action — the program:

PC IR
hole # → 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
program, parameters → 5 JZ 18 15 DEC 18 INC 19 JZ 15 5 H n
encoded program → 5 3 18 15 2 18 1 19 3 15 5 0 n
state machine instructions ↓
!

Tradition divides the state-machine's actions into two major "phases" called Fetch and Execute. We will observe below that there are "sub-phases" within these two major phases. There is no agreed-to convention; every model will require its own precise description.

Fetch phase

[edit]

The state machine has access to all the registers, both directly and indirectly. So it adopts #1 as "the program counter" PC. The role of the program counter will be to "keep the place" in the program's listing; the state machine has its own state register for its private use.

Upon start, the state machine expects to find a number in the PC—the first "Program-Instruction" in the program (i.e. at #5).

(Without the use of the indirect COPYs, the task of getting the pointed-to program-instruction into #2 is a bit arduous. The state machine would indirectly decrement the pointed-to register while directly incrementing (empty) register #2. During the "parse" phase it will restore the sacrificed contents of #5 by sacrificing the count in #2.)

The point of the above detour is to show that life is much easier when the state machine has access to two kinds of indirect copy:

  • copy indirect from i and direct to j: CPY ?hi?,?hj?
  • copy direct from i and indirect to j: CPY ?hi?,?hj?

The following example shows what happens during the state-machine's "fetch" phase. The state-machine's operations are listed on the column labelled "State machine instruction ↓". Observe that at the end of the fetch, register #2 contains the numerical value 3 of the "operation code" ("opcode") of the first instruction JZ:

PC PIR
hole # → 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
program, parameters → 5 JZ 18 15 DEC 18 INC 19 JZ 15 5 H n
encoded program → 5 3 18 15 2 18 1 19 3 15 5 0 n
step state machine instructions ↓
1 fetch_instr: CPY ?1?,?2? 5 i [3] [3] 18 15 2 18 1 19 3 15 5 0 n

Parse phase

[edit]

Now that the number of the program-instruction (e.g. 3 = "JZ") is in register #2 -- the "Program-Instruction Register" PIR—the state machine proceeds to decrement the number until the IR is empty:

If the IR were empty before decrement then the program-instruction would be 0 = HALT, and the machine would jump to its "HALT" routine. After the first decrement, if the hole were empty the instruction would be INC, and the machine would jump to instruction "inc_routine". After the second decrement, the empty IR would represent DEC, and the machine would jump to the "dec_routine". After the third decrement, the IR is indeed empty, and this causes a jump to the "JZ_routine" routine. If an unexpected number were still in the IR, then the machine would have detected an error and could HALT (for example).

PC IR
hole # → 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
program, parameters → 5 JZ 18 15 DEC 18 INC 19 JZ 15 5 H n
encoded program → 5 3 18 15 2 18 1 19 3 15 5 0 n
state machine instructions ↓
CPY ?1?,?2? 5 i [3] [3] 18 15 2 18 1 19 3 15 5 0 n
JZ 2,halt 5 3 3 18 15 2 18 1 19 3 19 5 0 n
3 DEC 2 5 2 3 18 15 2 18 1 19 3 15 5 0 n
4 JZ 2,inc_routine: 5 2 3 18 15 2 18 1 19 3 15 5 0 n
5 DEC 2 5 1 3 18 15 2 18 1 19 3 15 5 0 n
6 JZ 2,dec_routine 5 1 3 18 15 2 18 1 19 3 15 5 0 n
7 DEC 2 5 0 3 18 15 2 18 1 19 3 15 5 0 n
8 JZ 2, JZ_routine 5 0 !
halt: HALT 5 3 3 18 15 2 18 1 19 3 15 5 0 n
inc_routine: etc. 5 3 3 18 15 2 18 1 19 3 15 5 0 n
dec_routine: etc. 5 3 3 18 15 2 18 1 19 3 15 5 0 n
9 JZ_routine: etc. 5 3 3 18 15 2 18 1 19 3 15 5 0 n

Execute phase, JZ_routine

[edit]

Now the state machine knows what program-instruction to execute; indeed it has jumped to the "JZ_routine" sequence of instructions. The JZ instruction has 2 operands — (i) the number of the register to test, and (ii) the address to go to if the test is successful (the hole is empty).

(i) Operand fetch — which register to test for empty?: Analogous to the fetch phase, the finite state machine moves the contents of the register pointed to by the PC, i.e. hole #6, into the Program-Instruction Register PIR #2. It then uses the contents of register #2 to point to the register to be tested for zero, i.e. register #18. Hole #18 contains a number "n". To do the test, now the state machine uses the contents of the PIR to indirectly copy the contents of register #18 into a spare register, #3. So there are two eventualities (ia), register #18 is empty, (ib) register #18 is not empty.

(ia): If register #3 is empty then the state machine jumps to (ii) Second operand fetch — fetch the jump-to address.

(ib): If register #3 is not empty then the state machine can skip (ii) Second operand fetch. It simply increments twice the PC and then unconditionally jumps back to the instruction-fetch phase, where it fetches program-instruction #8 (DEC).

(ii) Operand fetch — jump-to address. If register #3 is empty, the state machine proceeds to use the PC to indirectly copy the contents of the register it points to (#8) into itself. Now the PC holds the jump-to address 15. Then the state machine unconditionally goes back to the instruction fetch phase, where it fetches program-instruction #15 (HALT).

PC IR
hole # → 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
program, parameters → 5 JZ 18 15 DEC 18 INC 19 JZ 15 5 H n
encoded program → 5 3 18 15 2 18 1 19 3 15 5 0 n
step state machine instructions ↓
9 JZ_routine INC 1 [6] 3 3 18 15 2 18 1 19 3 15 5 0 n
10 CPY ?1?,?2? 6 i [18] 3 [18] 15 2 18 1 19 3 15 5 0 n
11 test hole: CPY ?2?,?3? 6 18 i [n] 3 18 15 2 18 1 19 3 15 5 0 [n]
12 test hole: JZ 3, jump 6 18 i [n] 3 18 15 2 18 1 19 3 15 5 0 n
n n
13 no_jump: INC 1 [7] 18 n 3 18 15 2 18 1 19 3 15 5 0 n
14 INC 1 [8] 18 n 3 18 15 2 18 1 19 3 15 5 0 n
15 J fetch_instr 8 18 n 3 18 15 2 18 1 19 3 15 5 0 n
1 fetch_instr: CPY ?1?,?2? 8 i [2] n 3 18 15 [2] 18 1 19 3 15 5 0 n
2 parse: etc.
13 jump: INC 1 [7] 18 n 3 18 15 2 18 1 19 3 15 5 0 n
14 CPY ?1?,?1? [15] 18 n 3 18 [15] 2 18 1 19 3 15 5 0 n
15 J fetch_instr 15 18 n 3 18 15 2 18 1 19 3 15 5 0 n
1 fetch_instr: CPY ?1?,?2? 15 i [0] n 3 18 15 2 18 1 19 3 15 5 [0] n
2 parse: etc.

Execute phase INC, DEC

[edit]

The following completes the RAM's state-machine interpretation of program-instructions, INC h, DEC h and thus completes the demonstration of how a RAM can "impersonate" a RASP:

Target program instruction set: { INC h; DEC h; JZ h,xxx, HALT }

Without indirect state-machine instructions INCi and DECi, to execute the INC and DEC program-instructions the state machine must use indirect copy to get the contents of the pointed-to register into spare register #3, DEC or INC it, and then use indirect copy to send it back to the pointed-to register.

PC IR
hole # → 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
program, parameters → 5 JZ 18 15 DEC 18 INC 19 JZ 15 5 H n
encoded program → 5 3 18 15 2 18 1 19 3 15 5 0 n
state machine instructions ↓
15 J fetch_instr 8 18 n 3 18 15 2 18 1 19 3 15 5 0 n
16 fetch_instr: CPY ?1?,?2? 8 i [2] n 3 18 15 2 18 1 19 3 15 5 0 n
17 parse: JZ 2,halt 8 2 n 3 18 15 2 18 1 19 3 15 5 0 n
18 DEC 2 8 [1] n 3 18 15 2 18 1 19 3 15 5 0 n
19 JZ 2, inc_routine: 8 1 n 3 18 15 2 18 1 19 3 15 5 0 n
20 DEC 2 8 [0] n 3 18 15 2 18 1 19 3 15 5 0 n
21 JZ 2, dec_routine: 8 0 ! n 3 18 15 2 18 1 19 3 15 5 0 n
22 dec_routine: INC 1 9 0 n 3 18 15 2 18 1 19 3 15 5 0 n
23 CPY ?1?,?2? 9 i 18 n 3 18 15 2 18 1 19 3 15 5 0 n
24 CPY ?2?,?3? 9 18 i n 3 18 15 2 18 1 19 3 15 5 0 n
25 JZ 3,*+2 9 18 n 3 18 15 2 18 1 19 3 15 5 0 n
26 DEC 3 9 18 n-1 3 18 15 2 18 1 19 3 15 5 0 n
27 CPY ?3?,?2? 9 18 i n-1 3 18 15 2 18 1 19 3 15 5 0 n-1
28 INC 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 fetch_instr: CPY ?1?,?2? 10 i 1 n-1 3 18 15 2 18 1 19 3 15 5 0 n-1
31 parse: JZ 2,halt 10 1 n-1 3 18 15 2 18 1 19 3 15 5 0 n-1
32 DEC 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: INC 1 11 0 n-1 3 18 15 2 18 1 19 3 15 5 0 n-1
35 CPY ?1?,?2? 11 i 19 n-1 3 18 15 2 18 1 19 3 15 5 0 n-1
36 CPY ?2?,?3? 11 19 i 0 3 18 15 2 18 1 19 3 15 5 0 n-1 0
37 INC 3 11 19 1 3 18 15 2 18 1 19 3 15 5 0 n-1 0
38 CPY ?3?,?2? 11 19 i 1 3 18 15 2 18 1 19 3 15 5 0 n-1 1
39 INC 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 fetch_instr: etc. 12 19 1 3 18 15 2 18 1 19 3 15 5 0 n-1 0

Alternate instructions: Although the demonstration resulted in a primitive RASP of only four instructions, the reader might imagine how an additional instruction such as "ADD ?h?" or "MULT ?ha?,?hb>might be done.

Self-Modifying RASP programs

[edit]

When a RAM is acting as a RASP, something new has been gained: unlike the RAM, the RASP has the capacity for self-modification of its program-instructions (the state-machine instructions are frozen, unmodifiable by the machine). Cook-Reckhow (1971) (p. 75) comment on this in their description of their RASP model, as does Hartmanis (1971) (pp. 239ff)

An early description of this notion can be found in Goldstine-von Neumann (1946):

"We need an order [instruction] that can substitute a number into a given order... By means of such an order the results of a computation can be introduced into the instructions governing that or a different computation" (p. 93)

Such an ability makes the following possible:

RASP program-instruction set of Cook and Reckhow (1973)

[edit]

In an influential paper Stephen A. Cook and Robert A. Reckhow define their version of a RASP:

"The Random Access Stored-Program Machine (RASP) described here is similar to the RASP's described by Hartmanis [1971]" (p. 74).

Their purpose was to compare execution-times of the various models: RAM, RASP and multi-tape Turing machine for use in the theory of complexity analysis.

The salient feature of their RASP model is no provision for indirect program-instructions (cf their discussion p. 75). This they achieve by requiring the program to modify itself: if necessary an instruction can modify the "parameter" (their word, i.e. "operand") of a particular instruction. They have designed their model so each "instruction" uses two consecutive registers, one for the "operation code" (their word) and the parameter "either an address or an integer constant".

Their RASP's registers are unbounded in capacity and unbounded in number; likewise their accumulator AC and instruction counter IC are unbounded. The instruction set is the following:

operation mnemonic operation code description
load constant LOD, k 1 put constant k into accumulator
add ADD, j 2 add contents of register j to accumulator
subtract SUB, j 3 subtract contents of register j from accumulator
store STO, j 4 copy contents of accumulator into register j
branch on positive accumulator BPA, xxx 5 IF contents of accumulator > 0 THEN jump to xxx ELSE next instruction
read RD, j 6 next input into register j
print PRI, j 7 output contents of register j
halt HLT any other - or + integer stop

References

[edit]

Often both the RAM and RASP machines are presented together in the same article. These have been copied over from Random-access machine; with a few exceptions, these references are the same as those at Register machine.

  • George Boolos, John P. Burgess, Richard Jeffrey (2002), Computability and Logic: Fourth Edition, Cambridge University Press, Cambridge, England. The original Boolos-Jeffrey text has been extensively revised by Burgess: more advanced than an introductory textbook. "Abacus machine" model is extensively developed in Chapter 5 Abacus Computability; it is one of three models extensively treated and compared—the Turing machine (still in Boolos' original 4-tuple form) and two recursion models.
  • Arthur Burks, Herman Goldstine, John von Neumann (1946), Preliminary discussion of the logical design of an electronic computing instrument, reprinted pp. 92ff in Gordon Bell and Allen Newell (1971), Computer Structures: Readings and Examples, McGraw-Hill Book Company, New York. ISBN 0-07-004357-4 .
  • Stephen A. Cook and Robert A. Reckhow (1972), Time-bounded random access machines, Journal of Computer Systems Science 7 (1973), 354–375.
  • Martin Davis (1958), Computability & Unsolvability, McGraw-Hill Book Company, Inc. New York.
  • Calvin Elgot and Abraham Robinson (1964), Random-Access Stored-Program Machines, an Approach to Programming Languages, Journal of the Association for Computing Machinery, Vol. 11, No. 4 (October, 1964), pp. 365–399.
  • J. Hartmanis (1971), "Computational Complexity of Random Access Stored Program Machines," Mathematical Systems Theory 5, 3 (1971) pp. 232–245.
  • John Hopcroft, Jeffrey Ullman (1979). Introduction to Automata Theory, Languages and Computation, 1st ed., Reading Mass: Addison-Wesley. ISBN 0-201-02988-X. A difficult book centered around the issues of machine-interpretation of "languages", NP-Completeness, etc.
  • Stephen Kleene (1952), Introduction to Metamathematics, North-Holland Publishing Company, Amsterdam, Netherlands. ISBN 0-7204-2103-9.
  • Donald Knuth (1968), The Art of Computer Programming, Second Edition 1973, Addison-Wesley, Reading, Massachusetts. Cf pages 462-463 where he defines "a new kind of abstract machine or 'automaton' which deals with linked structures."
  • Joachim Lambek (1961, received 15 June 1961), How to Program an Infinite Abacus, Mathematical Bulletin, vol. 4, no. 3. September 1961 pages 295–302. In his Appendix II, Lambek proposes a "formal definition of 'program'. He references Melzak (1961) and Kleene (1952) Introduction to Metamathematics.
  • Z. A. Melzak (1961, received 15 May 1961), An informal Arithmetical Approach to Computability and Computation, Canadian Mathematical Bulletin, vol. 4, no. 3. September 1961 pages 279-293. Melzak offers no references but acknowledges "the benefit of conversations with Drs. R. Hamming, D. McIlroy and V. Vyssotsky of the Bell telephone Laboratories and with Dr. H. Wang of Oxford University
  • Marvin Minsky (1961). "Recursive Unsolvability of Post's Problem of 'Tag' and Other Topics in Theory of Turing Machines". Annals of Mathematics. 74 (3): 437–455. doi:10.2307/1970290. JSTOR 1970290.
  • Marvin Minsky (1967). Computation: Finite and Infinite Machines (1st ed.). Englewood Cliffs, N. J.: Prentice-Hall, Inc. ISBN 0-13-165449-7. In particular see chapter 11: Models Similar to Digital Computers and chapter 14: Very Simple Bases for Computability. In the former chapter he defines "Program machines" and in the later chapter he discusses "Universal Program machines with Two Registers" and "...with one register", etc.
  • John C. Shepherdson and H. E. Sturgis (1961) received December 1961 Computability of Recursive Functions, Journal of the Association for Computing Machinery (JACM) 10:217-255, 1963. An extremely valuable reference paper. In their Appendix A the authors cite 4 others with reference to "Minimality of Instructions Used in 4.1: Comparison with Similar Systems".
  • Kaphengst, Heinz, Eine Abstrakte programmgesteuerte Rechenmaschine', Zeitschrift fur mathematische Logik und Grundlagen der Mathematik: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.
  • Péter, Rózsa Graphschemata und rekursive Funktionen, Dialectica 12 (1958), 373.
  • Hermes, Hans Die Universalit?t programmgesteuerter Rechenmaschinen. Math.-Phys. Semsterberichte (G?ttingen) 4 (1954), 42-53.
  • Arnold Sch?nhage (1980), Storage Modification Machines, Society for Industrial and Applied Mathematics, SIAM J. Comput. Vol. 9, No. 3, August 1980. Wherein Schōnhage shows the equivalence of his SMM with the "successor RAM" (Random Access Machine), etc. resp. Storage Modification Machines, in Theoretical Computer Science (1979), pp. 36–37
  • Peter van Emde Boas, Machine Models and Simulations pp. 3–66, appearing in: Jan van Leeuwen, ed. Handbook of Theoretical Computer Science. Volume A: Algorithms and Complexity, The MIT PRESS/Elsevier, 1990. ISBN 0-444-88071-2 (volume A). QA 76.H279 1990.
van Emde Boas' treatment of SMMs appears on pp. 32-35. This treatment clarifies Schōnhage 1980 -- it closely follows but expands slightly the Schōnhage treatment. Both references may be needed for effective understanding.
  • Hao Wang (1957), A Variant to Turing's Theory of Computing Machines, JACM (Journal of the Association for Computing Machinery) 4; 63–92. Presented at the meeting of the Association, June 23–25, 1954.
甲亢什么症状表现 眼睛干涩发痒用什么药 水痘不能吃什么食物 大姨妈不来是什么原因造成的 囊肿是什么病严重吗
间接胆红素高说明什么 122是什么号码 拉青色大便是什么原因 麦的部首是什么 吃什么对血栓好
牛腩是什么 生男生女取决于什么 宗气是什么意思 乌龟和甲鱼有什么区别 梦见自己得了重病预示什么
肝有问题会出现什么症状 老马识途是什么意思 脸为什么容易红 盐茶是什么茶 闰月是什么
血象高是什么意思hcv7jop9ns7r.cn 温州有什么区hcv9jop0ns4r.cn 腰椎生理曲度变直什么意思hcv8jop2ns2r.cn 乌鸡白凤丸什么时候吃hcv8jop5ns3r.cn 胃息肉吃什么好hcv7jop7ns3r.cn
犀牛吃什么hcv8jop6ns0r.cn 长命百岁是什么生肖hcv9jop1ns3r.cn 脚气用什么药膏hcv7jop6ns5r.cn 头疼是为什么hcv8jop7ns0r.cn 阴盛格阳是什么意思hcv9jop6ns2r.cn
游龙斑是什么鱼liaochangning.com 脑梗吃什么鱼最好hcv7jop6ns2r.cn 感冒怕冷吃什么药hcv8jop4ns7r.cn 888是什么意思hcv9jop2ns0r.cn 太息是什么意思hcv7jop6ns0r.cn
肝硬化早期有什么症状hcv7jop6ns4r.cn 舌苔厚白吃什么药最好hcv8jop4ns9r.cn 硬伤是什么意思hcv8jop8ns8r.cn 黄花苗泡水喝有什么作用hcv9jop5ns0r.cn 仙鹤代表什么生肖sanhestory.com
百度