流水線微機課設(shè)_第1頁
流水線微機課設(shè)_第2頁
流水線微機課設(shè)_第3頁
流水線微機課設(shè)_第4頁
流水線微機課設(shè)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

模擬流水線控制設(shè)計(論文)沈陽工程學(xué)院課程設(shè)計(論文)PAGE2PAGEIPAGEIPAGEIPAGEI=2\*ROMANII模擬流水線控制設(shè)計(論文)PAGE1目錄1設(shè)計任務(wù)描述 11.1. 設(shè)計題目:模擬流水線控制設(shè)計 11.2. 設(shè)計要求 11.2.1設(shè)計目的 11.2.2基本要求 12設(shè)計思路 23設(shè)計原理流程圖 34實際硬件接線圖 45源程序清單及注釋 56.主要元器件介紹 96.18086簡介 96.1.18086CPU簡介 96.1.28086主要特性 96.1.38086CPU寄存器結(jié)構(gòu) 106.1.4CPU引腳圖 136.2可編程并行輸入輸出芯片8255 146.2.18255引腳介紹: 146.2.28255的工作方式及端口尋址方式: 146.2.38255的控制字: 156.2.4可編程控制器8255的功能及其部分相關(guān)程序: 157設(shè)計總結(jié) 17致謝 18參考文獻(xiàn) 19模擬流水線控制設(shè)計(論文)1設(shè)計任務(wù)描述設(shè)計題目:模擬流水線控制設(shè)計設(shè)計要求1.2.1設(shè)計目的(1)查閱可編程并行芯片8255或其他相關(guān)資料;(2)用簡單的輸入輸出端口等硬件,配合延時和控制程序控制燈的亮滅。1.2.2基本要求(1)每道工序時間間隔不同(2)流水線故障時中止流水。(3)故障處理完畢繼續(xù)完成相應(yīng)工序。2設(shè)計思路通過并行接口芯片8255和8086/88計算機的硬件連接,并利用微機原理實驗箱,采用一組發(fā)光二極管來模擬流水線。首先利用8255來控制模擬流水線的二極管的亮滅,我用8255的A口輸出來輸出二極管的亮滅。其次需要考慮的是二極管的亮滅時間,通過查資料,可以通過8259定時器和程序延時兩種方法來控制亮滅時間,我決定用的是利用延時程序來控制亮滅時間。通過查找資料,我知道了完成一次入棧出棧需要0.4ns,通過循環(huán)讓它不斷的進(jìn)行入棧出棧操作,通過計算循環(huán)的次數(shù)我們就可以完成具體的每道工序模擬二極管的亮燈時間。最后是流水線故障時中止流水的設(shè)計,我用的是開關(guān)來模擬故障,當(dāng)故障時C口接收故障信號來控制中止流水,我用的是讓它在故障循環(huán),是這道工序的模擬二極管一直亮,不在進(jìn)行下去,當(dāng)故障清除是恢復(fù)流水。我的發(fā)揮部分是當(dāng)總控制開關(guān)打開時不再進(jìn)行工作,這時所有的流水線模擬二極管都將熄滅3設(shè)計原理流程圖開始開始初始化8255工序1是否有按鍵按下是工序2是否有按鍵按下下下工序3是否有按鍵按下是否有按鍵按下工序5是否有按鍵按下是是是是否否否否否工序44實際硬件接線圖D0LEDD0LED:顯:示D7及開關(guān)D8單元K1A0PA0:A1:8255PA7D0單元::PB0D7PC0WRRDCSXA1XA2系統(tǒng)XD0總:線:XD7IOW#IOR#IOY15源程序清單及注釋SSTACK SEGMENTSTACK DW32DUP(?)SSTACK ENDSCODE SEGMENTASSUMECS:CODESTART: MOVDX,0646H MOVAL,89H OUTDX,ALXIANSHI1:MOVBL,80H MOVDX,0640HMOVAL,BLOUTDX,ALCALLYANSHI1MOVDX,0644HINAL,DXTESTAL,01HJZAA1MOVDX,0644HINAL,DXTESTAL,02HJZAA11 XIANSHI2:MOVBL,40H MOVDX,0640HMOVAL,BLOUTDX,AL CALLYANSHI2 MOVDX,0644H INAL,DXTESTAL,01H JZAA2 MOVDX,0644HINAL,DXTESTAL,02HJZAA11 XIANSHI3: MOVBL,20H MOVDX,0640HMOVAL,BLOUTDX,ALCALLYANSHI3MOVDX,0644HINAL,DXTESTAL,01H JZAA3 MOVDX,0644HINAL,DXTESTAL,02HJZAA11 XIANSHI4: MOVBL,10H MOVDX,0640HMOVAL,BLOUTDX,ALCALLYANSHI4MOVDX,0644HINAL,DXTESTAL,01HJZAA4 MOVDX,0644HINAL,DXTESTAL,02HJZAA11 XIANSHI5: MOVBL,08H MOVDX,0640HMOVAL,BLOUTDX,ALCALLYANSHI5MOVDX,0644HINAL,DXTESTAL,01H JZAA5 MOVDX,0644HINAL,DXTESTAL,02HJZAA11 JMPSTARTAA9:MOVDX,0640HMOVAL,00HOUTDX,ALDELAY1:PUSHCX PUSHAX MOVCX,0FHA1: MOVAX,0FFFFHA2: DECAX JNZA2 LOOPA1 POPAX POPCX RETDELAY2:PUSHCX PUSHAX MOVCX,018HA3: MOVAX,0FFFFHA4: DECAX JNZA4 LOOPA3 POPAX POPCX RETDELAY3:PUSHCX PUSHAX MOVCX,01EHA5: MOVAX,0FFFFHA6: DECAX JNZA6 LOOPA5 POPAX POPCX RETDELAY4:PUSHCX PUSHAX MOVCX,06HA7: MOVAX,0FFFFHA8: DECAX JNZA8 LOOPA7 POPAX POPCX RETDELAY5:PUSHCX PUSHAX MOVCX,0FHA9: MOVAX,0FFFFHA10: DECAX JNZA10 LOOPA9 POPAX POPCX RETCODE ENDSENDSTART6.主要元器件介紹6.18086簡介6.1.18086CPU簡介由于此系統(tǒng)最終要在西安唐都科教儀器出品的32位微機機教學(xué)實驗系統(tǒng)TD-PITE/PITC上進(jìn)行實驗,故設(shè)計硬件配置時采用Intel8086,整個實驗的硬件配置都以此為原則進(jìn)行設(shè)計選用。Intel8086是16位的微處理器(理論學(xué)習(xí)中為8088,其內(nèi)部總線為16位,外部總線為8位,故稱為準(zhǔn)16位微處理器),它采用HMOS工藝40條引腳封裝。8086工作時使用5V電源,時鐘頻率5MHz(8086-1為10MHz,8086-2為8MHz)它有20根地址線,故可尋址的內(nèi)存空間為1MB。6.1.28086主要特性Intel8086/8088CPU是Intel公司推出的高性能的微處理器,具體如下主要特性:(1)8086CPU數(shù)據(jù)總線為16位,8088CUP數(shù)據(jù)總線為8位。(2)地址總線都是20位,低16位用于數(shù)據(jù)總線復(fù)用,可直接尋址為1MB的存儲空間。(3)有16位的端口地址,可以尋址64KB的I/O端口。(4)有99條基本指令,指令功能強大(5)有9種基本尋址方式。(6)可以處理內(nèi)部和外部中斷,外部中斷源多達(dá)256個。(7)兼容性好,與80*86,8085在源程序一級兼容。(8)8086/8088標(biāo)準(zhǔn)主頻為5MHz,8086/8088-2主頻為8MH。(9)支持單處理器或多處理器系統(tǒng)工作。實驗中是以Intel386EX微處理器為核心,來模擬8086處理器來進(jìn)行系統(tǒng)的測試工作隊列隊列總線數(shù)據(jù)總線地址總線暫存器T標(biāo)志寄存器FRALUEU控制器地址加法器總線邏輯控制AXBXCXDX通用寄存器AHALBHBLCHCLDHDLSPBPDISI CSDSSSESIP暫存器外部外部總線 ALU數(shù)據(jù)總線 指令預(yù)取 隊列緩沖器 執(zhí)行單元(EU)總線接口單元(BIU)圖6.1CPU8086內(nèi)部結(jié)構(gòu)圖6.1.38086CPU寄存器結(jié)構(gòu)8086CPU中有14個16位的寄存器,其中有4個16位的通用寄存器,2個16位指針寄存器,2個16位變址寄存器,1個16位指令指針及1個16位標(biāo)志寄存器(僅用9位)。通用寄存器通用寄存器包括累加器AX,基址寄存器BX,計數(shù)寄存器CX,數(shù)據(jù)寄存器DX四個寄存器,位于CPU的EU中,每個數(shù)據(jù)寄存器可存放16位操作數(shù),也可拆成兩個8位寄存器,用來存放8位操作數(shù)。表1.1通用寄存器的特殊用途和隱含屬性寄存器名稱特殊用途及隱含性質(zhì)AX在輸入輸出指令中作數(shù)據(jù)寄存器,不能隱含在乘法指令中存放被乘數(shù)或乘積,在除法指令中存放被除數(shù)或商,能隱藏AH在LAHF指令中,作目標(biāo)寄存器,能隱藏AL在輸入/輸出指令中作數(shù)據(jù)寄存器,不能隱藏在十進(jìn)制運算指令中作累加器,能隱含在XLAT指令中作累加器,能隱含BX在間接尋址中作基址寄存器,不能隱含在XLAT指令中作基址寄存器,能隱含CX在串操作指令和LOOP指令中做計數(shù)器,能隱含CL在移位/循環(huán)移位指令中作移位次數(shù)計數(shù)器,不能隱含DX在字乘法/除法指令中存放乘積高位或被除數(shù)高位或余數(shù),能隱含在間接尋址的輸入/輸出指令中作地址寄存器,不能隱含指針和變址寄存器指針和變址寄存器包括:堆棧指針SP、基址指針BP、源變址寄存器SI、和目的變址寄存器DI四個16位寄存器,可以來存放數(shù)據(jù)和地址。表1.2指針和變址寄存器的特殊用途和隱含性質(zhì)寄存器名稱特殊用途及隱含性質(zhì)SI在字符串運算指令中作源變址寄存器,能隱含在間接尋址中作變址寄存器,不能隱含DI在字符串運算指令中作目標(biāo)變址寄存器,能隱含在間接尋址中作變址寄存器,不能隱含BP在間接尋址中基址指針,不能隱含SP在堆棧操作中作堆棧指針,能隱含段寄存器段寄存器包括:代碼段寄存器CS,用于存放當(dāng)前代碼段的段地址;數(shù)據(jù)段寄存器DS,用于存放當(dāng)前數(shù)據(jù)段的段地址;附加段寄存器ES,用于存放當(dāng)前附加段的地址;堆棧段寄存器SS,用于存放當(dāng)前堆棧段的段地址。這些段寄存器彼此不能互換,每個段寄存器在8086存儲尋址空間中規(guī)定了64KB的存儲快。該64KB存儲快叫做段寄存器的當(dāng)前段。專用寄存器包括指令指針寄存器(IP)和標(biāo)志寄存器(FR)。指令指針寄存器(IP):用來存放要取的下一條指令在當(dāng)前代碼段中的偏移地址,程序不能直接訪問IP,在程序運行過程中,BIU可修改IP中內(nèi)容。指令指針寄存器每執(zhí)行一次取操作,將自動加1,使它指向下一條要取的內(nèi)存單元。標(biāo)志寄存器(FR):盡定義了9位,其中6位用作狀態(tài)標(biāo)志,3位用作控制標(biāo)志。 D15D12D4D2D0OFDFIFTFSFZFAFPFCF狀態(tài)標(biāo)志位進(jìn)位標(biāo)志CF:當(dāng)前加法運算有進(jìn)位,減法運算有借位時,CF=1,否則CF=0。輔助進(jìn)位標(biāo)志AF:在字節(jié)操作時,低4位向高4位有進(jìn)位(加法)或有借位(減法);在字操作時,低字節(jié)向高字節(jié)有進(jìn)位(加法)或有借位(減法)時,則,AF=1,否則AF=0。奇偶校驗標(biāo)志PF:當(dāng)運算結(jié)果低8位“1”的個數(shù)為偶數(shù)時,PF=1,否則PF=0。零標(biāo)志ZF:當(dāng)運算結(jié)果為0時,ZF=1,否則ZF=0。溢出標(biāo)志OF:在有符號數(shù)的算術(shù)運算時,當(dāng)運算結(jié)果有溢出時,OF=1,否則0F=0。符號標(biāo)志SF:在有符號數(shù)的算術(shù)運算時,當(dāng)運算結(jié)果為負(fù)時,SF=1,否則SF=0??刂茦?biāo)志位方向標(biāo)志DF:當(dāng)DF=0時,在串操作指令中,進(jìn)行自動增址操作;當(dāng)DF=1時,在串操作指令中,進(jìn)行自動減址操作。中斷允許標(biāo)志IF:當(dāng)IF=0時,禁止響應(yīng)可屏蔽中斷;當(dāng)IF=1時,允許響應(yīng)可屏蔽中斷。單步陷阱標(biāo)志TF:當(dāng)TF=1時,表示進(jìn)入單步工作方式;當(dāng)TF=0時,表示正常執(zhí)行。6.1.4CPU引腳圖VccAD15AD16/S3AD17/S4AD18/S5AD19/S6SSO(HIGH)VccAD15AD16/S3AD17/S4AD18/S5AD19/S6SSO(HIGH)MN/MXRDHOLD(RQ0/GT0)HLDA(RQ1/GT1)WRM/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYREST4039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND表1.38086CPU引腳說明AD0~AD15分時復(fù)用的雙向、三態(tài)地址/數(shù)據(jù)線AD19/S6~AD16/S3分時復(fù)用,輸出引腳NMI(17)輸入,非可屏蔽請求INTR(18)輸入,可屏蔽請求CLK(19)輸入,時鐘GND(20)(1)地線(兩個)REST(21)輸入,復(fù)位READY(22)準(zhǔn)備就緒,輸入TEST(23)輸入,測試低電平有效INTA(QS1)(24)輸出,中斷響應(yīng)ALE(QS0)(25)輸出,地址鎖存允許DEN(S0)(26)三態(tài)輸出,數(shù)據(jù)允許信號DT/R(S1)(27)三態(tài)輸出,數(shù)據(jù)發(fā)送/接收控制信號M/IO(S2)(28)三態(tài)輸出,存儲器/IO端口WR(LOCK)(29)三態(tài)輸出,寫HLDA(RQ1/GT1)(30)總線請求響應(yīng),輸出HOLD(RQ0/GT0)(31)輸入總線請求RD(32)三態(tài)輸出,讀MN/MX(33)決定工作模式BHE/S7(34)三態(tài)輸出,高8位數(shù)據(jù)有效/狀態(tài)復(fù)用6.2可編程并行輸入輸出芯片82556.2.18255引腳介紹:RESET:復(fù)位輸入線,當(dāng)該輸入端外于高電平時,所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。CS:片選信號線,當(dāng)這個輸入引腳為低電平時,表示芯片被選中,允許8255與CPU進(jìn)行通訊。RD:讀信號線,當(dāng)這個輸入引腳為低電平時,允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。WR:寫入信號,當(dāng)這個輸入引腳為低電平時,允許CPU將數(shù)據(jù)或控制字寫入8255。D0~D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU執(zhí)行輸入輸出指令時,通過它實現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。PA0~PA7:端口A輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器,一個8位的數(shù)據(jù)輸入鎖存器。PB0~PB7:端口B輸入輸出線,一個8位的I/O鎖存器,一個8位的輸入輸出緩沖器。PC0~PC7:端口C輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器,一個8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個4位的端口,每個4位的端口包含一個4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態(tài)信號輸入端口。A1、A0:端口地址總線,8255中有端口A、B、C和一個內(nèi)部控制字寄存器,共4個端口,由A0、A1輸入地址信號來尋址。6.2.28255的工作方式及端口尋址方式:方式0基本輸入輸出方式;方式1選通輸入輸出方式;方式2雙向選通輸入輸出方式。8255內(nèi)部有3個口:A口、B口、C口,還有一個控制寄存器,它們由程序?qū)ぶ?。具體的尋址方式如下:A1A000A口01B口10C口11控制寄存器6.2.38255的控制字:76543210控制C口抵4位控制C口抵4位1:輸入0:輸出控制B口8位1:輸入0:輸出方式選擇0:方式01:方式1控制C口高4位0:輸出1:輸入控制A口8位0:輸出1:輸入方式選擇00:方式001:方式11X:方式2功能控制0:位操作1:方式選擇6.2.4可編程控制器8255的功能及其部分相關(guān)程序:(1)端口地址的定義:MY8255_AEQU0600H MY8255_BEQU0602HMY8255_CEQU0604HMY8255_MODEEQU0606H本次設(shè)計我們選擇的是IOY1的系統(tǒng)端口地址,具體地址為0600H0606H.為了程序的編寫方便利用偽指令EQU將四個端口地址定義為MY8255_A,MY8255_B,MY8255_C,MY8255_MODE。這一過程會使此后的程序清晰明了,同時很醒目。(2)8255初始化程序:MOVDX,MY8255_MODEMOVAL,90HOUTDX,AL7設(shè)計總結(jié)短短的一周課設(shè)時間過去了,時間雖然很短,但我在這次課設(shè)中受益匪淺。微機原理的確是一門很難很復(fù)雜的學(xué)科。剛開始設(shè)計的時候,我對本題目的設(shè)計一點思路都沒有。我去圖書館查資料,上網(wǎng)找程序,回來仔細(xì)的對程序進(jìn)行研究。不管在軟件還是硬件上還是遇到了很多困難,我就耐心的閱讀一些有關(guā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

提交評論