堆疊結構機器

堆疊結構機器(英語:Stack machine),又稱堆疊機器計算機科學中一種計算模型。

基本介紹

  • 中文名:堆疊結構機器
  • 外文名:Stack machine
簡介,堆疊,操作,特點,累加器,暫存器機,

簡介

這種類型的計算機,存儲器以堆疊(Stack)存儲。
這種機器,它的指令集中包含了零地址指令("0-operand" instruction set)。硬體在運行運算時,到堆疊的頂端去取出運算對象,至運算結束時,再存儲到堆疊的頂端。
相較於累加器(採用 "1-operand instruction set") ,和暫存器機("2-operand instruction set" 或 "3-operand instruction set"),用零地址指令("0-operand instruction set")實現的堆疊機器,它的好處是代碼密度(code density)相對較大,因此,它的程式通常較小。

堆疊

堆疊(英語:stack)又稱為堆疊,是計算機科學中一種特殊的串列形式的抽象數據類型,其特殊之處在於只能允許在鍊表數組的一端(稱為堆疊頂端指針,英語:top)進行加入數據(英語:push)和輸出數據(英語:pop)的運算。另外堆疊也可以用一維數組鍊表的形式來完成。堆疊的另外一個相對的操作方式稱為佇列
由於堆疊數據結構只允許在一端進行操作,因而按照後進先出(LIFO, Last In First Out)的原理運作。

操作

堆疊數據結構使用兩種基本操作:推入(壓棧,push)和彈出(彈棧,pop):
  • 推入:將數據放入堆疊的頂端(數組形式或串列形式),堆疊頂端top指針加一。
  • 彈出:將頂端數據數據輸出(回傳),堆疊頂端數據減一。

特點

堆疊的基本特點:
  1. 先入後出,後入先出。
  2. 除頭尾節點之外,每個元素有一個前驅,一個後繼。

累加器

中央處理器中,累加器(accumulator) 是一種暫存器,用來儲存計算產生的中間結果。如果沒有像累加器這樣的暫存器,那么在每次計算 (加法,乘法,移位等等) 後就必須要把結果寫回到記憶體,也許馬上就得讀回來。然而存取主存的速度是比從算術邏輯單元到有直接路徑的累加器存取更慢。
標準的例子就是把一列的數字加起來。一開始累加器設定為零,每個數字依序地被加到累加器中,當所有的數字都被加入後,結果才寫回到主存中。

暫存器機

數理邏輯理論計算機科學中,暫存器機(英語:Register machine),又譯為暫存器機,是以類似於使用圖靈機的方式使用的一類抽象機器。所有模型都是圖靈等價的。
暫存器機得名於它有一個或多個“暫存器”——替代了圖靈機的磁帶和磁頭,這個模型使用了多個唯一定址的暫存器,每個都持有一個單一正整數

相關詞條

熱門詞條

聯絡我們