大学计算机组成原理教程第9章学习专业课件_第1页
大学计算机组成原理教程第9章学习专业课件_第2页
大学计算机组成原理教程第9章学习专业课件_第3页
大学计算机组成原理教程第9章学习专业课件_第4页
大学计算机组成原理教程第9章学习专业课件_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

第9章输入输出(I/O)接口9.1I/O技术的发展9.2I/O接口的组成与工作原理9.3中断系统9.4DMA技术9.5通道技术2025/2/25第9章输入输出(I/O)接口9.1I/O技术的发展2025/2/25无I/O技术程序查询I/O方式直接内存存取(DirectMemoryAccess,DMA)方式通道(Channel)方式外围处理机(PeripheralProcessorUnit,PPU)方式第9章输入输出(I/O)接口9.1I/O技术的发展9.2I/O接口的组成与工作原理9.3中断系统9.4DMA技术9.5通道技术2025/2/25第9章输入输出(I/O)接口9.2I/O接口的组成与工作原理2025/2/251.I/O接口的功能与组成接口的主要功能有:(1)地址识别与设备选择(2)接收、保存CPU的I/O控制命令(3)反映外设的工作状态(4)信号转换(5)数据格式、码制的转换与数据检错/纠错(6)传送数据(7)中断第9章输入输出(I/O)接口9.2I/O接口的组成与工作原理2025/2/251.I/O接口的功能与组成接口由数据缓冲寄存器DBR、状态寄存器、命令寄存器、端口地址译码、控制逻辑和中断逻辑组成。在用户看来,CPU了解外设的状态、控制外设的工作、与外设交换数据,都是通过接口中用户可见的寄存器——端口(Port)——的“读/写”来实现的。这些端口通过总线与CPU互连。第9章输入输出(I/O)接口9.2I/O接口的组成与工作原理2025/2/251.I/O接口的功能与组成端口分为:存放欲交换数据的数据端口DBR存放控制信息的控制端口(命令寄存器)存放状态的状态端口(状态寄存器)第9章输入输出(I/O)接口9.2I/O接口的组成与工作原理2025/2/251.I/O接口的功能与组成I/O端口是按地址访问的。I/O端口编址的方法:与主存统一编址I/O独立编址在主存地址空间中划出一部分作为I/O端口的地址;用访问主存的指令来访问I/O端口;区分访问对象是主存还是I/O,是由地址所处的范围决定的。第9章输入输出(I/O)接口9.2I/O接口的组成与工作原理2025/2/251.I/O接口的功能与组成I/O端口是按地址访问的。I/O端口编址的方法:与主存统一编址I/O独立编址设置专用的I/O指令,如8086的输入指令IN和输出指令OUT。由于系统中只有一个地址总线,所以处理器需要增加一个IO/M控制信号来区分地址是针对主存还是针对I/O有效。第9章输入输出(I/O)接口9.2I/O接口的组成与工作原理2025/2/251.I/O接口的功能与组成根据数据是串行传送还是并行传送,接口分为:串行接口(Intel8255)并行接口(Intel8251)根据设定接口功能的灵活性不同,接口分为:可编程接口(Intel8255、Intel8251)不可编程接口(并行接口Intel8212)2.I/O接口的类型第9章输入输出(I/O)接口9.2I/O接口的组成与工作原理2025/2/251.I/O接口的功能与组成根据通用性不同,接口分为:通用接口:可应用于多种外设,比如Intel8255、Intel8251等。专用接口:为某种用途或某类外设而专门设计的,如专门控制CRT显示器的Intel8275和专门用于键盘与数码管的Intel8279。2.I/O接口的类型第9章输入输出(I/O)接口9.2I/O接口的组成与工作原理2025/2/251.I/O接口的功能与组成根据数据传送的控制方式不同,接口分为:中断接口(比如Intel8259A)DMA接口(Intel8237A)2.I/O接口的类型第9章输入输出(I/O)接口9.2I/O接口的组成与工作原理2025/2/251.I/O接口的功能与组成3.80x86系列计算机的I/O指令2.I/O接口的类型80x86系列微处理器采用I/O独立编址,其设置的专用I/O指令为:输入指令IN和输出指令OUT。功能是:累加器AX(或AL)与I/O端口之间的数据交换其中,使用AX传送的是一个字(16位数据),使用AL传送的是一个字节(8位数据)。第9章输入输出(I/O)接口9.2I/O接口的组成与工作原理2025/2/253.80x86系列计算机的I/O指令这两个指令有长、短两种格式。长格式为:INAX/ALPORT;PORT取值范围在0~255之间OUTPORTAX/AL短格式为:INAX/ALDXOUTDXAX/AL长格式的好处是解释指令的时间短、I/O速度快。短格式的好处,一是可以访问更多的端口,二是可以用相同的指令访问不同的端口。第9章输入输出(I/O)接口9.2I/O接口的组成与工作原理2025/2/253.80x86系列计算机的I/O指令第9章输入输出(I/O)接口9.2I/O接口的组成与工作原理2025/2/254.I/O接口数据传送的控制方法

