第四章 输入输出系统把处理机和主存储器之外的部分统称为输入输出系统,包括输入输出设备、输入输出接口和输入输出软件等。
通常,把与处理机有关的,除了人以外的各种设备称为输入输出设备,或外围设备。
本章主要内容:
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(Small Computer System Interfice)接口等计算机系统的使用者,在需要更换外围设备时,各种不同型号,不同生产厂家的设备都可以直接通过标准接口与计算机系统连接。
处理机采用统一的硬件和软件对品种繁多的设备进行管理。
某些计算机系统已经实现了即插即用技术。
4.1.2 输入输出系统的组织方式针对异步性,采用自治控制的方法,
针对实时性,采用层次结构的方法,
针对与设备无关性,采用分类处理的方法
1、自治控制输入输出系统是一个独立于处理机之外的自治系统。
处理机与外围设备之间要有恰当的分工。
2、层次结构最靠近处理机的是输入输出处理机、输入输出通道等。
中间层是标准接口。
标准接口通过设备控制器与输入输出相连接。
有设备控制器控制外围设备工作。
3、分类组织为面向字符的设备(Character-oriented device)。
主要是指工作速度比较低的机电类设备。例如,字符终端、打字机等。
面向数据块的设备主要指工作速度比较高的外围设备。例如,磁盘、磁带、光盘的辅助存储器,行式打印机等。
处理机(CPU)
主存储器(MM)
存储器总线
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
程序控制方式的数据传送过程
采用程序控制方式,一个处理机管理多台外围设备的程序框图一个处理机管理多台外围设备。处理机采用轮流循环测试方法,分时为各台外围设备服务。
程序控制输入输出方式的优点:
灵活性很好。可以很容易地改变各台外围设备的优先级。
程序控制输入输出方式的缺点:
实现处理机与外围设备并行工作困难。
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控制器进行初始化。传送主存缓冲区首地址、设备地址、数据块的长度等,并启动设备开始工作。
在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.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(Small Computer System Interfice)接口等计算机系统的使用者,在需要更换外围设备时,各种不同型号,不同生产厂家的设备都可以直接通过标准接口与计算机系统连接。
处理机采用统一的硬件和软件对品种繁多的设备进行管理。
某些计算机系统已经实现了即插即用技术。
4.1.2 输入输出系统的组织方式针对异步性,采用自治控制的方法,
针对实时性,采用层次结构的方法,
针对与设备无关性,采用分类处理的方法
1、自治控制输入输出系统是一个独立于处理机之外的自治系统。
处理机与外围设备之间要有恰当的分工。
2、层次结构最靠近处理机的是输入输出处理机、输入输出通道等。
中间层是标准接口。
标准接口通过设备控制器与输入输出相连接。
有设备控制器控制外围设备工作。
3、分类组织为面向字符的设备(Character-oriented device)。
主要是指工作速度比较低的机电类设备。例如,字符终端、打字机等。
面向数据块的设备主要指工作速度比较高的外围设备。例如,磁盘、磁带、光盘的辅助存储器,行式打印机等。
处理机(CPU)
主存储器(MM)
存储器总线
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
程序控制方式的数据传送过程
采用程序控制方式,一个处理机管理多台外围设备的程序框图一个处理机管理多台外围设备。处理机采用轮流循环测试方法,分时为各台外围设备服务。
程序控制输入输出方式的优点:
灵活性很好。可以很容易地改变各台外围设备的优先级。
程序控制输入输出方式的缺点:
实现处理机与外围设备并行工作困难。
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控制器进行初始化。传送主存缓冲区首地址、设备地址、数据块的长度等,并启动设备开始工作。
在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) 数据块传送方式。在设备控制器中设置一个比较大的数据缓冲存储器。设备控制器与主存储器之间的数据交换以数据块为单位,并采用中断方式进行。
采用数据块传送方式的外围设备还有行式打印机,激光打印机,卡片阅读机,部分绘图仪等。