堆栈机,全称为“堆栈结构机器”,即英文的 “Stack Machine”。基于堆栈机模型实现的计算机,无论是虚拟机还是实体计算机,都会使用“栈”这种结构来实现数据的存储和交换。栈是一种“后进先出(LIFO)”的数据结构,即最后被放入栈容器的数据会被最先取出。
堆栈机的指令集中包含了零地址指令(“0-operand” instruction set),硬件在运行运算时,使用两种基本操作进行运算:
累加器机,英文为“Accumulator Machine”,是一种寄存器,用来存储计算产生的中间结果。累加器机模型是一种古老的计算模型,仅能够支持单一值的累加寄存器单元,因此,基于累加器机模型设计的指令都只支持一个操作数。
寄存器机,英文为 Register Machine,也译为暂存器机,这种计算模型的机器,使用特定的 CPU 寄存器组,来作为指令执行过程中数据存储和交换的容器。
在寄存器中,由于每一条参与到数据交换和处理的指令,都需要显示地标记操作数所在的寄存器,相较于堆栈机和累加器机,指令更长,但也更加灵活。
我的个人主页 里也同步进行了更新,欢迎来逛逛。