計算機組成原理課程設計_第1頁
已閱讀1頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  計算機組成原理課程設計</p><p><b>  設計任務:</b></p><p>  對數據選擇器(A、B)、計數器、運算器、寄存器和微程序控制器透徹了解的基礎上,完成一個簡單計算機的設計,使其具有簡單運算功能:取數、讀數、做加法、送數等。 </p><p><b>  設計的目的:</b>&l

2、t;/p><p>  通過一個簡單計算機的設計,對計算機系統的基本組成、部件的設計、部件間的連接、微程序的編制與調試等全過程有一個較為綜合、深入的認識和理解。 </p><p><b>  設計與調試步驟:</b></p><p>  結合計算機組成原理的教學內容和課程設計平臺系統,計算機的設計與調試步驟如下: </p><p&

3、gt;<b>  數據通路:</b></p><p>  數據通路的設計在總體結構中是最重要的一個環(huán)節(jié)。實驗室的仿真模型機的數據通路是以總線為基礎、以CPU為核心構成的。</p><p><b>  系統簡介:</b></p><p>  機器指令存放在3#RAM中將3#RAM作為內存使用,機器指令是按由上到下順序執(zhí)行的,

4、其執(zhí)行順序由PC(程序計數器)和MAR(地址寄存器)控制。2#RAM和1#RAM作為控制存儲器簡稱為控存一條微指令由十六個微命令組成高八位存放于2#RAM中,低八位存放于1#RAM中。后繼地址有三種形成方式μIR2μIR1μIR0 為001時μPC+1安順序執(zhí)行微指令為010時JP無條件轉移,地址由μIR15-8提供。本簡單計算機基于簡化處理μIR15-8均為0它代表了均跳向為指令寄存器的00入口即取指令入口。為011時 QJP高四位安

5、機器指令的操作碼轉移,第四位為0其由后繼地形成邏輯實現,所有涉及的地址轉移均為指令的轉移。因為機器指令是按順序執(zhí)行的。每按一次單脈沖鍵執(zhí)行一條微指令,一條機器指令由若干條微指令組成,一條微指令由十六個微命令組成其中因為μIR3μIR6μIR7全為零故省略掉了。</p><p>  為保證機器指令是從第一條開始順序執(zhí)行的,在操作前應按一次復位鍵將微指令計數器μpc,機器指令計數器pc,內存地址寄存中的內容清零。第一

6、條微指令地址為00,微操作為RAM→IR即從內存中取出指令放到機器指令寄存器中,此時地址寄存器中的內容為00,所以在3#RAM的00地址中取出MOV1指令18,取出指令后PC+1→PC(01)為取下一條內存內容做好準備,再按一次單脈沖鍵執(zhí)行QJP及按操作碼轉移,此時指令寄存器中存放的為18 操作碼為0001,所以轉移后高四位為:0001 低四位為全零 :0000 。后繼地址形成邏輯的輸出0001 0000, 因此此時置數有效微地址輸出為

7、10(十六進制)。</p><p>  根據微地址10執(zhí)行PC→MAR, PC中的內容經取指過程中加1操作,已變?yōu)?1,所以地址寄存器中存入了01,然后PC+1→PC (PC變?yōu)?2) 為取下一條內存內容做好準備。然后將內存中地址為01的數據傳送至RAM→R0 下一步為PC→MAR存入的為02。下一個微指令為JP無條件轉移,地址由微指令的高八位給出,高八位為0000 0000,所以微地址轉向00,再次進行取指令

8、。</p><p>  在3#RAM的02地址中取出MOV2指令28放進機器指令寄存器,取出指令后PC+1→PC(03)為取下一條內存內容做好準備,再按一次單脈沖鍵執(zhí)行QJP及按操作碼轉移,此時指令寄存器中存放的為28 操作碼為0010,所以轉移后高四位為:0010, 低四位為全零:0000 。后繼地址形成邏輯的輸出0010 0000, 因此此時置數有效微地址輸出為20(十六進制)。</p>&l

9、t;p>  根據微地址20執(zhí)行PC→MAR PC中的內容經取指過程中加1操作已變?yōu)?3,所以地址寄存器中存入了03,然后PC+1→PC (PC變?yōu)?4) 為取下一條內存內容做好準備。然后將內存中地址為03的數據傳送至RAM→R1 下一步為PC→MAR存入的為04。下一個微指令為JP無條件轉移,地址由微指令的高八位給出,高八位為0000 0000,所以微地址轉向00,再次進行取指令。</p><p>  在

