版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年結(jié)構(gòu)健康監(jiān)測材料的應(yīng)用前景
- 2025年中職(會計電算化)會計電算化基礎(chǔ)階段測試試題及答案
- 海洋地質(zhì)就業(yè)前景分析
- AI賦能出版業(yè)數(shù)字化轉(zhuǎn)型
- 智創(chuàng)“她”力量:女性AI創(chuàng)新創(chuàng)業(yè)白皮書
- 2026中國人保資產(chǎn)管理有限公司博士后科研工作站招聘備考題庫及1套完整答案詳解
- 2026廣西來賓市忻城縣大塘鎮(zhèn)人民政府編外聘用人員招聘1人備考題庫及答案詳解(考點梳理)
- 2022-2023學(xué)年廣東深圳太子灣學(xué)校九年級上學(xué)期期中道法試題含答案
- 2025年下半年山東高速云南發(fā)展有限公司招聘3人備考題庫及一套參考答案詳解
- 2025貴州六盤水市盤州市教育局機關(guān)所屬事業(yè)單位考調(diào)19人備考題庫及一套答案詳解
- 2025年對中國汽車行業(yè)深度變革的觀察與思考報告
- GB/Z 21437.4-2025道路車輛電氣/電子部件對傳導(dǎo)和耦合引起的電騷擾試驗方法第4部分:沿高壓屏蔽電源線的電瞬態(tài)傳導(dǎo)發(fā)射和抗擾性
- 安徽省六校聯(lián)考2025-2026學(xué)年高三上學(xué)期素質(zhì)檢測語文試題及參考答案
- 四川省眉山市東坡區(qū)蘇祠共同體2024-2025學(xué)年七年級上學(xué)期期末英語試題(含答案)
- 蜂窩煤成型機課程設(shè)計說明書
- 創(chuàng)建魯班獎工程工實施指南(word)
- DB31∕T 875-2015 人身損害受傷人員休息期、營養(yǎng)期、護理期評定準(zhǔn)則
- DBJ 33-T 1271-2022建筑施工高處作業(yè)吊籃安全技術(shù)規(guī)程(高清正版)
- 生物統(tǒng)計學(xué)(課堂PPT)
- 腫瘤內(nèi)科中級分章試題精選
- 衢州水亭門歷史文化商業(yè)街區(qū)運營方案
評論
0/150
提交評論