計算機組成原理實驗指導_第1頁
計算機組成原理實驗指導_第2頁
計算機組成原理實驗指導_第3頁
計算機組成原理實驗指導_第4頁
計算機組成原理實驗指導_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

《計算機組成原理》實驗指導

實驗一監控程序與匯編語言程序設計實驗

教學機的監控程序是,用教學機的匯編語言實現的,運行在教學機的硬件系統之上。它的

主要功能是支持把計算機終端或PC機仿真終端接入教學機系統,使用這樣的設備執行輸入

/輸出操作,運行教學機的有關程序,以更方便直觀的形式支持教學機上的各項實驗功能,

提供教學機匯編語言的可用子程序。

監控程序提供類似PC機DOS系統下的Debug程序的功能,支持A、U、G、P、T、R、

D和E共8個監控命令。

監控命令的格式為:

單字母的命令名后跟回車,或命令名后跟一個地址參數,或寄存器名(編號)參數。當

有些命令運行時需要參數,但命令名后又不跟參數時,監控程序會從內存指定單元取一個默

認的地址參數值,通常為該命令前一次運行后所接收地址。TEC—2機從終端接收地址、指

令,數值時,均用最多4位的16進制數輸入與顯示,并且不能(或說不必)用跟字符h加

以標志。

⑴單條匯編命令A

格式:A[adr]

這里的[adr]表示此處的地址參數adr為任選項(但選擇范圍必須為0800H—0FFFH)。

無此參數時,系統將取默認值。該規則下同。

功能:完成單條指令的匯編操作,把產生出來的TEC—2機的執行代碼放入對應的內存

單元中。命令名后的地址是頭一條匯編語句的執行碼的內存單元地址。每條語句匯編完成之

后,系統將相應修改地址值,以便正確處理下條匯編語句。

在應該輸入匯編語句時,不給出匯編語句而直接回車,則結束A命令的運行過程。

若匯編中發現語法錯誤,用.指明出錯位置后請求重新給出正確語句。

要說明,這里的單條匯編功能不很完善,例如不支持語句標號,也不能使用偽指令等。

遇到這些問題,要求使用者直接使用機器碼,并通過E命令將其送入相應內存單元。

⑵反匯編命令U

格式:U[adr]

功能:每次從指定的(或默認的)地址反匯編15條命令,并將結果顯示在終端屏幕上。

反匯編完成之后,已將該命令的默認地址修改好。接下來再鍵入不帶參數的U命令,保證

接著從上一次反匯編的最后一條語句之后繼續反匯編。

⑶執行程序命令G

