計(jì)算機(jī)組成原理課程設(shè)計(jì)論文一臺模型計(jì)算機(jī)設(shè)計(jì)與測試_第1頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)論文一臺模型計(jì)算機(jī)設(shè)計(jì)與測試_第2頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)論文一臺模型計(jì)算機(jī)設(shè)計(jì)與測試_第3頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)論文一臺模型計(jì)算機(jī)設(shè)計(jì)與測試_第4頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)論文一臺模型計(jì)算機(jī)設(shè)計(jì)與測試_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、遼 寧 工 業(yè) 大 學(xué) 計(jì)算機(jī)組成原理 課程設(shè)計(jì)(論文) 題目: 一臺模型計(jì)算機(jī)設(shè)計(jì)與測試院(系): 電子與信息工程學(xué)院 專業(yè)班級: 計(jì)算機(jī)082 學(xué) 號: 學(xué)生姓名: 指導(dǎo)教師: 教師職稱: 教授 助教 起止時間: 2011.1.6-2011.1.10 課程設(shè)計(jì)(論文)任務(wù)及評語院(系): 電子與信息工程學(xué)院 教研室:計(jì)算機(jī)組成原理教研室 學(xué) 號080401039學(xué)生姓名劉強(qiáng)專業(yè)班級計(jì)算機(jī)082課程設(shè)計(jì)(論文)題目一臺模型計(jì)算機(jī)設(shè)計(jì)與測試減法指令流程課程設(shè)計(jì)(論文)任務(wù)1. 將微程序控制器同執(zhí)行部件(整個數(shù)據(jù)通路)聯(lián)機(jī),組成一臺模型計(jì)算機(jī)2. 用微程序控制器控制模型機(jī)數(shù)據(jù)通路3. 通過cpu

2、運(yùn)行機(jī)器命令組成的簡單程序,掌握機(jī)器指令與微指令的關(guān)系,牢固建立計(jì)算機(jī)的整機(jī)概念4. 用實(shí)驗(yàn)箱上連線,并實(shí)現(xiàn)所寫程序段的功能。用單拍(dp)方式、單指(dz)連續(xù)方式各執(zhí)行一遍程序。并將結(jié)果進(jìn)行比較,分析。指導(dǎo)教師評語及成績成績: 指導(dǎo)教師簽字: 2011 年 1 月10日目 錄第1章課程設(shè)計(jì)簡介11.1課題介紹11.2 減法指令流程11.3 課程設(shè)計(jì)設(shè)備11.4 減法指令流程設(shè)計(jì)任務(wù)1第2章數(shù)據(jù)通路設(shè)計(jì)32.1 運(yùn)算器alu32.2 存儲器32.3 輸入與輸出62.4 數(shù)據(jù)通路結(jié)構(gòu)6第3章微程序控制器設(shè)計(jì)73.1 機(jī)器指令格式73.2 控制臺7第4章機(jī)器語言程序設(shè)計(jì)114.1 機(jī)器語言程序及

3、其存儲器位置、編碼和數(shù)據(jù)初值的設(shè)計(jì)114.2 程序執(zhí)行過程及預(yù)測結(jié)果11第5章指令流程與測試125.1 接線方法125.2設(shè)置通用寄存器r1,r0的值125.3 存程序機(jī)器代碼135.4用單拍(dp)方式執(zhí)行一遍程序135.5用單指(dz)方式執(zhí)行一遍程序135.6用連續(xù)方式執(zhí)行一遍程序14第6章總結(jié)15參考文獻(xiàn)16第1章 課程設(shè)計(jì)簡介1.1課題介紹將微程序控制器同執(zhí)行部件(整個數(shù)據(jù)通路)連機(jī),組成一臺模型計(jì)算機(jī);用微程序控制器控制模型機(jī)數(shù)據(jù)通路;通過cpu運(yùn)行就跳機(jī)器指令(排除終端指令)組成的簡單程序,掌握機(jī)器指令與偽指令的關(guān)系,牢固建立計(jì)算機(jī)的政績概念。1.2 減法指令流程本次課程設(shè)計(jì)用到

