計(jì)算機(jī)基本模型機(jī)設(shè)計(jì)與實(shí)現(xiàn)_第1頁
計(jì)算機(jī)基本模型機(jī)設(shè)計(jì)與實(shí)現(xiàn)_第2頁
計(jì)算機(jī)基本模型機(jī)設(shè)計(jì)與實(shí)現(xiàn)_第3頁
計(jì)算機(jī)基本模型機(jī)設(shè)計(jì)與實(shí)現(xiàn)_第4頁
計(jì)算機(jī)基本模型機(jī)設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)基本模型機(jī)設(shè)計(jì)與實(shí)現(xiàn)萬紅明,李明威 湖北省孝感學(xué)院計(jì)算機(jī)科學(xué)系摘要:本科研項(xiàng)目主要在傳統(tǒng)模型機(jī)的基礎(chǔ)上進(jìn)一步設(shè)計(jì)且實(shí)現(xiàn)模型機(jī)的主要組成部件(運(yùn)算器,存儲(chǔ)器,控制器,基本輸入輸出設(shè)備)的基本功能,結(jié)合基本硬件資源,充分利用微程序,時(shí)序,組合邏輯等控制模型機(jī)完成一些基本的指令功能。關(guān)鍵詞:計(jì)算機(jī)組成原理 模型機(jī) 微指令 微程序 。一、 模型機(jī)的硬件組成計(jì)算機(jī)是由運(yùn)算器、存儲(chǔ)器、控制器以及輸入輸出四大主要單元組成。它們之間通過一條公共的通道進(jìn)行數(shù)據(jù)的傳遞和控制,即總線。其中運(yùn)算器主要是負(fù)責(zé)數(shù)據(jù)的邏輯和算術(shù)運(yùn)算,存儲(chǔ)器的任務(wù)就是存放我們編寫的機(jī)器指令(程序)和一般的數(shù)據(jù)存儲(chǔ),控制器是根據(jù)讀取內(nèi)存

2、中的機(jī)器指令從而對(duì)相應(yīng)的指令作出分析,繼而對(duì)我們的計(jì)算機(jī)發(fā)不同的控制信號(hào)。輸入輸出單元?jiǎng)t是將我們需要運(yùn)行的程序?qū)懭雰?nèi)存,再由機(jī)器運(yùn)行計(jì)算得出結(jié)果,予以顯示輸出。下圖為模型機(jī)的基本框架:圖(1)下面我們就對(duì)模型機(jī)的硬件設(shè)計(jì)思路作一些簡(jiǎn)要的介紹(設(shè)計(jì)的重點(diǎn)是在微程序的設(shè)計(jì)上,在后面我們將作祥細(xì)的說明。(1)算術(shù)邏輯運(yùn)算單元我們用的運(yùn)算器是將兩個(gè)74LS181進(jìn)行級(jí)聯(lián)做成一個(gè)八位的運(yùn)算器,并且?guī)в羞M(jìn)位功能。當(dāng)有進(jìn)位產(chǎn)生時(shí),在高四位的74LS181上的CN+4端輸出一個(gè)高電平,經(jīng)D觸發(fā)器鎖存輸出并送致LED顯示。74LS181有多種組合狀態(tài),因此會(huì)有多種不同的結(jié)果。我們?cè)诖酥辉O(shè)計(jì)實(shí)現(xiàn)兩個(gè)數(shù)據(jù)相加的功能

3、。它的輸入端直接連著兩個(gè)鎖存器(74LS273),它能夠?qū)⑤斎攵说臄?shù)據(jù)送進(jìn)鎖存器內(nèi)鎖存,進(jìn)而將數(shù)據(jù)送進(jìn)運(yùn)算器進(jìn)行算術(shù)或邏輯運(yùn)算。運(yùn)算器運(yùn)算后的結(jié)果將通過一個(gè)三態(tài)門(74LS245)后才能送到總線與其它的部件交換數(shù)據(jù),設(shè)計(jì)中三態(tài)門的作用是使各部件正常工作而互不影響。(2)存儲(chǔ)單元存儲(chǔ)器芯片選用的是6116(2K x 8),其數(shù)據(jù)端接至數(shù)據(jù)總線,地址由地址鎖存器(74LS273)給出。數(shù)據(jù)開關(guān)經(jīng)一三態(tài)門(74LS245)連至數(shù)據(jù)總線,分時(shí)給出地址和數(shù)據(jù)。(3)計(jì)數(shù)器單元計(jì)數(shù)器由兩片四位的計(jì)數(shù)器(74LS161)級(jí)聯(lián)組成的,計(jì)數(shù)值最大為255,這是由于我們的計(jì)數(shù)器只有八位。計(jì)數(shù)器是用來存儲(chǔ)即將執(zhí)行下