格式:G[adrJ

功能:從指定的(或默認的)地址連續運行一個用戶程序。為了使程序執行后能返回監

控程序,要求每個程序的最后一條指令應為RET指令。

(4)單指令執行程序命令T和P

格式:P[adr]

Hadr|

功能:從指定地址(或PC中的當前地址)開始單條執行程序指令。通常情況下,每按

一次T或P將執行一條指令。T和P命令的區別是,T總是執行單條指令,但執行P命令時,

則把每一個CALL語句連同被調用的子程序一次執行完成。每次執行后均顯示所有通用寄

存器及狀態寄存器的內容,并反匯編出下一條將要執行的指令。由于P和T命令是通過設

置斷點來實現的,而在ROM區不能設置斷點,故不能月它們來執行固化在ROM區中的監

控程序。

⑸顯示/修改寄存器內容的命令R

格式:R[reg]

其中reg為寄存器名R0——R15或SP(R4),PC(R5),IP(R6),當R命令不帶帶寄

存器名時,顯示全部寄存器(包括SP,PC和IP)及狀態寄存器的值,并反匯編當前PC所

指的一條指令,其中狀態的顯示格式為:“F=8位二進制數”,其各位的值分別對應于C、Z、

V、S,INTE、P2、Pl、P0的值,當R命令帶有寄存器名時,先顯示出該寄存器的值,若

修改打入新值回車,否則只按回車即可。

(6)顯示存儲器內容的命令D

格式:D[adr]

功能:從指定(或默認)地址開始顯示內存120個存儲字的內容。

顯示的格式:最左一列4位的16進制數是本行中第一個字的地址,接下來的8列是4

位的16進制的8個連續內存字的內容,最右一列是每個字節所對應的ASCII字符。當其值

不為可顯示字符的ASCII碼俏時,用一個字符標記。

連續的D命令,保證所顯示內容前后正確的連續關系,即每次執行D命令,會將默認

的地址值加上120。TEC—2機通常采用字地址讀寫內存。

(7)修改存儲器內容命令E

格式:E[adr]

功能:從指定(或默認)地址逐字顯示每個內存字的內容,并等待用戶打入一個新的值

存回該內存單元。若用戶未打入新值就打了空格鍵,則該內存單元內容保持不變。若在打入

新值后跟空格鍵,則內存單元內容寫成新值。空格鍵表明要連續修改一片內存區,故接下來

顯示下一個單元的內容并等待修改。打回車鍵,則會結束E命令的執行過程,若回車前打

入一個新值,相應內存單元的內容也將被修改v

注:進入監控程序的具體操作步驟:

1.準備一臺串口工作良好的PC機;

2.將TH-union放在實驗臺上,打開實驗箱的蓋子,確定電源處于斷開狀態;

3.將黑色的電源線一端接220V交流電源,另一端插在TH-union實驗箱的電源

插座里;

4.取出通訊線,將通訊線的9芯插頭接在TH-union實驗箱上的串口“COM1”

或“COM2”上,另一端接到PC機的串口上;

5.將TH-union實驗系統左下方的五個黑色的控制機器運行狀態的開關置丁正確

的位置,在找個實驗中開關應置為00110(連續、內存讀指令、組合邏輯、聯

機、16位),控制開關的功能在開關上、下方有標識:開關撥向上方表示“1”,

撥向下方表示“0”,“X”表示任意,其他實驗相同;

6.打開電源,船形開關和5V電源指示燈亮。

7.在PC機上運行PCEC16.EXE文件,根據連接的PC機的串口設置所用PC機

的串口為“1”或“2”,其它的設置一般不用改動,直接回車即可。(具體步驟

附后)

8.按一下“RESET”按鍵,再按一下“START”按鍵,主機上顯示:

1EC-2000CR1MON11OR

Version1.0April2001

ComputerArchitecturLab.,TsinghuaUniversity

ProgrammedbyHeJia

實驗二運算器實驗

一、實驗原理:

運算器是計算機中執行各種算術和邏輯運算操作的部件。運算器的基本操作包括加、減、

乘、除四則運算,與、或、非、異或等邏輯操作,以及移位、比較和傳送等操作。運算器的

組成除了必須的ALU單元外,寄存器和移位器也是必需。寄存器用于提供操作數和存放運

算結果,以節省訪存時間;移位器可實現數據的移位功能,以擴展ALU的運算功能和數據

傳送的靈活性。美國AMD公司生產的AM290I芯片是典型的運算器芯片。

1、AM2901的結構與組成

AM290I芯片是一個4位的,位片結構的、完整的運算器器件。AM2901由ALU、

輸入多路詵擇器、輸出詵擇門、寄存器組和移位器等器件組成,如圖1-1所示,作為

教學內容的實例具有很好的典型性。

4。輸出Y

31-1AM290I芯片的內部組成框圖

2、AM2901各組成部分及其功能

I)ALU為4位算術邏輯單元,有8種運算功能,由外部送入3位信號15,14,13

的編碼值來確定執行哪種功能。

2)存器組

AM290I具有由16個4位寄存器組成的寄存器組,作為通用寄存器組使用。該寄

存器組有兩個4位地址譯碼器A和B,其中A譯碼器只具有讀出數據功能,而B譯

碼器具有讀出和寫入兩種功能。也就是說,該寄存器組具有兩個數據輸出端口,即A

口和B口,輸出的數據分別存入鎖存器A和B;一個數據輸入端口,即B口。

3)寄存器

4位,在乘除運算中可用來存放乘數或商,故稱做乘商寄存器。它本身具有移位功

能,即可接受其本身左移一位或右移一位的值,它還可以接收ALU的輸出值。

4)輸入多路選擇器

AM2901具有兩個輸入多路選擇器R和S,用于為ALU提供兩個操作數。其中,R

可選擇D數據線來的數據或A鎖存器的數據;而S可從A鎖存器、B鎖存器、Q寄

存器3個來源選取數據。兩個操作數的組合由外部送來的3位控制信號12、II、10

的編碼確定.

5)移位器

4位,用于對ALU的輸出實現直送、左移或右移。

6)輸出選擇門

用于確定AM2901輸出數據Y的來源。輸出數據Y有兩個來源:一個是ALU的運

