工學(xué)計算機(jī)組成原理課程設(shè)計_第1頁
工學(xué)計算機(jī)組成原理課程設(shè)計_第2頁
工學(xué)計算機(jī)組成原理課程設(shè)計_第3頁
工學(xué)計算機(jī)組成原理課程設(shè)計_第4頁
工學(xué)計算機(jī)組成原理課程設(shè)計_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1 需求分析1.1 課程設(shè)計目的本課程設(shè)計是計算機(jī)科學(xué)與技術(shù)專業(yè)重要的實踐性教學(xué)環(huán)節(jié)之一,是在學(xué)生學(xué)習(xí)完計算機(jī)組成原理課程后進(jìn)行的一次全面的綜合設(shè)計。目的是通過一個完整的8位指令系統(tǒng)結(jié)構(gòu)(ISA)的設(shè)計和實現(xiàn),加深對計算機(jī)組成原理課程內(nèi)容的理解,建立起整機(jī)系統(tǒng)的概念,掌握計算機(jī)設(shè)計的基本方法,培養(yǎng)學(xué)生科學(xué)的工作作風(fēng)和分析、解決實際問題的工作能力。1.2 課程設(shè)計內(nèi)容及要求基于TDN-CM+計算機(jī)組成原理實驗教學(xué)系統(tǒng),設(shè)計和實現(xiàn)一個8位指令系統(tǒng)結(jié)構(gòu)(ISA),通過調(diào)試和運行,使設(shè)計的計算機(jī)系統(tǒng)能夠完成指定的功能。設(shè)計過程中要求考慮到以下各方面的問題:(1)指令系統(tǒng)風(fēng)格(寄存器-寄存器,寄存器-存

2、儲器,存儲器-存儲器);(2)數(shù)據(jù)類型(無符號數(shù),有符號數(shù),整型,浮點型);(3)存儲器劃分(指令,數(shù)據(jù));(4)尋址方式(立即數(shù)尋址,寄存器尋址,直接尋址等);(5)指令格式(單字節(jié),雙字節(jié),多字節(jié));(6)指令功能類別(算術(shù)邏輯運算,存儲器訪問,寄存器操作,程序流控制,輸入輸出)。要求學(xué)生綜合運用計算機(jī)組成原理、數(shù)字邏輯和匯編語言等相關(guān)課程的知識,理解和熟悉計算機(jī)系統(tǒng)的組成原理,掌握計算機(jī)主要功能部件的工作原理和設(shè)計方法,掌握指令系統(tǒng)結(jié)構(gòu)設(shè)計的一般方法,掌握并運用微程序設(shè)計(Microprogramming)思想,在設(shè)計過程中能夠發(fā)現(xiàn)、分析和解決各種問題,自行設(shè)計自己的指令系統(tǒng)結(jié)構(gòu)(ISA

3、)。1.3 TDN-CM+計算機(jī)組成原理實驗教學(xué)系統(tǒng)特點TDN-CM+計算機(jī)組成原理實驗教學(xué)系統(tǒng),由西安唐都科教儀器公司生產(chǎn),具備支持開放式實驗教學(xué)方法的結(jié)構(gòu)特點。實驗采用負(fù)邏輯模式,即燈亮為“0”,燈滅為“1”。系統(tǒng)采用部件單元式結(jié)構(gòu),包括運算器、存儲器、控制器、信號及時序控制、內(nèi)總線、外總線、外圍接口及輸入輸出設(shè)備、大規(guī)模可編程邏輯器件等計算機(jī)功能部件的單元電路。系統(tǒng)所具有的軟硬件結(jié)構(gòu)對用戶的實驗設(shè)計具有完全的開放性,其數(shù)據(jù)線、地址線、控制線都是由用戶來實施連接,系統(tǒng)中的運算器結(jié)構(gòu)、控制器結(jié)構(gòu)及微程序指令的格式及定義均可由用戶根據(jù)教學(xué)需要來靈活改變或重新設(shè)計。1.4 微指令格式分析微指令格