I/O接口数据传送的控制方式共有五种。本课程将介绍其中的程序查询方式、程序中断方式、DMA方式和通道方式。下面介绍的是程序查询方式,其余在后三节中介绍②设备选择电路DBRQQ&数据线准备就绪启动命令地址线SEL输入数据启动设备设备工作结束①③④⑤⑥DB程序查询方式的接口电路①②③⑤⑥1010④以输入为例及控制流程第9章输入输出(I/O)接口2025/2/25例9-1(2011年研究生入学考试计算机专业综合考试试题)某计算机处理器主频为50MHz,采用定时查询方式控制设备A的I/O,查询程序运行一次所用的机器周期数至少为500。在设备A工作期间,为了保证数据不丢失。每秒需对其查询至少200次,则CPU用于设备A的I/O的时间占整个CPU时间的百分比至少是

A.0.02%

B.0.05%

C.0.20%

D.0.50%答:每秒CPU用于设备A的I/O的时间至少是:

(500*200)/50M=0.002秒。所以CPU用于设备A的I/O的时间占整个CPU时间的百分比至少是0.2%,故选择C。第9章输入输出(I/O)接口9.1I/O技术的发展9.2I/O接口的组成与工作原理9.3中断系统9.4DMA技术9.5通道技术2025/2/25第9章输入输出(I/O)接口9.3中断系统2025/2/25

计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机会停止现行程序的运行,转向对这些异常情况或特殊请求进行处理,处理结束后再返回到现行程序的间断处继续执行。这就是中断(Interrupt)。

凡是向CPU提出中断请求的各种因素,统称为中断源。(可以是硬件也可以是软件)第9章输入输出(I/O)接口9.3中断系统2025/2/25

中断的发生是随机的。在实现中断时,必须做到:不管一个程序在执行的过程中,是否被中断,中断多少次,其最终的运行结果必须是唯一的。当有多个中断源向CPU提出中断请求时,CPU必须坚持的原则是:在任何一个时刻只能为一个中断源的请求提供服务。中断服务程序中断服务程序入口1入口212中断处理的示意图…KK+1QQ+1……中断服务程序1中断服务程序2中断的断点是当前PC的值第9章输入输出(I/O)接口9.3中断系统2025/2/25要支持中断,处理器内部必须增加相关的硬件,如接受中断请求信号的引脚INTR、发出中断响应信号的引脚INTA、“中断状态”触发器INT、“中断允许”标志EINT、将ENIT置为1的“开中断”指令STI、将ENIT清为0的“关中断”指令CLI和将程序断点“弹回”PC的中断返回指令IRET等,接口中要设置中断请求触发器“INTR”和中断屏蔽触发器IM。主存中必须存储处理不同中断请求的中断服务程序。实现中断的软/硬件,总称为中断系统。第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.1中断的处理过程中断请求中断判优中断响应中断服务中断返回

通过引脚INTR,中断源向CPU发出中断请求信号。当有多个请求同时到来时,需要挑选出优先级最高的INTR送CPU,这叫中断判优。中断判优可用软件完成,但速度慢。目前中断判优由硬件来完成.第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.1中断的处理过程中断请求中断判优中断响应中断服务中断返回

若EINT为“1”,CPU在每条指令执行的末尾,扫描INTR。若有中断请求,CPU置“中断状态”触发器INT为1,进入中断周期——执行“中断隐指令”。中断隐指令的功能:将程序断点(当前PC值)和标志位寄存器压入堆栈,关中断(清EINT为0),将中断处理程序的首地址送入PC。第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.1中断的处理过程中断请求中断判优中断响应中断服务中断返回