4、得電路包括運(yùn)算器、存儲器、通用寄存器堆、程序計(jì)數(shù)器、指令寄存器、微程序控制器等,將幾個模塊組成為一臺簡單計(jì)算機(jī)。計(jì)算機(jī)模型采用了數(shù)據(jù)總線和指令總線雙總線體質(zhì)能實(shí)現(xiàn)流水控制。控制器有微程序控制器或者硬布線控制器兩種類型,每種類型又有流水和非流水兩種方案。寄存器堆由1片ispls11016zu組成,運(yùn)算器由1片ispls11024組成。實(shí)驗(yàn)臺上包括了1片系統(tǒng)編程芯片ispls11032,可用它實(shí)現(xiàn)硬件布線控制1.3 課程設(shè)計(jì)設(shè)備(1)tec4計(jì)算機(jī)組成原理實(shí)驗(yàn)系統(tǒng)一臺(2)雙蹤示波器一臺(3)直流萬能表一只(4)邏輯測試筆一只1.4 減法指令流程設(shè)計(jì)任務(wù)1利用機(jī)器指令系統(tǒng)編制簡單程序,要求至少使用

5、其中五條指令,對自己編制的簡單程序進(jìn)行譯碼,手工會變成十六進(jìn)制機(jī)器代碼。學(xué)生根據(jù)老師指定完成不同的子標(biāo)題,即程序中必須包含標(biāo)題類型的指令。2按圖,參考組成原理實(shí)驗(yàn)的電路圖完成連線,控制器是控制部件,數(shù)據(jù)通路是執(zhí)行部件,時序產(chǎn)生器是時序部件。連線包括控制臺、時序部分、數(shù)據(jù)通路和微程序控制器之間的鏈接。其中,為把操作數(shù)傳給通用寄存器組rf,數(shù)據(jù)通路上的rs1、rs0、rd1、rd0應(yīng)分別于ir3至ir0連接,wr1、wr0也應(yīng)該接到ir1、ir0上。3.將上述任務(wù)1中的程序機(jī)器代碼用控制臺操作存入內(nèi)存中,并根據(jù)程序的需要,用數(shù)碼開關(guān)sw7sw0設(shè)置通用寄存器及內(nèi)存相關(guān)單元的數(shù)據(jù)。4.用單拍(dp)

6、方式執(zhí)行一遍程序,列表記錄通用寄存器堆rf中寄存器的數(shù)據(jù),以及ram中的數(shù)據(jù),與理論分析值做對比。單拍方式執(zhí)行是注意觀察微地址指示燈、ir/dbus指示燈、ar2/ar1 指示燈和判斷字段指示燈的值,以跟蹤程序中取指令和執(zhí)行指令的詳細(xì)過程。5.以單指(dz)方式重新執(zhí)行程序一遍,注意觀察ir/dbus指示ar2/ar1指示燈的值。執(zhí)行結(jié)束后,記錄rf中四個寄存器的數(shù)據(jù),以及ram中的數(shù)據(jù),與理論分析之作對比。以連續(xù)方式(db、dp、dz都設(shè)為0)再次執(zhí)行程序。折中情況相當(dāng)于計(jì)算機(jī)正常運(yùn)行程序。由于程序中有停機(jī)指令stp,程序執(zhí)行到該指令時自動停機(jī)。執(zhí)行結(jié)束后,記錄rf中四個寄存器的數(shù)據(jù),以及r

7、am中的數(shù)據(jù),與理論分析值做對比。第2章 數(shù)據(jù)通路設(shè)計(jì)2.1 運(yùn)算器alu運(yùn)算器alu由一片ispls1024(u47)組成,在選擇端s2、s1、s0控制下,對數(shù)據(jù)a和b進(jìn)行加、減、與、直通、乘五種運(yùn)算,功能如下: 選 擇 操 作 s2 s1 s0 0 0 0 a & b 0 0 1 a & a(直通) 0 1 0 a + b 0 1 1 a - b 1 0 0 a(低4位) x b(低4位)圖2-1 操作功能表進(jìn)位c只在加法和運(yùn)算和減法運(yùn)算時產(chǎn)生。加運(yùn)算中,c表示進(jìn)位;減運(yùn)算中,c代表借位。加、減運(yùn)算產(chǎn)生的進(jìn)位(借位)在t4的上升沿送入c寄存器保存。與、乘、直通操作不影響進(jìn)位

