第十章输入输出系统.ppt_第1页
第十章输入输出系统.ppt_第2页
第十章输入输出系统.ppt_第3页
第十章输入输出系统.ppt_第4页
第十章输入输出系统.ppt_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机学院(许先斌) ,计算机组成与结构 本科生课程教学,计算机组成与结构,本课程主要讲授计算机系统的硬件和软件构成方法,包括硬件系统中运算器、控制器、存储器、输入设备和输出设备和总线系统的构成原理等;并与当代先进的计算机技术相结合。是计算机科学与技术本科专业核心课程。 本课程着重计算机系统组成与结构方面的教学和研究。 计算机结构定义为系统程序员所能见到的计算机硬件特性; 计算机组成是指计算机硬件的具体实现。,第十章 输入输出系统,输入输出系统概述 程序中断输入输出方式 DMA输入输出方式 总线结构 外设接口,10.1 输入输出系统概述,一、I/O设备编址与控制 为了CPU便于对IO设备进行寻

2、址和选择,必须给众多的IO设备进行编址,也就是给每一台设备规定一些地址码,称为设备号或设备代码。 CPU对IO设备下达命令有以下两种寻址方法: (1)专设IO指令,例如,指令IN完成输入,指令OUT完成输出操作。(例如, IBMPC等系列机设置有专门的IO指令,设备的编址可达512个。) (2)利用访存(取数存数)指令完成IO功能。,10.1 输入输出系统概述,使用访存(取数存数)指令时,从主存的地址空间中分出一部分地址码作为IO的设备代码,当访问到这些地址时,表示被访的不是主存储器,而是IO设备寄存器(例如,设备数据缓冲寄存器或设备状态寄存器等)。设备的地址码如表10.1所示。,10.1 输

3、入输出系统概述,设备控制器(IO接口)的基本功能是: 识别设备 输入输出 数据缓冲 数据转换 传送主机命令,反映设备的工作状态。 接口除上述功能外,还应有检错纠错功能、中断功能、时序控制功能等。,10.1 输入输出系统概述,接口的分类 (1)串行接口 接口和设备之间是一位一位地串行传送信息,而接口和主机之间则是按字或字节并行传送。接口能完成“串”转“并”或“并”转“串”的转换。 (2) 并行接口 不管是接口与设备,还是接口与主机之间都是按字或字节并行传送数据信息。,10.1 输入输出系统概述,二、I/O设备数据传输控制方式 (1)程序直接控制方式 (2)程序中断控制方式 (3)直接存储器存取控

4、制方式(DMA) (4)通道方式 (5)外围处理机方式(PPU) 程序查询方式和程序中断方式适用于数据传输率比较低的外围设备,而DMA方式、通道方式和PPU方式适用于数据传输率比较高的设备。目前,小型机和微型机中大都采用程序查询方式、程序中断方式和DMA方式。,10.1 输入输出系统概述,通道方式和PPU方式大都用在中、大型计算机中。 通道是一种通用性和综合性都较强的输入输出方式,它代表了现代计算机组织向功能分布方向发展的初始发展阶段,形成了如图101的结构。,10.1 输入输出系统概述,10.1 输入输出系统概述,输入输出处理机通常称作外围处理机(peripheral processor u

5、nit,简称PPU)。这种外围处理机的结构更接近一般处理机,甚至就是一般小型通用计算机或微机。它可完成IO通道所要完成的IO控制,还可完成码制变换、格式处理、数据块的检错、纠错等操作。它可具有相应的运算处理部件、缓冲部件,还可形成IO程序所必需的程序转移手段。有了外围处理机,不但可简化设备控制器,而且可用它作为维护、诊断、通信控制、系统工作情况显示和人机联系的工具。,10.2 程序中断输入输出方式,一、中断的作用、产生和响应 1、中断的作用 “中断”是由IO设备或其他非预期的急需处理的事件引起的,它使CPU暂时中断现在正在执行的程序,而转至另一服务程序去处理这些事件。处理完后再返回原程序。 中