算結果F,另一個是直接來自All。輸出數據Y的選擇,以及ALU的運算結果F如

何傳送給B輸入口或Q寄存器,是由外部送來的3位控制信號18、17、16的編碼值

確定的。

3、為了控制AM2901運算器按我們的意圖完成預期的運算操作功能,就必須向其提供相

應的控制信號,包括:用3組各3位的編碼,分別用于選擇ALU的運算功能,輸入

數據,結果處置方案,具體規定如表1-1、表1-2、表1-3所示。

表1-1選擇8種運算表1-2選擇ALU的8種輸入數據組合

151413運算類型121110R來源S來源

000R+S000AQ

001S-R001AB

010R-S0100Q

011RVS0110B

100_RAS1000A

101"RASI01DA

110RVS110DQ

111RVS111D0

注:D表示外部數據

表1-3選擇運算器的8種結果的處置方案

181716寄存器組Q寄存器Y輸出

000F-QF

001F

010F-BA

011F-BF

100F/2?BQ/2?Qr

101F/2-BF

1102F-*B2Q-*QF

1112F-BF

二、實驗步驟

運算器部件的實驗,要在教學計算機主板上進行,既可以在脫機方式下完成,也可以在

聯機方式下完成。

脫機方式是指使運算器部件完全脫離與計算機主機其他部件正常的連接關系,在完全孤

立出來的運算器上進行的教學實驗。此時,只能通過數據開關提供參加運算的數據,通過微

型開關提供操作運算器完成運算所必需的控制信號,通過信號指示燈觀察運算結果,操作筒

單,實驗結果清晰易理解。

聯機方式是指在運算器部件與計算機主機保持連接關系,教學計算機可以正常執行指令

的情況下進行的以運算器為重點的教學實驗。此時,可以通過指令提供參加運算的數據,通

過控制器提供操作運算器完成運算所必需的控制信號,通過信號指示燈或者通過運行監控程

序觀察運算結果,操作略顯復雜。

1、脫機實驗

⑴打開實驗箱電源開關。

(2)將五個控制開關分別置為10000

注:五個控制開關從左至右分別是:

Step/CntnuHndlns/MEMIns^Comloq/Microp、LinkMachi/LeaveMachinex8Bit/16Bit

即:單步/連續、手動執行/程序存儲、組合邏輯/微程序控制、聯機/脫機、8位八6位

1:代表上檔功能,0:代表下檔功能

(3)將AAAA送入R0

①微型開關分別置為QJJ.如jJJ.皿L000000000000

注:微型開關從左至右分別對應的控制信號是:

18171615141312II10SSTA端口地址B端口地址SSHSCI

其中:SST為狀態寄存器接收,SSH為最底位進位,SCI為移位控制

②設置數據開關為AAAA(16進制)

③按START按鈕

(4)將5555送入R1

?微型開關分別置為o_LL典LLL皿1000000010000

②設置數據開關為5555(16進制)

③按START按鈕

(5)R0+R1-*RI

微型開關分別置為0_1_100000J.00J.000000010000

2、聯機實驗

⑴將通訊線一端接實驗箱上,另一端插頭后接PC機任意COM口"

注:這里PC機只是實驗箱的輸入輸出設備。

⑵將五個控制開關分別置為00010。

(3)打開計算機,運行PCEC程序,選擇所接COMU后按回車。按F10進入主菜單,

選擇0,分別按實驗箱上的RESET、START按鈕,進入監控程序。

(4)屏幕出現提示符>,即可用A命令輸入程序

>A20(X)

MOVR0,AAAA

MOVRI,5555

ADDRI,R0

RET

(5)用T命令觀察運行結果。

三、實驗要求

1、認真寫出預習報告,包括實驗用的全部數據,實驗操作步驟等。

2、實驗之后寫出實驗報告,包括實驗過程中遇到的問題,解決方法,實驗后的心得體會

及對該次實驗的建議與意見。

實驗三內存儲器部件實驗

實驗目的:

通過看懂教學計算機中已經使用的幾個存儲器芯片的邏輯連接關系和用于完成存儲器

容量擴展的幾個存儲器芯片的布線安排,在教學計算機上設計、實現并調試出存儲器容量擴

展的實驗內容。其最終要達到的目的是:

1.深入理解計算機內存儲器的功能、組成知識;

