版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)驗(yàn)一實(shí)驗(yàn)環(huán)境的使用
姓名梁及一成績實(shí)驗(yàn)時(shí)間__________
指導(dǎo)教師(簽章)張歡歡
注:本次實(shí)驗(yàn)重在熟悉實(shí)驗(yàn)平臺(tái),微程序控制器尚未講解,不必刻意要求自
己全部理解,DM1000(類intel8086)匯編要明白這些指令的作用和大致格
式,如加法等
一.實(shí)驗(yàn)?zāi)康?/p>
?掌握DreamLogic軟件的基本使用方法。
?了解DM1000模型機(jī)匯編程序的編寫方法,并學(xué)習(xí)將匯編源程序編譯為機(jī)器指令
的方法。
?了解DM1000模型機(jī)的微指令,并學(xué)習(xí)將微指令程序編譯為微程序的方法。
?掌握DM1000模型機(jī)加載指令程序和微指令程序的方法。
?熟練掌握原理圖中使用網(wǎng)絡(luò)、端口、總線等在器件、模塊間建立連接的方法,
掌握模塊化電路的設(shè)計(jì)方法。
?熟練掌握DM1000模型機(jī)進(jìn)行單周期仿真的方法,并了解各個(gè)工具窗口以及它們
的作用
二.實(shí)驗(yàn)內(nèi)容
1.環(huán)境部署與安裝
從CodeCode.net平臺(tái)領(lǐng)取任務(wù)CodeCode.net平臺(tái)是用于教師在線布置實(shí)驗(yàn)任務(wù),并
統(tǒng)一管理學(xué)生提交的作業(yè)的平臺(tái)。如果沒有使用到CodeCode.net平臺(tái),可以跳過此部分。
1.讀者通過瀏覽器訪問https:〃www.codccodc.net,可以打開CodeCode.net平臺(tái)的登
錄頁面。
2.在登錄頁面中,讀者輸入帳號(hào)和密碼,點(diǎn)擊“登錄”按鈕,可以登錄CodeCode.「et平
臺(tái)。
3.登錄成功后,在“課程”列表頁面中,可以找到數(shù)字電路相關(guān)的實(shí)驗(yàn)課程。點(diǎn)擊此
課程的鏈接,可以進(jìn)入該課程的詳細(xì)信息頁面。
4.在課程的詳細(xì)信息頁面中,可以查看“課程描述”,該信息對(duì)于完成實(shí)驗(yàn)十分重要,
建議讀者認(rèn)真閱讀。點(diǎn)擊左側(cè)導(dǎo)航中的“任務(wù)”鏈接,可以打開任務(wù)列表頁面。
5.在任務(wù)列表中找到本次實(shí)驗(yàn)對(duì)應(yīng)的任務(wù),點(diǎn)擊右側(cè)的“領(lǐng)取任務(wù)”按鈕,可以進(jìn)入
“領(lǐng)取任務(wù)”頁面。
6.在“領(lǐng)取任務(wù)”頁面中,“新建項(xiàng)目名稱”、“新建項(xiàng)目路徑”、“項(xiàng)目所在的群
組”一般使用默認(rèn)值即可。點(diǎn)擊“領(lǐng)取任務(wù)”按鈕后,可以創(chuàng)建一個(gè)個(gè)人項(xiàng)目用于完成
本次實(shí)驗(yàn),并自動(dòng)跳轉(zhuǎn)到該項(xiàng)目的詳情頁面。
7.個(gè)人項(xiàng)目的詳情頁面主要包括左側(cè)的導(dǎo)航欄、項(xiàng)目信息、文件列表、readme.md文件
內(nèi)容等,如圖1T所示。
8.在圖1T中,點(diǎn)擊紅色方框中的按鈕,可以復(fù)制當(dāng)前項(xiàng)目的URL,在本實(shí)驗(yàn)后面的練
習(xí)中會(huì)使用這個(gè)URL將此項(xiàng)目克隆到讀者計(jì)算機(jī)的本地磁盤中,從而供讀者進(jìn)行修改。
下載
gitclone,然后本地添加
-zip打包
-在gui界面打開遠(yuǎn)程,本質(zhì)和git一樣
注意環(huán)境路徑不能是中文
可供參考內(nèi)容
-視頻
-手冊(cè)pdf
2.仿真環(huán)境圖形用戶界面簡(jiǎn)介
1)圖形用戶界面總體介紹
這里還需要對(duì)DM1OOC的原理圖DM1000.dlsche進(jìn)行一些說明:
1.此原理圖是DU1OCO的頂層原理圖,其通過總線將各個(gè)模塊連接起來,這樣大大簡(jiǎn)化
了頂層原理圖的復(fù)雜度,可以使讀者很清晰的掌握各個(gè)模塊間的連接關(guān)系,快速掌握
DM1000的整體結(jié)構(gòu)。
2.在此原理圖中遵守左囿輸入,右面輸出的約定。模塊左側(cè)的總線表示輸入;模塊右
側(cè)的總線表示輸出;模塊頂部或底部的總線,表示模塊既能從總線接收數(shù)據(jù),又能向總
線發(fā)送數(shù)據(jù)。
3.在此原理圖中提供了時(shí)鐘和復(fù)位兩個(gè)控制信號(hào)。其中,復(fù)位信號(hào)可以使用鍵盤上的R
鍵控制,每次復(fù)位都能使21000模型機(jī)從第一條指令開始執(zhí)行程序。時(shí)鐘提供了單步時(shí)
鐘和自動(dòng)時(shí)鐘,可以使用鍵盤上的S鍵進(jìn)行切換。單步時(shí)鐘可以使用鍵盤上的C鍵控制,
默認(rèn)是高電平,也就是說每次按下C鍵,都會(huì)讓單步時(shí)鐘變?yōu)榈碗娖?,并產(chǎn)生一個(gè)下降
沿,抬起C鍵會(huì)讓單步時(shí)鐘恢復(fù)為高電平,并產(chǎn)生一個(gè)上升沿。
4.除了使用總線連接各個(gè)模塊的接口外,各個(gè)模塊的接I」還通過使用相同的名稱表示
它們具有連接關(guān)系。為了確保原理圖簡(jiǎn)潔清晰,PC/ALU/REG等模塊的輸入信號(hào)都是通過
這種方式與CU模塊輸出的控制信號(hào)進(jìn)行連接的。
5.總圖中的模塊是通過子模塊文件的名稱與之對(duì)應(yīng)的,例如讀者使用鼠標(biāo)左鍵點(diǎn)擊選
中REG模塊后,在右側(cè)的“屬性”窗口中就會(huì)顯示此模塊的所有屬性,其中“模塊原理圖文
件”的屬性值為"REG.dlsche”,說明此模塊是與原理圖文件REG.dlsche對(duì)應(yīng)的。
提示:用鼠標(biāo)左鍵雙擊總圖中的模塊,就會(huì)自動(dòng)跳轉(zhuǎn)到對(duì)應(yīng)的子模塊原理圖文件,在子模塊原理圖文件
中的空白處雙擊鼠標(biāo)左鍵,就會(huì)返回到總圖中,這樣操作起來十分方便。
2)模型機(jī)簡(jiǎn)介
文件夾或文件名稱說明
子模塊文件夾
ALU.dlsche算術(shù)邏輯運(yùn)算模塊原理圖文件
PC.dlsche程序計(jì)數(shù)器模塊原理圖文件
REG.dlsche寄存器模塊原理圖文件
CU.dlsche控制模塊原理圖文件
MEM.dlsche主存儲(chǔ)器模塊原理圖文件
uPC_XEXT.dlsche微程序計(jì)數(shù)器模塊原理圖文件
匯編源程序文件夾
此文件中默認(rèn)包含了?個(gè)簡(jiǎn)單的匯編語言源程序,作為示例
ram.asm程序提供給讀者,讀者可以修改此文件中的源代碼,根據(jù)需
要編寫自己的匯編程序。
這是?個(gè)Windows批處理文件,運(yùn)行此文件可以執(zhí)行其中的
命令讓dmasm.exe編譯器將ram.asm中的匯編代碼編譯為機(jī)
ram.bat
皤碼,并寫入存儲(chǔ)器映射文件ram」工m中,同時(shí)還會(huì)生成列
及文件ram.1st和調(diào)試信息文件ram.dbg.
微指令源程序文件夾
此文件中包含了DM1000的全部微指令源程序。讀者可以根
rom.masm
據(jù)需要修改此文件,添加新的微指令。
這是一個(gè)Windows批處理文件,運(yùn)行此文件可以執(zhí)行其中的
命令讓microasm.exe編譯器將rom.masm中的微指令源程序
rom.bat
編譯為機(jī)器碼,并寫入存儲(chǔ)器映射文件rom.rxni中,同時(shí)還
會(huì)生成列表文件rom.1st和調(diào)試信息文件rom.dbg.
存儲(chǔ)器映射文件文件夾
主存儲(chǔ)器映射文件,其中包含/匯編程序生成的機(jī)器碼。當(dāng)
ram.rxmDM1000開始運(yùn)行時(shí),此文件中的內(nèi)容會(huì)被加我到MEMf模
塊的RAM中,從而允許DM1000執(zhí)行月中的機(jī)器碼.
微指令存儲(chǔ)器映射文件,其中包含了微指令源程序生成的機(jī)
借碼。當(dāng)DM1000開始運(yùn)行時(shí),此文件中的內(nèi)容會(huì)被加我到
rom.rxm
CU子模塊的ROM中,從而允許DM1000將指令的機(jī)器碼翻譯
為微指令的機(jī)器碼并執(zhí)行。
DM1000八位模型機(jī)的總圖,由各個(gè)廣?模塊、時(shí)鐘和凌位控
DM1000.dlsche
制通過總線或網(wǎng)絡(luò)連接,組成可運(yùn)行程序的計(jì)算機(jī)系統(tǒng)。
3)DM1000(類lntel8086)指令集自學(xué)筆記
程序分為代碼段和數(shù)據(jù)段。代碼段的開始位置用關(guān)鍵字.texl標(biāo)出,而數(shù)據(jù)段的開始
位置用關(guān)鍵字.data標(biāo)出。
.text;代碼段
movr0,16;將立即數(shù)16賦值給通用寄存器r0
mova,num;將標(biāo)號(hào)num指定的主存儲(chǔ)器單元內(nèi)容復(fù)制到累加器a中
adda,r0;將累加器a的值與通用寄存器r0的值相加,結(jié)果寫回累加器a中
?data;數(shù)據(jù)段
num:-1
DM1000在執(zhí)行一條指令時(shí),會(huì)將其分為多個(gè)步驟即多條微指令,一個(gè)時(shí)鐘周期執(zhí)行一條
微指令。以指令“adda,rO”為例,可以分為以下步驟:
1.取指。取指是所有指令執(zhí)行的第一步,該步驟將程序計(jì)數(shù)器PC在存儲(chǔ)器中指向的一
個(gè)字節(jié)取出,并將其寫入指令寄存器IR中。與此同時(shí),CU模塊將指令機(jī)器碼中的高6位
擴(kuò)展為16位,作為微程序計(jì)數(shù)器uPC的值,使uPC轉(zhuǎn)去執(zhí)行該指令對(duì)應(yīng)的微程序。
2.將寄存器rO的值送到工作寄存器\丫中。
3.ALU將累加器a與工作寄存器W的值相加,并將結(jié)果寫回累加器a中。
4.指令執(zhí)行完畢,程序計(jì)數(shù)器PC加1,指向下一條指令。
三.實(shí)驗(yàn)結(jié)果
簡(jiǎn)述實(shí)驗(yàn)步驟(領(lǐng)取任務(wù),啟動(dòng)dreamlogic,模型機(jī)克隆,新建項(xiàng)目,
運(yùn)行簡(jiǎn)單匯編修改,推送作業(yè)步驟等)
領(lǐng)取任務(wù)
從CodeC平臺(tái)領(lǐng)取任務(wù)CodeC平臺(tái)是用于
教師在線布置實(shí)驗(yàn)任務(wù),并統(tǒng)一管理學(xué)生提交的作業(yè)的平臺(tái)。如果沒有使用
至iJCodeC平臺(tái),可以跳過此部分。
1.讀者通過瀏覽器訪問https:〃,可
以打開CodeC平臺(tái)的登錄頁面。
2.在登錄頁面中,讀者輸入帳號(hào)和密碼,點(diǎn)擊''登錄〃
按鈕,可以登錄CodeC平臺(tái)。
3.登錄成功后,在''課程〃列表頁面中,可以找到數(shù)字電
路相關(guān)的實(shí)驗(yàn)課程。點(diǎn)擊此課程的鏈接,可以進(jìn)入該課程的詳細(xì)信息頁
面。
4.在課程的詳細(xì)信息頁面中,可以查看''課程描述〃,該
信息對(duì)于完成實(shí)驗(yàn)十分重要,建議讀者認(rèn)真閱讀。點(diǎn)擊左側(cè)導(dǎo)航中的''任
務(wù)〃鏈接,可以打開任務(wù)列表頁面。
5.在任務(wù)列表中找到本次實(shí)驗(yàn)對(duì)應(yīng)的任務(wù),點(diǎn)擊右側(cè)的
''領(lǐng)取任務(wù)”按鈕,可以進(jìn)入''領(lǐng)取任務(wù)〃頁面。
6.在''領(lǐng)取任務(wù)〃頁面中,''新建項(xiàng)目名稱〃、''新建項(xiàng)目路
徑〃、''項(xiàng)目所在的群組〃一般使用默認(rèn)值即可。點(diǎn)擊''領(lǐng)取任務(wù)〃按鈕后,
可以創(chuàng)建一個(gè)個(gè)人項(xiàng)目用于完成本次實(shí)驗(yàn),并自動(dòng)跳轉(zhuǎn)到該項(xiàng)目的詳情
頁面。
7.個(gè)人項(xiàng)目的詳情頁面主要包括左側(cè)的導(dǎo)航欄、項(xiàng)目信
息、文件列表、readme.md文件內(nèi)容等,如圖1-1所示。
8.在圖1-1中,點(diǎn)擊紅色方框中的按鈕,可以復(fù)制當(dāng)前
項(xiàng)目的URL,在本實(shí)驗(yàn)后面的練習(xí)中會(huì)使用這個(gè)URL將此項(xiàng)目克隆到讀
者計(jì)算機(jī)的本地磁盤中,從而供讀者進(jìn)行修改。
啟動(dòng)dreamlogic
下載
-gitclone,然后本地添加
-zip打包
-在gui界面打開遠(yuǎn)程,本質(zhì)和git一樣
注意環(huán)境路徑不能是中文
然后雙擊點(diǎn)擊圖標(biāo),新建項(xiàng)目,選擇gitclone的路徑下的可執(zhí)行文件
運(yùn)行簡(jiǎn)單匯編修改
K傕公”鍛■簫H做凡:at?onproductpoweredbyAl.
ing.aMSdegre?inBiophysicsin
A」上平UjJTuX
Favivai▼Jx
DMIOOO9<sttizttuwnotooooh8010730710AC05rr
卓
jjAlUAcfw
LSKJhche
2RCGW.
pMEMdxht
&CU4?Kh?
g匕厚
Q
rommwa*.
&OMIMCAKM
0陋6<一
模擬
DLEngintimeDreamLogic2019-梁天一?tianyilt
:文件(D編?;匾晥DM仿真⑻繪制⑼儀器(D窗口地)幫助(LD
:▼一一」Q3▼?[$:
源代碼14X
RAM(MEM.RAM)<-PCc5封
0001TWp!於
0002
00038C1O.text
*00040078O7movrO,16
0005021Omova,num
000604adda,rO
0007
00085O5Endless_Loop:
0009AcjinpEndless_Loop
0010
0011.data
00127
0013FFnum:-1
十六踹,c
名稱值i
ASR
CSP
IR?
V
<>
源代碼2▼4X
ROM(CU.ROM)<-uPC▼Q回
0001;(C)2008-2018:A
0002
0003;Eu0DOjiPAMtl0?j
RIN
0004;
4000500EF3FF9FFpath[pc],ir
0006
0007;ira^o0X0.A1uPC0x0000
000804FFFFFFFFdup31,null
0009
nninoAA°v,v
PC
U1
低電平,PnC加載新的地址,指令轉(zhuǎn)移
這樣可以通過右側(cè)都是低電位看出pc值是0x00
按鍵RC可以控制這兩個(gè)按下c指令可以執(zhí)行
一些小計(jì)算
JPC
?FCO
?FCl
.*K二B
?FCIO
--------^CI4
PCI<
這里面地址線AO-All12根數(shù)據(jù)線32根,所以下面數(shù)據(jù)都有4個(gè)字節(jié)
在發(fā)送時(shí)鐘上升沿執(zhí)行指令對(duì)應(yīng)微程序的入口微指令之前,請(qǐng)讀者再次
從工具窗口和原理圖窗口中確認(rèn)以下內(nèi)容:入PC寄存器的值0已經(jīng)傳送到
地址總線ABUS上;
RAM
ABUW
XRAM存儲(chǔ)器0地址處的值0x8C已經(jīng)通過了總線收發(fā)器MEM_gate(可
以在“總線收發(fā)器〃窗口中查看總線收發(fā)器的值和使能狀態(tài),雙擊可迅速在原
理圖中定位總線收發(fā)器的位置)傳送到數(shù)據(jù)總線DBUS匕
X數(shù)據(jù)總線上的數(shù)據(jù)己經(jīng)到達(dá)了IR寄存器輸入端,且IR寄存器使能端
EN為低電平,寫使能,當(dāng)下個(gè)時(shí)鐘上升沿到來時(shí),IR寄存器輸入端的指令
將被寫入IR寄存器中。
X指令字節(jié)0x8C的高6位擴(kuò)展為0x460(該指令對(duì)應(yīng)微程序的入口地
址,指向入口第一條微指令)并傳送到uPC寄存器的輸入端,uPC寄存器使
能(EN低電平表示使能)。當(dāng)下一個(gè)時(shí)鐘上升沿到來時(shí),0x460將寫入微程
序寄存器uPC中,這樣微程序就轉(zhuǎn)移到0x460處執(zhí)行。
10001100
010001100000
uPC
uPCO
uPC]
ugC2
uPC3
1JPC4
uPC5
uPC6
uPC7
dPC9
uPCIO
uPCll
uPC12
3>PC13
-dPC14
"^JPC15
5.現(xiàn)在,讀者可以使用單步時(shí)鐘發(fā)送一個(gè)上升沿來觸發(fā)DM1000執(zhí)行下一條微指
令了!方法是:在原理圖窗口中按卜單步時(shí)鐘對(duì)應(yīng)的鍵盤上的C鍵再抬起,該步
操作產(chǎn)生的時(shí)鐘上升沿使得微程序寄存器UPC將輸入端的地址寫入,微指令存儲(chǔ)
器ROM于是輸出新的微指令,控制處理器電路執(zhí)行相應(yīng)的操作。
5.觀察DM1000在第?個(gè)時(shí)鐘上升沿觸發(fā)后進(jìn)入的狀態(tài):IR寄存器的值已經(jīng)變?yōu)?/p>
0x8C(在寄存器窗口中由于IR寄存器剛剛發(fā)生寫操作,所以會(huì)用紅色高亮顯示);
寄存器▼TX總線收發(fā)器
十六進(jìn)制▼十六進(jìn)制▼。
w
名稱值說明名稱輸出值
ASR_gate
CSP棧頂?shù)刂酚?jì)數(shù)器CSP_gate
:一三一?—
FLAGDqate
IR0x8c指令寄囂
uPC寄存器的值變?yōu)?x0460,
▼口X
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年建筑供電系統(tǒng)中的電能質(zhì)量與節(jié)能
- 2026年土木工程施工過程中的質(zhì)量保證
- 2026春招:小學(xué)教師筆試題及答案
- 賀卡傳情的課件
- 貸款產(chǎn)品課件
- 醫(yī)院?jiǎn)T工著裝規(guī)范與禮儀
- 婦產(chǎn)科分娩護(hù)理要點(diǎn)回顧
- 醫(yī)院醫(yī)療信息化項(xiàng)目管理禮儀
- 2026年安徽中澳科技職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考題庫帶答案解析
- 醫(yī)療信息化部門禮儀準(zhǔn)則
- 2026秋招:澳森特鋼集團(tuán)試題及答案
- 2026年寧夏黃河農(nóng)村商業(yè)銀行科技人員社會(huì)招聘?jìng)淇碱}庫及答案詳解(易錯(cuò)題)
- DB37-T4975-2025分布式光伏直采直控技術(shù)規(guī)范
- 脫硫廢水零排放項(xiàng)目施工方案
- 2026年海南衛(wèi)生健康職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫參考答案詳解
- 消防設(shè)施維保服務(wù)方案投標(biāo)文件(技術(shù)方案)
- 2023年北京海淀區(qū)高三一?;瘜W(xué)試題及答案
- 腫瘤內(nèi)科靜脈給予抗腫瘤藥物評(píng)價(jià)標(biāo)準(zhǔn)
- 醫(yī)療器械生產(chǎn)質(zhì)量管理規(guī)范無菌醫(yī)療器械實(shí)施細(xì)則和檢查評(píng)定標(biāo)準(zhǔn)
- GB/T 20728-2006封閉管道中流體流量的測(cè)量科里奧利流量計(jì)的選型、安裝和使用指南
- FZ/T 54033-2010錦綸6高取向絲(HOY)
評(píng)論
0/150
提交評(píng)論