2023年計算機組成原理實習(xí)TECP_第1頁
2023年計算機組成原理實習(xí)TECP_第2頁
2023年計算機組成原理實習(xí)TECP_第3頁
2023年計算機組成原理實習(xí)TECP_第4頁
2023年計算機組成原理實習(xí)TECP_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、TEC-XP機簡介

TEC-XP由清華大學(xué)科教儀器廠和清華大學(xué)計算機系聯(lián)合研制。該實驗系統(tǒng)重點用于計算機

組成原理和計算機系統(tǒng)結(jié)構(gòu)等課程的硬件教學(xué)實驗,還支持監(jiān)控程序、匯編語言程序設(shè)計、BA

SIC高級語言程序設(shè)計等軟件方面的教學(xué)實驗。

1.教學(xué)機系統(tǒng)配置了兩個不同實現(xiàn)方案的CPU系統(tǒng),一個CPU沿襲傳統(tǒng)的設(shè)計思緒,和當(dāng)前主

流的教材配套,由中小規(guī)模的器件組成;另一個CPU參考國外著名大學(xué)的設(shè)計思緒用大規(guī)模的F

PGA器件設(shè)計實現(xiàn)。

2.教學(xué)機的機器字長16位,即運算器、主存、數(shù)據(jù)總線、地址總線都是16位。

3..指令系統(tǒng)支持多種基本尋址方式。其中一部分指令已實現(xiàn),用于設(shè)計監(jiān)控程序和用戶的常

規(guī)匯編程序,尚保存多條指令供實驗者自己實現(xiàn)。

4.主存最大尋址空間是18K字,由基本容量為8K(字節(jié)或16位的字)的ROM和2K(字

節(jié)或16位的字)的RAM存儲區(qū)域組成。還可以進一步完畢存儲器擴展的教學(xué)實驗。

5.原理上講,主時鐘脈沖的頻率可在幾百KHz-近2MHz之間選擇。

6.運算器由4片位片結(jié)構(gòu)器件級聯(lián)而成,片間用串行進位方式傳遞進位信號。ALU實現(xiàn)8種算

術(shù)與邏輯運算功能,內(nèi)部涉及16個雙端口讀出、單端口寫入的通用寄存器,和一個能自行認(rèn)

為的乘商寄存器。設(shè)立C(進位)、Z(結(jié)果為0)、V(溢出)和S(符號位)四個狀態(tài)標(biāo)志位。

7.控制器采用微程序和硬布線兩種控制方案實現(xiàn),可由實驗者自由選擇。實驗人員可方便地修

改已有設(shè)計,或加進若干自己設(shè)計與實現(xiàn)的新指令,新老指令同時運營。

8.主機上安裝有兩路INTEL8251串行接口,一路出廠時已經(jīng)實現(xiàn),可直接接計算機終端,或

接入一臺PC機作為自己的仿真終端;另一路保存學(xué)生擴展實現(xiàn)。選用了MAX202倍壓線路,以

避免使用+12V和-12V電源。

9.在主板的右下方,配置了完畢中斷教學(xué)實驗的全套線路,可以實現(xiàn)三級中斷和中斷嵌套。

10.系統(tǒng)實現(xiàn)多種運營方式,可以單步/連續(xù)運營主存儲器的指令或程序,也可以執(zhí)行一條或若干

條通過數(shù)據(jù)開關(guān)手動置入的指令。

11.主板上設(shè)立數(shù)據(jù)開關(guān)和微型開關(guān)、按鍵和指示燈,支持最低層的手工操作方式的輸入/輸

出,通過指示燈來顯示重要的數(shù)據(jù)或控制信號的狀態(tài),可以完畢及其調(diào)試和故障診斷。板上尚有

支持教學(xué)實驗用的一定數(shù)量的跳線夾。

12.實驗機硬件系統(tǒng),所有功能部件分區(qū)域劃分在大一些的水平放置的一塊印制電路板的不同

區(qū)域,所有器件都用插座插接在印制板上,便于更換器件。

13.實驗計算機使用單一的5V、最大電流3A的直流模塊電源,所耗電流在1.5~2.5A之

間。電源模塊安裝在水平電路板右上角位置,交流220V通過電源接線插到機箱后側(cè)板,經(jīng)

保險絲、開關(guān)連接到電路板上,開關(guān)安放在機箱右側(cè)靠后位置,方便操作且比較安全。

14.兩路的串行接口的接插座安裝在機箱后側(cè)板以方便接線插拔和機箱蓋的打開關(guān)閉。

2、TEC-XP實驗機的硬件組成

2.1總線

在教學(xué)計算機總線部件設(shè)計中,選用單總線結(jié)構(gòu),數(shù)據(jù)總線、地址總線和控制總線都比較簡

樸,保證教學(xué)機的正常運營并體現(xiàn)出總線設(shè)計的基本原理。

2.1.1數(shù)據(jù)總線

被劃提成內(nèi)部總線IB(在CPU一側(cè))和外部總線DB(在存儲器和串行接口一側(cè))兩部

分,它們之間通過2片8位的雙向三態(tài)門電路連接在一起。3組存儲器芯片的數(shù)據(jù)輸入輸出引

腳都直接連接在一起,連接到16位的數(shù)據(jù)總線DB上,串行接口芯片的8位數(shù)據(jù)輸入輸出引腳只