10、3#RAM的04地址中取出ADD指令30放進機器指令寄存器,取出指令后PC+1→PC(05)為取下一條內存內容做好準備,再按一次單脈沖鍵執(zhí)行QJP及按操作碼轉移,此時指令寄存器中存放的為30操作碼為0011.所以轉移后高四位為0011 第四位為全零 0000 。后繼地址形成邏輯的輸出0011 0000 ,因此時置數有效微地址輸出為30(十六進制)。</p><p>  根據微地址30執(zhí)行R0 +R1= R1 P

11、C中的內容經取指過程中加1操作已變?yōu)?5,所以地址寄存器中存入了05,然后PC+1→PC (PC變?yōu)?6) 為取下一條內存內容做好準備。下一個微指令為JP無條件轉移,地址由微指令的高八位給出,高八位為0000 0000所以微地址轉向00,再次進行取指令。</p><p>  在3#RAM的05地址中取出MOV3指令41放進機器指令寄存器,取出指令后PC+1→PC(06)為取下一條內存內容做好準備,再按一次單脈沖鍵

12、執(zhí)行QJP及按操作碼轉移,此時指令寄存器中存放的為41 操作碼為0100,所以轉移后高四位為:0100 低四位為全零:0000 。后繼地址形成邏輯的輸出0100 0000 ,因此時置數有效微地址輸出為40(十六進制)。</p><p>  根據微地址40執(zhí)行R0→MAR(R0中的數據作為寫內存地址)。 PC中的內容經取指過程中加1操作已變?yōu)?6,所以地址寄存器中存入了06,然后將內存中地址為03的數據傳送至R1→

13、RAM 下一步為PC→MAR存入的為06。下一個微指令為JP無條件轉移,地址由微指令的高八位給出,高八位為0000 0000,所以微地址轉向00,再次進行取指令。</p><p>  至此MOV1 MOV2 ADD MOV3 均執(zhí)行完畢完成了兩個數的相加操作。如果是07+02=09那么內存的07號地址中就存放了相加結果09。</p><p><b

14、>  總圖:</b></p><p><b>  輸入輸出說明:</b></p><p>  USB0-7 為內存的數據線當wr為1時可以寫內存,同時加法器的輸出也接到這八根線上結合輸出分配可將數據送到R0 、R1、pc、ir 、mar 中的一個或一個也不送。</p><p>  AD0-7 為內存的地址線。</p&g

15、t;<p>  UAD0-7為ROM2和ROM1的共用地址</p><p>  μIR0-15為ROM2和ROM1的輸出其具體輸出什么由其地址決定。</p><p>  wr rd為內存的讀寫控制</p><p><b>  P1為單脈沖</b></p><p>  Rst2為復位鍵,可對PC,μPC.,

16、MAR進行復位。 </p><p>  UPC和P控制ROM2和ROM1讀和讀出</p><p>  MD0-7為ROM3的輸出其中的數據由此輸出。</p><p><b>  二四譯碼器:</b></p><p>  二四譯碼的輸出控制選擇器A、B數據通路,二四譯碼器的作用在這里是一個多路數據開關。</p>

17、<p><b>  三八譯碼器邏輯:</b></p><p>  三八譯碼器的一組輸入對應的輸出中只有一個為1其余為零。</p><p>  設計中用到了兩個三八譯碼器其中一個的輸入為μIR11、μIR10、μIR9,輸出用到的五個分別控制R0 、R1 、 IR 、PC 、MAR 五個寄存器的數據開關。因為其輸出同一時刻只有一個1,這就保證了同一時刻只對

18、一個寄存器操作,另外還有五個寄存器均不操作時的情況,例如寫內存的操作。另外一個三八譯碼器控制微指令地址的轉移方式。其本質上仍是一個多路數據開關。</p><p><b>  后繼地址產生邏輯:</b></p><p>  當QJP=1時JP=0,微地址計數器置數端輸入為0(置數低有效)微指令的高八位被屏蔽掉了,又因為有四個與門接地,所以輸出的低四位為全零,高四位只與機

19、器指令的高四位(操作碼)有關,這樣就實現了高四位按操作碼轉移,低四位為全零。</p><p>  當JP=1時QJP=0,微地址計數器置數端輸入為0(置數低有效)因為有四個與門接地且QJP=0,所以輸出只與微指令的高八位(μIR15-8)有關,這樣就實現了無條件轉移,地址由μIR15-8提供。</p><p>  當JP=0時QJP=0,微地址計數器置數端輸入為1(置數低有效)此時置數端無