4、式如下表:表1-1 微代碼定義S3 S2 S1 S0 M CN WEA9 A8ABCA5A024 23 22 21 20 191817 1615 14 1312 11 109 8 76 5 4 3 2 1每個字段的具體含義如下:(1)字段2419控制運算器的控制端,通過改變S3CN來決定對數(shù)據(jù)進(jìn)行何種算術(shù)或邏輯運算。本設(shè)計中全部為正邏輯運算。算術(shù)運算邏輯運算無進(jìn)位有進(jìn)位M001CN10(2)字段18為控制對主存W/R的開關(guān)A9A8WE說明010對主存進(jìn)行對操作011對主存進(jìn)行寫操作(3)字段17、16控制24譯碼器的輸出端,對Y0、Y1、Y2進(jìn)行選擇。A9A8Yi操作說明00Y0選中SW-BI

5、NPUT UNIT的開關(guān)01Y1選中CEMAIN MEN 的控制片選開關(guān)10Y2選中LED-BOUTPUT UNIT 的開關(guān)11NULL(4)字段157為A、B、C三個開關(guān)控制端。A字段151413開關(guān)說明001LDDRi控制寄存器Ri的寫入010LDDR1暫存器DR1的控制開關(guān)011LDDR2暫存器DR2的控制開關(guān)100LDIR指令寄存器IR的控制開關(guān)101LOAD非自動輸入的數(shù)據(jù)裝載入PC計數(shù)器的控制開關(guān)110LDAR地址寄存器AR的控制開關(guān)000NULL空操作B字段121110開關(guān)說明001RS-B寄存器R0、R1、R2的輸出開關(guān)010RD-B寄存器R0、R1、R2的輸出開關(guān)011RI-

6、B寄存器R0、R1、R2的輸出開關(guān)101ALU-B運算器ALU的輸出開關(guān)110PC-BPC計數(shù)器的輸出開關(guān)100299-B本設(shè)計中不涉及001NULL空操作C字段987開關(guān)說明001P(1)指令譯碼器中的P(1)為低電平有效010P(2)指令譯碼器中的P(2)為低電平有效011P(3)指令譯碼器中的P(3)為低電平有效100P(4)指令譯碼器中的P(4)為低電平有效110LDPC將自動輸入的數(shù)據(jù)加1后輸入到PC計數(shù)器中的控制開關(guān)101AR本設(shè)計中不涉及001NULL空操作(5)字段61為該條微程序的八位二進(jìn)制后繼地址,其決定順序執(zhí)行哪條微程序。1.5 指令譯碼電路分析指令譯碼原理工作圖如下:圖

7、1.1 指令譯碼原理圖P(1) P(4)為低電平有效,當(dāng)選用時該信號為零;I7 I2表示機(jī)器指令前六位;SE5 SE1表示能夠強(qiáng)置改變?nèi)肟诘刂返暮笪逦?。根?jù)上圖得出指令譯碼器的邏輯表達(dá)式如下:擬定機(jī)器指令通過上式即可算出每條子程序的入口地址。1.6 寄存器譯碼電路分析寄存器譯碼原理圖如下:圖1.2 寄存器譯碼原理圖寄存器的輸入、輸出不僅決定于輸入、輸出開關(guān),還與機(jī)器指令的后四位(即I3I0)有關(guān),由其決定哪個寄存器被選中。1.6.1 寄存器的輸入LDRi為寄存器的輸入開關(guān),且為低電平有效(即LDRi=0),I1、I0對寄存器進(jìn)行選擇,決定數(shù)據(jù)進(jìn)入哪個寄存器。LDRiI1I0LDR0000LDR

8、1001LDR20101.6.2 寄存器的輸出RS-B、RD-B、RI-B為寄存器的輸出開關(guān),且為低電平有效。I3I0對寄存器進(jìn)行選擇,決定從哪個寄存器輸出指令。R0-BRS-BRI-BI3I2I1I0R0-B011XX0010100XXR1-B011XX0110101XXR2-B011XX1010110XX110XXXX1.7 時序分析T1、T2、T3、T4為節(jié)拍控制端,本設(shè)計用了T4節(jié)拍控制端,當(dāng)指令通過譯碼器P(1)時,P(1)對操作碼進(jìn)行測試,通過節(jié)拍脈沖T4的控制,以便識別所要求的操作。TS1時進(jìn)行微程序控制器控制,TS2時進(jìn)行微指令寄存器控制,TS時控制LDIR、LDAR,TS4時

