当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《汇编语言程序设计》课程教学资源(PPT课件讲稿)第五章 输入/输出与中断系统

资源类别:文库,文档格式:PPT,文档页数:57,文件大小:473.5KB,团购合买
I/O设备是计算机系统必不可少的组成部分,IO能力的强弱 是评价计算机系统性能优劣的重要指标。计算机系统通过硬 件接口和O控制程序对ⅠO设备进行控制,使之协调、有效地 完成I/O操作。
点击下载完整版文档(PPT)

第五章输入/输出与中断系统 I/O设备是计算机系统必不可少的组成部分,I/0能力的强弱 是评价计算机系统性能优劣的重要指标。计算机系统通过硬 件接口和I○控制程序对IO设备进行控制,使之协调、有效地 完成I/O操作。 汇编语言可以最直接、有效地控制计算机的硬件和各种 I/O外设接口,所以是编写高性能ⅣO程序的最有效语言之 在硬件和接口控制、数据实时采集、实时控制和处理方面, 汇编语言仍然有独到之处的优势。 本章学习计算机中断系统的有关概念、主要外设接口的 基本原理、接口的程序控制方法以及IO程序设计方法

第五章 输入/输出与中断系统 I/O设备是计算机系统必不可少的组成部分,I/O能力的强弱 是评价计算机系统性能优劣的重要指标。计算机系统通过硬 件接口和I/O控制程序对I/O设备进行控制,使之协调、有效地 完成I/O操作。 汇编语言可以最直接、有效地控制计算机的硬件和各种 I/O外设接口,所以是编写高性能I/O程序的最有效语言之一。 在硬件和接口控制、数据实时采集、实时控制和处理方面, 汇编语言仍然有独到之处的优势。 本章学习计算机中断系统的有关概念、主要外设接口的 基本原理、接口的程序控制方法以及I/O程序设计方法

5.1输入输出基础 包括:0IO接口信息数据传送方式 ②IO端口寻址e输入输出指令 51.1I/O接口信息 每种IO外部设备都通过一个硬件接口和CPU连接,计算 机系统通过接口寄存器与IO外部设备交换信息。接口中包含 了一组寄存器。 接口信息分为三类: 数据信息、状态信息、控制信息 不同性质的接口信息分别通过接口的数据寄存器、状 态寄存器和控制寄存器进行传送。 (1)数据寄存器 存放外设和主机间传送的数据信息 (2)状态寄存器 保存外设当前状态信息

5.1 输入/输出基础 包括:  I/O接口信息  数据传送方式  I/O端口寻址  输入/输出指令 5.1.1 I/O接口信息 每种I/O外部设备都通过一个硬件接口和CPU连接,计算 机系统通过接口寄存器与I/O外部设备交换信息。接口中包含 了一组寄存器。 接口信息分为三类: 数据信息、状态信息、控制信息 不同性质的接口信息分别通过接口的数据寄存器、状 态寄存器和控制寄存器进行传送。 (1)数据寄存器 存放外设和主机间传送的数据信息。 (2)状态寄存器 保存外设当前状态信息

例如: READY、 EMPTY、BUSY、ACK等 利用状态信息实现主机与外设之间正确“握手”—在 数据传送中,二者能配合协调工作。 (3)控制寄存器 CPU通过控制寄存器给外设发送操作命令 51.2I/O寻址及端口地址分配 为便于访问,每个接口寄存器(端口)都分配了一个惟 的地址编码,称为Ⅰ/O端口地址,构成了一个独立于存储 器的IO地址空间。处理器用专门的IO指令通过不同的端口 与不同的IO设备交换信息 在80X86处理器系列的计算机中,可寻址64K个8位1O端口 或32K个16位端口。但实际上仅使用CPU的10位地址线AOA9 进行I/O端口寻址,因此实际最大可寻址1024个8位IO端口或 512个16位I0端口,端口地址范围为0-3FFH

例如:READY、EMPTY、BUSY、ACK等 利用状态信息实现主机与外设之间正确“握手”——在 数据传送中,二者能配合协调工作。 (3)控制寄存器 CPU通过控制寄存器给外设发送操作命令。 5.1.2 I/O寻址及端口地址分配 为便于访问,每个接口寄存器(端口)都分配了一个惟 一的地址编码,称为I/O端口地址,构成了一个独立于存储 器的I/O地址空间 。处理器用专门的I/O指令通过不同的端口 与不同的I/O设备交换信息。 在80X86处理器系列的计算机中,可寻址64K个8位I/O端口 或32K个16位端口。但实际上仅使用CPU的10位地址线A0-A9 进行I/O端口寻址,因此实际最大可寻址1024个8位I/O端口或 512个16位I/O端口,端口地址范围为0-3FFH