8、c的狀態(tài),即進(jìn)位c保持不變。當(dāng)alu_bus=1,運(yùn)算結(jié)果送往數(shù)據(jù)總線dbus。加、減運(yùn)算產(chǎn)生的進(jìn)位(借位)c與控制臺的c指示燈相連。2.2 存儲器1.dr1和dr2dr1和dr2是運(yùn)算操作數(shù)寄存器,dr1和alu的b數(shù)據(jù)口相連,dr2和alu的a數(shù)據(jù)口相連。dr1和dr2各由2片74hc298(u23、u24、u21、u22)組成。u23是dr1的低4位,u24是dr1的高4位;u21是dr2的低4位,u22是dr2的高4位。當(dāng)m1=0 且lddr1=1 時,在t3的下降沿,dr1接收來自寄存器堆b端口的數(shù)據(jù);當(dāng)m1=1 且lddr1=1 時,在t3的下降沿,dr1接收來自數(shù)據(jù)總線d_bus

9、的數(shù)據(jù)。當(dāng)m2=0 且lddr2=1 時,在t3的下降沿,dr2接收來自寄存器堆a(bǔ)端口的數(shù)據(jù);當(dāng)m2=1 且lddr2=1 時,在t3的下降沿,dr2接收來自數(shù)據(jù)總線dbus的數(shù)據(jù)。2.多端口通用寄存器堆rf多端口通用寄存器堆rf由1片isplsi1016(u32)組成,它的功能和mc14580類似。寄存器堆中包含4個8位寄存器(r0、r1、r2、r3),有三個控制端口。其中兩個端口控制讀操作,一個端口控制寫操作,三個端口可同時操作。rd1、rd0選擇從a端口讀出的寄存器,rs1、rs0選擇從b端口讀出的寄存器,wr1、wr0選擇被寫入的寄存器。wrd 控制寫操作。當(dāng)wrd = 0時,禁止寫操

10、作;當(dāng)wrd = 1 時,在t2的上升沿將來自er寄存器的數(shù)據(jù)寫入由wr1、wr0 選中的寄存器。a端口的數(shù)據(jù)直接送往操作數(shù)寄存器dr2,b端口的數(shù)據(jù)直接送往操作數(shù)寄存器dr1。除此之外,b端口的數(shù)據(jù)還通過1片74hc244(u15)送往數(shù)據(jù)總線dbus。當(dāng)rs_bus# = 0時,允許b端口的數(shù)據(jù)送到數(shù)據(jù)總線dbus上;當(dāng)rs_bus# = 1時,禁止b端口的數(shù)據(jù)送到數(shù)據(jù)總線dbus。3.暫存寄存器er暫存寄存器er(u14)是1片74hc374,主要用于暫時保存運(yùn)算器的運(yùn)算結(jié)果。當(dāng)lder = 1時,在t4的上升沿,將數(shù)據(jù)總線dbus上的數(shù)據(jù)打入暫存寄存器er。er的輸出送往多端口通用寄存

11、器堆rf,作為寫入數(shù)據(jù)使用。4.開關(guān)寄存器sw_bus開關(guān)寄存器sw_bus(u38)是1片74hc244,用于將控制臺開關(guān)sw7sw0的數(shù)據(jù)送往數(shù)據(jù)總線dbus。當(dāng)sw_bus# = 1時,禁止開關(guān)sw7sw0的數(shù)據(jù)送往數(shù)據(jù)總線dbus;當(dāng)sw_bus# = 0時,允許開關(guān)sw7sw0的數(shù)據(jù)送往數(shù)據(jù)總線dbus。5.雙端口存儲器ram雙端口存儲器由一片idt7132(u36)及少量附加控制電路組成。idt7132是2048字節(jié)的雙端口靜態(tài)隨機(jī)存儲器,本機(jī)實(shí)際使用256字節(jié)。idt7132兩個端口可同時進(jìn)行讀、寫操作。在本機(jī)中,左端口的數(shù)據(jù)連接數(shù)據(jù)總線dbus,可進(jìn)行讀、寫操作,右端口數(shù)據(jù)和指

12、令總線ins連接,輸出到指令寄存器ir,作為只讀端口使用。存儲器idt7132有6個控制引腳:cel#、lrw、oel#、cer#、rrw、oer#。cel#、lrw、oel#控制左端口讀、寫操作,cer#、rrw、oer#控制右端口讀、寫操作。cel#為左端口選擇引腳,低有效,為高時禁止左端口操作;lrw為高時,左端口進(jìn)行讀操作,lrw為低時,左端口進(jìn)行寫操作;oer#為低時,將左端口讀出的數(shù)據(jù)放到數(shù)據(jù)總線dbus上。cer#、rrw、oer#控制右端口讀、寫操作的方式與cel#、lrw、oer#控制左端口讀、寫操作的方式類似,不過右端口讀出的數(shù)據(jù)放到指令總線上而不是數(shù)據(jù)總線上。本機(jī)設(shè)計(jì)中,