20、效按一次單脈沖鍵微指令計數器從置數的輸入開始計數器自加1順序向下執(zhí)行,直到下一次微指令跳轉。</p><p><b>  一位全加器:</b></p><p>  八位串行進位并行加法器</p><p>  微指令計數器μPC </p><p>  微指令計數器不是真正的八位二進制計數器起到計數功能的只有六位,高兩位是置

21、數的輸入。我們使用低六位來計數就足夠了,程序中微指令最多才自加4次就開始重新置數了。這樣設計只是為了簡化硬件電路。</p><p><b>  三位二進制計數器</b></p><p>  這是微指令計數器底層模塊具有置數和端復位鍵,在來一次脈沖時自加一當加到111時產生進位信號。</p><p><b>  二選一選擇器</b

22、></p><p>  這里的二選一是將八根線看成一組(R07-R00一組、R17-R10一組),從兩組中選出一組作為輸出。</p><p>  不帶復位端的八位寄存器</p><p>  帶復位端的八位寄存器</p><p>  微指令格式微指令字長16位即μIR15~μIR0</p><p><b>

23、;  微指令字段定義</b></p><p>  A選擇器控制:μIR15●μIR14</p><p>  0 0 備用</p><p>  0 1 RA</p><p>  1 0 MA</p><p>  1 1 備用</p><p&g

24、t;  B選擇器控制:μIR13●μIR12</p><p>  0 0 備用</p><p>  0 1 PB</p><p>  1 0 RB</p><p>  1 1 備用</p><p>  輸出分配 :μIR11●μIR10●μIR9</p>

25、;<p>  0 0 0 備用</p><p>  0 0 1 CPR0</p><p>  0 1 0 CPR1</p><p>  0 1 1 CPPC</p><p>  1 0 0 CPIR</p><

26、p>  1 0 1 CPMAR</p><p>  1 1 0 備用</p><p>  1 1 1 備用</p><p>  低位進位控制:μIR8</p><p>  0 C0=0</p><p>  1

27、 C0=1</p><p>  存儲器讀寫控制:μIR5●μIR4</p><p>  1 0 RD</p><p>  0 1 WR</p><p><b>  后繼地址形成方式:</b></p><p>  μIR2●μIR1●μIR0</p>

28、<p>  0 0 0 備用</p><p>  0 0 1 μPC+1 順序執(zhí)行微指令</p><p>  0 1 0 JP無條件轉移,地址由微指令的高八位μIR15-8提供</p><p>  0 1 1 QJP高四位按操作碼轉移,地四位為0。</p>&

29、lt;p>  1 0 0 YJP給定高四位第四位按源尋址方式轉移。</p><p>  1 0 1 MJP給定高四位低四位按目的尋址方式轉移。</p><p>  1 1 0 備用</p><p>  1 1 1 備用</p><p>  微命令形成邏輯

30、如下圖示</p><p><b>  確定總體結構:</b></p><p><b>  1、寄存器的設置:</b></p><p>  R0 R1 為通用寄存器,8位</p><p>  IR為機器指令寄存器,8位</p><p>  PC程序計數器,8位</p&g

31、t;<p>  MAR為內存地址寄存器</p><p><b>  2、加法器的設置</b></p><p>  為簡化設計,采用為8位帶串行進位并行加法器</p><p><b>  3、選擇器的設置</b></p><p>  連入A選擇器的數據來源是RAM的讀出數據和R0 寄存器

32、的數據。連入B選擇器的數據來源是PC數據和R1 寄存器的數據。</p><p><b>  4、數據通路</b></p><p><b>  信息傳送路徑</b></p><p><b>  邏輯設計</b></p><p>  1、加法器的邏輯設計</p>&l

33、t;p>  2、選擇器的邏輯設計</p><p><b>  3、寄存器的設計</b></p><p><b>  不帶復位的寄存器</b></p><p>  結構中R0 R1 通用寄存器,可存放操作數或結果、中間結果,每個寄存器由8個D觸發(fā)器構成。在CPRi 的作用下接受總線的數據送入寄存器,輸出連入選擇器機器指

34、令寄存器其結構同通用寄存器。</p><p><b>  帶復位的寄存器</b></p><p>  結構中MAR地址寄存器是一個帶復位的寄存器,帶復位是指當有復位信號時,MAR清零。</p><p><b>  程序計數器的設計</b></p><p>  PC加1是通過加法器實現的。</p

35、><p><b>  部件之間的連接</b></p><p>  由系統圖可看出,部件之間的連接是采用以CPU為中心的總線連接方式。加法器的輸出通過總線BUS連接到所有寄存器和存儲器的輸入端,除指令寄存器IR和地址寄存器MAR的輸出端外,其他部件的輸出端分別送入選擇器A和選擇器 B。</p><p><b>  確定控制方式</b