6、断有下列一些作用: (1)CPU与IO设备并行工作 图102表示出CPU和IO设备(针式打印机)并行工作的时间安排。,10.2 程序中断输入输出方式,10.2 程序中断输入输出方式,(2)硬件故障处理 计算机运行时,如硬件出现某些故障,机器中断系统发出中断请求,CPU响应中断后自动进行处理。 (3)实现人机联系 在计算机工作过程中,如果用户要干预机器,如抽查计算中间结果,了解机器的工作状态,给机器下达临时性的命令等。在没有中断系统的机器里这些功能几乎是无法实现的。利用中断系统实现人机通信是很方便、很有效的。,10.2 程序中断输入输出方式,(4)实现多道程序和分时操作 计算机实现多道程序运行是

7、提高机器效率的有效手段。多道程序的切换运行需借助于中断系统。在一道程序的运行中,由IO中断系统切换到另外一道程序运行。也可以通过分配每道程序一个固定时间片,利用时钟定时发中断进行程序切换。,10.2 程序中断输入输出方式,(5)实现实时处理 所谓实时处理,是指在某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。例如,在某个计算机过程控制系统中,当出现压力过大、温度过高等情况时,必须及时输入到计算机进行处理。这些事件出现的时刻是随机的,而不是程序本身所能预见的,因此,要求计算机中断正在执行的程序,转而去执行中断服务程序。在实际工程中,利用中断技术进行实时控制已广泛应用于各个生产领域

8、中。,10.2 程序中断输入输出方式,(6)实现应用程序和操作系统(管态程序)的联系 可以在用户程序中安排一条“Trap”指令进入操作系统,称之为“软中断”。其中断处理过程与其他中断类似。 (7)多处理机系统各处理机间的联系 在多处理机系统中,处理机和处理机之间的信息交流和任务切换可以通过中断来实现。,10.2 程序中断输入输出方式,2、有关中断的产生和响应的概念: (1)中断源 引起中断的事件,即发出中断请求的来源,称为中断源。 中断源的种类 IO设备、定时钟等来自处理机外部设备的中断,又叫外中断。 处理器硬件故障或程序“出错”引起的中断,又叫内中断。例如,电源故障中断、算术操作溢出、除数为

9、零,校验错、指令非法,用户程序执行特权指令以及虚拟存储器页面失效等。 由“Trap”指令产生的软中断,这是在程序中预先安排好的。而前面两种中断则是随机发生的。,10.2 程序中断输入输出方式,10.2 程序中断输入输出方式,中断触发器 当中断源发生引起中断的事件时,先将它保存在设备控制器的“中断触发器”中,即将“中断触发器”置“1”。当中断触发器为“1”时,向CPU发出“中断请求”信号。每个中断源有一个中断触发器。全机的多个中断触发器构成中断寄存器。其内容称为中断字或中断码。CPU进行中断处理时,根据中断字确定中断源,转入相应的服务程序。,10.2 程序中断输入输出方式,(2)中断的分级与中断

10、优先权 在设计中断系统时,要把全部中断源按中断性质和处理的轻重缓急进行排队并给予优先权。所谓优先权是指有多个中断同时发生时,对各个中断响应的优先次序。 当中断源数量很多时,中断字就会很长;同时也由于软件处理的方便,一般把所有中断按不同的类别分为若干级,称为中断级,在同一级中还可以有多个中断源。首先按中断级确定优先次序,然后在同一级内再确定各个中断源的优先权。,10.2 程序中断输入输出方式,(3)禁止中断和中断屏蔽 禁止中断 产生中断源后,由于某种条件的存在,CPU不能中止现行程序的执行,称为禁止中断。一般在CPU内部设有一个“中断允许”触发器。只有该触发器为“1”状态时,才允许处理机响应中断

11、;如果该触发器被清除,则不响应所有中断源申请的中断。前者叫做允许中断,后者叫做禁止中断。 “中断允许”触发器通过“开中断”或“关中断”指令来置位、复位。进入中断服务程序后自动“关中断”。,10.2 程序中断输入输出方式,中断屏蔽 当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余部分中断仍得到响应,称为中断屏蔽。 实现方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。具体说,用程序方法将该触发器置“1”,则对应的设备中断被封锁,若将其置“0”,才允许该设备的中断请求得到响应。由各设备的中断屏蔽触发器组成中断屏蔽寄存器。,10.2 程序中断输入输出方式,10.2 程序中断