與數(shù)據(jù)總線DB的低8位(DB7-DBO這8位)相連接。

2.1.2地址總線

的構(gòu)成比較特殊,僅地址寄存器AR一個來源,AR又只接受ALU一路輸入。內(nèi)存儲器和

接口電路的地址都來自于地址總線AB(地址寄存器AR的輸出),地址總線的最高3位送到1

片三-八譯碼器,地址總線的低位字節(jié)中的高4位(規(guī)定最高一位必然為1)送到此外1片三-八

譯碼器,分別產(chǎn)生存儲器芯片的8個片選信號和接口電路的8個片選信號。

2.1.3控制總線

提供內(nèi)存和串口的讀寫命令,是把控制器提供的3位控制信號送I片雙二-四譯碼器得到的,

以決定有無內(nèi)存或接口讀寫,若有,是內(nèi)存和還是接口工作,執(zhí)行的是讀還是寫操作。內(nèi)存和

CPU選用同步方式運營,串行接口和CPU選用狀態(tài)查詢方式工作。

2.2運算器

運算器中配置了兩組獨立的8位字長的運算器,各自由2片位片結(jié)構(gòu)的運算器器件組成;

尚有四位的狀態(tài)標(biāo)志寄存器和教學(xué)實驗所需的相關(guān)邏輯部件。所有的算術(shù)與邏輯運算均在這里

完畢;還完畢幾種尋址方式的實際地址計算;它也是重要的數(shù)據(jù)、地址傳送的通路。

2.3控制器

控制器分別用微程序方式與硬布線方式兩種方案實現(xiàn),實驗者可以方便地選擇使用其中任何

一種。這能方便地比較兩種控制器各自的優(yōu)缺陷,和設(shè)計過程的相同的、不同的環(huán)節(jié)與方法。

在選用器件時,微程序方案中選用了美國AMD公司的微程序定序器Am2901芯片,保證微程

序設(shè)計的規(guī)范與實用性;控存體選用只讀存儲器(ROM)芯片,通過對該ROM的編程寫入方

式支持動態(tài)微程序設(shè)計。硬布線方案中,節(jié)拍邏輯與時序控制信號形成部件(組合邏輯線路)選

用了GAL20V8現(xiàn)場可編程器件和MacroArrayCMOSH1ghdensity(簡寫為MAC

H)器件,這對簡化控制器的邏輯設(shè)計與實現(xiàn)至關(guān)重要。

2.4存儲器

在教學(xué)計算機存儲器部件設(shè)計中,出于簡化和容易實現(xiàn)的目的,選用靜態(tài)存儲器芯片實現(xiàn)內(nèi)

存儲器系統(tǒng),涉及了唯讀存儲區(qū)(ROM,存放監(jiān)控程序等)和隨讀寫存儲區(qū)(RAM)兩部分,RO

M存儲區(qū)選用4片長度8位、容量8KB的芯片實現(xiàn),RAM存儲區(qū)選用2片長度8位、容量

2KB的芯片實現(xiàn),每2個8位的芯片合成一組用于組成16位長度的內(nèi)存字,6個芯片被提成3

組,其地址空間分派關(guān)系是:0-1777h用于第一組ROM,固化監(jiān)控程序,2023-2777h用于

RAM,保存用戶程序和用戶數(shù)據(jù),其高端的一些單元作為監(jiān)控程序的數(shù)據(jù)區(qū),第二組ROM的地

址范圍可以由用戶選擇,重要用于完畢擴展內(nèi)存容量的教學(xué)實驗。

2.5I/O設(shè)備

教學(xué)計算機提供了2路串行接口(INTEL8251),以支持接入PC機作為教學(xué)計算機的仿真終

端完畢輸入輸出操作;第一個串口的端口地址分派為8()h/81h,第二個串口的端口地址可以由用

戶選擇。作為擴展實驗內(nèi)容,也可以通過在一個40芯的器件插座上插上其他標(biāo)準(zhǔn)接口線路

(例如INTEL的8255、8253等)并適當(dāng)接線,完畢常用接口線路的輸入輸出操作。

3、實驗機指令系統(tǒng)

3.1指令分類

教學(xué)機的指令按不同的分類標(biāo)準(zhǔn)可劃分為:

1.從指令長度區(qū)分,有單字指令和雙字指令。

2.從操作數(shù)的個數(shù)區(qū)分,有三操作數(shù)指令、雙操作數(shù)指令、單操作數(shù)指令和無操作數(shù)指令。

3.從使用的尋址方式區(qū)分,有寄存器尋址、寄存器間址、立即數(shù)尋址、直接地址、相對尋

址等多種基本尋址方式。

4.從指令功能區(qū)分,給出了算術(shù)和邏輯運算類指令、讀寫內(nèi)存類指令、輸入/輸出類指令、轉(zhuǎn)

移指令、子程序調(diào)用和返回類指令,尚有傳送、移位、置進位標(biāo)志和清進位標(biāo)志等指令。

5.按照指令的功能和它們的執(zhí)行環(huán)節(jié),可以把該機的指令劃分為如下4組。在后面幾節(jié)中給出

的指令流程框圖、指令流程表都是以此為標(biāo)準(zhǔn)進行指令劃分的。

A組:。基本指令A(yù)DD、SUB、AND、OR、XOR、CMP、TEST>MVRR,DEC、