36、></p><p><b>  后繼地址產生邏輯</b></p><p>  為簡單起見直選三種后繼地址生成方式即增量方式、無條件轉移方式、安操作碼轉移方式 </p><p>  當EN=1時,為程序計數器執(zhí)行加1操作</p><p>  當EN=0時,且JP=1時,無條件轉移。</p>&l

37、t;p>  當EN=0時,且QJP=1時,按操作碼轉移。</p><p><b>  微程序編寫</b></p><p><b>  程序</b></p><p>  MOV1 07# R0 </p><p>  MOV2 02# R1 </p><p&

38、gt;  ADD R0 R1 </p><p>  MOV3 R1 (R0 ) </p><p>  (2)操作碼二進制代碼</p><p>  MOV1 0001 </p><p>  MOV2 0010 </p><p>  ADD 0011 &l

39、t;/p><p>  MOV3 0100 </p><p> ?。?)微程序入口(十六進制代碼)</p><p>  取指令入口: 00H</p><p>  MOV1入口: 10H</p><p>  MOV2入口: 20H</p><p>  ADD 入口: 30H <

40、/p><p>  MOV3入口: 40H</p><p><b>  擬定指令系統</b></p><p><b>  基本字長</b></p><p>  課程設計平臺中配置的存儲器容量為256×8,顯然基本字長只能定為8位。</p><p><b>  指

41、令格式</b></p><p>  指令格式可有單字長指令和雙字長指令兩種,在雙字長格式中,第二字節(jié)一般定義微操作數或操作數地址。</p><p><b>  指令格式為:</b></p><p><b>  指令類型</b></p><p>  模型機有單操作數指令、雙操作數指令和無操

42、作數指令。</p><p>  操作碼OP共提供四位,最多可定義16條指令。</p><p>  數據的傳送單位為8位(一個字節(jié))</p><p><b>  數據的傳送范圍 </b></p><p><b>  尋址方式</b></p><p>  由于指令較短、操作數僅為

43、兩位,為了簡化硬件設計,將源操作數字段和目的操作數字段的尋址定義為不同的含義</p><p>  源操作數尋址方式 目的操作數尋址方式</p><p>  00 R0 00 R1</p><p>  01 (R0) 01 (R0

44、) </p><p>  10 I 10 I</p><p>  11 D 11 D</p><p>  Ri 表示操作數就在寄存器中</p><p>  (Ri) 表示操作數地址在寄存器中</p>

45、<p>  I指令的第二個字節(jié)微操作數或立即尋址</p><p>  源操作數使用R0尋址</p><p>  目的操作數使用R1尋址</p><p>  MOV1 0001 10 00</p><p

46、>  0000 01 11</p><p>  MOV2 0010 10 00</p><p>  0000

47、 00 01</p><p>  ADD 0011 00 00</p><p>  MOV3 0100

48、 00 01</p><p>  MOV1源操作數按立即尋址目的操作數為操作數就在寄存器中,因為立即尋址該指令由兩個字節(jié)組成。</p><p>  MOV2只有操作碼與MOV1不同</p><p>  ADD源操作數:操作數就在寄存器中,目的操作數:為操作數就在寄存

49、器中,該指令由一個字節(jié)組成</p><p>  MOV3 源操作數:操作數就在寄存器中,目的操作數:操作數地址在寄存器中。</p><p>  將以上四條機器指令在RAM3#自00號單元順序存放并用十六進制表示如下:</p><p>  00 18</p><p>  01 07</p><p&g

50、t;  02 28</p><p>  03 02</p><p>  04 30 </p><p>  05 41 </p><p>  MOV1 07,R0 ;立即數07# R0 </p><p>  MOV2 01,R1 ;立即數02# R1</

51、p><p>  ADD R0,R1 ;(R0)+( R1) R1</p><p>  MOV3 R1,(R0) ; R1 (R0) (存儲單元)</p><p>  R0 中的數據在MOV1中作為操作數,在MOV3作為RAM3的地址R1 中相加后的結果就寫在這個地址中。</p><p>  本指令完成的是07+02=09以上四條機器

52、指令執(zhí)行完成后RAM3的07號單元存放的為09。</p><p><b>  指令執(zhí)行流程</b></p><p><b>  微程序</b></p><p><b>  心得體會:</b></p><p>  此次課程設計過程我們發(fā)現、提出、分析和解決實際問題,鍛煉了實踐能力

溫馨提示

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

評論

0/150

提交評論