汇编语言,,,费解,,地址总线

河北-侠客 2013-03-19 09:34:06
一根地址总线=一个内存单元=一个字节byte=八个位bit=八个数据,这样理解对吗,如果是64位cpu,那么对应的就是64跟地址总线=64个内存单元=64个字节=2^9个bit=2^9个数据吗?很费解啊,请各位大侠帮忙啊
...全文
341 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
huanying1953001795 2013-04-07
  • 打赏
  • 举报
回复
一根地址总线=一个内存单元=一个字节byte=八个位bit=八个数据,这样理解对吗 通常,一个字节(byte)标识八个位(bit),内存的基本单元也基本是字节(byte)(以字节为基本寻址单位)。 总线一般分“地址总线”,“数据总线”,“控制总线”。当CPU要对存储器中的数据进行操作时,必须要明确这个数据在存储器的什么地方(就是地址),怎么样的操作(读还是写等--控制),CPU与存储器的数据互传(数据总线)。我个人乱说下:“假设,我们不搞三总线,只通过一个总线或者说单线串行再解码的方式应该也可以进行寻址,控制,数据传输,但估计会搞得很复杂且效率不是很高,而且要颠覆以前的成果从新开始。很不合算!”以上是我乱扯的。。。 现在已知道是通过地址总线来确定存储器基本单元的位置的,那么1根地址总线可以表示出2个位置0和1, 2根可以确定00,01,10,11四个位置,如此类推32根可以确定2^32个位置即4G个位置,通常说的4G内存在32根地址总线下就可以全识别。 如果是64位cpu,那么对应的就是64跟地址总线=64个内存单元=64个字节=2^9个bit=2^9个数据吗? 这里感觉您的认识就有点模糊了。 通常说64位CPU,一般指CPU单周期处理数据的宽度,(说是通用寄存器的宽度也还可以吧--但这也不是很确切CPU位数的唯一定义方法),它和地址总线的宽度没甚关系,16位的8086CPU的地址总线不就20位吗? 所以您说“如果是64位cpu,那么对应的就是64跟地址总线”就不很正确了。 如果是64根地址总线的话,按上面那个“以此类推”来就是可以确定2^64个存储器单元位置,就是可寻4G*4G个地址。 可想而知,你这“64跟地址总线=64个内存单元=64个字节=2^9个bit=2^9个数据吗”也不正确了。而且是一错又错哦!
IT回忆录 2013-04-07
  • 打赏
  • 举报
回复
地址总线用于表示CPU寻址范围,简单说就是CPU能找到多少内存(存储单元所在的地址)
nadleeh 2013-03-31
  • 打赏
  • 举报
回复
引用 楼主 w_shihao 的回复:
一根地址总线=一个内存单元=一个字节byte=八个位bit=八个数据,这样理解对吗,如果是64位cpu,那么对应的就是64跟地址总线=64个内存单元=64个字节=2^9个bit=2^9个数据吗?很费解啊,请各位大侠帮忙啊
地址总线用于表示最大寻址范围,64根线,每根线有2种状态,那么就是2^64种状态,每种状态对应一个地址,一个地址对应1B存储空间. 换句话说64位地址总线,能寻址0-2^64-1这么一个范围的空间,那么它最大的支持内存就是2^64B. 64位的cpu,支持64bit的单指令,那么就可以寻址64bit的空间. 不过现行的64位cpu 只能寻址48bit 的空间,因为2^64是个天文数字,没太大意义
gsy999 2013-03-29
  • 打赏
  • 举报
回复
引用 2 楼 gsy999 的回复:
一个字节(byte)含有8位(bit) 32位的地址总线一次可以传输8个字节 如果说总线与存储器有对应关系的话,那也是地址总线的位对应存储单元中的位(bit) 计算机在访问存储单元时,是以字节为单位的,即一次至少要访问一个字节。
鬼使神差,我在2L的回贴又发现一个错误,应是4个字节,不是8个.
Jeset 2013-03-21
  • 打赏
  • 举报
回复
二楼正解,也解决了我的疑问,谢谢了!
申祷无 2013-03-21
  • 打赏
  • 举报
回复
64位的CPU的地址总线好像不是64位的,现在的PC机上根本就不会有那么大的内存,用那么多的地址总线完全是浪费。64位地址总线的寻址能力是2^64=18446744073709551616=16777216TB。全世界的内存条加起来可能也没有这么大的容量。
申祷无 2013-03-21
  • 打赏
  • 举报
回复
1个内存单元,不需要地址总线,只需要数据总线和控制总线就行了。这种结构好像是有的,从某些只有一个和CPU通信的端口的外设自身的角度看,这个端口可以看成是没有地址线的,但端口也不是内存。但端口一般都有一个寄存器,这个寄存器可以说是没有地址的。但是这个寄存器如果是按位寻址的就不好说了。 2个内存单元。设第一个内存单元的地址为0,第二个内存单元的地址为1。只需要一条地址总线即可。 4个内存单元。设内存单元的地址依次为:00、01、10、11。需要两根地址总线。 其他的略。
gsy999 2013-03-20
  • 打赏
  • 举报
回复
纠正一下,2L说的地址总线应该是数据总线; 地址总线的多少是影响访问存储单元个数的.
gsy999 2013-03-20
  • 打赏
  • 举报
回复
一个字节(byte)含有8位(bit) 32位的地址总线一次可以传输8个字节 如果说总线与存储器有对应关系的话,那也是地址总线的位对应存储单元中的位(bit) 计算机在访问存储单元时,是以字节为单位的,即一次至少要访问一个字节。
河北-侠客 2013-03-19
  • 打赏
  • 举报
回复
继续解释!费解

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