計算機組成原理課程設計報告

2021-04-11 17:17:54 字數 4763 閱讀 2214

學號:*********x 姓名:

學號:*********x 姓名:

設計任務:

綜合前面實驗單元典型部件設計與除錯,對資料選擇器(a、b)、計數器、運算器、暫存器和微程式控制器透徹了解的基礎上,完成乙個簡單計算機的設計,使其具有簡單運算功能:取數、讀數、做加法、送數等。

設計目的:

通過乙個簡單計算機的設計,對計算機系統的基本組成、部件的設計、部件間的連線、微程式的編制與除錯等全過程有乙個較為綜合、深入的認識和理解。

設計與除錯步驟:

結合計算機組成原理的教學內容和課程設計平台系統,計算機的設計與除錯步驟如下:

資料通路:

資料通路的設計在總體結構中是最重要的乙個環節。實驗室的**模型機的資料通路是以匯流排為基礎、以cpu為核心構成的。

系統簡介:

機器指令存放在3#ram中將3#ram作為記憶體使用,機器指令是按由上到下順序執行的,其執行順序由pc(程式計數器)和mar(位址暫存器)控制。2#ram和1#ram作為控制儲存器簡稱為控存一條微指令由十六個微命令組成高八位存放於2#ram中,低八位存放於1#ram中。後繼位址有三種形成方式μir2μir1μir0 為001時μpc+1安順序執行微指令為010時jp無條件轉移,位址由μir15-8提供。

本簡單計算機基於簡化處理μir15-8均為0它代表了均跳向為指令暫存器的00入口即取指令入口。為011時 qjp高四位安機器指令的操作碼轉移,第四位為0其由後繼地形成邏輯實現,所有涉及的位址轉移均為指令的轉移。因為機器指令是按順序執行的。

每按一次單脈衝鍵執行一條微指令,一條機器指令由若干條微指令組成,一條微指令由十六個微命令組成其中因為μir3μir6μir7全為零故省略掉了。

為保證機器指令是從第一條開始順序執行的,在操作前應按一次復位鍵將微指令計數器μpc,機器指令計數器pc,記憶體位址寄存中的內容清零。第一條微指令位址為00,微操作為ram→ir即從記憶體中取出指令放到機器指令暫存器中,此時位址暫存器中的內容為00,所以在3#ram的00位址中取出mov1指令18,取出指令後pc+1→pc(01)為取下一條記憶體內容做好準備,再按一次單脈衝鍵執行qjp及按操作碼轉移,此時指令暫存器中存放的為18 操作碼為0001,所以轉移後高四位為:0001 低四位為全零 :

0000 。後繼位址形成邏輯的輸出0001 0000, 因此此時置數有效微位址輸出為10(十六進製制)。

根據微位址10執行pc→mar, pc中的內容經取指過程中加1操作,已變為01,所以位址暫存器中存入了01,然後pc+1→pc (pc變為02) 為取下一條記憶體內容做好準備。然後將記憶體中位址為01的資料傳送至ram→r0 下一步為pc→mar存入的為02。下乙個微指令為jp無條件轉移,位址由微指令的高八位給出,高八位為0000 0000,所以微位址轉向00,再次進行取指令。

在3#ram的02位址中取出mov2指令28放進機器指令暫存器,取出指令後pc+1→pc(03)為取下一條記憶體內容做好準備,再按一次單脈衝鍵執行qjp及按操作碼轉移,此時指令暫存器中存放的為28 操作碼為0010,所以轉移後高四位為:0010, 低四位為全零:0000 。

後繼位址形成邏輯的輸出0010 0000, 因此此時置數有效微位址輸出為20(十六進製制)。

根據微位址20執行pc→mar pc中的內容經取指過程中加1操作已變為03,所以位址暫存器中存入了03,然後pc+1→pc (pc變為04) 為取下一條記憶體內容做好準備。然後將記憶體中位址為03的資料傳送至ram→r1 下一步為pc→mar存入的為04。下乙個微指令為jp無條件轉移,位址由微指令的高八位給出,高八位為0000 0000,所以微位址轉向00,再次進行取指令。

在3#ram的04位址中取出add指令30放進機器指令暫存器,取出指令後pc+1→pc(05)為取下一條記憶體內容做好準備,再按一次單脈衝鍵執行qjp及按操作碼轉移,此時指令暫存器中存放的為30操作碼為0011.所以轉移後高四位為0011 第四位為全零 0000 。後繼位址形成邏輯的輸出0011 0000 ,因此時置數有效微位址輸出為30(十六進製制)。

根據微位址30執行r0 +r1= r1 pc中的內容經取指過程中加1操作已變為05,所以位址暫存器中存入了05,然後pc+1→pc (pc變為06) 為取下一條記憶體內容做好準備。下乙個微指令為jp無條件轉移,位址由微指令的高八位給出,高八位為0000 0000所以微位址轉向00,再次進行取指令。

在3#ram的05位址中取出mov3指令41放進機器指令暫存器,取出指令後pc+1→pc(06)為取下一條記憶體內容做好準備,再按一次單脈衝鍵執行qjp及按操作碼轉移,此時指令暫存器中存放的為41 操作碼為0100,所以轉移後高四位為:0100 低四位為全零:0000 。

後繼位址形成邏輯的輸出0100 0000 ,因此時置數有效微位址輸出為40(十六進製制)。

根據微位址40執行r0→mar(r0中的資料作為寫記憶體位址)。 pc中的內容經取指過程中加1操作已變為06,所以位址暫存器中存入了06,然後將記憶體中位址為03的資料傳送至r1→ram 下一步為pc→mar存入的為06。下乙個微指令為jp無條件轉移,位址由微指令的高八位給出,高八位為0000 0000,所以微位址轉向00,再次進行取指令。

