有个单片机方面的问题:存储器的寻址范围是0000H~0FFFH,那么存储器的大小是多少?

我计算方法是,每一个地址大小是16b,也就是2B,总共有16*16*16个地址,那么总大小就是2*16*16*16=8192B 8192/1024=8 所以存储器的大小应该是8KB 可是答案却是4KB,不知道我计算哪里出错了,求指点 谢谢!

地址范围从 0000H ~ 0FFFH,就说明共有16*16*16个地址,即 4096B=4KB。

计算地址空间又一法。三个 F 共 是12个二进制位数,又,10 位二进制位数可包含1024个单元,记为1 KB,还有 2 位, 即 0011(二进制)  = 3 (十进制),这个3 代表有 3 个1 K,所以 1KB + 3KB = 4KB。

扩展资料:

存储器的主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。存储器是具有“记忆”功能的设备,它采用具有两种稳定状态的物理器件来存储信息。

这些器件也称为记忆元件。在计算机中采用只有两个数码“0”和“1”的二进制来表示数据。记忆元件的两种稳定状态分别表示为“0”和“1”。

日常使用的十进制数必须转换成等值的二进制数才能存入存储器中。计算机中处理的各种字符,例如英文字母、运算符号等,也要转换成二进制代码才能存储和操作。

参考资料来源:百度百科-存储器

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-25
存储器的寻址范围是0000H~0FFFH,
共有 0FFFH - 0000H + 1 = 1000H = 4096 = 4K 个单元。

那么存储器的大小是多少?
存储器的每个单元,通常是按照 8 位数来算,即一个字节 Byte。
所以,存储器的大小是 4KB。追问

为什么每个单元是8位呢?不是有16个二进制位吗?我就是这里没有搞清楚,还麻烦您解释下啊

追答

存储器的每个单元,通常是按照 8 位数来算,即一个字节 Byte。

就是这么算,不用讨论。

如果不是 8 位数的,就要有特殊的说明,明确说明位数。
----
CPU 有八位的,每次的存储器操作,就是一个单元。

CPU 也有16位的,每次的存储器操作,就是两个单元。

本回答被提问者和网友采纳
第2个回答  2013-06-23
地址范围从 0000H ~ 0FFFH,就说明共有16*16*16个地址,即 4096B=4KB。不知你为什么要再乘个2?
计算地址空间又一法。三个 F 共 是12个二进制位数,又,10 位二进制位数可包含1024个单元,记为1 KB,还有 2 位, 即 0011(二进制) = 3 (十进制),这个3 代表有 3 个1 K,所以 1KB + 3KB = 4KB。追问

一个地址不是16位二进制,所以一个地址大小应该是16bit=2B吗?刚接触单片机,请指点一下小白

追答

地址是用二进制数表示的,16位二进制数是两个字节,没错。但这两个字节只是表示一个内存单元的地址号码。两字节地址最多只能表示256 个内存单元。不能因为用两字节来表示一个内存单元,就要把一个内存单元数乘上 2 。如果地址为FFFFH 时,按你的理解是否一个地址大小就应该是32bit=4B,就说明共有16*16*16*16*4个地址(内存单元)了呢?显然是错误的。
地址号码和内存单元相关联的,是等量的,有多少个内存单元,就要提供多少个地址号码。地址号码的字节数不能用来做为内存单元数的乘积。
如:地址 2000H,表示的是位置为2000H的那个内存单元,它只是一个字节。它好比我们用 219 表示一个房间号,而并不代表就有二百一十九个房间。
你是把地址代码和内存单元的概念弄混淆了。

追问

谢谢了

第3个回答  2013-06-23
0FFFH转换成二进制是0000 1111 1111 1111,一共12个1,也就是2的12次方,就是4K
第4个回答  2018-11-26
你说的十六位是指地址单元的编码是十六位,而每个地址单元寄存的数据是八位的,即一个地址单元存一个字节,一共4096个地址单元,所以一共存了4096个字节。