中断处理由预先编制的中断服务程序完成。中断服务程序的处理流程是:保护现场、中断服务和恢复现场。执行“开中断”指令STI和中断返回指令IRET第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.1中断的处理过程形成中断入口地址的方法可分为:软件查询法和硬件向量法。软件查询法是用一个中断管理程序,按照优先级由高到低的顺序,依次查询每一个中断源是否有中断请求。若有,则直接转去执行与其对应的中断服务程序,否则继续往下查询。该方法的优点是不需要增加硬件,可以灵活改变中断源的优先级;缺点是占用CPU时间,处理速度慢,优先级低的中断请求需要等待较长时间才能开始中断服务。第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.1中断的处理过程目前常用的是硬件向量法,即中断源在接收到中断响应信号INTA后,由硬件生成一个特定的地址——向量地址(也称中断类型号),然后将向量地址通过数据总线送给CPU。CPU再依据向量地址,以某种方式(如间接寻址或向量地址直接送入PC),转去执行中断服务程序。第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.1中断的处理过程若用间接寻址方式,则主存单元中存储的是中断服务程序入口地址(也称中断向量)。主存中,中断向量是连续存储的,其所占区域称为中断向量表。若将向量地址直接送入PC,则主存单元中存储的是以中断服务程序入口地址为操作数的无条件转移指令。第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.1中断的处理过程

在处理中断的过程中,可能有新的、优先级更高的中断请求到来。当这种现象发生时,若允许CPU暂停现行的中断服务程序,转去处理新的中断请求,这种现象称为多重中断或中断嵌套,否则为单重中断。第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.1中断的处理过程CPU并不能区分中断请求信号的优先级,无论是哪个中断源发来的中断请求信号,在CPU看来都是一样的。实现多重中断的关键是在保护完现场后,立即开中断。单重中断

服务程序流程中断否?保护现场中断服务恢复现场开中断中断返回取指令执行指令中断服务程序

中断响应程序断点进栈关中断向量地址PC中断周期是否多重中断的服务程序流程中断否?

中断响应程序断点进栈关中断向量地址PC中断周期是中断服务程序取指令执行指令否中断返回保护现场中断服务恢复现场开中断关中断开中断2025/2/25例9-2响应外部中断的过程中,中断隐指令完成的操作,除保护断点外,还包括

。I.关中断II.保存通用寄存器的内容III.形成中断服务程序入口地址并送PCA.仅I、IIB.仅I、IIIC.仅II、IIID.I、II、III

例9-3中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是

。A.程序计数器B.程序状态字寄存器C.通用数据寄存器D.通用地址寄存器答:只有保存通用寄存器的内容是由中断处理程序负责完成,其余由中断隐指令完成,故选B。答:中断处理需要保存而子程序调用不需要保存其内容的是程序状态字寄存器,故选B。第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.1中断的处理过程9.3.2中断屏蔽中断判优和中断响应,通常是由硬件完成的。这样,在中断优先级确定后,中断响应的顺序也就随之确定了。能否在运行时,临时调整中断的服务顺序呢?回答是肯定的,一个可行的解决方案就是引入由操作系统管理的、可变的“中断屏蔽字”。

第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.2中断屏蔽在CPU响应了某级中断的某个中断源发来的中断请求后,系统将该中断源所属中断级别对应的中断屏蔽字,写入中断屏蔽寄存器IMR。

CPU根据中断屏蔽字决定屏蔽掉某些级别中断的请求信号,使其不能进入排队器排队,从而间接地改变中断响应顺序。中断处理顺序就是中断响应顺序

时的中断屏蔽字设“0”代表屏蔽,“1”表示开放中断处理程序级别中断级屏蔽位1级2级3级4级第1级第2级第3级第4级01110011000100002011年研究生统一考试选择题

21、若机器共有5级中断L4~L0,中断屏蔽字为M4M3M2M1M0,Mi=1(0≤

i

≤4)表示对Li级中断进行屏蔽。若中断响应优先级由高到低的顺序为L0→L1→L2→L3→L4,且要求中断处理优先级由高到低的顺序为L4→L0→L2→L1→L3。则L1的中断处理程序中设置的中断屏蔽字是()A.11110B.01101C.00011D.01010答:只需考虑中断处理优先级。L1只屏蔽L1和L3,根据中断屏蔽字为M4M3M2M1M0,故选择D。中断屏蔽字未调整时中断处理顺序为:1→2→3→4的例子调整中断屏蔽字中断处理程序级别中断级屏蔽位1级2级3级4级第1级第2级第3级第4级0111000001000110问题1:中断响应顺序是否就是中断服务顺序呢?问题2:中断屏蔽字改变的是中断响应顺序吗?第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.3中断控制器8259A

