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

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

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

在很多书上都看到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内存都可以寻址得到,内存可以充分被利用。

目录
相关文章
|
8天前
|
存储 机器学习/深度学习 Linux
程序员必知:关于Linux内存寻址与页表处理的一些细节
程序员必知:关于Linux内存寻址与页表处理的一些细节
11 0
|
10天前
|
程序员 索引
逆向学习汇编篇:内存管理与寻址方式
逆向学习汇编篇:内存管理与寻址方式
12 0
|
2月前
|
C语言 C++
C语言进阶⑭(内存函数_以字节操作)momcpy+mommove+memcmp+memset
C语言进阶⑭(内存函数_以字节操作)momcpy+mommove+memcmp+memset
21 0
|
2月前
|
程序员
内存操作数及寻址方式
内存操作数及寻址方式
23 0
|
2月前
|
存储
汉字和数字站几个字节,估算内存占用情况
该文内容讲述了字符和字节的关系:中文标点占3字节,英文字母或数字占1字节,英文标点也占1字节。1字节等于8字位,1字位是1个二进制数。此外,还介绍了存储单位的换算:1B=8b,1KB=1024B,1MB=1024KB,1GB=1024MB。其中,b代表字位,B代表字节,KB是千字节,MB是兆字节,GB是吉字节。
53 2
|
12月前
|
存储 编译器 C语言
初识C语言指针:内存,字节划分,地址存储,简单使用,指针大小
初识C语言指针:内存,字节划分,地址存储,简单使用,指针大小
|
2月前
|
存储 Linux 程序员
x86的内存寻址方式
在16位的8086时代,CPU为了能寻址超过16位地址能表示的最大空间(因为 8086 的地址线 20 位而数据线 16 位),引入了段寄存器。通过将内存空间划分为若干个段(段寄存器像 ds、cs、ss 这些寄存器用于存放段基址),然后采用段基地址+段内偏移的方式访问内存,这样能访问1MB的内存空间了。
|
10月前
|
存储 缓存 Linux
Linux内核分析与应用2-内存寻址
Linux内核分析与应用2-内存寻址
93 0
|
存储 索引 Windows
驱动开发:内核物理内存寻址读写
在某些时候我们需要读写的进程可能存在虚拟内存保护机制,在该机制下用户的`CR3`以及`MDL`读写将直接失效,从而导致无法读取到正确的数据,本章我们将继续研究如何实现物理级别的寻址读写。首先,驱动中的物理页读写是指在驱动中直接读写物理内存页(而不是虚拟内存页)。这种方式的优点是它能够更快地访问内存,因为它避免了虚拟内存管理的开销,通过直接读写物理内存,驱动程序可以绕过虚拟内存的保护机制,获得对系统中内存的更高级别的访问权限。
7007 1
|
数据处理
海量数据处理面试题:给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?
海量数据处理面试题:给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?
568 0
海量数据处理面试题:给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?