2.深入地學懂靜態存儲器芯片的讀寫原理和用他們組成教學計算機存儲器系統的方

法(即字、位擴展技術),控制其運行的方式:

思考并對比靜態和動態存儲器芯片在特性和使月場合等方面的同異之處。

玄驗說明:

教學計算機存儲器系統由ROM和RAM兩個存儲區組成,分別由EPROM芯片(或

EEPROM芯片)和RAM芯片組成。TH-union教學計算機中還安排了另幾個存儲器器件插

座,可以插上相應存儲器芯片以完成存儲器容量擴展的教學實驗,為此必須比較清楚地了解:

1.TH-union教學機的存儲器系統的總體組成及其連接關系;

2.TH-union教學機的有關存儲器芯片、I/O接口芯片的片選信號控制和讀寫命令的給

出和具體使用方法;

3.RAM和EPROM、EEPROM存儲器芯片在讀寫控制、寫入時間等方面的同異之處,

并正確建立連線關系和在程序中完成正確的讀寫過程;

4.如何在TH-union教學機中使用擴展的存儲器空間并檢查其運行的正確性.

實驗內容:

I.要完成存儲器容量擴展的教學實驗,需為擴展存儲器選擇一個地址,并注意讀寫和

0E等控制信號的正確狀態;

2.用監控程序的D、E命令對存儲器進行讀寫,比較RAM(6116)、EEPROMQ8系歹I」

芯片)、EPROMQ7系列芯片)在讀寫上的異同;

3.用監控程序的A命令編寫一段程序,對RAM(6116)進行讀寫,用D命令杳看結果

是否正確;

4.用監控程序的A命令編寫一段程序,對擴展存儲器EEPROM(28系列芯片)進行讀

寫,用D命令查看結果是否正確;如不正確,分析原因,改寫程序,重新運行。

實驗要求:

I.實驗之前,應認真預先準備,寫出實驗步驟和具體設計內容,否則實驗效率會特別

低,一次實驗時間根本無法完成實驗任務,即使基本做對了,也很難說學懂了些什

么重要教學內容;

2.實驗過程中,應認真進行實驗操作,既不要因為粗心造成短路等事故而損壞設備,

又要仔細思考實驗有關內容,提高學習的主動性和創造性,把自己想不太明白的問

題通過實驗理解清楚,爭取最好的實驗效果,刀求達到教學實驗的主要目的;

3.實驗之后,應認真思考總結,寫出實驗報告,包括實驗步驟和具體實驗結果,遇到

主要問題和分析與解決問題的思路。實驗報告中,還應寫出自己的學習心得和切身

體會,也可以對教學實驗提出新的建議等。實驗報告要交給教師評閱并給出實驗成

績。

實驗步驟:

1.檢查FPGA下方的插針要按下列要求短接:標有“/MWR”“RD”的插針左邊兩

個短接,標有“/MRD”“GND”的插針右邊兩個短接,標有ROMLCS和RAMLCS

的插針短接。

2.RAM(6116)支持即時讀寫,可直接用A、E命令向擴展的存儲器輸入程序或改變內

存單元的值。RAM中的內容在斷電后會消失,重新啟動實驗機后會發現內存單元

的值發生了改變C

1)用E命令改變內存單元的值并用D命令觀察結果。

<1>在命令行提示符狀態下輸入:

E2020

屏幕將顯示:2020內存單元原值:

按如下形式鍵入:

2020原值:2222(空格)原值:3333(空格)原值:4444(空格)原

值:5555

<2>在命令行提示符狀態下輸入:

D2020

屏幕將顯示從2020內存單元開始的情,其中2020H-2023H的信為:

2222333344445555

<3>斷電后重新啟動教學實驗機,用D命令觀察內存單元2020-2023的值。

會發現原來置入到這幾個內存單元的值已經改變,用戶在使用RAM時,

必須每次斷電重啟后都要重新輸入程序或修改內存單元的值。

2)用A命令輸入一段程序,執行并觀察結果。

<1>在命令行提示符狀態下輸入:

A2000

屏幕將顯示:2000:

按如下形式鍵入:

2000:MVRDRO,AAAA

2002:MVRDR1,5555

2004:ANDRO,RI

2005:RET

2006

<2>在命令行提示符狀態下輸入:

T2000

R0的值變為AAAAH,其余寄存器的值不變。

T

R1的值變為5555H,其余寄存器的值不變。

T

