版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)說明書</b></p><p> 班級: 姓名: </p><p> 設(shè)計(jì)題目:__計(jì)算機(jī)組成原理課程設(shè)計(jì) _____</p><p> 設(shè)計(jì)時間:__2013-1-7 ____至__2013-1-18 ___</p>
2、<p> 指導(dǎo)教師:__ </p><p> 評 語:_________________________________</p><p> _________________________________________</p><p> ___________________________
3、______________</p><p> _________________________________________</p><p> _________________________________________</p><p> 評閱成績:__ __評閱教師:__ ___</p><p><b>
4、 1.課程設(shè)計(jì)目的</b></p><p> 通過計(jì)算機(jī)組成原理課程設(shè)計(jì),進(jìn)一步熟練掌握計(jì)算機(jī)各功能部件的內(nèi)部構(gòu)造和相互之間的聯(lián)系(部件配置、相互連接和作用)、各功能部件的性能參數(shù)的相互匹配、機(jī)器指令級的各種功能和特性。學(xué)生能夠?qū)⑺鶎W(xué)知識融會貫通、進(jìn)一步系統(tǒng)化,進(jìn)一步提高硬件系統(tǒng)設(shè)計(jì)的能力,為以后的更高一級的硬件設(shè)計(jì)打下堅(jiān)實(shí)基礎(chǔ)。</p><p><b> 2.
5、課程設(shè)計(jì)任務(wù)</b></p><p> 在現(xiàn)有的TEC-XP+教學(xué)機(jī)系統(tǒng)上擴(kuò)展4條指令。</p><p> 要求:(1)4條指令至少要用到4種尋址方式;</p><p> ?。?)4條指令分別由1步、2步、3步、4步完成;</p><p> ?。?)監(jiān)控命令A(yù)、U必須能夠支持這4條指令。</p><p>
6、; 3.系統(tǒng)組成原理及實(shí)現(xiàn)</p><p><b> ?。?)運(yùn)算器</b></p><p><b> 運(yùn)算器的組成:</b></p><p> 運(yùn)算器通常由執(zhí)行算術(shù)邏輯運(yùn)算功能的ALU線路、暫存參加ALU運(yùn)算的數(shù)據(jù)和中間運(yùn)算結(jié)果的通用寄存器組、支持乘除法運(yùn)算的專用寄存器3部分組成,3個部分之間通過多路選擇器線路實(shí)現(xiàn)
7、連接,從而構(gòu)成一個完整的運(yùn)算器部件。</p><p> TEC-XP系統(tǒng)機(jī)上的運(yùn)算器的邏輯圖見圖3-1。從圖中可以看到,運(yùn)算器部件主要包括兩組獨(dú)立的8位字長的運(yùn)算器,各自由2片位片結(jié)構(gòu)的運(yùn)算器AM2901組成;還有狀態(tài)標(biāo)志(CZVS)寄存器和教學(xué)實(shí)驗(yàn)所需的相關(guān)邏輯部件。AM2901的結(jié)構(gòu)如圖3-1所示。</p><p><b> 圖1 運(yùn)算器部件</b><
8、/p><p> 十六位教學(xué)機(jī)運(yùn)算器的設(shè)計(jì)與實(shí)現(xiàn):</p><p> TEC-XP計(jì)原l 6系統(tǒng)的運(yùn)算器部件主體部分由4片長度為4位的位片結(jié)構(gòu)運(yùn)算器芯片Am2901組成。4 片Am2901之間的連接如圖2-3所示。另外,使用MACH芯片內(nèi)部的部分電路提供ALU最低位的進(jìn)位輸入信號和最高、最低位的移位輸入信號;使用一片GAL20V8實(shí)現(xiàn)4位的標(biāo)志位寄存器FLAG,用于接收ALU輸出的4個標(biāo)志位
9、信號和來自內(nèi)存堆棧區(qū)的4位數(shù)據(jù)(用于恢復(fù)現(xiàn)場狀態(tài)信息),F(xiàn)LAG的4位輸出可以經(jīng)過一片有三態(tài)功能的開關(guān)門電路送到內(nèi)部總線IB,用于保存現(xiàn)場狀態(tài)信息到堆棧區(qū)。</p><p> 圖2 4片Am2901連接圖</p><p> 圖3所示為16位運(yùn)算器脫機(jī)實(shí)驗(yàn)的環(huán)境,在計(jì)原16系統(tǒng)中,運(yùn)算器最低位的進(jìn)位輸入信號Cin和左右移位輸入信號RAM0、Q0、RAMl5、Q15是由MACH芯片內(nèi)部
10、的SHIFT線路提供的,左側(cè)的長方形部分是MACH內(nèi)部的線路。16個開關(guān)撥入的數(shù)據(jù)經(jīng)開關(guān)門電路送到內(nèi)部總線,內(nèi)部總線與運(yùn)算器的輸入端D15~D0已經(jīng)連接。23位的微型開關(guān)的不同組合完成對ALU的不同控制,其編碼對應(yīng)的控制功能如表1和表2所示。</p><p> 圖3 16位運(yùn)算器結(jié)構(gòu)框圖</p><p><b> 運(yùn)算控制碼及功能:</b></p>
11、<p> 表1 Am2901的9位控制碼</p><p> 數(shù)據(jù)來源I2~I0說明了參與運(yùn)算的數(shù)據(jù)的來源。R為源寄存器,S為目標(biāo)寄存器。D表示數(shù)據(jù)總線上的數(shù)據(jù)。Q寄存器可以作為一個中間的寄存器,存放中間運(yùn)算的結(jié)果。</p><p> I5~I3提供了8種基本的運(yùn)算功能,用三位編碼來表示。</p><p> I8~I6表示對運(yùn)算結(jié)果的處理。在通
12、用寄存器一欄中,從編碼2到編碼7表示將運(yùn)算結(jié)果存放到目標(biāo)寄存器中,Q寄存器一欄中,不為空的地方表示將數(shù)據(jù)運(yùn)算結(jié)果存入Q寄存器中或者將修改Q寄存器并存入Q寄存器。Y輸出一欄表示ALU的輸出結(jié)果。</p><p> 表2 狀態(tài)寄存器、最低進(jìn)位輸入、移位輸入控制信號</p><p><b> 微程序控制器</b></p><p> 微程序控制
13、器的組成與實(shí)現(xiàn):</p><p> TEC-XP+教學(xué)計(jì)算機(jī)系統(tǒng)同時實(shí)現(xiàn)了微程序方案和組合邏輯方案的兩種控制器,其總體組成如圖4所示。從兩種控制器的組成來看,都包括有程序計(jì)數(shù)器PC、指令寄存器IR、程序定序器Am2910以及MACH芯片四部分。PC是選用在運(yùn)算器的通用寄存器組中的R5實(shí)現(xiàn)的,圖中用虛線表示。IR是選用兩片8位的寄存器電路實(shí)現(xiàn)的,還用到一片傳送IR低位字節(jié)內(nèi)容到內(nèi)部總線IB的開關(guān)門電路。Am291
14、0芯片用來確定微指令的執(zhí)行次序。</p><p><b> 圖4</b></p><p> 微指令格式:(如右圖5)</p><p><b> 圖5</b></p><p><b> 指定的專用寄存器</b></p><p> 16位機(jī)
15、 PC:R5 SP:R4 IO默認(rèn)R0</p><p> 微程序控制器的控制信號:</p><p> ?、賹χ鞔婧洼斎胼敵鼋涌?設(shè)備)的控制</p><p><b> 23位控制信號:</b></p><p> A3~A0,B3~B0,I8~I(xiàn)6,I5~I(xiàn)3,I2~I(xiàn)0 SST2~0
16、,SSHSCI2~0</p><p> 對內(nèi)存和 I/O接口的讀寫</p><p> /MIO(0:有內(nèi)存或串口讀寫,1:無)</p><p> REQ(0:讀寫內(nèi)存, 1:讀寫串行口)</p><p> /WE(0:寫操作, 1:讀操作)</p><p> M R W編碼功能
17、:如圖6</p><p> ?、?對內(nèi)部總線和特定寄存器的控制</p><p> 圖7 內(nèi)部總線數(shù)據(jù)來源選擇控制</p><p> 圖8 專用寄存器接收控制</p><p> ?、跜I3~0編碼及功能的控制</p><p><b> 4.擴(kuò)展4條指令</b></p><p
18、> ?。?)4條指令的格式及功能</p><p> (2)指令所對應(yīng)的微程序</p><p> ?。?)指令的實(shí)現(xiàn)過程:</p><p> ?、?第1條指令 SLIN</p><p> 第一步微指令完成DR的值左移一位,即DR乘2。</p><p> 第二步微指令完成DR的值增1。</p>
19、<p> ?、? 第2條指令 INCM 內(nèi)存值加1指令:INCM [SR],DR</p><p> 第一步微指令是完成將SR中的地址值送入數(shù)據(jù)地址寄存器AR中。</p><p> 第二步微指令是完成將相應(yīng)內(nèi)存中的值增1并送入Q寄存器中。</p><p> 第三步微指令是完成將Q寄存器中的值寫入原來的內(nèi)存中。</p><p>
20、 ?、?第3條指令 MULT : MULT DR,[SR]</p><p> 第一步將SR中的地址送入AR中。</p><p> 第二步讀內(nèi)存并將內(nèi)存中的值放入Q寄存器中。</p><p> 第三步將Q寄存器中的值乘2放入Q寄存器中。</p><p> 第四步將Q寄存器中的中寫入到內(nèi)存。</p><p>
21、④.第4條指令 MULN:立即數(shù)減1存入寄存器指令:MULN DR,DATA</p><p> 第一步實(shí)現(xiàn)將PC中的數(shù)據(jù)地址的值傳送到AR寄存器中,并將PC中的內(nèi)容增1。</p><p> 第二步實(shí)現(xiàn)根據(jù)AR中的值從內(nèi)存中讀出數(shù)據(jù)并存入DR寄存器中。</p><p> 第三步實(shí)現(xiàn)將DR中的值減1并存入DR中。</p><p> (4
22、)ABEL語言源程序編輯以及JED文件生成</p><p> ?、賛256c.abl源程序修改過程:</p><p> 第1步:定義操作碼,在程序的相應(yīng)位置添加</p><p> SLIN = (IR==[0,0,1,0,0,0,1,0]);</p><p> INCM =
23、 (IR==[1,0,1,0,0,0,0,1]);</p><p> MULT = (IR==[1,1,1,0,0,0,1,1]);</p><p> MULN = (IR==[1,1,1,0,1,0,0,1]);</p><p> 第2步:定義所有微程序地址</p><
24、;p> MA80 = (Y==[1,0,0,0,0,0,0,0]);</p><p> MA81 = (Y==[1,0,0,0,0,0,0,1]);</p><p> MA82 = (Y==[1,0,0,0,0,0,1,0]);</p><p> MA83 = (Y==[1
25、,0,0,0,0,0,1,1]);</p><p> MA84 = (Y==[1,0,0,0,0,1,0,0]);</p><p> MA85 = (Y==[1,0,0,0,0,1,0,1]);</p><p> MA86 = (Y==[1,0,0,0,0,1,1,0]);</p>&l
26、t;p> MA87 = (Y==[1,0,0,0,0,1,1,1]);</p><p> MA88 = (Y==[1,0,0,0,1,0,0,0]);</p><p> MA8A = (Y==[1,0,0,0,1,0,1,0]);</p><p> MA8B = (Y==[
27、1,0,0,0,1,0,1,1]);</p><p> MA8C = (Y==[1,0,0,0,1,1,0,0]);</p><p> 第3步:定義程序的入口地址</p><p> D0= !C_M&(!_MAP&(SUB#OR#CMP#MVRR#DEC#SHR#JR#PSHF#PUSH#POP#POPF#STRR#LDRR
28、#LDPC#MVRD#CALA#RET#IRET#DI#ASR#RCR#STC#LDRA#LDRX#STRA#STRX#SBB#JRS#JRNS#MULT)#NXTADDR0&!_PL)&!Bit8;</p><p> D1= !C_M&(!_MAP&(AND#OR#TEST#MVRR#SHL#SHR#IN_#OUT#POP#POPF#LDRR#LDPC#JMPA#CALA#RE
29、T#IRET#NOT#ASR#CLC#STC#JMPR#LDRA#STRA#INCM#MULN)#NXTADDR1&!_PL)&!Bit8;</p><p> D2= !C_M&(!_MAP&(ADD#SUB#AND#OR#INC#DEC#SHL#SHR#PSHF#PUSH#POP#POPF#MVRD#JMPA#CALA#IRET#RCL#RCR#CLC#STC#LDRX#STR
30、A#CALR#MULT)#NXTADDR2&!_PL)&!Bit8;</p><p> D3= !C_M&(!_MAP&(XOR_#CMP#TEST#MVRR#INC#DEC#SHR#SHL#STRR#LDRR#LDPC#MVRD#JMPA#CALA#EI#DI#JMPR#JRS#JRNS#LDRA#LDRX#STRA#MULN)#NXTADDR3&!_PL)&!
31、Bit8;</p><p> D7= !C_M&(!_MAP&(SLIN#INCM#MULT#MULN)#NXTADDR7&!_PL)&!Bit8;</p><p> 第4步:定義微程序的下地址</p><p> NXTADDR5:= !C_M&(MA04#MA05#MA06#MA07#MA08#MA09#MA0A#M
32、A0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA13#MA14#MA16#MA18#MA1A#MA1C#MA1E#MA22#MA24#MA30#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#MA63#MA66#MA68#MA69#MA6A#MA81#MA84#MA88#MA8C)&!Bit8;</p><p>
33、; NXTADDR4:= !C_M&(MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA12#MA13#MA14#MA15#MA16#MA17#MA18#MA1A#MA1C#MA1D#MA22#MA24#MA30#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#M
34、A5C#MA5E#MA60#MA63#MA66#MA69#MA6A#MA81#MA84#MA88#MA8C)&!Bit8;</p><p> 第5步:添加CI3-0 SCC3-0</p><p> CI3:= !C_M&(MA00#MA01#MA02#MA19#MA1B#MA89#MA1F#MA20#MA21#MA23#MA3A#MA3B#MA3C#MA3D#MA3E#
35、MA5B#MA5D#MA5F#MA61#MA62#MA64#MA65#MA67#MA89#MA80#MA82#MA83#MA85#MA86#MA87#MA8A#MA8B)&NRST&!Bit8;</p><p> CI2:= !C_M&(MA00#MA01#MA02#MA19#MA1B#MA89#MA1F#MA20#MA21#MA23#MA3A#MA3B#MA3C#MA3D#MA3E#M
36、A5B#MA5D#MA5F#MA61#MA62#MA64#MA65#MA67#MA80#MA82#MA83#MA85#MA86#MA87#MA8A#MA8B)&NRST&!Bit8;</p><p> CI0 := !C_M&(MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA12#MA13#M
37、A14#MA15#MA16#MA17#MA18#MA1A#MA1C#MA1D#MA1E#MA22#MA24#MA30#MA31#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#MA5C#MA5E#MA60#MA63#MA66#MA68#MA69#MA6A#MA82#MA81#MA84#MA88#MA8C)&NRST&!Bit8; </p>
38、<p> 第6步:添加MVR I2-0</p><p> !_MIO00:=!(MA00#MA01#MA03#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA12#MA15#MA17#MA19#MA1B#MA89#MA1D#MA1E#MA1F#MA21#MA23#MA30#MA31#MA3A#MA3B
39、#MA3D#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#MA5B#MA5D#MA5F#MA61#MA64#MA66#MA67#MA69#MA6A#MA81#MA82#MA80#MA81#MA82#MA85#MA87#MA8A#MA8C); </p><p> WE00 :=(MA02#MA14#MA18#MA1C#MA20#
40、MA24#MA5C#MA5E#MA60#MA62#MA68#MA83#MA86#MA88#MA8B);</p><p> I200 :=(MA0B#MA11#MA12#MA14#MA1A#MA1B#MA89#MA1C#MA20#MA24#MA30#MA3C#MA3F#MA5A#MA5C#MA5E#MA60#MA62#MA65#MA66#MA6A#MA82#MA83#MA85#MA86#MA88#MA8B);&
41、lt;/p><p> I100 :=(MA01#MA0C#MA0D#MA0E#MA0F#MA12#MA13#MA14#MA15#MA17#MA19#MA1C#MA1D#MA1E#MA1F#MA20#MA21#MA22#MA23#MA24#MA30#MA31#MA3B#MA3D#MA3E#MA3F#MA52#MA53#MA54#MA55#MA5B#MA5C#MA5D#MA5F#MA60#MA61#MA63#MA64
42、#MA67#MA81#MA82#MA80#MA81#MA83#MA84#MA86#MA87#MA88#MA8A#MA8B#MA8A#MA8B#MA8C);</p><p> !I000 :=!(MA00#MA01#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0C#MA0D#MA0E#MA0F#MA11#MA12#MA13#MA14#MA15#MA17#MA19#MA1C#MA1D
43、#MA1E#MA1F#MA20#MA21#MA23#MA24#MA30#MA31#MA3B#MA3D#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA5B#MA5C#MA5D#MA5E#MA5F#MA60#MA61#MA62#MA63#MA64#MA67#MA6A#MA81#MA82#MA80#MA81#MA83#MA86#MA8A#MA8B#MA8C);</p><p> 第7步:添
44、加I8-6 I5-3</p><p> I800 := (MA0E#MA0F#MA53#MA54#MA55#MA80#MA87);</p><p> I700:=(MA00#MA01#MA04#MA05#MA06#MA07#MA08#MA0B#MA0C#MA0D#MA0E#MA11#MA14#MA15#MA17#MA1C#MA1D#MA1E#MA1F#MA21#MA22#MA23#MA
45、24#MA31#MA3B#MA3D#MA3F#MA50#MA51#MA52#MA54#MA5A#MA5B#MA5D#MA5F#MA61#MA64#MA66#MA67#MA6A#MA81#MA82#MA80#MA81#MA82#MA84#MA85#MA88#MA8B#MA8C);</p><p> !I600 :=!(MA00#MA02#MA03#MA04#MA05#MA06#MA07#MA08#MA09#MA0
46、A#MA0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA12#MA13#MA14#MA15#MA16#MA18#MA19#MA1A#MA1B#MA89#MA1C#MA21#MA24#MA3A#MA3B#MA3C#MA3D#MA3E#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#MA5C#MA5E#MA60#MA62#MA63#MA64#MA6
47、5#MA66#MA68#MA69#MA6A#MA81#MA82#MA80#MA81#MA82#MA84#MA85#MA88#MA8B#MA8C); </p><p> I300:=(MA00#MA05#MA07#MA09#MA0D#MA15#MA21#MA3B#MA3D#MA51#MA52#MA64#MA8C);</p><p> 第8步:添加B口
48、A口</p><p> B30=(MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA19#MA1C#MA50#MA51#MA52#MA53#MA54#MA55#MA63#MA81#MA82#MA81#MA88#MA8B#MA8C)</p><p> B20=(MA00#MA01#MA11#MA15#MA17#MA
49、1D#MA1E#MA1F#MA21#MA22#MA23#MA24#MA31#MA3B#MA3D#MA3F#MA5A#MA5B#MA5D#MA5F#MA61#MA64#MA66#MA67#MA6A#MA8A);</p><p> B00=(MA00#MA01#MA11#MA1D#MA1E#MA1F#MA22#MA24#MA31#MA3F#MA5A#MA5B#MA5D#MA5F#MA61#MA66#MA6A#MA8
50、A);</p><p> A30=(MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA1A#MA1B#MA89#MA50#MA51#MA5A#MA5E#MA62#MA66#MA82#MA85);</p><p> A20=(MA00#MA01#MA11#MA17#MA1D#MA1E#MA1F#MA22#MA23#MA31#MA3C#MA5B#MA5D#
51、MA5F#MA61#MA65#MA67#MA6A#MA8A);</p><p> A00=(MA00#MA01#MA11#MA1D#MA1E#MA1F#MA22#MA31#MA3C#MA5B#MA5D#MA5F#MA61#MA65#MA6A#MA8A);</p><p> 第9步:添加SST SSHS</p><p> SST000:=(MA04#MA05#M
52、A06#MA07#MA08#MA09#MA0A#MA0C#MA0D#MA0F#MA 50#MA51#MA52#MA53#MA55#MA56#MA81#MA82#MA80#MA81#MA83#MA87#MA88#MA8C);</p><p> SCI000:=(MA00#MA01#MA05#MA09#MA0C#MA17#MA1D#MA1E#MA1F#MA23#MA31#MA53#MA54#MA55#MA5B#
53、MA5D#MA5F#MA61#MA67#MA81#MA82#MA81#MA83#MA8A);</p><p> 第10步:添加DC2 DC1</p><p> DC2_100:=(MA00#MA01#MA12#MA15#MA17#MA19#MA1B#MA89#MA1D#MA1E#MA1F#MA21#MA23#MA31#MA3A#MA3B#MA3D#MA58#MA59#MA5B#MA5C
54、#MA5D#MA5E#MA5F#MA60#MA61#MA62#MA64#MA67#MA82#MA85#MA8A);</p><p> DC2_000:=(MA00#MA01#MA02#MA12#MA15#MA17#MA19#MA1B#MA89#MA1D#MA1E#MA1F#MA21#MA23#MA31#MA3A#MA3B#MA3C#MA3D#MA59#MA5B#MA5C#MA5D#MA5E#MA5F#MA60#
55、MA61#MA62#MA64#MA67#MA82#MA85#MA8A);</p><p> DC1_000:=(MA13#MA16#MA1A#MA22#MA30#MA3C#MA3E#MA3F#MA63#MA65#MA84以②及生成JED文件的操作過程</p><p> 修改完.abl之后,雙擊lc4256.syn進(jìn)行編譯,并導(dǎo)出一個jed文件。</p><p>
56、 圖9為生成jed文件的步驟。</p><p> 圖10為檢測語法錯誤的步驟。</p><p><b> 圖9</b></p><p><b> 圖10</b></p><p><b> (5)MACH編程</b></p><p> 啟動is
57、pVM System軟件,彈出主界面。</p><p> 接好教學(xué)計(jì)算機(jī)上在線MACH編程電纜,打開教學(xué)計(jì)算機(jī)電源。</p><p> 通過主界面的SCAN按鈕找到在線編程器件。</p><p> 雙擊編程器件LC4256V,窗口顯示,通過Browse按鈕選擇已編譯好的JED文件(shiyan1.jed),單擊OK。</p><p>
58、 選擇已經(jīng)編譯好的JED文件后,點(diǎn)擊‘GO’后,如果在"Status"為"PASS",則MACH編程完畢。如下圖11:</p><p><b> 圖11</b></p><p> ?。?)修改監(jiān)控制程序</p><p> ?、?修改監(jiān)控程序的程序代碼,把設(shè)計(jì)好的條指令加入代碼中。下面是對監(jiān)控程序的修改部
59、分:</p><p> TYPE1 DW 'PSHF', 8400H, 'POPF', 8C00H, 'RET ', 8F00H</p><p> DW 'CLC ', 6C00H, 'STC ', 6D00H, 'EI ', 6E00H,'DI ', 6F00H <
60、;/p><p> DW 'IRET', 0EF00H, 0</p><p> ;1 WORD 2 - Follow By A Register(SR)</p><p> TYPE2 DW 'PUSH', 8500H,'JMPR', 6000H,'CALR', 0E000H, 0 </
61、p><p> ;1 WORD; 3 - Follow By Two Registers</p><p> TYPE3 DW 'ADD ', 0000H, 'SUB ', 0100H</p><p> DW 'CMP ', 0300H, 'AND ', 0200H, 'OR '
62、, 0600H,'XOR ', 0400H </p><p> DW 'TEST', 0500H, 'MVRR', 0700H</p><p> DW 'ADC ', 2000H, 'SBB ', 2100H, 'NAND', 5100H,0</p><p> ;
63、 1 WORD - Follow By An Offset</p><p> TYPE4 DW 'JR ', 4100H, 'JRZ ', 4600H, 'JRNZ', 4700H, 'JRC ', 4400H</p><p> DW 'JRNC', 4500H, 'JRS ', 640
64、0H,'JRNS', 6500H,0</p><p> ; 2 WORD 5 - Follow By Any Address</p><p> TYPE5 DW 'JMPA', 8000H, 'CALA', 0CE00H,0</p><p> ; 1 WORD 6 - Follow By A Port <=
65、 FFH</p><p> TYPE6 DW 'IN ', 8200H, 'OUT ', 8600H, 0</p><p> ; 2 WORD 7 - Follow By A Register And A Adress</p><p> TYPE7 DW 'MVRD', 8800H,'MULN'
66、,0E900H, 0</p><p> ; 1 WORD 8 - Follow By A [R] and R</p><p> TYPE8 DW 'STRR', 8300, 'INCM',0A100H H, 0</p><p> ; 1 WORD 9 - Follow By A R and [R]</p><
67、p> TYPE9 DW 'LDRR', 8100H</p><p> DW 'ORRM', 5300H, 'DIVM', 5400H,'MULT',0E300H,0</p><p> ; 1 WORD 10 - Follow By A Register(DR)</p><p> TYPE1
68、0 DW 'POP ', 8700H, 'INC ', 0900H, 'DEC ', 0800H,</p><p> DW 'SHL ', 0A00H, 'SHR ', 0B00H</p><p> DW 'NOT ', 2D00H, 'ASR ', 2C00H, '
69、RCL ', 2A00H</p><p> DW 'ACR ', 2B00H, 'NDEC', 5200H,'SLIN' ,2200H,0</p><p> ②將MONITOR.ASM和ASEC16.EXE放入同一個文件夾中,通過交叉匯編程序ASEC對修改過的監(jiān)控程序MONITOR.ASM進(jìn)行匯編,生成新的監(jiān)控程序MONITOR.
70、COD文件。</p><p><b> 生成COD過程:</b></p><p><b> 生成的COD文件:</b></p><p> ③將此COD文件寫入MONITOR芯片,首先選擇器件58C65:(如圖12)</p><p><b> 圖12</b></p&
71、gt;<p> 文件裝入方式,高位選擇奇,低位選擇偶,文件起始地址都為5。如圖13</p><p><b> 圖13</b></p><p> 然后選中Monitor.cod文件打開, 圖14</p><p><b> 圖14</b></p><p> 選擇“寫入”,結(jié)果成功
72、即完成對Monitor的修改。如圖15</p><p><b> 圖15</b></p><p> 5.對擴(kuò)展指令進(jìn)行驗(yàn)證</p><p> 驗(yàn)證程序圖:四條指令在一個小的程序里,首先實(shí)現(xiàn)的是立即數(shù)減一多的指令功能,這條指令與實(shí)現(xiàn)左移加一的指令都輸出顯示了,而內(nèi)存值一需要用D查看內(nèi)存才可以看到數(shù)據(jù)值的改變.</p><
73、p> 驗(yàn)證結(jié)果截圖如下圖16:</p><p><b> 6.總結(jié)與體會</b></p><p> 通過兩個星期的課程設(shè)計(jì)學(xué)習(xí)與理解,我學(xué)到了很多東西,也理解了動手實(shí)踐的重要性。計(jì)算機(jī)組成原理本身就是一門比較偏硬件的課程,所以,對大家對計(jì)算機(jī)與教學(xué)機(jī)理解、掌握和熟悉有了一定的考驗(yàn)。對匯編基本指令的掌握也很重要。特別是加深了對所學(xué)匯編和組成原理這兩門課程的理
74、解。為了設(shè)計(jì)出新穎而簡單且功能性強(qiáng)的指令,必須熟悉各個功能,以及怎樣實(shí)現(xiàn)一條指令,通過同組人的共同努力,最終實(shí)現(xiàn)了現(xiàn)在的四條指令。指令實(shí)現(xiàn)的功能及實(shí)驗(yàn)過程中遇到的問題和解決方法如下:</p><p> 第一條指令是寄存器中的值左移加一</p><p> 這條指令是通過寄存器直接尋址,實(shí)現(xiàn)乘二加一的功能,通過二步實(shí)現(xiàn)。第一步微指令完成DR的值左移一位,即DR乘2。第二步微指令完成DR的值
75、增1,然后存回目標(biāo)寄存器。</p><p> 第二條指令:內(nèi)存值加一放回到內(nèi)存</p><p> 是通過寄存器間接尋址實(shí)現(xiàn),在指令 INCM [SR],DR中,目標(biāo)寄存器DR實(shí)際上沒有起到任何的作用。在驗(yàn)證這條指令時,需要先修改一條內(nèi)存值,把這條指令地址賦值給一個寄存器,完成實(shí)現(xiàn)需要三步:第一步微指令是完成將SR中的地址值送入數(shù)據(jù)地址寄存器AR中。第二步微指令是完成將相應(yīng)內(nèi)存中的值增1
76、并送入Q寄存器中。第三步微指令是完成將Q寄存器中的值寫入原來的內(nèi)存中。但遇到很多的問題,如在修改監(jiān)控后,驗(yàn)證指令時,其他三條指令都可以識別,只有這一條不行,機(jī)器還是不識別機(jī)器碼,所以就是因?yàn)檫@一條指令,我們實(shí)驗(yàn)了很多次,改了多次監(jiān)控程序,也問了幾位指導(dǎo)老師,最后終于找到了解決的辦法,就是放一個無意義的目標(biāo)寄存器DR在指令中。改變了尋址方式,才完成指令功能。</p><p> 乘三指令,放回目標(biāo)寄存器。</
77、p><p> 指令中目標(biāo)寄存器為直接尋址,源寄存器為間接尋址,是通過四步實(shí)現(xiàn)功能。在開始時我們是想通過五步來實(shí)現(xiàn)的,也知道數(shù)據(jù)總線上的數(shù)據(jù)不能等待,一旦被送入,便會被立即執(zhí)行。而且在I2~0找不到我們所要的數(shù)據(jù)來源,最后只好放棄,這也說明了作業(yè)不能只憑不切實(shí)際的想象,要有實(shí)際的依據(jù)。</p><p> 立即數(shù)減一,放回目標(biāo)寄存器</p><p> 是立即尋址方式,
78、通過立即數(shù)實(shí)現(xiàn)功能的方式和其他的不同,起初AR中存放的是PC的地址,PC+1送給PC是指向立即數(shù)。一開始我以為立即數(shù)的實(shí)現(xiàn)方式是最簡單的,在做的過程中遇到很多問題。</p><p> 這次的課程設(shè)計(jì),我參與了從設(shè)計(jì)指令、實(shí)現(xiàn)、修改監(jiān)控等。通過這次的課程設(shè)計(jì),我學(xué)到了很多,在一個小的團(tuán)隊(duì)中,要能接受他人的意見,遇到問題要及時解決。也知道,遇到的問題越多,才會做的越好。我鞏固了以前的知識,同時也為學(xué)習(xí)以后的硬件課程
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 組成原理課程設(shè)計(jì)
- 組成原理課程設(shè)計(jì) (2)
- 復(fù)雜模型機(jī)(組成原理)課程設(shè)計(jì)
- 《計(jì)算機(jī)組成原理》課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 組成原理課程設(shè)計(jì)報告---微程序設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---模型機(jī)組成設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報告
- 計(jì)算機(jī)組成原理-課程設(shè)計(jì)報告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)日志
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì) (2)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)論文
評論
0/150
提交評論