《第10章---输入输出系统.pptx》由会员分享,可在线阅读,更多相关《第10章---输入输出系统.pptx(94页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2.接口接口接口是一种为主机和外设传送信息而设置的硬件线路。3.接口的功能接口的功能实现主机和外围设备之间的数据传输控制实现主机和外围设备之间的数据传输控制实现数据缓冲实现数据缓冲,以达到主机同外围设备之间的速度匹配。以达到主机同外围设备之间的速度匹配。接受主机的命令,提供设备接口的状态,并按照主机的命令控制设备。接受主机的命令,提供设备接口的状态,并按照主机的命令控制设备。第1页/共94页4.I0接口的主要组成接口的主要组成数据缓冲寄存器设备地址识别线路设备状态字寄存器主机命令字寄存器数据格式转换线路数据地址寄存器。控制逻辑。第2页/共94页5.接口的编址方式接口的编址方式(1)统一编址方式
2、是把I/0端口当做存储器的单元进行分配地址。优点:不需要专门的输入输出指令,并使CPU访问I0的操作更灵活、更方便,此外还可使端口有较大的编址空间。缺点:端口占用了存储器地址,使内存容量变小。再者,利用存储器编址的I/0设备进行数据输入输出操作执行速度较慢。第3页/共94页(2)单独编址方式是指I/0端口地址与存储器地址无关,是单独编址,CPU需要设置专门的输入输出指令访问端口。优点:输入输出指令与存储器指令有明显区别,程序编制清晰、利于理解。缺点:输入输出指令少,一般只能对端口进行传送操作,尤其需要CPU提供存储器读/写、I/0设备读/写两组控制信号,增加了控制的复杂性。第4页/共94页6.
3、信息交换的控制方式信息交换的控制方式(1)程序直接控制方式(2)程序中断控制方式(3)直接存储器存取控制方式(DMA)(4)通道方式(5)外围处理机方式程序查询方式和程序中断方式适用于数据传输率比较低的外围设备,而DMA方式、通道方式和PPU方式适用于数据传输率比较高的设备。目前,小型机和微型机中大都采用程序查询方式、程序中断方式和DMA方式。通道方式和PPU方式大都用在中、大型计算机中。第5页/共94页7.接口的分类接口的分类(1)串行接口接口和设备之间是一位一位地串行传送信息,而接口和主机之间则是按字或字节并行传送。接口能完成“串”转“并”或“并”转“串”的转换。(2)并行接口不管是接口与
4、设备,还是接口与主机之间都是按字或字节并行传送数据信息。第6页/共94页10.2 10.2 程序直接控制方式程序直接控制方式1.基本原理基本原理程序直接控制方式的基本原理是用程序实现主机与外设间的信息交换。2.程序查询方式的接口程序查询方式基本接口示意图如图10.1所示。传送一个数据的过程如下(见图10.1上的序号):第7页/共94页第8页/共94页CPU通过接口启动外设工作,将BS触发器置1,请求传送数据,同时将RD触发器置0;外设动作开始;外设传送数据,同时CPU从I/O接口读入状态字;假如这个设备没有准备就绪,则第步重复进行,一直到这个设备准备好交换数据,将RD触发器置1;向CPU发出准
5、备就绪信号“Ready”;CPU从IO接口的数据缓冲寄存器输入数据,或者将数据从CPU输出至接口的数据缓冲寄存器。与此同时,CPU将接口中的状态标志复位。第9页/共94页第10页/共94页显然,这种方式的优点是CPU的操作可以和IO设备操作同步,且接口硬件比较简单。但缺点是,当程序进入循环时,CPU只能踏步等待,不能处理其他任务。第11页/共94页10.3 10.3 程序中断方式程序中断方式1031 中断的定义中断的定义中断是指计算机系统运行时,出现来自处理机以外的任何现行程序不知道的事件,CPU暂停现行程序,转去处理这些事件,待处理完备,再返回原来的程序继续执行,这个过程称为中断,这种控制方
6、式称为中断控制方式。它有它有4个特点个特点:数据的输入输出要经过CPU;一般用来连接低速设备;第12页/共94页中断的作用中断的作用(1 1)CPUCPU与与I/OI/O设备并行工作设备并行工作(2 2)硬件故障处理:)硬件故障处理:计算机运行时,如硬件出现某些故障,机器中断系统发出中断请求,计算机运行时,如硬件出现某些故障,机器中断系统发出中断请求,CPUCPU响应中断响应中断后自动进行处理。后自动进行处理。第13页/共94页(3 3)实现人机联系:)实现人机联系:(4 4)实现多道程序和分时操作:)实现多道程序和分时操作:计算机实现多道程序运行是提高机器效率的有效手段。多道程序的切换运行需
7、借助于中断系计算机实现多道程序运行是提高机器效率的有效手段。多道程序的切换运行需借助于中断系统。在一道程序的运行中,由统。在一道程序的运行中,由I/OI/O中断系统切换到另外一道程序运行。也可以通过分配每道程序中断系统切换到另外一道程序运行。也可以通过分配每道程序一个固定时间片,利用时钟定时发中断进行程序切换。一个固定时间片,利用时钟定时发中断进行程序切换。(5 5)实现实时处理:)实现实时处理:实时处理是指在某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。这实时处理是指在某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。这些事件出现的时刻是随机的,而不是程序本身
8、所能预见的,因此,要求计算机中断正在执行的程些事件出现的时刻是随机的,而不是程序本身所能预见的,因此,要求计算机中断正在执行的程序,转而去执行中断服务程序。序,转而去执行中断服务程序。(6 6)实现应用程序和操作系统的联系:)实现应用程序和操作系统的联系:(7 7)多处理机系统各处理机间的联系:)多处理机系统各处理机间的联系:第14页/共94页第15页/共94页请求CPU中断的设备或事件称为中断源。根据中断源的不同类别,可以把中断分为内中断和外中断两种。(1)内中断:发生在主机内部的中断称为内中断。内中断有强迫中断和自愿中断两种。强迫中断产生的原因有硬件故障和软件出错等。.硬件故障包括由部件中
9、的集成电路芯片、元件、器件、印刷线路板、导线及焊点引起的故障,电源电压的下降也属于硬件故障。.软件出错包括指令出错、程序出错、地址出错、数据出错等。强迫中断是在CPU没有事先预料的情况下发生的,此时CPU不得不停下现行的工作。第16页/共94页自愿中断是出于计算机系统管理的需要,自愿地进入中断。计算机系统为了方便用户调试软件、检查程序、调用外部设备,设置了自中断指令、进管指令。CPU执行程序时遇到这类指令就进入中断。在中断中调出相应的管理程序,自愿中断是可以预料的。(2)外中断:由主机外部事件引起的中断称为外中断,外中断均是强迫中断.第17页/共94页1033 中断源的建立与屏蔽中断源的建立与
10、屏蔽中断触发器当中断源发生引起中断的事件时,先将它保存在设备控制器的中断触发器中,即将“中断触发器”置“1”。当中断触发器为“1”时,向CPU发出“中断请求”信号。每个中断源有一个中断触发器,全机的多个中断触发器构成中断寄存器,其内容称为中断字或中断码。CPU进行中断处理时,根据中断字确定中断源,转入相应的服务程序。第18页/共94页中断屏蔽为了便于控制中断请求信号的产生,也为了利用屏蔽码改变中断处理的优先级别,当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余部分中断仍得到响应,称为中断屏蔽。实现方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。具体说,用程序方法将该
11、触发器置“1”,则对应的设备中断被封锁,若将其置“0”,才允许该设备的中断请求得到响应,由各设备的中断屏蔽触发器组成中断屏蔽寄存器。第19页/共94页有些中断请求是不可屏蔽的。也就是说,不管中断系统是否开中断,这些中断源的中断请求一旦提出,CPU必须立即响应。例如,电源掉电就是不可屏蔽中断。所以,中断又分为可屏蔽中断和非屏蔽中断。非屏蔽中断具有最高优先权。屏蔽中断请求的方法如图10.4所示,当中断屏蔽触发器的输入D为0时,能产生中断请求信号;D为1时,屏蔽中断请求信号。第20页/共94页第21页/共94页1034 中断优先权中断优先权所谓优先权是指有多个中断同时发生时,对各个中断响应的优先次序
12、。中断的优先权由排队电路来裁决。1035 CPU响应中断的条件响应中断的条件(1)在CPU内部设置的中断允许触发器必须是开放的,STI指令开中断;CLI指令关中断。(2)外设有中断请求时,中断请求触发器必须处于“1”状态,保持中断请求信号。第22页/共94页(3)外设(接口)中断屏蔽触发器必须为“0”,这样才能把外设中断请求送至CPU。(4)CPU在现行指令结束的最后一个状态周期。(5)无DMA请求。一旦CPU响应中断的条件得到满足,CPU开始响应中断,转入中断服务程序,进行中断处理。第23页/共94页1036 程序中断的处理过程程序中断的处理过程(1)关中断进入不可再次响应中断的状态,由硬件
13、自动实现。(2)保存断点为了在中断处理结束后能正确地返回到中断点,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来。第24页/共94页(3)保存现场、交换屏蔽字进入中断服务程序后首先要保存现场,现场信息一般指的是程序状态字,中断屏蔽寄存器和CPU中某些寄存器的内容。保存旧的屏蔽字是为了中断返回前恢复屏蔽字,设置新的屏蔽字是为了实现屏蔽字改变中断优先级或控制中断的产生。(4)识别中断源,转向中断服务程序。在多个中断源同时请求中断的情况下,本次实际响应的只能是优先权最高的那个中断源。所以,需进一步判别中断源,并转入相应的中断服务程序入口。第25页/共94页(5)开中断。因为接下去
14、就要执行中断服务程序,开中断将允许更高级中断请求得到响应,实现中断嵌套。(6)执行中断服务程序。不同中断源的中断服务程序是不同的,实际有效的中断处理工作是在此程序段中实现的。(7)关中断是为了在恢复现场和屏蔽字时不被中断打断。(8)恢复现场和屏蔽字将现场和屏蔽字恢复到进入中断前的状态。第26页/共94页(9)中断返回中断返回是用一条IRET指令实现的,它完成恢复断点的功能,从而返回到原程序执行。中断的处理过程如图10.6所示。第27页/共94页图图10.3 10.3 中断处理过程中断处理过程第28页/共94页进入中断时执行的关中断、保存断点操作是由硬件实现的,它类似于一条指令,但它与一般的指令
15、不同,不能被编写在程序中。因此,常常称为“中断隐指令”。1037 中断识别的方法中断识别的方法如何确定中断源,并转入被响应的中断服务程序入口,大致有三种不同的方法。第29页/共94页1 程序查询法程序查询法如图所示,每一个中断源都附带一个标志,该标志置位代表相应中断源请求中断,因此,判别中断条件只需用测试指令按一定优先次序检查这些标志,先遇到的第一个“1”标志即优先得到服务,在此之前,遇到“0”标志均跳过而继续检查下一个。中断查询法程序流程图如图所示。在这种查询方式下,当有中断请求时,CPU就转向固定的中断查询程序入口,执行流程图的程序,程序查询的顺序决定了设备中断优先权。当确定了请求中断的最
16、高优先设备后,立即转去执行该设备的中断服务程序。这种软件查询方法适用于低速和中速设备。它的优点是中断条件标志的优先级可用程序任意改变,灵活性好。缺点是设备多时速度太慢。第30页/共94页2 串行排队链法串行排队链法(硬件查询法硬件查询法)硬件查询法的逻辑线路如图所示。每个中断请求信号保存在“中断请求”触发器中,经“中断屏蔽”触发器控制后,产生来自中断请求触发器的请求信号INTR。中断屏蔽寄存器的作用是改变中断处理的优先级别,在此假设中断屏蔽寄存器是全“0”,即将所有中断全设为允许。第31页/共94页第32页/共94页第33页/共94页编码电路根据排队的中断源输出信号IRi产生一个预定的地址码,
17、在微机中称中断类型号,采用中断向量法转向中断服务程序入口地址。用中断向量来识别中断源,从而产生中断服务程序入口的地址的中断称为向量中断。中断向量是中断源的中断服务程序入口地址的地址。在微机中一般是设一个中断向量表,中断向量表是中断类型码与对应的中断服务程序之间的连接表。第34页/共94页中断向量表占用主存中从00000H003FFH共1K个字节的存储空间,表中内容分为256项,对应于中断类型号0255。每一项占四个字节,用来存放中断处理子程序的入口地址信息,高地址的两字节用来存放中断处理子程序所在段的段首址,低地址的两字节用来存放中断处理子程序入口处在段的偏移地址。其结构如图10.10所示。从
18、中断矢量表的结构可知,n号中断处理程序的入口地址存放在表中4n4n+3共四个字节。当CPU响应n号中断源的中断请求取出n号中断处理程序的入口地址送入IP和CS之中。这种方法的优点是速度快,但是以增加线数为代价的。第35页/共94页第36页/共94页1038 单级中断处理和多重中断处理单级中断处理和多重中断处理1 单级中断处理单级中断处理单级中断处理是一种简单的处理方式。当不同优先等级的设备同时请求中断时,CPU按照优先级一个一个处理。当CPU正在处理某个中断时,不允许其它设备再中断CPU的程序,即使优先级高的设备也不能打断,只能等到中断处理完毕后,CPU才响应其它中断。例如,优先等级是:ABC
19、CPU,B设备请求中断时,A、C设备还没有请求。在CPU处理B设备中断时,A、C同时提出了请求,此时CPU运行轨迹如图10.11所示。第37页/共94页第38页/共94页2多重中断处理多重中断处理 多重中断是指在处理某一个中断过程又发生了新的中断请求,从而中断该服务程序的执行,又转去进行新的中断处理。这种重叠处理中断的现象又称为中断嵌套。一般情况下,在处理某级中的某个中断时,与它同级的或比它低级的新中断请求应不能中断它的处理,而在处理完该中断返回主程序后,再去响应和处理这些新中断。而比它优先级高的新中断请求却能中断它的处理。第39页/共94页第40页/共94页图10.12所示为一个4级中断嵌套
20、的例子。4级中断请求的优先级别由高到低为ABCD的顺序。在CPU执行主程序过程中同时出现了两个中断请求B和C,因B中断优先级高于C中断,应首先去执行B中断服务程序。若此时又出现了D中断请求,则CPU将不予理睬。B中断服务程序执行完返回主程序后,再转去执行C的中断服务程序,然后执行D中断服务程序。若在CPU再次执行B中断服务程序过程中,出现了A中断请求,因其优先级高于B,则CPU暂停对B中断服务程序的执行,转去执行A中断服务程序。等A中断服务程序执行完后,再去执行 B中 断 服 务 程 序。在 本 例 中,中 断 请 求 次 序 为 B,CDBA;而中断完成次序为BCDAB,两者不相同。第41页
21、/共94页第42页/共94页3用屏蔽改变多重中断处理次序中断级的响应次序是由硬件(排队判优线路)来决定的。但是,在有优先级中断屏蔽控制条件下,系统软件根据需要可以改变屏蔽位的状态,从而改变多重中断处理次序。利用屏蔽技术可以改变各设备的优先等级,使计算机适应各种场合的需要。严格地说,优先级包含两层意思,第一层是响应优先级,第二层是处理优先级。响应优先级是指CPU对各设备中断请求进行响应,并准备好处理的先后次序,这种次序往往在硬件线路上已固定,不便于变动。第43页/共94页处理优先级是指CPU实际上对各中断请求处理的先后次序。如果不使用屏蔽技术,响应的优先次序就是处理的优先次序。现代计算机一般都使
22、用了屏蔽技术,即通过控制各设备接口的屏蔽触发器状态,达到改变处理次序的目的。CPU送往各设备接口屏蔽触发器状态信息的集合,称为屏蔽码第44页/共94页例 10.1 设 某 机 有 四 级 中 断 A、B、C、D,其 硬 件 排 队 优 先 次 序 为ABCD,现要求将中断处理次序改为DBAC:(1)表10.1(a)中各级中断程序的屏蔽位应如何设置(设“0”为允许,“1”为屏蔽,CPU状态时屏蔽码为0000)?第45页/共94页第46页/共94页(2)请按下图所示时间轴给出的设备中断请求时刻,画出CPU执行程序的轨迹,A、B、C、D中断服务程序的时间宽度均为20us。第47页/共94页【例题答案
23、例题答案】(1)中断程序的屏蔽位应如何设置见表10.1(b)。第48页/共94页第49页/共94页1039 中断服务程序中断服务程序中断服务程序由3部分组成;即前处理部分、主体部分和后处理部分,如图10.15所示。(1)前处理部分封锁优先级与本设备相同或比本设备低的中断请求。因为这些中断请求虽然没有得到响应,但请求信号依然存在,这样CPU每执行一条指令,就要判断一下是否响应,而因优先级不比本设备高,判断结果为不能响应,然后再转回执行服务程序。只要这些中断请求信号存在,就总是干扰着服务程序的执行。封锁操作是通过对接口屏蔽触发器的重新设置来实现的,称这一操作为设置新屏蔽码。第50页/共94页保护现
24、场交换屏蔽字开中断中断服务关中断恢复现场恢复屏蔽字开中断中断返回前处理部分主体部分后处理部分图 10.15 中断服务程序流程图第51页/共94页保护中断时的CPU现场。除了PC和PSW外,如果服务程序中还要使用其它寄存器,那么必须将它们原来的内容也压入堆栈。一般来说,动用哪个寄存器,就保存哪个寄存器的内容,以尽量减少时间开销。开放中断。在中断响应时,CPU内的中断允许触发器是自动关闭的,其目的是在替换新老屏蔽字和保护现场操作时禁止一切中断,以免引起CPU现场混乱。何时允许中断,要根据前处理指令条数而定。前处理的最后一条指令是开中断指令,它将中断允许触发器置1。第52页/共94页(2)主体部分中
25、断服务程序的主体部分是根据中断源的要求编写的。有的是进行数据传送,有的是检查设备,有的是数据传送完毕后的结束处理,根据不同情况,主体部分可以是一条指令,也可以是一段程序。第53页/共94页(3)后处理部分关闭中断允许触发器(置0)。这时的关闭操作用指令实现。恢复现场。把前处理中压入堆栈的数据送回原来的寄存器中。恢复中断前的屏蔽码。开放中断,将CPU中的中断允许触发器置1,允许设备请求中断。这里应指出,开放中断指令中的开中断操作在硬件上延时到下一条指令执行时才完成,这样可避免断点地址的混乱。第54页/共94页(4)中断返回中断服务程序的最后一条指令是中断返回指令。该指令将压入堆栈中的原PC和PS
26、W送回相应的寄存器。原程序从断点开始又继续执行下去。中断时,哪一个程序被中止,则中断返回指令执行后,哪个程序就被恢复运行。上面所述的操作过程是一个典型的过程,但并不是一种固定不变的程式,各种机器的设计方案和硬件结构各不相同,中断处理的具体操作也就各不相同。第55页/共94页10310 中断方式的接口中断方式的接口中断控制接口见中断控制接口见P335图图10.6逻辑。逻辑。它包括4个D型触发器,其中两个工作状态寄存器:完成触发器(DONE)和忙触发器(BUSY);还有一个中断请求触发器(1NTR)和一个中断屏蔽触发器(MASK)。第56页/共94页第57页/共94页当该设备被选中,即选中信号(S
27、EL)为高电平时,置“1”触发器(BUSY),启动设备,同时使完成触发器(DONE)置“0”。数据由外设传送到接口的缓冲寄存器或外设将接口缓冲寄存器中的数据取走;当设备动作结束或缓冲寄存器数据填满时,设备向接口送出一控制信号,将数据“准备就绪”标志DONE置“1”;如果此时屏蔽触发器为“0”态,则在CPU送来的指令结束信号RQENB的作用下,使中断请求触发器置“1”,向CPU发出中断请求信号INTR。但若中断屏蔽触发器处于“1”态,则即使DONE触发器为“1”,仍不能产生中断请求信号,直到中断屏蔽触发器为“0”态为止。中断屏蔽触发器是由IO指令利用MASK的上升边来置位或复位的。程序中断的工作
28、过程:程序中断的工作过程:第58页/共94页若CPU是开中断状态则向外设发出响应中断信号INTA,并关闭中断;在中断向量逻辑中通过排队判优,将选中的设备地址或中断向量送CPU,CPU通过设备地址或中断向量形成中断程序入口地址,从而转向该设备的中断服务程序;在中断服务程序通过输入/输出指令进行数据传送。中断服务程序结束后CPU送来的复位(IO总清)信号IORST,将接口中的BUSY和DONE和INTR标志复位。程序中断的工作过程:程序中断的工作过程:第59页/共94页10311 程序中断程序中断I/0方式和程序方式和程序I/0方式的比较方式的比较(1)在程序I/O中,何时对何设备进行输入或输出操
29、作完全受CPU控制;在中断I/0中,何时对设备操作由外围设备主动通知CPU。(2)程序I/0方式中,CPU与外围设备不能并行工作;中断方式由于不需要CPU与外围设备的同步工作,所以它们可以并行操作。(3)程序I/0方式中无法处理异常事件,如掉电、非法指令、地址越界等;中断I/0方式可以处理随机时间,所以可处理这些异常。(4)程序查询方式,优点是硬件结构比较简单,缺点是CPU效率低且程序查询方式只能进行数据传送。中断方式硬件结构相对复杂一些。第60页/共94页 10.4 DMA10.4 DMA方式方式1.基本概念基本概念DMA方式即直接存储器存取方式,它是完全由硬件执行I/0交换的工作方式。在这
30、种方式下,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存与设备之间进行。因此数据交换的速度高,适用于高速成组传送数据,目前,磁盘与主存之间的数据传送,都采用DMA方式。第61页/共94页DMA的优点和缺点:DMA方式的优点是速度快。由于CPU根本不参加传送操作,因此省略了CPU取指令、取数和送数等操作。在数据传送过程中也不需要像中断方式一样,执行现场保存、现场恢复等工作。内存地址的修改、传送字个数的计数也直接由硬件完成,而不是用软件实现。它的主要缺点是硬件线路比较复杂。第62页/共94页2.三种三种DMA传送方式传送方式DMA技术的出现,使得外围设备可以通过DMA
31、控制器直接访问内存,与此同时,CPU可以继续执行程序。那么DMA控制器与CPU怎样分时使用内存呢?通常采用以下三种方法。(1)停止CPU访问内存当外围设备要求传送一批数据时,由DMA控制器发一个停止信号给CPU,要求CPU放弃对地址总线、数据总线和有关控制总线的使用权。DMA控制器获得总线控制权以后,开始进行数据传送。在一批数据传送完毕后,DMA控制器通知CPU可以使用内存,并把总线控制权交还给CPU,在这种DMA传送过程中,CPU基本处于不工作状态或者说保持状态。第63页/共94页这种传送方法的优点是控制简单,它适用于数据传输率很高的设备进行成组传送。缺点是在DMA控制器访内存阶段,内存的效
32、能没有充分发挥,相当一部分内存工作周期是空闲的,这是因为,在外设传送一批数据时,CPU不能访问主存。因主存的存取速度高于外设的工作速度,所以DMA工作期间,主存的效能没有充分发挥。如软盘读一字节约要32s,而RAM的存取周期只有1s,那么就有(32-1)s31s主存是空闲的,浪费较大。第64页/共94页(2)周期挪用在这种DMA传送方法中,当IO设备没有DMA请求时,CPU按程序要求访问内存,一旦IO设备有DMA请求,则由IO设备挪用一个或几个内存周期。与停止CPU访内的DMA方法比较,周期挪用的方法既实现了IO传送,又较好地发挥了内存和CPU的效率,是一种广泛采用的方法。第65页/共94页(
33、3)DMA与CPU交替访内这种方式是将CPU工作周期一分为二,一半由DMA使用,一半为CPU使用。时间上不会发生冲突,可以使DMA传送和CPU同时发挥最高的效率。这种方式不需要总线使用权的申请、建立和归还过程,总线使用权分时控制的。CPU和DMA控制器各自有自己的访内地址寄存器、数据寄存器和读写信号等控制寄存器。这种总线控制权的转移几乎不需要什么时间,所以对DMA传送来讲效率是很高的。但CPU的系统周期比存储周期长得多,且相应的硬件逻辑也就更加复杂。第66页/共94页3.基本的基本的DMA控制器控制器图为一最简单的DMA控制器组成示意图,它由以下逻辑部件组成:第67页/共94页主存地址寄存器:
34、用于存放在内存中要交换数据的地址。外围设备地址寄存器:存放I/O设备的设备码,或者表示设备信息存储区的寻址信息。字数计数器:用于记录传送数据块的长度。数据缓冲寄存器:用于暂存每次的数据(一个字)。控制与状态寄存器:用来存放控制字和状态字。第68页/共94页控制逻辑:由控制和时序电路,以及状态标志组成,用来修改内存地址计数器和字计数器,指定传送类型(输入或输出),并对DMA请求信号和CPU响应信号进行协调和同步。中断机构:当一组数据交换完毕时,由溢出信号触发中断机构,向CPU提出中断报告。第69页/共94页第70页/共94页外设准备好发送数据(输入)或接收数据(输出)时,向主机发DMA请求。CP
35、U在本机器周期执行完毕后响应该请求并使CPU的总线驱动器处于高阻状态,让出主存使用权;DMA发送主存地址、读写命令;挪用一个存储周期,传送一个数据,主存地址加1,字计数器减1。判断数据是否传送完毕,即:字计数器是否为0若字计数器不为0,撤销DMA请求,返回若字计数器为0,则传送完毕,进入结束阶段。DMA数据传送的流程图如图10.18所示。传送阶段 第71页/共94页第72页/共94页结束阶段:DMA向主机发出中断请求,报告结束。一旦DMA的中断请求得到响应,CPU将停止主程序的执行,转去执行中断服务程序进行DMA操作的后处理。包括校验送入内存的数据是否正确;决定使用DMA方式传送数据还是结束传
36、送;测试传送过程中是否发生错误。第73页/共94页10.5 10.5 通道方式通道方式IO 通道是计算机系统中代替 CPU管理控制外设的独立部件,是一种能执行有限 IO 指令集合通道命令的 IO 处理机。1.通道的基本功能通道的基本功能(1)根据 CPU 要求选择某一指定外设与系统相连,向该外设发出操作命令,并进行初始化。(2)指出外设读写信息的位置以及与外设交换信息的主存缓冲区地址。(3)控制外设与主存之间的数据交换,并完成数据字的分拆与装配。(4)指定数据传送结束时的操作内容,并检查外设的状态(良好或有故障)。第74页/共94页第75页/共94页2.通道的类型通道的类型(1)字节多路通道字
37、节多路通道主要用于连接大量的低速设备,这些设备的数据传输率很低,而通道从设备接收或发送一个字节只需要几百纳秒,因此通道在传送两个字节之间有很多空闲时间,字节多路通道正是利用这个空闲时间为其他设备服务。第76页/共94页(2)选择通道选择通道又称高速通道,在物理上它可以连接多个设备,但是这些设备不能同时工作,在某一段时间内通道只能选择一个设备进行工作,当这个设备的通道程序全部执行完毕后,才能执行其他设备的通道程序。选择通道主要用于连接高速外围设备,如磁盘、磁带等,信息以成组方式高速传输。由于数据传输率很高,通道在传送两个字节之间已很少空闲,所以在数据传送期间只为一台设备服务。第77页/共94页(
38、3)数组多路通道数组多路通道是对选择通道的一种改进,它的基本思想是当某设备进行数据传送时,通道只为该设备服务;当设备在执行寻址等辅助性动作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去为其他设备服务,即执行其他设备的通道程序。由于数组多路通道既保留了选择通道高速传送数据的优点,又充分利用了辅助性操作的时间间隔为其他设备服务,使通道效率充分得到发挥,因此数组多路通道在实际系统中得到较多应用。第78页/共94页10.4.2 10.4.2 通道型通道型I/OI/O处理机处理机(IOP)(IOP)和外围处和外围处理机理机IOP IOP 不是一台独立的计算机,而是计算机系统中的一个部件。不是
39、一台独立的计算机,而是计算机系统中的一个部件。IOP IOP 可以和可以和CPUCPU并并行工作,提供高速的行工作,提供高速的 DMA DMA 处理能力,实现数据的高速传送。此外,有些处理能力,实现数据的高速传送。此外,有些 IOP IOP 还提供数据的变换、搜索和字装配分拆能力。还提供数据的变换、搜索和字装配分拆能力。例如,在例如,在8 8位和位和1616位微机中使用的位微机中使用的 Intel 8089 IIntel 8089 IO O 处理器就是这种通道型处理器就是这种通道型 I IO O 处理器。处理器。8089IOP 8089IOP 用以承担中央处理器中的用以承担中央处理器中的 I
40、IO O 处理、控制和实现高速处理、控制和实现高速数据传送任务。它的主要功能是预置和管理外围设备以及支持通常的数据传送任务。它的主要功能是预置和管理外围设备以及支持通常的 DMA DMA 操作。操作。8089IOP 8089IOP 的基本结构如图的基本结构如图10.1210.12所示所示。第79页/共94页8089IOP 8089IOP 的基本结构的基本结构第80页/共94页外围处理机结构更接近于一般处理机,或者就是选用已有的通用外围处理机结构更接近于一般处理机,或者就是选用已有的通用机。外围机基本上是独立于主处理机工作的,应用于大型高效率机。外围机基本上是独立于主处理机工作的,应用于大型高效
41、率的计算机系统中。的计算机系统中。第81页/共94页10.6 10.6 几种几种I/0I/0方式的比较方式的比较在计算机系统中,CPU管理外围设备的方式有程序查询方式、程序中断方式、DMA方式、通道方式和外围处理机方式。其中前3种技术在现在的微型计算机系统中是非常常见的,后两种主要用于比较复杂的高档计算系统中,外围处理机方式可以看成是通道处理机的进一步扩展。如图10.20所示是一个分类示意图。第82页/共94页第83页/共94页10.5 10.5 总线结构总线结构计算机系统大多采用模块结构,一个模块就是具有专门功能的插件板,或叫做部件、插件、插卡。随着集成计算机系统大多采用模块结构,一个模块就
42、是具有专门功能的插件板,或叫做部件、插件、插卡。随着集成电路集成度的提高,一块板上可安装多个模块。各模块之间传送信息的通路称为总线。为便于不同厂家生电路集成度的提高,一块板上可安装多个模块。各模块之间传送信息的通路称为总线。为便于不同厂家生产的模块能灵活构成系统,形成了总线标准。产的模块能灵活构成系统,形成了总线标准。一般情况下有两类标准,即正式公布的标准和实际存在的工业标准。正式公布的标准由一般情况下有两类标准,即正式公布的标准和实际存在的工业标准。正式公布的标准由 IEEE(IEEE(电气电子工电气电子工程师学会程师学会)或或 CCITT(CCITT(国际电报电话咨询委员会国际电报电话咨询
43、委员会)等国际组织正式确定和承认,并有严格的定义。等国际组织正式确定和承认,并有严格的定义。在标准中对插件引线的几何尺寸、引线数、各引线的定义、时序及电气参数等都作出明确规定,这对子系统在标准中对插件引线的几何尺寸、引线数、各引线的定义、时序及电气参数等都作出明确规定,这对子系统的设计和功能的扩充都带来了方便。的设计和功能的扩充都带来了方便。第84页/共94页总线有两类:总线有两类:一类是连接计算机内部各模块的总线,如连接一类是连接计算机内部各模块的总线,如连接 CPUCPU、存、存储器和储器和 I IO O 接口的总线。常用的有接口的总线。常用的有 ISA ISA 总线、总线、EISAEIS
44、A总线、总线、VMEVME总线、总线、STDSTD总线和总线和 PCI PCI 总线等。总线等。另一类为系统之间或系统与外部设备之间连接的总线,另一类为系统之间或系统与外部设备之间连接的总线,常用的有常用的有 EIA-RS232C EIA-RS232C 串行总线和串行总线和 IEEE-488 IEEE-488 并行总并行总线等。线等。第85页/共94页10.5.1 10.5.1 总线类型总线类型1.1.单总线单总线所有模块都连接到单一总线上,如图所有模块都连接到单一总线上,如图10.14(a)10.14(a)所示。总线类型有地址线、数据线、控制线和电源地线。所示。总线类型有地址线、数据线、控制
45、线和电源地线。2.2.多总线多总线将速度较低的将速度较低的 I IO O 设备从总线上分出去,而形成系统总线与设备从总线上分出去,而形成系统总线与 I IO O 总线分开的双总线结构如图总线分开的双总线结构如图10.14(b)10.14(b)所示。所示。根据同一思想,可以组成三总线结构,如图根据同一思想,可以组成三总线结构,如图10.14(c)10.14(c)所示。所示。第86页/共94页第87页/共94页第88页/共94页10.5.2 10.5.2 总线组成总线组成总线是从两个或两个以上源部件传送信息到一个或多个部件的一组传输线,如一总线是从两个或两个以上源部件传送信息到一个或多个部件的一组
46、传输线,如一根传输线仅用于连接一个源部件根传输线仅用于连接一个源部件(输出输出)和一个或多个目的部件和一个或多个目的部件(输入输入),则不称为,则不称为总线。总线。由于多个模块由于多个模块(或部件或部件)连接到一条共用总线上,必须对每个发送的信息规定其信连接到一条共用总线上,必须对每个发送的信息规定其信息类型和接收信息的部件,协调信息的传送;必须经过选择判优,避免多个部件息类型和接收信息的部件,协调信息的传送;必须经过选择判优,避免多个部件同时发送信息的矛盾。还需要对信息的传送定时,防止信息的丢失。这就需要设同时发送信息的矛盾。还需要对信息的传送定时,防止信息的丢失。这就需要设置总线控制线路。
47、总线控制线路包括总线判优或仲裁逻辑、驱动器和中断逻辑等。置总线控制线路。总线控制线路包括总线判优或仲裁逻辑、驱动器和中断逻辑等。第89页/共94页1.1.总线判优控制总线判优控制由于存在多个设备或部件同时申请对总线的使用权,为保证在同一时间内只能有一个申请者使用总线,需要由于存在多个设备或部件同时申请对总线的使用权,为保证在同一时间内只能有一个申请者使用总线,需要设置设置总线判优控制机构总线判优控制机构。总线判优机构总线判优机构按照申请者的优先权选择可以控制总线的设备或部件。按照申请者的优先权选择可以控制总线的设备或部件。可以控制总线并启动数据传送的任何设备称做可以控制总线并启动数据传送的任何
48、设备称做主控器或主设备主控器或主设备;能够响应总线主控器发出的总线命令的任何;能够响应总线主控器发出的总线命令的任何设备称做设备称做受控器或从设备受控器或从设备。通常。通常 CPU CPU 为主设备,存储器为从设备,为主设备,存储器为从设备,I IO O 设备可以为主设备或从设备。设备可以为主设备或从设备。第90页/共94页总线判优控制按其仲裁控制机构的设置可分为集中式控制和分布式控制两种。总总线判优控制按其仲裁控制机构的设置可分为集中式控制和分布式控制两种。总线控制逻辑基本上集中于一个设备线控制逻辑基本上集中于一个设备 (如如 CPU)CPU)时,称为集中式控制;而总线控制时,称为集中式控制
49、;而总线控制逻辑分散在连接总线的各个部件或设备中时,称为分布式总线控制。逻辑分散在连接总线的各个部件或设备中时,称为分布式总线控制。常用的优先权仲裁方式为串行链接方式。常用的优先权仲裁方式为串行链接方式。第91页/共94页串行链接判优线路串行链接判优线路第92页/共94页2.2.总线通信总线通信信息在总线上的传送方式可分为同步和异步两种方式:信息在总线上的传送方式可分为同步和异步两种方式:(1)(1)同步通信同步通信。在同步方式下,通信双方由统一的时钟控制数据的传送,时钟通常是由。在同步方式下,通信双方由统一的时钟控制数据的传送,时钟通常是由 CPU CPU 发出的,并送发出的,并送到总线上的所有部件。经过一段固定时间,本次总线传送周期结束,开始下一个新的总线传送周期。到总线上的所有部件。经过一段固定时间,本次总线传送周期结束,开始下一个新的总线传送周期。(2)(2)异步通信异步通信。利用数据发送部件和接收部件之间的相互。利用数据发送部件和接收部件之间的相互“握手握手”信号来实现总线数据传送的方式称作异信号来实现总线数据传送的方式称作异步通信方式。步通信方式。第93页/共94页感谢您的观看!第94页/共94页