INC,SHL、SHR、JR、JRC、JRNC、JRZ、JRNZ

擴展指令A(yù)DC、SBB、RCL、RCR、ASR、NOT,CLC、STC、ELDkJRS、

JRNS、JMPR

B組:。基本指令JMPA、LDRR、STRR、PUSH,POP、PUSHF、POPF、MVRD、I

N、OUT、RET

C組:。擴展指令CALR、LDRA、STRA、LDRX,STRX

D組:基本指令CALA

擴展指令1RET

A組指令完畢的是通用寄存器之間的數(shù)據(jù)運算或傳送,在取指之后可一步完畢。

B組指令完畢的是一次內(nèi)存或I/O讀、寫操作,在取指之后可兩步完畢,第一步把要使用的地址

傳送到地址寄存器ARH、ARL中,第二步執(zhí)行內(nèi)存或I/O讀、寫操作。

C組指令在取指之后可三步完畢,其中CALR指令在用兩步讀寫內(nèi)存之后,第三步執(zhí)行寄存器

之間的數(shù)據(jù)傳送;而其它指令在第一步置地址寄存器ARH、ARL,第二步讀內(nèi)存(即取地址操

作數(shù))、計算內(nèi)存地址、置地址寄存器ARH、ARL,第三步讀、寫內(nèi)存。

D組指令完畢的是兩次讀、寫內(nèi)存操作,在取指之后可四步完畢。

3.2指令格式

TEC-XP教學(xué)機實現(xiàn)了29條基本指令,用于編寫教學(xué)機的監(jiān)控程序和支持簡樸的匯編語

言程序設(shè)計。同時保存了19條擴展指令,供學(xué)生在教學(xué)實驗中完畢對這些指令的設(shè)計與調(diào)試。

教學(xué)機的指令格式支持單字和雙字指令,第一個指令字的高8位是指令操作碼字段,低8

位和雙字指令的第二個指令字是操作數(shù)、地址字段,分別有3種用法,如下圖所示。

操作碼DRSR

10端口地址/相對偏移量

立即數(shù)/直接內(nèi)存地址/變址偏移量

這8位指令操作碼(記作“IR15-IR8"),含義如下:

1.IR15、IR14用于區(qū)分指令組:OX表達(dá)A組,10表達(dá)B組,11表達(dá)C、D組;C、D組

的區(qū)分還要用IRI1,IR11=0為C組,IR11=1為D組。

2.IR13用于區(qū)分基本指令和擴展指令:基本指令該位為0,擴展指令該位為1:

3.IR12用于簡化控制器實現(xiàn),其值恒為0;

4.IR11~IR8用于區(qū)分同一指令組中的不同指令。

教學(xué)機的指令根據(jù)指令字長、操作數(shù)不同可劃分為如下6種指令格式:

1)單字、無操作數(shù)指令:

格式:

000000

操作碼

00

基本指令:

PSHF;。狀態(tài)標(biāo)志(C、Z、V、S、Pl、P0)入棧

POPF;彈出棧頂數(shù)據(jù)送狀態(tài)標(biāo)志寄存器

RET。。子程序返回

擴展指令:

CLC;?清進位標(biāo)志位C=0

STC;。。。置進位標(biāo)志位C=1

EI;。。開中斷,置中斷允許位INTE=1

DI;關(guān)中斷,置中斷允許位INTER

IRET;。“中斷返回

2)單字、單操作數(shù)指令:

格式:

DR0000

0000SR

操作碼OFFSET

I/OP

ORT

基本指令:

DEC?DR;DR-DR-1

INC?DR;gDR-DR+1

SHL?DR;?DR邏輯左移,最低位補0,最高位移入C

SHRDR;。DR邏輯右移,最高位補0,最低位移入C

JR。。FFSET;。無條件跳轉(zhuǎn)到ADR,ADR=IgPC值+OFFSET

JRQOFFSET;。當(dāng)C=1時,跳轉(zhuǎn)至ADR,AD口=原PC值+OFFSET

JRNCOFFSET;。當(dāng)C=0時,跳轉(zhuǎn)到ADR,八口區(qū)=原PC值+OFFSET

JRZQFFSET;當(dāng)Z=1時,跳轉(zhuǎn)至ADR,AD口=原PC值+OFFSET

JRNZ。OFFSE^>>當(dāng)Z=0時,跳轉(zhuǎn)至ljADR,A口1^=原PC值+OFFSET

IN?I/OPORT;RO-[I/OPORT],從外設(shè)I/OPORT端口讀入數(shù)據(jù)到RO

OUTVOPORT;?[VOPORT]-RO,將RO中的數(shù)據(jù)寫入外設(shè)I/OPORT端口

PUSHSR;。SR入棧

POPoDR:。彈出棧頂數(shù)據(jù)送DR

擴展指令:

RCLDR;。2R與C循環(huán)左移,C移入最低位,最高位移入C

RCRDR;。DR與C循環(huán)右移,C移入最高位,最低位移入C

ASRODR;“DR算術(shù)右移,最高位保持不變,最低位移入C

NOT2R;2R求反,即DR-/DR

JMPRoSR;無條件跳轉(zhuǎn)到SR指向的地址

CALRSR;。調(diào)用SR指向的子程序