4、一條指令的地址的,還可實(shí)現(xiàn)程序的跳轉(zhuǎn)。(4)寄存器單元這里的寄存器只由一個(gè)芯片74LS374實(shí)現(xiàn),它是用來保存間接尋址時(shí)的內(nèi)存的有效值和中間運(yùn)算結(jié)果的。(5)指令寄存器單元指令寄存器是用來存放即將要執(zhí)行的一條指令,當(dāng)執(zhí)行一條指令時(shí),先把它從內(nèi)存取到指令寄存器。再由指令寄存器輸出的機(jī)器指令通過一個(gè)專門的組合邏輯電路譯出相應(yīng)指令的微程序首地址,進(jìn)而再由控制器發(fā)出控制信號(hào),完成該指令所要完成的功能。(6)輸入輸出控制單元主要是用來與機(jī)器進(jìn)行人機(jī)交流而設(shè)的,將人需要表達(dá)的意愿通過機(jī)器來實(shí)現(xiàn)并反饋給人所實(shí)現(xiàn)的結(jié)果。二、微控制器及指令系統(tǒng)微程序控制器的基本任務(wù)是完成當(dāng)前指令的翻譯和執(zhí)行,即將當(dāng)前指令的功能

5、轉(zhuǎn)換成可以控制的硬件邏輯部件工作的微命令序列,完成數(shù)據(jù)傳送和其它各種操作。該微命令即為微程序,它存儲(chǔ)在一種專用的存儲(chǔ)器中,稱為控制存儲(chǔ)器(2716)。在此還有一個(gè)很重要的單元需要說明,就是機(jī)器的生命源時(shí)序控制。其框圖如圖(2)所示。 圖(2)圖中 ¢ 為時(shí)鐘信號(hào),由一方波信號(hào)源提供,可產(chǎn)生頻率及脈寬可調(diào)的方波信號(hào)。當(dāng)時(shí)序工作為連續(xù)狀態(tài)時(shí),它可以產(chǎn)生如圖(3)所示的時(shí)序信號(hào)TS1TS4。圖(3)1。微程序控制原理微程序控制器的原理圖見附錄(2),微命令寄存器16位,用兩片8D觸發(fā)器(74LS273)組成,設(shè)計(jì)中只用了其中的14位。其中一片的輸出信號(hào)控制著運(yùn)算器和內(nèi)存的工作方式,剩下一片

6、用其低六位通過兩片74LS138譯碼輸出產(chǎn)生11條控制信號(hào),還有5條輸出端沒有使用。微地址寄存器用的是8位的,設(shè)計(jì)中只用到它的低五位。芯片的工作并不是全部只由所對(duì)應(yīng)的控制信號(hào)來控制的,大多都是通過與時(shí)序信號(hào)共同作用來控制的,這主要是為了提高機(jī)器的執(zhí)行效率,讓它能在一個(gè)CPU周期內(nèi)執(zhí)行更多的操作。這樣也能夠大大減少微程序的數(shù)量,即充分的利用了機(jī)器的資源,而且還減少了對(duì)硬件資源的需求。對(duì)于時(shí)序T1T4的安排具體如下:(即在對(duì)應(yīng)時(shí)刻時(shí),下列控制信號(hào)所對(duì)應(yīng)的器件將執(zhí)行相關(guān)的操作)T1:取微命令和部分B字段的控制信號(hào)如:PC-B,CE,W/R ,ALU-B,RS-B,LD(LD對(duì)置數(shù)的控制)。T2:各鎖