13、oer#已固定接地,rrw固定接高電平,cer#由cer反相產(chǎn)生。當(dāng)cer=1 時,右端口讀出數(shù)據(jù),并放到指令總線ins上;當(dāng)cer=0 時,禁止右端口操作。左端口的oel#由lrw經(jīng)反相產(chǎn)生,不需單獨(dú)控制。當(dāng)cel#=0且lrw=1時,左端口進(jìn)行讀操作;當(dāng)cer#=0且lrw=0時,在t3的上升沿開始進(jìn)行寫操作,將數(shù)據(jù)總線dbus上的數(shù)據(jù)寫入存儲器。6.地址寄存器ar1和ar2地址寄存器ar1(u37)和ar2(u27、u28)提供雙端口存儲器的地址。ar1是1片gal22v10,具有加1功能,提供雙端口存儲器左端口的地址。ar1從數(shù)據(jù)總線dbus接收數(shù)據(jù)。ar1的控制信號是ldar1和ar

14、1_inc。當(dāng)ar1_inc = 1 時,在t4的上升沿,ar1的值加1;當(dāng)ldar1 = 1時,在t4的上升沿,將數(shù)據(jù)總線dbus的數(shù)據(jù)打入地址寄存器ar1。ar2由2片74hc298組成,有兩個數(shù)據(jù)輸入端,一個來自程序計(jì)數(shù)器pc,另一個來自數(shù)據(jù)總線dbus 。ar2的控制信號是ldar2和m3。m3選擇數(shù)據(jù)來源,當(dāng)m3 = 1 時,選中數(shù)據(jù)總線dbus;當(dāng)m3 = 0 時,選中程序計(jì)數(shù)器pc。ldar2控制何時接收地址,當(dāng)ldar2 = 1時,在t2的下降沿將選中的數(shù)據(jù)源上的數(shù)據(jù)打入ar2。7.程序計(jì)數(shù)器pc、地址加法器器alu2、地址緩存器r4程序計(jì)數(shù)器pc、地址加法器器alu2、地址緩

15、存器r4聯(lián)合完成三種操作:pc加載,pc+1,pc+d。r4是一個由2片74hc298(u25、u26)構(gòu)成的具有存儲功能的兩路選擇器。當(dāng)m4 = 1時,選中數(shù)據(jù)總線dbus;當(dāng)m4 = 0,從指令寄存器ir的低4位ir0ir3接收數(shù)據(jù)。當(dāng)ldr4 = 1時,在t2的下降沿將選中的數(shù)據(jù)打入r4。alu2由1片gal22v10(u17)構(gòu)成,當(dāng)pc_add = 1 時,完成pc 和ir低4 位的相加,即pc加d。程序計(jì)數(shù)器pc是1片gal22v10(u18),當(dāng)pc_inc =1時,完成pc+1;當(dāng)pc_add =1 時,與alu2一起完成pc+d的功能;當(dāng)ldpc=1時, 接收從alu2 和

16、r4來的地址,實(shí)際是接收來自數(shù)據(jù)總線dbus的地址,這些新的程序地址在t4的上升沿打入pc寄存器。8.指令寄存器ir指令寄存器ir是一片74hc374(u20)。它的數(shù)據(jù)端從雙端口存儲器接收數(shù)據(jù)(指令)。當(dāng)ldir = 1時,在t4的上升沿將來自雙端口存儲器的指令打入指令寄存器ir保存。指令的操作碼部分送往控制器譯碼,產(chǎn)生各種所需的控制信號。大多數(shù)情況下,指令的操作數(shù)部分應(yīng)連到寄存器堆(用戶自己連接),選擇參與運(yùn)算的寄存器。在某些情況下,指令的操作數(shù)部分也參與新的pc的計(jì)算。本實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)了12條基本的機(jī)器指令,均為單字長(位)指令。指令功能及格式如表2所示。表2中的x代表隨意值,rs1、rs

