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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

8、跳轉。關于微程序的設計流程及微指令見圖(4)和附錄一。 圖(5) 指令與其對應微指令映射表:機器指令微指令首地址指令助記符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、可列出組合邏輯的表達式,進而根據(jù)表達式作出如圖(4)中的組合邏輯圖。3。指令與微指令的聯(lián)系及操作過程(1)指令的格式用操作過程下面將給出一個實際例子:實現(xiàn)兩個數(shù)相加的,將結果存在內存,然后再將此數(shù)從內存中取出輸出顯示。助記符機器指令:操作碼操作數(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 (注:以上前五條指令中每條占用兩個字節(jié)的存儲單元,最后一條只占用一個字節(jié)的存儲單元。)操作步驟如下:(一)、將附錄一中的微指令依次從控存的00H單元輸入。這里用來選中控存地址的開關用的是一個總的開關組,如附錄三中的右邊的一組輸入開關。這里還需要將控制器內的微地址開關和寫數(shù)開關指“0”,來賦予開關的使用權。微指令輸入完后,再將那些開關恢復為保護狀態(tài)(即不影響其它部件的工作狀態(tài))。(二)、根據(jù)助記符的格式將程序編寫好,然后翻譯成相應的機器指令。依次將這些指令通過機器上的撥動開關寫入內存。參照附錄(二)或模型機全圖,先復位所有的寄存器,然后斷開內存與微控制器的控制信號(即斷開S-WR1

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

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

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

14、達到較好效果。參考文獻:1 唐朔飛,計算機組成原理,高等教育出版社 19992 倪繼列,劉新民 微機原理與接口技術(第二版)電子科技大學出版社 20043 曹漢房,數(shù)字電路與邏輯設計(第三版) 華中科技大學出版社 19994 西安唐都科教儀器公司實驗指導書 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段選中控制信號B段B段選中控制信號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、地址當前地址u5 u1取機器指令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停機(STOP)0 0 0 0 0 0 0 10 0 00 0 0 0 0 0 1 103H將累加器A的內容存到內存中某一地址單元中(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取內存一地址的數(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ù),結果存于累加器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加某一地址內的數(shù),結果存于累加器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 程序跳轉(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(算術運算)M=1(邏輯運算)Cn1(無進位)Cn0(有進位)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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論