資源描述:
《實(shí)驗(yàn)一簡化的RISCCPU設(shè)計(jì)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、實(shí)踐項(xiàng)目內(nèi)容數(shù)字電路的數(shù)字鐘;高級數(shù)字系統(tǒng)設(shè)計(jì)與驗(yàn)證的數(shù)字鐘;SoC系統(tǒng)開發(fā)的數(shù)字鐘。1實(shí)踐項(xiàng)目成果2項(xiàng)目第一部分簡化的RISC_CPU設(shè)計(jì)31、概述設(shè)計(jì)所用語言VerilogHDL設(shè)計(jì)所用方法Top-Down設(shè)計(jì)方法設(shè)計(jì)所用知識數(shù)字電路計(jì)算機(jī)組成原理高級數(shù)字系統(tǒng)設(shè)計(jì)與驗(yàn)證可綜合風(fēng)格的組合邏輯電路設(shè)計(jì)有限狀態(tài)機(jī)的設(shè)計(jì)4設(shè)計(jì)所用開發(fā)環(huán)境ISE8.2ModelSim6.1設(shè)計(jì)和實(shí)現(xiàn)的目標(biāo)完成8條指令的RISCCPU設(shè)計(jì)完成對所設(shè)計(jì)RISCCPU的驗(yàn)證實(shí)現(xiàn)RISCCPU在FPGA開發(fā)板上的正確運(yùn)行1、概述52、什么是RISCCPUCPU的意思中央
2、處理單元的縮寫,它是計(jì)算機(jī)的核心部件RISC的意思精簡指令集計(jì)算機(jī)(ReducedInstructionSetComputer)的縮寫62、什么是RISCCPURISCCPU簡介是20世紀(jì)80年代才出現(xiàn)的CPU,與一般的CPU相比不僅只是簡化了指令系統(tǒng),而且還通過簡化指令系統(tǒng),使計(jì)算機(jī)的結(jié)構(gòu)更加簡單合理,從而提高運(yùn)算速度73、RISCCPU功能分析計(jì)算機(jī)利用RISCCPU處理信息的步驟將數(shù)據(jù)和程序(即指令序列)輸入到計(jì)算機(jī)的存儲器中從第一條指令的地址起開始執(zhí)行該程序,得到所需結(jié)果,結(jié)束運(yùn)行8RISCCPU的作用協(xié)調(diào)并控制計(jì)算機(jī)的各個部件執(zhí)行
3、程序的指令序列RISCCPU的基本功能取指令分析指令執(zhí)行指令3、RISCCPU功能分析9取指令當(dāng)程序已經(jīng)在存儲器中時,首先根據(jù)程序入口地址取出一條程序,為此要發(fā)出指令地址及控制信號。分析指令即指令譯碼,這是對當(dāng)前取得的指令進(jìn)行分析,指出它要求什么操作,并產(chǎn)生相應(yīng)的操作控制命令。3、RISCCPU功能分析10執(zhí)行指令根據(jù)分析指令時產(chǎn)生的“操作命令”形成相應(yīng)的操作控制信號序列,通過運(yùn)算器、存儲器及輸入/輸出設(shè)備的執(zhí)行,實(shí)現(xiàn)每條指令的功能,其中包括對運(yùn)算結(jié)果的處理以及下條指令地址的形成。3、RISCCPU功能分析11取指令當(dāng)程序已經(jīng)在存儲器中時,
4、首先根據(jù)程序入口地址取出一條程序,為此要發(fā)出指令地址及控制信號。指令寄存器分析指令即指令譯碼,這是對當(dāng)前取得的指令進(jìn)行分析,指出它要求什么操作,并產(chǎn)生相應(yīng)的操作控制命令。譯碼器3、RISCCPU功能分析12執(zhí)行指令根據(jù)分析指令時產(chǎn)生的“操作命令”形成相應(yīng)的操作控制信號序列,通過運(yùn)算器、存儲器及輸入/輸出設(shè)備的執(zhí)行,實(shí)現(xiàn)每條指令的功能,其中包括對運(yùn)算結(jié)果的處理以及下條指令地址的形成。算術(shù)邏輯運(yùn)算單元(ALU)累加器程序計(jì)數(shù)器(PC)3、RISCCPU功能分析13RISCCPU整體功能取指令分析指令執(zhí)行指令狀態(tài)控制器地址控制器數(shù)據(jù)控制器時鐘控制
5、器3、RISCCPU功能分析14RISCCPU需要執(zhí)行的操作系統(tǒng)的復(fù)位和啟動操作總線讀操作總線寫操作4、RISC_CPU操作和時序15系統(tǒng)的復(fù)位和啟動操作RISC_CPU的復(fù)位和啟動操作是通過rst引腳的信號觸發(fā)執(zhí)行的;當(dāng)rst信號一進(jìn)入高電平,RISC_CPU就會結(jié)束現(xiàn)行操作,并且只要rst停留在高電平狀態(tài),CPU就維持在復(fù)位狀態(tài);在復(fù)位狀態(tài),CPU各內(nèi)部寄存器都被設(shè)為初值,全部為零。數(shù)據(jù)總線為高阻態(tài),地址總線為0000H,所有控制信號均為無效狀態(tài);rst回到低電平后,接著到來的第一個時鐘上升沿將啟動RISC_CPU開始工作,從ROM的0
6、00處開始讀取指令并執(zhí)行相應(yīng)操作。4、RISC_CPU操作和時序16總線讀操作每個指令周期的前0~3個時鐘周期用于讀指令;第3.5個周期處,存儲器或端口地址就輸出到地址總線上;第4~6個時鐘周期,讀信號rd有效,數(shù)據(jù)送到數(shù)據(jù)總線上,以備累加器鎖存,或參與算術(shù)、邏輯運(yùn)算;第7個時鐘周期,讀信號無效,第7.5個時鐘周期,地址總線輸出PC地址,為下一指令做好準(zhǔn)備。4、RISC_CPU操作和時序17總線寫操作:每個指令周期的第3.5個時鐘周期處,寫的地址就建立了;第4個時鐘周期輸出數(shù)據(jù);第5個時鐘周期輸出寫信號,至第6個時鐘結(jié)束,數(shù)據(jù)無效;第7.5
7、個時鐘周期,地址輸出為PC地址,為下一指令做好準(zhǔn)備。4、RISC_CPU操作和時序18指令系統(tǒng)由8條指令組成:HLT:停機(jī)操作。該操作將空一個指令周期,即8個時鐘周期;SKZ:若為零跳過下一條語句。該操作先判斷當(dāng)前累加器中的結(jié)果是否為零,若為零就跳過下一條語句,否則繼續(xù)執(zhí)行;ADD:該操作將累加器中的值與地址所指的存儲器或端口的數(shù)據(jù)相加,結(jié)果仍送回累加器中;ANDD:該操作將累加器的值與地址所指的存儲器或端口的數(shù)據(jù)相與,結(jié)果仍送回累加器中;5、RISC_CPU尋址方式和指令系統(tǒng)19指令系統(tǒng)由8條指令組成:XORR:該操作將累加器的值與指令中
8、給出地址的數(shù)據(jù)異或,結(jié)果仍送回累加器中;LDA:該操作將指令中給出地址的數(shù)據(jù)放入累加器;STO:該操作將累加器的數(shù)據(jù)放入指令中給出的地址;JMP:該操作將跳轉(zhuǎn)至指令給出的目的地址