标题:地址总线问题
只看楼主
小代帅帅
Rank: 1
来 自:北京昌平
等 级:新手上路
帖 子:92
专家分:7
注 册:2013-5-11
结帖率:89.66%
 问题点数:0 回复次数:2 
地址总线问题
在程序语言中提到的地址的传递的物理过程是通过地址总线传递的吗?请各路大神帮忙!谢谢啦!
搜索更多相关主题的帖子: 程序语言 
2013-11-30 16:35
qq404380
Rank: 2
等 级:论坛游民
帖 子:32
专家分:53
注 册:2012-7-23
得分:0 
程序里的传地址不是那个概念,这个比较难解释,程序中的传地址,比如变量int a=5,是在内存里分配了一个空间,存放了数据5,a就是给这个空间起了个名字,但是呢,cpu要找到这个空间,就是找到数据5,那是靠存放这个数据的空间的地址来找的,比如地址是‘0x8000’,

假如程序里需要用到这个a了, 但是这个a只是函数function1()里的局部变量,其他函数function2()里要用到,就取a变量的地址 &a (0x8000)传到 函数function2()里面,就叫传址

我觉得我解释的好乱。。。。。。最好找个关于指针的函数实例讲一下比较好。。。。。。。。
2013-11-30 22:41
好男儿!
Rank: 2
来 自:陕西省
等 级:论坛游民
帖 子:29
专家分:52
注 册:2013-7-26
得分:0 
地址是一个很宽泛的概念,对于你提到的物理地址,大可以理解为字节编号,内存中每一个字节都有唯一的编号与之对应,编号不在内存而是存在于地址总线里,CPU一大堆电路,内存一大堆电路,所谓的地址总线(Address Bus),说白了就是电线,每根线表示一个二进制位,用来表示两种状态,高电位或低电位,一根线瞬间只有一种取值,组合起来就是一种状态,就能对应到相应的字节中去。
举个例子:
1.DOS系统采用20位二进制对每一个字节进行编号,即地址总线20根,所能管理的最大内存空间(字节数)为2^20B = 1MB;
2.80386/486,采用三个字节对每一个内存字节进行编号,而1个字节8个二进制位,即地址总线 3*8 = 24根,所能管理的最大内存空间为 2^24B = 16MB;
3.奔腾计算机地址总线32根,(即编址空间4B),能够访问的内存空间为 2^32B = 4GB.
能明白吗?
2013-11-30 23:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-424458-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039642 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved