MIPS4k處理器boot學習

2021-04-08 18:41:53 字數 847 閱讀 9570

mips暫存器約定:

暫存器編號/助記符/用法

0 zero 永遠返回值為0

1 at 用做彙編器的暫時變數

2-3 v0, v1 子函式呼叫返回結果

4-7 a0-a3 子函式呼叫的引數

8-15 t0-t7 暫時變數,子函式使用時不需要儲存與恢復

24-25 t8-t9

16-25 s0-s7 子函式暫存器變數。子函式必須儲存和恢復使用過的變數在函式返

回之前,從而呼叫函式知道這些暫存器的值沒有變化。

26,27 k0,k1 通常被中斷或異常處理程式使用作為儲存一些系統引數

28 gp    全域性指標。一些執行系統維護這個指標來更方便的訪問「static「和」extern"

變數。

29 sp     堆疊指標

30 s8/fp 第9個暫存器變數。子函式可以用來做楨指標

31  ra    子函式的返回地

在bootloader下,mips核的初始化用組合語言寫成,基本過程是

1〉清除cp0的watch暫存器    

mtc0    zero, c0_watchlo  /* first thing: clear watch regs */

mtc0    zero, c0_watchhi

2〉初始化cp0狀態暫存器,禁止軟硬體中斷以及選擇boot異常向量位址

3〉根據需要建立mips的狀態和控制暫存器,通常會清除(erl、exl位)

4〉初始化cache,先初始化icache,在初始化dcache(具體過程)

5〉開始初始化外圍介面(init_platform),主要是初始化時鐘系統、emif介面等。

MIPS4k處理器boot學習

mips4k處理器boot學習 hdguy 發表於 2006 5 11 16 09 00 mips暫存器約定 暫存器編號 助記符 用法 0 zero 永遠返回值為0 1 at 用做彙編器的暫時變數 2 3 v0,v1 子函式呼叫返回結果 4 7 a0 a3 子函式呼叫的引數 8 15 t0 t7 暫...

MIPS處理器 CPU功能組成

cpu由運算器和控制器組成,完成對指令控制執行的功能。負責協調並控制計算機各部件執行程式的的指令序列,完成取出指令,分析指令,執行指令操作。對資料進行加工處理,完成資料運算,如算術運算,移位運算 cpu的功能部件 指令位址部件,指令寄存部件,解碼部件,執行部件,控制邏輯部件 指明當前要讀取的指令在儲...

MIPS處理器 你了解多少 2

新的 64 位 mips 處理器是rm9000x2,從 x2 這個標記判斷,它包含了不是乙個而是兩個均具有整合二級快取記憶體的64位處理器。rm9000x2 主要針對網路基礎設施市場,具有整合的 ddr 記憶體控制器和超高速的 hypertransport i o 鏈結。處理器 記憶體和 i o均通...