版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目 錄</b></p><p> 1 課程設(shè)計(jì)的目的和要求1</p><p> 1.1課程設(shè)計(jì)目的1</p><p> 1.2 課程設(shè)計(jì)的要求1</p><p><b> 2 實(shí)驗(yàn)設(shè)備1</b></p><p><b>
2、 3 實(shí)驗(yàn)分析1</b></p><p> 3.1 指令譯碼電路分析1</p><p> 3.2 微地址形成分析2</p><p> 3.3 時(shí)序電路分析4</p><p> 3.4 運(yùn)算器單元分析6</p><p> 3.5 寄存器單元分析7</p><p>
3、; 3.6 微控器電路分析8</p><p> 3.7 設(shè)計(jì)內(nèi)容分析10</p><p><b> 4 實(shí)驗(yàn)設(shè)計(jì)11</b></p><p> 4.1 微程序控制電路11</p><p> 4.2 微指令格式13</p><p> 4.3 指令功能類(lèi)別13</p>
4、;<p> 4.4 微程序流程總框架14</p><p> 5 微程序詳細(xì)設(shè)計(jì)16</p><p> 5.1 微程序流程框架16</p><p> 5.2 控制臺(tái)流程17</p><p> 5.3 每條指令的詳細(xì)設(shè)計(jì)19</p><p> 6 機(jī)器指令程序25</p>
5、<p> 6.1 程序流程圖25</p><p> 6.2 程序助記符形式26</p><p> 6.3 機(jī)器指令程序26</p><p> 6.4 程序的CPI27</p><p><b> 7 實(shí)驗(yàn)步驟28</b></p><p> 7.1線路連接圖28&l
6、t;/p><p> 7.2 程序微代碼表29</p><p><b> 心得體會(huì)31</b></p><p><b> 參考文獻(xiàn)32</b></p><p> 1 課程設(shè)計(jì)的目的和要求</p><p><b> 1.1課程設(shè)計(jì)目的</b>&l
7、t;/p><p> 在掌握部件單元電路實(shí)驗(yàn)的基礎(chǔ)上,進(jìn)一步將其組成系統(tǒng)構(gòu)造一臺(tái)基本模型計(jì)算機(jī)。通過(guò)一個(gè)完整的8位指令系統(tǒng)結(jié)構(gòu)(ISA)的設(shè)計(jì)和實(shí)現(xiàn),加深對(duì)計(jì)算機(jī)組成原理課程內(nèi)容的理解,建立起整機(jī)系統(tǒng)的概念,掌握計(jì)算機(jī)設(shè)計(jì)的基本方法,培養(yǎng)學(xué)生科學(xué)的工作作風(fēng)和分析、解決實(shí)際問(wèn)題的工作能力。</p><p> 1.2 課程設(shè)計(jì)的要求</p><p> 要求綜合運(yùn)用計(jì)算機(jī)
8、組成原理、數(shù)字邏輯和匯編語(yǔ)言等相關(guān)課程的知識(shí),理解和熟悉計(jì)算機(jī)系統(tǒng)的組成原理,掌握計(jì)算機(jī)主要功能部件的工作原理和設(shè)計(jì)方法,掌握指令系統(tǒng)結(jié)構(gòu)設(shè)計(jì)的一般方法,掌握并運(yùn)用微程序設(shè)計(jì)(Microprogramming)思想,在設(shè)計(jì)過(guò)程中能夠發(fā)現(xiàn)、分析和解決各種問(wèn)題,自行設(shè)計(jì)自己的指令系統(tǒng)結(jié)構(gòu)(ISA),并編寫(xiě)相應(yīng)的微程序,具體上機(jī)調(diào)試掌握整機(jī)概念。</p><p><b> 2 實(shí)驗(yàn)設(shè)備</b>&
9、lt;/p><p> TDN-CM++計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)系統(tǒng)一臺(tái),排線若干。本課程設(shè)計(jì)采用TDN-CM++計(jì)算機(jī)組成原理實(shí)驗(yàn)系統(tǒng),具備支持開(kāi)放式實(shí)驗(yàn)教學(xué)方法的結(jié)構(gòu)特點(diǎn)。實(shí)驗(yàn)系統(tǒng)采用部件單元式結(jié)構(gòu),包括運(yùn)算器、存儲(chǔ)器、控制器、信號(hào)及時(shí)序控制、內(nèi)總線、外總線、外圍接口及輸入輸出設(shè)備、大規(guī)??删幊踢壿嬈骷扔?jì)算機(jī)功能部件的單元電路,用戶可使用排線連接方式或計(jì)算機(jī)電子自動(dòng)邏輯設(shè)計(jì)方式,根據(jù)自己所設(shè)計(jì)的模型計(jì)算機(jī)結(jié)構(gòu)方案
10、,來(lái)構(gòu)造出不同結(jié)構(gòu)及復(fù)雜程度的原理性計(jì)算機(jī)。</p><p><b> 3 實(shí)驗(yàn)分析</b></p><p> 3.1 指令譯碼電路分析</p><p> 指令譯碼電路如圖3.1所示</p><p> 圖3.1 指令譯碼電路圖</p><p> 根據(jù)指令譯碼電路得到以下公式:</p
11、><p> P(1)、P(2)、P(3)、P(4)為低電平有效,在T4脈沖到來(lái)之前,T4為0,當(dāng)T4脈沖到來(lái)時(shí),T4為1;因此,在T4脈沖到來(lái)之前,有上述公式可知,SE1SE5都為1,SE6默認(rèn)為1。</p><p> 3.2 微地址形成分析</p><p> 3.2.1 p(1)譯碼</p><p><b> ,結(jié)果見(jiàn)表3-
12、1。</b></p><p> 表 3-1 p(1)譯碼</p><p> 3.2.2 p(2)譯碼</p><p><b> 結(jié)果見(jiàn)表3-2。</b></p><p> 表3-2 p(2)譯碼</p><p> 3.2.3 p(3)譯碼</p><p&g
13、t;<b> ,結(jié)果見(jiàn)表3-3。</b></p><p> 表 3-3 p(3)譯碼</p><p> 3.2.4 p(4)譯碼</p><p><b> ,結(jié)果見(jiàn)表3-4。</b></p><p> 表 3-4 p(4)譯碼</p><p> 3.3 時(shí)序電路分
14、析</p><p> 時(shí)序電路單元位于裝置的左上部,其電路由四部分構(gòu)成:消抖電路(KK2)、時(shí)序控制(TS1、TS2、TS3、TS4)、時(shí)鐘信號(hào)源(φ)、撥動(dòng)二進(jìn)制開(kāi)關(guān)組(STOP、STEP)。用戶只需將φ信號(hào)與信號(hào)源的輸出插孔相連,然后按動(dòng)START(KK1)微動(dòng)開(kāi)關(guān),根據(jù)STOP及STEP的狀態(tài),T1~T4將輸出有規(guī)則的方波信號(hào)。</p><p> 各時(shí)鐘脈沖T1T4所對(duì)應(yīng)的選通信
15、號(hào)以及功能說(shuō)明,具體如圖3-5所示。</p><p><b> 圖3-5 時(shí)鐘脈沖</b></p><p> 表3-6時(shí)鐘脈沖的作用</p><p> ?、賳闻拿}沖及消抖電路</p><p> 在實(shí)驗(yàn)中KK2一般用來(lái)作為單拍脈沖信號(hào)發(fā)生器;START已將其輸出接入時(shí)序電路中的START處,作為時(shí)序電路的啟動(dòng)開(kāi)關(guān)。&
16、lt;/p><p> ②時(shí)序控制電路、撥動(dòng)開(kāi)關(guān)組</p><p> STEP(單步)、STOP(停機(jī))分別是來(lái)自實(shí)驗(yàn)臺(tái)上部的兩個(gè)二進(jìn)制開(kāi)關(guān)STEP、STOP的模擬信號(hào)。啟動(dòng)是來(lái)自實(shí)驗(yàn)臺(tái)“STATE UNIT”單元的一個(gè)微動(dòng)開(kāi)關(guān)START的按鍵信號(hào)。當(dāng)STOP開(kāi)關(guān)置為RUN狀態(tài),STEP開(kāi)關(guān)置為EXEC時(shí),按下START,時(shí)序信號(hào)TS1~TS4將周而復(fù)始的發(fā)送出去。若STEP開(kāi)關(guān)置為STEP
17、狀態(tài)時(shí),按下START,機(jī)器處于單步運(yùn)行狀態(tài),即此時(shí)只發(fā)送一個(gè)CPU周期的時(shí)序信號(hào)就停機(jī)。利用單步方式,每次只產(chǎn)生一條微指令,因而可以觀察微指令的代碼與當(dāng)前微指令的執(zhí)行結(jié)果。另外,當(dāng)機(jī)器連續(xù)運(yùn)行時(shí),如果使STOP開(kāi)關(guān)置STOP,也會(huì)使機(jī)器停機(jī),或?qū)LR開(kāi)關(guān)置為零,也可使時(shí)序清零。</p><p><b> ?、坌盘?hào)源</b></p><p> 此單元位于“STAT
18、E UNIT”左側(cè),標(biāo)有“SIGNAL UNIT”,可先調(diào)節(jié)W1,使H23端輸出用戶期望的某一頻率的波形信號(hào),信號(hào)的頻率在30Hz-300Hz;然后,再調(diào)節(jié)W2使H23端輸出特定占空比的信號(hào),供實(shí)驗(yàn)時(shí)選擇使用。</p><p> 3.4 運(yùn)算器單元分析</p><p> 運(yùn)算器單元位于實(shí)驗(yàn)線路板左部,它包括運(yùn)算器單元(ALU UNIT)和寄存器堆單元(REG UNIT)。</p&
19、gt;<p> 運(yùn)算器單元由以下部分構(gòu)成:兩片74LS181構(gòu)成了并-串型8位ALU;兩個(gè)8位寄存器DR1和DR2作為暫存工作寄存器,保存參數(shù)或中間運(yùn)算結(jié)果;ALU的輸出三態(tài)門(mén)74LS245通過(guò)排針連到數(shù)據(jù)總線上;一片8位的移位寄存器74LS299可通過(guò)排針連到數(shù)據(jù)總線上;由GAL和74LS74鎖存器組成進(jìn)位標(biāo)志控制電路和為零標(biāo)志控制電路;進(jìn)位標(biāo)志和為零標(biāo)志指示燈。</p><p> 寄存器堆單
20、元由三片8位寄存器R0、R1、R2組成,它們用來(lái)保存操作數(shù)及中間運(yùn)算結(jié)果等,三個(gè)寄存器的輸入已連至BUS總線,輸出共用一個(gè)RJ1引出,待用排線連至總線。</p><p> 表3-7 算術(shù)邏輯運(yùn)算單元功能表</p><p> 3.5 寄存器單元分析</p><p> 寄存器譯碼電路如圖1.3所示。</p><p> 圖 3.2 寄存器譯
21、碼電路圖</p><p> 從以上譯碼電路可以看出,寄存器的輸入與輸出由片選段和I0I3(指令的低四位)決定。寄存器輸入和輸出的具體分析如下:</p><p> ?。?)寄存器輸入選通信號(hào)與片選段、指令低四位的關(guān)系如表3-8所示。</p><p> 表3-8 寄存器輸入信號(hào)選通表</p><p> ?。?)寄存器輸出選通信號(hào)與片選段、指令
22、低四位的關(guān)系如表3-9所示。</p><p> 表 3-9 寄存器輸出信號(hào)選通表</p><p> 3.6 微控器電路分析</p><p> 本系統(tǒng)的微控器單元主要由編程部分和核心微控器部分組成。</p><p> 編程部分是通過(guò)編程開(kāi)關(guān)的相應(yīng)狀態(tài)選擇及由CLK、CLK0引入的節(jié)拍脈沖的控制來(lái)完成將預(yù)先定義好的機(jī)器指令對(duì)應(yīng)的微代碼程序
23、寫(xiě)入到2816控制存貯器中,并可以對(duì)控制存貯器中的機(jī)器代碼程序進(jìn)行校驗(yàn)。該系統(tǒng)具有本機(jī)現(xiàn)場(chǎng)直接編程功能,且由于選用2816E2PROM芯片為控制存貯器,所以具備掉電保護(hù)功能。</p><p> 核心微控器主要完成接收機(jī)器指令譯碼器送來(lái)的代碼,使控制轉(zhuǎn)向相應(yīng)機(jī)器指令對(duì)應(yīng)的首條微代碼程序,對(duì)該條機(jī)器指令的功能進(jìn)行解釋或執(zhí)行的工作。更具體地講,就是通過(guò)接收CPU指令譯碼器發(fā)來(lái)的信號(hào),找到本條機(jī)器指令對(duì)應(yīng)的首條微代碼的
24、微地址入口,再通過(guò)由CLK引入的時(shí)序節(jié)拍脈沖的控制,逐條讀出微代碼。實(shí)驗(yàn)板上的微控器單元中的24位顯示燈(MD1—MD24)顯示的狀態(tài)即為讀出的微指令。然后,其中幾位再經(jīng)過(guò)譯碼,一并產(chǎn)生實(shí)驗(yàn)板所需的相應(yīng)控制信號(hào),將它們加到數(shù)據(jù)通路中相應(yīng)的控制位,可對(duì)該條機(jī)器指令的功能進(jìn)行解釋和執(zhí)行。指令解釋到最后,再繼續(xù)接收下一條微代碼對(duì)應(yīng)的微地址入口,這樣周而復(fù)始,即可實(shí)現(xiàn)機(jī)器指令程序的運(yùn)行。</p><p> 核心微控器同
25、樣是根據(jù)24位顯示燈所顯示的相應(yīng)控制位,再經(jīng)部分譯碼產(chǎn)生的二進(jìn)制信號(hào)來(lái)實(shí)現(xiàn)機(jī)器指令程序順序、分支、循環(huán)運(yùn)行的,所以,有效地定義24位微代碼對(duì)系統(tǒng)的設(shè)計(jì)至關(guān)重要。</p><p><b> ①核心微控器單元</b></p><p> 通過(guò)編程開(kāi)關(guān)的不同狀態(tài),可進(jìn)行微代碼的編程、校驗(yàn)、運(yùn)行在單元電路原理圖中:</p><p> ?微地址顯示燈
26、顯示的是后續(xù)微地址,而24位顯示燈顯示的是后續(xù)地址的二進(jìn)制控制位。</p><p> ?CLK0為微地址鎖存器(U24)的時(shí)鐘信號(hào),實(shí)驗(yàn)板中已接至“W/R UNIT”單元中的T1中。</p><p> ?2816單元的片選信號(hào)(CS)在手動(dòng)狀態(tài)下一直為“0”,而在和PC聯(lián)機(jī)狀態(tài)下,受89C51控制。</p><p> ?MK1—MK24為微控器的微代碼輸入二進(jìn)
27、制開(kāi)關(guān)。</p><p> ?MJ19為微地址輸入端,微控器實(shí)驗(yàn)中在編程和校驗(yàn)狀態(tài)時(shí),我們可通過(guò)它來(lái)人為的確定微地址單元并完成讀、寫(xiě)操作。</p><p> CLK為微代碼輸出鎖存器(U30、U31、U32)及后續(xù)的微地址輸出鎖存器的信號(hào)引出端,實(shí)驗(yàn)板中已將CLK接至“W/R UNIT”單元中的T2。CLR為清零信號(hào)的引出端,實(shí)驗(yàn)板中已接至“SWITCH UNIT”單元中最右邊的CLR
28、開(kāi)關(guān)上,所以此二進(jìn)制開(kāi)關(guān)為CLR專(zhuān)用。SE1—SE6端掛接到CPU的指令譯碼器的輸出端,通過(guò)譯碼器確定相應(yīng)機(jī)器指令的微代碼入口處,也可人為手動(dòng)模擬CPU的指令譯碼器的輸出,達(dá)到同一目的。</p><p><b> ?、诰幊唐鲉卧?lt;/b></p><p> 在該實(shí)驗(yàn)電路中設(shè)有一編程開(kāi)關(guān),它具有三種狀態(tài):PROM(編程)、READ(校驗(yàn))、RUN(運(yùn)行)。</p&
29、gt;<p> ?處于編程狀態(tài)時(shí),微地址鎖存器(U24)讀有效,微代碼輸入三態(tài)門(mén)(U18、U19、U20)打開(kāi),后續(xù)微地址三態(tài)門(mén)(U29)關(guān)閉,同時(shí)2816寫(xiě)有效,讀無(wú)效。此時(shí)若啟動(dòng)時(shí)序電路,即可將微代碼寫(xiě)入相應(yīng)的微地址中,并在相應(yīng)的顯示燈上顯示</p><p> ?處于校驗(yàn)狀態(tài)時(shí),微地址鎖存器讀有效,微代碼輸入三態(tài)門(mén)關(guān)閉,后續(xù)微地址三態(tài)門(mén)關(guān)閉,同時(shí)2816讀有效,寫(xiě)無(wú)效。此時(shí)若啟動(dòng)時(shí)序電路,即
30、可將相應(yīng)的微地址中的微代碼讀出,并在顯示燈上顯示。</p><p> ?處于運(yùn)行狀態(tài)時(shí),微地址鎖存器關(guān)閉,微代碼輸入三態(tài)門(mén)關(guān)閉,后續(xù)微地址三態(tài)門(mén)打開(kāi),同時(shí)2816讀有效,寫(xiě)無(wú)效。此時(shí)若啟動(dòng)時(shí)序電路,即從微地址顯示燈顯示的地址向下運(yùn)行。</p><p> 3.7 設(shè)計(jì)內(nèi)容分析</p><p> 本系統(tǒng)的指令風(fēng)格為寄存器-寄存器風(fēng)格,即每條指令中參與運(yùn)算的數(shù)據(jù)均來(lái)
31、自寄存器。</p><p> 本系統(tǒng)的數(shù)據(jù)類(lèi)型為無(wú)符號(hào)整型數(shù)據(jù),占8-bit,大小范圍為0到255。</p><p> 本系統(tǒng)的存儲(chǔ)器為2K×8bit的6116存儲(chǔ)器,但實(shí)際使用為256字節(jié),劃分為四分之一是存儲(chǔ)數(shù)據(jù),四分之三存儲(chǔ)指令,如圖3-3所示:</p><p> C0H </p><p><b
32、> 00H</b></p><p> 圖3-3存儲(chǔ)器的劃分</p><p> 本系統(tǒng)使用的尋址方式為:直接尋址,立即數(shù)尋址,寄存器尋址。</p><p> 本系統(tǒng)為CISC風(fēng)格的指令系統(tǒng),即每條指令的字節(jié)數(shù)是不確定的,有單字節(jié)長(zhǎng)的,有雙字節(jié)長(zhǎng)的。</p><p> 本系統(tǒng)的指令功能類(lèi)別包括:算術(shù)/邏輯運(yùn)算類(lèi)的(Ad
33、d,Or),存儲(chǔ)器訪問(wèn)的(LB,SB),寄存器操作(MOVE),程序流控制(Beq,Blt,Jump),輸入/輸出,空操作及停止指令等。</p><p><b> 4 實(shí)驗(yàn)設(shè)計(jì)</b></p><p> 4.1 微程序控制電路</p><p> 微程序控制器的組成如圖4-1,其中控制存儲(chǔ)器采用3片2816的E2PROM,具有掉電保護(hù)功能,
34、微命令寄存器18位,用兩片8D觸發(fā)器(74273)和一片4D(74175)觸發(fā)器組成。微地址寄存器6位,用三片正沿觸發(fā)的雙D觸發(fā)器(7474)組成,它們帶有清“0”端和預(yù)置端。在不判別測(cè)試的情況下,T2時(shí)刻打入微地址寄存器的內(nèi)容即為下一條微指令地址。當(dāng)T4時(shí)刻進(jìn)行測(cè)試判別時(shí),轉(zhuǎn)移邏輯滿足條件后輸出的負(fù)脈沖通過(guò)強(qiáng)置端將某一觸發(fā)器置為“1”狀態(tài),完成地址修改。</p><p> 在該實(shí)驗(yàn)電路中設(shè)有一個(gè)編程開(kāi)關(guān)(位于
35、實(shí)驗(yàn)板右上方),它具有三種狀態(tài):PROM (編程)、READ(校驗(yàn))、RUN(運(yùn)行)。當(dāng)處于“編程狀態(tài)”時(shí),實(shí)驗(yàn)者可根據(jù)微地址和微指令格式將微指令二進(jìn)制代碼寫(xiě)入到控制存儲(chǔ)器2816中。當(dāng)處于“校驗(yàn)狀態(tài)”時(shí),可以對(duì)寫(xiě)入控制存儲(chǔ)器中的二進(jìn)制代碼進(jìn)行驗(yàn)證,從而可以判斷寫(xiě)入的二進(jìn)制代碼是否正確。當(dāng)處于“運(yùn)行狀態(tài)”時(shí),只要給出微程序的入口微地址,則可根據(jù)微程序流程圖自動(dòng)執(zhí)行微程序。圖中微地址寄存器輸出端增加了一組三態(tài)門(mén),目的是隔離觸發(fā)器的輸出,
36、增加抗干擾能力,并用來(lái)驅(qū)動(dòng)微地址顯示燈。</p><p> 圖4-1 微控制器實(shí)驗(yàn)原理圖</p><p><b> 4.2 微指令格式</b></p><p> 微指令格式如表4-1所示:</p><p> A字段 B字段 C字段
37、 </p><p> 4.3 指令功能類(lèi)別</p><p> 表4-2 指令功能分類(lèi)表</p><p> 4.4 微程序流程總框架</p><p> 4.4.1微程序流程框架</p><p> 圖4-2微程序流程圖</p><p> 4.4.2 控制臺(tái)的流程圖</p>
38、;<p> 圖4-3控制臺(tái)流程圖</p><p> 上述三條控制臺(tái)指令用兩個(gè)開(kāi)關(guān)SWB、SWA的狀態(tài)來(lái)設(shè)置,其定義如下:</p><p> 表4-3控制臺(tái)狀態(tài)設(shè)置</p><p><b> 5 微程序詳細(xì)設(shè)計(jì)</b></p><p> 5.1 微程序流程框架</p><p>
39、; IN OUT BLT LB SB MOVE ADD OR EBQ JUMP HALT NOP CLE ADDI</p><p> 表5-1 微程序總框架</p><p> 上表4-4是整個(gè)指令系統(tǒng)的指令,包括輸入輸出,流程控制,存儲(chǔ)器訪問(wèn),算術(shù)邏輯運(yùn)算單元等總計(jì)十四條指令。</p><p><b> 5.2 控制臺(tái)流程&
40、lt;/b></p><p> 5.2.1 控制臺(tái)公操作</p><p> 表5-2控制臺(tái)工操作</p><p> 控制臺(tái)中的公操作是所有微指令運(yùn)行的起始端,通過(guò)p(4)與SWA,SWB的共同作用選擇分支??刂婆_(tái)操作為P(4)測(cè)試,它以控制臺(tái)開(kāi)關(guān)SWB、SWA作為測(cè)試條件,出現(xiàn)了3路分支,占用3個(gè)固定微地址單元。當(dāng)分支微地址單元固定后,剩下的其它地方就可
41、以一條微指令占用一個(gè)微地址單元隨意填寫(xiě)。 </p><p> 5.2.2 KWE(01)</p><p> 表5-3 KWE(01)</p><p> 存儲(chǔ)器寫(xiě)操作(KWE):撥動(dòng)總清開(kāi)關(guān)CLR后,控制臺(tái)開(kāi)關(guān)SWB、SWA為“01”時(shí),按START微動(dòng)開(kāi)關(guān),可對(duì)RAM進(jìn)行連續(xù)手動(dòng)寫(xiě)入。</p><p> 5.2.3 KRD(00)&
42、lt;/p><p> 表5-4 KRD(00)</p><p> 存儲(chǔ)器讀操作(KRD):撥動(dòng)總清開(kāi)關(guān)CLR后,控制臺(tái)開(kāi)關(guān)SWB、SWA為“00”時(shí),按START微動(dòng)開(kāi)關(guān),可對(duì)RAM連續(xù)手動(dòng)讀操作。</p><p> 5.2.4 RP(11)</p><p> 表5-5 RP(11)</p><p> 啟動(dòng)程序:
43、撥動(dòng)總清開(kāi)關(guān)CLR后,控制臺(tái)開(kāi)關(guān)SWB、SWA置為“11”時(shí),按START微動(dòng)開(kāi)關(guān),即可轉(zhuǎn)入到第01號(hào)“取址”微指令,啟動(dòng)程序運(yùn)行。</p><p> 5.2.5 數(shù)據(jù)通路</p><p> 部件實(shí)驗(yàn)過(guò)程中,各部件單元的控制信號(hào)是人為模擬產(chǎn)生的,而本次實(shí)驗(yàn)將能在微程序控制下自動(dòng)產(chǎn)生各部件單元控制信號(hào),實(shí)現(xiàn)特定指令的功能。這里,計(jì)算機(jī)數(shù)據(jù)通路的控制將由微程序控制器來(lái)完成,CPU從內(nèi)存中取
44、出一條機(jī)器指令到指令執(zhí)行結(jié)束的一個(gè)指令周期全部由微指令組成的序列來(lái)完成,即一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序。</p><p> 為了向RAM中裝入程序和數(shù)據(jù),檢查寫(xiě)入是否正確,并能啟動(dòng)程序執(zhí)行,還必須設(shè)計(jì)三個(gè)控制臺(tái)操作微程序。 </p><p> 根據(jù)上述要求設(shè)計(jì)數(shù)據(jù)通路如圖所示:</p><p> 圖5-1 數(shù)據(jù)通路框圖</p><
45、p> 5.3 每條指令的詳細(xì)設(shè)計(jì)</p><p><b> 5.3.1 公操作</b></p><p> 表5-6 公操作 </p><p> 指令描述:根據(jù)PC從存儲(chǔ)器中取出相應(yīng)指令,放入指令寄存器里。</p><p> 5.3.2 IN指令</p><p><b>
46、; 表5-7 IN指令</b></p><p> 指令描述:從SWITCH UNIT中輸入數(shù)據(jù)存入寄存器Ri中。</p><p> 5.3.3 ADD指令</p><p> 表5-8 ADD指令</p><p> 指令描述:將倆數(shù)相加結(jié)果保存在Ri中。</p><p> 5.3.4 SB指令
47、 </p><p><b> 表5-9 SB命令</b></p><p> 指令描述:吧寄存器中的數(shù)據(jù)放到對(duì)應(yīng)的存儲(chǔ)器單元。</p><p> 5.3.5 JUMP指令</p><p> 表5-10 JUMP指令</p><p> 指令描述:跳轉(zhuǎn)到給定的地址。</p>&
48、lt;p> 5.3.6 ADDI 指令</p><p> 表5-11 ADDI指令</p><p> 指令描述:將數(shù)據(jù)和寄存器中的數(shù)據(jù)相加并放在Ri中。</p><p> 5.3.7 LB指令</p><p> 表5-12 LB指令</p><p> 指令描述:從主存中取出對(duì)應(yīng)地址的數(shù)據(jù)放到相應(yīng)的寄存
49、器中。</p><p> 5.3.8 OUT 指令</p><p> 表5-13 OUT指令</p><p> 指令描述:將寄存器中的值顯示到LED中。</p><p> 5.3.9 NOP指令</p><p> 表5-14 NOP指令</p><p><b> 指令描述:
50、空操作。</b></p><p> 5.3.10 HALT指令</p><p> 表5-15 HALT指令</p><p> 指令描述:形成死循環(huán)從而使程序終止。</p><p> 5.3.11 MOVE指令</p><p> 表5-16 MOVE指令</p><p>
51、指令描述:把一個(gè)寄存器中的數(shù)據(jù)打到一個(gè)寄存器中。</p><p> 5.3.12 BEQ指令</p><p> 表5-17 BEQ指令</p><p> 指令描述:判斷DR1與DR2是否相等,決定是否跳轉(zhuǎn)。</p><p> 5.3.13 CLEAR指令</p><p> 表5-18 CLEAR指令</
52、p><p> 指令描述:對(duì)進(jìn)位位CY進(jìn)行清零操作。</p><p> 5.3.14 BLT指令</p><p> 表5-18 BLT指令</p><p> 指令描述:判斷DR1是否小于DR2,若小于則跳轉(zhuǎn),否則順序執(zhí)行。</p><p> 5.3.15 OR指令</p><p> 表5-
53、19 OR指令</p><p> 指令描述:將DR1+DR2的值存在Ri中。</p><p><b> 6 機(jī)器指令程序</b></p><p><b> 6.1 程序流程圖</b></p><p> 圖6-1測(cè)試程序流程圖</p><p><b> YE
54、SNO</b></p><p> 本實(shí)驗(yàn)要求實(shí)現(xiàn)如圖6-1的程序流程:</p><p> 此測(cè)試程序功能為求從1到要求數(shù)字的累加和,輸入第一個(gè)數(shù)字為初始值0,第二個(gè)數(shù)字為要求的數(shù)值,第三個(gè)數(shù)值為累加的的下限,最后結(jié)果輸出累加之和。</p><p> 6.2 程序助記符形式</p><p> 表6-1程序指令說(shuō)明</
55、p><p> 6.3 機(jī)器指令程序</p><p> 相應(yīng)機(jī)器指令程序如下:</p><p> 地 址(二進(jìn)制) 內(nèi) 容(二進(jìn)制) 助記符 說(shuō) 明</p><p> 0000 0000 0001 0000 IN 輸入和的初始值到R0</p><p> 0000
56、0001 0010 0000 OUT 顯示R0</p><p> 0000 0010 0001 0001 IN 輸入要求的值到R1</p><p> 0000 0011 0010 0100 OUT 顯示R1</p><p> 0000 0100
57、 0101 0100 SB 存儲(chǔ)R1</p><p> 0000 0101 1101 0000 存儲(chǔ)地址</p><p> 0000 0110 0001 0010 IN 輸入計(jì)數(shù)值到R2</p><p> 0000 0111 0010
58、 1000 OUT 顯示R2</p><p> 0000 1000 0100 0001 LB 取出存儲(chǔ)器中的數(shù)據(jù)到R1</p><p> 0000 1001 1100 0000 存儲(chǔ)器地址</p><p> 0000 1010 0111 1
59、000 ADD 和與計(jì)數(shù)值相加</p><p> 0000 1011 0010 0000 OUT 輸出求和結(jié)果</p><p> 0000 1100 1001 10O1 BEQ 判斷計(jì)數(shù)與要求值是否相等</p><p> 0000 1101 0001
60、 0011 相等跳轉(zhuǎn)的地址</p><p> 0000 1110 1110 0010 ADDI 計(jì)數(shù)值增加</p><p> 0000 1111 0000 0001 增加的數(shù)值為1</p><p> 0001 0000 0010 1
61、000 OUT 輸出增加后的值</p><p> 0001 0001 1010 0000 JUMP 跳轉(zhuǎn)</p><p> 0001 0010 0000 1000 跳轉(zhuǎn)到的地址</p><p> 0001 0011 0100 0001
62、 LB 取出存儲(chǔ)器中的數(shù)據(jù)到R1</p><p> 0001 0100 1100 0000 存儲(chǔ)器地址</p><p> 0001 0101 0010 0100 OUT 顯示R1</p><p> 0001 0110 0010 0000
63、 OUT 顯示求和結(jié)果R0</p><p> 0001 0111 1100 0000 NOP 空操作</p><p> 0001 1000 1101 0000 HALT 停止程序</p><p> 6.4 程序的CPI</p><p> CPI分
64、析根據(jù)指令設(shè)計(jì),各指令周期數(shù)如下:IN:3 ADD:5 SB:5 LB:5 OUT:3 JUMP:4
65、0; BEQ:10/9 MOV:3 NOP:3 HALT:3 BLT:10/9</p><p> ADDI:6 OR:5 CLEAR:4</p><p> 根據(jù)上
66、述指令周期數(shù),可以計(jì)算CPI如下:</p><p> ?。?)靜態(tài)CPI:在計(jì)算靜態(tài)CPI時(shí),將BEQ指令當(dāng)作兩條指令計(jì)算,周期數(shù)分別為10和9。</p><p> ?。?)動(dòng)態(tài)CPI的計(jì)算不同于靜態(tài)CPI的地方在于,執(zhí)行的程序計(jì)算任務(wù)不同,則結(jié)果不同,也就是執(zhí)行循環(huán)的次數(shù)不同,以下計(jì)算是以求5的“階加”為例。</p><p> 分析動(dòng)態(tài)CPI,平均CPI為5.4
67、375,因此當(dāng)運(yùn)行循環(huán)次數(shù)越多的指令時(shí),即被乘數(shù)越大,整個(gè)程序的CPI越接近5.4375。</p><p><b> 7 實(shí)驗(yàn)步驟</b></p><p><b> 7.1線路連接圖</b></p><p><b> 圖7-1實(shí)驗(yàn)接線圖</b></p><p> 7.2
68、 程序微代碼表</p><p><b> 表7-1微代碼表</b></p><p><b> 實(shí)驗(yàn)步驟如下:</b></p><p><b> ?、賳尾竭\(yùn)行程序</b></p><p> A.使編程開(kāi)關(guān)處于“RUN”狀態(tài),STEP為“STEP”狀態(tài),STOP為“RUN”狀
69、態(tài)。</p><p> B.撥動(dòng)總清開(kāi)關(guān)CLR(0→1),微地址清零,PC計(jì)數(shù)器清零,程序首地址為00H。</p><p> C.單步運(yùn)行一條微指令,每按動(dòng)一次START鍵,即單步運(yùn)行一條微指令。對(duì)照微程序流程圖,觀察微地址顯示燈是否和流程一致。</p><p> D.當(dāng)運(yùn)行結(jié)束后,可檢查存數(shù)單元(0B)中的結(jié)果是否和理論值一致。</p><
70、;p><b> ?、谶B續(xù)運(yùn)行程序</b></p><p> A.使“STATE UNIT”中的STEP開(kāi)關(guān)置于“EXEC”狀態(tài),STOP開(kāi)關(guān)置為“RUN”狀態(tài)。</p><p> B.撥動(dòng)CLR開(kāi)關(guān),清微地址及PC計(jì)數(shù)器,按動(dòng)START,系統(tǒng)連續(xù)運(yùn)行程序,稍后將STOP撥至“STOP”時(shí),系統(tǒng)停機(jī)。</p><p> C.停機(jī)后,可
71、檢查存數(shù)單元(0B)結(jié)果是否正確。</p><p> 若聯(lián)機(jī)運(yùn)行程序時(shí),進(jìn)入DEBUG調(diào)試界面,總清開(kāi)關(guān)CLR(0→1)清零后,程序首地址為00H,按相應(yīng)功能鍵即可聯(lián)機(jī)運(yùn)行、調(diào)試程序</p><p><b> 心得體會(huì)</b></p><p> 通過(guò)這次的計(jì)算機(jī)組成原理的課程設(shè)計(jì),我對(duì)計(jì)算機(jī)內(nèi)部元件的工作原理有了進(jìn)一步的了解與認(rèn)識(shí)。許多在
72、課堂上沒(méi)有聽(tīng)懂,沒(méi)有學(xué)會(huì)的知識(shí)在課程設(shè)計(jì)的過(guò)程中暴露無(wú)遺,不過(guò)積極的方面是通過(guò)課程設(shè)計(jì),我把這些知識(shí)上的明顯漏洞給補(bǔ)上了。我對(duì)機(jī)器指令及微指令的的編碼方法不了解,對(duì)計(jì)算機(jī)各部件的組成和工作原理也不是很理解。為了弄清楚這些問(wèn)題,我又把課本拿出來(lái)重新學(xué)習(xí)相關(guān)的章節(jié)。雖然理論知識(shí)很重要,但是像我們這種工學(xué)類(lèi)的課程,更重要的還是實(shí)踐。理論聯(lián)系實(shí)際,才能更好的掌握所學(xué)的知識(shí)。在機(jī)房上機(jī)的時(shí)候也遇到了一些問(wèn)題,不過(guò)在請(qǐng)教了同學(xué)和老師之后,這些問(wèn)題也
73、都一個(gè)個(gè)迎刃而解。</p><p> 這次的課程設(shè)計(jì)題目是基本模型機(jī)的設(shè)計(jì)與實(shí)現(xiàn),在掌握部件單元電路實(shí)驗(yàn)的基礎(chǔ)上,進(jìn)一步將其組成系統(tǒng)構(gòu)造一臺(tái)基本模型計(jì)算機(jī)。并為其定義五條機(jī)器指令,并編寫(xiě)相應(yīng)的微程序,具體上機(jī)調(diào)試掌握整機(jī)概念。以前都只是在使用計(jì)算機(jī),對(duì)它內(nèi)部的部件組成和構(gòu)造不是特別的清楚,在課程設(shè)計(jì)的最初階段,我沒(méi)有急于進(jìn)行具體的設(shè)計(jì),而是先理清思路,明確自己要做的工作是什么,如何來(lái)實(shí)現(xiàn)基本模型機(jī)的相關(guān)功能。這
74、些前期的準(zhǔn)備工作雖然用去了我很多的時(shí)間,但是最后的結(jié)果證明,我這樣的方法是正確的。課程設(shè)計(jì)就像是一個(gè)系統(tǒng)工程,內(nèi)容多而復(fù)雜,必須先在整體上進(jìn)行宏觀的把握,然后再具體的進(jìn)行實(shí)施。如果開(kāi)始的方向就不對(duì),那后面的改進(jìn)就會(huì)很麻煩。</p><p> 溫故了這個(gè)學(xué)期所學(xué)的相關(guān)知識(shí),心里也更加有信心。后面的相關(guān)設(shè)計(jì)參照課程設(shè)計(jì)任務(wù)書(shū)的內(nèi)容進(jìn)行了相應(yīng)的改變,并順利的在計(jì)算機(jī)上得到了實(shí)現(xiàn)。將實(shí)驗(yàn)設(shè)備通過(guò)串口連接計(jì)算機(jī),通過(guò)聯(lián)機(jī)
75、軟件將機(jī)器指令程序和編寫(xiě)的微指令程序存入主存中,并運(yùn)行此段程序,通過(guò)聯(lián)機(jī)軟件顯示和觀察該段程序的運(yùn)行,驗(yàn)證編寫(xiě)的指令和微指令的執(zhí)行情況是否符合設(shè)計(jì)要求。這樣的測(cè)試方法我還是第一次使用,感覺(jué)很新鮮。計(jì)算機(jī)組成原理更傾向于計(jì)算機(jī)底層部件的應(yīng)用,而不像我們平時(shí)都在使用的那些界面友好交互性很強(qiáng)的軟件,所以有些錯(cuò)誤不是很容易發(fā)現(xiàn),只能通過(guò)自己耐心的反復(fù)調(diào)試來(lái)解決。這中間也請(qǐng)教了同學(xué)和老師,他們對(duì)我的幫助都很大。</p><p&
76、gt; 通過(guò)這次課程設(shè)計(jì),我的收獲很多。課程設(shè)計(jì)不僅鞏固我的理論知識(shí),將理論和實(shí)踐結(jié)合起來(lái),鍛煉了我的動(dòng)手能力,也讓我認(rèn)識(shí)到自己的不足之處,爭(zhēng)取以后能克服這些缺點(diǎn),更進(jìn)一步提高自己各個(gè)方面的能力。</p><p><b> 參考文獻(xiàn)</b></p><p> Patterson,David A.& John L.Hennessy. 計(jì)算機(jī)組織與設(shè)計(jì)硬件/
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)(微程序設(shè)計(jì))
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告--簡(jiǎn)單模型機(jī)的微程序設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)——簡(jiǎn)單模型機(jī)的微程序設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---——簡(jiǎn)單模型機(jī)的微程序設(shè)計(jì)
- 組成原理課程設(shè)計(jì)報(bào)告---微程序設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--微程序控制器的設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--微程序控制運(yùn)算器的設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理-課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理-課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告--簡(jiǎn)單計(jì)算機(jī)
- 《計(jì)算機(jī)組成原理》課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論