暫存器組

基本介紹

暫存器是CPU內部重要的數據存儲資源,是彙編程式設計師能直接使用的硬體資源之一。由於暫存器的存取速度比記憶體快,所以,在用彙編語言編寫程式時,要儘可能充分利用暫存器的存儲功能。

暫存器一般用來保存程式的中間結果,為隨後的指令快速提供運算元,從而避免把中間結果存入記憶體,再讀取記憶體的操作。在高級語言(如:C/C++語言)中,也有定義變數暫存器類型的,這就是提高暫存器利用率的一種可行的方法。

另外,由於暫存器的個數和容量都有限,不可能把所有中間結果都存儲在暫存器中,所以,要對暫存器進行適當的調度。根據指令的要求,如何安排適當的暫存器,避免運算元過多的傳送操作是一項細緻而又周密的工作。有關“暫存器的分配策略”在後續課程《編譯原理》中會有詳細的介紹。

基本介紹

  • 中文名:暫存器組
  • 位置:CPU內部
  • 軟硬體:硬體資源之一
  • 限制:個數和容量
類型分類,16位暫存器組,32位暫存器組,

類型分類

由於16位/32位CPU是微機CPU的兩個重要代表,所以,在此只介紹它們內部暫存器的名稱及其主要功能。

16位暫存器組

16位CPU所含有的暫存器
4數據暫存器(AX、BX、CX和DX)
2變址指針暫存器(SI和DI) 2個指針暫存器(SP和BP)
4段暫存器(ES、CS、SS和DS)
1個指令指針暫存器(IP)1標誌暫存器(Flags)

32位暫存器組

32位CPU除了包含了先前CPU的所有暫存器,並把通用暫存器、指令指針和標誌暫存器16位擴充成32位之外,還增加了216位的段暫存器:FS和GS。
32位CPU所含有的暫存器有
4數據暫存器(EAX、EBX、ECX和EDX)
2個變址和指針暫存器(ESI和EDI) 2個指針暫存器(ESP和EBP)
6段暫存器(ES、CS、SS、DS、FS和GS)
1個指令指針暫存器(EIP) 1標誌暫存器(EFlags)
具有一個輸入連線埠和兩個輸出連線埠。

相關詞條

熱門詞條

聯絡我們