累加器實驗
實驗環(huán)境
計算機組成原理實驗環(huán)境
實驗?zāi)康?/h3>
- 理解累加器的概念和作用。
- 連接運算器、存儲器和累加器,熟悉計算機的數(shù)據(jù)通路。
- 掌握使用微命令執(zhí)行各種操作的方法。
實驗要求
- 做好實驗預(yù)習(xí),讀懂實驗電路圖,熟悉實驗元器件的功能特性和使用方法。在實驗之前設(shè)計好要使用的微命令,填入表 6-2 、表 6-3 和表 6-4 表中。
- 按照實驗內(nèi)容與步驟的要求進行實驗,對預(yù)習(xí)時填寫好的微命令進行驗證與調(diào)試,遇到問題請冷靜、獨立思考,認(rèn)真仔細(xì)地完成實驗。
- 寫出實驗報告。
實驗電路
???????本實驗使用的主要元器件有:4 位算術(shù)邏輯運算單元 74LS181 ,8 位數(shù)據(jù)鎖存器 74LS273 。8 位正沿觸發(fā)寄存器 74LS374 、三態(tài)輸出的總線收發(fā)器 74LS245 ,2Kx8 靜態(tài)隨機存儲器 6116 ,時序發(fā)生器,與非門、與門、開關(guān)、指示燈等。各芯片詳細(xì)說明請見附錄。
???????圖 1 為本實驗數(shù)據(jù)通路總框圖,其中 ALU 由 2 片 74LS181 構(gòu)成,DR 1、DR2 和 AR 均為一片 74LS273 ,RAM 為一片 6116 芯片,R0 寄存器為一片 74LS374 芯片,△ 表示三態(tài)門 74LS245 ,時序發(fā)生器為虛擬實驗系統(tǒng)提供的虛擬組件。
實驗電路中涉及的主要控制信號如下:
- M :選擇 ALU 的運算模式( M=0 ,算術(shù)運算;M=1 ,邏輯運算)。
- S3,S2,S1,S0:選擇 ALU 的運算類型。如 M=0 時,設(shè)為 1001 表示加法運算。
- Cn:向 ALU 最低位輸入的進位信號, Cn=0 時有進位輸入, Cn=l 時無進位輸入。
- LDDR1:DR1的數(shù)據(jù)加載信號,與 T4 脈沖配合將總線上的數(shù)據(jù)打入 DR1 中。LDDR1 和 T4 通過與門進行與運算之后連接到 74LS273 芯片的 CP 引腳,當(dāng) LDDR1=1 時在 T4 的上升沿將數(shù)據(jù)鎖存到 DR1 。
- LDDR2:DR2 的數(shù)據(jù)加載信號,與 T4 脈沖配合將總線上的數(shù)據(jù)打入 DR2 中。LDDR2 和 T4 通過與門進行與運算之后連接到 74LS273 芯片的 CP 引腳,當(dāng) LDDR2=1 時在 T4 的上升沿將數(shù)據(jù)鎖存到 DR2 。
- MR:芯片 74LS273 的清零信號,低電平有效.本實驗恒置為 1 。
- ALU-BUS :ALU 輸出三態(tài)門使能信號,為 0 時三態(tài)門打開,ALU 運算結(jié)果輸出到總線。
- SW-BUS :開關(guān)輸出三態(tài)門使能信號,為 0 時三態(tài)門打開,SW7 ~ SW0 上的數(shù)據(jù)傳送到總線。
- CE:6116 片選信號。為 0 時 6116 正常工作。
- OE:存儲器讀信號, CE=0、 OE=0 為讀操作,在實驗中將其接地,恒置為0。
- WE:存儲器寫信號。與 T3 脈沖配合實現(xiàn)存儲器寫操作。WE 和 T3 通過與非門進行與非運算之后連接到 6116 芯片的 WE 引腳, 引腳低電平有效。在 CE=0、 OE=0 的條件下,當(dāng) WE=1 且 T3=l 時進行寫操作,否則進行讀操作。
- LDAR: AR 的地址加載信號,與 T3 脈沖配合將總線上的地址打入 AR 中。LDAR 和 T3 通過與門進行與運算之后連接到 74LS273 芯片的 CP 引腳,當(dāng) LDAR=1 時在 T3 的上升沿將地址鎖存到 AR 。
- R0-BUS:R0 芯片的輸出控制信號,連接 74LS374 芯片的 OE 引腳,為 0 時將 R0 中的數(shù)據(jù)輸出到總線,為 1 時輸出高阻態(tài)。
- LDR0:R0 的數(shù)據(jù)載入信號,與 T4 脈沖配合將總線上的數(shù)據(jù)打入 R0 中。LDR0 和 T4 通過與門進行與運算之后連接到 74LS374 芯片的 CP 引腳,當(dāng) LDR0=l 時在 T4 的上升沿將數(shù)據(jù)存入 R0 。
實驗原理
???????實驗所用電路如圖 6-1 所示,累加器、運算器、存儲器、數(shù)據(jù)開關(guān)等通過總線相連。在數(shù)據(jù)開關(guān)(SW7 ~ SW0)上設(shè)置的數(shù)據(jù)或地址可經(jīng)三態(tài)門發(fā)送至總線。DR1 和 DR2 從總線上接受數(shù)據(jù)并傳送到 ALU 進行運算,運算結(jié)果經(jīng)三態(tài)門送回總線。地址寄存器 AR 從總線上獲取地址并送至存儲器,存儲器按地址進行讀寫。存儲器在讀操作時,將讀出的數(shù)據(jù)發(fā)送至總線,在寫操作時從總線獲取數(shù)據(jù)并寫入。R0從總線上獲取數(shù)據(jù)并保存起來,需要時再把存入的數(shù)據(jù)輸出到總線上。數(shù)據(jù)顯示燈與總線相連,流經(jīng)總線的所有數(shù)據(jù)和地址都將顯示在數(shù)據(jù)燈上。
???????累加器是一種寄存器,用于存放算術(shù)邏輯運算的操作數(shù)或中間結(jié)果。本實驗把 R0 作為累加器,完成一次簡單的算術(shù)運算。為了調(diào)動各功能部件完成預(yù)定任務(wù),就要確定在每一個 CPU 周期,要對每一個功能部件發(fā)出什么樣的控制信號。
為方便進行實驗,將圖 6-1 中的所有控制信號歸納到表 6-1 中。實驗的主要任務(wù)就是確定這些控制信號在每一個 CPU 周期的取值。
實驗內(nèi)容與步驟
???????本實驗將 R0 用作累加器,完成一次加法運算。其中,被加數(shù)由數(shù)據(jù)開關(guān)輸入,加數(shù)存放在存儲器中,其地址也從數(shù)據(jù)開關(guān)輸入.運算結(jié)果存入存儲器中,存入的地址由數(shù)據(jù)開關(guān)設(shè)置。
- 運行虛擬實驗系統(tǒng),導(dǎo)入實驗電路圖,在電路中加入一個 74LS374 芯片作為累加寄存器 R0 ,將 R0 的數(shù)據(jù)線與總線相連.
- 按照表 6-1 中列出的所有控制信號線,并仔細(xì)檢查一遍,確保連接正確。連接好的電路如圖 6-2 所示。
- 進行電路預(yù)設(shè)置。將 DR1 、DR2 和 AR 的 置1, 時序發(fā)生器的 Step 置 1 。
- A→R0,A 從數(shù)據(jù)開關(guān)輸入。具體步驟如下:
(1)設(shè)計要使用的微命令,填入表 6-2中。
(2) 打開電源。
(3) 設(shè)置控制信號1:數(shù)據(jù)開關(guān)→R0():將數(shù)據(jù)開關(guān)設(shè)置為 A(00000011) ;單擊時序發(fā)生器的 Start 按鈕,等待一個 CPU 周期。 - 進行累加運算 B+R0→R0 , B 為存儲器操作數(shù),B 的地址由數(shù)據(jù)開關(guān)輸入,運算結(jié)果存入 R0 。具體步驟如下:
(1)設(shè)計好要使用的微命令,填入表 6-3 中。
(2)設(shè)置控制信號2:存儲器操作數(shù)→DR2 ( ):將數(shù)據(jù)開關(guān)設(shè)為 B 的地址(00001000);單擊 Start 按鈕。等待一個 CPU 周期后,B 的值已存入 DR2 。
(3)設(shè)置控制信號3:R0→DR1 ( ):單擊 Start 按鈕,等待一個 CPU 周期后,R0 的值已存入 DR1 。
(4)設(shè)置控制信號4:DR1+DR2→R0( );單擊 Start 按鈕。等待一個 CPU 周期后,運算結(jié)果已存入 R0。 - 存儲 R0→存儲單元 C,C 為存儲單元地址,從數(shù)據(jù)開關(guān)輸入。具體步驟如下:
(1)設(shè)計好要使用的微命令,填入表 6-4 中。
(2)設(shè)置控制信號5:存儲單元地址→AR ( );將數(shù)據(jù)開關(guān)設(shè)置為 C (00001001) : 單擊 Start 按鈕。等待一個 CPU 周期后,地址 C 已存入 AR 。
(3)設(shè)置控制信號6:R0→存儲單元( ):單擊 Start 按鈕。等待一個 CPU 周期后,運算結(jié)果已存入存儲單元。
(4)單擊菜單中的 “工具/存儲器芯片設(shè)置” ,查看存儲單元 09H 的值。
實驗驗證
參考總線與微命令
在原先基礎(chǔ)上另加一個 R0 寄存器
加上 R0 寄存器的總線路圖
預(yù)設(shè)置電路和設(shè)置微命令
打開電源
右上角按鈕分別對應(yīng)
S3、 S2、 S1、 S0、 M、 Cn、 CE、 WE、 LDAR、 LDDR1、 LDDR2、 ALU-BUS、 SW-BUS、LDR0、R0-BUS、
設(shè)置控制信號1
數(shù)據(jù)開關(guān)→R0( ):將數(shù)據(jù)開關(guān)設(shè)置為A(00000011);單擊時序發(fā)生器的Start按鈕,等待一個CPU周期。
設(shè)置控制信號2
存儲器操作數(shù)→DR2( ):將數(shù)據(jù)開關(guān)設(shè)為 B 的地址(00001000);單擊 Start 按鈕。等待一個 CPU 周期后,B 的值已存入 DR2 。
設(shè)置控制信號3
R0→DR1( ):單擊 Start 按鈕,等待一個 CPU 周期后,R0 的值已存入 DR1 。
設(shè)置控制信號4
DR1+DR2→R0( );單擊 Start 按鈕。等待一個 CPU 周期后,運算結(jié)果已存入R0 。
設(shè)置控制信號5
存儲單元地址→AR( );將數(shù)據(jù)開關(guān)設(shè)置為 C (00001001):單擊 Start 按鈕。等待一個 CPU 周期后,地址 C 已存入 AR文章來源:http://www.zghlxwxcb.cn/news/detail-456406.html
設(shè)置控制信號6
R0→存儲單元( ):單擊 Start 按鈕。等待一個 CPU 周期后,運算結(jié)果已存入存儲單元。文章來源地址http://www.zghlxwxcb.cn/news/detail-456406.html
思考與分析
- 什么是累加器?它的作用是什么?
- 什么是微指令?微指令與微命令的關(guān)系是什么?
到了這里,關(guān)于計算機組成原理 累加器實驗的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!