看计算机组成原理想到的一个有关问题

看计算机组成原理想到的一个问题
看计算机组成原理想到的一个有关问题

DMA控制器与CPU可能同时访问主存,那么数据一致性是如何保证的?即:如果DMA改变主存数据前或改变后,CPU读到数据,怎么判断是正确的、想要的?通过数据中的时间戳在应用中再进行判断吗?
------解决方案--------------------
既然交给了DMA, 那么CPU就不应该再“指手画脚”。 应该是加上保护。
------解决方案--------------------
外设通过DMA的一种专门接口电路――DMA控制器(DMAC),向CPU提出接管总线控制权的总线请求,CPU收到该信号后,在当前的总线周期结束后,会按DMA信号的优先级和提出DMA请求的先后顺序响应DMA信号。CPU对某个设备接口响应DMA请求时,会让出总线控制权。于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需CPU干预。数据传送完毕后,设备接口会向CPU发送DMA结束信号,交还总线控制权。
来自百度看计算机组成原理想到的一个有关问题
------解决方案--------------------
不会同时改变吧,有个总线控制权优先级判别,谁先获得,另一方就得靠边站
------解决方案--------------------
引用:
Quote: 引用:

不会同时改变吧,有个总线控制权优先级判别,谁先获得,另一方就得靠边站

如果DMA刷新某个内存,CPU也在读取;
CPU如何判断它读的数据是DMA改过的数据还是没改的数据

如果老婆正在使用某张信用卡网购,同时老公也在用这张卡在ATM机上查余额;
老公如何判断它查到的余额是老婆购物后的余额还是购物前的余额。