資源描述:
《《單周期CPU設(shè)計》實(shí)驗(yàn)報告》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、計算機(jī)組成原理與接口技術(shù)實(shí)驗(yàn)《計算機(jī)組成原理與接口技術(shù)實(shí)驗(yàn)》實(shí)驗(yàn)報告學(xué)院名稱:學(xué)生姓名:學(xué)號:專業(yè)(班級):合作者:時間:2016年4月25日16/16計算機(jī)組成原理與接口技術(shù)實(shí)驗(yàn)成績:實(shí)驗(yàn)二:一.實(shí)驗(yàn)?zāi)康?.掌握單周期CPU數(shù)據(jù)通路圖的構(gòu)成、原理及其設(shè)計方法;2.掌握單周期CPU的實(shí)現(xiàn)方法,代碼實(shí)現(xiàn)方法;3.認(rèn)識和掌握指令與CPU的關(guān)系;4.掌握測試單周期CPU的方法。二.實(shí)驗(yàn)內(nèi)容設(shè)計一個單周期CPU,該CPU至少能實(shí)現(xiàn)以下指令功能操作。需設(shè)計的指令與格式如下:==>算術(shù)運(yùn)算指令(1)addrd,rs,rt(說明:以助記符表示,是匯編指令;以代碼表示,是機(jī)器指令)00000
2、0rs(5位)rt(5位)rd(5位)reserved功能:rd←rs+rt。reserved為預(yù)留部分,即未用,一般填“0”。(2)addirt,rs,immediate000001rs(5位)rt(5位)immediate(16位)功能:rt←rs+(sign-extend)immediate;immediate符號擴(kuò)展再參加“加”運(yùn)算。(3)subrd,rs,rt000010rs(5位)rt(5位)rd(5位)reserved完成功能:rd←rs-rt==>邏輯運(yùn)算指令(4)orirt,rs,immediate010000rs(5位)rt(5位)immediate(16
3、位)功能:rt←rs
4、(zero-extend)immediate;immediate做“0”擴(kuò)展再參加“或”運(yùn)算。(5)andrd,rs,rt010001rs(5位)rt(5位)rd(5位)reserved功能:rd←rs&rt;邏輯與運(yùn)算。(6)orrd,rs,rt010010rs(5位)rt(5位)rd(5位)reserved功能:rd←rs
5、rt;邏輯或運(yùn)算。==>傳送指令(7)moverd,rs100000rs(5位)00000rd(5位)reserved功能:rd←rs+$0;$0=$zero=0。==>存儲器讀/寫指令(8)swrt,immediate(rs)寫
6、存儲器100110rs(5位)rt(5位)immediate(16位)16/16計算機(jī)組成原理與接口技術(shù)實(shí)驗(yàn)功能:memory[rs+(sign-extend)immediate]←rt;immediate符號擴(kuò)展再相加。(9)lwrt,immediate(rs)讀存儲器100111rs(5位)rt(5位)immediate(16位)功能:rt←memory[rs+(sign-extend)immediate];immediate符號擴(kuò)展再相加。==>分支指令(10)beqrs,rt,immediate110000rs(5位)rt(5位)immediate(位移量,16位)功
7、能:if(rs=rt)pc←pc+4+(sign-extend)immediate<<2;特別說明:immediate是從PC+4地址開始和轉(zhuǎn)移到的指令之間指令條數(shù)。immediate符號擴(kuò)展之后左移2位再相加。為什么要左移2位?由于跳轉(zhuǎn)到的指令地址肯定是4的倍數(shù)(每條指令占4個字節(jié)),最低兩位是“00”,因此將immediate放進(jìn)指令碼中的時候,是右移了2位的,也就是以上說的“指令之間指令條數(shù)”。==>停機(jī)指令(11)halt11111100000000000000000000000000(26位)功能:停機(jī);不改變PC的值,PC保持不變。一.實(shí)驗(yàn)原理單周期CPU指的是一
8、條指令的執(zhí)行在一個時鐘周期內(nèi)完成,然后開始下一條指令的執(zhí)行,即一條指令用一個時鐘周期完成。電平從低到高變化的瞬間稱為時鐘上升沿,兩個相鄰時鐘上升沿之間的時間間隔稱為一個時鐘周期。時鐘周期一般也稱振蕩周期(如果晶振的輸出沒有經(jīng)過分頻就直接作為CPU的工作時鐘,則時鐘周期就等于振蕩周期。若振蕩周期經(jīng)二分頻后形成時鐘脈沖信號作為CPU的工作時鐘,這樣,時鐘周期就是振蕩周期的兩倍。)CPU在處理指令時,一般需要經(jīng)過以下幾個步驟:(1)取指令(IF):根據(jù)程序計數(shù)器PC中的指令地址,從存儲器中取出一條指令,同時,PC根據(jù)指令字長度自動遞增產(chǎn)生下一條指令所需要的指令地址,但遇到“地址轉(zhuǎn)移
9、”指令時,則控制器把“轉(zhuǎn)移地址”送入PC,當(dāng)然得到的“地址”需要做些變換才送入PC。(2)指令譯碼(ID):對取指令操作中得到的指令進(jìn)行分析并譯碼,確定這條指令需要完成的操作,從而產(chǎn)生相應(yīng)的操作控制信號,用于驅(qū)動執(zhí)行狀態(tài)中的各種操作。(3)指令執(zhí)行(EXE):根據(jù)指令譯碼得到的操作控制信號,具體地執(zhí)行指令動作,然后轉(zhuǎn)移到結(jié)果寫回狀態(tài)。(4)存儲器訪問(MEM):所有需要訪問存儲器的操作都將在這個步驟中執(zhí)行,該步驟給出存儲器的數(shù)據(jù)地址,把數(shù)據(jù)寫入到存儲器中數(shù)據(jù)地址所指定的存儲單元或者從存儲器中得到數(shù)據(jù)地址