JRSOFFSET;當(dāng)S=1時,跳轉(zhuǎn)到AD冗人口1<=原「€:值+OFFSET

JRNSoOFFSET;當(dāng)S=0時,跳轉(zhuǎn)到ADR,ADR=原PC值+OFFSET

3)單字、雙操作數(shù)指令:

格式:

操作碼DRSR

基本指令:

ADD?DR,SR;DR-DR+SR

SUBDR,SR;DR-DR-SR

ANDDR,SR;-DR-DRandSR

CMPoDR,SR;。。DR-SR

XOReDR,SR;DR-DRxorSR

TESToDR,SR;^DRandSR

ORDR,SR;aDR-DRorSR

MVRRDR,SRyDR-SR

LDRRDR,[SR];oDR-[SR]

STRRO|DR],SR;[DR]-SR

擴展指令:

ADCODR,SR;“DR-DR+SR+C

SBBQR,SR;DR-DR-SR-C

4)雙字、單操作數(shù)指令:

格式:

操作碼00000000

ADR

基本指令:

JMPAADR;。無條件跳轉(zhuǎn)到地址ADR

CALAADR;調(diào)用首地址在ADR的子程序

5)雙字、雙操作數(shù)指令:

格式1:

DR000

操作碼0

000()SR

DATA

基本指令:

MVRDDR,DATA;2R-DATA

擴展指令:

LDRADR,[ADR];DR=[ADR]

STRA[ADR],SR;[ADR]-SR

格式2:

操作碼DRSR

ADR

擴展指令:

LDRX?DR,OFFSET[SR];DR-QFFSET+SR|

STRXDR,OFFSET[SR];?[0FFSET+SR]-[DR]

4、實驗機軟件系統(tǒng)

軟件:解釋BASIC語言

匯編語言支持

監(jiān)控程序(指令)級模擬

教學(xué)機模擬:運算器、控制器模擬

(微程序級或硬連線控制器級模擬)

主存儲器模擬,總線,接口模擬

輸入設(shè)備/輸出設(shè)備模擬

運營環(huán)境:PC機,Windows系統(tǒng)

從計算機組成原理課程教學(xué)需求的角度看,該計算機軟件系統(tǒng)的組成也是完整的,支持簡樸

的高級語言(涉及浮點運算指令和基本函數(shù)運算功能),匯編語言(支持基本偽指令功能)和二進

制的機器語言,配有自己的監(jiān)控程序,以及PC機仿真終端程序等。毫無疑問,所有軟件的源

程序代碼是寶貴的教學(xué)參考資料。

從上圖可以看到,軟件實現(xiàn)的計算機系統(tǒng)級和指令級模擬系統(tǒng),可以脫離硬件教學(xué)計算機系

統(tǒng),直接在PC機的WindowS平臺上運營教學(xué)機的程序,可以在PC機上運營教學(xué)機的監(jiān)控程

序,其運營效果和在真正的教學(xué)計算機上運營監(jiān)控程序是相同的。微程序和硬連線這一級別的

模擬軟件,可以通過PC機屏幕查看在教學(xué)計算機內(nèi)部數(shù)據(jù)、指令的流動過程,并顯示每一步

的運營結(jié)果,為設(shè)計、調(diào)試教學(xué)機新的軟件或硬件功能提供重要的輔助作用。

5、實驗機與PC關(guān)系

在本次實驗中,需要使用到一臺TEC-XP實驗機和一臺PC機;其中TEC-XP教學(xué)機系統(tǒng)

是實驗中必不可少的東西,教學(xué)機系統(tǒng)中配置了兩個不同方案的CPU系統(tǒng),一二CPU演戲傳

統(tǒng)的設(shè)計思緒,和當(dāng)前主流的教材配套,由中小規(guī)模的器件組成;另一個CPU參考國外著名大學(xué)

的設(shè)計思緒用大規(guī)模的EPGA器件設(shè)計實現(xiàn)。上面集成了各類實驗所需的硬件元器件,它是我

們本次實驗的重要設(shè)備。

另一方面,在實習(xí)的過程中還配置了PC機,這重要是為了在做聯(lián)機實驗是要用到電

腦;當(dāng)用串口線將PC機遇教學(xué)機連接好設(shè)立好后,通過軟件PCEC16.EXE進行以及一些

基本的匯編命令,我們就可以設(shè)計一些小程序來操作各種不同的寄存器,從而驗證或是自己擴展

一些匯編指令,實現(xiàn)通過程序來操作實驗機教學(xué)系統(tǒng)的目的。

6、實驗機工作原理

A在實驗機上運營一下小程序,來說明實驗機的工作原理

小程序如下:

2023MVRDR0,()001

2023MVRDR1,0002

2023ADDRO,R1

2023RET

202gMVRDRO,0001這條指令的微程序如下△取指周期

PC->MAR,1->RAAd(CMDR)->CMAR

M(MAR)->MDR,(PC)+l->POAd(CMDR)->CMAR

MDR->IR,OP(IR)->cu->形成微指令

執(zhí)行周臥0001->RO將0001直接送至通用寄存器R0*Ad(CMDR)->CMAR取指令程序

入口地址->CMARAMVRDR1,()002這條指令的微程序如下

取指周期:APC->MAR,1->R

Ad(CMDR)->CMAR^M(MAR)->MDR,(PC)+l->PC^Ad(CMDR)->CMARAMDR->IR,

