???個人主頁:Sarapines Programmer
???系列專欄:《機組 | 模塊單元實驗》
?詩賦清音:云生高巔夢遠游, 星光點綴碧海愁。 山川深邃情難晤, 劍氣凌云志自修。
?目錄
一、性能特點
1.1 系統(tǒng)功能及特點
1.1.1? 提供各個基本功能模塊
1.1.2?? 組成結(jié)構(gòu)
1.1.3? 監(jiān)控模塊
1.1.4? 操作方式:
1.2 ?實驗系統(tǒng)組成
二、實驗項目
2.1 ?算術(shù)邏輯運算單元實驗
2.1.1? 實驗?zāi)康?/p>
2.1.2? 實驗要求
2.1.3? 實驗說明
2.1.3.1? ALU單元實驗構(gòu)成(如圖2-1-1)
2.1.3.2? ALU單元的工作原理(如圖2-1-2)
2.1.3.3? 控制信號說明
2.1.4? 實驗步驟
實驗一:不帶進位位邏輯或運算實驗
實驗二:不帶進位位加法運算實驗
2.1.5? 實驗思考
2.2??通用寄存器單元實驗
2.2.1??實驗?zāi)康?/p>
2.2.2? 實驗要求
2.2.3? 實驗說明
2.2.3.1? 寄存器實驗構(gòu)成:
2.2.3.2? 通用寄存器單元的工作原理:(圖2-2-2)
2.2.3.3? 控制信號說明
2.2.4? 實驗步驟
實驗一:數(shù)據(jù)輸入通用寄存器
實驗二:寄存器內(nèi)容無進位位左移實驗
實驗三:寄存器內(nèi)容無進位位右移實驗
2.3? 進位控制、通用寄存器判零實驗
2.3.1? 實驗?zāi)康?/p>
2.3.2? 實驗要求
2.3.3? 實驗說明
2.3.3.1? 進位和判零電路的實驗構(gòu)成
2.3.3.2?? 進位控制的原理:(如圖2-3-1)
2.3.3.3? 控制信號說明
2.3.4? 實驗步驟
實驗一:算術(shù)邏輯單元帶進位位的加法運算實驗
實驗二:帶進位移位實驗
2.4 ?存儲器和總線實驗
2.4.1? 實驗?zāi)康?/p>
2.4.2? 實驗要求
2.4.3? 實驗說明
2.4.3.1? 存儲器和總線的構(gòu)成
2.4.3.2? 存儲器和總線的原理
2.4.3.3? 控制信號說明
2.4.4? 實驗步驟
實驗一:存儲器的寫操作
實驗二:讀存儲器的數(shù)據(jù)到總線上
2.5 ?堆棧寄存器實驗
2.5.1? 實驗?zāi)康?/p>
2.5.2? 實驗要求
2.5.3? 實驗說明
2.5.3.1? 堆棧寄存器組實驗構(gòu)成(圖2-5-1)
2.5.3.2? 堆棧寄存器組原理(圖2-5-2)
2.5.3.3? 控制信號說明:
2.5.4? 實驗步驟
實驗一:對4個寄存器進行寫入操
實驗二:對4個寄存器進行讀出操作
2.6 ?微程序控制單元實驗
2.6.1? 實驗?zāi)康?/p>
2.6.2? 實驗要求
2.6.3? 實驗說明
2.6.3.1? 微程序控制單元的構(gòu)成:(如圖2-6-1)
2.6.3.2? 微程序控制單元原理:(如圖2-6-2)
2.6.4??控制信號說明:
2.6.5??實驗步驟:
實驗一:微地址打入操作
實驗二:微地址+1操作
2.7 ?指令部件模塊實驗
2.7.1? 實驗?zāi)康?/p>
2.7.2? 實驗要求
2.7.3? 實驗說明
2.7.3.1? 指令部件模塊實驗的構(gòu)成:
2.7.3.2? 指令部件模塊原理:(如圖2-7-2)
2.7.3.3? 控制信號說明
2.7.4? 實驗步驟
實驗一:PC計數(shù)器置數(shù)
實驗二:PC計數(shù)器加1
實驗三:置當(dāng)前指令寄存器
2.8 ?時序與啟停實驗
2.8.1? 實驗?zāi)康?/p>
2.8.2? 實驗要求
2.8.3? 實驗說明
2.8.3.1? 時序與啟停單元的構(gòu)成:
2.8.3.2? 啟停、脈沖單元的原理:
2.8.3.3? 信號說明:
2.8.4? 實驗步驟:
2.9 ?模型機的總體設(shè)計
2.9.1? 實驗?zāi)康?/p>
2.9.2? 實驗原理
2.9.3? 模型機的總體設(shè)計
2.9.3.1? 設(shè)計整機邏輯框圖
2.9.3.2? 設(shè)計指令系統(tǒng)
2.9.4? 設(shè)計微程序及其實現(xiàn)方法
2.9.5 ?設(shè)計實驗平臺運行中時序安排
2.9.6? 設(shè)計指令執(zhí)行流程
??總結(jié)
一、性能特點
1.1 系統(tǒng)功能及特點
1.1.1? 提供各個基本功能模塊
我們在比較了國內(nèi)的多家實驗平臺廠商的產(chǎn)品后,發(fā)現(xiàn)多數(shù)產(chǎn)品不是連線過于繁瑣,就是由CPLD來替代所有的硬件。市場需要一種連線不多,但具有靈活性的實驗系統(tǒng),不同設(shè)計方案,不同的連線方法,可以得到不同的結(jié)果。
我們所提供的實驗平臺本身就是一個可運行的系統(tǒng)。整個系統(tǒng)采用功能模塊化的設(shè)計思路,實驗者可單獨設(shè)計和調(diào)試各個功能模塊,最終實現(xiàn)一個新的系統(tǒng),這樣可大大減輕實驗指導(dǎo)教師的工作量。
整個實驗平臺提供了運算器模塊、指令部件模塊、堆棧寄存器模塊、存儲器模塊、總線傳輸模塊、微程序模塊、啟停和時序模塊,以及用于調(diào)試和觀察數(shù)據(jù)的監(jiān)控模塊。
1.1.2?? 組成結(jié)構(gòu)
整個系統(tǒng)采用總線結(jié)構(gòu),總線結(jié)構(gòu)具有擴展能力強,結(jié)構(gòu)簡單清晰,連線方便快捷等特點。本實驗平臺的總線分為:內(nèi)部、外部地址總線,內(nèi)部、外部數(shù)據(jù)總線。整個系統(tǒng)的各個總線都布有測試孔,以便于測試。各模塊的電源、地、地址數(shù)據(jù)總線已經(jīng)按照標(biāo)準(zhǔn)連接完畢,控制信號都按各功能模塊的布局引出,實驗者可方便的定位各測試點。
1.1.3? 監(jiān)控模塊
監(jiān)控模塊為實驗調(diào)試和程序設(shè)計帶來了相當(dāng)?shù)谋憷?。實驗者可以通過監(jiān)控模塊來修改微程序和內(nèi)存中的程序。為了實驗的連貫性,系統(tǒng)中還提供了FLASH MEMORY 來保存微程序和程序,掉電時內(nèi)容不會丟失,實驗者可隨時保存和讀取微程序與程序。為了使實驗者隨時觀察數(shù)據(jù)和地址,實驗平臺提供了一塊2*16的液晶屏,可同時顯示當(dāng)前地址、當(dāng)前總線上的數(shù)據(jù)和當(dāng)前的微指令和一些關(guān)鍵寄存器的值。
1.1.4? 操作方式:
單機方式:整個系統(tǒng)可單獨使用,可通過24個按鍵和液晶來編輯內(nèi)存和微程序存儲器中的數(shù)據(jù),在系統(tǒng)運行時可監(jiān)控所有關(guān)鍵數(shù)據(jù)。實驗者使用撥動開關(guān)來產(chǎn)生二進制碼進行微程序和程序的編寫。
聯(lián)機方式:系統(tǒng)可與PC機相連,PC機上提供了windows界面的操作軟件,實驗者可在PC機上進行編輯、加載、動態(tài)調(diào)試等操作。
1.2 ?實驗系統(tǒng)組成
本實驗平臺由兩部分組成,左邊為實驗?zāi)K部分,主要分布著各個實驗單元和監(jiān)控單元。實驗平臺的右邊為數(shù)據(jù)輸出板,板上分布著24個二進制開關(guān)、若干個LED發(fā)光二極管、DIP插座,還有1塊用于顯示當(dāng)前狀況的液晶板。
二、實驗項目
2.1 ?算術(shù)邏輯運算單元實驗
2.1.1? 實驗?zāi)康?/strong>
1、掌握簡單運算器的數(shù)據(jù)傳輸方式
2、掌握74LS181的功能和應(yīng)用
2.1.2? 實驗要求
完成不帶進位位算術(shù)、邏輯運算實驗。按照實驗步驟完成實驗項目,了解算術(shù)邏輯運算單元的運行過程。
2.1.3? 實驗說明
2.1.3.1? ALU單元實驗構(gòu)成(如圖2-1-1)
1、運算器由2片74LS181構(gòu)成8位字長的ALU單元。
2、2片74LS374作為2個數(shù)據(jù)鎖存器(DR1、DR2),8芯插座ALU-IN作為數(shù)據(jù)輸入端,可通過短8芯扁平電纜,把數(shù)據(jù)輸入端連接到數(shù)據(jù)總線上。
運算器的數(shù)據(jù)輸出由一片74LS244(輸出緩沖器)來控制,8芯插座ALU-OUT作為數(shù)據(jù)輸出端,可通過短8芯扁平電纜把數(shù)據(jù)輸出端連接到數(shù)據(jù)總線上。
2.1.3.2? ALU單元的工作原理(如圖2-1-2)
數(shù)據(jù)輸入鎖存器DR1的EDR1為低電平,并且D1CK有上升沿時,把來自數(shù)據(jù)總線的數(shù)據(jù)打入鎖存器DR1。同樣使EDR2為低電平、D2CK有上升沿時把數(shù)據(jù)總線上的數(shù)據(jù)打入數(shù)據(jù)鎖存器DR2。
算術(shù)邏輯運算單元的核心是由2片74LS181組成,它可以進行2個8位二進制數(shù)的算術(shù)邏輯運算,74LS181的各種工作方式可通過設(shè)置其控制信號來實現(xiàn)(S0、S1、S2、S3、M、CN)。當(dāng)實驗者正確設(shè)置了74LS181的各個控制信號,74LS181會運算數(shù)據(jù)鎖存器DR1、DR2內(nèi)的數(shù)據(jù)。由于DR1、DR2已經(jīng)把數(shù)據(jù)鎖存,只要74LS181的控制信號不變,那么74LS181的輸出數(shù)據(jù)也不會發(fā)生改變。
輸出緩沖器采用74LS244,當(dāng)控制信號ALU-O為低電平時,74LS244導(dǎo)通,把74LS181的運算結(jié)果輸出到數(shù)據(jù)總線;當(dāng)ALU-O為高電平時,74LS244的輸出為高阻。
2.1.3.3? 控制信號說明
信號名稱 |
作? 用 |
有效電平 |
EDR1 |
選通DR1寄存器 |
低電平有效 |
EDR2 |
選通DR2寄存器 |
低電平有效 |
D1CK |
DR1寄存器工作脈沖 |
上升沿有效 |
D2CK |
DR2寄存器工作脈沖 |
上升沿有效 |
S0~S3 |
74LS181工作方式選擇 |
見附表 |
M |
選擇邏輯或算術(shù)運算 |
高電平為邏輯運算,低電平為算術(shù)運算 |
CN |
有無進位輸入 |
高電平有效 |
CCK |
進位寄存器的工作脈沖 |
上升沿有效 |
ALU-O |
74LS181計算結(jié)果輸出至總線 |
低電平有效 |
2.1.4? 實驗步驟
實驗一:不帶進位位邏輯或運算實驗
把ALU-IN(8芯的盒型插座)與右板上的二進制開關(guān)單元中J01插座相連(對應(yīng)二進制開關(guān)H16~H23),把ALU-OUT(8芯的盒型插座)與數(shù)據(jù)總線上的DJ2相連。
把D1CK和D2CK用連線連到脈沖單元的PLS1上,把EDR1、EDR2、ALU-O、S0、S1、S2、S3、CN、M接入二進制開關(guān)(請按下表接線)。
控制信號 |
接入開關(guān)位號 |
D1CK |
PLS1? 孔 |
D2CK |
PLS1? 孔 |
EDR1 |
H8??? 孔 |
EDR2 |
H7??? 孔 |
ALU-O |
H6??? 孔 |
CN |
H5?? ?孔 |
M |
H4?? ?孔 |
S3 |
H3?? ?孔 |
S2 |
H2??? 孔 |
S1 |
H1??? 孔 |
S0 |
H0??? 孔 |
接線圖示:
● 按啟停單元中的運行按鈕,使實驗平臺處于運行狀態(tài)。
● 二進制開關(guān)H16~H23作為數(shù)據(jù)輸入,置33H(對應(yīng)開關(guān)如下表)。
H23 |
H22 |
H21 |
H20 |
H19 |
H18 |
H17 |
H16 |
數(shù)據(jù)總線值 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
8位數(shù)據(jù) |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
33H |
置各控制信號如下:
H8 |
H7 |
H6 |
H5 |
H4 |
H3 |
H2 |
H1 |
H0 |
EDR1 |
EDR2 |
ALU-O |
CN |
M |
S3 |
S2 |
S1 |
S0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
● 按脈沖單元中的PLS1脈沖按鍵,在D1CK上產(chǎn)生一個上升沿,把33H打入DR1數(shù)據(jù)鎖存器,通過邏輯筆或示波器來測量確定DR1寄存器(74LS374)的輸出端,檢驗數(shù)據(jù)是否進入DR1中。置S3、S2、S1、S0、M為11101時,總線指示燈顯示DRl中的數(shù),而置成10010時總線指示燈顯示DR2中的數(shù)。
● 二進制開關(guān)H16~H23作為數(shù)據(jù)輸入,置55H(對應(yīng)開關(guān)如下表)。
H23 |
H22 |
H21 |
H20 |
H19 |
H18 |
H17 |
H16 |
數(shù)據(jù)總線值 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
8位數(shù)據(jù) |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
55H |
置各控制信號如下:
H8 |
H7 |
H6 |
H5 |
H4 |
H3 |
H2 |
H1 |
H0 |
EDR1 |
EDR2 |
ALU-O |
CN |
M |
S3 |
S2 |
S1 |
S0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
● 按脈沖單元中的PLS1脈沖按鍵,在D2CK上產(chǎn)生一個上升沿的脈沖,把55H打入DR2數(shù)據(jù)鎖存器。
● 經(jīng)過74LS181的計算,把運算結(jié)果(F=A或B)輸出到數(shù)據(jù)總線上,數(shù)據(jù)總線上的LED顯示燈IDB0~IDB7應(yīng)該顯示為77H。
實驗二:不帶進位位加法運算實驗
● 二進制開關(guān)H16~H23作為數(shù)據(jù)輸入,置33H(對應(yīng)開關(guān)如下表)。
H23 |
H22 |
H21 |
H20 |
H19 |
H18 |
H17 |
H16 |
數(shù)據(jù)總線值 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
8位數(shù)據(jù) |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
33H |
置各控制信號如下:
H8 |
H7 |
H6 |
H5 |
H4 |
H3 |
H2 |
H1 |
H0 |
EDR1 |
EDR2 |
ALU-O |
CN |
M |
S3 |
S2 |
S1 |
S0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
● 按脈沖單元中的PLS1脈沖按鍵,在D1CK上產(chǎn)生一個上升沿,把33H打入DR1數(shù)據(jù)鎖存器,通過邏輯筆或示波器來測量確定DR1寄存器(74LS374)的輸出端,檢驗數(shù)據(jù)是否進入DR1中。置S3、S2、S1、S0、M為11101時,總線指示燈顯示DRl中的數(shù),而置成10010時總線指示燈顯示DR2中的數(shù)。
● 二進制開關(guān)H16~H23作為數(shù)據(jù)輸入,置55H(對應(yīng)開關(guān)如下表)。
置各控制信號如下:
H8 |
H7 |
H6 |
H5 |
H4 |
H3 |
H2 |
H1 |
H0 |
EDR1 |
EDR2 |
ALU-O |
CN |
M |
S3 |
S2 |
S1 |
S0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
● 按脈沖單元中的PLS1脈沖按鍵,在D2CK上產(chǎn)生一個上升沿,把55H打入DR2數(shù)據(jù)鎖存器。
● 經(jīng)過74LS181的計算,把運算結(jié)果(F=A加B)輸出到數(shù)據(jù)總線上,數(shù)據(jù)總線上的LED顯示燈IDB0~IDB7應(yīng)該顯示為88H。
2.1.5? 實驗思考
驗證74LS181的算術(shù)運算和邏輯運算,在保持DR1=65H、DR2=A7H時,改變運算器的功能設(shè)置,觀察運算器的輸出,填寫以下表格來進行分析和比較。
H23 |
H22 |
H21 |
H20 |
H19 |
H18 |
H17 |
H16 |
數(shù)據(jù)總線值 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
8位數(shù)據(jù) |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
55H |
DR1 |
DR2 |
S3 |
S2 |
S1 |
S0 |
M=0 (算術(shù)運算) |
M=1 邏輯運算 |
|
CN=1 |
CN=0 |
|||||||
65 |
A7 |
0 |
0 |
0 |
0 |
F= |
F= |
F= |
65 |
A7 |
0 |
0 |
0 |
1 |
F= |
F= |
F= |
65 |
A7 |
0 |
0 |
1 |
0 |
F= |
F= |
F= |
65 |
A7 |
0 |
0 |
1 |
1 |
F= |
F= |
F= |
65 |
A7 |
0 |
1 |
0 |
0 |
F= |
F= |
F= |
65 |
A7 |
0 |
1 |
0 |
1 |
F= |
F= |
F= |
65 |
A7 |
0 |
1 |
1 |
0 |
F= |
F= |
F= |
65 |
A7 |
0 |
1 |
1 |
1 |
F= |
F= |
F= |
65 |
A7 |
1 |
0 |
0 |
0 |
F= |
F= |
F= |
65 |
A7 |
1 |
0 |
0 |
1 |
F= |
F= |
F= |
65 |
A7 |
1 |
0 |
1 |
0 |
F= |
F= |
F= |
65 |
A7 |
1 |
0 |
1 |
1 |
F= |
F= |
F= |
65 |
A7 |
1 |
1 |
0 |
0 |
F= |
F= |
F= |
65 |
A7 |
1 |
1 |
0 |
1 |
F= |
F= |
F= |
65 |
A7 |
1 |
1 |
1 |
0 |
F= |
F= |
F= |
65 |
A7 |
1 |
1 |
1 |
1 |
F= |
F= |
F= |
附74LS181的邏輯
方式 |
M=1邏輯運算 |
M=0算術(shù)運算 |
|
S3 S2 S1 S0 |
邏輯運算 |
CN=1(無進位) |
CN=0(有進位) |
0000 |
F=/A |
F=A |
F=A加1 |
0001 |
F=/(A+B) |
F=A+B |
F=(A+B)加1 |
0010 |
F=/A B |
F=A+/B |
F=(A+/B)加1 |
0011 |
F=0 |
F=減1(2的補) |
F=0 |
0100 |
F=/(AB) |
F=A加A/B |
F=A加A/B加1 |
0101 |
F=/B |
F=(A+B)加A/B |
F=(A+B)加A/B加1 |
0110 |
F=A⊕B |
F=A減B減1 |
F=A減B |
0111 |
F=A /B |
F=A/B減1 |
F=A/B |
1000 |
F=/A+B |
F=A 加AB |
F=A 加AB加 1 |
1001 |
F= /(A⊕B ) |
F=A加B |
F=A加B加1 |
1010 |
F=B |
F=(A+/B)加AB |
F=(A+/B)加AB加1 |
1011 |
F=AB |
F=AB減1 |
F=AB |
1100 |
F=1 |
F=A加 A |
F=A加 A 加1 |
1101 |
F=A+/B |
F=(A+B) 加 A |
F=(A+B) 加 A 加1 |
1110 |
F=A+B |
F=(A+/B)加A |
F=(A+/B)加A加1 |
1111 |
F=A |
F=A減1 |
F=A |
2.2??通用寄存器單元實驗
2.2.1??實驗?zāi)康?/h4>
了解通用寄存器的組成和硬件電路,利用通用寄存器實現(xiàn)數(shù)據(jù)的置數(shù)、左移、右移等功能。
2.2.2? 實驗要求
按照實驗步驟完成實驗項目, 實現(xiàn)通用寄存器移位操作。了解通用寄存器單元的工作原理運用。
2.2.3? 實驗說明
2.2.3.1? 寄存器實驗構(gòu)成:
1、通用寄存器由2片GAL16V8構(gòu)成8位字長的寄存器單元。8芯插座RA-IN作為數(shù)據(jù)輸入端,可通過短8芯扁平電纜,把數(shù)據(jù)輸入端連接到數(shù)據(jù)總線上。
2、數(shù)據(jù)輸出由一片74LS244(輸出緩沖器)來控制。用8芯插座RA-OUT作為數(shù)據(jù)輸出端,可通過短8芯扁平電纜,把數(shù)據(jù)輸出端連接到數(shù)據(jù)總線。
3、判零和進位電路由1片GAL、1片7474和一些常規(guī)芯片組成,用2個LED(ZD、CY)發(fā)光管分別顯示其狀態(tài)。其中ZD為判零位顯示燈,CY為進位位顯示燈。
2.2.3.2? 通用寄存器單元的工作原理:(圖2-2-2)
通用寄存器單元的核心部件為2片GAL16V8,它具有鎖存、左移、右移、保存等功能。各個功能都由X1、X2信號和工作脈沖RACK來決定。當(dāng)置ERA=0、X0=1、X1=1,RACK有上升沿時,把總線上的數(shù)據(jù)打入通用寄存器??赏ㄟ^設(shè)置X0、X1來指定通用寄存器工作方式,通用寄存器的輸出端Q0~Q7接入判零電路。LED(ZD)亮?xí)r,表示當(dāng)前通用寄存器內(nèi)數(shù)據(jù)為0。
輸出緩沖器采用74LS244,當(dāng)控制信號RA-O為低時,74LS244開通,把通用寄存器內(nèi)容輸出到總線;當(dāng)RA-O為高時,74LS244的輸出為高阻。
GAL 方程如下:
??????? Clk,OE????????? pin 1,11;
??????? A,B,C,D??? ?????pin 3,4,5,6;
??????? QA,QB,QC,QD?? pin 18,17,14,13;
??????? S0,S1,SIL,SIR??? pin 8,9,2,7;
??????? Q =[QD,QC,QB,QA];
??????? I =[D,C,B,A];
??????? SL=[QC,QB,QA,SIL];
??????? SR =[SIR,QD,QC,QB];
equations
??????? Q:= S0 & S1 & I
????????? # S0 &!S1 & SR
????????? # !S0 &S1 & SL
????????? #!S0 &!S1 & Q;
圖2-2-2
2.2.3.3? 控制信號說明
信號名稱 |
作????? 用 |
有效電平 |
X0、X1 |
通用寄存器的工作模式 |
見附表 |
ERA |
選通通用寄存器 |
低電平有效 |
RA-O |
通用寄存器內(nèi)容輸出至總線 |
低電平有效 |
RACK |
通用寄存器工作脈沖 |
上升延有效 |
M |
在ALU單元中作為邏輯和算術(shù)運算的選擇。在本實驗中決定是否帶進位移位 |
0 帶進位 |
1 不帶進位 |
2.2.4? 實驗步驟
實驗一:數(shù)據(jù)輸入通用寄存器
● 把RA-IN(8芯的盒型插座)與右板上二進制開關(guān)單元中的J01插座相連(對應(yīng)二進制開關(guān)H16~H23),把RA-OUT(8芯的盒型插座)與數(shù)據(jù)總線上的DJ6相連。
● 把RACK連到脈沖單元的PLS1,把ERA、X0、X1、RA-O、M接入二進制撥動開關(guān)。(請按下表接線)。
控制信號 |
接入開關(guān)位號 |
RACK |
PLS1? 孔 |
X0 |
H12?? 孔 |
X1 |
H11? 孔 |
ERA |
H10? 孔 |
RA-O |
H9? 孔 |
M |
H4? 孔 |
接線圖示:
● 二進制開關(guān)H16~H23作為數(shù)據(jù)輸入,置42H(對應(yīng)開關(guān)如下表)。
H23 |
H22 |
H21 |
H20 |
H19 |
H18 |
H17 |
H16 |
數(shù)據(jù)總線值 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
8位數(shù)據(jù) |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
42H |
置各控制信號如下:
H12 |
H11 |
H10 |
H9 |
H4 |
X0 |
X1 |
ERA |
RA-O |
M |
1 |
1 |
0 |
0 |
1 |
● 按啟停單元中的運行按鈕,置實驗平臺為運行狀態(tài)。
● 按脈沖單元中的PLS1脈沖按鍵,在RACK上產(chǎn)生一個上升沿,把42H打入通用寄存器。
●此時數(shù)據(jù)總線上的指示燈IDB0~IDB7 應(yīng)該顯示為42H。由于通用寄存器內(nèi)容不為0,所以LED(ZD)燈滅。
實驗二:寄存器內(nèi)容無進位位左移實驗
?按照實驗1數(shù)據(jù)輸入的方法把數(shù)據(jù)42H打入通用寄存器中,數(shù)據(jù)總線上顯示42H。實現(xiàn)左移功能,置各控制信號如下:
H12 |
H11 |
H10 |
H9 |
H4 |
X0 |
X1 |
ERA |
RA-O |
M |
0 |
1 |
0 |
0 |
1 |
● 按啟停單元中的運行按鈕,置實驗平臺為運行狀態(tài)。
● 按脈沖單元中的PLS1脈沖按鍵,在RACK上產(chǎn)生一個上升沿,使通用寄存器中的值左移。
● 此時數(shù)據(jù)總線上的LED指示燈IDB0~IDB7 應(yīng)該顯示為84H。由于通用寄存器內(nèi)容不為0,所以ZD(LED)燈滅。
● 按脈沖單元中的PLS1脈沖按鍵,使通用寄存器中的值左移,此時數(shù)據(jù)總線上的LED指示燈IDB0~IDB7應(yīng)該顯示為09H。若一直按PLS1,在總線上將看見數(shù)據(jù)循環(huán)左移的現(xiàn)象。
實驗三:寄存器內(nèi)容無進位位右移實驗
● 按照實驗1數(shù)據(jù)輸入的方法把數(shù)據(jù)42H打入通用寄存器中,數(shù)據(jù)總線上顯示42H。實現(xiàn)右移功能,置各控制信號如下:
H12 |
H11 |
H10 |
H9 |
H4 |
X0 |
X1 |
ERA |
RA-O |
M |
1 |
0 |
0 |
0 |
1 |
● 按啟停單元中的運行按鈕,置實驗平臺為運行狀態(tài)。
● 按脈沖單元中的PLS1脈沖按鍵,在RACK上產(chǎn)生一個上升沿,使通用寄存器中的值右移。
● 此時數(shù)據(jù)總線上的LED指示燈IDB0~IDB7 應(yīng)該顯示為21H。由于通用寄存器內(nèi)容不為0,所以ZD(LED)燈滅。
● 按脈沖單元中的PLS1脈沖按鍵,使通用寄存器中的值右移,此時數(shù)據(jù)總線上的LED指示燈IDB0~IDB7應(yīng)該顯示為90H。若一直按PLS1,在總線上將看見數(shù)據(jù)循環(huán)左移的現(xiàn)象。
附:通用寄存器的邏輯
通用寄存器(8位并入并出移位寄存器)
CLR |
X1?? X0 |
CLK |
SL? SR |
QA~AH |
0 |
X??? X |
X |
X?? X |
全 0 |
1 |
X??? X |
0 |
X?? X |
保持不變 |
1 |
1???? 1 |
上升沿 |
X?? X |
并行接數(shù)A~H |
1 |
0???? 1 |
上升沿 |
X?? 0 |
右移 移入0 |
1 |
0???? 1 |
上升沿 |
X?? 1 |
右移 移入1 |
1 |
1???? 0 |
上升沿 |
0?? X |
左移 移入0 |
1 |
1???? 0 |
上升沿 |
1?? X |
左移 移入1 |
2.3? 進位控制、通用寄存器判零實驗
2.3.1? 實驗?zāi)康?/strong>
1、熟悉帶進位控制的算術(shù)邏輯運算器的組成和硬件電路
用進位寄存器來實現(xiàn)帶進位的左移、右移。
2、熟悉判零線路。
2.3.2? 實驗要求
按照實驗步驟完成實驗項目,實現(xiàn)帶進位位的算術(shù)邏輯運算,通用寄存器實現(xiàn)帶進位的左移、右移功能,理解通用寄存器的判零電路。
2.3.3? 實驗說明
2.3.3.1? 進位和判零電路的實驗構(gòu)成
進位和判零電路由1片GAL、74LS74和兩個LED(CY、ZD)發(fā)光管組成。當(dāng)有進位時CY發(fā)光管亮,ZD發(fā)光管亮表示當(dāng)前通用寄存器的內(nèi)容為0。
圖2-3-1
2.3.3.2?? 進位控制的原理:(如圖2-3-1)
● 進位電路與通用寄存器、ALU有著非常緊密的關(guān)系,算術(shù)邏輯單元的進位輸出和通用寄存器帶進位移動都會影響進位寄存器中的結(jié)果。
● 若實驗者在做算術(shù)邏輯實驗時,選擇了算術(shù)運算方式,當(dāng)ALU的計算結(jié)果輸出至總線時,在CCK 上來一個上升沿,將把74LS181的進位輸出位(Cn+4)上的值(為了統(tǒng)一進位標(biāo)識,1表示有進位,0表示無進位),打入進位寄存器(74LS74)中,并且有進位時LED(CY)發(fā)光。
● 在進行通用寄存器的數(shù)據(jù)移位實驗時,把CCK和通用寄存器的工作脈沖接在一起,當(dāng)選擇帶進位左移動時,在工作脈沖下,通用寄存器的最高位將移入進位寄存器中,進位寄存器中的值將移入通用寄存器的最低位。當(dāng)進位寄存器中的值為1時,LED(CY)發(fā)亮,若進位寄存器中的值為0時,LED(CY)滅。同樣在帶進位右移時,也會產(chǎn)生這樣的效果。
● 通過把通用寄存器中的每一位做“或”運算,當(dāng)寄存器的每一位為0時,ZD輸出0,LED(ZD)發(fā)光。
以下為GAL中的方程:
Q0? Q1? Q2? Q3? Q4? Q5? Q6? Q7 M? X0? X1? GND
Cn+4? ALU_O? CY? NC? NC? CY_I? ZD? C? SR SL ERA VCC???
SR=M * /X1 * X0 * Q0 + /M * /X1 *? X0 * CY + /ALU_O*/Cn+4
SL=M * X1 * /X0 * Q7 + /M *? X1 * /X0 * CY + /ALU_O*/Cn+4
CY_I = /X1 * X0 * Q0 + X1 * /X0 *Q7 + /ALU_O*/Cn+4
/ZD = /Q0 * /Q1 * /Q2 * /Q3 * /Q4 * /Q5 * /Q6 * /Q7
2.3.3.3? 控制信號說明
信號名稱 |
作? 用 |
有效電平 |
EDR1 |
選通DR1寄存器 |
低電平有效 |
EDR2 |
選通DR2寄存器 |
低電平有效 |
D1CK |
DR1寄存器工作脈沖 |
上升沿有效 |
D2CK |
DR2寄存器工作脈沖 |
上升沿有效 |
S0~S3 |
74LS181工作方式選擇 |
見附表 |
M |
選擇邏輯或算術(shù)運算 |
低電平為邏輯運算,高電平為算術(shù)運算 |
CN |
有無進位輸入 |
高電平有效 |
CCK |
進位寄存器的工作脈沖 |
上升沿有效 |
ALU-O |
74LS181計算結(jié)果輸出至總線 |
低電平有效 |
X0、X1 |
通用寄存器的工作模式 |
見附表 |
ERA |
選通通用寄存器 |
低電平有效 |
RA-O |
通用寄存器內(nèi)容輸出至總線 |
低電平有效 |
RACK |
通用寄存器工作脈沖 |
上升延有效 |
M |
在ALU單元中作為邏輯和算術(shù)運算的選擇。在本實驗中決定是否帶進位移位 |
0 帶進位 1 不帶進位 |
2.3.4? 實驗步驟
實驗一:算術(shù)邏輯單元帶進位位的加法運算實驗
● 把ALU-IN(8芯的盒型插座)與右板上的二進制開關(guān)單元中J01插座相連(對應(yīng)二進制開關(guān)H16~H23),把ALU-OUT(8芯的盒型插座)與數(shù)據(jù)總線上的DJ2相連。
● 把D1CK、D2CK、CCK用連線連到脈沖單元的PLS1上,把EDR1、EDR2、ALU-O、S0、S1、S2、S3、CN、M接入二進制撥動開關(guān)(請按下表接線)。
控制信號 |
接入開關(guān)位號 |
D1CK |
PLS1? 孔 |
D2CK |
PLS1? 孔 |
CCK |
PLS1? 孔 |
EDR1 |
H8??? 孔 |
EDR2 |
H7??? 孔 |
ALU-O |
H6??? 孔 |
CN |
H5?? ?孔 |
M |
H4? ??孔 |
S3 |
H3?? ?孔 |
S2 |
H2??? 孔 |
S1 |
H1??? 孔 |
S0 |
H0??? 孔 |
接線圖示:
● 按啟停單元中停止按鈕,實驗平臺停機并且把進位寄存器CY清零(CY燈滅)。在本實驗中使用算術(shù)邏輯單元作為進位發(fā)生器,按運行鍵,實驗即進入運行狀態(tài)。
● 二進制開關(guān)H16~H23作為數(shù)據(jù)輸入,置65H(對應(yīng)開關(guān)如下表)。
H23 |
H22 |
H21 |
H20 |
H19 |
H18 |
H17 |
H16 |
數(shù)據(jù)總線值 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
8位數(shù)據(jù) |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
65H |
置各控制信號如下:
H8 |
H7 |
H6 |
H5 |
H4 |
H3 |
H2 |
H1 |
H0 |
EDR1 |
EDR2 |
ALU-O |
CN |
M |
S3 |
S2 |
S1 |
S0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
● 按脈沖單元中的PLS1脈沖按鍵,在D1CK上產(chǎn)生一個上升沿,把65H打入DR2數(shù)據(jù)鎖存器,通過邏輯筆或示波器來測量確定DR2寄存器(74LS374)的輸出端,檢驗數(shù)據(jù)是否進入DR2中。置S3、S2、S1、S0、M為11101時,總線指示燈顯示DRl中的數(shù),而置成10010時總線指示燈顯示DR2中的數(shù)。
● 二進制開關(guān)H16~H23作為數(shù)據(jù)輸入,置A7H(對應(yīng)開關(guān)如下表)。
H23 |
H22 |
H21 |
H20 |
H19 |
H18 |
H17 |
H16 |
數(shù)據(jù)總線值 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
8位數(shù)據(jù) |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
A7H |
置各控制信號如下:
H8 |
H7 |
H6 |
H5 |
H4 |
H3 |
H2 |
H1 |
H0 |
EDR1 |
EDR2 |
ALU-O |
CN |
M |
S3 |
S2 |
S1 |
S0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
● 按脈沖單元中的PLS1脈沖按鍵,在D2CK上產(chǎn)生一個上升沿,把A7H打入DR2數(shù)據(jù)鎖存器。
● 再置各控制信號如下:
H8 |
H7 |
H6 |
H5 |
H4 |
H3 |
H2 |
H1 |
H0 |
EDR1 |
EDR2 |
ALU-O |
CN |
M |
S3 |
S2 |
S1 |
S0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
● 按脈沖單元中的PLS1脈沖按鍵,在CCK上產(chǎn)生一個上升沿,把74LS181的進位打入進位寄存器中,在有進位的情況下,CY指示燈亮,并且ALU-O為0,把計算結(jié)果輸出到數(shù)據(jù)總線。
● 經(jīng)過74LS181的計算將產(chǎn)生進位,即Cn+4輸出0,當(dāng)把計算結(jié)果輸出到總線時,數(shù)據(jù)總線指示燈IDB0~IDB7將顯示結(jié)果0CH。
實驗二:帶進位移位實驗
● 按啟停單元中停止按鈕,實驗平臺停機時把進位寄存器CY清零(CY燈滅)。在本實驗中使用通用寄存器作為進位發(fā)生器,按運行鍵,實驗即進入運行狀態(tài)。
把RA-IN(8芯的盒型插座)與右板上的二進制開關(guān)單元中J01相連(對應(yīng)二進制開關(guān)H16~H23),把RA-OUT(8芯的盒型插座)與數(shù)據(jù)總線上的DJ6相連。
● 把CCK、RACK連到脈沖單元的PLS1,把ERA、X0、X1、RA-O、M接入二進制撥動開關(guān)。(請按下表接線)。
信號定義 |
接入開關(guān)位號 |
|
CCK |
PLS1? 孔 |
|
RACK |
PLS1? 孔 |
|
X0 |
H12?? 孔 |
|
X1 |
H11?? 孔 |
|
ERA |
H10?? 孔 |
|
RA-O |
H9??? 孔 |
|
M |
H4??? 孔 |
接線圖示:
● 二進制開關(guān)H16~H23作為數(shù)據(jù)輸入,置81H(對應(yīng)開關(guān)如下表)。
H23 |
H22 |
H21 |
H20 |
H19 |
H18 |
H17 |
H16 |
數(shù)據(jù)總線值 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
8位數(shù)據(jù) |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
81H |
置各控制信號如下:
H12 |
H11 |
H10 |
H9 |
H4 |
X0 |
X1 |
ERA |
RA-O |
M |
1 |
1 |
0 |
0 |
0 |
● 按脈沖單元中的PLS1脈沖按鍵,在RACK上產(chǎn)生一個上升沿,把81H打入通用寄存器內(nèi)。
● 此時數(shù)據(jù)總線上的指示燈IDB0~IDB7 應(yīng)該顯示為81H。由于通用寄存器內(nèi)容不為0,所以ZD(LED)燈滅。
置各控制信號如下:
H12 |
H11 |
H10 |
H9 |
H4 |
X0 |
X1 |
ERA |
RA-O |
M |
0 |
1 |
0 |
0 |
0 |
● 按脈沖單元中的PLS1脈沖按鍵,在RACK上產(chǎn)生一個上升沿,使通用寄存器中的值左移。因進位寄存器CY的初始值為0,在RACK脈沖作用下將CY打入通用寄存器的最低位Q0。同時在CCK脈沖作用下把通用寄存器的最高位Q7(為1)打入進位寄存器CY,使CY顯示燈亮,這樣就實現(xiàn)了帶進位的左移功能。
● 同樣置各控制信號如下,并且按脈沖單元中的PLS1脈沖按鍵,可實現(xiàn)帶進位的右移功能。
H12 |
H11 |
H10 |
H9 |
H4 |
X0 |
X1 |
ERA |
RA-O |
M |
1 |
0 |
0 |
0 |
0 |
把M作為是否帶進位的選擇,M=0 帶進位移位,M=1不帶進位移位??刂菩吞朮0、X1、M的功能狀態(tài)如下:
功能狀態(tài)表
X1 |
X0 |
M |
功能 |
移位操作 |
0 |
1 |
1 |
循環(huán)右移 |
Q7->Q6->Q5->Q4->Q3->Q2->Q1->Q0 |
0 |
1 |
0 |
帶進位循環(huán)右移 |
?CY->Q7->Q6->Q5->Q4->Q3->Q2->Q1->Q0 |
1 |
0 |
1 |
循環(huán)左移 |
?? Q7<-Q6<-Q5<-Q4<-Q3<-Q2<-Q1<-Q0 |
1 |
0 |
0 |
帶進位循環(huán)左移 |
CY<-Q7<-Q6<-Q5<-Q4<-Q3<-Q2<-Q1<-Q0 |
2.4 ?存儲器和總線實驗
2.4.1? 實驗?zāi)康?/strong>
熟悉存儲器和總線的硬件電路
2.4.2? 實驗要求
按照實驗步驟完成實驗項目,熟悉存儲器的讀、寫操作,理解在總線上數(shù)據(jù)傳輸?shù)姆椒ā?/p>
2.4.3? 實驗說明
2.4.3.1? 存儲器和總線的構(gòu)成
1、總線由1片74LS245、1片74LS244組成,把整個系統(tǒng)分為內(nèi)部總線和外部總線。2片74LS374鎖存當(dāng)前的數(shù)據(jù)、地址總線上的數(shù)據(jù)以供LED顯示。(如圖2-4-1)
2、存儲器采用靜態(tài)1片RAM(6264)。
3、存儲器的控制電路由1片74LS32和74LS08組成。(如圖2-4-2)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???圖2-4-1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖2-4-2
2.4.3.2? 存儲器和總線的原理
1、總線的原理:由于本系統(tǒng)內(nèi)使用8根地址線、8根數(shù)據(jù)線,所以使用1片74LS245作為數(shù)據(jù)總線,另1片74LS244作為地址總線(見圖2-4-3)??偩€把整個系統(tǒng)分為內(nèi)部數(shù)據(jù)、地址總線和外部數(shù)據(jù)、地址總線,由于數(shù)據(jù)總線需要進行內(nèi)、外部數(shù)據(jù)的交換,所以由BUS信號來控制數(shù)據(jù)的流向,當(dāng)BUS=1時數(shù)據(jù)由內(nèi)到外,當(dāng)BUS=0時,數(shù)據(jù)由外到內(nèi)。
圖2-4-3
2、由于本系統(tǒng)內(nèi)使用8根地址線、8位數(shù)據(jù)線,所以6264的A8~A12接地,其實際容量為256個字節(jié)(如圖2-4-4)。6264的數(shù)據(jù)、地址總線已經(jīng)接在總線單元的外部總線上。存儲器有3個控制信號:地址總線設(shè)置存儲器地址,RM=0時,把存儲器中的數(shù)據(jù)讀出到總線上;當(dāng)WM=0,并且EMCK有一個上升沿時,把外部總線上的數(shù)據(jù)寫入存儲器中。為了更方便地編輯內(nèi)存中的數(shù)據(jù),在實驗平臺處于停機狀態(tài)時,可由監(jiān)控來編輯其中的數(shù)據(jù)。
圖2-4-4
2.4.3.3? 控制信號說明
信號名稱 |
作? 用 |
有效電平 |
BUS |
總線方向選擇 |
|
RM |
6264的讀允許信號 |
低電平有效 |
WM |
6264的寫允許信號 |
低電平有效 |
EMCK |
6264的寫入脈沖信號 |
上升沿有效 |
CR |
監(jiān)控對6264的讀允許信號 |
低電平有效 |
CW |
監(jiān)控對6264的寫允許信號 |
低電平有效 |
M/C |
監(jiān)控選擇程序空間或微程序空間 |
2.4.4? 實驗步驟
實驗一:存儲器的寫操作
● 把內(nèi)部地址總線AJ1(8芯盒形插座)與右板上的二進制開關(guān)單元中J03插座相連(對應(yīng)二進制開關(guān)H0~H7),把內(nèi)部數(shù)據(jù)總線DJ8與右板上的J02插座相連(對應(yīng)二進制開關(guān)H8~H15)。
● 把EMCK連到脈沖單元的PLS1,WC、RC、BUS接入二進制的開關(guān)中。(請按下表接線)。
信號定義 |
接入開關(guān)位號 |
EMCK |
PLS1 孔 |
WM |
H22? 孔 |
RM |
H21? 孔 |
BUS |
H21? 孔 |
接線圖示:
● 按啟停單元中的運行按鈕,置實驗平臺為運行狀態(tài)。
● 二進制開關(guān)H0~H7作為地址(A0~A7)輸入,置55H(對應(yīng)開關(guān)如下表)。
H7 |
H6 |
H5 |
H4 |
H3 |
H2 |
H1 |
H0 |
數(shù)據(jù)總線值 |
A7 |
A6 |
A5 |
A4 |
A3 |
A2 |
A1 |
A0 |
8位數(shù)據(jù) |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
55H |
● 二進制開關(guān)H8~H15作為數(shù)據(jù)(D0~D7)輸入,置66H(對應(yīng)開關(guān)如下表)。
H15 |
H14 |
H13 |
H12 |
H11 |
H10 |
H9 |
H8 |
數(shù)據(jù)總線值 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
8位數(shù)據(jù) |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
66H |
置各控制信號如下:
H22 |
H21 |
WM |
RM、BUS |
0 |
1 |
● 按脈沖單元中的PLS1脈沖按鍵,在EMCK上產(chǎn)生一個上升沿,數(shù)據(jù)從內(nèi)部數(shù)據(jù)總線流向外部數(shù)據(jù)總線,將數(shù)據(jù)66H寫入地址為55H的存儲單元。
實驗二:讀存儲器的數(shù)據(jù)到總線上
在做好實驗1的基礎(chǔ)上,保持電源開啟和線路連接不變,只拔掉內(nèi)部數(shù)據(jù)總線DJ8與CPT-B板上的J02插座 (對應(yīng)二進制開關(guān)H8~H15) 的連接。
● 按啟停單元中的運行按鈕,置實驗平臺為運行狀態(tài)。
● 二進制開關(guān)H0~H7作為地址(A0~A7)輸入,置55H(對應(yīng)開關(guān)如下表)
H7 |
H6 |
H5 |
H4 |
H3 |
H2 |
H1 |
H0 |
數(shù)據(jù)總線值 |
A7 |
A6 |
A5 |
A4 |
A3 |
A2 |
A1 |
A0 |
8位數(shù)據(jù) |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
55H |
置各控制信號如下:
H22 |
H21 |
WM |
RM、BUS |
1 |
0 |
● 按脈沖單元中的PLS1脈沖按鍵,在EMCK上產(chǎn)生一個上升沿,數(shù)據(jù)從外部數(shù)據(jù)總線流向內(nèi)部數(shù)據(jù)總線,將存儲器55H單元中的內(nèi)容輸出,應(yīng)該為實驗1中的寫入的數(shù)據(jù)66H。此時數(shù)據(jù)總線上的指示燈IDB0~IDB7顯示結(jié)果66H。
2.5 ?堆棧寄存器實驗
2.5.1? 實驗?zāi)康?/strong>
1、熟悉堆棧概念
2、熟悉堆棧寄存器的組成和硬件電路
2.5.2? 實驗要求
按照實驗步驟完成實驗項目,對4個堆棧寄存器進行讀出、寫入數(shù)據(jù)操作。
2.5.3? 實驗說明
2.5.3.1? 堆棧寄存器組實驗構(gòu)成(圖2-5-1)
本系統(tǒng)內(nèi)有4個寄存器R0~R3,寄存器組由4個74LS374組成,由1片74LS139(2-4譯碼器)來選擇4個74LS374,并且由2片74LS32來組成控制線。8芯插座R-IN、R-OUT作為數(shù)據(jù)輸入、輸出端,可通過短8芯扁平電纜把數(shù)據(jù)輸入、輸出端連接到數(shù)據(jù)總線上。
圖2-5-1
2.5.3.2? 堆棧寄存器組原理(圖2-5-2)
由SA、SB兩根控制線通過74LS139譯碼來選擇4個寄存器(74LS374)。當(dāng)WR=0時,表示數(shù)據(jù)總線向寄存器寫入數(shù)據(jù),RCK為寄存器的工作脈沖,在有上升沿時把總線上數(shù)據(jù)打入74LS139選擇的那個寄存器。當(dāng)RR=0時,74LS139所選擇的寄存器上的數(shù)據(jù)輸出至數(shù)據(jù)總線。在本系統(tǒng)內(nèi)使用了WR=0作為寫入允許,RCK信號為上升沿時打入數(shù)據(jù)、RR=0時數(shù)據(jù)輸出。
圖2-5-2
2.5.3.3? 控制信號說明:
信號名稱 |
作? 用 |
有效電平 |
SA、SB |
選通寄存器 |
低電平有效 |
RR |
數(shù)據(jù)讀出允許 |
低電平有效 |
WR |
數(shù)據(jù)寫入允許 |
低電平有效 |
RCK |
寄存器寫入脈沖 |
上升沿有效 |
2.5.4? 實驗步驟
實驗一:對4個寄存器進行寫入操
將R-IN(8芯盒形插座)與右邊板上的二進制開關(guān)單元中J03插座相連(對應(yīng)二進制開關(guān)H0~H7),R-OUT可通過短8芯扁平電纜與數(shù)據(jù)總線上DJ4相連。把RR、WR、SA、SB接入二進制撥動開關(guān)(SA,SB借用X0,X1的H12,H11孔),把RCK連到脈沖單元的PLS1。(請按下表接線)。
信號定義 |
接入開關(guān)位號 |
RCK |
PLS1? 孔 |
RR |
H15?? 孔 |
WR |
H14?? 孔 |
SA |
H12?? 孔 |
SB |
H11?? 孔 |
接線圖示:
1、把數(shù)據(jù)寫入寄存器R0
● 二進制開關(guān)H0~H7作為數(shù)據(jù)(D0~D7)輸入,置11H(對應(yīng)開關(guān)如下表)
H7 |
H6 |
H5 |
H4 |
H3 |
H2 |
H1 |
H0 |
數(shù)據(jù)總線值 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
8位數(shù)據(jù) |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
11H |
● 按啟停單元中的運行按鈕,置實驗平臺為運行狀態(tài)。
● 置WR=0、RR=1、SB=0、SA=0 (對應(yīng)開關(guān)如下表)。
H15 |
H14 |
H12 |
H11 |
|||||
RR |
WR |
SA |
SB |
|||||
1 |
0 |
0 |
0 |
|||||
● 按脈沖單元中的PLS1脈沖按鍵,在RCK上產(chǎn)生一個上升沿的脈沖,把11H打入R0寄存器。
2、把數(shù)據(jù)寫入寄存器R1
● 置二進制開關(guān)H0~H7(D0~D7)為22H,各控制信號對應(yīng)開關(guān)如下表。
H15 |
H14 |
H12 |
H11 |
RR |
WR |
SA |
SB |
1 |
0 |
1 |
0 |
● 按脈沖單元中的PLS1脈沖按鍵,在RCK上產(chǎn)生一個上升沿的脈沖,把22H打入R1寄存器。
3、把數(shù)據(jù)寫入寄存器R2
● 置二進制開關(guān)H0~H7(D0~D7)為33H,各控制信號對應(yīng)開關(guān)如下表。
H15 |
H14 |
H12 |
H11 |
RR |
WR |
SA |
SB |
1 |
0 |
0 |
1 |
● 按脈沖單元中的PLS1脈沖按鍵,在RCK上產(chǎn)生一個上升沿的脈沖,把33H打入R2寄存器。
● 同理:置二進制開關(guān)H0~H7為44H,RR=1 WR=0、SA=1、SB=1,在RCK脈沖作用下把44H打入R3寄存器。
實驗二:對4個寄存器進行讀出操作
● 置WR=1、RR=0、SB=0、SA=0 (對應(yīng)開關(guān)如下表)。此時把寄存器R0數(shù)據(jù)讀出總線數(shù)據(jù)IDB0~IDB7指示燈將顯示11H。保持RR、WR的值不變(RR=0,WR=1),可通過分別設(shè)置SB、SA為10、01、11把R1,R2,R3中的值顯示在總線上。觀察寄存器輸出的數(shù)據(jù)是否與上實驗中寫入的數(shù)據(jù)相同。
H15 |
H14 |
H12 |
H11 |
RR |
WR |
SA |
SB |
0 |
1 |
0 |
0 |
附:74LS139的邏輯
74LS139 | ||||||
輸入 |
輸出 |
|||||
SB |
SA |
Y0 |
Y1 |
Y2 |
Y3 |
選擇寄存器 |
X |
X |
H |
H |
H |
H |
X |
0 |
0 |
0 |
1 |
1 |
1 |
R0 |
0 |
1 |
1 |
0 |
1 |
1 |
R1 |
1 |
0 |
1 |
1 |
0 |
1 |
R2 |
1 |
1 |
1 |
1 |
1 |
0 |
R3 |
2.6 ?微程序控制單元實驗
2.6.1? 實驗?zāi)康?/strong>
1、熟悉微程序控制器的原理
2、掌握微程序編制、寫入并觀察運行狀態(tài)
2.6.2? 實驗要求
按照實驗步驟完成實驗項目,掌握設(shè)置微地址、微指令輸出的方法
2.6.3? 實驗說明
2.6.3.1? 微程序控制單元的構(gòu)成:(如圖2-6-1)
8位微地址寄存器由2片74LS161組成;3片6264(3*8位)為微程序存儲器;24位微指令鎖存器由3片74LS374組成。
圖2-6-1
2.6.3.2? 微程序控制單元原理:(如圖2-6-2)
1、由于本系統(tǒng)中指令系統(tǒng)規(guī)模不大、功能較簡單,微指令可以采用全水平、不編碼的方式,每一個微操作控制信號由1位微代碼來表示,24位微代碼至少可表示24個不同的微操作控制信號。如要實現(xiàn)更多復(fù)雜的操作可通過增加一些譯碼電路來實現(xiàn)。
2、增量方式來控制微代碼的運行順序,每一條指令的微程序連續(xù)存放在微指令存儲器連續(xù)的單元中。
3、每一指令的微程序的入口地址是通過對指令操作碼的編碼來形成的。在本系統(tǒng)內(nèi)指令碼最長為8位,那么最多可形成256條指令。
4、在微程序存儲器的0單元存放取指指令,在啟動時微地址寄存器清零,執(zhí)行取指指令。每一段微程序都以取指指令結(jié)束,以取得下一條指令。在本系統(tǒng)內(nèi),MLD為置微地址的控制信號,MCK為工作脈沖。當(dāng)MLD=0、MCK有上升沿時,把MD0~MD7的值作為微程序的地址,打入微地址寄存器。當(dāng)MLD=1、MCK有上升沿時,微地址計數(shù)器自動加1。
圖2-6-2
2.6.4??控制信號說明:
信號名稱 |
作? 用 |
有效電平 |
MCK |
微程序工作脈沖 |
上升沿用效 |
MOCK |
微程序存儲器輸出工作脈沖 |
低電平有效 |
MLD |
微地址控制信號 |
低電平有效 |
MD0—MD7 |
微地址選擇開關(guān) |
2.6.5??實驗步驟:
● 將MD0~MD7、MLD接入二進制的開關(guān)上,將MCK、MOCK分別接入脈沖單元上的PLS1、PLS2上。(請按下表接線)。
信號定義 |
接入開關(guān)位號 |
MCK |
PLS1 ??孔 |
MOCK |
PLS2 ??孔 |
MD0 |
H0???? 孔 |
MD1 |
H1???? 孔 |
MD2 |
H2???? 孔 |
MD3 |
H3???? 孔 |
MD4 |
H4??? ?孔 |
MD5 |
H5???? 孔 |
MD6 |
H6???? 孔 |
MD7 |
H7???? 孔 |
MLD |
H23?? 孔 |
接線圖示:
● 按啟停單元中的停止按鍵,使實驗平臺處于停機狀態(tài)。通過鍵盤把數(shù)據(jù)寫入微程序存儲器中,例如微地址0H中輸入11H、11H、11H三個字節(jié)、在05H中輸入55H、55H、55H三個字節(jié)、在06H中輸入66H、66H、66H。鍵盤監(jiān)控的使用方法請參閱第4章《鍵盤監(jiān)控》。
實驗一:微地址打入操作
按啟停單元中的停止按鍵,使實驗平臺處于停機狀態(tài),此時微地址寄存器被清零。
● 按啟停單元中的運行按鍵,使實驗平臺處于運行狀態(tài)。此時微程序存儲器為讀狀態(tài),微地址寄存器(74LS161)確定了當(dāng)前微程序存儲器的地址,并且輸出24位微操作(M0~M23)。
● 按脈沖單元中的PLS2脈沖按鍵,在MOCK上產(chǎn)生一個上升沿,把當(dāng)前微程序存儲器輸出的微指令打入微指令鎖存器??稍谟疑系奈⒅噶钪甘緹麸@示出當(dāng)前微指令,應(yīng)為11H,11H,11H。
● 置MLD=0,微代碼的地址MD0~MD7(對應(yīng)二進制開關(guān)H0~H7)為05H (對應(yīng)開關(guān)如下表)。
H7 |
H6 |
H5 |
H4 |
H3 |
H2 |
H1 |
H0 |
H23 |
MD7 |
MD6 |
MD5 |
MD4 |
MD3 |
MD2 |
MD1 |
MD0 |
MLD |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
● 按脈沖單元中的PLS1脈沖按鍵,在MCK上產(chǎn)生一個上升沿,把MD0~MD7打入74LS161,微地址顯示燈MA0~MA7將顯示05H,微程序存儲器把05H單元的內(nèi)容輸出。
● 按脈沖單元中的PLS2脈沖按鍵,在MOCK上產(chǎn)生一個上升沿的脈沖,把當(dāng)前微指令打入微指令鎖存器,在右板上的微指令指示燈應(yīng)顯示55H,55H,55H。
注意:微代碼由3片74LS374作為微指令鎖存器,它的OE端已經(jīng)接地,只要MOCK端上有上升沿,即可鎖存并輸出微代碼。
實驗二:微地址+1操作
● 置MLD=1。
● 按啟停單元中的運行按鍵,使實驗平臺處于運行狀態(tài)。
● 按脈沖單元中的PLS1脈沖按鍵,在MCK上產(chǎn)生一個上升沿,微地址寄存器自動加1。若原來微地址寄存器的值為05H,那么當(dāng)前的微地址顯示燈MA0~MA7將顯示06H,同時微程序存儲器輸出06H單元中的內(nèi)容。
● 按脈沖單元中的PLS2脈沖按鍵,在MOCK上產(chǎn)生一個上升沿,將微程序存儲器的輸出的微指令,打入微指令鎖存器并輸出,在CPT-B板上的微指令指示燈應(yīng)顯示66H,66H,66H。
2.7 ?指令部件模塊實驗
2.7.1? 實驗?zāi)康?/strong>
1、掌握指令部件的組成方式。
2、熟悉指令寄存器的打入操作,PC計數(shù)器的設(shè)置和加1操作,理解跳轉(zhuǎn)指令的實現(xiàn)過程。
2.7.2? 實驗要求
按照實驗步驟完成實驗項目,掌握數(shù)據(jù)打入指令寄存器IR1、PC計數(shù)器的重置,PC計數(shù)器自動加1和實現(xiàn)跳轉(zhuǎn)指令的方法。
2.7.3? 實驗說明
2.7.3.1? 指令部件模塊實驗的構(gòu)成:
1、1片74LS374作為指令模塊的指令寄存器IR1,另1片74LS374作為地址鎖存器IR2。8芯插座PC-IN作為數(shù)據(jù)輸入端,可通過短8芯扁平電纜把數(shù)據(jù)輸入端連接到數(shù)據(jù)總線上。
2、2片74LS161作為PC計數(shù)器。
3、2片74LS245(同時只有1片輸出)作為當(dāng)前地址的輸出。8芯插座PC-OUT作為地址輸出端,可通過短8芯扁平電纜把地址輸出端連接到地址總線上。
4、1片74LS153來實現(xiàn)多種條件跳轉(zhuǎn)指令(JZ,JC,JMP等跳轉(zhuǎn)指令)。
圖2-7-1
2.7.3.2? 指令部件模塊原理:(如圖2-7-2)
圖2-7-2
1、指令寄存器IR1(74LS374)的?? EIR1為低電平并且IR1CK有上升沿時,把來自數(shù)據(jù)總線的數(shù)據(jù)打入IR1,IR1的輸出就作為本系統(tǒng)內(nèi)的8位指令I(lǐng)0~I7。在本系統(tǒng)內(nèi)由這8位指令可最多譯碼256條不同的指令,通過編碼可對應(yīng)出這些指令在微程序存儲器中入口地址,并且輸出相應(yīng)的微指令。
2、2片74LS161組成了PC計數(shù)器,它由信號ELP、信號PC-O、脈沖PCCK來控制PC計數(shù)器+1和PC計數(shù)器置數(shù)操作。在停機狀態(tài)下,由控制臺置起始地址,給出打入脈沖并置入74LS161。當(dāng)ELP=0,PCCK有上升沿時可重新置PC值。當(dāng)PCO=0、ELP=1, PCCK是上升沿時把當(dāng)前PC計數(shù)器加1,并且把PC計數(shù)器的值作為地址輸出到地址總線上。
3、置EIR2為低電平,并且IR2CK有上升沿時,數(shù)據(jù)總線的數(shù)據(jù)打入IR2鎖存器后,置IR2-O=0,PC-O=1時,把IR2的值作為地址輸出到地址總線上。?
4、74LS153是4選1的芯片,可通過JS0、JS1來選擇用JC還是JZ來實現(xiàn)條件跳轉(zhuǎn)的指令。
JS1 |
JS0 |
功? 能 |
0 |
0 |
選擇JZ ?當(dāng)通用寄存器為0時跳轉(zhuǎn) |
0 |
1 |
選擇JC ?當(dāng)進位寄存器為0時跳轉(zhuǎn) |
1 |
0 |
選擇JN? 提供給用戶自定義,JN=0跳轉(zhuǎn) |
1 |
1 |
重新設(shè)置當(dāng)前PC指針,實現(xiàn)JMP指令 |
2.7.3.3? 控制信號說明
信號名稱 |
作?? 用 |
有效電平 |
IR1CK |
IR1的工作脈沖 |
上升沿有效 |
IR2CK |
IR2的工作脈沖 |
上升沿有效 |
PCCK |
PC計數(shù)器工作脈沖 |
上升沿有效 |
EIR1 |
選通指令寄存器IR1 |
低電平有效 |
EIR2 |
選通指令寄存器IR2 |
低電平有效 |
IR2-O |
IR2輸出允許 |
低電平有效 |
PC-O |
PC計數(shù)器內(nèi)容輸出允許 |
低電平有效 |
ELP |
74LS161控制信號 |
高電平可重置PC值;低電平時PC值自動加1 |
JS0-JS1 |
選擇開關(guān) |
見上表 |
JZ |
條件跳轉(zhuǎn) |
為零跳轉(zhuǎn) |
2.7.4? 實驗步驟
● 在啟停單元中按“運行”按鈕,使實驗平臺處于運行狀態(tài)。
● 把EIR1,EIR2,PC-O,IR2-O,ELP,JS0,JS1接入二進制撥位開關(guān)中。把IR1CK和IR2CK接入脈沖單元PLS1,PCCK接入PLS2中。用長8位扁平電纜把PC-IN與右板上的二進制開關(guān)單元中J03相連(對應(yīng)二進制開關(guān)H0~H7),PC-OUT用短8位扁平電纜連接地址總線AJ1,其他控制信號請按下表接線。
信號定義 |
接入開關(guān)位號 |
IR1CK |
PLS1 孔 |
IR2CK |
PLS1 孔 |
PCCK |
PLS2 孔 |
EIR1 |
H20? 孔 |
EIR2 |
H19? 孔 |
IR2-0 |
H18? 孔 |
PC-O |
H17? 孔 |
ELP |
H16? 孔 |
JS0 |
H15? 孔 |
JS1 |
H14? 孔 |
JZ |
H13? 孔 |
接線圖示:
實驗一:PC計數(shù)器置數(shù)
● 二進制開關(guān)H0~H7作為數(shù)據(jù)輸入,置05H(對應(yīng)開關(guān)如下表)。
H7 |
H6 |
H5 |
H4 |
H3 |
H2 |
H1 |
H0 |
數(shù)據(jù)總線值 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
8位數(shù)據(jù) |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
05H |
● 置控制信號如下:
H20 |
H19 |
H18 |
H17 |
H16 |
H15 |
H14 |
EIR1 |
EIR2 |
IR2-O |
PC-O |
ELP |
JS0 |
JS1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
● 按啟停單元中的運行按鍵,使實驗平臺處于運行狀態(tài)。
● 按脈沖單元中的PLS1脈沖按鍵,在IR2CK上產(chǎn)生一個上升沿,把當(dāng)前數(shù)據(jù)總線數(shù)據(jù)打入IR2鎖存器,按脈沖單元中的PLS2脈沖按鍵,在PCCK上產(chǎn)生一個上升沿,將IR2鎖存器中的地址打入PC計數(shù)器(2片74LS161)中,這樣的操作過程可實現(xiàn)無條件跳轉(zhuǎn)指令。若要觀測輸出結(jié)果,再置信號PC-O=0,此時PC計數(shù)器把其內(nèi)容作為地址輸出到地址總線上,地址總線上的指示燈IAB0~IAB7應(yīng)顯示05H。
實驗二:PC計數(shù)器加1
● 完成實驗1后,重置各控制信號如下:
H20 |
H19 |
H18 |
H17 |
H16 |
H15 |
H14 |
EIR1 |
EIR2 |
IR2-O |
PC-O |
ELP |
JS0 |
JS1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
?按脈沖單元中的PLS2脈沖按鍵,在PCCK上產(chǎn)生一個上升沿,因PC-O=0,PC計數(shù)器將加1,PC計數(shù)器為06H,并且輸出至地址總線。此時地址總線上的指示燈IAB0~IAB7應(yīng)顯示06H。
實驗三:置當(dāng)前指令寄存器
● 二進制開關(guān)H0~H7作為數(shù)據(jù)輸入,置5FH(對應(yīng)開關(guān)如下表)。
H7 |
H6 |
H5 |
H4 |
H3 |
H2 |
H1 |
H0 |
數(shù)據(jù)總線值 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
8位數(shù)據(jù) |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
5FH |
● 置控制信號如下:
H20 |
H19 |
H18 |
H17 |
H16 |
H15 |
H14 |
EIR1 |
EIR2 |
IR2-O |
PC-O |
ELP |
JS0 |
JS1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
● 按啟停單元中的運行按鍵,使實驗平臺處于運行狀態(tài)。
● 按脈沖單元中的PLS1脈沖按鍵,在IR1CK上產(chǎn)生一個上升沿,把當(dāng)前數(shù)據(jù)總線數(shù)據(jù)5FH打入IR1鎖存器,表示當(dāng)前運行的指令碼為5FH。此時指令寄存器的指示燈I0~I7應(yīng)顯示5FH。
2.8 ?時序與啟停實驗
2.8.1? 實驗?zāi)康?/strong>
1、掌握時序產(chǎn)生器的組成方式
2、熟悉起停電路的原理
2.8.2? 實驗要求
按照實驗步驟完成實驗項目,了解程序如何開始、停止運行,用示波器觀察時序,并且畫出時序圖。
2.8.3? 實驗說明
2.8.3.1? 時序與啟停單元的構(gòu)成:
啟停電路由1片7474、1片74LS08組成,1個LED(RUN)表示當(dāng)前實驗平臺的狀態(tài)(運行LED亮、停止LED滅)。(如圖2-8-1)
圖2-8-1
時序電路由1片74LS175、2片74LS00、4個LED脈沖指示燈(PLS1、PLS2、PLS3、PLS4)組成。當(dāng)LED發(fā)光時,表示有上升沿產(chǎn)生。(如圖2-8-2)
圖2-8-2
2.8.3.2? 啟停、脈沖單元的原理:
啟停原理:(如圖:2-8-3)
起停電路由1片7474組成,當(dāng)按下RUN按鈕,信號輸出RUN =1、STOP=0,表示當(dāng)前實驗平臺為運行狀態(tài)。當(dāng)按下STOP按鈕,信號RUN =0、 信號STOP=1,表示當(dāng)前實驗平臺為停止?fàn)顟B(tài)。當(dāng)系統(tǒng)處于停機狀態(tài)時,微地址、進位寄存器都被清零,并且可通過監(jiān)控單元來讀寫內(nèi)存和微程序。在停止?fàn)顟B(tài)下,當(dāng)HALT上有1個高電平,同時HCK有1個上升沿,此時高電平被打入寄存器中,信號RUN =1、STOP=0,使實驗平臺處于運行狀態(tài)。
圖2-8-3
時序電路:
時序電路由監(jiān)控單元來控制時序輸出(PLS1、PLS2、PLS3、PLS4)。實驗所用的時序電路(如圖2-8-4)可產(chǎn)生4個等間隔的時序信號PLS1、PLS2、PLS3、PLS4。為了便于監(jiān)控程序流程,由監(jiān)控單元輸出PO信號和SIGN脈沖來實現(xiàn)STEP(微單步) 、GO(全速)和 HALT(暫停)。當(dāng)實驗平臺處于運行狀態(tài),并且是微單步執(zhí)行,PLS1、PLS2、PLS3、PLS4 分別發(fā)出一個脈沖,全速執(zhí)行時PLS1、PLS2、PLS3、PLS4脈沖將周而復(fù)始的發(fā)送出去。在時序單元中也提供了4個按鈕,實驗者可手動給出4個獨立的脈沖,以便實驗者單拍調(diào)試模型機。
圖2-8-4
2.8.3.3? 信號說明:
信號名稱 |
作用 |
有效電平 |
HCK |
時序工作脈沖 |
上升沿有效 |
HALT |
停機 |
低電平有效 |
2.8.4? 實驗步驟:
● 交替按下“運行”和“暫?!?,觀察運行燈的變化(運行:RUN亮 暫停:RUN滅)。
● 把HALT信號接入二進制撥位開關(guān),HCK接入脈沖單元的PLS1。(請按下表接線)。
信號定義 |
接入開關(guān)位號 |
HCK |
PLS1? 孔 |
HALT |
H13?? 孔 |
接線圖示:
按啟停單元中的停止按鍵,使實驗平臺處于停機狀態(tài),置HALT=1。
● 按脈沖單元中的PLS1脈沖按鍵,在HCK上產(chǎn)生一個上升沿的脈沖,把HALT=1打入74LS74,使RUN=1、STOP=0,RUN亮表示當(dāng)前實驗平臺處于運行狀態(tài)。
● 在實驗平臺處于運行狀態(tài)時,置HALT=0。
● 按脈沖單元中的PLS1脈沖按鍵,在HCK上產(chǎn)生一個上升沿的脈沖,把HALT=0打入74LS74,使RUN=0、STOP=1,RUN滅表示當(dāng)前實驗平臺處于停止?fàn)顟B(tài)。因此可通過HALT和HCK來控制實驗平臺的啟、停狀態(tài)。
● 按啟停單元中的停止按鍵,使實驗平臺處于停機狀態(tài),置HALT=1。再次按下脈沖單元中的PLS1脈沖按鍵,使實驗平臺處于運行狀態(tài)。此時按監(jiān)控單元中鍵盤上的GO/STOP鍵,置PC=00,運行程序。請用示波器觀察PLS1、PLS1、PLS3、PLS4的波形(見后圖2-9-2)。
2.9 ?模型機的總體設(shè)計
2.9.1? 實驗?zāi)康?/strong>
1、掌握了各個單元模塊的工作原理,進一步將其組成完整的系統(tǒng),構(gòu)造成1臺基本的模型計算機。
2、在本試驗中,我們將規(guī)劃讀寫內(nèi)存、寄存器、數(shù)值計算等功能,并且編寫相應(yīng)的微程序。請具體上機調(diào)試各個模塊單元以便進一步掌握整機的概念。
2.9.2? 實驗原理
在各個模塊實驗中,各模塊的控制信號都是由實驗者手動模擬產(chǎn)生的。而在真正的實驗系統(tǒng)中,模型機的運行是在微程序的控制下,實現(xiàn)特定指令的功能。在本實驗平臺中,模型機從內(nèi)存中取出、解釋、執(zhí)行機器指令都將由微指令和與之相配合的時序來完成,即1條機器指令對應(yīng)1個微程序。
2.9.3? 模型機的總體設(shè)計
2.9.3.1? 設(shè)計整機邏輯框圖
根據(jù)設(shè)計要求,對實驗儀硬件資源進行邏輯組合,便可設(shè)計出該模型機的整機邏輯框圖。如圖2-9-1是較典型的實驗計算機整機邏輯框圖。
簡單的模型計算機是由算術(shù)邏輯運算單元、微程序單元、堆棧寄存器單元、累加器、啟停、時序單元、總線和存儲器單元組成。
在模型機中,我們將要實現(xiàn)RAM的讀寫指令,寄存器的讀寫指令,跳轉(zhuǎn)指令,ALU的加、減、與、或指令。把通用寄存器作為累加器A,進行左、右移等指令,整體構(gòu)成一個單累加器多寄存器的系統(tǒng)。
圖2-9-1
2.9.3.2? 設(shè)計指令系統(tǒng)
本實驗平臺內(nèi)采用的是8位數(shù)據(jù)總線和8位地址總線方式,在設(shè)計指令系統(tǒng)時,應(yīng)考慮有哪幾種類型的指令,哪幾種尋址方式和編碼方式。
1、指令類型:
(1)算術(shù)/邏輯運算類指令:
如:加法、減法、取反、邏輯運算
ADD A,Ri,SUB A,Ri
(2)移位操作類指令:
帶進位或不帶進位的移位指令。
RRC A,RR A
(3)數(shù)據(jù)傳送類指令:
CPU內(nèi)部寄存器之間數(shù)據(jù)傳遞
MOV A,Ri
MOV Ri,A
(4)程序跳轉(zhuǎn)指令
跳轉(zhuǎn)指令分為無條件跳轉(zhuǎn)指令和有條件跳轉(zhuǎn)指令??筛鶕?jù)寄存器內(nèi)容為零來標(biāo)志(ZD)、有無進位來標(biāo)志(CY),也可根據(jù)用戶自定義標(biāo)志。
JMP ?addr???????? 無條件跳轉(zhuǎn)
JZ?? addr????????? ZD=0 ?時跳轉(zhuǎn)
JC?? addr????????? CY=0? 時跳轉(zhuǎn)
JN?? addr????????? 自定義
(5)存儲器操作類指令
存儲器讀/寫指令。把內(nèi)存某單元內(nèi)容寫入寄存器中或把寄存器中的內(nèi)容寫入存儲器。如:
LDA ?addr??????????????? (addr)->A
STA ?addr???????????????? (A)->addr
2、操作數(shù)尋址方式及編碼
(1)直接地址尋址:
如:雙字節(jié)指令
LDA? ?addr?????????? (addr)->A
STA?? addr????????? (A)->addr
第1字節(jié)???????????????????????????????? 第2字節(jié)
操作碼????????????????????????????????? 操作數(shù)地址addr |
(2)寄存器直接訪址:
指令字節(jié)中含有寄存器選擇碼,決定選哪個寄存器進行操作。
如:單字節(jié)指令
MOV? A,Ri?? ????????(Ri)->A
??????????????????? 單字節(jié)
????? ?????操作碼與Ri選擇碼 |
如:雙字節(jié)指令 MOV Ri,#data??????????????????? data->Ri
?????????? 第1字節(jié)?????????????? ???????????????????第2字節(jié)?
操作碼及Ri選擇碼???????????????????????????????? data |
(3)寄存器間接尋址
如:單字節(jié)指令:MOV A,@Ri?????????????????????? (Ri)->A
(4)立即數(shù)尋址
如:? MOV A,#data?????????????????????? data->A
MOV Ri,#data????????????????????? data->R
2.9.4? 設(shè)計微程序及其實現(xiàn)方法
在本實驗平臺的硬件設(shè)計中,采用24位微指令,若微指令采用全水平不編碼純控制場的格式,那么至多可有24個微操作控制信號,可由微代碼直接實現(xiàn)。如果采用多組編碼譯碼,那么24位微代碼通過二進制譯碼可實現(xiàn)2 n個互斥的微操作控制信號。
由于模型機指令系統(tǒng)規(guī)模較小,功能也不太復(fù)雜,所以采用全水平不編碼純控制場的微指令格式。在模型機中,用指令操作碼的高4位作為核心擴展成8位的微程序入口地址 MD0~MD7,這種方法稱為“按操作碼散轉(zhuǎn)”(如下表所示)。
微程序首地址形成 | |||||||
MD7 |
MD6 |
MD5 |
MD4 |
MD3 |
MD2 |
MD1 |
MD0 |
0 |
0 |
I7 |
I6 |
I5 |
I4 |
1 |
1 |
按操作碼散轉(zhuǎn) | ||||||
指令操作碼 |
微程序首地址 |
|||||
MD7、MD6 |
I7 |
I6 |
I5 |
I4 |
MD1、MD0 |
MD7~MD0 |
0 |
0 |
0 |
0 |
0 |
1 |
003H |
0 |
0 |
0 |
0 |
1 |
1 |
007H |
0 |
0 |
0 |
1 |
0 |
1 |
00BH |
0 |
0 |
0 |
1 |
1 |
1 |
00FH |
0 |
0 |
1 |
0 |
0 |
1 |
013H |
0 |
0 |
1 |
0 |
1 |
1 |
017H |
0 |
0 |
1 |
1 |
0 |
1 |
01BH |
0 |
0 |
1 |
1 |
1 |
1 |
01FH |
0 |
1 |
0 |
0 |
0 |
1 |
023H |
0 |
1 |
0 |
0 |
1 |
1 |
027H |
0 |
1 |
0 |
1 |
0 |
1 |
02BH |
0 |
1 |
0 |
1 |
1 |
1 |
02FH |
0 |
1 |
1 |
0 |
0 |
1 |
033H |
0 |
1 |
1 |
0 |
1 |
1 |
037H |
0 |
1 |
1 |
1 |
0 |
1 |
03BH |
0 |
1 |
1 |
1 |
1 |
1 |
03FH |
每條指令由不超過4條的微指令組成,那么可根據(jù)下表組成每條微程序的首地址。微指令的運行順序為下地址確定法,即采用計數(shù)增量方法,每條微指令執(zhí)行過后微地址自動加1,指向下一條微指令地址。例如:確定了一條程序的微程序入口地址為07H,那么當(dāng)執(zhí)行完07H這條微指令后微地址加1,指向08H微地址。微地址寄存器由2片74LS161組成,當(dāng)模型機在停止?fàn)顟B(tài)下,微地址被清零。當(dāng)實驗平臺開始運行時,微地址從00H開始運行。且00H放置一條取指指令,根據(jù)程序開始地址從內(nèi)存中讀出第一條指令。
00 |
取指微指令 |
01 |
|
02 |
|
03 |
減法指令微程序(1) |
04 |
減法指令微程序(2) |
05 |
|
06 |
|
07 |
MOV指令微程序(1) |
08 |
MOV指令微程序(2) |
09 |
MOV指令微程序(3) |
0A |
|
0B |
|
0C |
|
0D |
|
0E |
|
0D |
|
。。。 |
。。。 |
2.9.5 ?設(shè)計實驗平臺運行中時序安排
由于模型機已經(jīng)確定了指令系統(tǒng),微指令采用全水平不編碼純控制場的格式,微程序的入口地址采用操作碼散轉(zhuǎn)方式,微地址采用計數(shù)增量方式,所以可確定模型機中時序單元中所產(chǎn)生的每一拍的作用。
在本實驗中為了讓實驗者更好地觀察實驗的各個中間過程中各寄存器的值,由監(jiān)控單元產(chǎn)生一個PLS-O的信號來控制時序產(chǎn)生(如圖2-9-2)。PLS-O信號經(jīng)過時序單元的處理產(chǎn)生了4個脈沖信號。4個脈沖信號組成一個微周期,為不同的寄存器提供工作脈沖。
圖 2-9-2
PLS1: 微地址寄存器的工作脈沖,用來設(shè)置微程序的首地址及微地址加1。
PLS2: PC 計數(shù)器的工作脈沖,根據(jù)微指令的控制實現(xiàn)PC 計數(shù)器加1和重置PC 計數(shù)器(跳轉(zhuǎn)指令)等功能。
PLS3: 把24位微指令打入3片微指令鎖存器。
PLS4: 把當(dāng)前總線上的數(shù)據(jù)打入微指令選通的寄存器中。
2.9.6? 設(shè)計指令執(zhí)行流程
根據(jù)模型機整機邏輯圖和目前硬件條件來設(shè)計指令系統(tǒng)中每條指令的執(zhí)行流程。在每個系統(tǒng)中,一條指令從內(nèi)存取出到執(zhí)行完畢,需要若干個機器周期,任何指令中都必須有一個機器周期作為“取指令周期”,稱為公操作周期。而一條指令共需幾個機器周期取決于指令在機器內(nèi)實現(xiàn)的復(fù)雜程度。
對于微程序控制的計算機,在設(shè)計指令執(zhí)行流程時,要保證每條微指令所含的微操作的必要性和合理性,還應(yīng)知道總線IAB,IDB,OAB,ODB僅是傳輸信息的通路,沒有寄存信息的功能,而且必須保證總線傳輸信息時信息的唯一性。
以下描述取指微指令執(zhí)行過程:
在模型機處于停機狀態(tài)時,模型機的微地址寄存器被清零,微指令鎖存器輸出無效(為高)。在處于停機狀態(tài)時,脈沖PLS1對微地址寄存器(74LS161)無效,微地址寄存器保持為零。脈沖PLS2對PC 計數(shù)器無效,同時PLS2把HALT=1打入啟停單元中的運行狀態(tài)寄存器(74LS74)中,把模型機置為運行狀態(tài),使微程序鎖存器輸出有效。PLS3把微程序存儲器00H單元(00H單元存放著取指微指令)中的內(nèi)容打入微指令鎖存器中,并且輸出取指微指令。PLS4把從程序存儲器中讀出的數(shù)據(jù)打入指令寄存器中。
在模型機處于運行狀態(tài)時,脈沖PLS1將微地址寄存器(74LS161)加1,脈沖PLS2將PC計數(shù)器加1,PLS3把微程序存儲器中的微指令打入微指令鎖存器并且輸出。PLS4把當(dāng)前總線上的數(shù)據(jù)打入當(dāng)前微指令所選通的寄存器。
以下舉例說明指令的數(shù)據(jù)信息流:
例一:單字節(jié)指令? ADD? A,Ri?
此程序由4個微指令周期組成:
①PC+1為取下條指令字節(jié)準(zhǔn)備、累加器A內(nèi)容送ALU的DR1鎖存器
②寄存器Ri內(nèi)容送ALU的DR2鎖存器
③ALU將計算結(jié)果送累加器A,據(jù)加法結(jié)果置進位標(biāo)志CY
④取指微指令,從內(nèi)存讀出指令送指令寄存器
例二:雙字節(jié)指令? LDA? addr???
此程序由3個微指令周期組成:
PC+1從內(nèi)存取得指令第2個字節(jié)送入IR2。
PC+1 為取下條指令字節(jié)準(zhǔn)備IR2,IR2寄存器的內(nèi)容輸出到地址總線上取值,將取得的值送入累加器A
⑤取指微指令,從內(nèi)存讀出指令送指令寄存器
例三:雙字節(jié)指令? JMP? addr
此程序由2個微指令周期組成:
PC+1從內(nèi)存取得指令第2個字節(jié)送入IR2。
IR2內(nèi)容形成轉(zhuǎn)移地址送PC ,從內(nèi)存讀出指令字節(jié)送指令寄存器
例四:單字節(jié)指令? RRC? A? ;該指令功能是將累加器A中內(nèi)容帶進位CY右環(huán)移一位,即 :
此程序由2個微指令周期組成:
①PC+1為取下條指令字節(jié)準(zhǔn)備、控制累加器A帶CY右環(huán)移一位;(移入CY作A7,移出的A0送CY)
②取指微指令,從內(nèi)存讀出指令送指令寄存器
例五:單字節(jié)指令? MOV? A,? @Ri?
此程序由3個微指令周期組成:
①PC+1為取下條指令字節(jié)準(zhǔn)備、送指令寄存器單元Ri中的內(nèi)容到IR2寄存器
②IR2寄存器的內(nèi)容輸出到地址總線上取值,將取得的值送入累加器A
③取指微指令,從內(nèi)存讀出指令字節(jié)送指令寄存器
例六:雙字節(jié)指令? MOV? A,? #data?
此程序由2個微指令周期組成:
PC+1從內(nèi)存取得指令第2個字節(jié)送入累加器A。
PC+1執(zhí)行取指微指令,從內(nèi)存讀出指令字節(jié)送指令寄存器
例七:雙字節(jié)指令? MOV? Ri,? #data?
此程序由2個微指令周期組成:
①PC+1從內(nèi)存取得指令第2個字節(jié)送入寄存器Ri。
②PC+1執(zhí)行取指微指令,從內(nèi)存讀出指令字節(jié)送指令寄存器
??總結(jié)
計算機組成原理領(lǐng)域就像一片廣袤而未被完全探索的技術(shù)海洋,邀請你勇敢踏足數(shù)字世界和計算機組成原理的神秘領(lǐng)域。這是一場結(jié)合創(chuàng)造力和技術(shù)挑戰(zhàn)的學(xué)習(xí)之旅,從基礎(chǔ)概念到硬件實現(xiàn),逐步揭示更深層次的計算機結(jié)構(gòu)、指令集架構(gòu)和系統(tǒng)設(shè)計的奧秘??释魬?zhàn)計算機組成原理的學(xué)習(xí)路徑和掌握計算機硬件的技能?不妨點擊下方鏈接,一同探討更多數(shù)字技術(shù)的奇跡吧。我們推出了引領(lǐng)趨勢的?? 計算機組成原理專欄:《機組 | 模塊單元實驗》,旨在深度探索計算機系統(tǒng)技術(shù)的實際應(yīng)用和創(chuàng)新。????
文章來源:http://www.zghlxwxcb.cn/news/detail-821174.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-821174.html
到了這里,關(guān)于【機組】計算機組成原理實驗指導(dǎo)書.的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!