R0的值變為0000H,其余寄存器的值不變。

<3>在命令行提示符狀態下輸入:

G20D0

運行輸入的程序。

<4>在命令行提示符狀態下輸入:

R

屏幕顯示:

RO=OODORl=5555R2=.......

RAM芯片可直接用A命令鍵入程序,但斷電會丟失,要再次調試該程序必須重新

輸入,對那些較長的程序或經常用到的程序可通過交叉匯編,在上位機生成代碼文

件,每次加電啟動后不用重新輸入,只需通過PCE16將代碼文件傳送給下位機即

可。

3.將擴展的ROM芯片(27或28系列或28的替代產品58C65芯片)插入標有

“EXTROMH”和“EXTROML”的自鎖緊插座,要注意芯片插入的方向,帶有半

圓形缺口的一方朝左插入。如果芯片插入方向不對,會導致芯片燒毀。然后鎖緊插

座。

4.將擴展芯片右邊的插針按下列方式短接:將EXTROML芯片右上方的標有“WE”

和“ALL”的插針下面兩個短接,將它右邊標有“TEC”"/CS”“FPGA”的三

個插針左邊兩個短接,標有XTROMLCS的插針短接,標有“TEC”“OE”“GND”

“FPGA”的四個插針中間的兩個豎著短接。

5.在第四步中將標有“TEC”"/CS”“FPGA”的三個插針左邊兩個短接表示擴展

的ROM的內存地址是從4000H開始,可用空間是4000H~5FFFH,用戶可在這個

范圍內輸入程序或改變內存單元的值。也可以將這個插針斷開,將標有7cs的圓孔

針與標有MEM/CS的一排圓孔針中的任意一個用導線相連;注意連接的地址范圍

是多少,用戶可用的地址空間是多少。

6.將標有“DataBus15-8”和“DataBus7-0”的數據總線的指示燈下方的插針短接。

7.將標有“AdressBus15-8”和“AdressBus7-0”的地址總線的指示燈下方的插針短

接。

下面以AT28c64B(或其他替代產品58c65芯片)為例,進行擴展EEPROM實驗。

8.AT28c64B的讀操作和一般的RAM一樣,而其寫操作,需要一定的時間,大約為

1毫秒。因此,需要編寫一延遲子程序,在對EEPROM進行寫操作時,調用該子

程序,以完成正詢的讀寫。

1)用E命令改變內存單元的值并用D命令觀察結果。

<1>在命令行提示符狀態下輸入:

E5000

屏幕將顯示:5000內存單元原值:

按如下形式鍵入:

5000原值:2424(按空格)原值:3636(按空格)原值:4848(按空格)

原值:5050

<2>在命令行提示符狀態下輸入:

D5000

屏幕將顯示5OOOH-5O7FH內存單元的值,從5000開始的連續四個內

存單元的值依次為2424363648485050.

<3>斷電后重新啟動,用D命令察看內存單元5000?5003的值,會發現這兒

個單元的值沒有發生改變,說明EEPROM的內容斷電后可保存.

2)AT28C64B存儲器不能直接用A命令輸入程序,單字節的指令可能會寫進

去,雙字節指令的低位會出錯(建議試一試),可將編寫好的程序用編程器寫

入片內也可將程序放到RAM(6116)中、調用延時子程序,訪問AT28C64B中

的內存地址.

下面給出的程序,在5OOOH~5OOFH單元中依次寫入數據0000H.0001H、…

000FH。

從2000H單元開始輸入主程序:

(2000)MVRDR0,0000

MVRDR2,0010;R2記錄循環次數

MVRDR3,5000;R3的內容位16位內存地址

(2006)STRR[R31,R0;將R()寄存器的內容放到R3給出的內存單元中

CALA2200;調用程序地址為2200的延時子程序

INCR0;R0加1

INCR3;R3加1

DECR2;R2減I

JRNZ2006;R2不為0跳轉到2006H

RET

從2200H單元開始輸入延時子程序:

(2200)PUSHR3

MVRDR3,FFFF

(2203)DECR3

JRNZ2203

POPR3

RET

運行主程序,在命令提示符下輸入:G2000

程序執行結束后,在命令提示符下輸入:D500()

可看到從5000H開始的內存單元的俏變為

5(X)():000()()001000200030004()0050006()007

5008:00080009000A000B000C000D000E000F。

思考:1)為何能用E命令直接寫AT28C64B的存儲單元,而A命令則有