8259A芯片主要由中断请求寄存器、优先级分析器、中断服务寄存器、中断屏蔽寄存器、数据总线缓冲器、读写电路和级连缓冲器/比较器组成。用8259A可以管理8个优先级不同的中断请求。利用一个主8259A和8个从8259A的级联可以扩充管理64个中断请求。2025/2/25中断控制器8259A的组成结构图第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.3中断控制器8259A8259A的主要引脚描述如下:IR7∽IR0

:输入引脚,用于接收来至外设的中断请求信号INT:输出引脚,与CPU的INTR引脚连接。当8259A接收到外设的中断请求信号后,通过该引脚统一向CPU发中断请求。INTA:这是一个输入引脚,用于接收来至CPU的中断响应信号INTA。第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.3中断控制器8259A8259A的主要引脚描述如下:CS:片选信号,允许8259A进行编程与控制。WR:低电位有效,与系统的写入控制线连接。RD:低电位有效,与系统的写入控制线连接。A0:用A0的取值来选择8259A内部不同的命令字。第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.3中断控制器8259A8259A的主要引脚描述如下:SP/EN:主从定义/缓冲器方向。接高电平时为主片,接低电平时为从片。当8259A工作于缓冲器方式时,它作为控制缓冲器传送方向的输出控制线;否则为输入线。CAS2∽CAS0:级连控制信号,主片为输出,从片为输出。主片输出一个识别码,哪一个从片的识别码与其相符,则该从片的中断请求被准许。主片最多可以控制8个从片。第9章输入输出(I/O)接口9.3中断系统2025/2/25

1.概述

8086/8088微处理器的中断源分为两类:位于处理器外部、由硬件引起的硬件中断(或外部中断)来自处理器内部、由某条指令的执行或某个标志位的设置而引起的软件中断(或内部中断)9.3.4

8086/8088微处理器的中断系统第9章输入输出(I/O)接口9.3中断系统2025/2/25硬件中断又分为不可屏蔽中断和可屏蔽中断。它们的请求信号,分别由不可屏蔽中断请求输入引脚NMI和可屏蔽中断请求输入引脚INTR输入到处理器中。当有不可屏蔽中断请求信号到来时,处理器会在结束当前指令的执行后,立即转去执行不可屏蔽中断处理程序。9.3.4

8086/8088微处理器的中断系统第9章输入输出(I/O)接口9.3中断系统2025/2/259.3.4

8086/8088微处理器的中断系统第9章输入输出(I/O)接口9.3中断系统2025/2/25“屏蔽”是通过标志寄存器中的中断允许标志IF来实现的。处理器会在每条指令执行的末尾,扫描INTR引脚。当检测到请求信号时,则检查IF。若IF=1,则表示屏蔽中断、不响应,否则响应。响应信号通过INTA引脚发给中断源。9.3.4

8086/8088微处理器的中断系统第9章输入输出(I/O)接口9.3中断系统2025/2/25软件中断有5类:除法错误(溢出或除数为0)、定点加法溢出、断点中断、单步中断和中断指令INTn。其中,断点中断是由一个不带操作数的单字节指令INT3引起的,用于调试程序。当执行INT3时,系统会暂停程序的执行。这时程序员可以检查有关寄存器和存储单元的内容。单步中断,也叫陷井中断,用于跟踪程序的执行,以调试程序。每条指令执行的末尾,系统将检查TF。若TF=1,则产生此中断,暂停程序的执行,显示通用寄存器及标志寄存器的值。9.3.4

8086/8088微处理器的中断系统第9章输入输出(I/O)接口9.3中断系统2025/2/25软件中断不会发出请求信号,也不需要响应信号。除单步中断外,内部中断无法用软件禁止。可用STI或CLI指令置IF为1或0,但没有专门指令直接修改TF。9.3.4

8086/8088微处理器的中断系统第9章输入输出(I/O)接口9.3中断系统2025/2/25响应中断后,8086/8088微处理器进入中断周期。中断周期内,8086/8088微处理器将执行的操作是:(1)发出中断响应信号INTA.(2)将标志寄存器FR压入堆栈,将IF和TF清为0.(3)依次将寄存器CS和IP压入堆栈.(4)根据中断类型号找到中断处理程序的入口地址,并将其写入寄存器CS和IP.9.3.4

8086/8088微处理器的中断系统第9章输入输出(I/O)接口9.3中断系统2025/2/252.中断向量和向量表

8086/8088微处理器的中断处理程序的入口地址表示为所谓的中断向量“CS:IP”。

8086/8088微处理器被设计成最多能管理256个中断。这些中断的中断向量组成中断向量表。每个中断向量长4个字节,故中断向量表的大小为1024字节。中断向量表存放在内存的高端,地址空间为00000H~003FFH。9.3.4

8086/8088微处理器的中断系统第9章输入输出(I/O)接口9.3中断系统2025/2/252.中断向量和向量表9.3.4

8086/8088微处理器的中断系统

8086/8088微处理器管理中断是通过中断类型号(0~255)来实现的。前32个中断向量为系统专用。其中,0号是“除法错误”中断,1号是“单步”中断,2号是“非屏蔽”中断,3号是“断点”中断或INT3,4号是“溢出”中断或INTO。中断类型5到31,系统保留使用。第9章输入输出(I/O)接口9.3中断系统2025/2/253.中断指令INTn和中断返回指令IRET广义上的INTn指令,包括了INT3(即断点中断)和INT4(即INTO)。但除INT3和INTO为单字节指令外,其余INTn指令为2个字节的指令,第1个字节是操作码,第2个字节是操作数。操作数n为中断类型号,当执行INTn时,系统根据类型号n找到中断处理程序的入口地址。

中断返回指令IRET的功能是顺序从堆栈中弹出3个字,依次送入寄存器IP、CS和FR。9.3.4

8086/8088微处理器的中断系统第9章输入输出(I/O)接口9.3中断系统2025/2/25中断优先级,由高到低,依次为:软件中断(不含单步中断)、不可屏蔽中断、可屏蔽中断、单步中断。软件中断的优先级,由高到低,依次为:除数为0、中断指令、溢出中断。9.3.4

8086/8088微处理器的中断系统2025/2/25例9-5下列选项中,在I/O总线的数据线上传输的信息包括

。I.I/O接口中的命令字II.I/O接口中的状态字III.中断类型号A.仅I、IIB.仅I、IIIC.仅I、IIID.I、II、III

例9-6下列选项中,不可能在用户态发生的事件是

。A.系统调用B.外部中断C.进程切换D.缺页答:CPU通过数据线将命令字写入I/O接口,接口中的状态字和中断类型号通过数据线送给CPU,故选D。答:只有进程切换是由操作系统负责完成,故选C。第9章输入输出(I/O)接口9.1I/O技术的发展9.2I/O接口的组成与工作原理9.3中断系统9.4DMA技术9.5通道技术2025/2/25程序中断方式的数据通路主存CPUI/O接口I/O设备每传送一个数据字,CPU就要中断一次,每次都要执行十几条指令来保护现场、恢复现场、中断返回。CPU的效率还是不高。DMA控制器主存CPUI/O接口HLDAHOLDDMA(DirectMemoryAccess直接存储器存取)方式的数据通路DREQDACKI/O设备第9章输入输出(I/O)接口9.4DMA技术2025/2/251.DMAC的组成与工作原理DMA控制器(DMAControl,DMAC)由如下部件组成:主存地址寄存器(AddressRegister,AR)字计数器(WordCounter,WC)设备地址寄存器(DeviceAddressRegister,DAR)中断逻辑控制/状态逻辑第9章输入输出(I/O)接口9.4DMA技术2025/2/251.DMAC的组成与工作原理

DMAC的工作过程分为:预处理、数据传输、后处理三个阶段。

CPU执行I/O指令的过程就是对DMAC进行预处理的过程。其间,CPU选择DMAC和I/O接口,然后将外设的地址、数据块在主存中的首地址和数据个数分别写入设备地址寄存器DAR、主存地址寄存器AR和字计数器WC。I/O接口启动外设。第9章输入输出(I/O)接口9.4DMA技术2025/2/251.DMAC的组成与工作原理

