第四章输入输出系统 把处理机和主存储器之外的部分统称为输入输出系统,包括输入输出设备 输入输出接口和输入输出软件等。 通常,把与处理机有关的,除了人以外的各种设备称为输入输出设备,或外 围设备。 本章主要内容: 4.1输入输出原理 4.2中断系统 4.3通道处理机 4.4输入输出处理机 4.1输入输出原理 输入输出系统是计算机系统中最具多样性和复杂性的部分 输入输出系统最典型地反映了软件与硬件的相互结合 目前,输入输出系统的复杂性都隐藏在操作系统中 主要内容 4.1.1输入输出系统的特点 4.1.2输入输出系统的组织方式 4.1.3基本输入输出方式 4.1.1输入输出系统的特点 输入输出系统涉及到机、光、电、磁、声、自动控制等多种学科。 用户无需了解输入输出系统和输入输出设备的具体细节就能使用输入输出 设备,需要软件和硬件人员共同填补中间的复杂性 处理机的外部世界包括:本地和远程用户、系统操作员、操作控制台、输入 输出设备、辅助存储器、其它处理机、各种通信设备和虚拟现实系统等。 系统操作员 虚拟现实系统 本地或远程用户 其它处理机 实时输入输出 本身出错处理 输入输出设备 处理机 程序请求 处理机与外部的联系 1、异步性 4-1
4-1 第四章 输入输出系统 把处理机和主存储器之外的部分统称为输入输出系统,包括输入输出设备、 输入输出接口和输入输出软件等。 通常,把与处理机有关的,除了人以外的各种设备称为输入输出设备,或外 围设备。 本章主要内容: 4.1 输入输出原理 4.2 中断系统 4.3 通道处理机 4.4 输入输出处理机 4.1 输入输出原理 输入输出系统是计算机系统中最具多样性和复杂性的部分 输入输出系统最典型地反映了软件与硬件的相互结合 目前,输入输出系统的复杂性都隐藏在操作系统中 主要内容: 4.1.1 输入输出系统的特点 4.1.2 输入输出系统的组织方式 4.1.3 基本输入输出方式 4.1.1 输入输出系统的特点 输入输出系统涉及到机、光、电、磁、声、自动控制等多种学科。 用户无需了解输入输出系统和输入输出设备的具体细节就能使用输入输出 设备,需要软件和硬件人员共同填补中间的复杂性。 处理机的外部世界包括:本地和远程用户、系统操作员、操作控制台、输入 输出设备、辅助存储器、其它处理机、各种通信设备和虚拟现实系统等。 处理机 系统操作员 本地或远程用户 实时输入输出 输入输出设备 虚拟现实系统 其它处理机 本身出错处理 程序请求 处理机与外部的联系 1、异步性
输入输出设备通常不使用统一的中央时钟,各个设备按照自己的时钟工作, 但又要在某些时刻接受处理机的控制。 处理机与外围设备之间,外围设备与外围设备之间能够并行工作 2、实时性 对于一般外部设备:可能丢失数据,或造成外围设备工作的错误。 对于实时控制计算机系统:例如,工业过程控制,导弹、卫星的控制等,如 果处理机提供的服务不及时,可能造成巨大的损失,甚至造成人身伤害。 对于处理机本身的硬件或软件的错误:例如,电源故障、数据校验错、页面 失效、非法指令、地址越界等,处理机也必须及时地给予处理。 为不同类型的设备提供服务,必须具有与设备相配合的多种工作方式 3、与设备无关性 独立于具体设备的标准接口。例如,串行接口、并行接口、SCSI(Smal Computer System Interfice)接口等 计算机系统的使用者,在需要更换外围设备时,各种不同型号,不同生产厂 家的设备都可以直接通过标准接口与计算机系统连接。 处理机采用统一的硬件和软件对品种繁多的设备进行管理。 某些计算机系统已经实现了即插即用技术。 4.1.2输入输出系统的组织方式 针对异步性,采用自治控制的方法, 针对实时性,采用层次结构的方法, 针对与设备无关性,采用分类处理的方法 1、自治控制 输入输出系统是一个独立于处理机之外的自治系统 处理机与外围设备之间要有恰当的分工 2、层次结构 最靠近处理机的是输入输出处理机、输入输出通道等 中间层是标准接口。 标准接口通过设备控制器与输入输出相连接。 有设备控制器控制外围设备工作 3、分类组织 为面向字符的设备( Character- oriented device)。 主要是指工作速度比较低的机电类设备。例如,字符终端、打字机等。 面向数据块的设备主要指工作速度比较高的外围设备。例如,磁盘、磁带、 光盘的辅助存储器,行式打印机等。 处理机(cPD 主存储器MM
4-2 输入输出设备通常不使用统一的中央时钟,各个设备按照自己的时钟工作, 但又要在某些时刻接受处理机的控制。 处理机与外围设备之间,外围设备与外围设备之间能够并行工作。 2、实时性 对于一般外部设备:可能丢失数据,或造成外围设备工作的错误。 对于实时控制计算机系统:例如,工业过程控制,导弹、卫星的控制等,如 果处理机提供的服务不及时,可能造成巨大的损失,甚至造成人身伤害。 对于处理机本身的硬件或软件的错误:例如,电源故障、数据校验错、页面 失效、非法指令、地址越界等,处理机也必须及时地给予处理。 为不同类型的设备提供服务,必须具有与设备相配合的多种工作方式。 3、与设备无关性 独立于具体设备的标准接口。例如,串行接口、并行接口、SCSI(Small Computer System Interfice)接口等 计算机系统的使用者,在需要更换外围设备时,各种不同型号,不同生产厂 家的设备都可以直接通过标准接口与计算机系统连接。 处理机采用统一的硬件和软件对品种繁多的设备进行管理。 某些计算机系统已经实现了即插即用技术。 4.1.2 输入输出系统的组织方式 针对异步性,采用自治控制的方法, 针对实时性,采用层次结构的方法, 针对与设备无关性,采用分类处理的方法 1、自治控制 输入输出系统是一个独立于处理机之外的自治系统。 处理机与外围设备之间要有恰当的分工。 2、层次结构 最靠近处理机的是输入输出处理机、输入输出通道等。 中间层是标准接口。 标准接口通过设备控制器与输入输出相连接。 有设备控制器控制外围设备工作。 3、分类组织 为面向字符的设备(Character-oriented device)。 主要是指工作速度比较低的机电类设备。例如,字符终端、打字机等。 面向数据块的设备主要指工作速度比较高的外围设备。例如,磁盘、磁带、 光盘的辅助存储器,行式打印机等。 处理机(CPU) 主存储器(MM)
存储器总线 I0处理机 I0处理机了〖0处理机 D I0总线 CU 输入输出系统的层次结构(CU是设备控制器,D是外围设备) 4.1.3基本输入输出方式 对于工作速度、工作方式和工作性质不同的外围设备 基本输入输出方式有如下三种。 启动设备 1、程序控制输入输出方式 程序控制输入输出方式:又称为状态驱动 输入输出方式、应答输入输出方式、查询输入 DONE=1 输出方式、条件驱动输入输出方式等 程序控制输入输出方式的4个特点 从输入设备寄存器中读 (1)何时,对何设备进行输入或输出操作 一个字符到主存储器中 完全受CPU控制 2)CPU要通过指令对设备进行测试才能 否 知道设备的工作状态。设备空闲、准备就绪、 READYEl 正在忙碌等。 是 (3)数据的输入和输出都要经过CPU。 从主存储器送一个字符 (4)用于连接低速外围设备,如终端、打 到输出设备寄存器中 印机等。 例如:一个处理机在一段时间内只能管理键盘输入再显示的程序框图 台打印机。处理机执行指令的速度为 IGIPS,字长32位,打印机每秒钟100个字符。 处理机用一条指令就能向打印机传送4个字符。因此,处理机的实际利用率 只有:100/10×4=0.25×102,即4千万分之一。 输入设备叫 处理机cPU 主存储器M 输出设备 程序控制方式的数据传送过程 4-3
4-3 存储器总线 IO 处理机 IO 处理机 IO 处理机 CU D CU D CU D CU D D CU D CU D D IO 总线 CU D D 输入输出系统的层次结构(CU 是设备控制器,D 是外围设备) 4.1.3 基本输入输出方式 对于工作速度、工作方式和工作性质不同的外围设备, 基本输入输出方式有如下三种。 1、程序控制输入输出方式 程序控制输入输出方式:又称为状态驱动 输入输出方式、应答输入输出方式、查询输入 输出方式、条件驱动输入输出方式等。 程序控制输入输出方式的 4 个特点: (1) 何时,对何设备进行输入或输出操作 完全受 CPU 控制。 (2) CPU 要通过指令对设备进行测试才能 知道设备的工作状态。设备空闲、准备就绪、 正在忙碌等。 (3) 数据的输入和输出都要经过 CPU。 (4) 用于连接低速外围设备,如终端、打 印机等。 例如:一个处理机在一段时间内只能管理 一 台 打印 机。 处理 机执 行指 令的 速度 为 1GIPS,字长 32 位,打印机每秒钟 100 个字符。 处理机用一条指令就能向打印机传送 4 个字符。因此,处理机的实际利用率 只有:100 / 109 4 = 0.25 10-7,即 4 千万分之一。 输入设备 ID 处理机 CPU 主存储器 MM 输出设备 OD 程序控制方式的数据传送过程 结束 键盘输入再显示的程序框图 DONE=1 ? 从输入设备寄存器中读 一个字符到主存储器中 READY=1? 从主存储器送一个字符 到输出设备寄存器中 否 否 是 是 启动设备
个处理机管理多台外围设备。处理机 采用轮流循环测试方法,分时为各台外围设 否 备服务。 DONEl 程序控制输入输出方式的优点: 灵活性很好。可以很容易地改变各台外 从设备缀冲寄存器读一个字符 围设备的优先级 到主存储器或者从主存储器传 程序控制输入输出方式的缺点 送一个字符到设备缓冲寄存器 实现处理机与外围设备并行工作困难。 2、中断输入输出方式 DONE2=12 中断输入输出方式的定义如下 当出现来自系统外部,机器内部,甚至 从设备缓冲寄存器读一个字符 处理机本身的任何例外的,或者虽然是事先 到主存储器或者从主存储器传 安排的,但出现在现行程序的什么地方是事 送一个字符到设备缀冲寄存器 先不知道的事件时,CPU暂停执行现行程序, 转去处理这些事件,等处理完成后再返回来 继续执行原先的程序 采用程序控制方式,一个处理机管 中断输入输出方式的特点是: 理多台外围设备的程序框图 (1)CPU与外围设备能够并行工作。 (2)能够处理例外事件。例如,电源掉电、非法指令、地址越界、数据溢出、 数据校验错、页面失效等 (3)数据的输入和输出都要经过CPU。 (4)灵活性好。 (5)用于连接低速外围设备。 在现代计算机系统中,中断输入输出方式的作用已经远远超出了为外围设备 服务的范畴,成为现代计算机系统中非常重要的一个组成部分。 3、直接存储器访问(DMA)方式 直接存储器服务方式又称为DMA( Direct Memory Access)方式,这种输入 输出方式主要用来连接髙速外围设备。例如,磁盘存储器,磁带存储器等。 入设备可 庄存储器M存储器总线处理机CPU 输出设备0下 I0总线 DMA方式的数据传送过程 DMA方式具有如下特点 (1)外围设备访问请求直接发往主存储器。 (2)不需要CPU做保存现场和恢复现场等工作 3)在DMA控制器中,需要设置数据寄存器、设备状态或控制寄存器、主存 地址寄存器、设备地址寄存器和数据交换个数计数器 (4)在DMA方式开始和结束时,需要处理机进行管理 在DMA方式开始之前对DMA控制器进行初始化。传送主存缓冲区首地址、设
4-4 一个处理机管理多台外围设备。处理机 采用轮流循环测试方法,分时为各台外围设 备服务。 程序控制输入输出方式的优点: 灵活性很好。可以很容易地改变各台外 围设备的优先级。 程序控制输入输出方式的缺点: 实现处理机与外围设备并行工作困难。 2、中断输入输出方式 中断输入输出方式的定义如下: 当出现来自系统外部,机器内部,甚至 处理机本身的任何例外的,或者虽然是事先 安排的,但出现在现行程序的什么地方是事 先不知道的事件时,CPU 暂停执行现行程序, 转去处理这些事件,等处理完成后再返回来 继续执行原先的程序。 中断输入输出方式的特点是: (1) CPU 与外围设备能够并行工作。 (2) 能够处理例外事件。例如,电源掉电、非法指令、地址越界、数据溢出、 数据校验错、页面失效等。 (3) 数据的输入和输出都要经过 CPU。 (4) 灵活性好。 (5) 用于连接低速外围设备。 在现代计算机系统中,中断输入输出方式的作用已经远远超出了为外围设备 服务的范畴,成为现代计算机系统中非常重要的一个组成部分。 3、直接存储器访问(DMA)方式 直接存储器服务方式又称为 DMA(Direct Memory Access)方式,这种输入 输出方式主要用来连接高速外围设备。例如,磁盘存储器,磁带存储器等。 输入设备 ID 主存储器 MM 存储器总线 处理机 CPU 输出设备 OD IO 总线 DMA 方式的数据传送过程 DMA 方式具有如下特点: (1)外围设备访问请求直接发往主存储器。 (2)不需要 CPU 做保存现场和恢复现场等工作。 (3)在 DMA 控制器中,需要设置数据寄存器、设备状态或控制寄存器、主存 地址寄存器、设备地址寄存器和数据交换个数计数器。 (4)在 DMA 方式开始和结束时,需要处理机进行管理。 在 DMA 方式开始之前对 DMA 控制器进行初始化。传送主存缓冲区首地址、设 采用程序控制方式,一个处理机管 理多台外围设备的程序框图 DONE1=1? 从设备缓冲寄存器读一个字符 到主存储器或者从主存储器传 送一个字符到设备缓冲寄存器 DONE2=1? 从设备缓冲寄存器读一个字符 到主存储器或者从主存储器传 送一个字符到设备缓冲寄存器 否 否 是 是
备地址、数据块的长度等,并启动设备开始工作。 在DMA方式结束之后,向CPU申请中断,对数据缓冲区进行后处理 (4)在DMA方式中,数据的传送过程不需要CPU的干预。 DMA方式的工作流程如下 对于输入设备 从设备读一个字节到DMA控制器中的数据缓冲寄存器中 若一个字还没有装配满,则返回到上面:若校验出错,则发中断申请:若 个字已经装配满,则将数据送入主存数据寄存器 把主存地址送入主存地址寄存器,并且将地址增值至下一个字地址 把DMA控制器内的数据交换个数计数器减1。 若交换个数为0,则DMA数据传送过程全部结束,否则返回到上面继续进行 对于输出设备 把主存地址送入主存地址寄存器,并启动主存储器,同时将主存地址增值至 下一个字地址 将主存数据寄存器中的读出数据送入DMA控制器的数据寄存器。 把数据写到输出介质上(可能要逐个字符输出)。 把DMA控制器内的数据交换个数计数器中的内容减1。 若交换个数为0,则DMA数据传送过程结束,否则返回到上面继续进行。 目前使用的DMA方式实际上有如下三种: (1)周期窃取方式。 在每一条指令执行结束时,CPU测试有没有DMA服务申请 借用CPU完成DMA工作流程。包括数据和主存地址的传送,交换个数计数器 减1,主存地址的增值及一些测试判断等。 周期窃取方式不需要使用程序来完成数据的输入或输出,只借用一个CPU的 周期来完成DMA流程。 周期窃取方式的优点是硬件结构简单,比较容易实现。 缺点是在数据输入或输出过程种实际上占用了CPU的时间。 (2)直接存取方式:整个DMA工作流程全部在DMA控制器中用硬件完成 直接存取方式的优点与缺点正好与周期窃取方式相反。 (3)数据块传送方式。在设备控制器中设置一个比较大的数据缓冲存储器 设备控制器与主存储器之间的数据交换以数据块为单位,并采用中断方式进行。 采用数据块传送方式的外围设备还有行式打印机,激光打印机,卡片阅读机, 部分绘图仪等。 4-5
4-5 备地址、数据块的长度等,并启动设备开始工作。 在 DMA 方式结束之后,向 CPU 申请中断,对数据缓冲区进行后处理。 (4)在 DMA 方式中,数据的传送过程不需要 CPU 的干预。 DMA 方式的工作流程如下: 对于输入设备: 从设备读一个字节到 DMA 控制器中的数据缓冲寄存器中。 若一个字还没有装配满,则返回到上面;若校验出错,则发中断申请;若一 个字已经装配满,则将数据送入主存数据寄存器。 把主存地址送入主存地址寄存器,并且将地址增值至下一个字地址。 把 DMA 控制器内的数据交换个数计数器减 1。 若交换个数为 0,则 DMA 数据传送过程全部结束,否则返回到上面继续进行。 对于输出设备: 把主存地址送入主存地址寄存器,并启动主存储器,同时将主存地址增值至 下一个字地址。 将主存数据寄存器中的读出数据送入 DMA 控制器的数据寄存器。 把数据写到输出介质上(可能要逐个字符输出)。 把 DMA 控制器内的数据交换个数计数器中的内容减 1。 若交换个数为 0,则 DMA 数据传送过程结束,否则返回到上面继续进行。 目前使用的 DMA 方式实际上有如下三种: (1) 周期窃取方式。 在每一条指令执行结束时,CPU 测试有没有 DMA 服务申请。 借用 CPU 完成 DMA 工作流程。包括数据和主存地址的传送,交换个数计数器 减 1,主存地址的增值及一些测试判断等。 周期窃取方式不需要使用程序来完成数据的输入或输出,只借用一个 CPU 的 周期来完成 DMA 流程。 周期窃取方式的优点是硬件结构简单,比较容易实现。 缺点是在数据输入或输出过程种实际上占用了 CPU 的时间。 (2) 直接存取方式:整个 DMA 工作流程全部在 DMA 控制器中用硬件完成。 直接存取方式的优点与缺点正好与周期窃取方式相反。 (3) 数据块传送方式。在设备控制器中设置一个比较大的数据缓冲存储器。 设备控制器与主存储器之间的数据交换以数据块为单位,并采用中断方式进行。 采用数据块传送方式的外围设备还有行式打印机,激光打印机,卡片阅读机, 部分绘图仪等