12、输入输出方式,有些中断请求是不可屏蔽的,也就是说,不管中断系统是否开中断,这些中断源的中断请求一旦提出,CPU必须立即响应。例如,电源掉电就是不可屏蔽中断。所以,中断又分为可屏蔽中断和非屏蔽中断。非屏蔽中断具有最高优先权。 一旦CPU响应中断的条件得到满足,CPU开始响应中断,转入中断服务程序,进行中断处理。,10.2 程序中断输入输出方式,(4)响应中断的条件 在CPU内部设置的中断允许触发器必须是开放的,STI指令开中断;CLI指令关中断。 外设有中断请求时,中断请求触发器必须处于“1”状态,保持中断请求信号。 外设(接口)中断屏蔽触发器必须为“0”,这样才能把外设中断请求送至CPU。 C

13、PU在现行指令结束的最后一个状态周期。 无DMA请求。 一旦CPU响应中断的条件得到满足,CPU开始响应中断,转入中断服务程序,进行中断处理。,10.2 程序中断输入输出方式,二、中断处理 1、中断处理过程,不同计算机对中断的处理各具特色,就其多数而论,中断处理过程可如图103所示。,10.2 程序中断输入输出方式,(1)关中断 进入不可再次响应中断的状态,由硬件自动实现。 (2)保存断点 为了在中断处理结束后能正确地返回到中断点,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来。 (3)识别中断源,转向中断服务程序 在多个中断源同时请求中断的情况下,本次实际响应的只能是优先

14、权最高的那个中断源。所以,需进一步判别中断源,并转入相应的中断服务程序入口。,10.2 程序中断输入输出方式,(4)保存现场、交换屏蔽字 进入中断服务程序后首先要保存现场,现场信息一般指的是程序状态字,中断屏蔽寄存器和CPU中某些寄存器的内容。保存旧的屏蔽字是为了中断返回前恢复屏蔽字,设置新的屏蔽字是为了实现屏蔽字改变中断优先级或控制中断的产生。 (5)开中断 因为接下去就要执行中断服务程序,开中断将允许更高级中断请求得到响应,实现中断嵌套。,10.2 程序中断输入输出方式,(6)执行中断服务程序主体 不同中断源的中断服务程序是不同的,实际有效的中断处理工作是在此程序段中实现的。 (7)关中断

15、 是为了在恢复现场和屏蔽字时不被中断打断。 (8)恢复现场和屏蔽字 将现场和屏蔽字恢复到进入中断前的状态。 (9)中断返回 中断返回是用一条IRET指令实现的,它完成恢复断点的功能,从而返回到原程序执行。,10.2 程序中断输入输出方式,10.2 程序中断输入输出方式,2、判别中断源 可以有软件和硬件两种方法来确定中断源。 (1)查询法 由测试程序按一定优先排队次序检查各个设备的“中断触发器”(或称为中断标志),当遇到第一个“1”标志时,即找到了优先进行处理的中断源,通常取出其设备码,根据设备码转入相应的中断服务程序。,10.2 程序中断输入输出方式,10.2 程序中断输入输出方式,(2)串行

16、排队链法 由硬件确定中断源。图104(a)为中断请求逻辑图,当任一设备的中断触发器为“1”时,通过“或”门向CPU发出中断请求信号INTR。图104(b)为串行排队判优先线路,图中画出了三个中断源,其设备码分别为110101,110100,110111。,10.2 程序中断输入输出方式,10.2 程序中断输入输出方式,10.2 程序中断输入输出方式,使用上述中断判优方式可以采用不同的转向中断服务程序入口地址的方法。一种是在中断程序中设一条专门接收中断设备码的指令INTA,取到设备号后,再通过主存的跳转表产生中断服务程序入口地址。另一种目前应用更广泛的方法叫做向量中断。 向量中断方式是为每一个中

