题目:若用256K × 8bit的存储器芯片,构成地址40000000H到400FFFFFH且按字节编址的内存区域,则需( )片芯片
A.4 B.8 C.16 D.32 答案:A
解:
1、首先看单位,存储器芯片单位是256K × 8bit,地址是字节Byte,单位不同需要换算。
这里我们单位统一换算成 bit 。
1 Byte = 8 bits
1 K = 1024 Byte
2、所以存储器芯片 =(256×1024)× 8 bit
3、接下来我们看地址,要记住下面的式子,这里的
地址区间 = 后 - 前 = 400FFFFFH-40000000H
而地址的单位是Byte,这里的H代表是16进制,所以
(400FFFFFH-40000000H+1)× 8(单位:bit)/(256×1024)× 8(单位:bit)
= 100000H × 8 / (256×1024)× 8
= 1×16^5 × 8/(256×1024)× 8
= 1×16×16×16×16×16 × 8 /(16×16)×(16×16×4)×8
= 16/4
= 4 则需要4片芯片
4、然后我们详细来看一下存储空间这里的计算 400FFFFFH - 40000000H + 1
我们先算 400FFFFFH + 1 再 - 40000000H
400FFFFFH + 1 = 40100000H
40100000H - 40000000H = 100000H
这里我们是16进制,用进位法,碰到16就进一位,
F=15,所以F+1=16,就要往上进1位,还是F继续进位,
一直进到最后一个F,往上进1位,最后就得到了100000H
(可以理解成我们平常十进制的进位,比如说999+1=1000,而题目是十六进制)
——————————————————————————————————————————
我这里没有写普通十六进制的算法,大家有需要的话可以看搜一下别的老师讲的。
最近在做软考的题,看懂了老师写的十六进制怎么算,但是感觉太复杂了,毕竟只是选择题,就发现了这个算法。不过这个只适用于都是FFFFH和0000H这种情况计算。
标签:编址,一练,40000000H,1024,芯片,16,400FFFFFH,Byte From: https://blog.csdn.net/m0_67423784/article/details/141607796