如果端口地址大于1024时,CPU将取该端口地址除以 1024的余数作为实际端口地址。 例:端口号1025/1024的余数=1 因此使用端口1025等效于使用端口1 各种外部设备都有固定的IO端口地址,见教材表5-1(p134)。 51.3数据传送方式 可分为三种基本的数据传送方式 (1)程序直接控制的IO方式 0条件传送方式(查询方式) 处理器传送数据前,需要先查询I/O设备的状态,当I/O设 备准备就绪时才进行数据传送,否则处理器将等待。用于高速 CPU与低速I/O设备(键盘、显示器等)之间同步协调工作 2无条件传送方式 计算机与外部设备可以完全同步操作,I/O设备状态总是 就绪的,CPU不用查询I/O设备的状态,可直接进行数据传送

如果端口地址大于1024时,CPU将取该端口地址除以 1024的余数作为实际端口地址。 例: 端口号 1025/1024的余数 = 1 因此使用端口 1025等效于使用端口1 各种外部设备都有固定的I/O端口地址 ,见教材表5-1 (p134)。 5.1.3 数据传送方式 可分为三种基本的数据传送方式: (1)程序直接控制的I/O方式  条件传送方式(查询方式) 计算机与外部设备可以完全同步操作 ,I/O设备状态总是 就绪的,CPU不用查询I/O设备的状态,可直接进行数据传送。 处理器传送数据前,需要先查询I/O设备的状态,当I/O设 备准备就绪时才进行数据传送,否则处理器将等待。用于高速 CPU与低速I/O设备(键盘、显示器等)之间同步协调工作。  无条件传送方式

(2)中断传送方式 根据外设的中断请求完成I/O操作,优点 0避免查询外设状态等待I/O设备就绪而耗费CPU时间, 提高CPU的利用率和计算机的运行效率。 e解决CPU无法预测I/O设备何时需要传送数据的问题。 (3)DMA( Direct Memory Access))传送方式 当大量数据传输时,为避免CPU干预,提高输入输出 效率,I/O设备直接与内存进行数据交换。用于计算机与 高速IO设备(如磁盘、磁带机等)之间交换数据 DMA方式的传送如图51所示,整个操作由硬件实现。 在一个O应用程序中,数据传送方式往往不是单一的, 可能需要同时组合使用几种数据传送方式。 52直接控制的I/O程序设计 使用IO指令在端口级直接由程序控制与外设进行数据传送

(2)中断传送方式 (3)DMA(Direct Memory Access)传送方式 根据外设的中断请求完成I/O操作,优点:  避免查询外设状态等待I/O设备就绪而耗费CPU时间, 提高CPU的利用率和计算机的运行效率。  解决CPU无法预测I/O设备何时需要传送数据的问题。 当大量数据传输时,为避免CPU干预,提高输入/输出 效率,I/O设备直接与内存进行数据交换。用于计算机与 高速I/O设备(如磁盘、磁带机等)之间交换数据。 DMA方式的传送如图5.1所示,整个操作由硬件实现。 在一个I/O应用程序中,数据传送方式往往不是单一的, 可能需要同时组合使用几种数据传送方式。 5.2 直接控制的I/O程序设计 使用I/O指令在端口级直接由程序控制与外设进行数据传送 。 next

DMA传送操作流程DMA控制器向CPU 发出使用总线的请求 CPU发出响应信号,将 总线控制权转让给DMA 由数据总线传送一个字节 地址寄存器增1 字节计数器减1 字节计数器=0? 是 DMA控制器撤消总线请求信号 DMA传送结束 返回

DMA控制器向CPU 发出使用总线的请求 CPU发出响应信号,将 总线控制权转让给DMA 由数据总线传送一个字节 地址寄存器增1 字节计数器减1 DMA控制器撤消总线请求信号 DMA传送结束 字节计数器=0? 是 否 DMA传送操作流程 返回

52.1输入/输出指令 两条I/O的指令:IN、OUT 可传送字节或字数据,并且可以对端口直接寻址或间接寻址。 (1)输入指令 指令格式: IN ACC,PORT (ACC)←(PORT) IN ACC. DX (ACC)←((DX)) ACC代表AL或AX寄存器,PORT是端口地址。 例:从n端口读一个字节数据,从n+1和n端口读一个字数据 IN AL.n (AL)←(n) IN AX. n ;(Ax)←(n+1,n) 例:从DX所指的379H端口读一个字节数据(间接端口寻址): MOV DX. 379H AL. dX 2)输出指令 指令格式: OUT PORT,ACC;(PORT)←(ACC) oUT DX. ACC ((DX))←(ACC)