17、断源设置一个中断向量,中断向量包括了该中断源的中断服务程序人口地址。由被选中的设备直接产生中断向量,或者采取间接寻址方式通过主存的中断跳转表(或称为中断向量表)转到中断服务程序的入口。,10.2 程序中断输入输出方式,3、单级中断处理和多重中断处理 (1)单级中断处理 单级中断处理是一种简单的处理方式。当不同优先等级的设备同时请求中断时,CPU按照优先级一个一个处理。当CPU正在处理某个中断时,不允许其它设备再中断CPU的程序,即使优先级高的设备也不能打断,只能等到中断处理完毕后,CPU才响应其它中断。 例如,优先等级是:ABCCPU,B设备请求中断时,A、C设备还没有请求。在CPU处理B设备

18、中断时,A、C同时提出了请求,此时CPU运行轨迹如下图所示。,10.2 程序中断输入输出方式,10.2 程序中断输入输出方式,(2)多重中断处理 多重中断是指在处理某一个中断过程又发生了新的中断请求,从而中断该服务程序的 执行,又转去进行新的中断处理。这种重叠处理中断的现象又称为中断嵌套。一般情况下, 在处理某级中的某个中断时,与它同级的或比它低级的新中断请求应不能中断它的处理,而 在处理完该中断返回主程序后,再去响应和处理这些新中断。而比它优先级高的新中断请求 却能中断它的处理。 【例】一个4级中断嵌套的例子如图105所示。,10.2 程序中断输入输出方式,10.2 程序中断输入输出方式,4

19、级中断请求的优先级别由高到低为1234的顺序。在CPU执行主程序过程中同时出现了两个中断请求和,因2级中断优先级高于3级中断,应首先去执行2级中断服务程序。若此时又出现了第4级的中断请求,则CPU将不予理睬。2级中断服务程序执行完返回主程序后,再转去执行第3级的中断服务程序,然后执行第4级中断服务程序。若在CPU再次执行第2级中断服务程序过程中,出现了第1级中断请求,因其优先级高于2级,则CPU暂停对第2级中断服务程序的执行,转去执行第1级中断服务程序。等第1级中断服务程序执行完后,再去执行第2级中断服务程序。 在本例中,中断请求次序为2,3421;而中断完成次序为23412。两者不相同。,1

20、0.2 程序中断输入输出方式,中断级的响应次序是由硬件(排队判优线路)来决定的。但是,在有优先级中断屏蔽控制条件下,系统软件根据需要可以改变屏蔽位的状态,从而改变多重中断处理次序,这反映了中断系统软硬结合带来的灵活性。 (3)用屏蔽改变多重中断处理次序 利用屏蔽技术可以改变各设备的优先等级,使计算机适应各种场合的需要。严格地说,优先级包含两层意思,第一层是响应优先级,第二层是处理优先级。 响应优先级是指CPU对各设备中断请求进行响应,并准备好处理的先后次序,这种次序往往在硬件线路上已固定,不便于变动。,10.2 程序中断输入输出方式,处理优先级是指CPU实际上对各中断请求处理的先后次序。如果不

21、使用屏蔽技术,响应的优先次序就是处理的优先次序。 现代计算机一般都使用了屏蔽技术,即通过控制各设备接口的屏蔽触发器状态,达到改变处理次序的目的。 CPU送往各设备接口屏蔽触发器状态信息的集合,称为屏蔽码。,10.2 程序中断输入输出方式,【例】设某机有四级中断A、B、C、D,其硬件排队优先次序为ABCD,现要求将中断处理次序改为DBAC: (1)下表中各级中断程序的屏蔽位应如何设置(设“0”为允许,“1”为屏蔽,CPU状态时屏蔽码为0000)?,10.2 程序中断输入输出方式,(2) 请按下图所示时间轴给出的设备中断请求时刻,画出CPU执行程序的轨迹,A、B、C、D 中断服务程序的时间宽度均为

