代码改变世界

CPU对存储器的读写(一、地址总线)

2011-06-12 13:23  李龙江  阅读(4813)  评论(0编辑  收藏  举报

  CPU对于内存的读写是通过导线和内存进行传输数据,这些导线和平常电子元件常见的铜线一样只是做的细罢了,这些导线在一起通常成为总线,为了区分这些总线传输的内容逻辑上分为3类,地址总线(传输的是内存地址)、控制总线(传输的是控制命令)、数据总线(传输的是控制的数据)比如CPU发出取回编号为3内存地址的数据8那么读取数据的过程可用图表示

比如mov ax,[3]即CPU通过地址线发送3这个内存地址,控制线发送mov这个命令,数据线把3号地址的内容通过数据线取出返回CPU存放到ax中

地址总线

由上图可见地址总线的数量决定着能够传输的数量比如上图CPU地址总线为10针脚既只能由10根导线与内存相连,那么传输的数据只能是0000000000到1111111111,转换为10进制为0-1023共计1024个数据,那么地址总线宽度为10 那么cpu可访问的内存为1024个内存空间,并口传输数据可一次传输完毕,但是在内存中存放比如100个内存地址那么就需要从0开始存放直到100(见下图),因为地址总线是并口总线所以一次可传输10位数据(串口为4跟导线一根电源线、一根地线、一根发送数据、一根接收数据,所以并口传输数据快,但是并口的缺点很容易理解就是一次100位那么需要100根导线,这是不实际的,所以现在并口除了老式打印机基本上绝迹了,除了对数据传输速度有特别要求的,比如CPU用并口当然会比串口速度快很多)

比如8位数据219(二进制11011011从左到右为低到高)在内存中的存放方式如图