2 hkmyht Hkmyht 于 2016.02.28 16:00 提问

8086内存空间地址 和内存条

图片说明
比如8086CPU来说。 地址总线20位 2的20次方 1MB 那内存条呢。 内存条是1MB怎么算?

而且32位CPU 内存寻址能力是4G 内存条也是4G 还有显存 这怎么理解?

2个回答

caozhy
caozhy   Ds   Rxr 2016.02.28 18:49

地址和地址空间是两个概念,4GB内存需要2^32个地址空间。也就是32bit地址线能表示的最大值,所以32bit下寻址能力是4GB。
地址空间除了内存需要使用,dma设备、bios设备,比如显存、硬盘、io等都需要地址,所以在32bit下安装了4GB内存,并不能利用全部的内存,大约只能用3~3.7GB左右,而且越先进的电脑,外设越多,能用的就越少。
如果你在windows 8.1下打开系统属性,你会看到4GB内存,3.25GB可用之类的信息。

用电话号码打比方,如果电话号码是8位,那么可以表示00000000~99999999。一共1亿不同的号码。但是显然你的城市没有安装1亿门电话,一些号码是空号。
但是反过来说,如果电话号码是3位,那么最多只能表示1000个不同的号,如果你的城市有2000万门,必然有大量的电话没有办法使用。

caozhy
caozhy 回复Hkmyht: 早期计算机的地址线和字长不同,我解释了,8086的字长是16bit,但是寻址能力是20bit
2 年多之前 回复
Hkmyht
Hkmyht 16位CPU内存条最大支持64k对吧。那么现在的32位CPU 4GB寻址能力(4294967295)内存条就占4G 还有其他存储器可能他的内存地址空间不就够了吧。
2 年多之前 回复
caozhy
caozhy 回复Hkmyht: 16位计算机,比如8086,寻址能力是20bit,也就是1M,80286是24bit,是16MB。在dos下,内存最大支持是640K。就是因为1M的限制。bill gates层说过,对pc机来说,640K内存足够了,成为一个经典笑柄。
2 年多之前 回复
caozhy
caozhy 回复Hkmyht: 16位计算机,地址线是20条,而不是16条,所以寻址能力是16MB
2 年多之前 回复
Hkmyht
Hkmyht 先说说内存地址空间吧(cpu把物理存储器芯片(芯片包括:内存条 BIOS 显卡 等等)看成一个逻辑的存储器等于内存地址空间)但是这个内存空间地址寻址受总线控制 16位1MB 32位4GB。上面理解没错就推下面了。既然最大寻址1MB(8086)如果我加上1MB内存条怎么理解。32位CPU(最大寻址4GB)我装上4G内存条4G显卡。
2 年多之前 回复
lyhoo163
lyhoo163   Rxr 2016.02.29 07:31

地址是读写内存的编号,它好比门牌号码。
内存空间,是内存实际数量。
通过地址引导空间的读写。比如的地址范围:00000000-FFFFFFFFF(16位表示)

8088是16位,16位的使用20位索引地址,最大是1M。32位最大搜索的地址,只能4GB,实际使用时,达不到4GB。

计算机系统,使用内存,是分段(区域)使用,内存中分为几个区,一段作为基本内存(主存贮器),一段作为显存,一段作为BIOS,......
段与段之间,不交叉使用。

这样,内存条的使用有一个基本的分配:基本内存(主存贮器),显存,BIOS,......,具体段(分区)的大小,由系统决定,相互之间不干扰的。

Hkmyht
Hkmyht 你也说16位CPU 索引地址是1MB对吧。 然后由系统支配。(这些内存地址空间,在物理上是由各个存储器组成有BIOS 内存条 显卡。。等等)反正大小不能超过1MB。比如我插上了一条1MB的内存条。CPU又怎么解释?如果前面的说法成立。CPU已经给内存条分配的地址。那内存条大小在哪里?(或者说内存条大小不能超过CPU 给各个存储器分配的区域)
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
8086分配内存空间详解
对同一个内存地址,有不同的段:偏移量组合方法,比如2233FH这个地址,既可以表示为1234H:0FFFFH(在1234H段中),也可以表示为2233H:0000FH(在2233H段中)。   那么,如果汇编程序中有下面两个连续的段定义,汇编编译程序会怎么做呢?   name1 segment   d1 db 0   name1 ends   name2 segment   d2 db
8086存储器编址和IO编址
 1)存储器编址 由于微处理器内部的寄存器和ALU都是16位的,为了方便20位的地址管理,在8086对存储器管理的设计中,采用了分段管理的技术。 采用分段方法进行编址的优点: 减少指令长度,提高指令执行速度。 为程序的浮动装配创造了条件。 (1)物理地址和逻辑地址 对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000H~FFFFFH。 用户编程