時不正確?

2)修改延時子程序,將其延時改短,可將延時子程序中R3的內

容賦成00FF或0FFF等,再看運行結果。

注意:實驗完成后,取下擴展芯片,斷開地址和數據總線的短路子,將

FPGA下方的標有“/MWR”“RD”的插針改成右邊兩個短接。

四、實驗要求

1、認真預習實驗,熟悉主存儲器的讀寫特性及對內存有關信號的推斷。

2、實驗后獨立填寫實驗報告。

實驗四微程序控制器部件實驗

控制器部件是計算機的五大功能部件之一,其作用是向整機每個部件(包括控制器本身)

提供協同運行的需要的控制信號.因而,控制器在計算機組成原理過程中是非常重要的內容,

但學生在學習過程中,對其工作原理卻常常感到難以理解.教師在講述這一部分內容時也常

常覺得難以敘述清楚,通過本實驗,輕而易舉的解決了這一問題。

一、實驗原理

控制器的設計實現有兩種方式:一種是微程序,另一種是組合邏輯線路,微程序控制器的工

作原理,是用一條微指令的控制命令字段來提供一條機器指令的一個執行步驟所需要的控制

信號,用這條微指令的下地址字段,指明下一條微指令在控制器存儲器中的地址,以便從控制

器存儲器中讀出下條微指令.換句話說,每條微指令交應條機器指令的個執行步驟。

1、微指令格式

微指令由下地址字段及控制字段組成.TH—UNION教學機的微指令格式如下:

其中高八位為下地址字段.其余各位為控制字段.

1)址形成邏輯

TH-UNION教學機利用器件形成下一條微指令在控制器存儲器的地址.

下地址的形成由下地址字段及控制字段中的CI3-SCC控制.當為順序執行時,下地址字

段不起作用.下地址為當前微指令地址加1;當為轉移指令913—0=0011)時,由控制信號SCC

提供轉移條件,由卜地址字段提供轉移地址.

2)控制字段

控制字段用以向各部件發送控制信號,使各部件能協調工作。

控制字段中各控制信號有如下幾類:

①對運算器部件為了完成數據運算和傳送功能,微指令向其提供了24位的控制信號,

包括:4位的A、BII地址,用于選擇讀寫的通用積存器3組3位的控制碼18—16、

15-13.12-16,在于選擇結果處置方案、運算功能、數據來源。

3組共7位控制信號控制配合的兩片GAL20V8

3位SST,用于控制記憶的狀態標志位

2位SCI,用于控制產生運算器低位的進位輸入信號

2位SSH,用于控制產生運算器最高,最地位(和積存器)移位輸入信號

②對內存儲器I/O和接口部件,控制器主要向它們禿供讀寫操作用到的全部控制信號,

共3位,即MRW

③對CPU內部總線數據來源的控制,主要通過3位編碼標記為DCD,來選擇把哪一

組數據發送到內部總線(1B)上。

④對幾個特定的積存器接受輸入的控制,也通過了編碼C標記為D(2),用來選擇允

許哪個積存器接受送個它的一組數據。

2、實驗步驟

1)接通教學機電源

2)將教學機左下方的5個控制開關置為11010(單步、手動、置指令、微指令、聯機、

16位)

3)按一下“RESET”按鍵

4)通過16的數據開關置指令機器碼

如置為0000000000000001(表示指令ADDROR1)

5)按RESET鍵,指示燈亮(只要選擇微程序,該燈在指令執行過程中一直亮),其它燈

全滅。

6)按RESET鍵,通過觀察指示燈,得到該指令對應的第一條微指令。

0000000011100030010000010011000101010101000000010H10000此指令的

功能為:0->PC、DI#=O

7)按RESET鍵,通過觀察指示燈,得到該指令對應的第二條微指令:

00000000111000000100001100100000010101010000000100110110功能:

POAR、PC+1->PC

8)按RESET鍵,通過觀察指示燈,得到該指令對應的第三條微指令:

0000()00()111000000001()00()000100000101()1010000000100110110功能:

MEM->IRo

7)和8)兩步驟合起來即為通常所說的取指,它是將要執行的機器指令從內存取出送

到指令寄存器中。

9)按RESET鍵,通過觀察指示燈,得到該指令對應的第四條微指令:

(XXX)010000100(X)0010000000001000001010101000()(X)()l00110110功能:

