三种常见的盘算模子

开发者 2024-9-23 04:18:57 109 0 来自 中国
堆栈机

堆栈机,全称为“堆栈结构呆板”,即英文的 “Stack Machine”。基于堆栈机模子实现的盘算机,无论是假造机还是实体盘算机,都会使用“栈”这种结构来实现数据的存储和交换。栈是一种“后进先出(LIFO)”的数据结构,即最后被放入栈容器的数据会被开始取出。

1.gif 堆栈机的指令会合包罗了零所在指令(“0-operand” instruction set),硬件在运行运算时,使用两种根本使用举行运算:

  • 推入:将数据放入堆栈的顶端(数组情势或串列情势),堆栈顶端 top 指针加一。
  • 弹出:将顶端数据输出(回传),堆栈顶端数据减一。
累加器机

累加器机,英文为“Accumulator Machine”,是一种寄存器,用来存储盘算产生的中心效果。累加器机模子是一种古老的盘算模子,仅可以大概支持单一值的累加寄存器单位,因此,基于累加器机模子筹划的指令都只支持一个使用数。
寄存器机

寄存器机,英文为 Register Machine,也译为暂存器机,这种盘算模子的呆板,使用特定的 CPU 寄存器组,来作为指令实行过程中数据存储和交换的容器。
在寄存器中,由于每一条到场到数据交换和处置惩罚的指令,都需要表现地标志使用数所在的寄存器,相较于堆栈机和累加器机,指令更长,但也更加机动。
三种盘算模子的比较


  • 堆栈机使用栈结构作为数据存储与交换的容器,由于其“先辈后出”的特性,无法直接使用位于栈底的数据,因此,在特殊环境下,呆板会使用额外的指令来举行栈数据的交换过程,从而丧失肯定的实行服从。但另一方面,堆栈机模子实现简朴,指令代码长度适中。
  • 累加器机由于只有一个累加器寄存器可用于存储数据,因此在指令的实行过程中,大概会频繁哀求呆板的线形内存,从而导致肯定的性能斲丧。但另一方面,该模子最多只能有一个使用数,因此对应的指令代码较为精简。
  • 寄存器机内大多数与数据使用相干的指令,都需要在实行时指定目的寄存器,因此,指令代码的长度较长。寄存器机拥有更多的数据暂存容器,一方面,机动的数据使用导致寄存器的分配和使用规则变得复杂,另一方面,在使用适当的环境下,同样的盘算逻辑,基于寄存器机模子,可以天生更为高效的指令实行结构。
最后

我的个人主页 里也同步举行了更新,接待来逛逛。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 20:24, Processed in 0.117535 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表