8086CPU内存的访问
内存中字的储存     1.  一个字 是两个字节 16位 2.DS数据段寄存器 [address]偏移地址 3.字的传送 4.mov add sub(减法) 5.数据段 6.栈 7.cpu提供的栈机制 8.栈顶的越界问题 9.push pop 指令 10.栈段 实验: 在内存 0处 存放20000(4E20H) 0  20H 1  4EH   (高位对高地址)
微机原理--第二章(4)8086的存储器编址和I/O编址
1)存储器编址 由于微处理器内部的寄存器和ALU都是16位的,为了方便20位的地址管理,在8086对存储器管理的设计中,采用了分段管理的技术。 采用分段方法进行编址的优点: 减少指令长度,提高指令执行速度。 为程序的浮动装配创造了条件。(1)物理地址和逻辑地址 对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000H~FFFFFH。 用户编程时,采用逻辑地址,形式为: 段地址 :
8086系统存储空间分配
本文从介绍DVCC8086十六位微型机的硬件组成开始,讨论了十六位微机实验系统的输入输出的相关内容。描述DVCC8086十六位微型机本身的所有资源,同时也对本设计中使用的输入输出设备开关量、数码管显示器、与输入输出相关的接口芯片及其驱动程序进行了详细的讲解。最后给出了一个具体的输入输出的应用,以此来了解如何进行一个完整的输入输出系统的设计。
BIOS内存分布详图
BOIS内存分布详细介绍资料,可供编写bootloader/操作系统使用
8086存储器的分段组织与管理
1、熟悉8086存储器的分段管理方式。<br />     2、掌握存储单元地址的两种描述方式:物理地址和逻辑地址,以及从逻辑地址到物理地址的换算方法。     内存是设置在主机内部的存储器,能被CPU直接访问,主要用来存放当前运行的程序和所需的数据,以便随时向CPU提供信息。它与CPU的联系最密切,若把CPU比作生产成品的工厂,那么内存就是原材料供应处,随时为CPU提供原材料。了解8086系统对内存的管理方式有助于理解CPU的工作原理。   <br /><br /><br />一
内存地址空间与分配
在32计算机中,它的最大内存容量是2^32次方(4个GB大小)。它是由无符号整形从0~4GB顺序构成。0地址对应一个存储单元(8bit),1地址也对应一个存储单元(8bit),以此类推。如果一个数据对应的地址是0~3地址,那么它占3个存储单元,也就是3个字节。 内存地址指的是RAM的地址,通常用16进制表示。
CPU位宽与内存寻址能力没有关系
CPU位宽与内存寻址能力没有关系      最近面试时遇到一个问题,特意看看有多少人认为CPU的位宽意味着寻址能力,结果发现也有相当一部分人被误导!请注意:2^CPU位宽次方这种计算方法是明显错误的! 系统上也是,一早就有技术支持64G内存,只不过微软为钱,没在32位的桌面级电脑上允许那项功能! 先讲CPU寻址能力! 一般厂商标示多少位CPU是说CPU的运算位宽!
IO端口、IO内存、IO空间、内存空间的含义和联系
1,IO空间:X86一个特有的空间,与内存空间独立的空间,同样利用IO空间可以操作数据,只不过是利用对应的IO端口操作函数,例如inb(), inbw(), inl(); outb(), outw(), outl()等。     2,内存空间:内存地址的寻址范围,例如32位操作系统内存空间为2的32次幂,即4G。     3,IO端口:当外部寄存器或内存映射到IO空间时,即只能用IO端口操作函