2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論