17、0指的是寄存器堆的b端口選擇信號rs1、rs0,rd1、rd0指的是寄存器堆的a端口選擇信號rd1、rd0,不過由于運(yùn)算結(jié)果需寫回,因此它也同時指wr1、wr0,用戶需將它們對應(yīng)連接。另一點(diǎn)需說明的是,為了簡化運(yùn)算,指令jc d中的d是一個4 位的正數(shù),用d3 d2 d1 d0表示。實(shí)驗(yàn)系統(tǒng)雖僅設(shè)計(jì)了12條基本的機(jī)器指令,但代表了計(jì)算機(jī)中常用的指令類型。必要時用戶可擴(kuò)充到16條指令或者重新設(shè)計(jì)指令系統(tǒng)。9.中斷地址寄存器iar中斷地址寄存器iar(u19)是一片74hc374,用于保存中斷發(fā)生時的斷點(diǎn)地址。它直接使用ldiar信號作為時鐘脈沖。當(dāng)iar_bus# = 0時,它將斷點(diǎn)地址送到數(shù)據(jù)

18、總線dbus上,2.3 輸入與輸出開關(guān)寄存器sw_bus(u38)是1片74hc244,用于將控制臺開關(guān)sw7sw0的數(shù)據(jù)送往數(shù)據(jù)總線dbus。當(dāng)sw_bus#=1時,禁止開關(guān)sw7sw0的數(shù)據(jù)送往數(shù)據(jù)總線dbus;當(dāng)sw_bus#=0時,允許開關(guān)sw7sw0的數(shù)據(jù)送往數(shù)據(jù)總線dbus。通過sw7sw0輸入數(shù)據(jù),把數(shù)據(jù)輸入到er中,然后分別rf中的r0r3中,然后通過選擇,分別通過a、b端口送入dr1和dr2。然后送入alu進(jìn)行相應(yīng)的運(yùn)算,再把結(jié)果通過dbus送入ram進(jìn)行存儲,并把指令通過ins送入ir,在送入控制器中,然后經(jīng)過一系列的傳送通過數(shù)據(jù)指示燈顯示出來。2.4 數(shù)據(jù)通路結(jié)構(gòu) 數(shù)據(jù)通

19、路的設(shè)計(jì)師tec-4計(jì)算機(jī)組成原理實(shí)驗(yàn)系統(tǒng)最有特色的部分。首先它采用了數(shù)據(jù)總線和指令總線雙總線形式。它還使用了大規(guī)模在系統(tǒng)可編程器件作為運(yùn)算器和寄存器堆,使得設(shè)計(jì)簡單,可修改性強(qiáng)。數(shù)據(jù)通路位于試驗(yàn)系統(tǒng)的中部。圖2-2 數(shù)據(jù)通路圖第3章 微程序控制器設(shè)計(jì)3.1 機(jī)器指令格式 根據(jù)下列表的代碼格式。產(chǎn)生不同的功能,完成各個任務(wù)。名稱助記符功能指令格式r7 r6 r5 r4r3 r2r1 r0加法add rd,rsrd+rs->rd0 0 0 0rs1 rs0rd1 rd0減法sub rd,rsrd-rs->rd0 0 0 1rs1 rs0rd1 rd0乘法mul rd,rsrd*rs-

20、>rd0 0 1 0rs1 rs0rd1 rd0邏輯與and rd,rsrd&rs->rd0 0 1 1rs1 rs0rd1 rd0存數(shù)sta rd,rsrd->rs0 1 0 0rs1 rs0rd1 rd0取數(shù)lda rd,rsrs->rd0 1 0 1rs1 rs0rd1 rd0無條件轉(zhuǎn)移jmp rsrs->pc1 0 0 0rs1 rs0x x條件轉(zhuǎn)移jc d若c=1則pc+d->pc1 0 0 1d3 d2d1 d0停機(jī)stp暫停運(yùn)行0 1 1 0x xx x中斷返回iret返回?cái)帱c(diǎn)1 0 1 0x xx x開中斷ints允許中斷1 0 1