7、存器的輸入端控制如:R0,R1,Ri,AR,IR,Rp,PC以及隱含LD對(duì)計(jì)數(shù)器時(shí)鐘輸入端的控制。T3:存放指令對(duì)應(yīng)的微程序首地址的寄存器(74LS374)的輸入控制端。T4:向控存送下一條微指令地址的微地址鎖存器的輸入控制端。圖(4)2。微程序執(zhí)行順序強(qiáng)制改變?cè)黻P(guān)于微地址的強(qiáng)制跳轉(zhuǎn)的電路圖如圖(5)所示,當(dāng)取指階段到來時(shí),首先在T1時(shí)刻會(huì)將IR置為“1”,這時(shí)微地址鎖存器與控存相聯(lián)接的一個(gè)三態(tài)門將會(huì)被截止,而將中間寄存器74LS374的輸入端置為有效,等到T3時(shí)刻到來時(shí),通過組合邏輯翻譯來的微程序首地址就被送入寄存器里,只等T4時(shí)刻到來時(shí),又可將該地址送入微地址鎖存器內(nèi),從而實(shí)現(xiàn)了微地址的

8、跳轉(zhuǎn)。關(guān)于微程序的設(shè)計(jì)流程及微指令見圖(4)和附錄一。 圖(5) 指令與其對(duì)應(yīng)微指令映射表:機(jī)器指令微指令首地址指令助記符Q3 Q2 Q1u5 u4 u3 u2 u1STOP 0 0 0 0 0 0 1 1 MOV addr , A 0 0 1 0 0 1 0 0MOV A , #data 0 1 0 0 1 0 0 0MOV A , addr 0 1 1 0 1 0 1 0ADD A , #data 1 0 0 1 1 1 1 0ADD A , addr 1 0 1 1 0 0 1 0JMP addr 1 1 0 1 1 0 0 0OUT addr 1 1 1 1 1 0 1 0根據(jù)真值表即

9、可列出組合邏輯的表達(dá)式,進(jìn)而根據(jù)表達(dá)式作出如圖(4)中的組合邏輯圖。3。指令與微指令的聯(lián)系及操作過程(1)指令的格式用操作過程下面將給出一個(gè)實(shí)際例子:實(shí)現(xiàn)兩個(gè)數(shù)相加的,將結(jié)果存在內(nèi)存,然后再將此數(shù)從內(nèi)存中取出輸出顯示。助記符機(jī)器指令:操作碼操作數(shù)MOV A,54H 0000 0010 0101 0100MOV 91H,A0000 0001 1001 0001 MOV A,65H0000 0010 0110 0101 ADD A,91H0000 0101 1001 0001MOV 92H,A0000 0001 1001 0010OUT 92H0000 0111 1001 0010 STOP000

10、0 0000 (注:以上前五條指令中每條占用兩個(gè)字節(jié)的存儲(chǔ)單元,最后一條只占用一個(gè)字節(jié)的存儲(chǔ)單元。)操作步驟如下:(一)、將附錄一中的微指令依次從控存的00H單元輸入。這里用來選中控存地址的開關(guān)用的是一個(gè)總的開關(guān)組,如附錄三中的右邊的一組輸入開關(guān)。這里還需要將控制器內(nèi)的微地址開關(guān)和寫數(shù)開關(guān)指“0”,來賦予開關(guān)的使用權(quán)。微指令輸入完后,再將那些開關(guān)恢復(fù)為保護(hù)狀態(tài)(即不影響其它部件的工作狀態(tài))。(二)、根據(jù)助記符的格式將程序編寫好,然后翻譯成相應(yīng)的機(jī)器指令。依次將這些指令通過機(jī)器上的撥動(dòng)開關(guān)寫入內(nèi)存。參照附錄(二)或模型機(jī)全圖,先復(fù)位所有的寄存器,然后斷開內(nèi)存與微控制器的控制信號(hào)(即斷開S-WR1

11、和S-CS1開關(guān)),閉合圖中的S-WR2和S-CS2開關(guān),再通過圖中的可控開關(guān)及S按鈕開關(guān),輸入開關(guān)來共同控制輸入數(shù)據(jù)??煽亻_關(guān)推上去即為選中高電平(“1”),推下來則是低電平(“0”)。由于復(fù)位后,地址寄存器已清零了,所以寫第一條指令的操作碼時(shí)不需要給它送地址數(shù),直接將第一條指令的操作碼通過輸入開關(guān)輸入到總路線,再通過兩個(gè)可控開關(guān)來控制存儲(chǔ)器的讀寫。寫第一條指令的操作碼時(shí),則需要先將地址數(shù)送到地址寄存器,選中內(nèi)存的下一個(gè)地址單元。這里是通過S按鈕將預(yù)先送到總線上的地址數(shù)(0000 0001)打入到地址寄存器鎖存的,接下來的操作就如上面介紹的相同。(三)、輸入完所有微指令和機(jī)器指令后,再將所有

