DMA模式下CPU是否可以操作I/O口
TMS320C55X存在一种不需要CPU的过多介入就能传输数据的数据传输模式此模式通过DMA模块完成开通此模式后,DMA会向CPU申请总线控制权。当DMA模块得到总线控制...
TMS320C55X 存在一种不需要CPU的过多介入就能传输数据的 数据传输模式 此模式通过DMA模块完成
开通此模式后,DMA会向CPU申请总线控制权。当DMA模块得到总线控制权时就可以进行数据传输,传输完毕后会将总线控制权交还给CPU。
我想问的是。当通过DMA模式与外部设备进行数据交流时,在不打断DMA模式的情况下,CPU是否可以访问和控制I/O口。
希望给出答案的大虾能附上一个可靠的资料来源链接。
谢谢大虾帮忙了。 展开
开通此模式后,DMA会向CPU申请总线控制权。当DMA模块得到总线控制权时就可以进行数据传输,传输完毕后会将总线控制权交还给CPU。
我想问的是。当通过DMA模式与外部设备进行数据交流时,在不打断DMA模式的情况下,CPU是否可以访问和控制I/O口。
希望给出答案的大虾能附上一个可靠的资料来源链接。
谢谢大虾帮忙了。 展开
3个回答
展开全部
DMA 传送方式的优先级高于程序中断,两者的区别主要表现在对CPU的干扰程度不同。中断请求不但使CPU停下来,而且要CPU执行中断服务程序为中断请求服务,这个请求包括了对断点和现场的处理以及CPU与外设的传送,所以CPU付出了很多的代价;DMA请求仅仅使CPU暂停一下,不需要对断点和现场的处理,并且是由DMA控制外设与主存之间的数据传送,无需CPU的干预,DMA只是借用了一点CPU的时间而已。还有一个区别就是,CPU对这两个请求的响应时间不同,对中断请求一般都在执行完一条指令的时钟周期末尾响应,而对DMA的请求,由于考虑它得高效性,CPU在每条指令执行的各个阶段之中都可以让给DMA使用,是立即响应。
(!!!!!DMA主要由硬件来实现,此时高速外设和内存之间进行数据交换不通过CPU的控制,而是利用系统总线。!!!!!)DMA方式是I/O系统与主机交换数据的主要方式之一,另外还有程序查询方式和中断方式。
IO方式:编程控制(programmed IO),始终由程序自己去等待数据,读写数据,直到操作完成
中断方式:有IO要发生时外设先向CPU请求中断处理,CPU响应以后,由ISR完成IO,然后CPU继续被打断/中断的操作,把等待部分去掉了,但是IO过程还是要CPU来完成
DMA方式:DMA事务前先由外设向CPU请求中断处理,CPU响应后由ISR指定参与操作的存储器和大小中断返回后CPU不要再访问指定用作DMA的存储器(否则可能会读写脏数据),DMA事务的IO阶段由DMA芯片直接读写DMA存储器,就是前一个中断里面指定的,该存储器就是主存储器,与CPU分享。一个DMA事务中外设可以进行多次IO直到结束DMA事务。
DMA事务完成时外设再次请求中断,由ISR解锁DMA存储器
CPU上的处理流程类似这样:
Driver->Request->DMA Chip->Require DMA Transaction->ISR->Specify(and lock) DMA Memory->IRet->....->Complete DMA Transaction->ISR->Release DMA Memory->IRet
DMA 芯片上的流程类似这样:
IO Request(come from DMA register)->Require DMA Transaction->IO....IO->Complete DMA Transaction
(!!!!!DMA主要由硬件来实现,此时高速外设和内存之间进行数据交换不通过CPU的控制,而是利用系统总线。!!!!!)DMA方式是I/O系统与主机交换数据的主要方式之一,另外还有程序查询方式和中断方式。
IO方式:编程控制(programmed IO),始终由程序自己去等待数据,读写数据,直到操作完成
中断方式:有IO要发生时外设先向CPU请求中断处理,CPU响应以后,由ISR完成IO,然后CPU继续被打断/中断的操作,把等待部分去掉了,但是IO过程还是要CPU来完成
DMA方式:DMA事务前先由外设向CPU请求中断处理,CPU响应后由ISR指定参与操作的存储器和大小中断返回后CPU不要再访问指定用作DMA的存储器(否则可能会读写脏数据),DMA事务的IO阶段由DMA芯片直接读写DMA存储器,就是前一个中断里面指定的,该存储器就是主存储器,与CPU分享。一个DMA事务中外设可以进行多次IO直到结束DMA事务。
DMA事务完成时外设再次请求中断,由ISR解锁DMA存储器
CPU上的处理流程类似这样:
Driver->Request->DMA Chip->Require DMA Transaction->ISR->Specify(and lock) DMA Memory->IRet->....->Complete DMA Transaction->ISR->Release DMA Memory->IRet
DMA 芯片上的流程类似这样:
IO Request(come from DMA register)->Require DMA Transaction->IO....IO->Complete DMA Transaction
光派通信
2024-09-03 广告
2024-09-03 广告
对光传输设备进行调试和维护,需要掌握以下关键点:1. **熟悉设备性能**:深入了解OTN/DWDM等光传输产品的性能特点,确保能够熟练使用设备。2. **按规范操作**:依据产品说明书和维护手册进行调试和维护,确保操作步骤正确无误。3. ...
点击进入详情页
本回答由光派通信提供
展开全部
DMA进行数据的搬运,I/O控制外设, 通过DMA模式与外部设备进行数据交流时,在不打断DMA模式的情况下,CPU是可以访问和控制I/O口, 只要CPU在访问外设时没有操作DMA相同的地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
深奥……期待高手回他,学习中……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询