mips-32【million instructions per second】[標號:]指令助記符 第1運算元
[, 第2運算元 [, 第3運算元]] [# 注釋]
暫存器:
在mips體系結構中有32個32位的定長暫存器,mips約定「$」後面跟兩個字元來代表乙個暫存器。由編譯器負責將程式變數和暫存器對應起來。
暫存器是計算機中儲存資料最快的位置,用於資料的快速訪問,與儲存器相比,暫存器訪問時間短,吞吐率高,功耗小。只能對存放在暫存器中的數執行算術操作
,算術運算指令的運算元必須來自於暫存器。
環出暫存器的最理想的資料結構是棧——一種後進先出的佇列:將資料放入棧中稱為壓棧,從棧中移除資料稱為出棧。
暫存器的溢位:將不常使用的變數(或稍後才使用的變數)存回儲存器的過程。
暫存器號
暫存器名稱
作用$0
$zero
常數0,該暫存器永遠只返回0。
$1$at
用做彙編器的暫時變數。
$2-$3
$v0 - $v1
用來存放乙個子程式(函式)的非浮點運算的結果或返回值。
$4-$7
$a0 - $a3
存放子程式(函式)呼叫時的非浮點引數。
$8-$15
$t0 - $t7
暫時變數,子程式(函式)使用時不儲存這些暫存器的值,因此呼叫後它們的值會被破壞。
$16-$23
$s0 - $s7
8個子程式用暫存器。子程式(函式)必須在返回之前恢復這些暫存器的值以保證其沒有變化。
$24-$25
$t8 - $ t9
暫時變數,子程式(函式)使用時不儲存這些暫存器的值,因此呼叫後它們的值會被破壞。
$26-$27
$k0 - $ k1
為中斷/異常處理保留。由作業系統的異常或中斷處理程式使用,不恢復原來的值。
$28$gp
全域性指標。某些執行時系統用來為static或extern變數提供簡單的訪問方式。
$29$sp
堆疊指標,對它的調整必須顯式的通過指令來實現,硬體不支援堆疊指標的調整。
$30$fp
第9個子程式用暫存器變數,子程式用它做堆疊幀指標。
$31$ra
存放呼叫子程式(函式)時的返回起始點的返回位址暫存器。
儲存器:有2^39個,相當於乙個很大的一維陣列,根據儲存器位址(陣列下標)訪問儲存器中的字
。只能通過資料傳輸指令訪問,用於儲存資料結構、陣列和溢位的暫存器。
常數操作:常數在引導程式的時候被放入儲存器,使用時必須先從儲存器中取出來。『
立即數操作:直接採用乙個運算元是常數的指令。(如addi)【lw指令可以看作乙個運算元是0的加法】
無符號整數:負位址是沒有意義的,處理此類僅能是正的數需要用無符號整數(unsigned int)。
符號擴充套件:取回有符號數後需要使用符號位填充暫存器的所有剩餘位。將n位立即數擴充套件為32位,將擴充套件後的資料的高(32-n)位置複製為立即數的最高位。
無符號擴充套件:直接將擴充套件後的資料的高(32-n)位置為0。
16位立即數
無符號整數
有符號整數
0x8000
0x00008000
0xffff8000
0x1000
0x00001000
0x00001000
無符號數的最高有效位是符號位,而無符號數的最高有效位是具有最大權重的位。
基本塊:分支僅可能出現在**末尾、分支目標和分支標籤僅有可能出現在**起始位置的指令序列。
r指令r格式指令為純暫存器指令,所有的運算元(除移位外)均儲存在暫存器中。op欄位均為0,使用funct欄位區分指令。
不使用shamt欄位時,該字段為0。
and:表示按位與,提供了一種將源運算元中某些位置為0的能力,前提是另乙個運算元中對應位為0,這個運算元被稱為掩碼。
or:表示按位或,該操作在兩個操作位中任意一位為1時結果就為1.
not:表示按位取反,僅有乙個運算元。
第一類邏輯操作稱為移位:shift。他們將乙個字裡面的所有位都向左或向右移動,並在空出來的位置上填上0。
i指令i格式指令為帶立即數的指令,最多使用兩個暫存器,同時包括了load/store指令。使用op欄位區分指令。
lui
:專門用於設定暫存器中常數的高16位置,將高16位立即數量值存放到暫存器的高16位,低16位用0填充。允許後續指令設定常數的低16位。
資料傳送指令:在暫存器和儲存器之間傳送資料。
取數指令load/lw
:將資料從儲存器拷貝到暫存器的資料傳送指令。
存數指令store/sw
:將資料從暫存器拷貝到儲存器的資料傳送指令。
條件分支指令:
j指令j格式指令為長跳轉指令,僅有乙個立即數運算元。使用op欄位區分指令。
敬請批評指正!
書小宅之計算機組成原理 計算機概要與技術
現代計算機的特徵是處理器的並行性和層次性。計算機的結構層次 硬體 計算機的五個典型部件 輸入 輸出 儲存器 運算器和控制器,後兩個稱為處理器。電子技術取代老式機電技術的例子 1 光電滑鼠取代電動機電式滑鼠 2 快閃儲存器。儲存記憶體用於儲存程式執行時的資料儲存空間。dram用於承載程式的指令和資料,...
考研 之 計算機組成原理
1.理解單處理器計算機系統中各部件的內部工作原理 組成結構以及相互連線方式,具有完整的計算機系統的整機概念。2.理解計算機系統層次化結構概念,熟悉硬體與軟體之間的介面,掌握指令集體系結構的基本知識和基本實現方法。3.能夠綜合運用計算機組成的基本原理和基本方法,對有關計算機硬體系統中的理論和實際問題進...
軟考 之 計算機組成原理
軟考準備了不短的時間了,對於計算機組成原理這部分的感覺仍然是亂,摘不出頭緒來,接下來就來導導。首先從整體上來看計算機的整體的體系,如下圖 其實這麼看著也挺簡單了的是吧。一句話這知識皮毛而已。接下來我們看看我們平時操作電腦的乙個軟硬體協作的過程,如下圖 這個看似簡單的流程軟硬體的互動其實都是通過對 0...