21、1x xx x關(guān)中斷intc禁止中斷1 1 0 0x xx x圖3-1機(jī)器指令格式3.2 控制臺控制臺位于tec4計(jì)算機(jī)組成原理實(shí)驗(yàn)系統(tǒng)的下部,主要由若干指示燈和若干撥動開關(guān)組成,用于給數(shù)據(jù)通路置數(shù)、設(shè)置控制信號、顯示各種數(shù)據(jù)使用。1.sw7sw0 數(shù)據(jù)開關(guān),直接接到數(shù)據(jù)通路部分的數(shù)據(jù)總線dbus上,用于向數(shù)據(jù)通路中的器件置數(shù)。開關(guān)撥到上面位置時輸出1,撥到下面位置時輸出0。sw7是最高位,sw0是最低位。2.k15k0雙位撥動開關(guān)。開關(guān)撥到上面位置時輸出1,撥到下面位置時輸出0。實(shí)驗(yàn)中用于模擬數(shù)據(jù)通路部分所需的電平控制信號。例如,將k0與lddr1連接,則k0向上時,表示置lddr1為1;k

22、0向下時,表示置lddr1為0。3.數(shù)據(jù)指示燈d7d08個紅色發(fā)光二極管,用于顯示數(shù)據(jù)總線dbus或者指令寄存器ir的狀態(tài)。d7是最高位,d0是最低位。雙位開關(guān)ir/dbus撥到ir位置時,顯示指令寄存器ir的狀態(tài);雙位開關(guān)ir/dbus撥到dbus位置時,顯示數(shù)據(jù)總線dbus狀態(tài)。4.地址指示燈a7a08個綠色發(fā)光二極管,用于顯示雙端口存儲器的地址寄存器內(nèi)容。a7是最高位,a0是最低位。雙端口存儲器idt7132有兩個地址端口,地址寄存器ar1提供左端口地址a7la0l,地址寄存器ar2提供右端口地址a7ra0r。當(dāng)雙位開關(guān)ar2/ar1撥到ar1位置時,顯示地址寄存器ar1的內(nèi)容;當(dāng)雙位開

23、關(guān)ar2/ar1撥到ar2位置時,顯示地址寄存器ar2的內(nèi)容。5.微地址指示燈m_a5m_a06個黃色發(fā)光二極管,用于顯示控制存儲器的地址m_a5m_a0。m_a5是最高位,m_a0是最低位。其他指示燈p3、p2、p1、p0、ie、c6個黃色發(fā)光二極管用于顯示p3、p2、p1、p0、ie、c的值。p3、p2、p1、p0是控存的微代碼位,用于條件分支產(chǎn)生下一個微地址。c是加、減運(yùn)算時產(chǎn)生的進(jìn)位值。ie是中斷允許標(biāo)志。當(dāng)ie = 1時,允許中斷;當(dāng)ie = 0時,禁止中斷。7.微動開關(guān)clr#、qd、intr這三個微動開關(guān)用于產(chǎn)生clr#、qd、intr單脈沖。按一次按鈕clr#,產(chǎn)生一個負(fù)的單脈

24、沖clr#,對全機(jī)進(jìn)行復(fù)位,使全機(jī)處于初始狀態(tài),微程序地址置為000000b。clr#到時序和控制器的連接已在印制板上實(shí)現(xiàn),控制存儲器和數(shù)據(jù)通路部分不使用復(fù)位信號clr#。按一次qd按鈕,產(chǎn)生一個正的qd啟動脈沖。qd和時序部分的連接已在印制板上實(shí)現(xiàn)。按一次intr按鈕,產(chǎn)生一個正的單脈沖,可用于作為中斷請求信號。intr到時序部分的連接已在印制板上實(shí)現(xiàn)。這三個單脈沖都有插孔對外輸出,供用戶設(shè)計(jì)自己的控制器和時序電路時使用。8.單步、單拍、單指開關(guān)db、dp、dzdb(單步)、dp(單拍)、dz(單指)是三種特殊的非連續(xù)工作方式。當(dāng)dp = 1時,計(jì)算機(jī)處于單拍方式,按一次qd按鈕,每次只執(zhí)行

25、一條微指令,發(fā)送一組t1、t2、t3、t4時序脈沖。當(dāng)dz = 1時,計(jì)算機(jī)處于單指方式。單指方式只對微程序控制器適用。在單指方式下,按一次qd按鈕,計(jì)算機(jī)執(zhí)行一條指令。當(dāng)db = 1時,機(jī)器處于單步方式。單步方式只對硬布線控制器適用。在單步方式下,按一次啟動按鈕qd,發(fā)送一組w1、w2、w3、w4時序脈沖。在使用硬布線控制器時,每條指令需要一組w1、w2、w3、w4時序脈沖,因此單步方式實(shí)際上是硬布線控制器下的單指方式。db、dp、dz這三個雙位開關(guān),任何時刻都只允許一個開關(guān)置1,決不允許兩個或三個開關(guān)同時置1。當(dāng)db=0 且dp=0 且dz=0時,機(jī)器處于連續(xù)工作方式。9.控制臺方式開關(guān)s