9、對P(1)、P(2)、P(3)、P(4)、AR、LOPC、LDRi、LDDR1、LDDR2進(jìn)行控制。圖1.3 時序信號圖2 總體設(shè)計2.1 數(shù)據(jù)格式和機(jī)器指令描述2.1.1 數(shù)據(jù)格式本設(shè)計中所有需要處理的數(shù)據(jù)全部采用定點無符號整數(shù)表示,8個bit位,格式如下:76543210數(shù)值數(shù)據(jù)的范圍是028,即0255。2.1.2機(jī)器指令描述機(jī)器指令描述見下表:表2-1 機(jī)器指令描述指令類別指令名稱指令格式助記符尋址方式說明輸入輸出類指令輸入指令76543210OPR2IN R2寄存器尋址INR2輸出指令76543210OPOUT Addr直接尋址AddrLED-B存儲器訪問指令取數(shù)指令76543210

10、OPR076543210AddrLDA addr,R0直接尋址addrR0存數(shù)指令76543210OPR076543210AddrSTAR0,addr直接尋址R0addr寄存器間傳送指令76543210OPR2R0MOV R2,R0寄存器尋址R2 R0無條件轉(zhuǎn)移76543210OP76543210AddrJMP addr立即尋址Addr PC停機(jī)指令76543210OPSTP程序到此處終止算術(shù)加法指令76543210OPR0R076543210AddrADD R0,Addr,R0直接尋址R0+Addr R0邏輯與運算指令76543210OPR0R076543210AddrAND Rs,Addr

11、,Rd直接尋址R0*Addr R02.2 機(jī)器指令設(shè)計2.2.1 控制臺指令PC計數(shù)器在用清零開關(guān)CLR清零后,通過控制臺開始進(jìn)行機(jī)器指令的讀寫和執(zhí)行,此處將00Q的后繼地址設(shè)為20(即010000)。此時只有P(4)有效,即P(4)=0,P(1)=P(2)=P(3)=1。強(qiáng)置改變有一個特點,當(dāng)SEi為1時無效,不能改變;只有SEi為0時,才能對該位上的數(shù)進(jìn)行改變;但只能由0變成1,而不能逆轉(zhuǎn)。(1) 強(qiáng)置寫指令當(dāng)進(jìn)行機(jī)器指令寫入時,將SWB,SWA置成01狀態(tài),通過指令譯碼器的邏輯表達(dá)式即可算出入口地址。SE5=1SE4=1SE3=1SE2=1SE1=0SE5SE2均無效,只有SE1有效,即

12、可得出100000改變?yōu)?00001,即強(qiáng)置寫的入口地址為41。(2)強(qiáng)制寫指令當(dāng)進(jìn)行機(jī)器指令寫入時,將SWB,SWA置成00狀態(tài),通過指令譯碼器的邏輯表達(dá)式即可算出入口地址。SE5=1SE4=1SE3=1SE2=1SE1=1SE5SE1均無效,不能對 100000進(jìn)行改變,即強(qiáng)置寫的入口地址為40。(3) 程序執(zhí)行指令當(dāng)進(jìn)行機(jī)器指令寫入時,將SWB,SWA置成11狀態(tài),通過指令譯碼器的邏輯表達(dá)式即可算出入口地址。SE5=1SE4=1SE3=1SE2=0SE1=0SE5SE3均無效,SE2和SE1有效,即可得出100000改變?yōu)?00011,即強(qiáng)置寫的入口地址為43。2.2.2 運行微程序機(jī)器

13、指令PC計數(shù)器在用清零開關(guān)CLR清零后,通過控制臺進(jìn)入機(jī)器指令執(zhí)行狀態(tài),然后開始運行微程序。此時只有P(1)有效,即P(1)=0,P(2)=P(3)=P(4)=1,且SWB,SWA仍為11。此處將運行P(1)的上一步微指令的后繼地址設(shè)為20(即010000),應(yīng)用指令譯碼器的邏輯表達(dá)式對其進(jìn)行改變得出微程序入口地址。由于決定入口地址的只有機(jī)器指令的前四位(即I7I4),則通過擬定其先得出入口地址,并檢驗擬定的前四位是否合理,如下表所示。表2-2 機(jī)器指令前四位機(jī)器指令名稱指令前四位SE5SE1入口地址備注IN000011111010000即20根據(jù)機(jī)器指令前四位得出的入口地址沒有重復(fù),說明機(jī)器

