木糖醇是什么| 任正非用的什么手机| 小孩爱流鼻血是什么原因| 苏轼是什么派词人| 痤疮长什么样| 世界上最大的哺乳动物是什么| wtf是什么意思| 平常吃什么补肾| 不良反应是什么意思| 胎盘位于前壁是什么意思| 失眠挂什么科| 低密度脂蛋白偏高吃什么药| 什么叫四维空间| 指甲挂什么科| chd是什么意思| 大作是什么意思| 狮子座是什么性格| 麦粒肿是什么| 十二指肠球部溃疡a1期是什么意思| 肚子突然变大是什么原因| 离家出走需要准备什么| 火龙果和香蕉榨汁有什么功效| 曲苑杂坛为什么停播| 手脚热吃什么药效果好| 57年属什么生肖| 吃卡培他滨禁止吃什么| 茵陈有什么功效| 老人大便失禁是什么原因| 风调雨顺是什么生肖| 中气不足是什么意思| 什么情况下月经推迟| g750是什么金| dc是什么牌子| dha中文叫什么| 血沉高是什么意思| 经常做噩梦是什么原因| abo什么意思| 新生儿吃什么钙好| 治鸡眼用什么药最好| 如是我闻是什么意思| 温字五行属什么| 脱发应该挂什么科室| 杭州有什么| 很困但是睡不着是什么原因| 为什么直系亲属不能输血| 勇敢地什么| 尿路感染吃什么药效果好| 检查宫颈做什么检查| 大蒜味是什么中毒| ms.是什么意思| 92年属猴的是什么命| 尿蛋白三个加号吃什么药| 血红蛋白偏低什么意思| 天蝎座男是什么性格| c60是什么| 什么样的青蛙| 蚩尤是什么| 便秘是什么原因引起的| 给医生送锦旗写什么| 什么的神色| 动容什么意思| 羊肉不能和什么一起吃| 七夕之夜是什么生肖| 梨花压海棠是什么意思| 感冒什么时候能好| 阴虚火旺吃什么中成药| 轻微手足口病吃什么药| 同人文什么意思| 鞘膜积液挂什么科| 犹太人割礼是什么意思| 梦见青蛙是什么预兆| 孕妇做唐筛是检查什么| 牙齿有黑线是什么原因| 海肠是什么东西| 尿道痒男吃什么消炎药| 金牛座属于什么象星座| 眼睛双重影什么原因| 家道中落是什么意思| 龙跟什么生肖最配| 茶水费是什么意思| 什么得直什么| 左什么右什么| 搏击是什么运动| 脉管炎吃什么药最好| 女人吃牛蛙有什么好处| 白芝麻有什么功效| 多潘立酮片治什么病| 梅尼埃综合症是什么病| 横梁是什么| 为什么会口腔溃疡| 孕妇的尿液有什么用途| 孩子不说话挂什么科| 口苦口干吃什么药好| 吸入甲醛会有什么症状| 碱性磷酸酶偏低是什么意思| 前列腺炎是什么引起的| 猫的眼睛晚上为什么会发光| 拉屎肛门疼是什么原因| 肛门长期瘙痒是什么原因| 鸡毛信是什么意思| 血粘度查什么项目| 3月12日是什么星座| 尿酸520属于什么水平| 鸡属于什么动物| 头顶痛吃什么药效果好| 生化妊娠是什么原因导致的| 明火是什么意思| 什么是1型和2型糖尿病| 为什么有两个六月| 庸人自扰什么意思| 就诊是什么意思| 疣体是什么病| 前列腺在什么地方| 什么是窦性心律不齐| 手淫过度有什么危害| 盆腔炎用什么药最好| 里是什么结构| 麻薯粉是什么粉| 取关是什么意思| 肠炎吃什么药好得快| 用什么方法可以戒酒| 喝紫苏水有什么功效| 天然气主要成分是什么| 眉心跳动代表什么预兆| 小米长什么样| 扁桃体肥大有什么影响| 什么东西最养胃| 嗓子有黄痰是什么原因| 为什么没有西京| 颠了是什么意思| 放疗跟化疗有什么区别| 条形码的数字代表什么| 下午五六点是什么时辰| 心慌什么原因引起的| cancer是什么意思| 昭字五行属什么| 尖嘴是什么生肖| 小翅膀车标是什么车| 为什么会脚麻| 望梅止渴是什么梅| 藏头诗什么意思| 白色玉米是什么玉米| 钠低是什么原因造成的| 两女一杯什么意思| 什么的嗓音| 聊天是什么意思| 疤痕增生挂什么科| mj什么意思| 排卵期同房要注意什么| 温煦是什么意思| PA医学上是什么意思| 孩子咽炎老是清嗓子吃什么药| 射精出血是什么原因引起的| 什么的杜鹃花| 留个念想是什么意思| 什么叫正盐| php是什么意思| sei是什么意思| 玥字属于五行属什么| 巨蟹座男和什么座最配对| 皮肤出现红点是什么原因| 胆固醇高是什么原因引起的| 太上老君的坐骑是什么| pr间期缩短什么意思| 胆固醇高应注意什么| 2002年属马的是什么命| 小孩说话不清楚挂什么科| 同房什么意思| 积食内热吃什么药| 偷什么不犯法| 蓝莓不能和什么一起吃| 龙生九子是什么生肖| 真菌感染用什么药好| 菜心是什么菜的心| 七夕节是什么节日| 吃苹果什么意思| 胜肽的主要功能是什么| 红色爱心是什么牌子| 办理护照需要什么材料| 申时五行属什么| 刘邦和刘秀是什么关系| 尼麦角林片治什么病| 婴儿胀气是什么原因| 镶牙和种牙有什么区别| 做完核磁共振后需要注意什么| 贪小失大什么意思| 三月初八是什么星座| 吃什么排黑色素最强| 同型半胱氨酸偏高吃什么药| 组胺过敏是什么意思| 清洁度二度是什么意思| 终其一生下一句是什么| 淀粉酶测定是查什么| 肾精亏虚吃什么药最好| 什么津津| 口酸吃什么药| 收割是什么意思| 胎儿颈部可见u型压迹什么意思| 两毛二是什么军衔| 处事不惊是什么意思| 花红是什么水果| 三个马念什么| 咽干是什么原因造成的| 梦见孩子被蛇咬是什么意思| 两个人能玩什么游戏| 6月16日是什么日子| 解禁是什么意思| 灵芝对身体有什么好处| 病灶什么意思| 淀粉样变性是什么病| 前胸后背长痘痘用什么药| 小孩咳嗽吃什么药好| 付之一炬什么意思| 尿微量白蛋白是什么意思| 煲汤放什么药材补气血| 新是什么意思| 来大姨妈能喝什么饮料| 眼睛经常充血是什么原因引起的| 分母是什么意思| 潍坊有什么好玩的| 脚底出汗什么原因| 老人头晕是什么原因引起的| 鼻窦炎用什么药| 关节炎吃什么药最好| 睾丸肿痛吃什么药| 长脸适合什么发型男| 卵圆孔未闭是什么病| 低回声结节什么意思| 宫颈囊肿有什么症状表现| 外耳道发炎用什么药| 2005年属什么生肖| 黄体功能不足吃什么药| 炖牛骨头放什么调料| 晚上睡觉阴部外面为什么会痒| 平纹布是什么面料| 什么头什么颈| 什么叫放疗| 版图是什么意思| 四十年婚姻是什么婚| 半夜惊醒是什么原因| 硬下疳是什么样子| 心脏支架和搭桥有什么区别| 右枕前位是什么意思| 白细胞减少吃什么药| 无水奶油是什么| 什么原因| 手不释卷的释是什么意思| 胆固醇高吃什么| 日头是什么意思| 不过是什么意思| 七月18日是什么星座| 8月10日是什么星座| 吃什么药减肥效果好| swisse是什么意思| 憋不住大便是什么原因造成的| 怀孕了胃不舒服是什么原因| 尿毒症是什么原因导致的| 倾倒是什么意思| 与狼共舞什么意思| thr是什么氨基酸| 做爱为什么那么舒服| 备孕吃什么好| 阳历7月份是什么星座| 为什么丰胸霜一抹就变大| 百度Jump to content