26、wc、swb、swa控制臺方式開關(guān)swc、swb、swa定義了tec4計(jì)算機(jī)組成原理實(shí)驗(yàn)系統(tǒng)的五種工作方式。在出廠時提供的標(biāo)準(zhǔn)控存中,五種工作方式定義如下:swcswbswa工作方式000pr,啟動程序001krd,讀雙端口存儲器010kwe,寫雙端口存儲器011kld,加載寄存器堆100krr,讀寄存器堆圖3-2控制臺指令格式表在按clr#按鈕復(fù)位后,根據(jù)swc、swb、swa選擇工作方式。pr是啟動程序方式。在此方式下,首先在sw7sw0指定啟動地址,按啟動按鈕qd后,啟動程序運(yùn)行。krd是讀雙端口存儲器方式。在此方式下,(1)首先在sw7sw0置好存儲器地址;按qd按鈕,則將此地址打入地

27、址寄存器ar1,并讀出該地址存儲器內(nèi)容到數(shù)據(jù)總線dbus。(2)每按一次qd按鈕,地址寄存器ar1加1,并讀出新地址存儲器內(nèi)容到數(shù)據(jù)總線dbus。依次進(jìn)行下去,直到按復(fù)位按鈕clr#為止。kwe是寫雙端口存儲器方式。在此方式下,(1)首先在sw7sw0置好存儲器地址;按qd按鈕,則首先將此地址打入地址寄存器ar1,然后等待輸入數(shù)據(jù)。(2)在sw7sw0置好數(shù)據(jù),按qd按鈕,首先寫數(shù)據(jù)到ar1指定的存儲器單元,然后地址寄存器ar1加1,等待新的輸入數(shù)據(jù)。依次進(jìn)行下去,直到按復(fù)位按鈕clr#為止。kld是加載寄存器堆方式。此方式用于對寄存器堆加載。(1)首先在sw7sw0置好存儲器地址,按qd按鈕

28、,則將此地址打入地址寄存器ar1和地址寄存器ar2。(2)在sw7sw0置好數(shù)據(jù),數(shù)據(jù)的低2位d1、d0為寄存器堆中的寄存器號,按一次qd按鈕,則寫數(shù)據(jù)到ar1指定的存儲器單元;然后將寫入的數(shù)據(jù)從右端口讀出,并送入指令寄存器ir。10.控制器控制器位于本實(shí)驗(yàn)系統(tǒng)的中上部,產(chǎn)生數(shù)據(jù)通路操作所需的控制信號。出廠時,提供了一個微程序控制器,使用戶能夠進(jìn)行基本的計(jì)算機(jī)組成原理實(shí)驗(yàn)。在進(jìn)行硬連線控制器實(shí)驗(yàn),流水微程序控制器實(shí)驗(yàn)和流水硬連線控制器實(shí)驗(yàn)等課程設(shè)計(jì)時,用戶可設(shè)計(jì)自己的控制器,部分或者全部代替出廠時提供的控制器。圖3-3控制器框圖第4章 機(jī)器語言程序設(shè)計(jì)4.1 機(jī)器語言程序及其存儲器位置、編碼和

29、數(shù)據(jù)初值的設(shè)計(jì) 程序功能:例如將寄存器r2中的內(nèi)容和r0中的內(nèi)容相減,將所得的差值送入到寄存器r2中。程序?qū)崿F(xiàn)表:地址指令機(jī)器代碼10hsub r2, r012h11hsub r3, r117h12hsub r2,r31eh4.2 程序執(zhí)行過程及預(yù)測結(jié)果首先設(shè)置通用寄存器r0、r1、r2、r3的值,使r0=10h,r1=12h,r2=14h,r3=16h。然后從10h地址開始存3個機(jī)器代碼:12h,17h,1eh。用單指的方式執(zhí)行程序。初值:r0=10h,r1=12h,r2=14h,r3=15h。1. sub r2, r0 執(zhí)行結(jié)果:r0=10h,r2=04h。2. sub r3, r1執(zhí)行結(jié)

