通过有32根数据线的总线使用ioread8只读取8位数据,总线是如何做到只传输8位数据的?
仔细研究了一下,现代PC机内用的DDR3内存都只有8根数据线,也就是说我们在C语言当中使用char、short、int分别在内存当中存取数据依次会读1次、2次和4次。
但是现在假若通过PCI总线传输数据呢?
PCI总线是32位的,我要与插在PCI总线上的CAN卡通信,我分别调用ioread8、ioread16、ioread32读取数据,是否总线每次都返回32位的数据呢?如果不是,那么总线是如何控制的?假若我调用了ioread8读取8位数据,但是我们只通过总线传输过去了地址信息并没有说我们只要8位数据,这时候总线岂不是乱了?因为PCI总线另一端的CAN卡不知道你要8位还是32位数据。
求解答