发布网友 发布时间:2022-03-31 18:14
共1个回答
热心网友 时间:2022-03-31 19:43
你的问题问的有些混乱,起始编号为0000H,我是否可以理解为地址编码是16bit位宽?那你打算每个存储单元存储几位二进制数据?首先你得弄清楚每个存储单元的位宽,然后才能确定地址编码位宽,或者由后者推算前者。计算方法如下,你根据自己的情况看怎么算吧:
假设地址编码位宽为n,每个存储单元存储位宽为m,那么总的存储空间v(你是32KB,这里要换算成bit,是32*1024*8bit):
v <= 2^(n + m)
算出来n和m的值,上面式子不一定正好相等,知道这两个数,差不多结果就出来了。其实就像是有V个人在排队,你去设计每列和每行要站多少人,一样的道理,你可以把地址编码想成行数编号,每个存储单元位宽想成每行站的人数即列数。追问能说的通俗一点吗?我看不懂
追答比如,现在有一个32KB的存储器,如果分配每个存储单元存储一个byte,就是一个字节,8bit,
那么需要有32*1024个这样的存储单元(32KB=32*1024*8bit),
所以,相应对存储单元的地址编码要从0到32*1024-1,如果用16进制表示就是从0000H到7fffH。如果还有疑问,可以去看看计算机基础,里面肯定会有介绍。