30、果:r1=12h,r3=03h3. sub r2,r3執(zhí)行結(jié)果:r2=01h,r3=15h第5章 指令流程與測試5.1 接線方法1.將跳線開關(guān)j1用短路子短接。時序發(fā)生器的輸入tji接控制存儲器的輸出tj。控制器的輸入c接運(yùn)算器alu的c。控制器的輸入ir7、ir6、ir5、ir4依次指令寄存器ir的輸出ir7、ir6、ir5、ir4。共6條線。2.控制器的輸出ldir(cer)、ldpc(ldr4)、pc_add、pc_inc、m4、ldiar、ldar1(ldar2)、ar1_inc、m3、lder、iar_bus#、sw_bus#、rs_bus#、alu_bus、cel#、lrw、wrd

31、、lddr1(lddr2)、m1(m2)、s2、s1、s0依次與數(shù)據(jù)通路的對應(yīng)信號連接。共27條線。3.指令寄存器ir的輸出ir0接雙端口寄存器堆的rd0、wr0,ir1接rd1、wr1,ir2接rs0,ir3接rs1。共6條線。合上電源。按clr#按鈕,使實(shí)驗(yàn)系統(tǒng)處于初始狀態(tài)。5.2設(shè)置通用寄存器r1,r0的值在本操作中,我們打算使r0=08h,r1=06h。1.令dp = 0,db = 0,dz =0,使實(shí)驗(yàn)系統(tǒng)處于連續(xù)運(yùn)行狀態(tài)。令swc = 0、swb = 1、swa = 1,使實(shí)驗(yàn)系統(tǒng)處于寄存器加載工作方式kld。按clr#按鈕,使實(shí)驗(yàn)系統(tǒng)處于初始狀態(tài)。2.在sw7sw0上設(shè)置一個存儲

32、器地址,該存儲器地址供設(shè)置通用寄存器使用。該存儲器地址最好是不常用的一個地址,以免設(shè)置通用寄存器操作破壞重要的存儲器單元的內(nèi)容。例如可將該地址設(shè)置為0ffh。按一次qd按鈕,將0ffh寫入ar0和ar1。3.在sw7sw0上設(shè)置00h,作為通用寄存器r0的寄存器號。按一次qd按鈕,則將00h寫入ir。4.在sw7sw0設(shè)置10h,作為r0的值。按一次qd按鈕,將10h寫入ir指定的r0寄存器。5.在sw7sw0上設(shè)置10h,作為通用寄存器r2的寄存器號。按一次qd按鈕,將10h寫入ir。6.在sw7sw0設(shè)置14h,作為r2的值。按一次qd按鈕,將14h寫入r2。7.設(shè)置r0、r2結(jié)束,用同樣

33、的方法設(shè)置r1、r38.按clr#按鈕,使實(shí)驗(yàn)系統(tǒng)恢復(fù)到初始狀態(tài)。5.3 存程序機(jī)器代碼 本操作中,我們從10地址開始存。3個機(jī)器代碼:12h,17h,1eh。1.令dp = 0,db = 0,dz =0,使實(shí)驗(yàn)系統(tǒng)處于連續(xù)運(yùn)行狀態(tài)。令swc = 0、swb = 1、swa = 0,使實(shí)驗(yàn)系統(tǒng)處于寫雙端口存儲器工作方式kwe。按clr#按鈕,使實(shí)驗(yàn)系統(tǒng)處于初始狀態(tài)。2.置sw7sw0為10h,按qd按鈕,將10h寫入ar1。3.置sw7sw0 為12h,按qd按鈕,將12h寫入存儲器10h單元。ar1自動加1,變?yōu)?1h。4.置sw7sw0為17h,按qd按鈕,將17h寫入存儲器11h單元。ar1自動加1,變?yōu)?2h。5.重復(fù)進(jìn)行,將1eh寫入存儲器12h單元。按clr#按鈕,使實(shí)驗(yàn)系統(tǒng)恢復(fù)到初始狀態(tài)。5.4用單拍(dp)方式執(zhí)行一遍程序 在單拍執(zhí)行過程中,首先要隨時監(jiān)測ar2的值和ir的值,以判定程序執(zhí)行到何處,正在執(zhí)行哪條指令。監(jiān)測微地址

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論