執行非操作功能,相當于指令譯碼,由下地址字段給出執行ADD指令的微指令的轉

移地址00000100。

10)按RESET鍵,通過觀察指示燈,得到該指令對應的第五條微指令:

0011000000110000010000011011100000000001D001000000000000功能:

執行R0+RI->R0

四、實驗要求

1、認真寫出預習報告與實驗報告,未寫出預習報告者,不得開始實驗。

2、實驗報告中要認真總結分析實驗中的各種現象,特別要把單微指令方式下的調試過

程寫清楚。

實驗五串行接口輸入輸出實驗

實驗目的:

學習串行口的正確設置與使用。

實驗說明:

1.TH-union配置了兩個串行接口C0M1和COM2,其中COM1口是系統默認的串行

口,加電復位后,監控程序對其進行初始化,并通過該口與PC機或終端相連;而

COM2O,留給用戶擴展用。

2.查閱有關書籍,了解串行通信接口芯片8251的工作原理;了解8251復位、初始化、

數據傳輸的過程c提醒注意的是,每次對8251復位后(即按1次“RESET”按鍵),

都需要對其進行初始化,然后再進行正常的數據傳輸:復位后,只能對其進行1次

初始化,多次初始化將導致串口工作不正常。

3.在使用COM2口時,需要將兩片8251芯片之間的插針用短路子短接(出廠時已短

接),這樣才能為COM2正常工作提供所需的控制信號和數據;另外,還需要為其

分配數據口地址和控制地址。本教學機,已將COM2口的C/(D非)與地址總線

的最低位ABO相連,而其片選信號未連,只引出1個插孔,實驗時,應將該插孔與

標有“I/O/CS”的7個插孔中的1個相連。

實驗內容:

I.為擴展I/O口選擇一個地址,即將與COM2口相連的8251的/CS與標有I/O/CS的

一排插孔中的一個相連。

2.將COM2口與終端或另一臺運行有PCECI6的PC機的串口相連。

3.用監控程序的A命令,編寫一段小程序,先初始化COM2口,在向COM2口發送

一些字符,也可從COM2口接收一些字符,或實現兩個串口的通信。

實驗要求:

1.應了解監控程序的A命令只支持基本指令,擴展指令應用E命令將指令代偃寫入

到相應的存儲單元中。

實驗步驟:

I.為擴展I/O口選擇一個地址,將與COM2口相連的8251的/CS與標有I/O/CS的插

孔中地址為A0?AF的一個相連;注意,將兩月8251芯片之間的插針短接(出廠時

以按默認方式短接)。

2.將教學機COMI口與一臺PC機相連,在PC機上啟動PCEC16.EXE。

3.斷開C0M1與PC機的串口線,將其連接到另一臺PC機或同一臺PC機的另一個

串口,同樣啟動PCECI6.EXE。

4.用另一根串口線將COM2口和第一臺PC機或同一臺PC機的另一個串口相連。

5.在與COM1相連的PCEC上輸入程序,這時主PCEC可以輸入輸出,和COM2連

接的時從PCEC只作輸出。

6.用A、E命令編程進行COM2口的操作。(標有"的語句要用E命令直接寫入指令編

碼)

1)程序1:COM2口初始化

在命令行提示符狀態下輸入:

A2000

從20(X)H單元開始輸入下面的程序:

2000:MVRDRO,004E;給R0賦值004E

2(X)2:OUTAl;將R0的值輸出到COM2口的8251中的寄存器中

2003:MVRDR0,0037;給R0賦值0037

2005:OUTAl;將R0的值輸出到COM2口的8251中的寄存器中

2(X)6:RET

在命令行提示符狀態下輸入G2000運行初始化程序,完成對COM2口的初始

化。每次按“RESET”按鍵后,在對?COM2進行讀寫操作之前,都應運行該

程序。需要注意的是,按一次“RESET”按鍵后,只能對COM2口進行一次

初始化操作c

2)程序2:從COM2口輸入數據,然后再與COM1口相連的PC機上顯示出數據。

在命令行提示符狀態下輸入:

A2040

從2040H單元開始輸入下面的程序:

2040:INAl;判鍵盤上是否按了一個鍵

2041:SHRR0:即串行口是否有了輸入的字符

2042:SHRR0

2043:JRNC2040;沒有輸入則循環測試

2044:INA0;從COM2口讀入字符到R0

2045:OUT80;將該字符從COM1口輸出

