版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、組成原理課程設(shè)計(jì) 指導(dǎo)教師: 學(xué)生班級(jí): 計(jì)科 11200 學(xué)生姓名: 學(xué) 號(hào): 班內(nèi)序號(hào): 課設(shè)日期: 2015/6/222015/7/3 目 錄一、設(shè)計(jì)目的.3二、設(shè)計(jì)要求.3三、設(shè)計(jì)方案.3四、設(shè)計(jì)過(guò)程.4五、程序與調(diào)試.11六、結(jié)果及分析.13七、收獲、體會(huì)及建議.15一、設(shè)計(jì)目的:1主要掌握微程序控制結(jié)構(gòu)計(jì)算機(jī)的設(shè)計(jì)方法,通過(guò)對(duì)機(jī)器指令和相對(duì)應(yīng)微程序的設(shè)計(jì),加深對(duì)微程序控制器的理解,加深對(duì)微程序設(shè)計(jì)特點(diǎn)的了解,加深對(duì)計(jì)算機(jī)各部件的理 解以及對(duì)整機(jī)結(jié)構(gòu)的理解。2掌握幾種尋址方式的控制執(zhí)行過(guò)程。3了解多累加器計(jì)算機(jī)的特點(diǎn)。4熟悉vhdl語(yǔ)言的編程。二、設(shè)計(jì)要求:1運(yùn)算器采用單累加器多寄存
2、器結(jié)構(gòu)2指令系統(tǒng):16條以上指令,有i/o指令,外部設(shè)備統(tǒng)一編址。3內(nèi)存尋址范圍1k以上字節(jié)尋址方式: 寄存器直接尋址 寄存器間接尋址 直接尋址 立即數(shù)尋址4可執(zhí)行從鍵盤上輸入的十進(jìn)制兩位數(shù)與兩位數(shù)加法程序并打印輸入的數(shù)據(jù)及結(jié)果或 實(shí)現(xiàn)兩數(shù)相加通過(guò)數(shù)碼管顯示結(jié)果。三、設(shè)計(jì)方案: 1設(shè)計(jì)整機(jī)邏輯框圖首先設(shè)計(jì)整機(jī)邏輯框圖,并分析各主要部件中所使用的關(guān)鍵器件,徹底理解主要芯片的工作原理。根據(jù)設(shè)計(jì)要求,對(duì)實(shí)驗(yàn)儀硬件模塊進(jìn)行邏輯剪輯組合,便可設(shè)計(jì)出該實(shí)驗(yàn)計(jì)算機(jī)的整機(jī)邏輯框圖。為利于調(diào)試,應(yīng)在邏輯框圖上表明各器件的控制信號(hào)及必要的輸出信號(hào)。2指令系統(tǒng)和指令執(zhí)行流程設(shè)計(jì) 指令系統(tǒng)需確定實(shí)驗(yàn)計(jì)算機(jī)的指令系統(tǒng)具
3、體由哪里指令組成,包括哪幾種類型指令,指令操作數(shù)有哪幾種尋址方式,以及指令編碼等。 指令執(zhí)行流程 一條指令從內(nèi)存取出到執(zhí)行完,需要若干個(gè)機(jī)器周期(節(jié)拍)。任何指令的第一個(gè)機(jī)器周期都是“取指令周期”,或稱為公操作周期。而一條指令共需幾個(gè)機(jī)器周期取決于指令在機(jī)內(nèi)實(shí)現(xiàn)的復(fù)雜程度。 3微操作控制信號(hào)和微程序設(shè)計(jì) 微操作控制信號(hào)及其實(shí)現(xiàn)方法 設(shè)計(jì)微指令格式,微指令由32位組成,設(shè)計(jì)出每位微操作的定義。 確定微程序控制方式,設(shè)計(jì)任務(wù)包括設(shè)計(jì)各微程序入口地址的形成方法和控存的順序控制(即下地址形成)方法。 編寫各指令的微程序,根據(jù)指令流程和微指令格式仔細(xì)地逐條填寫微指令各碼位。4設(shè)計(jì)接線表要仔細(xì)設(shè)計(jì)接線表,
4、因?yàn)樗墙M裝計(jì)算機(jī)的依據(jù)。 為了避免遺漏,應(yīng)按模塊逐個(gè)歸納整理,明確各模塊中器件各控制信號(hào)的處理方法。 對(duì)于模塊中不用的器件,也應(yīng)有所處理。四、設(shè)計(jì)過(guò)程: 1、整機(jī)邏輯框圖圖4-1給出了最簡(jiǎn)單的8位微程序控制計(jì)算機(jī)的基本結(jié)構(gòu)框圖。 圖41、8位微程序控制計(jì)算機(jī)基本結(jié)構(gòu)結(jié)構(gòu)描述:總線:該計(jì)算機(jī)采用單總線,即cpu的內(nèi)部總線和外部總線均為一條總線。它的結(jié)構(gòu)簡(jiǎn)單,實(shí)現(xiàn)較方便。但它的速度較慢,無(wú)法實(shí)現(xiàn)流水線和并行操作。 cpu:它的cpu由alu和寄存器模塊、指令部件模塊及微程序控制模塊組成。寄存器:alu和寄存器模塊包括通用寄存器(含累加器)、alu(包括暫存器)、狀態(tài)寄存器等,它可采用單累加器多寄
5、存器或多累加器結(jié)構(gòu)(見第一章)。alu:alu可完成各種算術(shù)、邏輯運(yùn)算功能,如加、減、與、或、取反、取負(fù)、移位等。狀態(tài)寄存器可包括進(jìn)位位、全零標(biāo)志位、負(fù)數(shù)標(biāo)志位、溢出標(biāo)志位等。指令部件:指令部件模塊包括程序計(jì)數(shù)器(pc)及它的控制電路(加1、接數(shù)等)、指令寄存器(它一般包括一至三個(gè)8位寄存器,與最長(zhǎng)的指令相對(duì)應(yīng))等。微程序控制部件:微程序控制摸塊包括微程序存貯器(現(xiàn)為1kx32)、微程序計(jì)數(shù)器(mpc)及它的控制電路(加1、接數(shù)等)、微指令寄存器、時(shí)序控制電路、微操作信號(hào)發(fā)生電路等。 存貯器:存貯器為外接的ram存貯器(現(xiàn)為32kx8)外設(shè):包括打印機(jī)輸出設(shè)備、鍵盤輸入設(shè)備。它們均接于總線上,
6、有分別的讀、寫控制信號(hào)。 2、指令系統(tǒng)和指令執(zhí)行流程設(shè)計(jì) 2.1 cpu的基本功能部件下面以單累加器為例,介紹一種簡(jiǎn)單的8位微程序控制計(jì)算機(jī)。該cpu的基本功能部件為: 該計(jì)算機(jī)有一個(gè)累加器(a) 8個(gè)寄存器(r0-r7) pc為16位,尋址范圍為64k* 其中0-7fffh為32k ram存貯器空間* 8000-ffffh為i/o空間* 編址方法: i/o采用與存貯器統(tǒng)一編址的方法,ab15=0為訪問存貯器;ab15為訪問i/o口。 三個(gè)8位指令存貯器,其中一個(gè)為ir,存放指令碼,另二個(gè)分別為adrh和adrl,存放指令中的16位直接地址。 2.2指令系統(tǒng)和匯編代碼首先應(yīng)根據(jù)要求定義指令系統(tǒng)
7、,并確定相應(yīng)的匯編代碼。表4-1指令系統(tǒng)定義編號(hào)匯編碼操作指令碼1mov a, ri(ri) a00000iii2mov ri, a(a) ri00001iii3mov a, ri(7ehri) a00010iii4mov ri, a(a) 7ehri00011iii5mov a, #data8 data8 a00100000 dddddddd6mov ri, #data8data8 ri00101iii dddddddd7add a, ri(a) + (ri) a00110iii8sub a, ri(a) (ri) a00111iii9sub a,addr(a)-(addr) a010000
8、00 addrh addrl10lda addr(addr) a01001000 addrh addrl11sta addr(a) addr01010000 addrh addrl12jc addrif cy=1 then addr pc else (pc)+3 pc01011000 addrh addrl13jmp addraddr pc01100000 addrh addrl14jnkb addrif krix=0 then addr pc else (pc)+3 pc01101000 addrh addrl15jnpb addrif prix=0 then addr pc else (p
9、c)+3 pc01110000 addrh addrl16jnz addeif z=0 then addr pc else (pc)+3 pc01111000 addrh addrl17rsp7fffh sp10000000 18push aa堆棧,sp110001000 19pop asp1,堆棧a10010000 20cmp a,#data8(a)data8,按結(jié)果置c和z10011000 dddddddd 21rrc a(a)右移一位10100000 22cpl ri取反(7eh(ri)存儲(chǔ)單元10101iii23call addr保存pc進(jìn)棧,按addr轉(zhuǎn)到子程序10110000 ad
10、drh addrl24retpc退棧,子程序返回10111000注: 對(duì)寄存器間接尋址指令,如mov ri,a,由于ri為8位,而存儲(chǔ)器地址為16位,故取ri為低8位,高8位固定為7eh。根據(jù)這些指令,我們?cè)O(shè)計(jì)出如下的實(shí)驗(yàn)計(jì)算機(jī)的cpu結(jié)構(gòu)框圖(不包含微程序模塊),如圖4-2。 圖42、微程序控制計(jì)算機(jī)cpu框圖關(guān)于圖4-2 cpu結(jié)構(gòu)的說(shuō)明:累加器: a為累加器,ca為它的打入脈沖(后沿有效(下同),ga為它的打入允許端(0為允許接數(shù)(下同),rrc右移允許端,act為暫存寄存器,cc和gc分別為它的打入脈沖和允許端;通用寄存器:r0r7為8個(gè)通用寄存器,rs為選擇端,用于選擇某個(gè)寄存器,w
11、rc和wre分別為寫入脈沖和允許端。暫存器:tmp為暫存器,ct為它的打入脈沖,gt為它的打入允許端,用于暫存某些運(yùn)算指令的第二操作數(shù)。多路開關(guān)muxa用于選擇把tmp還是通用寄存器的內(nèi)容加到alu上。算術(shù)邏輯運(yùn)算單元:alu為8位的算術(shù)邏輯運(yùn)算單元,fa、fb為兩路輸入,ff為輸出;s2、s1、s0用于選擇 工作方式,如加、減、fa、fb等;cout為加法的進(jìn)位輸出或減法的借位輸出,需要時(shí)cout的值可鎖存于cy寄存器中(cck為寫入脈沖,cp為允許端)。如果需執(zhí)行帶進(jìn)位(或借位)的加法(或減法)時(shí),alu應(yīng)該還有進(jìn)位輸入。alu輸出ff通過(guò)三態(tài)門(ob為控制端)加至數(shù)據(jù)總線。指令寄存器:i
12、r為指令寄存器,它存放指令的第一字節(jié)(一般包含操作碼和寄存器選擇),cci和gi分別為它的打入脈沖和允許端。直接尋址指令寄存器:adrh和adrl為指令第二、三字節(jié)寄存器,存放直接尋址指令(如lda addr,jmp addr)的16位地址值。ca1、ca2和ga1、ga2分別為它們的打入脈沖和允許端。程序計(jì)數(shù)器:pc為16位的程序計(jì)數(shù)器,它的清0端接reset,使它在復(fù)位時(shí)為0,從0地址開始執(zhí)行程序。pck為脈沖端,pinc為加1控制端,pld為并行接數(shù)控制端,它的輸入端來(lái)自多路開關(guān),可選擇為“1”、cy、“0”等。其中“1”對(duì)應(yīng)于jmp指令,cy對(duì)應(yīng)于jc指令,其他情況接“0”(不轉(zhuǎn)移)。
13、pc的輸出和adr(由adrh、adrl組成)的輸出通過(guò)多路開關(guān)加至地址總線ab。堆棧指針:sp為16位的堆棧指針,它的初態(tài)為7fffh。在把一個(gè)字節(jié)壓入堆棧后,應(yīng)把sp減一,指向下一個(gè)單元。在從堆棧彈出一個(gè)字節(jié)前,應(yīng)把sp加一。3、微操作控制信號(hào)和微程序設(shè)計(jì) 3.1微程序順序控制方法微程序計(jì)數(shù)增量方法: 微程序段的大小:它的微程序首地址根據(jù)指令操作碼編碼來(lái)形成。對(duì)于本實(shí)驗(yàn)計(jì)算機(jī)來(lái)說(shuō),由于每條指令對(duì)應(yīng)的節(jié)拍數(shù)即微指令條數(shù)小于等于5,則我們可把微程序計(jì)數(shù)器打入地址的低3位置為“111”,其他幾位接指令操作碼。采用此方法時(shí),各條指令的微程序段的大小取決于指令的微程序入口的間距。在把微程序計(jì)數(shù)器打入
14、地址的低3位置“111”,其他位接指令操作碼時(shí),每條指令的微程序長(zhǎng)度不能大于8。 根據(jù)指令條數(shù)確定操作碼位數(shù)。由于本計(jì)算機(jī)有24條指令,只需五位操作碼,多余的首地址位(高位部分)可接為0。 在第一次啟動(dòng)運(yùn)行時(shí),應(yīng)把mpc清0,從而從微程序存儲(chǔ)器的0號(hào)單元開始執(zhí)行微指令(第一條微指令應(yīng)為取指令微指令。)。 在取出指令后,按指令操作碼轉(zhuǎn)移至相應(yīng)指令的微程序入口執(zhí)行(該入口處應(yīng)為該指令的第二拍操作(第一拍為取指令)。例,指令操作碼為00000,則微程序入口地址為0000000111。以后微程序計(jì)數(shù)器加1,執(zhí)行下一拍指令操作。 每條指令的微程序的最后一條微指令應(yīng)為取指令微指令。按照該方法可得出本實(shí)驗(yàn)計(jì)
15、算機(jī)的微程序控制模塊的框圖(見圖4-3),圖中: mpc 為微程序計(jì)數(shù)器 mclr為它的清0端,用于復(fù)位時(shí)清0 mpc mpck為它的時(shí)鐘 mpld為打入信號(hào),用于取指令后按指令操作碼散轉(zhuǎn),mpc的輸入為它的打入地址。對(duì)最多32條指令,每條指令最多8拍的情況,低3位接“1”,其他5位接指令操作碼,高2位接0。(對(duì)最多16條指令,每條指令最多4拍的情況,低2位接“1”,其他4位接指令操作碼,高4位接0。) mpc輸出加至微程序存儲(chǔ)器,作為微指令地址。 mir為微指令寄存器,它的輸入來(lái)自微程序存儲(chǔ)器。 微程序存儲(chǔ)器位于實(shí)驗(yàn)芯片外,輸出為32位微指令碼,mick為它的時(shí)鐘。它根據(jù)mpc輸出的微指令地
16、址返回相應(yīng)的32位微指令碼到co310 mir 3.2 定義微操作控制本實(shí)驗(yàn)計(jì)算機(jī)結(jié)構(gòu)比較簡(jiǎn)單,微操作信號(hào)比較少,因此可以采用全水平的微指令編碼方式。這時(shí),每位微指令碼可控制一個(gè)微操作,如果微操作多于32個(gè),則可采用分段編碼方式。所有的微操作都由微程序來(lái)控制,微操作信號(hào)用來(lái)控制各功能部件的工作方式和工作狀態(tài),以及進(jìn)行各功能部件之間的信號(hào)傳遞。本實(shí)驗(yàn)計(jì)算機(jī)如只有前述十八條指令,則按圖4-2和圖4-3,可得出以下微操作信號(hào)表。表4-3微操作信號(hào)表部件信號(hào)功能有效位累加器agarrca功能ga累加器a接數(shù)允許禁止(無(wú)操作)移位010暫存器tmpgttmp接數(shù)允許0暫存器actgc暫存器接數(shù)允許0寄存
17、器riwre寄存器寫入允許0muxa (fb的多路選擇)maalu的第二個(gè)操作數(shù)多路開關(guān)選擇0: 寄存器內(nèi)容送alu1: 暫存器tmp送alu算術(shù)邏輯運(yùn)算單元alus2,s1,s0alu功能s2 s1 s0f = a + bf = a - bf = af = bf = b備用備用備用0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1cyme進(jìn)位位cy接數(shù)coutcy接數(shù)移位輸入01cpcy接數(shù)允許0指令寄存器irgi指令寄存器ir接數(shù)允許0地址寄存器adrga1高位地址寄存器adrh接數(shù)允許0ga2低位地址寄存器adrl接數(shù)允許0muxc (地址ab多路開關(guān)選擇)
18、mc1,0muxc功能mc1 mc0pc送至地址總線abadr送至地址總線absp送至地址總線ab 備用 0 0 0 1 1 0 1 1程序計(jì)數(shù)器pcpincpc加1信號(hào)0prstpc清零信號(hào)0muxd (控制pc接數(shù)的多路選擇)pld2,1,0pc接數(shù)控制pld2 pld1 pld0禁止cy=1轉(zhuǎn)移zy0kb=0pb=0必轉(zhuǎn)備用0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1其余微程序計(jì)數(shù)器mpcmpldmpc接數(shù)允許0存儲(chǔ)器mcrdx讀存儲(chǔ)器0cwrx寫存儲(chǔ)器0堆棧spsspsp減一信號(hào)01sp增一信號(hào)10sp初始化為7fffh11muxb (數(shù)據(jù)總線db多路開關(guān)選擇
19、)mb1,0muxb功能mxdb1 mxdb2alu結(jié)果送至數(shù)據(jù)總線dbpch送至數(shù)據(jù)總線dbpcl送至數(shù)據(jù)總線db三態(tài) 0 0 0 1 1 0 1 13.3 定義微指令編碼功能所有的微操作都由微程序來(lái)控制,由于本cpu的微指令寬度為32位。微操作數(shù)少于32個(gè),所以可采用直接控制方式,即上述每一個(gè)微操作信號(hào)都由微指令相應(yīng)的某一位來(lái)控制。如下表所示:表4-4 微指令控制微操作對(duì)應(yīng)表微指令的控制位微操作有效狀態(tài)微操作功能描述0wre01ga02rrc03gc04gt05gi06ga107ahs08ga209ob010mb0x11mb1x12zp013cp014me015s0x16s1 x17s2x
20、18ma019pld0x20pld1x21pld2x22pinc023ssp0 x24ssp1x25mc0x26mc1x27mpld028crdx029cwrx03031對(duì)應(yīng)的vhdl硬件描述如下:五、程序與調(diào)試:1、8位cpu的vhdl描述begin dbl = db(7 downto 0); db(15 downto 8) = bz when crd = 0 else 00000000; process (mclk,clkg) begin if (run=0)or (reset = 0) then mclk = 0; elsif (clkgevent and clkg=0) then mc
21、lk = not mclk; end if; end process; mpck = not mclk and clk; mick = not mpck; cck = not mclk; cc = not mclk; ca = not mclk; cir = not mclk; ca1 = not mclk; ca2 = not mclk; wrc = not mclk; pck = not mclk; process (pc,pck) begin if (reset =0) then pc = 0000000000000000; elsif (pckevent and pck=1) then
22、 if (pld = 1)then pc = ab; elsif (pinc = 1) then pc = pc +1; end if; end if; end process; process (ir,cir) begin if (cirevent and cir = 1) then if (gi = 0) then ir = dbl; end if; end if; end process; process (r0,wrc) begin if (wrcevent and wrc = 1) then if (wre = 0) then if (ra = 0) and (rb = 0) and
23、 (rc = 0) then r0 = dbl; end if; end if; end if; end process; process (r1,wrc) begin if (wrcevent and wrc = 1) then if (wre = 0) then if (ra = 1) and (rb = 0) and (rc = 0) then r1 = dbl; end if; end if; end if; end process; process (r2,wrc) begin if (wrcevent and wrc = 1) then if (wre = 0) then if (
24、ra = 0) and (rb = 1) and (rc = 0) then r2 = dbl; end if; end if; end if; end process; process (r3,wrc) begin if (wrcevent and wrc = 1) then if (wre = 0) then if (ra = 1) and (rb = 1) and (rc = 0) then r3 = dbl; end if; end if; end if; end process; process (r4,wrc) begin if (wrcevent and wrc = 1) then if (wre = 0) then if (ra = 0) and (rb = 0) and (rc = 1) then r4 = dbl; end if; end if; end if; end process;2、匯編指令集-m
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度個(gè)人與個(gè)人簽訂的健身課程開發(fā)勞務(wù)合同4篇
- 廠房辦公樓租賃合同范本
- 個(gè)人私下股權(quán)轉(zhuǎn)讓簡(jiǎn)單協(xié)議書年
- 月餅購(gòu)銷合同
- 服裝采購(gòu)合同范本
- 二零二五年度個(gè)人租車合同車輛損壞賠償范本4篇
- 二零二五年度個(gè)人汽車租賃合同范本16篇
- 二零二五年度個(gè)人醫(yī)療借款合同模板15篇
- 二零二五年度城市綜合體室內(nèi)外裝飾裝修合同樣本2篇
- 二零二五年度交通設(shè)施建設(shè)新綜合單價(jià)測(cè)定合同3篇
- 語(yǔ)言學(xué)概論全套教學(xué)課件
- 大數(shù)據(jù)與人工智能概論
- 《史記》上冊(cè)注音版
- 2018年湖北省武漢市中考數(shù)學(xué)試卷含解析
- 測(cè)繪工程產(chǎn)品價(jià)格表匯編
- 《腎臟的結(jié)構(gòu)和功能》課件
- 裝飾圖案設(shè)計(jì)-裝飾圖案的形式課件
- 護(hù)理學(xué)基礎(chǔ)教案導(dǎo)尿術(shù)catheterization
- ICU護(hù)理工作流程
- 天津市新版就業(yè)、勞動(dòng)合同登記名冊(cè)
- 廣東版高中信息技術(shù)教案(全套)
評(píng)論
0/150
提交評(píng)論