12、寄存器清零,這個(gè)操作主要是讓計(jì)數(shù)器的計(jì)數(shù)由00H開始計(jì)數(shù)。然后直接啟動(dòng)時(shí)序控制開關(guān),將時(shí)序置為連續(xù)運(yùn)行方式。或者啟用單步運(yùn)行態(tài),手動(dòng)運(yùn)行程序。注:輸入微地址時(shí),有低五位有效,高三位已全部置0。輸入B,A字段的微代碼只占用控存(2)的低6位。其高兩位可用可不用。關(guān)于某些芯片的用法請(qǐng)參考附錄(三)。)(2)指令跳轉(zhuǎn)的實(shí)現(xiàn)指令的跳轉(zhuǎn)在程序中是一個(gè)很重要的功能,在此將實(shí)現(xiàn)程序的跳轉(zhuǎn)的過程將通過電路圖(6)來作一下簡(jiǎn)要的介紹:圖(6)當(dāng)機(jī)器執(zhí)行跳轉(zhuǎn)指令的第二條微指令時(shí),在T1時(shí)刻就將LD置為低電平,同時(shí)內(nèi)存中的待跳轉(zhuǎn)的指令地址也同時(shí)讀到總路線上,這時(shí)還需在CLK端送一個(gè)正時(shí)鐘脈沖,才能將總路線上的數(shù)送到

13、計(jì)數(shù)器。緊接著在T2時(shí)刻到來時(shí),產(chǎn)生一個(gè)正脈沖與LD取反后的高電平相與正好構(gòu)成計(jì)數(shù)器所需要的脈沖,從而將計(jì)數(shù)器內(nèi)的指令地址改變,待要執(zhí)行下條指令時(shí),取到指令寄存器內(nèi)的操作碼就不再是上一條指令緊接著的下一條指令的操作碼了,而是給計(jì)數(shù)器置數(shù)的那一個(gè)地址對(duì)應(yīng)指令的操作碼,從而達(dá)到指令跳轉(zhuǎn)功能。三、結(jié)語通過這次對(duì)模型機(jī)的設(shè)計(jì)使大家能夠在完成基本部件課程的基礎(chǔ)之上進(jìn)一步提高創(chuàng)新能力,知識(shí)的綜合運(yùn)用能力和分析問題、解決問題的能力。同時(shí)也為以后在學(xué)習(xí)計(jì)算機(jī)其它課程中打下堅(jiān)實(shí)的硬件基礎(chǔ)。完整的建立了計(jì)算機(jī)的整機(jī)概念,可使實(shí)驗(yàn)內(nèi)容和理論教學(xué)有機(jī)的結(jié)合起來,有效地提高實(shí)驗(yàn)教學(xué)水平,使大家能夠?qū)碚撆c實(shí)踐融會(huì)貫通,

14、達(dá)到較好效果。參考文獻(xiàn):1 唐朔飛,計(jì)算機(jī)組成原理,高等教育出版社 19992 倪繼列,劉新民 微機(jī)原理與接口技術(shù)(第二版)電子科技大學(xué)出版社 20043 曹漢房,數(shù)字電路與邏輯設(shè)計(jì)(第三版) 華中科技大學(xué)出版社 19994 西安唐都科教儀器公司實(shí)驗(yàn)指導(dǎo)書 2002 Design and Implementation of the basic computer model (Li Mingwei, Wan Hong-ming,Liu Xiaoning) Xiaogan, Hubei Institute of Computer Science Department Abstract :The r

15、esearch mainly in the traditional model based on further design model is realized, the main components (calculator.Memory controller, the basic input-output equipment), the basic functions of the basic combination of hardware resources, make full use of micro-program.Timing, controlled model combina

16、tional logic to complete some basic command functions.Keywords : Computer architecture model plane Micros Micro procedures.附錄 一: 字段安排表: A段A段選中控制信號(hào)B段B段選中控制信號(hào)0 0 00 0 00 0 1 R00 0 1 PC0 1 0R10 1 0PC-B0 1 1Ri0 1 11 0 0AR1 0 0ALU-B1 0 1IR1 0 1RS-B1 1 0Rp1 1 0LD1 1 11 1 1 微指令表:S3 S2 S1 S0 M CNWR CEAB下一條微

