I/0控制方式-2 所以,中断驱动方式在I/O设备输入数据的过程中,无需CPU 干预,可以使CPU与I/0设备并行工作。仅当输完一个数据时, 才需CPU花费极短的时间去进行中断处理。从而大大地提高 了整个系统的资源利用率及吞吐量,特别是CPU的利用率。 (3)DMA( Direct Memory Access)控制方式 中断驱动I/0方式虽然大大提高了主机的利用率,但是它以字 (节)为单位进行数据传送,每完成一个字(节)的传送, 控制器便要向CPU请求一次中断(做保存现场信息,恢复现场 等工作),仍然占用了CPU的许多时间。这种方式对于高速的 块设备的I/0控制显然是不适合。为了进一步减少CPU对I/0的 干预,引入了直接存储器访问( Direct Memory Access)控 制方式。该方式的特点是: 1.它作为高速的外围设备与内存之间成批的数据交换,但是不 对数据再做加工处理,数据传输的基本单位是数据块,I/0操 作的类型比较简单
I/O控制方式-2 所以,中断驱动方式在I/O设备输入数据的过程中,无需 CPU 干预,可以使CPU与I/O设备并行工作。仅当输完一个数据时, 才需 CPU花费极短的时间去进行中断处理。从而大大地提高 了整个系统的资源利用率及吞吐量,特别是CPU的利用率。 (3)DMA(Direct Memory Access )控制方式 中断驱动I/O方式虽然大大提高了主机的利用率,但是它以字 (节)为单位进行数据传送,每完成一个字(节)的传送, 控制器便要向CPU请求一次中断(做保存现场信息,恢复现场 等工作),仍然占用了CPU的许多时间。这种方式对于高速的 块设备的I/O控制显然是不适合。为了进一步减少CPU对I/O的 干预,引入了直接存储器访问(Direct Memory Access)控 制方式。该方式的特点是: 1.它作为高速的外围设备与内存之间成批的数据交换,但是不 对数据再做加工处理,数据传输的基本单位是数据块,I/O操 作的类型比较简单
I/0控制方式-3 2.它需要使用一个专门的DMA控制器(DMAC)。DMAC中有 控制、状态寄存器、传送字节计数器、内存地址寄存器 和数据缓冲寄存器。 3.它采用盗窃总线控制权的方法,由DMAC送出内存地址 和发出内存读、设备写或设备读、内存写的控制信号来 完成内存与设备之间的直接数据传送,而不用CPU的干 预。有的DMA传送甚至不经过DMAC的数据缓冲寄存器的 再吞吐,传输速率非常高。 4.仅在传送一个或多个数据块的开始和结束时,才需 CPU干预,整块数据的传送是在控制器的控制下完成的 可见,DMA方式较之中断驱动方式,又是成百倍地减少 了CPU对I/0控制的干预,进一步提高了CPU与I/0设备 的并行操作程度
I/O控制方式-3 2.它需要使用一个专门的DMA控制器(DMAC)。DMAC中有 控制、状态寄存器、传送字节计数器、内存地址寄存器 和数据缓冲寄存器。 3.它采用盗窃总线控制权的方法,由DMAC送出内存地址 和发出内存读、设备写或设备读、内存写的控制信号来 完成内存与设备之间的直接数据传送,而不用CPU的干 预。有的DMA传送甚至不经过DMAC的数据缓冲寄存器的 再吞吐,传输速率非常高。 4.仅在传送一个或多个数据块的开始和结束时,才需 CPU干预,整块数据的传送是在控制器的控制下完成的。 • 可见,DMA方式较之中断驱动方式,又是成百倍地减少 了CPU对 I/O控制的干预,进一步提高了CPU与I/O设备 的并行操作程度
采用DMA方式时,允许DMA控制器 接管地址线的控制权,直接控制 DMA控制器与内存的数据交换。从 而使磁盘设备与储器之间的数据传送 不需要CPU介入,因而减轻了CPU 负担 当采用DMA时,除向控制器提供要读 块的磁盘地址外,还要向控制器提供 两个信息:要读块送往內存的起始地 址和要传送的字节数
采用DMA方式时,允许DMA控制器 接管地址线的控制权,直接控制 DMA控制器与内存的数据交换。从 而使磁盘设备与储器之间的数据传送 不需要CPU介入,因而减轻了CPU 负担 当采用DMA时,除向控制器提供要读 块的磁盘地址外,还要向控制器提供 两个信息:要读块送往内存的起始地 址和要传送的字节数
Direct memory access dma) 1. CPU programs DMA Disk In CPU the dma controller controller memory controller Buffer Address Count Control4.Ack Interrupt when 2. DMA requests done transter to memory 3. Data transferred ←Bus Operation of a dma transfer
Direct Memory Access (DMA) Operation of a DMA transfer
驱动器 CPU 存储器 磁盘控制器 数据缓冲区 控制状态 存储器地址 计数 系统总线(地址线,数据线,控制线) 寄存器 DMA传送
寄存器