按字寻址和按字节寻址以及内存编码、地址总线与数据总线的理解

简介: 按字寻址和按字节寻址以及内存编码、地址总线与数据总线的理解

内存编制和关于按字寻址和按字节寻址的理解:

在很多书上都看到32位地址线的寻址空间是4G,我的理解是32位不就是32bit吗,2^32Bit=4GB/8=0.5GB,为什么会是4G呢?这里其实设计到一个概念,就是内存编址的问题。

32位地址线的寻址范围为什么是4G?

2^30B = 1GB

2^32B = 4GB

这里的计算方法,默认计算机是【内存地址是以字节为单位的,一个内存单元的大小就是1B】

若计算机中内存地址是以字为单位的,4G内存,对应的寻址范围是多少?

4GB=2^32B

1字= 32bit = 4B

2^32/ 4B = 2^30

所以,若以字为寻址单位,则至少需要30跟地址线才能完成对4GB空间的编码。

综上,计算机中内存地址是以字节为单位的,一个内存单元大小就是1KB。


数据总线与地址总线:

地址总线的位数决定CPU的寻址范围;数据总线的位数决定CPU单次能交换的信息总量。总线的速度决定CPU和外设互换信息的速度。

CPU的位数指的是数据总线的位数,而决定最大支持内存的则是地址总线位数。

一般来说,数据总线与地址总线的位数是相同的(也有不同的,比喻51单片机)。

32位操作系统,其地址总线与数据总线位数均为32,若其内存为4G,2^32B=4G,则刚好4G内存都可以寻址得到,内存可以充分被利用。

相关文章
|
3月前
|
数据采集 编解码 人工智能
Gemma 3n正式版开源:谷歌全新端侧多模态大模型,2GB 内存就能跑,重点提升编码和推理能力!
6月底,Google正式开源发布了全新端侧多模态大模型 Gemma 3n!相较此前的预览版,最新的 Gemma 3n 完整版进一步提升性能表现,支持在 2GB 内存的硬件上本地运行,重点提升了编码和推理方面的能力。
488 1
|
Java API 对象存储
JVM进阶调优系列(2)字节面试:JVM内存区域怎么划分,分别有什么用?
本文详细解析了JVM类加载过程的关键步骤,包括加载验证、准备、解析和初始化等阶段,并介绍了元数据区、程序计数器、虚拟机栈、堆内存及本地方法栈的作用。通过本文,读者可以深入了解JVM的工作原理,理解类加载器的类型及其机制,并掌握类加载过程中各阶段的具体操作。
|
缓存 Java Unix
python中内存管理等10个编码习惯
【7月更文挑战第3天】本文涵盖了Python编程中的变量管理、模块导入、命令行参数、内存管理和面向对象设计的10个关键概念。
118 0
python中内存管理等10个编码习惯
|
存储 NoSQL 算法
Redis源码、面试指南(2)内存编码数据结构(下)
Redis源码、面试指南(2)内存编码数据结构
136 4
|
存储 算法 Java
Object o = new Object()在内存中占几个字节
Object o = new Object()在内存中占几个字节
113 0
|
存储 机器学习/深度学习 Linux
程序员必知:关于Linux内存寻址与页表处理的一些细节
程序员必知:关于Linux内存寻址与页表处理的一些细节
198 0
|
程序员 索引
逆向学习汇编篇:内存管理与寻址方式
逆向学习汇编篇:内存管理与寻址方式
168 0
|
存储
汉字和数字站几个字节,估算内存占用情况
该文内容讲述了字符和字节的关系:中文标点占3字节,英文字母或数字占1字节,英文标点也占1字节。1字节等于8字位,1字位是1个二进制数。此外,还介绍了存储单位的换算:1B=8b,1KB=1024B,1MB=1024KB,1GB=1024MB。其中,b代表字位,B代表字节,KB是千字节,MB是兆字节,GB是吉字节。
651 2
|
C语言 C++
C语言进阶⑭(内存函数_以字节操作)momcpy+mommove+memcmp+memset
C语言进阶⑭(内存函数_以字节操作)momcpy+mommove+memcmp+memset
167 0
|
存储 NoSQL API
Redis源码、面试指南(2)内存编码数据结构(上)
Redis源码、面试指南(2)内存编码数据结构
128 0

热门文章

最新文章