数据传输是在DMAC的控制下,在主存与I/O接口之间,完成一个数据块的传输。在DMAC工作的过程中,CPU执行程序的后继指令,实现了“计算与I/O”的重叠。第9章输入输出(I/O)接口9.4DMA技术2025/2/251.DMAC的组成与工作原理后处理是指当WC中规定的数据个数传输完毕后,DMAC向CPU发出中断请求。CPU将暂停程序的执行,对DMA工作进行结束处理。若数据有错,将重发;若尚有数据需要传送,则再次启动新一轮DMA,否则通过向DMAC发出“结束操作EOP”信号,停止其工作。后处理是由CPU来完成的。第9章输入输出(I/O)接口9.4DMA技术2025/2/251.DMAC的组成与工作原理2.DMAC的数据传输过程

DMA数据传送的模式主要有:单字传送、成组传送、请求传送。下面以“单字传送”为例,说明DMA的数据传送过程。当数据“就绪”后,I/O接口向DMAC发出“DMA请求”信号DREQ。接到DREQ信号后,DMAC向CPU发出“占用总线请求”信号HOLD。HOLD信号在整个数据传送过程中要保持有效。第9章输入输出(I/O)接口2025/2/252.DMAC的数据传输过程CPU在当前总线周期结束后,根据约定的方式,决定是否让出总线控制权。若让出,则CPU向DMAC“总线允许”信号HLDA。DMAC获得总线控制权后,向I/O接口输出“DMA应答”信号DACK。DMAC向系统总线发出读/写命令和访存地址。同时I/O接口与系统总线进行数据交换。DMA数据传送结束后,AR和WC将分别增1DMAC撤销HOLD信号,释放总线第9章输入输出(I/O)接口9.4DMA技术2025/2/251.DMAC的组成与工作原理2.DMAC的数据传输过程

CPU执行指令,需要占用系统总线、访问主存。DMAC要完成DMA操作,也要占用系统总线、访问主存。DMAC占用总线的方式,通常有:停止CPU使用总线、周期挪用、交替使用等三种。3.CPU与DMAC分享主存/系统总线的方式第9章输入输出(I/O)接口2025/2/25

(1)停止CPU使用总线这是最简单的一种方式。当DMAC收到CPU的HLDA信号后,将一直占用总线,直至全部数据传送完毕。在这种方式下,CPU让出总线控制权的时间,取决于DMAC保持HOLD信号有效的时间。但是,在DMA的过程中,CPU的访存操作将被“阻塞”,影响CPU效能的发挥。另外,由于I/O设备速度慢,在这种方式下,相当多的总线周期是空闲的,内存的利用率低。3.CPU与DMAC分享主存/系统总线的方式第9章输入输出(I/O)接口2025/2/25

(2)周期挪用(也叫周期窃取)方式

DMAC在CPU不使用总线时,“窃取”若干个总线周期,来传送一个数据字。传送完毕后,立即释放总线。这种方式几乎不影响CPU的工作,应用最为广泛的。在DMAC请求占用总线时,CPU可能出于三种状态:不占用总线/不访存、占用总线/正在访存、请求总线/即将访存。第一状态下,CPU立即发出HLDA信号,让出总线;第二种状态下,CPU会在当前总线周期结束后,发出HLDA信号;第三种状态(即CPU和DMAC同时申请总线)下,CPU立即发出HLDA信号,让出总线,因为DMA请求优先级更高。3.CPU与DMAC分享主存/系统总线的方式第9章输入输出(I/O)接口2025/2/25

(3)交替使用方式若CPU的工作周期比主存的访问周期长得多,则可采用CPU与DMA控制器交替使用总线的方式。例如,CPU的工作周期为1

s,主存周期为0.5

s,则可将CPU的工作周期等分成C1和C2两个子周期,并规定C1期间DMAC使用总线,C2期间CPU使用总线。此时,DMAC无需申请总线使用权,也不需要释放总线。无论是否有DMA任务,C1子周期都是专供DMAC使用,DMA传送对CPU的工作没有任何影响,故称为“透明的DMA方式”。3.CPU与DMAC分享主存/系统总线的方式2025/2/25例9-7某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需要5个时钟周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与

温馨提示

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

最新文档

评论

0/150

提交评论