類MIPS指令集的單周期處理器的實(shí)現(xiàn)
指令集
本文引用地址:http://m.butianyuan.cn/article/128749.htm本文所設(shè)計的處理器使用MIPS指令集中的部分R類型指令(add、sub、and、or、slt),部分I類型指令(lw、sw)以及跳轉(zhuǎn)類型指令beq作為其指令集。
處理器體系結(jié)構(gòu)狀態(tài)設(shè)計
MIPS處理器的體系結(jié)構(gòu)狀態(tài)由PC(程序計數(shù)器)、32位寄存器組和其它存儲器所組成。處理器根據(jù)當(dāng)前的體系結(jié)構(gòu)狀態(tài),使用一些特定的數(shù)據(jù)執(zhí)行一些特定的指令來產(chǎn)生一個新的體系結(jié)構(gòu)狀態(tài)。
數(shù)據(jù)通路設(shè)計
數(shù)據(jù)通路主要包括了R型指令以及I型指令的數(shù)據(jù)通路。其中R型指令的數(shù)據(jù)通路包括取指、譯碼、執(zhí)行以及回寫四個部分。I型指令的數(shù)據(jù)通路包括取指、譯碼、執(zhí)行以及訪存四個部分。
圖1為R類型指令的取指過程:從PC中取出當(dāng)前執(zhí)行指令所在的地址PC值,送給指令存儲器的訪問地址端口A;由于指令存儲器的讀取不需要時鐘沿,故當(dāng)給出訪問地址后,數(shù)據(jù)輸出端口RD就直接輸出地址相應(yīng)的數(shù)據(jù),也就是指令I(lǐng)NS。圖2為R類型指令的譯碼過程:首先,從指令存儲器中讀取出的指令中,第[25:21]位為R類型操作的第一個操作數(shù)在寄存器文件中的地址,第[20:16]位為R類型操作的第二個操作數(shù)在寄存器文件中的地址。寄存器文件根據(jù)A1和A2中給出的地址,讀出兩個源操作數(shù)的內(nèi)容。
評論