2046:RET

2047:

運行該程序,在命令行提示符狀態下輸入:

G2040

光標閃爍等待輸入,從弓COM2口相連的PC機鍵盤輸入字符,則在與COM1

口相連的PC機的屏幕上回顯。

3)程序3:從COM1口接收數據,發送到與COM2口相連的PC機上回顯。

在命令行提示符狀態下輸入:

A2060

從2060H單元開始輸入下面的程序:

(2060)IN81;判鍵盤上是否按了一個鍵

2061:SHRR0;即串行口是否有了輸入的字符

2062:SHRRO

2063:JRNC2060;沒有,則循環等待

2064:IN80;接收字符

2065:OUTAO將從鍵盤輸入的字符輸出到另一串I」

2066:RET

2067:

運行該程序,在命令行提示符狀態下輸入:

G2060

光標閃爍等待用戶輸入,從鍵盤輸入6,可在另一PC機的屏幕上回顯出6。

擴展實驗也可按另外一種方式完成,操作步驟如下:

I.為力,展I/O口選擇一個地址:將與COM2LI相連的82M的/C5與標有I/O/CS

的插孔中地址為A0?AF的一個相連;注意,將兩片8251芯片之間的插針短接

(出廠時以按默認方式短接)。

2.將一臺教學機COM1口與一臺PC機相連,在PC機上啟動PCEC16.EXE。

3.將另一臺教學機COM1口與另一臺PC機相連,同樣啟動PCEC16.EXE。

4.用一根串口線將第一臺的教學機的COM2口和另一臺教學機的COM2口相連。

5.在兩臺PC機對應的PCEC上分別輸入以下程序:

從2000H單元開始輸入下面的程序:

2000:MVRDR0,004E;給R0賦值004E

2(X)2:OUTAl;將R0的值輸出到COM2口的8251中的寄存器中

2003:MVRDRO,0037;給R0賦值0037

2(X)5:OUTAl;將R0的值輸出到COM2口的8251中的寄存器中

2006:IN81;檢查本機鍵盤上是否按了一個鍵

2(X)7:SHRRO;即串行口是否有了輸入的字符

2008:SHRRO

2009:JRNC200D:沒有,則轉去檢查擴展接口的健盤有沒有輸入

200A:IN80;若本機鍵盤有輸入則接收該字符

200B:OUT80;將鍵盤輸入的字符在本機輸出

200C:OUTA0;將從鍵盤輸入的字符輸出經擴展串口送到另一臺教學機輸出

200D:IN91:檢杳擴展串口相連的另一臺教學機對應的PC鍵盤上是否按鍵

2(X)E:SHRR0;即串行口是否有了輸入的字符

200F:SHRR0

2010:JRNC2006:沒有,則轉去判本機鍵盤是否有輸入

2011:INAO;若有,則接收

2012:OUT80;在本機輸出

2013:JR2000

2014:RET

該程序完成兩臺教學計算機的第二個串行接口擴展操作并完成該串口初始化,

啟動兩臺教學機,都運行這個程序,則兩個鍵盤的愉入同時顯示在兩個屏幕上,

實現的是雙機的雙向通訊功能。

每臺教學機都只能檢查與操作自己的串行口,管不了另外那臺教學機。

實驗六多級嵌套的中斷實驗

1、實驗原理

1.1中斷電路

TH-union教學機中斷電路的總體組成,如下圖所示:

74LS14874LS27374LS85

圖中1RQO—IRQ2是3個中斷請求源信號,分別對應實驗箱上的三個中斷請求按鈕,實

驗時,按卜某個按鈕表不發出相應的中斷請求信號。這三級中斷的優先次序從低到高為

IRQ0到IRQ2。

1.2中斷處理在教學機中的具體實現

教學機的中斷線路主要包括2片GAL、3個無鎖按鍵、2片74LS374和若干插針。下

面分別對這幾部分進行簡要介紹。

(1)3個無鎖按鍵,提供中斷請求的源信號

教學機支持3級中斷發,這3個無鎖按鍵作為3個中斷源,從右到左依次為一、二、三

級中斷,對應的中斷優先級編碼Pl、P0依次為01、10、11,優先級也依次升高。這3個無

鎖按鍵的引腳作為INTSGAL和INTPGAL的輸入。

(2)INTSGAL,接受并記憶通過無鎖

溫馨提示

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

評論

0/150

提交評論