17、地址當(dāng)前地址u5 u1取機(jī)器指令0 0 0 0 0 0 0 10 0 00 0 0 0 0 0 0 100H0 0 0 0 0 0 0 11 0 00 1 0 0 0 0 1 001H0 0 0 0 0 0 1 01 0 10 0 10 0 1 0 0 0 1 002H停機(jī)(STOP)0 0 0 0 0 0 0 10 0 00 0 0 0 0 0 1 103H將累加器A的內(nèi)容存到內(nèi)存中某一地址單元中(MOV A,addr)0 0 0 0 0 0 0 11 0 00 1 0 0 0 1 0 104H0 0 0 0 0 0 1 00 1 10 0 1 0 0 1 1 005H0 0 0 0 0 0

18、 0 11 0 01 0 1 0 0 1 1 106H0 0 0 0 0 0 0 00 0 01 0 0 0 0 0 0 007H取立即數(shù)存于A中(MOV A,#data)0 0 0 0 0 0 0 11 0 00 1 0 0 1 0 0108H0 0 0 0 0 0 1 00 0 10 0 1 0 0 0 0 009H取內(nèi)存一地址的數(shù)到累加器A(MOV A,addr)0 0 0 0 0 0 0 11 0 00 1 0 0 1 0 1 10AH0 0 0 0 0 0 1 00 1 1 0 0 1 0 1 1 0 00BH0 0 0 0 0 0 0 11 0 01 0 1 0 1 1 0 10C

19、H0 0 0 0 0 0 1 00 0 10 0 0 0 0 0 0 00DH加一立即數(shù),結(jié)果存于累加器A(ADD A,#data)0 0 0 0 0 0 0 11 0 00 1 0 0 1 1 1 10EH0 0 0 0 0 0 1 00 1 0 0 0 1 1 0 0 0 00FH0 0 0 1 0 0 0 10 1 11 0 0 1 0 0 0 110H0 0 0 0 0 0 0 10 0 11 0 1 0 0 0 0 0 11H加某一地址內(nèi)的數(shù),結(jié)果存于累加器A(ADD A,addr)0 0 0 0 0 0 0 11 0 00 1 0 1 0 0 1 112H0 0 0 0 0 0 1

20、 00 1 10 0 1 1 0 1 0 013H0 0 0 0 0 0 0 11 0 01 0 1 1 0 1 0 114H0 0 0 0 0 0 1 00 1 00 0 0 1 0 1 1 0 15H0 0 0 1 0 0 0 10 1 11 0 0 1 0 1 1 116H0 0 0 0 0 0 0 10 0 11 0 1 0 0 0 0 017H 程序跳轉(zhuǎn)(JMP addr)0 0 0 0 0 0 0 11 0 00 1 0 1 1 0 0 118H0 0 0 0 0 0 1 00 0 01 1 0 0 0 0 0 019H將某一地址中的數(shù)輸出顯示(OUT addr)0 0 0 0 0

21、 0 0 11 0 00 1 0 1 1 0 1 11AH0 0 0 0 0 0 1 00 1 10 0 1 1 1 1 0 01BH0 0 0 0 0 0 0 11 0 0 1 0 1 1 1 1 0 11CH0 0 0 0 0 0 1 01 1 00 0 0 0 0 0 0 01DH附錄 二:附錄 三:S3S2S1S0M=0(算術(shù)運(yùn)算)M=1(邏輯運(yùn)算)Cn1(無進(jìn)位)Cn0(有進(jìn)位)0 0 0 0F=AF=A+1F=0 0 0 1F=A|BF= (A|B)+1F=0 0 1 0F=A|F=(A|)+1F=B0 0 1 1F=0-1F=0F=00 1 0 0F=A+BF=A+B+1F=0 1 0 1F= A+(A|B)F= A+(A|B)+1F=0 1 1 0F=A-B-1F=A-BF=AB0 1 1 1F= A-1F= AF= A1 0 0 0F=A+ABF=A+AB+1F=+B1 0 0 1F=A+BF=A+B+1

溫馨提示

  • 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論