预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共46页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第8章输入输出系统8.3.1DMA的基本概念希望克服程序控制传送的不足: 外设→CPU→存储器 外设←CPU←存储器 直接存储器存取DMA: 外设→存储器 外设←存储器DMA方式的特点 DMA方式是在外设和主存之间开辟一条“直接数据通道”,在不需要CPU干预也不需要软件介入的情况下在两者之间进行的高速数据传送方式。 一般用在主存与高速外设间的简单数据传送。应用场合包括磁盘、光盘等外设接口;网络通讯接口;动态存储器的刷新;高速数据采集接口。 DMA方式中,对数据传送过程进行控制的硬件称为DMA控制器(DMAController)。DMA方式具有下列特点: 它使主存与CPU的固定联系脱钩,主存既可被CPU访问,又可被外设访问; 在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现; 主存中要开辟专用缓冲区,及时供给和接收外设的数据;DMA方式具有下列特点: DMA传送速度快,CPU和外设并行工作,提高了系统的效率。 DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。 中断机制仍被用于设备与CPU间的通信,但仅限于报告数据传送操作的结果及错误发生的情况。DMA和中断的区别 ⑴中断方式是程序切换,需要保护和恢复现场;而DMA方式除了开始和结尾时,不占用CPU的任何资源。 ⑵对中断请求的响应时间只能发生在每条指令执行完毕时;而对DMA请求的响应时间可以发生在每个机器周期结束时。 2.周期挪用法 DMA要求访问主存时,CPU暂停一个或多个存储周期。一个数据传送结束后,CPU继续运行。 CPU现场并没有变动,只是延缓了对指令的执行,这种技术称为周期挪用,或称周期窃取。 如发生访存冲突,则DMA优先访问。3.DMA与CPU交替访内 每个CPU工作周期分成两个时间段,一段用于DMA访问主存,一段用于CPU访问主存。 CPU和DMA都能访问主存,没有主存使用权移交过程,所以这种方式的效率较高,但是硬件投资较大,而且要求CPU工作周期比存储周期长很多。1.选择型DMA控制器 选择型DMA控制器在物理上可以连接多个设备,而在逻辑上只允许连接一个设备。换句话说,在某一段时间内只能为一个设备服务。选择型DMA控制器只增加少量硬件达到了为多个外围设备服务的目的,它特别适合数据传输率很高以至接近内存存取速度的设备。在很快地传送完一个数据块后,控制器又可为其他设备服务。2.多路型DMA控制器 选择型DMA控制器不适用于慢速设备。但多路型DMA控制器适合于同时为多个慢速外围设备服务。8.3.4选择型和多路型DMA控制器【例3】下图中假设有磁盘、磁带、打印机三个设备同时工作。磁盘以30μs的间隔向控制器发DMA请求,磁带以45μs的间隔发DMA请求,打印机以150μs间隔发DMA请求。根据传输速率,磁盘优先权最高,磁带次之,打印机最低,图中假设DMA控制器每完成一次DMA传送所需的时间是5μs。若采用多路型DMA控制器,请画出DMA控制器服务三个设备的工作时间图。【解】右图是多路型DMA控制器的逻辑结构,通过配合使用I/O通用接口片子,它可以对8个独立的DMA通路(CH)进行控制,使外围设备以周期挪用方式对内存进行存取。[例4]微型机中软盘控制器的系统接口电路。主机(CPU/主存)-通道(CH)-设备控制器-外设四级结构管态和目态1.选择通道 多个设备不能同时工作,在某一段时间内只能选择一个设备进行工作,只包含一个子通道。 2.多路通道 在一段时间内能交替执行多个设备的通道程序 包含若干个子通道。 (1)数组多路通道:以数据块为基本单位与设备进行数据传送。 (2)字节多路通道:以字节为基本单位与设备进行数据传送。连接在选择通道中的传送: a1a2...amb1b2...bnc1c2...ck 连接在字节多路通道中的传送: a1b1c1a2b2c2...假设有3个设备:A、B、C,它们传输的信息分别为a1,a2,...am;b1,b2,...bn;c1,c2,...ck。对于这3个设备来说,把它们连接在不同类型的通道中,会出现不同的信息传送状态。其中ai,bi,ci各为一个字节。 通道完成一次数据传输的主要过程为三步: 进入管理程序,由CPU通过管理程序组织一个通道程序,并启动通道。 通道执行CPU为它组织的通道程序,完成指定的数据输入输出工作。 通道程序结束后向CPU发中断请求。CPU响应这个中断请求后,调用管理程序对中断请求进行处理。通道程序、管理程序和用户程序的执行时间关系8.4.3通道结构的发展8.4.3通道结构的发展