OP(IR)->CU->形成微指令

執(zhí)行周哪0002->R1將0002直接送至寄存器R1;

Ad(CMDR)->CMAR取指令程序入口地址->CMAR

ADDR0,R1這條指令的微程序如下

取指周期:APC->MAR,1->R

Ad(CMDR)->CMARAM(MAR)->MDR,(PC)+l->POAd(CMDR)->CMAR

MDR->IR,OP(IR)->CU

執(zhí)行周期:

(RO)+(R1)->ROAd(CMDR)->CMAR取指令程序入口地址->CMAR

RET這條指令的微程曲取指周期^PC->MAR,l->R

Ad(CMDR)->CMARAM(MAR)->MDR,(PC)+1->PC

Ad(CMDR)->CMAR^MDR->IR,OP(IR)->C5執(zhí)行周期:

0->GAAd(CMDR)->CMAR取指令程序入口地址->CMAR

通過上述這段實現(xiàn)加法運算的小程序可以得出計算機運營程序的原理,計算機一方面將每一條

匯編程序轉(zhuǎn)化成微程序,而每一段微程序都有若干條微指令構(gòu)成,微指令可以直接對硬件進行

操作?!?/p>

7、實驗內(nèi)容及實驗過程

7.1基礎(chǔ)匯編語言程序設(shè)計

7.1.1實驗內(nèi)容

①用R命令查看寄存器內(nèi)容或修改寄存器的內(nèi)容。

②在命令行提醒符狀態(tài)下輸入RR0,用來修改R0寄存器的內(nèi)容。

③通過D2023可以顯示從2023H開始的連續(xù)128個字的內(nèi)容。

④通過E2023可以修改存儲器的內(nèi)容。.

⑤用A命令鍵入一段匯編程序,重要是向累加器送入數(shù)據(jù)和進行運算。

⑥用U命令反匯編剛輸入的程序。

⑦用G命令運營剛輸入的程序。

⑧用P或T命令單步執(zhí)行剛鍵入的程序

7.1.2實驗過程

1.準(zhǔn)備一臺串口工作良好的PC機:

2.將TEC—XP實驗箱與PC機通過串口C0M1或者COM2連接,并且將實驗系統(tǒng)左下方

的五個黑色的控制機器運營狀態(tài)的開關(guān)置成00110(連續(xù)、內(nèi)存讀指令、組合邏輯、聯(lián)機、16

位),并打開電源;

3.在PC機C盤目錄下tec-xp目錄下找到PCEC16.EXE文獻(xiàn)并運營,根據(jù)連接的PC機

串口設(shè)立聯(lián)機工作,直至主機顯示如下:

TEC-2023CRTM0NITOR

Version1.0April2023

<>ComputerArchitecturLab.,TsinghuaUniversity

ProgrammedbyHeJia

。即為聯(lián)機成功;

4.聯(lián)機成功后進行實驗內(nèi)容。

7.2脫機運算器實驗

7.2.1實驗過程

1.將教學(xué)機左下方的5個撥動開關(guān)置為IXX00(單步、16位、脫機);先按一下

“RESET”按鍵,再按一下“START”按鍵,進行初始化;

2.按下表所列的操作在機器上進行運算器脫機實驗,將結(jié)果填入表中:其中D1取為010

1H,D2取為1010H;通過兩個十二位的紅色微型開關(guān)向運算器提供控制信號,通過16

位數(shù)據(jù)開關(guān)向運算器提供數(shù)據(jù),通過指示燈觀測運算結(jié)果及狀態(tài)標(biāo)志。

表1.脫機運算器實驗結(jié)果

、一A-A-

也算I8-I0SSTSSHscBA壓START前壓START后

ALUczvsALUczvs

輸出輸出

*D1+0->R000100000000不用010100000100000

1

*D2+O->R1001000000不用101000010100000

010

R0+Rl->R00000000()000001111000021210000

11

R0-R1->R0001000100001010000F0F11000

00001

R1-RO->R1001000100OFOF10000E01000

001000E

ROVR1->RO001000000000OFOF1000OFOF1010

010

ROAR1->RO00100000000101101001011010

0()001

ROR1->RO00100000000001OEOE101001011000

0

VR0R1)->R00000000000000FEFE1000OEOE1001

11

2*R0->R000100000000不用FEFE1001FDFC0001

R0/2->RO0010000000不用FDFC00017EFE0001

0

7.3組合邏輯控制器實驗

7.3.1實驗內(nèi)容

1.完畢控制器部件的教學(xué)實驗,重要內(nèi)容是有學(xué)生自己設(shè)計幾條指令的功能、格式和執(zhí)行

流程,并在教學(xué)計算機上實現(xiàn)、調(diào)試對的。

2.一方面是看懂TEC-XP教學(xué)計算機的功能部件組成和線路邏輯關(guān)系,然后分析教學(xué)計

算機中已經(jīng)設(shè)計好并正常運營的幾條指令(例如,ADD、SHR、OUT、MVRD、JRC、

CALA,RET等指令)的功能、格式和執(zhí)行流程。

3.設(shè)計幾條指令的功能、格式和執(zhí)行流程,并在教學(xué)計算機上實現(xiàn)、調(diào)試對的。例如

