




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、EDA第六次實(shí)驗(yàn)日志 微程序控制器實(shí)驗(yàn)實(shí)驗(yàn)預(yù)習(xí):1. 微程序控制器的組成和工作原理是什么?2. 微程序、微指令、微命令之間有什么關(guān)系?3. 微指令、微程序如何設(shè)計(jì)與調(diào)試?預(yù)習(xí)解答:1.微程序控制器的組成和工作原理是什么?微程序控制器的原理圖如圖所示。微程序控制器主要由控制存儲(chǔ)器、微指令寄存器和位置轉(zhuǎn)移邏輯三大部分組成,其中微指令寄存器分為微位置寄存器和微命令寄存器兩部分。(1)控制寄存器控制寄存器用來存放實(shí)現(xiàn)全部指令系統(tǒng)的所有微程序,它是一種只讀型存儲(chǔ)器。一旦微程序固化,機(jī)器運(yùn)行時(shí)則只讀不寫。其工作過程是:讀出一條微指令并執(zhí)行;重復(fù)上面動(dòng)作知道微程序結(jié)束。讀出一條微指令并執(zhí)行微指令的時(shí)間總和稱
2、為一個(gè)微指令周期。通常在串行方式的微程序控制器中,微指令周期就是只讀寄存器是的工作周期??刂拼鎯?chǔ)器的字長(zhǎng)就是微指令字的長(zhǎng)度,其存儲(chǔ)容量視機(jī)器指令系統(tǒng)而定,即取決于微程序的數(shù)量。對(duì)控制寄存器的要求是讀出周期要短,因此通常采用雙極型半導(dǎo)體只讀寄存器。(2)微指令寄存器微指令寄存器用來存放由控制器讀出的一條微指令信息。其中微指令寄存器決定將要訪問的下一條微指令的位置,而微命令寄存器則保存一條微指令的操作控制字段和判別測(cè)試字段的信息。(3)位置轉(zhuǎn)移邏輯在一般情況下,微指令由控制存儲(chǔ)器讀出后直接給出下一條微指令的位置,通常簡(jiǎn)稱為微位置,這個(gè)微位置信息就存放在微位置寄存器中。如果微程序不出現(xiàn)分支,那么下一
3、條微指令的位置就直接由微位置寄存器給出,當(dāng)程序出現(xiàn)分支時(shí),意味著微程序出現(xiàn)條件轉(zhuǎn)移,在這種情況下,通過判別測(cè)試字段P和執(zhí)行內(nèi)部的“狀態(tài)條件”反饋信息,去修改微位置寄存器的內(nèi)容;并按照改好的內(nèi)容去讀下一條微指令。位置轉(zhuǎn)移邏輯就承擔(dān)自動(dòng)完成修改微位置的任務(wù)。其工作原理分為:一、將程序和數(shù)據(jù)通過輸入設(shè)備送入存儲(chǔ)器;二、啟動(dòng)運(yùn)行后,從存儲(chǔ)器中取出程序指令送到控制器去識(shí)別,分析該指令要求什么事;三、控制器根據(jù)指令的含義發(fā)出相應(yīng)的命令(如加法、減法),將存儲(chǔ)單元中存放的操作數(shù)據(jù)取出送往運(yùn)算器進(jìn)行運(yùn)算,再把運(yùn)算結(jié)果送回到存儲(chǔ)器指定的單元中;四、運(yùn)算任務(wù)完成后,就可以根據(jù)指令將結(jié)果通過輸出設(shè)備輸出。2.微程序
4、、微指令、微命令之間有什么關(guān)系?實(shí)現(xiàn)一條機(jī)器指令功能的許多條微指令組成微程序。在機(jī)器的一個(gè)CPU周期中,一組實(shí)現(xiàn)一定操作功能的微命令的組合構(gòu)成一條微指令??刂撇考ㄟ^控制線像執(zhí)行部件發(fā)出的各種控制命令叫做微命令。所以總的說來:微程序包含微指令,而每條微指令包含微命令。4. 微指令、微程序如何設(shè)計(jì)與調(diào)試?在微程序流程圖中,根據(jù)每個(gè)狀態(tài)的微指令,將其進(jìn)行編碼,設(shè)計(jì)出所需硬件及執(zhí)行效率較高的微程序控制電路,然后進(jìn)行調(diào)試。課后習(xí)題:1. 舉例說明實(shí)驗(yàn)中出現(xiàn)的基本概念:微命令、微操作、微指令、微程序?微命令:控制器發(fā)出的每個(gè)控制信號(hào),如對(duì)運(yùn)算單元的控制 m cn s3 s2 s1 s0 發(fā)出的01010
5、1等。微操作:由微命令控制實(shí)現(xiàn)的最基本的操作稱為微操作。如發(fā)出運(yùn)算器家運(yùn)算的微命令后,運(yùn)算器進(jìn)行假發(fā)運(yùn)算,就稱為微操作。微指令:完成一個(gè)或幾個(gè)微操作的指令。如控制器進(jìn)行存數(shù)據(jù)命令后,需要we信號(hào)有效,pc保持,來控制這些的指令即為微指令。微程序:微程序包含微指令。如微程序流程中包括很多微指令控制,進(jìn)行一些加減運(yùn)算,存儲(chǔ)數(shù)據(jù),位置自加一等等。2. 解釋并比較微程序控制器的幾種設(shè)計(jì)方法?為序列控制器通過把控制信號(hào)存儲(chǔ)在一個(gè)查找ROM(1) 用水平編碼生成微操作(2) 用垂直代碼生成微操作(3) 用偽代碼直接產(chǎn)生控制信號(hào)3. 微程序控制器的功能是什么?如何取指令、分析指令、執(zhí)行指令?控制器的功能:它
6、根據(jù)用戶預(yù)先編好的程序,依次從存儲(chǔ)器中取出各條指令,放在指令寄存器IR中,通過指令譯碼(分析)確定應(yīng)該進(jìn)行什么操作(包括中斷處理),然后通過操作控制器OC,按確定的時(shí)序,向相應(yīng)的部件發(fā)出微操作控制信號(hào)。通過下址取得指令,根據(jù)控制信號(hào)進(jìn)行不同的信號(hào)的開啟或關(guān)閉也就是分析指令,然后再在控制信號(hào)的作用下執(zhí)行指令。4. 常用的下址產(chǎn)生方法有哪些?實(shí)驗(yàn)中用到了哪些?常用的下址產(chǎn)生方法有:A 計(jì)數(shù)器方式B 增量方式與斷定方式的結(jié)合C 多路轉(zhuǎn)移方式實(shí)驗(yàn)中用到了多路轉(zhuǎn)移方式。5. 每條機(jī)器指令的指令碼如何與其入口微位置對(duì)應(yīng)?通過編碼方式,將指令碼的狀態(tài)分成不同的 幾個(gè),再運(yùn)用微位置進(jìn)行編碼,對(duì)不同的微指令變成
7、不同的位置,一一對(duì)應(yīng)。6. 如何簡(jiǎn)化微程序流程圖中的ADD、AND指令?只對(duì)ALU部分的下址進(jìn)行區(qū)分,其他部分用同樣的下址即可,這樣可以省去一個(gè)IR的編碼狀態(tài)。7. 電路設(shè)計(jì)過程中如果出現(xiàn)多個(gè)狀態(tài)機(jī)怎么辦?將不同的狀態(tài)機(jī)的控制信號(hào)加以區(qū)分,在不同控制信號(hào)作用下進(jìn)行多個(gè)狀態(tài)機(jī)的控制。日志部分11月16號(hào)之前看了實(shí)驗(yàn),但由于忙著寫其他課程的作業(yè)的原因,沒有仔細(xì)把實(shí)驗(yàn)原理看懂,看到了一堆復(fù)雜的微指令之后就茫然了,不知所措。實(shí)驗(yàn)課時(shí),老師講解了本次實(shí)驗(yàn)的實(shí)驗(yàn)原理和實(shí)驗(yàn)內(nèi)容,并舉例說明了如何實(shí)現(xiàn)微指令,對(duì)微指令又復(fù)習(xí)了一遍。11月17號(hào)老師講完課之后我就知道了ROM是用來存放微指令的,但實(shí)際如何實(shí)現(xiàn)我還
8、不知道。ROM部分由于是lpm定制的,需要對(duì)mif文件進(jìn)行初始設(shè)置,開始不知道怎么弄,后來問了同學(xué)明白了,ROM中存儲(chǔ)微指令的功能實(shí)際上是通過將輸入的位置映射到相應(yīng)位置單元去讀取單元中的二進(jìn)制碼與輸出一一對(duì)應(yīng)來實(shí)現(xiàn)的存儲(chǔ)微指令功能。完成了設(shè)計(jì)微代碼。ROM部分開始是用lpm定制的,后來看了ppt好像是要求用代碼,就又寫了ROM的代碼。列出微代碼如下:(ROM部分)output <="1010111100000000000000000001" when address="00000" else -SW->PC"111111100000
9、1000000000000010" when address="00001" else -PC->AR,PC=PC+1"1001111100000100000001101000" when address="00010" else -RAM->IR"1111111000001000000000010101" when address="01001" else -LDA1:PC->AR,PC=PC+1"1001111100001000000001010110&
10、quot; when address="10101" else -LDA2:RAM->AR"1001111110000000000001000001" when address="10110" else -LDA3:RAM->R5"1111111000001000000000010111" when address="01010" else -STA1:PC->AR,PC=PC+1"1001111100001000000001011000" when add
11、ress="10111" else -STA2:RAM->AR"1001101100000000000000000001" when address="11000" else -STA3:R5->RAM"1111111000001000000000011001" when address="01011" else -OUT1:PC->AR,PC=PC"1001111100001000000001011010" when address="11001
12、" else -OUT2:RAM->AR"1001111100000000000001000001" when address="11010" else -OUT3:RAM->BUS"1001101100010000000000011011" when address="01100" else -COM1:R5->DR1"1001110110000010000000000001" when address="11011" else -COM2:/A
13、LU->R5"1111111000001000000000011100" when address="01101" else -JMP1:PC->AR,PC=PC"1011111100000000000001000001" when address="11100" else -JMP2:RAM->PC"1111111000001000000000000011" when address="01110" else -ADD1:PC->AR,PC=PC&q
14、uot;1001111100001000000001000100" when address="00011" else -ADD2:RAM->AR"1001111100100000000001000101" when address="00100" else -ADD3:RAM->DR2"1001101100010000000000000110" when address="00101" else -ADD4:R5->DR1"1001110110000001
15、100100000001" when address="00110" else -ADD5:ALU->R5 加"1111111000001000000000011101" when address="01111" else -AND1:PC->AR,PC=PC"1001111100001000000001011110" when address="11101" else -AND2:RAM->AR"1001111100100000000001011111&q
16、uot; when address="11110" else -ADD3:RAM->DR2"1001101100010000000000000111" when address="11111" else -ADD4:R5->DR1"1001110110000010101100000001" when address="00111" else -ADD5:ALU->R5 101011 and"1010111100000000000000010001" when
17、 address="10000" else -KWE1:SW->BUS"1111111000001000000000010010" when address="10001" else -KWE2:PC->AR,PC=PC"1000111100000000000010010001" when address="10010" else -KWE3:SW->RAM"1010111100000000000000010011" when address="0
18、1000" else -KWE1:SW->BUS"1111111000001000000000010100" when address="10011" else -KWE2:PC->AR,PC=PC"1001111100000000000001010011" when address="10100" else -KWE3:RAM->BUS"1001111100001000000000000000"后來發(fā)現(xiàn)自己寫的微代碼的順序和書上電路圖部分那幾個(gè)端口的順序不太一樣,不
19、想再改代碼了,于是把端口的順序改來將就微代碼。Vhdl編譯時(shí)老是提醒出錯(cuò),但是我找了好久都不知道到底錯(cuò)在哪里,后來發(fā)現(xiàn)是process的問題,原來用了process,編譯時(shí)就會(huì)報(bào)錯(cuò),后來直接把process刪掉了,編譯就通過了,好像是并行和串行的問題。11月22號(hào)在將時(shí)序電路的電路圖放到本次實(shí)驗(yàn)的工程中的時(shí)候,也出現(xiàn)了一點(diǎn)問題,只copy了狀態(tài)圖文件和狀態(tài)圖的bsf文件到當(dāng)前工程中,對(duì)當(dāng)前工程進(jìn)行編譯的時(shí)候,報(bào)了錯(cuò),才想起來是不可以直接對(duì)狀態(tài)圖進(jìn)行編譯的,于是又把vhd文件拷貝了過來。完成了繪制電路圖。并檢查了一些錯(cuò)誤,進(jìn)行了仿真。圖中的pc能實(shí)現(xiàn)生成下址,并正確顯示微代碼,因此電路設(shè)計(jì)是正確
20、的。11月23日添加數(shù)碼管模塊,下載到實(shí)驗(yàn)箱上,驗(yàn)證每一步都正確執(zhí)行了,并解釋每一步的有效信號(hào)。用模擬機(jī)實(shí)現(xiàn)老師給的運(yùn)算:(非C非D)(非B加A)其中A=05H B=0AH C=01H D=02H設(shè)計(jì)程序表:RAM位置內(nèi)容說明00H20HLDA01H18HLDA 18H->R502H80HCOM R5->R503H40HSTA04H1CHSTA R5->1CH05H20HLDA06H19HLDA 19H->R507H80HCOM R5->R508HE0HAND09H1CHR5 AND 1CH ->R50AH40HSTA0BH1DHSTA R5->1DH0CH20HLDA0DH1AHLDA 1AH->R50EH80HCOM R5->R50FHC0HADD10H1BHR5 ADD 1BH->R511HE0HAND12H1DHR5 AND 1DH->R513H40HSTA14H1EHSTA R5->1EH15H16H17H18H01H存放D19H02H存放C1AH0AH存放B1BH05H存放A1CH存放非D1DH存放非D非C1EH存放(非C非D)(非B加A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025農(nóng)村民居建設(shè)承包合同
- 民法典下物業(yè)服務(wù)合同培訓(xùn)
- 醫(yī)療器械臨床試驗(yàn)法規(guī)咨詢與管理預(yù)案
- 互聯(lián)網(wǎng)電商平臺(tái)合作協(xié)議條款及條件
- 電子商務(wù)平臺(tái)用戶注冊(cè)及交易安全手冊(cè)
- 建設(shè)工程委托代建合同
- 以租代購(gòu)手機(jī)合同樣本
- 中力勞務(wù)派遣合同樣本
- 凍品類配送合同樣本
- 冷庫(kù)青椒采購(gòu)合同標(biāo)準(zhǔn)文本
- 職業(yè)道德與法律中職PPT完整全套教學(xué)課件
- 新建高中設(shè)計(jì)任務(wù)書
- 環(huán)保設(shè)施運(yùn)行管理制度環(huán)保設(shè)施運(yùn)行管理規(guī)定
- 山東金洲集團(tuán)千嶺礦業(yè)有限公司英格莊礦區(qū)礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 髁突骨折臨床診療-課件
- (完整版)ssm框架題庫(kù)-java
- 靜療持續(xù)質(zhì)量改進(jìn)
- 常見上市公司名稱證券名稱中英對(duì)照表
- 誠(chéng)信合規(guī)手冊(cè)-中國(guó)石油天然氣集團(tuán)
- SB/T 10482-2008預(yù)制肉類食品質(zhì)量安全要求
- GB/T 28729-2012氧化亞氮
評(píng)論
0/150
提交評(píng)論