有个单片机方面的问题:存储器的寻址范围是0000H~0FFFH,那么存储器的...
地址范围从 0000H ~ 0FFFH,就说明共有16*16*16个地址,即 4096B=4KB。计算地址空间又一法。三个 F 共 是12个二进制位数,又,10 位二进制位数可包含1024个单元,记为1 KB,还有 2 位, 即 0011(二进制) = 3 (十进制),这个3 代表有 3 个1 K,所以 1KB + 3KB = 4KB。

有个单片机方面的问题:存储器的寻址范围是0000H~0FFFH,那么存储器的...
所以,存储器的大小是 4KB。

单片机存储器的地址空间是多少字节?
因为地址码从0000-FFFF,则最大的地址号是FFFF,换算成十进制数就是65536,也就是该存储器的最大寻址范围。存储器的容量是指一片存储器最多能存储多少个单位信息。在这里是65536个,所以在计算机中,称该存储器的容量最大可扩展至64K。MCS-51中,程序存储器通过16位程序计数器(PC)寻址,具有64KB寻址...

怎么计算RAM存储器的地址范围?
地址线是16条,则RAM存储器的总空间为64KB,地址是0000H~FFFFH,看最高位为0~F,为16个数,所以,可以把存储器空间分成16段,一段就是4KB。4KB×16=64KB。如0000H~0FFFH就是4KB。那32KB就应该是8段,那首地址是4000H,那高位从4开始是8个数,4~B,地址范围是,4000H~BFFFH,则最高地址就...

MCS-51单片机的存储器地址空间如何划分?各地址空间的地址范围和容量如何...
- 30H至7FH,进行字节寻址,无特殊功能。- 80H至FFH,共128个地址号码,包含21个特殊功能寄存器,需直接寻址读写。2. 片外RAM:- 地址范围:0000H至FFFFH。- 容量:64KB。- 读写需使用MOVX指令。3. ROM:- 地址范围:0000H至FFFFH。- 容量:64KB。- 0000H至0FFFH,即4KB,位于片内,其余位于...

MCS-51 单片机的存储器地址空间如何划分?各地址空间的地址范围和容量如...
简单介绍如下:MCS-51的存储器有片内RAM、片外RAM 和 ROM 三个空间.片内RAM:地址范围是00H到7FH (52系列延伸到FFH).其中00H到1FH,共32字节,分成四个工作寄存器区,每区有寄存器 R0~R7.对此区域,可以使用 R0~R7 来操作,但是,当前只有一个区是可以这样读写的.对此区域,也可以使用字节地址,...

...的存储器可划为几个空间?其地址范围及容量是多少?在使用上有何不同...
程序存储器有片内和片外存储器两种;数据存储器也有片内和片外存储器两种。2、地址范围及容量程序存储器是片内外统一寻址,片内程序存储空间+片外程序存储空间=64K的存储空间(0000H-FFFFH)。而数据存储器则是单独寻址,片内数据存储空间+片外数据存储空间=128B(00H-7FH)+64KB(0000H-FFFFH)。

寻址空间怎么计算?
64KB=2的十六次方=10000000000000000B(16个0)=也就是十六进制的10000H。也就是说一共有10000H的地址空间,如果把0000H也算作一个地址的话,那么地址最大就是10000H-1=FFFFH.最小就是0000H.计算机 地址线有16根,则可寻址空间有多大()看你计算机是以什么单位编址的,如果是以字节编址,即一个...

64k的数据存储器或者程序存储器的编址范围是多少??
64K的存储器编址范围是0000H-0FFFFH(16进制)64K=64 x 1024=64 x 2^10=2^6 x 2^10=2^16(B)也就是说结果是2的16次方,单位字节。这样存储器的寻址位数就是16位(对应的是2进制位,即从0000 0000 0000 0000到1111 1111 1111 1111),而16进制的1位是2进制的4位,所以对应于16进制就是...

单片机FFF为什么等于4k 4k等于4096而FFF等于4095
存储器寻址范围0000H~0FFFH 共 0FFFH - 0000H + 1 = 1000H = 4096 = 4K 单元 存储器少 存储器每单元通按照 8 位数算即字节 Byte 所存储器 4KB

相似回答