要访问1KB的内存为啥需要10位地址线,而不是13位?
2017-11-26 14:19
453 查看
内容会持续更新,有错误的地方欢迎指正,谢谢!
博主最近正在学习微机原理与接口技术、计算机组成原理等专业课程,产生了一个疑问:假设地址总线为10位,为什么就可以访问1KB的内存?难道不该是13位,才能访问1KB的内存吗?
认真思考过的小伙伴,应该都会有这个疑问,接下来,我来发表一孔之见:
大家都知道:
8位(Bit)=1字节(Byte)
1024字节(Byte)=1KB
2的10次方=1024
那么就有:
2的13次方 位(Bit)=1KB
现在,问题就出现了,明明10位就可以访问1KB的内存,为啥计算出来要13位?!
解答:地址总线的位指的是地址线,也就是,假设地址总线为10位,那就代表有10根地址线,这里的位和表示二进制那个位(Bit)无关、意义不同!
别弄混淆啦!别弄混淆啦!别弄混淆啦!
总结:已知地址总线通常为32位,那么,可寻址的内存单元为2的32次方(也就是4GB)。由上,要寻址4GB的内存空间,不需要地址总线为35位。
博主最近正在学习微机原理与接口技术、计算机组成原理等专业课程,产生了一个疑问:假设地址总线为10位,为什么就可以访问1KB的内存?难道不该是13位,才能访问1KB的内存吗?
认真思考过的小伙伴,应该都会有这个疑问,接下来,我来发表一孔之见:
大家都知道:
8位(Bit)=1字节(Byte)
1024字节(Byte)=1KB
2的10次方=1024
那么就有:
2的13次方 位(Bit)=1KB
现在,问题就出现了,明明10位就可以访问1KB的内存,为啥计算出来要13位?!
解答:地址总线的位指的是地址线,也就是,假设地址总线为10位,那就代表有10根地址线,这里的位和表示二进制那个位(Bit)无关、意义不同!
别弄混淆啦!别弄混淆啦!别弄混淆啦!
总结:已知地址总线通常为32位,那么,可寻址的内存单元为2的32次方(也就是4GB)。由上,要寻址4GB的内存空间,不需要地址总线为35位。
相关文章推荐
- 为什么内存不对齐需要两次访问内存?
- Linux下访问内存物理地址
- 直接访问内存[显存]地址
- Memory Ordering (注意Cache带来的副作用,每个CPU都有自己的Cache,内存读写不再一定需要真的作内存访问)
- 纯静态html页面,js 如何拦截请求url的后缀不是.html的访问地址
- 设某计算机的逻辑地址空间和物理地址空间均为128KB,按字节编址。若某进程最多需要6页数据存储空间,页面大小为1KB,操作系统采用固定分配局部置换策略为该进程分配4个页框(物理块)。
- Linux下访问内存物理地址
- 使用 Visual Basic 通过 32 位 地址访问内存(中英对照)
- [导入]一段不太好的代码:IE主页不是本站地址就不充许访问或下载
- 嵌入式系统经常具有要求程序员去访问某特定的内存位置的特点。在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。编译器是一个纯粹的ANSI编译器。写代码去完成这一任务。
- 在用户空间(和内核空间)访问内存的绝对地址
- 内存按字节编址,地址区间为[90000H,CFFFFH],若用32K*8bit的存储器芯片构成该内存,需要__块
- Linux下访问内存物理地址
- 12.程序运行为啥需要内存
- 直接访问内存[显存]地址
- 题:若内存按字节编址,用存储容量为32K*8比特的存储芯片构成地址编号A0000H到DFFFFH的内存空间,则至少需要多少片?
- 关于通过nginx配置到apache-tomcat-7.0.67的端口的时候access中打印访问日志会一直输出nginx的地址而不是用户的真实地址
- 纯静态html页面,js 如何拦截请求url的后缀不是.html的访问地址
- # Redis 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写) # # 1k => 1000 bytes # 1kb =>
- 企业中需要变更员工Email地址,如何确保原有受RMS保护的文档访问正常 推荐