14、指令前四位擬定合理。ADD000111110010001即21STA001011101010010即22LDA001111100010011即23AND010011011010100即24MOV010111010010101即25OUT011111000010011即27JMP100010111011000即30STP100110110011001即31根據(jù)寄存器譯碼分析可以得出機(jī)器指令的后四位。指令名稱指令后四位說明IN0010“INPUT DEVICE”R0ADD0000R0+AddrR0STAR0AddrLDAAddrR0ANDR0*AddrR0MOV1000R2R0OUT0000指令執(zhí)

15、行時不涉及寄存器的訪問JMPSTP通過以上可得出完整的機(jī)器指令,如下表所示。表2-3 機(jī)器指令碼助記符機(jī)器指令碼說明IN R200000010INR2ADD R0,Addr,R000010000R0+Addr R0xxxxxxxxSTAR0,addr00100000R0addrxxxxxxxxLDA addr,R000110000addrR0xxxxxxxxAND Rs,Addr,Rd01000000R0*Addr R0xxxxxxxxMOV R2,R001011000R2 R0OUT Addr01110000AddrLED-BxxxxxxxxJMP addr10000000Addr PCxx

16、xxxxxxSTP10010000程序到此處終止3 詳細(xì)設(shè)計3.1 控制臺微程序流程的詳細(xì)設(shè)計3.1.1公操作00對機(jī)器進(jìn)行總清零CLR 1-0-1。40S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 001 10 0 00 0 01 0 0NULLP(4)選中P(4),通過譯碼形成入口地址。3.1.2 強(qiáng)置寫形成入口地址后,執(zhí)行寫操作。1.41S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 001 11 1 01 1 01 1 0NULLLDARPC-BLDPC44(1)打開PC-B將數(shù)據(jù)送到總線上;(2)打開LDAR將數(shù)據(jù)從總線流到AR中;4

17、6(3)打開LDPC,讓自動加1的數(shù)據(jù)進(jìn)入PC中。2.S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 000 00 1 00 0 00 0 0NULLSW-BLDDR1NULL (1)打開SW-B將數(shù)據(jù)送到總線上,(2)打開LDDR1將數(shù)據(jù)從總線流到DR1中。3.S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 110 10 0 01 0 10 0 0F=AWECENULLALU-BNULL(1)打開ALU-B將數(shù)據(jù)送到總線上,其間DR1中的數(shù)據(jù)相當(dāng)于在ALU中做F=A的運算;3.1.3 強(qiáng)置讀形成入口地址后,執(zhí)行寫操作。401.42S3 S2 S

18、1 S0 M CNWEA9 A8ABC0 0 0 0 0 001 11 1 01 1 01 1 0NULLLDARPC-BLDPC45(1)打開PC-B將數(shù)據(jù)送到總線上;(2)打開LDAR將數(shù)據(jù)從總線流到AR中;(3)打開LDPC,讓自動加1的數(shù)據(jù)進(jìn)入PC中。2.S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 000 10 1 00 0 00 0 0NULLWECELDDR1NULL (1)打開CE、WE置成00狀態(tài),將數(shù)據(jù)從主存送到總線;(2)打開LDDR1將數(shù)據(jù)從總線流到DR1中。3S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 111 00

19、 0 01 0 10 0 0F=ANULLLED-BNULLALU-BNULL(1)打開ALU-B將數(shù)據(jù)送到總線上,其間DR1中的數(shù)據(jù)相當(dāng)于在ALU中做F=A的運算;(2)打開LED-B,數(shù)據(jù)從總線流到輸出單元,在數(shù)碼管上顯示出來,完成數(shù)據(jù)讀操作。3.1.4 執(zhí)行程序形成入口地址后,開始執(zhí)行程序。43S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 001 10 0 00 0 00 0 0NULL所有都為空操作,只是要通過后繼地址轉(zhuǎn)入到運行微程 序的流程中。3.1.5 控制臺流程圖綜合以上所有操作,即可得出控制臺的總流程圖。圖3.1 控制臺流程圖3.2 運行微程序流程的詳

20、細(xì)設(shè)計3.2.1 公操作0201從控制臺強(qiáng)制執(zhí)行流程,開始運行微程序。對運行微程序來說,所有的子流程都要運行取指的公操作,然后才能進(jìn)行各自的操作。1.20S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 001 11 1 01 1 01 1 0NULLLDARPC-BLDPC(1)打開PC-B,將PC中的數(shù)據(jù)(指令操作碼地址)送到 總線上;(2)打開LDAR將數(shù)據(jù)從總線流到AR中;(3)打開LDPC,讓自動加1的數(shù)據(jù)進(jìn)入PC中。S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 000 11 0 00 0 00 0 1NULLWECELDIRNULL

21、P(1)2 (1)打開CE、WE置成00狀態(tài),對主存進(jìn)行讀操作,訪問AR中保存地址的地址單元中指令;(2)打開LDIR,將主存中被訪問的地址單元中指令送到IR;(3)選中P(1),根據(jù)剛保存到IR中的指令,通過指令譯碼器,形成執(zhí)行該指令的微程序入口地址。3.2.2 IN指令操作完成公操作后,根據(jù)形成的入口地址運行IN指令操作。S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 000 00 0 1 0 0 00 0 0NULLSW-BLDRiNULL P(1)SWR2(1)打開SW-B,將“INPUT DEVICE”中輸入的數(shù)據(jù)流 到總線上;(2)打開LDRi,根據(jù)IN指令

22、的后兩位決定讓數(shù)據(jù)從總 線上進(jìn)入到目的寄存器R2中。3.2.3 MOV指令操作完成公操作后,根據(jù)形成的入口地址運行MOV指令操作。MOVP(1)R2R02501S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 001 10 0 10 1 10 0 0NULLLDRiRI-BNULL(1)打開RS-B,根據(jù)MOV指令的I3、I2打開原始寄 存器R2 輸出門讓其中保存的數(shù)據(jù),流到總線上;(2)打開LDRi,根據(jù)指令的后兩位打開目的寄存器R0 輸入門,讓數(shù)據(jù)從總線上進(jìn)入到R0中。3.2.4 ADD指令操作完成公操作后,根據(jù)形成的入口微地址運行ADD指令操作。1S3 S2 S1

23、S0 M CNWEA9 A8ABC0 0 0 0 0 001 11 1 01 1 01 1 0NULLLDARPC-BLDPC(1)打開PC-B,將PC中的數(shù)據(jù)(指令地址碼 地址)送到總線上;(2)打開LDAR將數(shù)據(jù)從總線流到AR中;P(1)PCARPC+1RAMBUSBUSARRAMBUSBUSDRR0DR1(DR1)+(DR2)R0ADD210103040506(3)打開LDPC,讓自動加1的數(shù)據(jù)進(jìn)入PC中。S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 000 11 1 00 0 00 0 0NULLWECELDARNULL 2(1)打開CE、WE置成00狀態(tài),將

24、數(shù)據(jù)(指令 地址碼)從主存送到總線上;(2)打開LDAR將數(shù)據(jù)從總線流到AR中。3S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 000 10 1 10 0 00 0 0NULLWECELDDR2NULL (1)打開CE、WE置成00狀態(tài),根據(jù)AR中保存 的指令地址碼,在主存相同地址單元中,讀出 其中保存的操作數(shù),并放置到總線上;(2)打開LDDR2將數(shù)據(jù)從總線流到DR2中。4S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 001 10 1 00 0 10 0 0NULLLDDR1RS-BNULL(1)打開RS-B,根據(jù)MOV指令的I3、I2決定

25、打開哪個原始寄存 Rs輸出門讓其中保存的操作數(shù),流到總線上;(2)打開LDDR1,讓操作數(shù)經(jīng)由總線進(jìn)入到DR1中5S3 S2 S1 S0 M CNWEA9 A8ABC1 0 0 1 0 1 01 10 0 11 0 10 0 0F=A+BNULLLDRiALU-BNULL(1) 將ALU的控制端S3CN置成F=A+B,對兩數(shù)進(jìn)行運算,打開ALU-B將運算結(jié)果送到總線上;(2) 打開LDRi,根據(jù)指令的后兩位打開目的寄存器R0的輸入門,讓數(shù)據(jù)從總線上進(jìn)入R0中。3.2.5 AND指令操作P(1)PCARPC+1RAMBUSBUSARRAMBUSBUSDR2R0DR1(DR1)*(DR2)RAND

26、241314151601 完成公操作后,根據(jù)形成的入口地址運行AND指令操作。1S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 001 11 1 01 1 01 1 0NULLLDARPC-BLDPC(1)打開PC-B,將PC中的數(shù)據(jù)(指令地址碼 地址)送到總線上;(2)打開LDAR將數(shù)據(jù)從總線流到AR中;(3)打開LDPC,讓自動加1的數(shù)據(jù)進(jìn)入PC中。2S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 000 11 1 00 0 00 0 0NULLWECELDARNULL 打開CE、WE置成00狀態(tài),將數(shù)據(jù)(指令 地址碼)從主存 送到總線上;

27、3S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 000 10 1 10 0 00 0 0NULLWECELDDR2NULL (1) 打開CE、WE置成00狀態(tài),根據(jù)AR中保存的指令地址碼,在主存相同地址單元中,讀出其中保存的操作數(shù),并放置到總線上;(2) 打開LDDR2將數(shù)據(jù)從總線流到DR2中。S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 001 10 1 00 0 10 0 0NULLLDDR1RS-BNULL4 (1)打開RS-B,根據(jù)MOV指令的I3、I2決定打開哪個原始寄存器Rs輸出門讓其中保存的操作數(shù),流到總線上;(2)打開LDDR

28、1,讓操作數(shù)經(jīng)由總線進(jìn)入到DR中。5S3 S2 S1 S0 M CNWEA9 A8ABC1 0 1 1 1 0 01 10 0 11 0 10 0 0F=ABNULLLDRiALU-BNULL(1) 將ALU的控制端S3CN置成F=AB,對兩數(shù)進(jìn)行運算,打開ALU-B將運算結(jié)果送到總線上;(2)打開LDRi,根據(jù)指令的后兩位打開目的寄存器R0的輸入門,讓數(shù)據(jù)從總線上進(jìn)入Rd中。3.2.6 STA指令操作完成完成公操作后,根據(jù)形成的入口地址運行STA指令操作。S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 001 11 1 01 1 01 1 0NULLLDARPC-BL

29、DPCP(1)PCARPC+1RAMBUSBUSARR0BUSBUSRAMSTA220710011.(1)打開PC-B,將PC中的數(shù)據(jù)(指令地址碼地 址)送到總線上;(2)打開LDAR將數(shù)據(jù)從總線流到AR中;(3)打開LDPC,讓自動加1的數(shù)據(jù)進(jìn)入PC中。2S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 000 11 1 00 0 00 0 0NULLWECELDARNULL (1)打開CE、WE置成00狀態(tài),將數(shù)據(jù)(指令地 址碼)從主存送到總線上;(2)打開LDAR將數(shù)據(jù)從總線流到AR中。S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 0001

30、0 0 00 0 10 0 0NULLWECENULLRS-BNULL3(1) 打開RS-B,根據(jù)指令的I3、I2決定打開哪個原始寄存器Rs 輸出門讓其中保存的數(shù)據(jù),流到總線上;(2) 打開CE、WE置成01狀態(tài),根據(jù)AR中保存的指令地址碼,讓總線上的數(shù)據(jù)流到主存相應(yīng)地址單元中,完成數(shù)據(jù)寫操作。3.2.7 LDA指令操作完成公操作后,根據(jù)形成的入口地址運行LDA指令操作。S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 001 11 1 01 1 01 1 0NULLLDARPC-BLDPCP(1)PCARPC+1RAMBUSBUSARRAMBUSBUSR0LDA2311

31、12011(1)打開PC-B,將PC中的數(shù)據(jù)(指令地址碼地址) 送到總線上;(2)打開LDAR將數(shù)據(jù)從總線流到AR中;(3)打開LDPC,讓自動加1的數(shù)據(jù)進(jìn)入PC中。2S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 000 11 1 00 0 00 0 0NULLWECELDARNULL (1)打開CE、WE置成00狀態(tài),將數(shù)據(jù)(指令地址 碼)從主存送到總線上;(2)打開LDAR將數(shù)據(jù)從總線流到AR中。3S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 000 10 0 1 0 0 00 0 0NULLWECELDRiNULL(1) 將該地址下的數(shù)

32、據(jù)存入R0中。3.2.8 OUT指令操作完成公操作后,根據(jù)形成的入口地址運行OUT指令操作。S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 011 00 0 00 0 10 0 0NULLNULLLED-BNULLRS-BNULLP(1)R0LEDOUT2701打開LED-B,結(jié)果從總線流到輸出單元,在數(shù)碼管 上顯示出來,完成數(shù)據(jù)讀操作。3.2.9 JMP指令操作完成公操作后,根據(jù)形成的入口地址運行JMP指令操作。130P(1)PCARPC+1RAMBUSBUSPCJMP0133S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 001 11 1 0

