admin 管理员组文章数量: 1086019
2023年12月19日发(作者:标签云软件)
怎么计算内存按字节编址,地址从A4000H到CBFFFH,共有_(160)_个字节。若用存储容量为32K×8bit的存储芯片构成该内存,至少需要_(5)_片。
内存空间 (CBFFFH-A4000H) +1=27FFF+1(列入 1 2 那么空间总共有 2-1+1=2)
转换为10进制表示为 f*16(0) +f*16(1)+ f*16(2) + 7*16(3)+ 2*16(4){16(3)表示16的3次方}
15 + 240+ 3840 + 28672 + 131072
=163839+1=163840 163840/1024=160
所以 总共有160k 160/32=5
在计算机系统中,存储器中每个单元的位数是相同且固定的,称为存储器编址单位.
不同的计算机,存储器编址的方式不同,主要有字编址和字节编址,内存一半以字节(8位)为单位,或者以字为单位(字的长度可大可小,例如16位或者32位等)
例如:内存地址从AC000H到C7FFFH,则共有C7FFFH-AC000=1BFFFH个地址单元(转换为十进制后,为112K).
如果该内存地址按字(16BIT)编址,则共有112K*16位,假设该内存有28片存储器芯片构成,已知构成此内存的芯片每篇有16K个存储单元,则该芯片每个存储单元存储=(112K*16)/(28*16K)=4位
内存按字节编址,地址从90000H到CFFFFH,若用存储容量为16K×8bit的存储器芯片构成该内存,至少需要 (3) 片。
(3)A.2 B.4 C.8 D.16
今年上半年的一个考试题,一不留神就给弄错了,呵呵
解答一下,留个纪念:
1:内存按字节编址,存储器芯片是8bit,两者皆为B(字节)。
2:90000H到CFFFFH,空间是40000H,存储器芯片是16K。
3:全换算为二进制
40000H=2+4+4+4+4=18
关于存储器编址的问题
在<
而据有些资料(关于微机原理的)讲的,80X86 CPU工作在实模式时,其寻址空间只有1M,当计算机加电启动时,CPU是从0XFFFF0开始执行跳转指令的,BIOS ROM地址范围在0XF0000-0XFFFFF处。
我的问题是:1、对于386以上的CPU,上面的说法哪种正确?如果两者 都不准确请指出。
2、如果按照第二种说法,实际的内存(RAM)的编址是不连续的,因为中间有一部分地址被BIOS ROM占用了。但大多资料上讲的都是以8086 CPU为例的,不知对于386以上的CPU,存储器(RAM、ROM)是怎样编址的?
关于存储器编址的问题
找到答案了,根据<<彻底理解内存概念>;>;一文:
[quote] 物理存储器是指实际存在的具体存储器芯片。如主板上装插的内存条和装载有系统的BIOS的ROM芯片,显示卡上的显示RAM芯片和装载显示BIOS的ROM芯片,以及各种适配卡上的RAM芯片和ROM芯片都是物理存储器。
存储地址空间是指对存储器编码(编码地址)的范围。所谓编码就是对每一个物理存储单元(一个字节)分配一个号码,通常叫作“编址”。分配一个号码给一个存储单元的目的是为了便于找到它,完成数据的读写,这就是所谓的“寻址”(所以,有人也把地址空间称为寻址空间)。
地址空间的大小和物理存储器的大小并不一定相等。举个例子来说明这个问题:某层楼共有17个房间,其编号为801~817。这17个房间是物理的,而其地址空间采用了三位编码,其范围是800~899共100个地址,可见地址空间是大于实际房间数量的。
在386以上档次的微机中,有两种存储器工作方式,一种称为实地址方式或实方式,另一种称为保护方式。在实地址方式下,物理地址仍使用20位,所以最大寻址空间为1MB,以便与8086兼容。保护方式采用32位物理地址,寻址范围可达4GB。当计算机加电启动时工作在实地址方式。
SHADOW(影子)内存的概念:
对于细心的读者,可能还会发现一个问题:即是对于装有1MB或1MB以上物理存储器的机器,其640KB~1024KB这部分物理存储器如何使用的问题。由于这部分地址空间已分配为系统使用,所以不能再重复使用。为了利用这部分物理存储器,在某些386系统中,提供了一个重定位功能,即把这部分物理存储器的地址重定位为1024KB~1408KB。这样,这部分物理存储器就变成了扩展存储器,当然可以使用了。但这种重定位功能在当今高档机器中不再使用,而把这部分物理存储器保留作为Shadow存储器。Shadow存储器可
以占据的地址空间与对应的ROM是相同的。Shadow由RAM组成,其速度大大高于ROM。当把ROM中的内容(各种BIOS程序)装入相同地址的Shadow RAM中,就可以从RAM中访问BIOS,而不必再访问ROM。这样将大大提高系统性能。因此在设置CMOS参数时,应将相应的Shadow区设为允许使用(Enabled)。[/quote]
FFFFF +--------------+
-------|BIOS ROM -|
-------|显示内存等--| 384KB
A0000 |--------------|
------|--------------|
------|基本内存-----| 640KB
00000 |_________|
如上图所示BIOS ROM地址范围在0XF0000-0XFFFFF(当前的BIOS ROM容量可能大于64KB,如果是BIOS ROM容量为128KB,那它的地址范围在0XE0000-0XFFFFF)。因此,计算机加电启动时应该是从0XFFFF0处执行跳转指令的。
版权声明:本文标题:怎么计算内存按字节编址 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1702941114a436765.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论