5.2.1 输入/输出指令 两条I/O的指令:IN、OUT 可传送字节或字数据,并且可以对端口直接寻址或间接寻址。 (1)输入指令 指令格式:IN ACC,PORT ;(ACC) ←(PORT) IN ACC,DX ;(ACC) ←((DX)) ACC代表AL或AX寄存器,PORT是端口地址。 例: 从n端口读一个字节数据,从n+1和n端口读一个字数据: IN AL,n ; (AL) ← (n) IN AX,n ; (AX ) ← ( n+1,n) 例: 从DX所指的379H端口读一个字节数据(间接端口寻址): MOV DX,379H IN AL,DX (2)输出指令 指令格式: OUT PORT,ACC ;(PORT)←(ACC) OUT DX,ACC ;( (DX) )←(ACC)

例:将AL寄存器的字节数据传送到DX所指的378H端口 MOV DX. 378H OUT DX AL ;((DⅩ))←(AL) 如果端口地址≤255,可用直接端口寻址或间接端口寻址; 如果端口地址>25,用间接端口寻址(端口地址存放DⅩ中)。 判断下面指令的合法性: in AL. 378H x MOV DX. 378H IN AL. DX IN BL: 60H out 378H. CH X 例:检测设备是否出错。 IN AL. 27H 设某设备的状态端口为27H TEST AL. 00000100B 错误状态位:D2=0,设备无错 JNZ ERR D2=1,设备出错 ERR

例: 将AL寄存器的字节数据传送到DX所指的378H端口: MOV DX,378H OUT DX,AL ; ((DX))←(AL) 如果端口地址 255, 可用直接端口寻址或间接端口寻址; 如果端口地址 >255, 用间接端口寻址(端口地址存放DX中)。 判断下面指令的合法性: IN AL,378H IN BL,60H OUT 378H,CH    例:检测设备是否出错。 设某设备的状态端口为27H 错误状态位:D2=0,设备无错 D2=1,设备出错 IN AL, 27H TEST AL,00000100B JNZ ERR  ERR: MOV DX,378H IN AL,DX

52.2直接控制的IO程序设计 设计方法包括:0条件传送(查询传送) 2无条件传送 522.1条件传送IO程序设计 CPU需要不断地访问、查询外设状态,直到确认外设准 备就绪后,才能进行输入/输出。 例5-(p137)打印机查询输出子程序。 5222无条件传送IO程序设计 CPU不需要查询外设状态,直接与外设进行数据传输。 声音是一种有效的人机通讯方式,以PC机发声程序设计为例, 介绍无条件传送I/O程序设计方法。 (1)BMPC机发声系统工作原理 系统的定时器计数器8253或8254提供音频信号,通过可编 程并行接口芯片8255的6H端口控制驱动电路,使扬声器发声。 发声系统工作原理如教材(pl37)图52所示

例5-1(p137) 打印机查询输出子程序。 5.2.2.2 无条件传送I/O程序设计 CPU不需要查询外设状态,直接与外设进行数据传输。 声音是一种有效的人机通讯方式,以PC机发声程序设计为例, 介绍无条件传送I/O程序设计方法。 (1)IBM PC机发声系统工作原理 系统的定时器/计数器8253或8254提供音频信号,通过可编 程并行接口芯片8255的61H端口控制驱动电路,使扬声器发声。 发声系统工作原理如教材 (p137) 图5.2所示。 5.2.2.1 条件传送I/O程序设计 CPU需要不断地访问、查询外设状态,直到确认外设准 备就绪后,才能进行输入/输出。 5.2.2 直接控制的I/O程序设计 设计方法包括:  条件传送(查询传送)  无条件传送

ROM BIOS:基本输入/输出系统( Basic Input/ Output System) 驻留在系统主板的ROM中,提供了系统加电、引导装入、 主要的IO接口控制以及最基本的硬件和软件接口 调用BIOS功能—称为BIOS中断调用,调用方法与DOS系 统功能类似。例如,键盘输入一个字符: MOV AH,0 INT 16H 输入/输出接口 用户程序 DOS系统 功能调用 BIOS中断调用 硬件/外部设备 返回

用户程序 DOS系统 功能调用 BIOS中断调用 硬件/外部设备 输入/输出接口 ROM BIOS: 基本输入/输出系统(Basic Input /Output System) 驻留在系统主板的ROM中,提供了系统加电、引导装入、 主要的I/O接口控制以及最基本的硬件和软件接口。 调用BIOS功能——称为BIOS 中断调用,调用方法与DOS系 统功能类似。 例如,键盘输入一个字符: MOV AH,0 INT 16H 返回

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共57页,可试读19页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有