33、1 1 01 1 0NULLLDARPC-BLDPC(1)打開PC-B,將PC中的數(shù)據(jù)(指令地址碼地 址)送到總線上;(2)打開LDAR將數(shù)據(jù)從總線流到AR中;(3)打開LDPC,讓自動加1的數(shù)據(jù)進(jìn)入PC中。2S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 000 110 1 0 0 01 1 0NULLWECELOADNULL LDPC(1)打開CE、WE置成00狀態(tài),將數(shù)據(jù)(指令 地址碼)從主存送到總線上;(2) 打開LOAD、LDPC,將數(shù)據(jù)經(jīng)由總線流到PC中,由于不是自動輸入,因而不會產(chǎn)生自動加1的效果。3.2.10 STP指令操作完成公操作后,根據(jù)形成的入口地

34、址運行STP指令操作。S3 S2 S1 S0 M CNWEA9 A8ABC0 0 0 0 0 001 10 0 00 0 00 0 0NULLP(1)31所有字段為空操作,只是其后繼地址設(shè)為本身,進(jìn)行死循環(huán)從而達(dá)到停機(jī)目的。3.3 運行微程序流程圖3.4 微程序二進(jìn)制代碼表表4-1微程序二進(jìn)制代碼表微地址S3 S2 S1 S0 M CN WE A9 A8 A B CuA5-uA0 000 0 0 0 0 0 0 1 10 0 00 0 01 0 01 0 0 0 0 0 010 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 0 020 0 0 0 0 0 0

35、0 11 0 00 0 00 0 10 1 0 0 0 0 03 0 0 0 0 0 0 0 0 11 1 00 0 0 0 0 00 0 0 1 0 0 040 0 0 0 0 0 0 0 10 1 10 0 00 0 0 0 0 0 1 0 1 050 0 0 0 0 0 0 1 10 1 00 0 10 0 0 0 0 0 1 1 0 061 0 0 1 0 1 0 1 10 0 11 0 10 0 0 0 0 0 0 0 1 070 0 0 0 0 0 0 0 11 1 00 0 00 0 0 0 0 1 0 0 0 100 0 0 0 0 0 0 0 10 0 00 0 10 0 0

36、 0 0 0 0 0 1 110 0 0 0 0 0 0 0 11 1 00 0 00 0 0 0 0 1 0 1 0 120 0 0 0 0 0 0 0 10 0 10 0 00 0 0 0 0 0 0 0 1 130 0 0 0 0 0 0 0 11 1 00 0 00 0 0 0 0 1 1 0 0 140 0 0 0 0 0 0 0 10 1 10 0 0 0 0 0 0 0 1 1 0 1 150 0 0 0 0 0 0 1 10 1 00 0 10 0 0 0 0 1 1 1 0 161 0 1 1 1 0 0 1 10 0 11 0 10 0 0 0 0 0 0 0 1 200

37、0 0 0 0 0 0 0 00 0 10 0 00 0 0 0 0 0 0 0 1 210 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 1 220 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 1 1 1 230 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 1 0 0 1 240 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 1 0 1 1 250 0 0 0 0 0 0 1 1 0 0 10 1 10 0 00 0 0 0 0 1 270 0 0 0 0 0 1 1 00 0 00

38、0 10 0 0 0 0 0 0 0 1 300 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 1 0 1 1 310 0 0 0 0 0 0 1 10 0 00 0 00 0 0 0 1 1 0 0 1 330 0 0 0 0 0 0 0 11 0 10 0 0 1 1 00 0 0 0 0 1 400 0 0 0 0 0 0 1 11 1 01 1 01 1 0 1 0 0 0 1 0 410 0 0 0 0 0 0 1 11 1 01 1 01 1 01 0 0 1 0 0 420 0 0 0 0 0 0 0 10 1 00 0 00 0 0 1 0 0 1 0 1 430 0 0 0 0 0 0 1 10 0 00 0 00 0 0 0 0 0 0 0 1 440 0 0 0 0 0 0 0 00 1 0 0 0 00 0 0 1 0 0 1 1 0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論