ADC、JRS、JRNS,LDRA、STOR、JMPR等指令,可以從《TEC-XP教學(xué)計算機系統(tǒng)技術(shù)

說明與實驗知道》第二章給出的19條擴展指令中任意選擇,當(dāng)然也可以設(shè)計與實現(xiàn)其它的指

令,涉及本來己程序的基礎(chǔ)上按照ABEL語言的規(guī)定添加新指令的控制信號,編譯產(chǎn)生JED

文獻(xiàn)并下載到MACH芯片里。軟件的使用和下載參見附錄。

4.單條運營指令,查看指令的功能、格式和執(zhí)行流程。

現(xiàn)將教學(xué)計算機左下方的5個撥動開關(guān)置為11110,再按一下“RESET”按鍵,然后通過16位

的數(shù)據(jù)開關(guān)(SWH、SWL)置入指令,按“START”按鍵單步送脈沖,通過指示燈觀測控制

信號的變化。

5.用控制程序的A、E(擴展指令必須用E命令置入)命令編寫一段小程序,觀測運營結(jié)

果。

實驗是將教學(xué)機左下方的5個撥動開關(guān)置為00110,運營編寫的小程序。觀測終端顯示的結(jié)

果,檢查設(shè)計的指令是否對的。若與預(yù)定結(jié)果不符,可查看指令的功能、格式、執(zhí)行、流程設(shè)

計的是否對的。

7.3.2實驗過程

1.接通教學(xué)機電源;

2.將教學(xué)機左下方的5個撥動開關(guān)置為11110(單步、手動指令、組合、16位、聯(lián)機);

3.按一下“RESET”按鍵;

4.通過16位的數(shù)據(jù)開關(guān)SWH、SWL置入16位的指令操作碼;

5.在單步方式下,通過指示燈觀測各類基本指令的節(jié)拍。

選擇基本指令的A組指令中的ADD指令,觀測其節(jié)拍流程;

6.單步方式下,通過指示燈觀測各類基本指令的控制信號。

1)選擇基本指令的A組指令中的SHR指令,觀測期執(zhí)行過程中控制信號的變化,分析其作

用。

2)選擇基本指令的B組指令中的JMPA指令,觀測其執(zhí)行過程中信號的變化,分析其作用。

7.4存儲器實驗

7.4.1實驗內(nèi)容

1.要完畢存儲器容量擴展的教學(xué)實驗,需為擴展存儲器選擇一個地址,并注意讀寫和OE控制信

號的對的狀態(tài);

2.用監(jiān)控程序的D、E命令對存儲器進行讀寫,比較RAM(6116)EEPROM(28系列芯

片)EPROM(27系列芯片)在讀寫上的異同;

3.用監(jiān)控程序的A命令編寫一段程序,對RAM(6116)進行讀寫,用D命令查看結(jié)果是否對的;

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

D命令查看結(jié)果是否對的;如不對的,分析因素,改寫程序,重新運營。

7.4.2實驗過程

1.檢查FPGA下方的插針要按下列規(guī)定短接:標(biāo)有“/MWR”“RD”的插針左邊兩個短接,

標(biāo)有“/MRD”

“GND”的插針右邊兩個短接,標(biāo)有ROMLCS和RAMLCS的插針短接。

2.RAM(6116)讀寫實驗

1簡樸指令測試:

(1)用E命令改變內(nèi)存單元的值并用D命令觀測結(jié)果。

TEC-2000CRTMONITOR

Uersion2.02001.10

ComputerArchitecturLab.j.TsinghuaUniversity

CopyrightJasonHe

>E2020

20200000:2222F7FF:33330000:4444FFFF:5555

>D2020

202022223333444455550000FFFF0000FF7F,M,33DDUU.......a

20280000FFEF0000FFFF0000FFFF0020FFFF.................

20300000FDFF0000FFFF0000FFFF0000FFFF.................

圖1-1.E命令改變內(nèi)存單元的值并用D命令觀測結(jié)果

分析:可以看到相應(yīng)內(nèi)存單元已被修改為指定的值

(2)并用D命令觀測結(jié)果。

TEC-2000CRTMONITOR

Uersion2.02001.10

ComputerArchitecturLab.4.TsinghuaUniuersity

CopyrightJasonHe

>D2020

20200000FFFF0000FFFF0000FFFF0000FFFF

20280000FFFF0000FFFF0000FFFF00A0FFFF

20300000FDFF0000FFFF0000FFFF0000FFFF

20380000FFFF0000FFFF0800FFFF0400FFBF..

圖1-2.E命令改變內(nèi)存單元的值并用D命令觀測結(jié)果

分析:可以顯示子指定內(nèi)存單元地址開始128個內(nèi)存單元的值,這里只截取了一部分以求簡

練。

(3)斷電后重啟內(nèi)存單元的值已經(jīng)改變

TEC-2000CRTMONITOR

Uersion2.02001.10

ComputerArchitecturLab.^.TsinghuaUniuersity

CopyrightJasonHe

>D2020

20200000FFFF0000FFFF0000FFFF0000FFFF................

20280000FFFF0000FFFF0000FFFF00A0FFFF................

20300000FDFF0000FFFF0000FFFF0000FFFF................

20380000FFFF0000FFFF0800FFFF0400FFBF................

圖1-3.斷電后的查詢結(jié)果