22、20s。,10.2 程序中断输入输出方式,【解】 (1)中断程序的屏蔽位应如何设置见下表所示。,10.2 程序中断输入输出方式,(2)CPU执行程序的轨迹如下图所示:,10.2 程序中断输入输出方式,4、中断服务程序,中断服务程序由3部分组成;即前处理部分、主体部分和后处理部分,如右图所示。,保护现场 交换屏蔽字 前处理部分 开中断 中断服务 主体部分 关中断 恢复现场 后处理部分 恢复屏蔽字 开中断 中断返回 中断服务程序流程图,10.2 程序中断输入输出方式,(1)前处理部分 封锁优先级与本设备相同或比本设备低的中断请求。因为这些中断请求虽然没有得到响应,但请求信号依然存在,这样CPU每执

23、行一条指令,就要判断一下是否响应,而因优先级不比本设备高,判断结果为不能响应,然后再转回执行服务程序。只要这些中断请求信号存在,就总是干扰着服务程序的执行。封锁操作是通过对接口屏蔽触发器的重新设置来实现的,称这一操作为设置新屏蔽码。,10.2 程序中断输入输出方式,保护中断时的CPU现场。除了PC和PSW外,如果服务程序中还要使用其它寄存器,那么必须将它们原来的内容也压入堆栈。一般来说,动用哪个寄存器,就保存哪个寄存器的内容,以尽量减少时间开销。 开放中断。在中断响应时,CPU内的中断允许触发器是自动关闭的,其目的是在替换新老屏蔽字和保护现场操作时禁止一切中断,以免引起CPU现场混乱。何时允许

24、中断,要根据前处理指令条数而定。前处理的最后一条指令是开中断指令,它将中断允许触发器置1。,10.2 程序中断输入输出方式,(2)主体部分 中断服务程序的主体部分是根据中断源的要求编写的。 有的是进行数据传送,有的是检查设备,有的是数据传送完毕后的结束处理,根据不同情况,主体部分可以是一条指令,也可以是一段程序。,10.2 程序中断输入输出方式,(3)后处理部分 关闭中断允许触发器(置0)。这时的关闭操作用指令实现。 恢复现场。把前处理中压入堆栈的数据送回原来的寄存器中。 恢复中断前的屏蔽码。 开放中断,将CPU中的中断允许触发器置1,允许设备请求中断。这里应指出,开放中断指令中的开中断操作在

25、硬件上延时到下一条指令执行时才完成,这样可避免断点地址的混乱。,10.2 程序中断输入输出方式,(4)中断返回 中断服务程序的最后一条指令是中断返回指令。该指令将压入堆栈中的原PC和PSW送回相应的寄存器。原程序从断点开始又继续执行下去。中断时,哪一个程序被中止,则中断返回指令执行后,哪个程序就被恢复运行。 上面所述的操作过程是一个典型的过程,但并不是一种固定不变的程式,各种机器的设计方案和硬件结构各不相同,中断处理的具体操作也就各不相同。,10.2 程序中断输入输出方式,三、程序中断设备接口的组成和工作原理 程序中断设备接口,一般由设备选择器、中断控制和工作状态逻辑、中断排队控制逻辑、设备码

26、回送逻辑和数据缓出寄存器等组成。接口标准化,通过总线与主机相连。 图106为某机程序中断设备接口框图。,10.2 程序中断输入输出方式,10.2 程序中断输入输出方式,它包括4个D型触发器,其中两个工作状态寄存器:完成触发器(DONE)和忙触发器(BUSY);还有一个中断请求触发器(INTR)和一个中断屏蔽触发器(MASK)。 程序中断的工作过程: 当该设备被选中,即选中信号(SEL)为高电平时,置“1”触发器(BUSY),启动设备,同时使完成触发器(DONE)置“0”。 数据由外设传送到接口的缓冲寄存器或外设将接口缓冲寄存器中的数据取走。 当设备动作结束或缓冲寄存器数据填满时,设备向接口送出