至此mov1 mov2 add mov3 均執行完畢完成了兩個數的相加操作。如果是07+02=09那麼記憶體的07號位址中就存放了相加結果09。

總圖:輸入輸出說明:

usb0-7 為記憶體的資料線當wr為1時可以寫記憶體,同時加法器的輸出也接到這八根線上結合輸出分配可將資料送到r0 、r1、pc、ir 、mar 中的乙個或乙個也不送。

ad0-7 為記憶體的位址線。

uad0-7為rom2和rom1的共用位址

μir0-15為rom2和rom1的輸出其具體輸出什麼由其位址決定。

wr rd為記憶體的讀寫控制

p1為單脈衝

rst2為復位鍵,可對pc,μpc.,mar進行復位。

upc和p控制rom2和rom1讀和讀出

md0-7為rom3的輸出其中的資料由此輸出。

二四解碼器:

二四解碼的輸出控制選擇器a、b資料通路,二四解碼器的作用在這裡是乙個多路資料開關。

三八解碼器邏輯:

三八解碼器的一組輸入對應的輸出中只有乙個為1其餘為零。

設計中用到了兩個三八解碼器其中乙個的輸入為μir11、μir10、μir9,輸出用到的五個分別控制r0 、r1 、 ir 、pc 、mar 五個暫存器的資料開關。因為其輸出同一時刻只有乙個1,這就保證了同一時刻只對乙個暫存器操作,另外還有五個暫存器均不操作時的情況,例如寫記憶體的操作。另外乙個三八解碼器控制微指令位址的轉移方式。

其本質上仍是乙個多路資料開關。

後繼位址產生邏輯:

當qjp=1時jp=0,微位址計數器置數端輸入為0(置數低有效)微指令的高八位被遮蔽掉了,又因為有四個與門接地,所以輸出的低四位為全零,高四位只與機器指令的高四位(操作碼)有關,這樣就實現了高四位按操作碼轉移,低四位為全零。

當jp=1時qjp=0,微位址計數器置數端輸入為0(置數低有效)因為有四個與門接地且qjp=0,所以輸出只與微指令的高八位(μir15-8)有關,這樣就實現了無條件轉移,位址由μir15-8提供。

當jp=0時qjp=0,微位址計數器置數端輸入為1(置數低有效)此時置數端無效按一次單脈衝鍵微指令計數器從置數的輸入開始計數器自加1順序向下執行,直到下一次微指令跳轉。

一位全加器:

八位序列進製並行加法器

微指令計數器μpc

微指令計數器不是真正的八位二進位制計數器起到計數功能的只有六位,高兩位是置數的輸入。我們使用低六位來計數就足夠了,程式中微指令最多才自加4次就開始重新置數了。這樣設計只是為了簡化硬體電路。

三位二進位制計數器

這是微指令計數器底層模組具有置數和端復位鍵,在來一次脈衝時自加一當加到111時產生進製訊號。

二選一選擇器

這裡的二選一是將八根線看成一組(r07-r00一組、r17-r10一組),從兩組中選出一組作為輸出。

不帶復位端的八位暫存器

帶復位端的八位暫存器

微指令格式微指令字長16位即μir15~μir0

(1) 微指令字段定義

a選擇器控制:μir15●μir14

0 0 備用

0 1 ra

1 0 ma

1 1 備用

b選擇器控制:μir13●μir12

0 0 備用

0 1 pb

1 0 rb

1 1 備用

輸出分配 :μir11●μir10●μir9

0 0 0 備用

0 0 1 cpr0

0 1 0 cpr1

0 1 1 cppc

1 0 0 cpir

1 0 1 cpmar

1 1 0 備用

1 1 1 備用

低位進製控制:μir8

0c0=0

1c0=1

儲存器讀寫控制:μir5●μir4

1 0 rd

0 1 wr

後繼位址形成方式:

μir2●μir1●μir0

0 0 0 備用

0 0 1 μpc+1 順序執行微指令

0 1 0 jp無條件轉移,位址由微指令的高八位μir15-8提供

0 1 1 qjp高四位按操作碼轉移,地四位為0。

1 0 0 yjp給定高四位第四位按源定址方式轉移。

1 0 1 mjp給定高四位低四位按目的定址方式轉移。

《計算機組成原理》課程設計報告

電子資訊學院 實驗報告書 課程名 計算機組成原理 題目 實驗類別 驗證 班級 學號 姓名 目錄 第一章實訓任務概述 2 1.1實訓目的 2 1.2 實訓任務 2 第二章設計內容 4 2.1 指令的執行流程 4 2.1.1 異或 指令 4 2.1.2讀取指令 4 2.1.3 add 指令 4 2.2 ...

計算機組成原理課程設計報告

學生課程設計報告 課程設計名稱 計算機組成原理 設計專案名稱 基本模型機設計與實現 專業名稱 網路工程 班級 1220551 學號 學生姓名 指導教師 2015年1月3日 目錄課程設計任務書 3 1 課程設計目的 4 2 課程設計裝置 4 3 課程設計內容 4 3.1 課程設計原理 4 3.2 實驗...

計算機組成原理課程設計報告

專業名稱 j計算機 班級學號 0501 3051110004 學生姓名 孫陽陽 指導教師 劉芳 設計時間 200 7 年 12 月 26 日 2008 年 1 月4 日 第一天熟悉微程式的設計和除錯方法 一 設計要求 按照 計算機組成設計指導書 的1.4和1.5節的步驟完成設計與除錯的示例,掌握設計...