null计算机系统结构计算机系统结构第一章 基本概念
第二章 指令系统
第三章 存储系统
第四章 输入输出系统
第五章 标量处理机第六章 向量处理机
第七章 互连网络
第八章 并行处理机
第九章 多处理机第四章 输入输出系统第四章 输入输出系统在计算机系统中,把处理机与主存储器之外的部分统称为输入输出系统
输入输出系统是处理机与外界进行数据交换的通道。
与处理机有关的、除人以外的各种设备称为输入输出设备(或外围设备)null4.1 输入输出原理 输入输出系统是计算机系统中最具多样性和复杂性的部分。最典型地反映了软硬件的相互结合4.1.1 输入输出系统的特点4.1.2 输入输出系统的组织方式4.1.3 基本输入输出方式null4.1.1 输入输出系统的特点 输入输出系统涉及到机、光、电、磁、声、自动控制等多种学科。 用户无需了解输入输出系统和输入输出设备的具体细节就能使用输入输出设备。 处理机的外部世界包括:本地和远程用户、系统操作员、操作
控制台、输入输出设备、辅助存储器、其它处理机、各种通信
设备和虚拟现实系统等。null系统操作员处理机本地或远程用户实时输入输出输入输出设备虚拟现实系统其它处理机本身出错处理程序请求null1、异步性
输入输出设备通常不使用统一的中央时钟,各个设备按照自己的时钟工作,但又要在某些时刻接受处理机的控制
处理机与外围设备之间,外围设备与外围设备之间能够并行工作
2、实时性
对于一般外部设备:可能丢失数据,或造成外围设备工作的错误
对于实时控制计算机系统,如果处理机提供的服务不及时,可能造成巨大的损失,null 甚至造成人身伤害
对于处理机本身的硬件或软件错误:如电源故障、数据校验错、页面失效、非法指令、地址越界等,处理机须及时处理
对不同类型的设备,必须具有与设备相配合的多种工作方式
3、与设备无关性
独立于具体设备的标准接口。例如,串行接口、并行接口、SCSI(Small Computer System Interface)接口等
计算机系统的使用者,在需要更换外围设null 备时,各种不同型号,不同生产厂家的设备都可以直接通过标准接口与计算机系统连接
处理机采用统一的硬件和软件对品种繁多的设备进行管理
某些计算机系统已经实现了即插即用技术null4.1.2 输入输出系统的组织方式
针对异步性,采用自治控制的方法
针对实时性,采用层次结构的方法
针对与设备无关性,采用分类处理方法
1、自治控制
输入输出系统是一个独立于处理机之外的自治系统
处理机与外围设备之间要有恰当的分工
2、层次结构
最靠近处理机的是输入输出处理机、输null 入输出通道等
中间层是标准接口
标准接口通过设备控制器与输入输出设备相连接
设备控制器控制外围设备工作
3、分类组织
为面向字符的设备(character-oriented device);指工作速度比较低的机电类设备。例如,字符终端、打字机等
面向数据块的设备主要指工作速度比较null 高的外围设备;例如,磁盘、磁带、光盘的辅助存储器,行式打印机等
4.1.3 基本输入输出方式
对于工作速度、工作方式和工作性质不同的外围设备,基本输入输出方式有如下三种。
1、程序控制输入输出方式
程序控制输入输出方式:又称为状态驱动输入输出方式、应答输入输出方式、查询输入输出方式、条件驱动输入输出方式等null程序控制输入输出方式的4个特点: (1) 何时、 对何设备进行输入或输出操作受CPU控制 (2) CPU要通过指令对设备进行测试才能知道设备的工作状态。空闲、准备就绪、正在忙碌等 (3) 数据的输入和输出都要经过CPU (4) 用于连接低速外围设备,如终端、打印机等null启动设备Done=1否是从输入设备寄存 器中读一个字符 到主存储器中Ready=1?否是从主存储器送一
个字符到输出设
备寄存器中结束键盘输入再显示的框图null例如:
一个处理机在一段时间内只能管理一台打印机。处理机执行指令的速度为1GIPS,字长32位,打印机每秒钟打印100个字符
解:
处理机用一条指令就能向打印机传送4个字符。因此,处理机的实际利用率只有:100 / 1094=0.25107,即4千万分之一 null一个处理机管理多台外围设备。处理机采用轮流循环测试方法,分时为各台外围设备服务
程序控制输入输出方式的优点: 灵活性很好。可以很容易地改变各台外围设备的优先级
程序控制输入输出方式的缺点: 实现处理机与外围设备并行工作困难输入设备ID输出设备OD处理机 CPU主存储 器MM程序控制方式的数据传送过程null从设备缓冲寄存 器中读一个字符 到主存储器中或 从主存储器中传
送一个字符到设
备缓冲寄存器中程序控制方式;一个处理机管理多台外设Done1=1?否是从设备缓冲寄存 器中读一个字符 到主存储器中或 从主存储器中传
送一个字符到设
备缓冲寄存器中Done2=1?否是null2、中断输入输出方式
中断输入输出方式的定义如下: 当出现来自系统外部,机器内部,甚至处理机本身的任何例外的,或者虽然是事先安排的,但出现在现行程序的什么地方是事先不知道的事件时,CPU暂停执行现行程序,转去处理这些事件,等处理完成后再返回来继续执行原先的程序
中断输入输出方式的特点: (1) CPU与外围设备能够并行工作null (2) 能够处理例外事件。例如,电源掉电、非法指令、地址越界、数据溢出、数据校验错、页面失效等 (3) 数据的输入和输出都要经过CPU (4) 灵活性好 (5) 用于连接低速外围设备
在现代计算机系统中,中断输入输出方式的作用已经远远超出了为外围设备服务的范畴,成为现代计算机系统中非常重要的一个组成部分null3、直接存储器访问(DMA)方式
直接存储器服务方式又称为DMA(Direct Memory Access)方式,这种输入输出方式主要用来连接高速外围设备。例如,磁盘存储器,磁带存储器等
DMA方式具有如下特点: (1) 外围设备访问请求直接发往主存储器 (2) 不需要CPU进行保存现场和恢复现场 (3) DMA控制器中,需设置数据寄存器、设备状态或控制寄存器、主存地址寄存器、设备地址寄存器和数据交换个数计数器null (4)在DMA方式开始和结束时,需要处理机进行管理 (5)在DMA方式中,数据的传送过程不需要CPU的干预
DMA方式的工作
如下:
对于输入设备: 从设备读一个字节到DMA控制器中的数据缓冲寄存器中输入设备ID输出设备OD处理机 CPU主存储 器MMDMA方式的数据传送过程I/O 总线存储器 总线null 若一个字还没有装配满,则返回到上面;若校验出错,则发中断申请;若一个字已经装配满,则将数据送入主存数据寄存器 把主存地址送入主存地址寄存器,并且将地址增值至下一个字地址 把DMA控制器内的数据交换个数计数器减1 若交换个数为0,则DMA数据传送过程全部结束,否则返回到上面继续进行null对于输出设备: 把主存地址送入主存地址寄存器,并启动主存储器,同时将主存地址增值至下一个字地址 将主存数据寄存器中的读出数据送入DMA控制器的数据寄存器 把数据写到输出介质上(可能要逐个字符输出) 把DMA控制器内的数据交换个数计数器中的内容减1 若交换个数为0,则DMA数据传送过程结束,否则返回上面继续进行null目前使用的DMA方式实际上有如下三种:
(1) 周期窃取方式 在每一条指令执行结束时,CPU测试有没有DMA服务申请 借用CPU完成DMA工作流程。包括数据和主存地址的传送,交换个数计数器减1,主存地址的增值及一些测试判断等 周期窃取方式不需要使用程序来完成数据的输入或输出,只借用一个CPU的周期来完成DMA流程 周期窃取方式的优点是硬件结构简单,比较容易实现null 缺点是在数据输入或输出过程种实际上占用了CPU的时间
(2) 直接存取方式 整个DMA工作流程全部在DMA控制器中用硬件完成 直接存取方式的优点与缺点正好与周期窃取方式相反
(3) 数据块传送方式 在设备控制器中设置一个比较大的数据缓冲存储器。设备控制器与主存储器之间的数据交换以数据块为单位,并采用程序中断方式进行null 采用数据块传送方式的外围设备还有行式打印机,激光打印机,卡片阅读机,部分绘图仪等null4.2 通道处理机
把对外围设备的管理工作从CPU分离出来
从IBM 360系列机开始,普遍采用通道处理机技术
4.2.1 通道的作用和功能
4.2.2 通道的工作过程
4.2.3 通道的种类
4.2.4 通道的中的数据传送过程
4.2.5 通道流量
null处理机与外部设备的连接方式
(1) 直接连接
(2) 通道处理机
(3) 输入输出处理机null4.2.1 通道的作用和功能
1、三种基本输入输出方式存在的问题:
CPU的输入输出负担很重,不能专心于用户程序的计算工作。 低速外围设备,每传送每个字符都由CPU执行一段程序来完成。 高速外围设备的初始化、前处理和后处理等工作需要CPU来完成
大型机中的外围设备台数很多,但一般并不同时工作。让DMA控制器能被多台设备共享,提高硬件的利用率null2、通道的主要功能:
接受CPU发来的指令,选择一台指定的外围设备与通道相连接
执行CPU为通道组织的通道程序
管理外围设备的有关地址
管理主存缓冲区的地址
控制外围设备与主存缓冲区间数据交换的个数
指定传送工作结束时要进行的操作
检查外围设备的工作状态,是正常或故障
在数据传输过程中完成必要的格式的变换null4.2.2 通道的工作过程
通道完成一次数据输入输出的过程需三步: (1) 在用户程序中使用访管指令进入管理程序,由CPU通过管理程序组织一个通道程序,并启动通道 (2) 通道处理机执行通道程序,完成指定的数据输入输出工作 (3) 通道程序结束后第二次调用管理程序对输入输出请求进行处理
每完成一次输入输出工作,CPU只需要两次调用管理程序,大大减少了对用户程序的打扰nullCPU运 行用户 程序通道运行存放在主 存中的通道程序编制通 道程序请求输入输 出访管指令启动I/O通道组织I/O 操作向CPU发 中断请求登记或 处理CPU运 行管理 程序响应I/O
中断请求时间tnull访管入口OC设备号OC交换长度OC主存起址通道程序置通道地址字启动I/O
通道程序
断开通道指令入 口返
回I/O中 断响应I/O中 断返回I/O中断请求null4.2.3 通道种类
通道分为三种类型:字节多路通道、选择通道和数组多路通道
1、字节多路通道
为多台低速或中速的外围设备服务
字节多路通道包含有多个子通道,每个子通道连接一个设备控制器
2、选择通道
选择通道为高速外围设备服务
每个选择通道只有一个以成组方式工作的子通道,逐个为多台高速外围设备服务nullnullnull字节缓冲状态/控制固定地址子通道1子通道2子通道3数据缓冲通道控制字节多路通道至主存储器字节多路通道的结构null通道控制部分状态/控制主存地址至主存储器选择通道的结构字节计数设备地址数据缓冲数据格 式变换字字节至设备控制器null3、数组多路通道
数组多路通道:把字节多路通道和选择通道的特性结合起来
每次为一台高速设备传送一个数据块,并轮流为多台外围设备服务
数组多路通道可以被看作是以成组方式工作的高速多路通道
从磁盘存储器读出一个文件的的过程分为三步:定位、找扇区、读出数据
数组多路通道的实际工作方式是: 在为一台高速设备传送数据的同时,有null 多台高速设备可以在定位或者在找扇区
与选择通道相比,数组多路通道的数据传输率和通道的硬件利用都很高,控制硬件的复杂度也高null4.2.4 通道中的数据传送过程
一个字节多路通道连接P台设备,每台设备都传送n个字节
TS:设备选择时间;TD:传送一个字节的时间;Dij:第i台设备的第j个数据,其中有: i=1,2,…,p,j=1,2,…,n 总共所需要的时间: TBYTE=(TS+TD)·P·nTSTDD11TSTDD21…………TSTDDij…………TSTDDpnTnull选择通道连接P台设备,每台设备都传送n个字节
TS:设备选择时间;TDi:通道传送第i个数据所用的时间;其中有:i=1,2,…,n
Di:通道正在为第i台设备服务,其中有:i=1,2,…,p
总共所需要的时间:TSELETE=(TS/n + TD)·P·nTSTD1…TDnD1…………TTSTD1…TDnD2TSTD1…TDnDpnull数组多路通道连接P台设备,每台设备都传送n个字节
TS:设备选择时间,k:一个数据块中的字节个数;TDi:通道传送第i个数据所用的时间,其中有:i=1,2,…,n
Di:通道正在为第i台设备服务,其中有:i=1,2,…,p
总共所需要的时间:TBLOCK= (TS/k+TD)·P·nTSTD1…TDkD1TTSTD1…TDkD2TSTD1…TDnDpTSTD1…TDkD2null4.2.5 通道流量分析
通道流量:单位时间内能够传送的最大数据量。又称为通道吞吐率,通道数据传输率等。
通道最大流量:通道在满负荷工作状态下的流量。
三种通道的最大流量计算公式如下:null通道流量与连接在这个通道上的所有设备的数据传输率的关系如下:
为了保证通道能够正常工作,不丢失数据,各种通道实际流量应该不大于通道最大流量,即满足下列不等式关系: fBYTEfMAX·BYTE, fSELETE fMAX·SELETE, fBLOCK fMAX·BLOCKnull例如: 一个字节多路通道连接D1、D2、D3、D4、D5共5台设备,这些设备分别每10us、30us、30us、50us和75us向通道发出一次数据传送的服务请求,请回答下列问题: (1) 计算这个字节多路通道的实际流量和工作周期。 (2) 如果
字节多路通道的最大流量正好等于通道实际流量,并假设数据传输率高的设备,通道响应它的数据传送请求的优先级也高。5台设备在0时刻同时向通道发出第一次传送数据的请求,并在以后null 的时间里按照各自的数据传输率连续工作。画出通道分时为各台设备服务的时间关系图,并计算这个字节多路通道处理完各台设备的第一次数据传送请求的时刻。 (3) 从时间关系图上发现什么问题?如何解决这个问题?
解: 通道的实际流量为:
通道的工作周期为:t=1/fBYTE=5us/bytenull 通道处理完各设备这个第一次请求的时间如下: D1: 5us; D2: 10us; D3: 20us; D4: 30us 设备D5的第一次请求没有得到响应,数据丢失。
设备D5第一 次请求未 得到响应 的原因分 析:null对所有设备的请求时间间隔取最小公倍数,在这一段时间内通道的流量是平衡的,但是,在任意设备的任意两次传送请求之间并不能保证都能得到通道的响应。
为了保证字节多路通道能够正常工作,可以采取下列几种方法: 方法一:增加通道的最大流量。保证连接在通道上的所有设备的数据传送请求能够及时得到通道的响应。 方法二:动态改变设备的优先级。例如,在30us至70us之间临时提高设备D5的优先级,null 方法三:增加缓冲存储器。特别是对优先级比较低的设备。例如,只要为设备D5增加一个数据缓冲寄存器,它的第一次请求可以在第85us处得到响应,第二次请求可以在第145us处得到响应。null本 章 重 点
1、三种基本输入输出方式的工作原理
2、通道中的数据传送过程及流量分析
: 4.7