27、一控制信号,将数据“准备就绪”标志DONE置“1”。,10.2 程序中断输入输出方式,如果此时屏蔽触发器为“0”态,则在CPU送来的指令结束信号RQENB的作用下,使中断请求触发器置“1”,向CPU发出中断请求信号INTR。但若中断屏蔽触发器处于“1”态,则即使DONE触发器为“1”,仍不能产生中断请求信号,直到中断屏蔽触发器为“0”态为止。中断屏蔽触发器是由IO指令利用MASK的上升边来置位或复位的。 若CPU是开中断状态则向外设发出响应中断信号INTA,并关闭中断;,10.2 程序中断输入输出方式,在中断向量逻辑中通过排队判优,将选中的设备地址或中断向量送CPU,CPU通过设备地址或中断向

28、量形成中断程序入口地址,从而转向该设备的中断服务程序; 在中断服务程序通过输入/输出指令进行数据传送。 中断服务程序结束后CPU送来的复位(IO总清)信号IORST, 将接口中的BUSY和DONE和INTR标志复位。,10.2 程序中断输入输出方式,不同机器的程序中断设备接口逻辑是不同的,但基本原理是一致的。 程序中断控制逻辑已由专用集成电路芯片实现。Intel 8259A中断控制器件的内部结构如图107所示。 它由八个部分组成:中断请求寄存器、中断状态寄存器、优先级判断器、中断屏蔽寄存器、中断控制逻辑、数据缓冲器、级联缓冲器比较器和读写逻辑。,10.2 程序中断输入输出方式,10.2 程序中

29、断输入输出方式,八位中断请求寄存器接受外设来的中断请求(IR0一IR7),每一位表示一个外部设备的中断请求。 中断寄存器的各位送入优先级判断器,根据中断屏蔽寄存器和中断状态寄存器的状态决定最高优先级的中断请求,并将判优结果送入中断状态寄存器。如果中断请求被接受,则由控制逻辑向CPU发中断请求INT。 D0D7为双向数据线。数据缓冲器暂时保存在内部总线和系统数据总线间进行传送的数据。 每个8259A最多能控制8个外部中断信号,但可将多个8259A级联以处理多达64个中断请求。 8259A单元允许采用多种中断优先级选择方式和屏蔽方式。 8259A的中断优先级选择方式有完全嵌套方式,轮换优先级A,轮

30、换优先级B和查询方式。,10.2 程序中断输入输出方式,8259A单元的不同工作方式是通过编程来进行选择的。CPU送出一系列的初始化控制字和操作控制字来执行选定的操作。CPU将8259A当作两个IO端口或两个存储单元来寻址,由A0端确定这些控制字存入读写逻辑中哪个控制字寄存器。 现代的计算机,无一不设置中断系统。为了提高工作的可靠性,并方便用户,一般设备的处理程序包括在操作系统中,成为IO驱动程序的一部分。在操作系统中,管理IO设备并实现输入输出功能的程序称为IO驱动程序或基本输入输出系统(BIOS)。,10.3 DMA输入输出方式,一、DMA传输概念 DMA是IO设备与主存储器之间由硬件组成

31、的直接数据通路,用于高速IO设备与主存之间的成组数据传送。 DMA方式即直接内存访问方式,它是完全由硬件执行I/0交换的工作方式。在这种方式下,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存与设备之间进行。因此数据交换的速度高,适用于高速成组传送数据,目前,磁盘与主存之间的数据传送,都采用DMA方式。,10.3 DMA输入输出方式,二、DMA三种工作方式 1、CPU暂停方式 CPU放弃对总线的使用权,由DMA控制器管理进行数据传送。,10.3 DMA输入输出方式,2、 CPU周期窃取方式 在CPU执行访内指令中插入DMA请求,挪用了一、二个内存周期。,10.3 D

32、MA输入输出方式,3、直接访问存储器工作方式 DMA与CPU交替访内,CPU周期可分为两个分周期,一个供DMA控制器访内,一个专供CPU访内。,10.3 DMA输入输出方式,三、 DMA控制器组成 DMA控制器基本组成如图108所示。它包括多个设备寄存器、中断控制和DMA控制逻辑等。,10.3 DMA输入输出方式,它由以下逻辑部件组成: 内存地址计数器(MAR):用于存放在内存中要交换数据的地址。 外围设备地址寄存器(ADR):存放I/O设备的设备码。 字计数器(WC):用于记录传送数据块的长度。 数据缓冲寄存器(DBR):用于暂存每次的数据(一个字)。 控制与状态寄存器(CSR):用于存放控

