注册 登录
编程论坛 汇编论坛

地址总线是什么?

muyoucumian 发布于 2014-09-12 20:54, 3519 次点击
王爽的汇编语言_第二版第一章中这样说:
CPU从3号单元中读取数据的过程如下:
1.CPU通过地址线将地址信息3发出。
2.CPU通过控制线发出内存读命令,选中存储器芯片,并通知它,将要从中读取数据。
3.存储器将3号单元中的数据8通过数据线送入CPU。

我觉得3个步骤挺奇怪的,如果CPU要从3号单元中读取数据,他直接去读取就是了,又没人拦着他,一步完成不好吗,干嘛要分这么多步?而且第1步中,CPU是将地址通过地址线发给谁,发给内存吗,发给内存干什么?我越来越看不懂了。求大神解释一下。

这里有一段解释:(来自百度知道)

问:存储数据时,地址总线是怎样工作的?
答:pc发出地址,放入地址寄存器缓存。con发出控制信号,让待存数据到数据总线,放入数据缓存器。再发出指令放入刚刚找到的地址对应的存储单元。完成!

我更糊涂了,地址寄存器缓存地址做什么?书上根本提都不提这东西啊。
3 回复
#2
hu9jj2014-09-13 08:03
以下是引用muyoucumian在2014-9-12 20:54:39的发言:

王爽的汇编语言_第二版第一章中这样说:
CPU从3号单元中读取数据的过程如下:
1.CPU通过地址线将地址信息3发出。
2.CPU通过控制线发出内存读命令,选中存储器芯片,并通知它,将要从中读取数据。
3.存储器将3号单元中的数据8通过数据线送入CPU。

我觉得3个步骤挺奇怪的,如果CPU要从3号单元中读取数据,他直接去读取就是了,又没人拦着他,一步完成不好吗,干嘛要分这么多步?而且第1步中,CPU是将地址通过地址线发给谁,发给内存吗,发给内存干什么?我越来越看不懂了。求大神解释一下。

这里有一段解释:(来自百度知道)

问:存储数据时,地址总线是怎样工作的?
答:pc发出地址,放入地址寄存器缓存。con发出控制信号,让待存数据到数据总线,放入数据缓存器。再发出指令放入刚刚找到的地址对应的存储单元。完成!

我更糊涂了,地址寄存器缓存地址做什么?书上根本提都不提这东西啊。

CPU不先给出地址,又如何对内存数据进行读写操作呢?所以这是CPU对内存读写操作的第一步;
CUP不发出写或写操作的信号,内存又如何知道是要读数据还是写数据呢?所以这是CPU对内存读写操作的第二步;
只有接到这些信息之后,内存就根据地址总线确定相应的内存单元,读操作时将的数据送到数据总线,写操作时,就将数据总线上的数据保存到指定的内存单元。
#3
远离的人2014-10-08 16:04
CPU将3号地址信息发送给了地址合成器,x86对于寻址方式,采用了段地址:偏移地址的方式寻址,建议你继续往下看,王爽老师讲解的挺好的,看不懂不用太钻了,继续看,直到看完。我当时也遇到了和你一样的问题,但是还是继续坚持,现在可以看得懂大部分的16位汇编程序,现在打算学习WIN32汇编了,嘿嘿,加油吧!
#4
jc96692023-02-15 13:55
我去学习一下。
1