分析結(jié)果:從輸入輸出結(jié)果可以看出,RAM芯片在斷電重啟后原先寫入的程序都會丟失,需要每

次重新執(zhí)行輸入寫入程序的過程。

2用A命令輸入一段程序,執(zhí)行并觀測結(jié)果。截屏如下:

>A2000

2000:MURDR0.AAAA

2002:MURDRI,5555

2004:ANDR0,R1

2005:RET

2006:

|>12000

R0=AAAAR1=FFFFR2=0000R3=FFFFSP=2780PC=2002R6=0000R7=FFFFR8=2000

R9=FFFFR10=0400R11=FFFFR12=2008R13=FFFFR14=260DR15=FFFFF=00000011

2002:88105555MURDRI,5555

>T

R0=Ai屏ARI=5555R2=0000R3=FFFFSP=2780PC=2004R6=0000R7=FFFFR8=2000

K9=FFFFRI0=0400R11=FFFFR12=2008R13=FFFFR14=260DR15=FFFFF=00000011

2004:0201ANDR0,R1

>T

R0=0000RI=5555R2=0000R3=FFFFSP=2780PC=2005R6=0000R7=FFFFR8=2000

R9=FFFFRI0=0400R11=FFFFR12=2008R13=FFFFR14=260DR15=FFFFF=01000011

2005:8F00RET

>-

圖2-1.A命令執(zhí)行結(jié)果

分析:

第一次單步調(diào)試,RO的值變?yōu)锳AAAH,其余寄存器的值不變

第二次但不調(diào)試,R1的值變?yōu)?555H,其余寄存器的值不變

第三次單步調(diào)試,R0的值變?yōu)?000H,其余寄存器的值不變

B0=0000Rl=5555R2=0000R3=FFFFSP=2780PC=2005R6=0000R7=FFFFR8=2000

R9=FFFFR10=0400R11=FFFFR12=2008R13=FFFFR14=260DR15=FFFFF=01000011

2005:8F00RET

>G2000

0=%00RI=5555R2=0000R3=FFFFSP=2780PC=2000R6=0000R7=FFFFR8=2000

9=FFFFR10=0400R11=FFFFR12=2008R13=FFFFR14=2612R15=FFFFF=01000011

>R

0=0000RI=5555R2=0000R3=FFFFSP=2780PC=2000R6=0000R7=FFFFR8=2000

9=FFFFR10=0400R11=FFFFR12=2008R13=FFFFR14=2612R15=FFFFF=01000011

000:8800AAAAMURDRl

圖2-2.A命令執(zhí)行結(jié)果續(xù)

3EPROM芯片實驗。

將芯片OOOOUXMF的內(nèi)存單元的值置為010203040506070809OAOBOCODOEOF

101112131415161718191AIBIC1DIEIF。截屏如下:

000

0058800:0001004E:00028681:00038800:00040037:0005

8681:00068840:00072607:00088800:00092000:000A

09CA

08500:000B8500:000c8500:000D8500:000E8810:000F

DSF

042613:00108310:00110100:00128500:00138800:0014

092780:00158810:00162612:00178310:00188840:0019

D027FE:001A8820:001B09A7:001CCE00:001D057F:001F

00004E

0888000008681880000378681884026077.(?&.

DC

0t088000100850085008500850088102613

H8310850088002780881026128310&...

nr-rjTiCARTT

圖3-1.擦除芯片內(nèi)容

斷電重啟后的實驗結(jié)果如下:

IJ)00008840

的008800004E868188000037868188102607

000888002000850085008500850026122613

001083100100850088002780881088008310

0018884027FE882009A7CE00057F003E

圖3-2.斷電重啟后的實驗結(jié)果

分析:由圖可知斷電后重啟,內(nèi)存數(shù)值沒變。

458c65芯片擴展EEPROM實驗。

(1)、用E命令改變內(nèi)存單元的值并用D命令觀測結(jié)果。截屏如下:

>E5000

50002400:2424FFFF:3636FFFF:4848FFFF:5050

>D5000

50002佟3636484850500000000000000000$$66HHPP

5151:

圖4-1.用E命令改變內(nèi)存單元的值并用D命令觀測結(jié)果

回2000

2000:MURDR0.0000

2002:MURDR2,0010

2004:MURDR3.5000