33、制字和状态字。,10.3 DMA输入输出方式,DMA请求标志:当设备准备好一个字后给出一个控制信号,使DMA请求标志置1。该标志位置位后,再向控制/状态逻辑发送DMA请求,CPU响应此请求后发回响应信号HLDA。控制/状态逻辑接收到此信号后发出DMA响应信号,使DMA请求标志复位,为交换下一个字做准备。 控制逻辑:由控制和时序电路,以及状态标志组成,用来修改内存地址计数器和字计数器,指定传送类型(输入或输出),并对DMA请求信号和CPU响应信号进行协调和同步。 中断逻辑:当一组数据交换完毕时,由溢出信号触发中断机构,向CPU提出中断报告。,10.3 DMA输入输出方式,典型的DMA控制器:In

34、tel8237A有4个DMA通道,每个通道有4种工作方式。 单字节传送方式 每次DMA传送时仅传送一个字节 数据块传送方式 连续地传送数据,直到规定的字节数传送完 请求传送方式 请求有效,连续传送数据 请求无效,DMA传送被暂时中止 再次有效,DMA传送又继续 级连方式 多个DMA控制器连接起来扩展DMA通道,10.3 DMA输入输出方式,四、 DMA的数据传送过程 DMA的数据传送过程可分为三个阶段: DMA传送前预处理、数据传送和传送后处理,如图10.9(a)所示。图10.9(b)所示的是第二阶段数据传送过程。,10.3 DMA输入输出方式,10.3 DMA输入输出方式,10.3 DMA输

35、入输出方式,传输阶段 外设准备好发送数据(输入)或接收数据(输出)时,向主机发DMA请求。 CPU在本机器周期执行完毕后响应该请求并使CPU的总线驱动器处于高阻状态,让出主存使用权; DMA发送主存地址、读写命令; 挪用一个存储周期,传送一个数据,主存地址加1,字计数器减1。 判断数据是否传送完毕,即:字计数器是否为0 若字计数器不为0,撤销DMA请求,返回 若字计数器为0,则传送完毕,进入结束阶段。 DMA数据传送的流程图如下图所示。,10.3 DMA输入输出方式,10.3 DMA输入输出方式,后处理 DMA向主机发出中断请求,报告结束。一旦DMA的中断请求得到响应,CPU将停止主程序的执行

36、,转去执行中断服务程序进行DMA操作的后处理。包括校验送入内存的数据是否正确;决定使用DMA方式传送数据还是结束传送;测试传送过程中是否发生错误。,DMA传送流程,10.4 通道方式和PPU方式,一、通道方式 1、通道的基本功能 (1)接受CPU的IO指令,按要求启动外设。 (2)执行通道指令。 (3)组织外设与主存间的数据传送。 (4)向CPU报告外设的状态信息和中断信息。,10.4 通道方式和PPU方式,2、通道的类型 根据多台设备共享通道的不同情况,可将通道分为三类:字节多路通道、选择通道和数组多路通道,如图10.10所示。,10.4 通道方式和PPU方式,图10.10 IBM4300系

37、统的结构,10.4 通道方式和PPU方式,(1)字节多路通道 字节多路通道主要用于连接大量的低速设备,这些设备的数据传输率很低,而通道从设备接收或发送一个字节只需要几百纳秒,因此通道在传送两个字节之间有很多空闲时间,字节多路通道正是利用这个空闲时间为其他设备服务。,10.4 通道方式和PPU方式,(2) 选择通道 选择通道又称高速通道,在物理上它可以连接多个设备,但是这些设备不能同时工作,在某一段时间内通道只能选择一个设备进行工作,当这个设备的通道程序全部执行完毕后,才能执行其他设备的通道程序。 选择通道主要用于连接高速外围设备,如磁盘、磁带等,信息以成组方式高速传输。由于数据传输率很高,通道在传送两个字节之间已很少空闲,所以在数据传送期间只为一台设备服务。,10.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论