• /  88
  • 下載費用: 24.9積分  

《微型計算機原理》第七章 輸入輸出與中斷.ppt

'《微型計算機原理》第七章 輸入輸出與中斷.ppt'
第七章 輸入/輸出與中斷I/O接口概述CPU與外設之間數據傳送的方式中斷技術內容與要求: 1.了解I/O的作用、尋址方式、控制方式。 2.理解I/O設備與主機之間的交換數據的控制方式(程序控制I/O方式、中斷I/O方式、直接存儲器存取DMA方式)。 3.理解中斷原理、中斷系統、Intel8259A中斷。7.1 I/O接口概述I/O接口的作用CPU與外設交換的信息I/O接口的基本結構I/O端口的編址7.1.1 I/O接口的作用 主機與外界交換信息稱為輸入/輸出(I/O)。主機與外界的信息交換是通過輸入/輸出設備進行的。一般的輸入/輸出設備都是機械的或機電相結合的產物,比如常規的外設有鍵盤、顯示器、打印機、掃描儀、磁盤機、鼠標器等,它們相對于高速的中央處理器來說,速度要慢得多。此外,不同外設的信號形式、數據格式也各不相同。因此,外部設備不能與CPU直接相連,需要通過相應的電路來完成它們之間的速度匹配、信號轉換,并完成某些控制功能。通常把介于主機和外設之間的一種緩沖電路稱為I/O接口電路,簡稱I/O接口(Interface)。 對于微型計算機來說,設計微處理器CPU時,并不設計它與外設之間的接口部分,將輸入/輸出設備的接口電路設計成相對獨立的部件,通過它們將各種類型的外設與CPU連接起來,從而構成完整的微型計算機硬件系統。 因此,一臺微型計算機的輸入/輸出系統應該包括I/O接口、I/O設備及相關的控制軟件。一個微機系統的綜合處理能力,系統的可靠性、兼容性、性價比,甚至在某個場合能否使用都和I/O系統有著密切的關系。輸入/輸出系統是計算機系統的重要組成部分之一,任何一臺高性能計算機,如果沒有高質量的輸入/輸出系統與之配合工作,計算機的高性能便無法發揮出來。 7.1.2 CPU與外設交換的信息 主機與I/O設備之間交換的信息可分為數據信息、狀態信息和控制信息三類。1.數據信息 數據信息又分為數字量、模擬量和開關量三種形式。 1) 數字量 數字量是計算機可以直接發送、接收和處理的數據。例如,由鍵盤、顯示器、打印機及磁盤等I/O外設與 CPU交換的信息,它們是以二進制形式表示的數或以ASCII碼表示的數符。 2) 模擬量 當計算機應用于控制系統中時,輸入的信息一般為來自現場的連續變化的物理量,如溫度、壓力、流量、位移、濕度等,這些物理量通過傳感器并經放大處理得到模擬電壓或電流,這些模擬量必須先經過模擬量向數字量的轉換(A/D轉換)后才能輸入計算機。反過來,計算機輸出的控制信號都是數字量,也必須先經過數字量向模擬量的轉換(D/A轉換),把數字量轉換成模擬量才能去控制現場。 3) 開關量 開關量可表示兩個狀態,如開關的斷開和閉合,機器的運轉與停止,閥門的打開與關閉等。這些開關量通常要經過相應的電平轉換才能與計算機連接。開關量只要用一位二進制數即可表示。 2. 狀態信息 狀態信息作為CPU與外設之間交換數據時的聯絡信息,反映了當前外設所處的工作狀態,是外設通過接口送往CPU的。CPU通過對外設狀態信號的讀取,可得知輸入設備的數據是否準備好、輸出設備是否空閑等情況。對于輸入設備,一般用準備好(READY)信號的高低來表明待輸入的數據是否準備就緒;對于輸出設備,則用忙(BUSY)信號的高低表示輸出設備是否處于空閑狀態,如為空閑狀態,則可接收CPU輸出的信息,否則CPU要暫停送數。因此,狀態信息能夠保障CPU與外設正確地進行數據交換。 3.控制信息 控制信息是CPU通過接口傳送給外設的,CPU通過發送控制信息設置外設(包括接口)的工作模式、控制外設的工作。如外設的啟動信號和停止信號就是常見的控制信息。實際上,控制信息往往隨著外設的具體工作原理不同而含義不同。 雖然數據信息、狀態信息和控制信息含義各不相同,但在微型計算機系統中,CPU通過接口和外設交換信息時,只能用輸入指令(IN)和輸出指令 (OUT)傳送數據,所以狀態信息、控制信息也是被作為數據信息來傳送的,即把狀態信息作為一種輸入數據,而把控制信息作為一種輸出數據,這樣,狀態信息和控制信息也通過數據總線來傳送。但在接口中,這三種信息是在不同的寄存器中分別存放的。 7.1.3 I/O接口的基本結構 I/O接口的基本結構如圖7.2所示。每個接口電路中都包含一組寄存器,CPU與外設進行信息交換時,各類信息在接口中存入不同的寄存器,一般稱這些寄存器為I/O端口,簡稱為口(Port)。用來保存CPU和外設之間傳送的數據(如數字、字符及某種特定的編碼等)、對輸入/輸出數據起緩沖作用的數據寄存器稱為數據端口;用來存放外設或者接口部件本身狀態的狀態寄存器稱為狀態端口;用來存放CPU發往外設的控制命令的控制寄存器稱為控制端口。 圖7.2 一個典型的I/O接口 正如每個存儲單元都有一個物理地址一樣,每個端口也有一個地址與之相對應,該地址稱為端口地址。有了端口地址,CPU對外設的輸入/輸出操作實際上就是對I/O接口中各端口的讀/寫操作。數據端口一般是雙向的,數據是輸入還是輸出,取決于對該端口地址進行操作時CPU發往接口電路的讀/寫控制信號。由于狀態端口只做輸入操作,控制端口只做輸出操作,因此,有時為了節省系統地址空間,在設計接口時往往將這兩個端口共用一個端口地址,再用讀/寫信號來分別選擇訪問。 應該指出,輸入/輸出操作所用到的地址總是對端口而言,而不是對接口而言的。接口和端口是兩個不同的概念,若干個端口加上相應的控制電路才構成接口。 7.1.4 I/O端口的編址 微型計算機系統中I/O端口編址方式有兩種:I/O端口與內存單元統一編址和 I/O端口與內存單元獨立編址。1.I/O端口與內存單元統一編址(Memory map I/O ) 這種編址方式是對I/O端口和存儲單元按照存儲單元的編址方法統一編排地址號,由I/O端口地址和存儲單元地址共同構成一個統一的地址空間。例如,對于一個有16根地址線的微機系統,若采用統一編址方式,其地址空間的結構如圖7.3所示。 圖7.3 I/O端口與內存單元統一編址 采用統一編址方式后,CPU對I/O端口的輸入/輸出操作如同對存儲單元的讀/寫操作一樣,所有訪問內存的指令同樣都可用于訪問I/O端口,因此無需專門的I/O指令,從而簡化了指令系統的設計;同時,對存儲器的各種尋址方式也同樣適用于對I/O端口的訪問,給使用者提供了很大的方便。但由于I/O端口占用了一部分存儲器地址空間,因而相對減少了內存的地址可用范圍。 2.I/O端口與內存單元獨立編址(Peripheral I/O) 在這種編址方式中,建立了兩個地址空間,一個為內存地址空間,一個為I/O地址空間。內存地址空間和I/O地址空間是相對獨立的,通過控制總線來確定CPU到底要訪問內存還是I/O端口。為確??刂瓶偩€發出正確的信號,除了要有訪問內存的指令之外,系統還要提供用于CPU與I/O端口之間進行數據傳輸的輸入/輸出指令。 80x86 CPU組成的微機系統都采用獨立編址方式。在8086/8088系統中,共有2。省略部分。 INT 21H CODE ENDS ENDDifference between INT and CALL instructionsA “CALL FAR” instruction can jump to any location within the 1 megabyte address range of the 8086/88 CPU, but “INT nn” goes to a fixed memory location in the interrupt vector table to get the address of the interrupt service routine.A “CALL FAR” instruction is used by programmer in the sequence of instructions in the program but an externally activated hardware interrupt can come in at any time, requesting the attention of the CPU.A “CALL FAR” instruction cannot be masked (disabled), but “INT nn” belonging to externally activated hardware interrupts can be masked. A “CALL FAR” instruction automatically saves only CS:IP of the next instruction on the stack, while “INT nn” saves FR (flag register) in addition to CS:IP of the next instruction.At the end of the subroutine that has been called by the “CALL FAR” instruction, the RET (return FAR) is the last instruction, whereas the last instruction in the interrupt service routine (ISR) for “INT nn” is the instruction IRET (interrupt return). The difference is that RET pops CS,IP off the stack but the IRET pops off the FR (flag register) in addition to CS and IP.1.定義問題: 假設有四個十六進制字數據存儲在存儲器里。為了得到字節型量級的數據,用一個字節型的比例因子去除上述字數據,如果除法得到的結果是有效的,則將縮小后的數據置于存儲器中。如果無效(即結果太大放不進8位寄存器),則將0放入存儲器代替結果。2. 確定算法: 初始化表 REPEAT 讀入輸入值 除比例因子 “中斷服務程序” IF 結果有效 THEN 保存所用寄存器 存放修改后的值 設置錯誤標志 ELSE 恢復所用寄存器 存放 0 返回主程序 UNTIL 所有值均被修改 3. 選擇主要指令: DIV4. 初始化表: (1) 初始化中斷向量表。即將0型中斷服務例程起始地址 放入00000H和00002H單元。 (2)建立數據段,包括比例因子、待調整數據和 BAD_DIV_FLAG標志。 (3)初始化數據段寄存器,使其指向數據段基址。 (4)建立存儲各種標志及返回地址的堆棧。 (5)初始化堆棧段。 (6)初始化一個指針,使其指向待調整數據的起始處。 初始化一個用來對調整的數據進行計數的計數器。 初始化一個指針,使其指向存放調整過后的數據矩陣 的起始之處。5. 編寫程序:DATA SEGMENT WORD PUBILIC INPUT_VALUES DW 0035H, 0855H, 2011H, 1359H SCALED_VALUES DB 4 DUP (0) SCALE_FACTOR DB 09 BAD_DIV_FLAG DB 0 DATA ENDSSTACK SEGMENT STACK DW 100 DUP (0)STACK ENDSPUBLIC BAD_DIV_FLAGINT_PROC SEGMENT WORD PUBLIC EXTRN BAD_DIVINT_PROC ENDSCODE SEGMENT WORD PUBLIC ASSUME CS : CODE, DS : DATA, SS : STACKSTART: MOV AX, STACK MOV SS, AX MOV AX, DATA MOV DS, AX MOV AX, 0000 MOV ES, AX MOV WORD PTR ES: 0002, SEG BAD_DIV MOV WORD PTR ES: 0000, OFFSET BAD_DIV MOV SI, OFFSET INPUT_VALUES MOV BX, SCALED_VALUES MOV CX, 04NEXT: MOV AX, [SI] DIV SCALE_FACTOR CMP BAD_DIV_FLAG, 01 JNE OK MOV BYTE PTR [BX], 00 JMP SKIPOK: MOV [BX], ALSKIP: MOV BAD_DIV_FLAG, 0 ADD SI, 02 INC BX LOOP NEXTSTOP: NOPCODE ENDS END STARTDATA SEGMENT WORD PUBLIC EXTRN BAD_DIV_FLAG: BYTEDATA ENDSPUBLIC BAD_DIVINT_PROC SEGMENT WORD PUBLICBAD_DIV PROC FAR ASSUME CS: INT_PROC, DS: DATA PUSH AX PUSH DS MOV AX, DATA MOV DS, AX MOV BAD_DIV_FLAG, 01 POP DS POP AX IRETBAD_DIV ENDPINT_PROC ENDS END
關 鍵 詞:
輸入 輸出 第七 中斷 微型計算機原理
 天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:《微型計算機原理》第七章 輸入輸出與中斷.ppt
鏈接地址: http://www.476824.live/p-51497136.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服點擊這里,給天天文庫發消息,QQ:1290478887 - 聯系我們

本站為“文檔C2C交易模式”,即用戶上傳的文檔直接賣給(下載)用戶,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有【成交的100%(原創)】。本站是網絡服務平臺方,若您的權利被侵害,侵權客服QQ:1290478887 歡迎舉報。

[email protected] 2017-2027 http://www.476824.live 網站版權所有

粵ICP備19057495號 

收起
展開
球探网即时蓝球比分 甘肃福彩快3走势图 安阳专业股票配资 江西福彩快三开奖结果 股票股市分析 三分pk拾是真的吗 北京pk10模式 有没有好股票推荐 黑龙江11选五5开奖遗漏结果 如何投资黄金 贵州十一选五一定牛推荐