資源描述:
《實驗一簡化的RISCCPU設計課件.ppt》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、實驗一簡化的RISC_CPU設計1、課題的由來和設計環(huán)境介紹設計核心:不但關心CPU總體設計的合理性;構成這個RISC_CPU的每一個模塊不僅是可仿真的也都是可以綜合成門級網(wǎng)表。物理意義:一個能真正通過具體邏輯電路結構而實現(xiàn)的CPU。這里介紹它的目的是想說明一下兩點:(1)VerilogHDL仿真和綜合工具的潛力;(2)本文介紹的設計方法對軟硬件聯(lián)合設計是有重要意義的。2、什么是CPUCPU即中央處理單元的縮寫,它是計算機的核心部件。計算機進行信息處理可分為兩個步驟:(1)將數(shù)據(jù)和程序(即指令序列)輸入到計算機的存儲器中;(2)從第一條指令的地
2、址起開始執(zhí)行該程序,得到所需結果,結束運行。2、CPU的作用及基本功能CPU的作用:協(xié)調(diào)并控制計算機的各個部件并執(zhí)行程序的指令序列,使其有條不紊地進行。因此它必須具有以下基本功能:取指令:當程序已經(jīng)在存儲器中時,首先根據(jù)程序入口地址取出一條程序,為此要發(fā)出指令地址及控制信號。分析指令:即指令譯碼,這是對當前取得的指令進行分析,指出它要求什么操作,并產(chǎn)生相應的操作控制命令。執(zhí)行指令:根據(jù)分析指令時產(chǎn)生的“操作命令”形成相應的操作控制信號序列,通過運算器、存儲器及輸入/輸出設備的執(zhí)行,實現(xiàn)每條指令的功能,其中包括對運算結果的處理以及下條指令地址的形成。
3、2、CPU功能的細化2、CPU的基本內(nèi)部結構a.時序和控制部件b.指令寄存器和譯碼器c.累加器d.算術邏輯運算單元e.程序計數(shù)器2、什么是CPURISC即精簡指令集計算機(ReducedInstructionSetComputer)的縮寫;RISC_CPU特點:簡化的指令系統(tǒng),而且還通過簡化指令系統(tǒng)使計算機的結構更加簡單合理,從而提高運算速度;它的時序控制信號形成部件是用硬布線邏輯實現(xiàn)的而不是采用微程序控制的方式;對于該RISC_CPU的時序控制信號:狀態(tài)機的控制信號、wr、rd所謂硬布線邏輯也就是用觸發(fā)器和邏輯門直接連線所構成的狀態(tài)機和組合邏輯,
4、故產(chǎn)生控制序列的速度比用微程序控制方式快得多,因為這樣做省去了讀取微指令的時間。3、RISC_CPU結構RISC_CPU是一個復雜的數(shù)字邏輯電路,但是它的基本部件的邏輯并不復雜??梢园阉殖?個基本部件來考慮:(1)時鐘發(fā)生器;(2)指令寄存器;(3)累加器;(4)RISC_CPU算術邏輯運算單元;(5)數(shù)據(jù)控制器;(6)地址多路器;(7)程序計數(shù)器;(8)狀態(tài)控制器;a.時鐘發(fā)生器利用外來時鐘信號進行分頻生成一系列時鐘信號,送往其他部件用作時鐘信號。b.通過狀態(tài)控制器實現(xiàn)各部件之間的相互操作的關系。時鐘發(fā)生器利用外來時鐘信號clk生成一系列分頻時
5、鐘信號clk1、fetch、alu_clk,并送往CPU的其他部件作為時鐘信號。a.fetch是外來時鐘clk的8分頻信號;b.利用fetch的上升沿來觸發(fā)CPU控制器開始執(zhí)行一條指令。c.fetch信號還將控制地址多路器輸出指令地址和數(shù)據(jù)地址;clk1信號用作指令寄存器、累加器、狀態(tài)控制器的時鐘信號;alu_clk則用于觸發(fā)算術邏輯運算單元。模塊一時鐘發(fā)生器模塊1時鐘發(fā)生器指令寄存器的觸發(fā)時鐘是clk1,在clk1的正沿觸發(fā)下,寄存器將數(shù)據(jù)總線送來的指令存入高8位或低8位寄存器中,但并不是每個clk1的上升沿都寄存數(shù)據(jù)總線的數(shù)據(jù),因為數(shù)據(jù)總線上有
6、時傳輸指令,有時傳輸數(shù)據(jù);是不是指令由CPU狀態(tài)控制器的load_ir信號控制,該信號通過ena口輸入到指令寄存器,高電平表示是指令;復位信號高有效,指令寄存器被清為零;每條指令為兩個字節(jié),即16位。高3位是操作碼,低13位是地址(CPU的地址總線為13位,尋址空間為8K字節(jié))數(shù)據(jù)總線為8位,所以每條指令需取兩次,先取高8位,后取低8位。模塊二指令寄存器模塊2指令寄存器累加器用于存放當前的結果,它也是雙目運算中的一個數(shù)據(jù)來源;復位后,累加器的值是零;當累加器通過ena口收到來自CPU狀態(tài)控制器load_acc信號時,在clk1時鐘正跳沿時就收到來自
7、于數(shù)據(jù)總線的數(shù)據(jù)。模塊三累加器模塊3累加器算術邏輯運算單元根據(jù)輸入的8種不同操作碼分別實現(xiàn)相應的加、與、異或、跳轉等基本操作運算;利用這幾種基本運算可以實現(xiàn)很多種其它運算以及邏輯判斷等操作。模塊四算術運算器HLT=3’b000,暫停指令(保持累加器值)SKZ=3’b001,計算為零則跳轉指令(保持累加器值)ADD=3’b010,加法指令(data+累加器值)ANDD=3’b011,按位與指令(data&累加器值)XORR=3’b100,按位異或指令(data^累加器值)LDA=3’b101,載入指令(data)STO=3’b110,數(shù)據(jù)寫入指令(保
8、持累加器值)JMP=3’b111,跳轉指令(保持累加器值)模塊四算術運算器模塊4算數(shù)運算器數(shù)據(jù)控制器作用是控制累加器的數(shù)據(jù)