警惕!邪教的这些“愚人”伎俩 你都知道吗(图)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Cedar101 (talk | contribs) at 13:54, 4 May 2021 (Informal definition: random-access stored-program model (RASP)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
百度 也许,问题纷杂而不知头绪,想不了太多,想的人太乱,那么MV镜头中,高虎身上那件印有1984的TEE已经给出了答案。

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)

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

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

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

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

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

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

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)

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

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 recursion the other two.
  • 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. Vyssots of the Bell telephone Laborators and with Dr. H. Wang of Oxford University."
  • Marvin Minsky (1961, received August 15, 1960). "Recursive Unsolvability of Post's Problem of 'Tag' and Other Topics in Theory of Turing Machines". Annals of Mathematics. 74 (3). Annals of Mathematics: 437–455. doi:10.2307/1970290. JSTOR 1970290. {{cite journal}}: Check date values in: |date= (help)
  • 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 of 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.
无期是什么意思 月经提前10天正常吗是什么原因 罢黜百家独尊儒术是什么意思 蜜糖冲水喝有什么功效 安乃近是什么药
宫腔灌注是治疗什么的 为什么狗不能吃巧克力 折叠胆囊是什么意思 三点水加四读什么 阴道有褐色分泌物是什么原因
脸部麻木是什么原因引起的 阴道镜是什么 au585是什么金 左肾尿盐结晶是什么意思 攻击的近义词是什么
心慌气短吃什么药最好 桃子什么时候成熟 娃娃衫配什么裤子图片 今年16岁属什么 化验痰可以检查出什么
乳和霜有什么区别hcv9jop2ns9r.cn 麦芽糖是什么做的hcv9jop0ns8r.cn 柬埔寨有什么特产hcv9jop2ns8r.cn 胡子变白是什么原因xinmaowt.com 垂体分泌什么激素hcv7jop5ns5r.cn
晚上睡不着觉什么原因hcv7jop5ns1r.cn 疖子用什么药膏最好gysmod.com 喝普洱茶有什么功效hcv9jop5ns3r.cn 什么的嗓音hcv7jop9ns0r.cn 勃勃生机是什么意思0297y7.com
珈字五行属什么hcv8jop6ns1r.cn 六堡茶是什么茶hcv7jop6ns2r.cn 石斛什么人不适合吃hcv9jop0ns5r.cn 臭屁是什么意思hcv7jop7ns3r.cn 去离子水是什么hcv7jop9ns5r.cn
月经期适合做什么运动hcv7jop6ns6r.cn 茯茶是什么茶hcv9jop0ns9r.cn 农历六月是什么夏hcv7jop7ns2r.cn 彩铅是什么hcv8jop1ns9r.cn 什么照片看不出照的是谁hcv8jop9ns4r.cn
百度