2006:STRR[R3LR0

2007:CALA2200

2009:INCR0

200A:INCR3

200B:DECR2

E00C:JRNZ2006

Q00D:RET

E00E:

M2200

2200:PUSHR3

2201:MURDR3.FFFF

2203:DECR3

2204:JRNZ2203

2205:POPR3

2206:RET

2207:

8G_

圖4-2修改內(nèi)存單元程序代碼

2206:RET

2207:

,G2000

B0=0010RI=FFFFR2=0000R3=5010SP=2780PC=2000R6=0000R7=FFFFR8=0000

B9=FFEFR10=0400R11=FDFFR12=2000R13=FFFFR14=2612R15=FFFFF=11000011

>D5000

500000000001000200030004000500060007......................................

500800080009000A000B000C000D000E000F......................................

501003034646818188880000030346460808..FF..................FF..

圖4-3內(nèi)存單元值修改效果演示

分析:有上述結(jié)果可以知道從5000H開始的內(nèi)存值被程序修改,同時運營時可以看到程序有延

遲,這是由于地址為2200開始的子程序代碼決定的,當(dāng)將子程序中R3的內(nèi)容修改為00FF后運

營結(jié)果仍對的,但延遲時間有變化。

7.5微程序控制器實驗

7.5.1實驗內(nèi)容

1.實驗之前,應(yīng)認(rèn)真準(zhǔn)備,寫出實驗環(huán)節(jié)和具體設(shè)計內(nèi)容,否則實驗效率會特別低,一次實驗時

間主線無法完畢實驗任務(wù),即使基本做對了,也很難說學(xué)懂了什么重要教學(xué)內(nèi)容;

2.應(yīng)在實驗前掌握所有控制信號的作用,在脫機運算器實驗中,己給出了與運算器有關(guān)的

控制信號的作用,16位機微程序控制器用到的控制信號的功能表可參見《TEC-XP教學(xué)計算機

系統(tǒng)技術(shù)說明與實驗指導(dǎo)》第三章的控制器部件和運算器部件的相關(guān)內(nèi)容。需要注意的是中端

用到了DC23,在T4~TO=00010一拍時DC23為1,其余節(jié)拍均為0;

3.實驗過程中,應(yīng)認(rèn)真進行實驗操作,既不要由于粗心導(dǎo)致短路等事故而損壞設(shè)備,又要仔細(xì)

思考實驗有關(guān)內(nèi)容,提高學(xué)習(xí)的積極性和發(fā)明性,把自己想不太明白的問題通過實驗理解清楚,

爭取最佳的實驗效果,力求達(dá)成教學(xué)實驗的重要目的;

4.實驗之后,思考總結(jié),寫出實驗報告,涉及實驗環(huán)節(jié)和具體的實驗結(jié)果,碰到的重要問題和分

析與解決問題的思緒。

7.5.2實驗過程

1.接通教學(xué)機電源;

2.將教學(xué)機左下方的5個撥動開關(guān)置為11010(單步、手動置指令、微程序、聯(lián)機、16

位);

3.按一下“RESET”按鍵;

4.通過16位的數(shù)據(jù)開關(guān)SWH、SWL置入指令操作碼;

5.在單步方式下,通過指示燈觀測各類基本指令的微碼

1)選擇基本指令的A組中的ADD指令,觀測其節(jié)拍流程

2)選擇基本指令的B組指令中的MVRD指令,觀測其節(jié)拍流程

6.在連續(xù)方式下,用A命令鍵入程序并運營

TEC-2000CRTMONITOR

Uersion2.02001.10

ComputerArchitecturLab.>.TsinghuaUniuersity

CopyrightJasonHe

>A3000

2005:MURDR0.0036

2002:OUT80

2003:RET

2004:

>G2000

6

R0=0036R1=FFFFR2=0400R3=FFFFSP=2780PC=2000R6=A000R7=FFFFR8=2000

R9=FFEFR10=0400R11=FFFFR12=2008R13=FFFFR14=2612R15=FFFFF=00000011

>-

圖6-1

分析:程序?qū)0賦值0036H,結(jié)果如圖,寄存器R0的值已被修改。

7.MPROM芯片擴展:

>E4020

4020FFFF:5000

>IiL406D

4(5tDFFFF:5700FFFF:

>E40E4

40E4FFFF:5B00

>E40E0

40E0FFFF:6400

>E4050

;4050FFFF:3000

>E4057

4057FFFF:3000

>E405B

405BFFFF:0000

>E405C

405CFFFF:1C00

>E4064

4064FFFF:0000

>E4065

4065FFFF:0000

>E4066

4066FFFF:3000

圖7T對CMH的操作

>E4050

4050FFFF:3000

>E4057

4057FFFF:3000

>E405B

405BFFFF:E000

>E405C

405CFFFF:3000

>E4064

4064FFFF:E000

>E4065

4065FFFF:E000

>E4066

4066FFFF:3000

>-

圖7-2對CML的操作

8.測試ADC指令:

CopyrightJasonHe

>A2000

2000:MURDR0.0101

2002:MURDRI,1010

2004:

>A2006

2006:RET

2007:

>E2004

20型0000:6D00

>E^005

2005FFFF:2001

>E2006

20068F00:

>G2000

R0=1112RI=1010R2=0000R3=FFFFSP=2780PC=2000R6=0000R7=FFFFR8=0000

R9=FFFFR10=0400R11=FDFFR12=2000R13=FFFFR14=2612R15=FFFFF=00000011

zn

R0=1112RI=1010R2=0000R3=FFFFSP=2780PC=2000R6=0000R7=FFFFR8=0000

R9=FFFFR10=0400R11=FDFFR12=2000R13=FFFFR14=2612R15=FFFFF=00000011

R000:88000101MURDR01,0101

圖8-1

分析:程序?qū)0賦值0101,R1賦值1010,然后用E命令鍵入運用已經(jīng)編寫好的ADC指令其中

6D00和2023的得出是從擴展指令的指令格式表中查表得出的。00100000DRSR即2023,功

能是DRCDR+SR+C.所以是將RO,R1中的值相加再加1最后放到R0中,而R1中的值不變。

于是的到如上結(jié)果。

9.測試CALR指令:

|>E20F0

20F0E715:00412AB2:00420020:0043001F:00440020:0045

20F500

溫馨提示

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

最新文檔

評論

0/150

提交評論