




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第八章輸入和輸出程序設(shè)計(jì)一、概述二、輸入輸出的尋址方式三、CPU與外設(shè)數(shù)據(jù)傳送的方式
1.
程序直接控制方式
①無(wú)條件傳送方式②查詢傳送方式
2.中斷傳送方式
3.直接數(shù)據(jù)通道傳送(DMA)
計(jì)算機(jī)在使用中,不可避免地要與外部設(shè)備打交道,輸入和輸出一些信息(控制、狀態(tài)和數(shù)據(jù))。輸入——通過(guò)鍵盤(pán)、紙帶讀入機(jī)、卡片輸入機(jī)、掃描儀、
A/D(模/數(shù))轉(zhuǎn)換等;輸出——顯示器、打印機(jī)、D/A(數(shù)/模)轉(zhuǎn)換等。另外,在微機(jī)中,軟、硬盤(pán)也作為輸入輸出設(shè)備。由于①輸入的信息的數(shù)據(jù)形式不同(數(shù)字量、模擬量、開(kāi)關(guān)量等);
②輸入信息的速度不同
(鍵盤(pán)輸入、磁盤(pán)輸入);所以,在CPU與外設(shè)進(jìn)行數(shù)據(jù)傳輸時(shí),需要通過(guò)接口電路來(lái)實(shí)現(xiàn)。CPU接口電路I/O設(shè)備一、概述CPU與外設(shè)之間的接口信息
CPU與一個(gè)外設(shè)交換信息,通常需要以下一些信號(hào):
1.數(shù)據(jù)(Data)
數(shù)字量——鍵盤(pán)等輸入的數(shù)據(jù);模擬量——如溫度、壓力、流量等;(需先經(jīng)過(guò)A/D轉(zhuǎn)換,將其變?yōu)閿?shù)字量,由CPU處理后,再經(jīng)過(guò)D/A
轉(zhuǎn)換,變?yōu)槟M量,進(jìn)行控制),這部分工作有接口電路來(lái)完成。開(kāi)關(guān)量——如開(kāi)關(guān)的合與斷等。數(shù)據(jù)信息可以是串行的或并行的,相應(yīng)采用不同的接口。不同的I/O設(shè)備要求傳送的數(shù)據(jù)類(lèi)型不同,如向顯示器需傳送ASCII碼等。
2.狀態(tài)信息(Status)輸入時(shí),輸入設(shè)備的信息是否準(zhǔn)備好(READY);輸出時(shí),輸出設(shè)備是否有空(BUSY)等。
3.控制信息(Control)控制輸入輸出設(shè)備的行為,如啟動(dòng)和停止等。CPU接口電路I/O設(shè)備數(shù)據(jù)狀態(tài)控制數(shù)據(jù)狀態(tài)控制
為了將數(shù)據(jù)、狀態(tài)、控制信息區(qū)分開(kāi),在接口電路中,設(shè)有不同的端口,如數(shù)據(jù)端口、狀態(tài)端口、控制端口,以接收、存放、輸出不同的信息。端口1端口2端口4端口3端口——用于存放信息的
8位或16位鎖存器,緩沖器等。在PC機(jī)中通常為8位二、輸入輸出的尋址方式
CPU尋址外設(shè)有兩種方式,不同的CPU系統(tǒng)采用不同的尋址方式:將存儲(chǔ)器與外設(shè)端口統(tǒng)一編址
將外設(shè)接口電路的一個(gè)端口作為存儲(chǔ)器的一個(gè)單元。65F3020024E0內(nèi)存與外設(shè)內(nèi)存外設(shè)優(yōu)點(diǎn):不需要專(zhuān)門(mén)的輸入輸出指令,可用全部的存儲(chǔ)器操作指令。(指令多且靈活)如:movkou1,bx缺點(diǎn):外設(shè)占用內(nèi)存單元,相對(duì)減少了內(nèi)存容量。Kou1026D0000000001EFFFFF0000F0001F0002FFFFF2.外設(shè)端口單獨(dú)編址
優(yōu)點(diǎn):不占用內(nèi)存缺點(diǎn):CPU需設(shè)專(zhuān)門(mén)的I/O指令。I/O指令:
?
若端口地址在0~FFH范圍內(nèi),則用:
INAL,端口地址(輸入)
OUT端口地址,AL(輸出)如:INAL,KOU1OUTKOU2,AL
?
若端口地址在0100~FFFFH范圍內(nèi),則用:
MOVDX,端口地址
INAL,DXOUTDX,AL
如:MOVDX,KOU100INAL,DX65F30200外設(shè)000000FFFFFF0100KOU1KOU2KOU311223344KOU100KOU101可尋址28=256個(gè)端口可尋址216=64K個(gè)端口11323201內(nèi)存00000FFFFF1.IBMPC/XTI/O端口地址分配圖0000001F0020003F0040005F0060007F0080009F00A000BF008001FF32字節(jié)320字節(jié)32字節(jié)32字節(jié)32字節(jié)32字節(jié)32字節(jié)0000~000F8237A—5DMA控制器0020~003F8259A中斷控制器0040~005F8253A—5可編程中斷計(jì)時(shí)器0060~00638255A—5并行接口芯片(PPI)0080~0083DMA頁(yè)面寄存器00A0~00BFNMI屏蔽寄存器附:02000200~020F游戲控制口0210~0217擴(kuò)展部件0218~02F7未用02F8~02FF異步通信卡(第二個(gè))0320~032F硬盤(pán)適配器0330~0377并行打印機(jī)未用0300~031F實(shí)驗(yàn)卡0380~038F0390~03AF03B0~03BF03C0~03CF03D0~03DF03E0~03EF03F0~03F703F8~03FF03FF0378~037FSPLC通信未用單色顯示器/打印機(jī)未用未用彩色/圖形顯示卡軟盤(pán)適配器異步通信卡(第一個(gè))OUT43H,ALINAL,20H三、CPU與外設(shè)數(shù)據(jù)傳送的方式CPU與外設(shè)數(shù)據(jù)傳送的方式有三種:1.
程序直接控制方式(IN、OUT指令)①無(wú)條件傳送方式②查詢傳送方式2.中斷傳送方式3.直接數(shù)據(jù)通道傳送(DMA)1.
程序直接控制方式(P283)
①無(wú)條件傳送方式
無(wú)條件傳送方式又稱(chēng)同步方式,即CPU的動(dòng)作必須與外設(shè)同步,否則,傳送數(shù)據(jù)出錯(cuò)。傳送流程演示發(fā)聲的例子codesegmentmainprocfarassumecs:code,ds:codeorg100hstart:pushdsxorax,axpushaxmovax,codemovds,axmovdx,100inal,61handal,11111100bsound:xoral,2out61h,al
movcx,60hloop2:movbx,cxmovcx,7fffhloop1:looploop1movcx,bxlooploop2decdxjnesoundretmainendpcodeendsendstart例2:監(jiān)測(cè)驅(qū)動(dòng)器個(gè)數(shù)查詢傳送方式在傳送前,查詢一下外設(shè)的狀態(tài),當(dāng)外設(shè)準(zhǔn)備好了以后才傳送,否則,等待。傳送流程演示例子:見(jiàn)書(shū)上p2872.中斷傳送方式
由于CPU都是由高速的電子器件組成的,而外設(shè)大多是機(jī)電類(lèi)型的產(chǎn)品,二者的工作速度不能比擬。在外設(shè)從啟動(dòng)到完成一個(gè)I/0操作所需的時(shí)間內(nèi),CPU可以執(zhí)行幾百到幾干條指令。但在查詢傳送狀態(tài)。外設(shè)在進(jìn)行I/O操作時(shí),CPU并未進(jìn)行其它的工作而是處于長(zhǎng)時(shí)間反復(fù)查詢的等待狀態(tài),等待I/O設(shè)備完成前一次操作,回到準(zhǔn)備好或不忙狀態(tài)后,CPU才控制外設(shè)開(kāi)始下一次操作。由此可見(jiàn),在查詢傳送方式中。CPU與外設(shè)串行工作,這對(duì)CPU來(lái)說(shuō).當(dāng)然是一極大的浪費(fèi)、而且計(jì)算機(jī)速度越高,這種與外設(shè)低速度的矛盾就越突出。為了提高CPU的工作效率,現(xiàn)代計(jì)算機(jī)都引入了中斷機(jī)構(gòu),讓CPU以中斷方式控制外設(shè)的工作。中斷傳送方式最大的特點(diǎn)是CPU與外設(shè)并行工作,即CPU啟動(dòng)外設(shè)之后,不再等待外設(shè)工作的完成,而是執(zhí)行另一個(gè)程序。當(dāng)外設(shè)完成一次操作后,就向CPU發(fā)出中斷申請(qǐng),這時(shí),CPU就暫?,F(xiàn)行程序的執(zhí)行而轉(zhuǎn)去用很少的時(shí)間控制外設(shè)開(kāi)始下一次I/O操作。然后CPU又恢復(fù)執(zhí)行原來(lái)被中斷的程序。這樣,既提高了CPU的利用率,又可以使多臺(tái)外部設(shè)備與CPU并行工作。中斷1。概念:當(dāng)系統(tǒng)內(nèi)部發(fā)生某一事件時(shí),CPU暫時(shí)中斷現(xiàn)行程序的運(yùn)行,而自動(dòng)轉(zhuǎn)去執(zhí)行處理該事件的子程序;當(dāng)處理結(jié)束后CPU又返回到被中斷程序的斷點(diǎn)處繼續(xù)往下執(zhí)行。
中斷實(shí)際上是CPU所具有的能打斷當(dāng)前執(zhí)行的程序,轉(zhuǎn)而為臨時(shí)出現(xiàn)的事件服務(wù),事后又能自動(dòng)恢復(fù)執(zhí)行原來(lái)程序的一種功能。實(shí)現(xiàn)這種功能的軟、硬件裝置稱(chēng)中斷系統(tǒng)。中斷源能引發(fā)中斷事件的設(shè)備或過(guò)程中斷傳送方式示意傳送流程演示中斷控制器8259A2。中斷源及其優(yōu)先級(jí)別外部中斷源:來(lái)自CPU的外部?jī)?nèi)部中斷源:來(lái)自CPU的內(nèi)部(不需要外部設(shè)備支持,不受IF控制)中斷優(yōu)先級(jí)別:高
低除法錯(cuò)-INTO-INTn-NMI-INTR-單步電源掉電內(nèi)存存取錯(cuò)總線奇偶校驗(yàn)錯(cuò)外設(shè)的請(qǐng)求CPU在開(kāi)中的情況下響應(yīng)(IF=1)關(guān)中不響應(yīng)(IF=0)中斷源外部中斷內(nèi)部中斷不可屏蔽中斷NMI可屏蔽中斷INR除法出錯(cuò)0中斷溢出中斷INTO(4)軟中斷INTn單步中斷TF=1(1)硬中斷軟中斷非屏蔽中斷類(lèi)型號(hào)2不能被禁止不可屏蔽中斷可屏蔽中斷IF3.中斷向量表
中斷矢量表是中斷類(lèi)型碼與對(duì)應(yīng)的中斷處理程序之間的連接表。IBM—Pc的中斷矢量表用主存中從0H到3FFH共1K個(gè)字節(jié)的存儲(chǔ)空間。表中內(nèi)容分為256項(xiàng),對(duì)應(yīng)于中斷類(lèi)型號(hào)0一255。每一項(xiàng)占四個(gè)字節(jié),用來(lái)存放中斷處理子程序的入口地址信息,高地址的兩字節(jié)用來(lái)存放中斷處理子程序所在段的段首址,低地址的兩字節(jié)用來(lái)存放中斷處理子程序入口處在段內(nèi)的偏移地址。4。軟中斷及有關(guān)的中斷指令軟中斷靠程序中的軟中斷指令實(shí)現(xiàn),又稱(chēng)它為程序自中斷軟中斷指令的語(yǔ)句格式為:INTn其中,n為類(lèi)型碼,取值范圍為0—255。功能:①(FLAGS)(SP)0IF、TF②(CS)(SP)(4*n+2)CS
③(IP)(SP)(4*n)IP
中斷返回指令
IRETINTn與CALL的比較
都是調(diào)用某一程序段INTn調(diào)用比CALL調(diào)用多壓一個(gè)字進(jìn)棧(PSW)0000H0004H0008H...03FCH03FFHIPCS類(lèi)型0中斷處理程序入口地址類(lèi)型1中斷處理程序入口地址類(lèi)型2中斷處理程序入口地址類(lèi)型255中斷處理程序入口地址中斷向量表
假定用空閑的中斷類(lèi)型號(hào)45H作為新增加的軟中斷類(lèi)型號(hào),其功能是將AX中的16位無(wú)符號(hào)二進(jìn)制數(shù)以四位十六進(jìn)制形式在顯示器輸出。其入口參數(shù)、出口參數(shù)如下:入口參數(shù):Ax中是待顯示的無(wú)符號(hào):二進(jìn)制數(shù);出口參數(shù):對(duì)應(yīng)的十六進(jìn)制數(shù)已在顯示器輸出。假定45H號(hào)中斷處理子程序名為INTR45,放在文件ITR45.ASM中。設(shè)置中斷向量表且執(zhí)行45H軟中斷指令的主程序名為T(mén)-INT45,在文件T-INT45.ASM中。例子5.如何設(shè)計(jì)一個(gè)軟中斷程序?(1)根據(jù)新增加的軟中斷指令的入口、出口參數(shù)及功能編制中斷處理子程序。(子程序如何設(shè)計(jì)?)(2)查看中斷矢量表,找出一個(gè)空閑的中斷類(lèi)型號(hào),假定為N。(3)將新編制的中斷處理子程序的入口地址送入中斷向量表4*N~4*N+3共四個(gè)字節(jié)。設(shè)置中斷向量的與取中斷向量指令設(shè)置:?。海ˋH)=25H(AH)=35(AL)=中斷類(lèi)型號(hào)(AL)=中斷類(lèi)型號(hào)(DS:DX)=中斷向量INT21HINT21H(ES:BX)=返回的中斷向量3.直接存儲(chǔ)器存?。―MA)方式(P282)傳送流程演示DMA傳送方式主要由硬件DMA控制器來(lái)實(shí)現(xiàn)。DMA傳送方式也叫成組數(shù)據(jù)傳送方式,適用于高速I(mǎi)/O設(shè)備,采用該方法可使I/O設(shè)備直接和存儲(chǔ)器進(jìn)行成批數(shù)據(jù)的快速傳送。DMA傳送方式的接口電路DMA控制器I/O接口CPU存儲(chǔ)器5432167總線HLDA發(fā)存儲(chǔ)器地址傳送數(shù)據(jù)傳送結(jié)束?DMA結(jié)束修改地址指針DMA控制器(Intel8237A)包含四個(gè)寄存器:控制、狀態(tài)、地址寄存器和字節(jié)計(jì)數(shù)器。幾種傳送方式的比較:1.無(wú)條件傳送:只能用于外部設(shè)備與CPU的動(dòng)作同步時(shí),否則出錯(cuò)。這種方式已較少使用。2.查詢傳送:
?
接口簡(jiǎn)單,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商用兩住房合同范本
- 基于認(rèn)知負(fù)荷理論的交互式知識(shí)可視化設(shè)計(jì)研究
- 廚房安裝爐合同范本
- 勞動(dòng)承包建筑合同范本
- 離退休科工作總結(jié)
- 幼小銜接視角下小學(xué)數(shù)學(xué)培養(yǎng)學(xué)生思維能力的策略研究
- 農(nóng)民承包樹(shù)苗合同范例
- 論信息時(shí)代背景下小學(xué)書(shū)法教學(xué)策略
- 員工賬號(hào)合同范本
- 廠房排氣安裝合同范例
- 2024年普通高等學(xué)校招生全國(guó)統(tǒng)一考試·新課標(biāo)卷(化學(xué))附試卷分析
- 人教版五年級(jí)下冊(cè)數(shù)學(xué)第2單元測(cè)試題帶答案
- 再生資源門(mén)店加盟協(xié)議書(shū)
- DB62-T 3268-2024 人民防空工程平戰(zhàn)功能轉(zhuǎn)換技術(shù)標(biāo)準(zhǔn)
- 天車(chē)工技能競(jìng)賽理論考試題庫(kù)500題(含答案)
- 療愈珠寶的科學(xué)與藝術(shù)
- 新能源汽車(chē)車(chē)位租賃合同
- 《人工智能導(dǎo)論》(第2版)高職全套教學(xué)課件
- 39 《出師表》對(duì)比閱讀-2024-2025中考語(yǔ)文文言文閱讀專(zhuān)項(xiàng)訓(xùn)練(含答案)
- 醫(yī)共體信息化項(xiàng)目建設(shè)方案(技術(shù)方案)
- 院前急救技術(shù)-止血包扎固定搬運(yùn)課件
評(píng)論
0/150
提交評(píng)論