版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成原理武汉科技大学计算机科学与技术学院第八章输入输出系统本章内容8.1外围设备的速度分级与信息交换方式8.2程序查询方式8.3程序中断方式8.4DMA方式
8.5通道方式8.6通用I/O标准接口8.1外围设备的速度分级与信息交换方式8.1.1外围设备的速度分级
1.将高速工作的处理机同不同速度工作的外围设备相连接需解决的问题——处理机与外围设备在时间上的同步(定时问题)2.输入/输出设备同CPU交换数据的过程输入过程:
(1)CPU把一个地址值放在地址总线上,选择某一输入设备(2)CPU等候输入设备的数据成为有效(3)CPU从数据总线读入数据,并存入一个相应的寄存器输出过程:
(1)CPU把一个地址值放在地址总线上,选择一个输出设备(2)CPU把数据放到数据总线上(3)输出设备认为数据有效,从而把数据取走数据何时有效是关键数据何时有效是关键目录3.CPU与外围设备之间的定时方式(1)速度极慢或简单的外围设备——无条件输入输出(2)
慢速或中速的外围设备——异步定时、查询输入输出、中断CPU接收一批数据字的流程图在CPU和外设间用问答信号进行定时,故称为应答式数据交换(3)高速的外围设备——同步定时、DMA输入输出外设以相等的时间间隔进行操作,CPU也以等间隔的速率执行输入/输出指令,故称为同步定时方式;一旦CPU和外设发生同步,它们之间的数据交换便靠时钟脉冲来控制直接内存访问(DMA)方式是更快的同步传送CPU接收一批数据字的流程图定时方式启动就绪?传送一个字CPU发响应信号复位就绪结束NNYY传送完?4.I/O对系统性能的影响【例1】假设有一个运行时间为100秒的基准程序,其中90秒是CPU时间,剩下的是I/O占用的时间。如果在以后的5年里,CPU的速度每年提高50%但I/O时间保持不变,那么5年后运行程序要耗费多少时间?I/O时间所占的比例是多少?解: 耗费的时间=CPU时间+I/O时间目前,I/O时间=100-90=10秒今后五年内CPU时间、I/O时间及其所占比例如下表:第n年后CPU时间I/O时间耗费总时间I/O时间所占比例09010秒100秒10%190/1.5=60秒10秒70秒14%260/1.5=40秒10秒50秒20%340/1.5=27秒10秒37秒27%427/1.5=18秒10秒28秒36%518/1.5=12秒10秒22秒45%[例子]假设幼儿园一个阿姨带10个孩子,要给每个孩子分2块水果糖。假设孩子们把2块糖都吃完,那么她采用什么方法呢?方法1:
她先给孩子甲一块糖,盯着甲吃完,然后再给第二块;然后给孩子乙,其过程与孩子甲完全一样。依次类推,直至到第10个孩子发完2块糖方法2:每人发一块糖各自去吃,并约定谁吃完后就向她举手报告,再发第二块方法3:进行批处理:每人拿2块糖各自去吃,吃完2块糖后再向她报告方法4:权力下放,把发糖的事交给另一个人分管,只是必要时她才过问一下8.1.2信息交换方式类似地,CPU管理外围设备的方式分为4种1.程序查询方式
优点:CPU和外围设备的操作能够同步,且硬件结构简单缺点:CPU效率低,即使是轮询2.程序中断方式
优点:节省了CPU的时间,适用于随机出现的、实时性的服务缺点:硬件结构比程序查询方式复杂一些,服务开销时间较大3.直接内存访问(DMA)方式——DMA控制器接管对总线的控制,数据交换不经过CPU,直接在内存和外围设备之间,以高速进行数据传送优点:数据传送速度很高,仅受到内存访问时间的限制缺点:与中断方式相比,需要更多的硬件适用于内存和高速外围设备之间大批数据交换的场合4.通道方式通道——一个具有特殊功能的处理器,也称输入输出处理器(IOP),可以实现对外围设备的统一管理和外围设备与内存之间的数据传送大大提高了CPU的工作效率,但以花费更多硬件为代价输入/输出控制方式主要由程序实现外围设备的输入/输出控制方式主要由硬件实现8.2程序查询方式(程序控制I/O方式)(2)从I/O接口读入状态字(3)检查状态字中的标志,判断可否进行数据交换(4)若该设备没有准备就绪,重复(2)、(3),直至其准备好(5)从接口的数据缓冲器读取输入的数据或将数据输出至接口的数据缓冲器;并将状态标志复位目录(1)CPU向I/O设备发出命令字,请求进行数据传送1、设备编址统一编址独立编址2、输入输出指令——具有的3个基本功能3、程序查询方式的接口设备选择电路数据缓冲寄存器设备状态标志4、程序查询输入/输出方式程序执行的动作程序查询流程图程序查询I/O设备流程图设备服务程序的功能:(1)实现数据传送——输入/输出(2)修改内存地址,为下一次数据传送做准备(3)修改传送字节数,以便修改传送长度(4)进行状态分析或其他控制功能用查询方式传送一批数据的程序流程图设置计数值设置内存缓冲区首址启动外设传送一个数据修改内存地址结束I/O传送修改计数器准备好?传送完?否是是否8.3程序中断方式8.3.1中断的基本概念1.中断的概念特点:CPU和外围设备的一些操作并行地进行,效率高2.中断处理过程流程图目录主程序A请求中断B请求中断C请求中断主程序A中断服务子程序B中断服务子程序C中断服务子程序中断处理示意图中断处理过程流程图说明:(1)受理中断请求的时刻(2)保存现场(3)响应中断时对中断屏蔽触发器的设置;允许中断嵌套时的处理方法(4)中断处理过程由硬件和软件结合来完成中断周期(硬件)中断服务子程序(软件)控制8.3.2程序中断方式的基本I/O接口IMIR公用寄存器01BSEI数据缓冲寄存器中断向量逻辑设备选择PCIR动作开始动作结束传送数据动作开始数据缓冲寄存器传送数据12345动作结束67PCIR8公用寄存器109接口设备CPU01RD输入数据的控制过程程序中断方式基本接口示意图准备就绪的标志(RD)——中断触发器允许中断触发器(EI)
中断请求触发器(IR)中断屏蔽触发器(IM)控制1.单级中断的概念——所有中断源都属同一级,通过一条线发中断申请,离CPU近的优先权高;不允许嵌套;以链式查询方式识别中断源8.3.3单级中断2.单级中断源的识别——采用串行排队链法INTO001010001011001000数据总线编码器INTAINTIIR1IS1IR2IS2IR3IS3123456IR1IR2IR3中断优先级排队链中断向量产生逻辑3.中断向量的产生向量地址——由一串布尔量序列表示的存储器的地址码向量中断:CPU识别出某中断源时,由硬件直接产生一个与该中断源对应的向量地址,指出中断源设备的中断服务程序入口有些计算机中的向量地址不是直接地址,而是个“位移量”还有些采用向量地址转移的方法1.多级中断的概念——根据各中断事件的轻重缓急程度不同将中断源分为若干级别,每一中断级分配一个优先权;优先权高的中断级可打断优先权低的中断服务程序,以程序嵌套方式工作8.3.4多级中断主程序一级中断服务程序二级中断服务程序三级中断服务程序多级中断示意图根据系统的配置不同分类:一维多级中断、二维多级中断设备A设备D一维多级中断结构设备G(1)中断请求寄存器、中断屏蔽寄存器在多级中断中的作用(2)不同级的中断源间可实现嵌套,但同一级内一般不允许嵌套(3)多级中断系统由硬件逻辑识别中断源;在二维中断结构中,先用中断优先级排队电路确定优先响应的中断级,再通过链式查询的硬件逻辑确定具体的中断源——采用了独立请求方式与链式查询方式相结合的方法决定首先响应哪个中断源(4)
和单级中断类似,多级中断中也使用堆栈保存现场信息使用堆栈保存现场的好处——控制逻辑简单,先进后出原则;不需单独设置现场保护区关于多级中断的说明2.多级中断源的识别中断请求——采用独立请求方式的逻辑结构
中断源识别的过程在二维多级中断中,还要进一步用串行链式方式查询——采用二维方式设计中断排队逻辑【例2】二维中断系统如图,请问:(1)在中断情况下,CPU和设备的优先级如何考虑?请按降序排列各设备的中断优先级(2)若CPU现执行设备B的中断服务程序,IM2,IM1,IM0的状态是什么?如果CPU执行设备D的中断服务程序,IM2,IM1,IM0的状态又是什么?(3)每一级的IM能否对某个优先级的个别设备单独进行屏蔽?如果不能,采取什么办法可达到目的?(4)假如设备C一提出中断请求,CPU立即进行响应,如何调整才能满足此要求?【解】(1)在中断情况下,CPU的优先级最低;各设备的优先次序是:A→B→C→D→E→F→G→H→I→CPU(2)执行设备B的中断服务程序时IM2IM1IM0=111
执行设备D的中断服务程序时,IM2IM1IM0=011(3)每一级的IM标志不能对某个优先级的个别设备进行单独屏蔽。可将接口中的EI(中断允许)标志清“0”,禁止设备发出中断请求(4)要使设备C的中断请求及时得到响应,可将设备C从第2级取出来,单独放在第3级上,使第3级的优先级最高,即令IM3=0即可?仍然采用3级中断,只是把C提到A的前面(最靠近CPU),是否满足要求【例3】参见例2所示的系统,只考虑A,B,C三个设备组成的单级中断结构,要求CPU在执行完当前指令时对中断请求进行服务。设:(1)CPU“中断批准”机构在响应一个新的中断之前,先要让被中断程序的一条指令一定要执行完毕;(2)TDC为查询链中每个设备的延迟时间;(3)TA,TB,TC分别为设备A,B,C的服务程序所需的执行时间;(4)TS,TR为保存现场和恢复现场所需的时间;(5)主存工作周期为TM。试问:就这个中断请求环境来说,系统在什么情况下达到中断饱和?【解】参阅中断处理流程8.5,并假设执行一条指令的时间也为TM。如果三个设备同时发出中断请求,那么依次分别处理设备A、设备B、设备C的时间如下:tA=2TM+TDC+TS+TA+TR
tB=2TM+2TDC+TS+TB+TRtC=2TM+3TDC+TS+TC+TR处理三个设备所需的总时间为:T=tA+tB+tCT是达到中断饱和的最小时间,即中断极限频率为:f=1/T其中2TM是取出指令并执行指令的时间将中断接口与优先级判断等功能集于一身8.3.5中断控制器(8259)8259的中断优先级的选择方式(1)完全嵌套方式——固定优先级方式,IR0的优先级最高,IR7的最低(2)轮换优先级方式A:优先级自动轮换(3)轮换优先级方式B:指定轮换方式(4)查询方式:由CPU查询8259的中断状态寄存器8259提供的屏蔽方式(1)简单屏蔽方式:提供8位屏蔽字(2)特殊屏蔽方式——允许来自低优先级的外设中断请求去中断高优先级的服务程序1.中断类型中断通常称为外部中断,由CPU的外部硬件信号引发;分为:(1)可屏蔽中断:INTR引脚、IF标志(2)非屏蔽中断:NMI引脚;不能被禁止异常通常称为异常中断,由指令执行引发的;分为:(1)执行异常:CPU执行一条指令过程中出现错误、故障等引发(2)执行软件中断指令:执行INTn指令Pentium共有256种中断和异常;中断向量号(0-255)异常中断的优先级高于外部中断8.3.6
Pentium中断机制2.中断服务子程序进入过程中断向量号检索表——实模式为中断向量表IVT;保护模式为中断描述符表IDTCPU识别中断类型取得中断向量号的途径:(1)指令给出,如软件中断指令INTn(2)外部提供:INTR和NMI的中断向量号的获取方法(3)CPU识别错误、故障现象,自动指定向量号CPU由中断类型号获取中断服务子程序入口地址的方法(1)实模式下使用中断向量表(2)保护模式下使用中断描述符表保护模式下使用中断描述符表
保护模式为32位寻址。中断描述符表IDT每一表项对应一个中断向量号,表项称为中断门描述符、陷阱门描述符。这些门描述符为8字节长,对应256个中断向量号,IDT表长为2KB。由中断描述符表寄存器IDTR来指示IDT的内存地址以中断向量号乘以8作为访问IDT的偏移,读取相应的中断门/陷阱门描述符表项。门描述符给出中断服务子程序入口地址(段,偏移),其中32位偏移量装入EIP寄存器,16位的段值装入CS寄存器。由于此段值是选择符,还必须访问GDT或LDT,才得到段的基地址3.中断处理过程(1)当中断处理的CPU控制权转移涉及到特权级改变时,必须把当前的SS和ESP的内容压入系统堆栈予以保存(2)标志寄存器EFLAGS的内容也压入堆栈(3)清除标志触发器TF和IF(4)当前的代码段寄存器CS和指令指针EIP也压入此堆栈(5)如果中断发生伴随有错误码,则错误码也压入此堆栈(6)完成上述中断现场保护后,获取的中断服务子程序入口地址(段,偏移)分别装入CS和EIP,开始执行中断服务子程序(7)中断服务子程序最后的IRET指令使中断返回;保存在堆栈中的中断现场信息被恢复,并由中断点继续执行原程序8.4DMA(DirectMemoryAccess)方式8.4.1DMA的基本概念
1.特点:完全由硬件执行的I/O交换;DMA控制器从CPU完全接管对总线的控制;数据交换不经过CPU;DMA方式一般用于高速传送成组数据2.主要优点:速度快且有利于CPU效率的发挥3.DMA的基本操作(1)外围设备发出DMA请求
(2)CPU响应请求,改成DMA操作方式,DMA控制器接管总线(3)由DMA控制器对内存寻址、数据传送个数的计数,并执行数据传送的操作(4)向CPU报告DMA操作的结束目录注:传送前预处理和传送后处理均由管理程序承担DMA控制器与CPU分时使用内存的三种方法:1.停止CPU访问内存——DMA传送过程中,CPU基本处于不工作或者说保持状态8.4.2DMA传送方式优点:控制简单,适用于数据传输率很高的设备进行成组传送缺点:在DMA控制器访内阶段,内存的效能没有充分发挥内存工作时间CPU控制并使用内存停止CPU访问内存CPU不工作DMA工作DMA控制并使用内存DMA不工作DMA不工作t2.周期挪用——I/O设备有DMA请求时,可挪用一个或几个内存周期I/O设备要求DMA传送时可能遇到的两种情况:(1)
I/O访内与CPU访内没有冲突,即I/O设备挪用一二个内存周期对CPU执行程序没有任何影响(2)
I/O设备与CPU产生访内冲突,此时I/O设备访内优先——在CPU执行访内指令过程中插入DMA请求,挪用一二个内存周期DMA控制并使用内存内存工作时间CPU控制并使用内存CPU周期挪用方式t优点:实现了I/O传送,又较好地发挥了内存和CPU的效率缺点:I/O设备每次周期挪用都有申请、建立和归还总线控制权的过程,所以传送一个字对DMA控制器来说一般要2—5个内存周期应用:适用于I/O设备读写周期大于内存存储周期的情况3.DMA与CPU交替访内(透明的DMA方式)——适用于CPU的工作周期比内存存取周期长很多的情况内存工作时间DMA控制并使用内存CPU控制并使用内存DMA与CPU交替访内C1C1C2C2t特点:对DMA传送来讲效率很高;DMA传送对CPU来讲是透明的;对总线而言,相当于用C1,C2控制的多路转换器;但要求CPU周期比存储周期长很多,且硬件逻辑更加复杂一个CPU周期分为C1和C2两个分周期1.DMA控制器的基本组成DMA控制器:采用DMA方式的外设与系统总线之间的接口电路DMA控制器的基本逻辑结构
(1)内存地址计数器——存放内存中要交换的数据的地址(2)字计数器——记录传送数据块的长度(多少字数)(3)数据缓冲寄存器——暂存每次传送的数据(一个字)(4)“DMA请求”标志——设备准备好一个数据字后使该标志置“1”,通过“控制/状态”逻辑发出DMA请求;得到CPU的响应信号时,将其复位(5)“控制/状态”逻辑——由控制和时序电路以及状态标志等组成,用于修改内存地址计数器和字计数器,指定传送类型(输入或输出),并对“DMA请求”信号和CPU响应信号进行协调和同步(6)中断机构——字计数器溢出时(全0),向CPU提出中断报告8.4.3基本的DMA控制器DMA控制器的基本组成内存CPU中断机构控制/状态逻辑DMA请求标志内存地址计数器字计数器数据缓冲寄存器设备选择设备HOLDHLDADMA请求DMA响应10+1+1地址线数据线中断请求系统总线数据溢出信号2.DMA数据传送过程(1)传送前预处理:由CPU执行输入输出指令完成——测试设备状态;送入设备号并启动设备;装入内存首地址、数据块长度、指定数据传送方向(2)
正式传送:以停止CPU访内方式为例DMA传送数据的流程图——请求、响应和传送过程(3)传送后处理由CPU进行一些DMA的结束处理工作基本DMA控制器与系统的连接方式:(1)公用的DMA请求方式(2)独立的DMA请求方式DMA数据传送过程执行指令DMA响应发送内存地址传送一个字数据DMA结束修改地址指针传送结束否?否是DMA请求?取指令否是修改字计数器硬件实现1.选择型DMA控制器——物理上可连接多个设备,而逻辑上只允许连接一个设备内部结构:在简单DMA控制器基础上增加一个设备号寄存器工作原理——从预置直到数据块传送结束,只为所选设备服务;数据传送以数据块为单位进行适用场合:数据传输率很高以至接近内存存取速度的设备2.多路型DMA控制器——在逻辑上也允许多个外围设备同时工作,各设备以字节交叉方式通过DMA控制器进行数据传送内部结构、操作过程适用场合:适合于同时为多个慢速外围设备服务多路型DMA分为链式多路型和独立请求多路型DMA8.4.4选择型和多路型DMA控制器内存CPU字计数器内存地址数据缓冲器状态/控制设备号时序电路设备1设备2设备n选择型DMA控制器系统总线选择型DMA控制器一种多路DMA控制器芯片8个内存地址寄存器(16位)多路型DMA控制器内存CPUDMA控制器设备设备内存CPUDMA控制器设备设备链式多路型DMA独立请求多路型DMA某个外围设备请求DMA服务时的操作过程(1)DMA控制器接到设备发出的DMA请求时,转送给CPU
(2)CPU在适当时刻响应DMA请求——若CPU不需要占用总线则继续执行指令;需要占用总线,则进入等待状态(3)DMA控制器接到CPU的响应信号后,进行以下工作:①对现有DMA请求中优先权最高的请求给予DMA响应;②选择相应的地址寄存器的内容驱动地址总线;③根据所选设备操作寄存器的内容,向总线发读、写信号;④外围设备向数据总线传送数据,或从数据总线接收数据;⑤每个字节传送完毕后,DMA控制器使相应的地址寄存器和长度寄存器加“1”或减“1”
以上是一个DMA请求的过程,在一批数据传送过程中,要多次重复上述过程,直到外围设备表示一个数据块已传送完毕,或该设备的长度控制器判定传送长度已满多路型DMA控制器(1)中断方式通过程序实现数据传送;而DMA方式不使用程序,直接靠硬件来实现(2)CPU对中断的响应是在执行完一条指令之后;而对DMA的响应则可以在指令执行过程中的任何两个存储周期之间(3)中断方式不仅具有数据传送能力,而且还能处理异常事件;DMA只能进行数据传送(4)中断方式必须切换程序,要进行CPU现场的保护和恢复操作;DMA仅挪用了一个或几个存储周期,不改变CPU现场(5)DMA请求的优先权比中断请求高,CPU优先响应DMA请求,是为了避免DMA所连接的高速外设丢失数据DMA与程序中断的区别【例4】下图中假设有磁盘、磁带、打印机三个设备同时工作。磁盘以30μs的间隔向控制器发DMA请求,磁带以45μs的间隔发DMA请求,打印机以150μs间隔发DMA请求。根据传输速率,磁盘优先权最高,磁带次之,打印机最低,图中假设DMA控制器每完成一次DMA传送所需的时间是5μs。若采用多路型DMA控制器,请画出DMA控制器服务三个设备的工作时间图【解】说明:T1间隔中控制器首先为打印机服务,因为此时只有打印机有请求。T2间隔前沿磁盘、磁带同时有请求,首先为优先权高的磁盘服务,然后为磁带服务,每次服务传送一个字节。在150μs时间阶段中,为打印机服务只有一次(T1),为磁盘服务四次(T2,T4,T6,T7),为磁带服务三次(T3,T5,T8)。从图上看到,DMA尚有空闲时间,说明控制器还可容纳更多设备8.5通道方式通道——是具有特殊功能的处理器,负责对设备的统一管理;它有自己的指令和程序专门负责数据输入输出的传输控制进一步提高了CPU的效率——
CPU只负责“数据处理”功能,而将“传输控制”功能下放给通道实现了CPU内部运算与I/O设备的并行工作——通道与CPU分时使用内存一个主机可连多个通道;每个通道又可连多台I/O设备,这些设备可以是不同种类、具有不同速度增强了主机与通道操作的并行能力以及各通道之间、同一通道的各设备之间的并行操作能力;同时也为用户提供了增减外围设备的灵活性目录8.5.1通道的功能1.
通道的功能(1)通道的结构典型的具有通道的计算机系统的结构——具有两种类型总线逻辑结构上,I/O系统一般具有四级连接:CPU与存储器↔通道↔I/O模块↔外围设备;通道与I/O模块间采用统一的标准接口CPU启动通道后,通道自动去内存取通道指令并执行,直到数据交换结束向CPU发出中断请求,进行通道结束处理工作MMU——通道与CPU同时要求访存时,通道优先权高于CPU;多个通道有访存请求时,选择通道优先权高于多路通道(2)通道的基本功能——执行通道指令,组织外围设备和内存进行数据传输,按I/O指令要求启动外围设备,向CPU报告中断等典型通道结构四级管理:CPU与存储器—通道—I/O模块—外围设备通道的具体任务:(1)接受CPU的I/O指令,按要求与指定的外围设备进行通信(2)从存储器选取属于该通道程序的通道指令,经译码后向I/O控制器模块发送各种命令(3)组织外围设备和存储器之间进行数据传送,并根据需要提供数据缓存的空间,以及数据存入内存的地址和传送的数据量(4)从外围设备得到设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到存储器的指定单元,供CPU使用(5)将外设的和通道本身的中断请求,按次序及时报告CPU2.CPU对通道的管理——通过执行I/O指令以及处理来自通道的中断来实现两种来自通道的中断——数据传送结束中断;故障中断管态:CPU运行操作系统的管理程序的状态目态:CPU执行目的程序时的状态大型计算机的I/O指令都是管态指令3.通道对设备控制器的管理——通道指令、通道状态字I/O模块是通道对I/O设备实现传输控制的执行机构I/O模块的具体任务:
(1)从通道接受通道指令,控制外围设备完成所要求的操作(2)向通道反映外围设备的状态(3)将各种外围设备的不同信号转换成通道能识别的标准信号1.在用户程序中使用访管指令进入管理程序,由CPU通过管理程序组织一个通道程序,并启动通道2.通道处理机执行CPU为它组织的通道程序.完成指定的数据输入输出工作3.通道程序结束后向CPU发中断请求。CPU响应这个中断请求后,第二次进入操作系统,调用管理程序对输入输出中断请求进行处理主要过程分为三步进行:1.
选择通道(又称高速通道)——物理上可连接多个设备,但这些设备不能同时工作主要用于连接高速外围设备,以成组方式高速传输特点:数据传输率很高,可达到1.5MB/s;但这类设备的辅助操作时间很长,因此整个通道的利用率不是很高2.多路通道(又称多路转换通道)——同一时间能处理多个I/O设备的数据传输,分为数组多路通道和字节多路通道(1)数组多路通道——是对选择通道的改进
基本思想:某设备进行数据传送时,通道只为该设备服务;设备在执行寻址等控制性动作时,通道的处理方法在物理上和逻辑上可连接多个设备(高速设备)优点:既有选择通道的高速性,又充分利用了控制性操作的时间间隔为其他设备服务,充分提高了通道的效率8.5.2通道的类型——选择通道、多路通道(2)字节多路通道——主要用于连接大量的低速设备,通道在传送两个字节之间有很多空闲时间,通道利用这个空闲时间为其他设备服务字节多路通道和数组多路通道的比较相同点:都是多路通道,在一段时间内能交替执行多个设备的通道程序,使这些设备同时工作不同之处:(1)数组多路通道允许多个设备同时工作,但只允许一个设备进行传输型操作,其他设备进行控制型操作;而字节多路通道允许多个设备同时进行传输型操作(2)数组多路通道与设备之间数据传送的基本单位是数据块;而字节多路通道与各设备之间的数据传送以字节为单位交替进行在IBM系统中常常用到子通道的概念。子通道是指实现每个通道程序所对应的硬设备。选择通道在物理上可以连接多个设备,但在一段时间内只能执行一个设备的通道程序,也就是说在逻辑上只能连接一个设备,所以它只包含一个子通道。数组多路通道和字节多路通道不仅在物理上可以连接多个设备,而且在一段时间内能交替执行多个设备的通道程序,换句话说在逻辑上可以连接多个设备,所以它们包含有若干个子通道。注意,一个子通道可以连接多个设备,但子通道数并不等于物理上可连接的设备数,而是该通道中能同时工作的设备数通道结构的进一步发展,出现了两种计算机I/O系统结构:1.输入输出处理器(IOP):是通道结构的I/O处理器,可以和CPU并行工作,提供高速的DMA处理能力,实现数据的高速传送;但是它不是独立于CPU工作的,而是主机的一个部件;有些IOP还提供数据的变换、搜索以及字装配/拆卸能力;该方式可应用于服务器及微型计算机中2.外围处理机(PPU):基本上独立于主机工作,有自己的指令系统,可完成算术/逻辑运算、读/写主存储器、与外设交换信息等;有的外围处理机就选用已有的通用机;一般应用于大型高效率的计算机系统中8.5.3通道结构的发展通道方式与DMA方式的比较相同点——从CPU处接管了外设与内存交换数据过程的控制权,使外设能与主机并行工作主要的不同点(1).DMA与通道的实现方法不同DMA完全采用硬件控制数据交换,速度较快;而通道采用软硬件结合的方法,通过执行通道程序控制数据交换的过程(2).DMA与通道的功能不同通道比DMA的功能更强;CPU在DMA中的开销较大,通道控制则接管了相关工作,减轻了CPU的负担(3).DMA与通道所控制的外设类型不同DMA只能控制速度较快、类型单一的外设;而通道支持多种本章小结8.6通用I/O标准接口(不讲)8.6.1并行I/O标准接口SCSI(SmallComputerSystemInterface)
SCSI是小型计算机系统接口的简称,其设计思想来源于IBM大型机系统的I/O通道结构,目的是使CPU摆脱对各种设备的繁杂控制。它是一个高速智能接口,可以混接各种磁盘、光盘、磁带机、打印机、扫描仪、条码阅读器以及通信设备。它首先应用于Macintosh和Sun平台上,后来发展到工作站、网络服务器和pentium系统中,并成为ANSI(美国国家标准局)标准SCSI有如下性能特点:(1)SCSI接口总线由8条数据线、一条奇偶校验线、9条控制线组成。使用50芯电缆,规定了两种电气条件:单端驱动,电缆长6m;差分驱动,电缆最长25m(2)总线时钟频率为5MHz,异步方式数据传输率是2.5MB/s,同步方式数据传输率是5MB/s目录(3)SCSI接口总线以菊花链形式最多可连接8台设备。在pentium中通常是:由一个主适配器HBA与最多7台外围设备相接,HBA也算作一个SCSI设备,由HBA经系统总线(如PCI)与CPU相连,请参见CAI演示(4)每个SCSI设备有自己的唯一设备号ID0—7。ID=7的设备具有最高优先权,ID=0的设备优先权最低。SCSI采用分布式总线仲裁策略。在仲裁阶段,竞争的设备以自己的设备号驱动数据线中相应的位线(如ID=7的设备驱动DB7线),并与数据线上的值进行比较。因此仲裁逻辑比较简单,而且在SCSI的总线选择阶段,启动设备和目标设备的设备号能同时出现在数据线上(5)所谓SCSI设备是指连接在SCSI总线上的智能设备,即除主适配器HBA外,其他SCSI设备实际是外围设备的适配器或控制器。每个适配器或控制器通过各自的设备级I/O线可连接一台或几台同类型的外围设备(如一个SCSI磁盘控制器接2台硬盘驱动器)。标准允许每个SCSI设备最多有8个逻辑单元,每个逻辑单元可以是物理设备也可以是虚拟设备。每个逻辑单元有一个逻辑单元号(LUN0—LUN7)(6)由于SCSI设备是智能设备,对SCSI总线以至主机屏蔽了实际外设的固有物理属性(如磁盘柱面数、磁头数等参数),各SCSI设备之间就可用一套标准的命令进行数据传送,也为设备的升级或系统的系列化提供了灵活的处理手段(7)SCSI设备之间是一种对等关系,而不是主从关系。SCSI设备分为启动设备(发命令的设备)和目标设备(接受并响应命令的设备)。但启动设备和目标设备是依当时总线运行状态来划分的,而不是预先规定的总之,SCSI是系统级接口,是处于主适配器和智能设备控制器之间的并行I/O接口。一块主适配器可以接7台具有SCSI接口的设备,这些设备可以是类型完全不同的设备,主适配器却只占主机的一个槽口。这对于缓解计算机挂接外设的数量和类型越来越多、主机槽口日益紧张的状况很有吸引力为提高数据传输率和改善接口的兼容性,90年代又陆续推出了SCSI-2和SCSI-3标准。SCSI-2扩充了SCSI的命令集,通过提高时钟速率和数据线宽度,最高数据传输率可达40MB/s,采用68芯电缆,且对电缆采用有源终端器。SCSI-3标准允许SCSI总线上连接的设备由8提高到16,可支持16位数据传输。另一个变化是发展串行SCSI,使串行数据传输率达到640Mb/s(电缆)或1Gb/s(光纤),从而使串行SCSI成为IEEE1394标准的基础1.
1394性能特点IEEE1394串行接口与SCSI等并行接口相比,有如下三个显著特点:(1)数据传送的高速性
1394的数据传输率分为100Mb/s、200Mb/s、400Mb/s三档。而SCSI-2也只有40MB/s(相当于320Mb/s)。这样的高速特性特别适合于新型高速硬盘及多媒体数据传送。1394之所以达到高速,一是串行传送比并行传送容易提高数据传送时钟速率;二是采用了DS-Link编码技术,把时钟信号的变化转变为选通信号的变化,即使在高的时钟速率下也不易引起信号失真(2)数据传送的实时性
实时性可保证图像和声音不会出现时断时续的现象,因此对多媒体数据传送特别重要。1394之所以做到实时性,原因有二:一是它除了异步传送外,还提供了一种等步传送方式,数据以一系列的固定长度的包规整间隔地连续发送,端到端既有最大延时限制而又有最小延时限制;二是总线仲裁除优先权仲裁之外,还有均等仲栽和紧急仲栽方式8.6.2串型I/O标准接口IEEE1394
(3)体积小易安装,连接方便
1394使用6芯电缆,直径约为6mm,插座也小。而SCSI使用50芯或68芯电缆,插座体积也大。在当前个人机要连接的设备越来越多、主机箱的体积越显窄小情况下,电缆细、插座小的1394是很有吸引力的,尤其对笔记本电脑一类机器。1394的电缆不需要与电缆阻抗匹配的终端,而且电缆上的设备随时可从插座重拔出或插入,即具有热插入能力。这对用户安装和使用1394设备很有利2.1394配置结构
1394采用菊花链式配置,也允许树形结构配置。事实上,菊花链结构是树型结构的一种特殊情况
1394接口也需要一个主适配器和系统总线相连。这个主适配器的功能逻辑在高档的pentium机中集成在主板的核心芯片组的PCI总线到ISA总线的桥芯片中。机箱的背面只看到主适配器的外接端口插座我们将主适配器及其端口称为主端口。主端口是1394接口树形配置结构的根节点。一个主端口最多可连接63台设备,这些设备称为节点,它们构成亲子关系。两个相邻节点之间的电缆最长为4.5m,但两个节点之间进行通信时中间最多可经过15个节点的转接再驱动,因此通信的最大距离是72m。电缆不需要终端器IEEE1394配置的实例见CAI演示。
其中右侧是线性链接方式,左侧是亲子层次链接方式。整体是一个树形结构
1394采用集中式总线仲裁方式。中央仲裁逻辑在主端口内,并以先到先服务方法来处理节点提出的总线访问请求。在n个节点同时提出使用总线请求时,按照优先权进行仲裁。最靠根节点的竞争节点有高的优先权;同样靠近根节点的竞争节点,其设备标识号ID大的有更高优先权。1394具有PnP功能,设备标识号是系统自动指定的,而不是用户设定的为了保证总线设备的对等性和数据传送的实时性,1394的总线仲裁增加了均等仲裁和紧急仲裁功能均等仲裁是将总线时间分成均等的间隔,当间隔期间开始时,竞争的每个节点置位自己的仲裁允许标志,在间隔期内各节点可竞争总线的使用权。一旦某节点获得总线访问权,则它的仲裁允许标志被复位,在此期间它不能再去竞争总线,以此来防止具有高优先权的忙设备独占总线紧急仲裁指对某些高优先权的节点可为其指派紧急优先权具有紧急优先权的节点可在一个间隔期内多次获得总线控制权,允许它控制75%的总线可用时间3.1394协议集1394的一个重要特色是:它规范了一个三层协议集,将串行总线与各外围设备的交互动作标准化下图为IEEE1394协议集:(1)业务层定义了一个完整的请求响应协议实现总线传输,包括读操作、写操作和锁定操作(2)链路层可为应用程序直接提供等步数据传送服务。它支持异步和等步的包发送和接收异步包传送一个可变总量的数据及业务层的几个信息字节作为一个包传送到显式地址的目标方,并要求返回一个认可包等步包传送一个可变总量的数据以一串固定大小的包按照规整间隔来发送,使用简化寻址方式,不要求目标方认可子动作
1394完成一个包的递交过程(3)物理层将链路层的逻辑信号根据不同的串行总线介质转换成相应的电信号,也为串行总线的接口定义了电气和机械特性。实际上,1394串行接口的物理拓扑结构分成“底板环境”和“电气环境”两部分。总线规范并未要求特别的环境设定。所有节点可严格限定在单一底板上,也可直接连在电缆上(4)串行总线管理它提供总线节点所需的标准控制、状态寄存器服务和基本控制功能1.I/O系统设计要考虑的主要规范:时延约束和带宽约束时延约束:确保一次操作的I/O延迟时间被限制在某个时间范围内带宽约束:给定一个工作负载,设计一个满足一组带宽约束的I/O系统;或者给定一个部分配置好的I/O系统,要求设计者平衡系统,以维持该系统预配置部分规定的可能达到的最大带宽2.设计一个系统的一般方法(1)找出I/O系统中效率最低的连接,它是I/O路径中约束设计的部件(2)配置这个部件,以保持所需带宽(3)研究系统中其他部分的需求,配置它们以支持这个带宽8.6.3
I/O系统设计
【例5】考虑如下的计算机系统:(1)CPU每秒支持30亿条指令,在操作系统中每次I/O中平均运行100000条指令(2)内存底板总线传输速度可达1000MB/s(3)SCSIUltra320型控制器有320MB/s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 茶旅研学课程设计
- 茶叶带货培训课程设计
- 2024年度旅游景点开发与合作经营合同
- 2024年度版权质押合同标的描述
- 2024年度融资租赁合同(标的:飞机租赁)
- 2024版新能源汽车保温系统购销合同
- 2024年度医疗器械采购及服务合同
- 2024年度广告制作与发布合同标的及制作要求
- 2024年度甲方租赁乙方广告位用于宣传的合同
- 2024年度房屋抵押借款与工程承包合同
- 食品研发思路
- 能源审计报告样本
- JJG 882-2019压力变送器 检定规程(高清版)
- 会计学专业 天富机电科技有限公司经济业务与财务分析设计
- 沥青搅拌站建设方案(完整版)
- 电子物料代码编码规则电子物料编码制定编写规则与方法
- Opera操作流程实用教案
- 甘肃托儿所幼儿园卫生保健管理实施细则
- 关于自然数平方和公式的十种证明方法
- 注册证书协议书
- 县教育局道路交通安全情况汇报
评论
0/150
提交评论