第7章 输入/输出系统
总览
- I/O系统基本概念
- 外部设备
- 输入设备:键盘、鼠标
- 输出设备:显示器、打印机
- 外存储器:硬盘存储器、磁盘阵列、光盘存储器
- I/O接口
- I/O接口的功能和基本结构
- I/O端口及其编址
- I/O方式
- 程序查询方式
- 程序中断方式
中断的基本概念,中断响应过程、中断处理过程、多重中断和中断屏蔽的概念。
- DMA方式
DMA控制器的组成,DMA传送过程。
- I/O系统基本概念
- I/O系统的历史演变过程
- 早期阶段(程序查询方式)
- 接口模块和DMA阶段(中断方式和DMA方式)
- 具有通道结构的阶段
- 具有I/O处理器的阶段
- I/O系统的基本概念
- I/O软件
- I/O指令:操作码/指令码/设备码
- 通道指令
- I/O硬件
- 外部设备
- I/O设备分类
- 输入设备:能将人们熟悉的信息形式变换成计算机能接受并识别的信息形式。
- 输出设备:能将计算机运算结果的二进制信息转换成人类或者其他设备可以接受和识别的信息形式。
- 输入/输出兼用设备:既可以作为输入设备,也可以作为输出设备,例如硬盘,既可以存数据,也可以取数据。
- 输入设备:键盘、鼠标
- 输出设备:显示器、打印机
- I/O接口
- I/O接口基础知识
- 通过接口可以实现数据缓冲。
- 一台机器通常配有多台I/O设备,他们各自有其设备编号,通过接口可以实现I/O设备的选择。
- 某些设备是一位位地串行传送数据,而CPU一般为并行传送,通过接口可实现数据串—并格式的转换。
- I/O接口和I/O端口是两个不同的概念,但相互之间有关联。I/O接口是主机和外设之间传送信息的"桥梁",介于主机和外设之间。主机控制外设的命令信息、传送给外设的数据或从外设取来数据、外设送给主机的状态信息等有要先存放在I/O接口中。所以,接口中有一些寄存器,用于存放这些命令、数据和状态信息。把I/O接口中的这些寄存器称为I/O端口。
- I/O接口的功能和基本结构
每一台I/O设备都是通过I/O接口连接到系统总线上的,并且此总线包括数据线、设备选择线、命令线和状态线
数据线(双向):用作I/O设备与主机之间传送数据。
设备选择先(单向):用来传送设备码。
命令线(单向):用来传送CPU向设备发憷的各种命令信号,如启动、停止、读、写等信号。
状态线(单向):将I/O设备的状态想住址报告的信号线。
- I/O接口的功能
- 设备选择功能
由于I/O总线与所有设备的接口电路相连,但CPU究竟选择哪台设备,还得通过设备选择线上的设备码来确定,该设备码将送至所有设备的接口,因此当设备选择线上的设备码与本设备码相符合时,应发憷设备选择信号SEL,这种功能可通过接口内的设备选择电路来实现。
- 传送命令功能
当CPU向I/O设备发出命令时,要求I/O设备能做出相应,如果I/O接口不具备传送命令信息的功能,那么设备将无法相应,故通常在I/O接口中舍友存放命令的命令寄存器和命令译码器。
- 传送数据功能
- 反应I/O设备的工作状态
- I/O设备的基本结构
- I/O接口的类型
- I/O端口及其编址
- I/O端口
- I/O端口的编址
- 统一编址
- 不统一编址
- I/O方式
- 程序查询方式
- 程序中断方式
中断的基本概念,中断响应过程、中断处理过程、多重中断和中断屏蔽的概念。
- DMA方式
- DMA的特点
DMA方式是一种完全由硬件进行成组信息传送的控制方式,具有程序终端方式的优点,即在数据准备阶段,CPU与外设并行。它还降低了CPU在传送数据时的开销,这是因为信息传送不经过CPU,也就不需要保护、恢复现场等繁琐操作。这种方式适用于磁盘、磁带等高速设备大批量数据的传送。它的硬件开销比较大,DMA方式中,中断的作用仅限于故障和正常传送结束时的处理。
- DMA的传送方法
- 停止CPU访问主存
- 周期挪用
- DMA与CPU交替访问
- DMA接口的功能和组成
AR:存放数据块在主存的首地址,有计数功能。
DAR:为设备地址寄存器,用于存放设备号。
WC:为字计数器,存放交换数据的字数。
BR:为数据缓冲寄存器,存放主存和设备之间交换的数据字。
DMA的传送过程分为预处理、数据传送和后处理3个阶段:
- 预处理
- 指明是输入数据还是输出数据
- 向DMA设备地址寄存器(DAR)送入设备号,并启动设备。
- 向DMA主存地址寄存器(AR)送入交换数据的主存首地址。
- 对字计数器(WC)赋予交换数据的个数。
- 数据传送
DMA以数据块为单位传送数据。
- 当设备准备好一个字时,将该字读到DMA的数据缓冲寄存器中(BR),表示数据缓冲寄存器"满"。
- 与此同时设备向DMA接口发送请求(DREQ)。
- CPU发出HLDA信号,表示允许将总线控制权交给DMA接口。
- 将DMA主存地址寄存器中的主存地址送地址总线,并命令存储器写。
- DMA控制逻辑告诉I/O,CPU已经安排了一个DMA周期,记住为下一个字的传送作准备。
- 将DMA数据缓冲寄存器的内容送数据总线。
- 主存将数据总线上的信息写至地址总线指定的存储单元中。
- 修改主存地址和字计数值。
- 后处理
当DMA的中断请求得到相应后,CPU停止源程序的执行,专区执行中断服务程序,做一些DMA的结束工作。