【随想】主板上的信息流通

从硬件上讲,CPU和主板上其他设备的通信分为两种:一种是和内存的通信;另一种是和内存以外的设备通信。

CPU和内存的通信依靠三大总线:控制总线、数据总线和地址总线:

  • 通过地址总线发送需要操作的内存地址

  • 通过控制总线发送控制信号(读或者写)

  • 通过数据总线传输数据。

地址总线一次发送一个地址,对应一个字节的地址(按字节编址);控制总线可以通知内存是只传输当前这个字节的地址,还是这个地址相邻的后续几个字节;如果数据总线有64根,那内存就可以一次最多返回8个字节。

CPU和内存以外的设备通信也要依靠三大总线,但逻辑不同。因为两种通信用的是同一套总线,所以CPU上有一个固定的引脚(M/IO)来控制CPU是和内存通信还是和其他设备(也叫IO设备),例如这个引脚高电压代表要和内存,低电压代表和其他设备。当和其他设备通信时,地址总线发送的是设备地址,主板上每个设备都有唯一的地址,即便地址总线有64位,目前设备地址只用到其中的16位。

当CPU查找到某个设备时,就会通过数据总线开始发送数据,设备接收到数据如何处理要看设备本身怎么设计,这就是设备驱动的作用。以内存类比,此时CPU是把所有数据都发送到该设备的“同一个地址”,因为地址总线中的值是设备地址,不会改变。内存只需要把接收到的数据“存起来”即可,但其他设备需要解析处理:

比如显卡,假设CPU发送2次,传过来16个字节,显卡会把前八个字节解析成屏幕坐标,把后八个字节作为坐标值

再比如usb,假设CPU发送了1次,传过来8个字节,usb(usb总线控制器)会把前两个字节作为硬盘中地址,其他字节作为要写入的数据。

等等

还有一些其他的细节,比如有些计算机架构会把其他设备也作为“内存来看待”,和内存里的存储单元一起编址,这样的话,内存存储空间就会变小,因为加入地址是64位的话,就需要其中几位用来标识设备的地址,指向数据的地址位数自然就变少了,内存也就变小了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值