计算机中内存问题,存储芯片容量问题

1、“计算机的内存是按字节来进行编址” 含义:

就是说一个地址对应二进制的位数是8位,一个字节占8位。可表示数据范围是0-255(0-2^8);

2、存储芯片容量计算方法:

地址线和数据线共同反应存储芯片的容量。

地址线一次确定一个存储单元,地址线上值可能取的所有组合确定了存储单元的个数。所以,存储单元的个数=2^地址线的条数 

常说:8K可以用13根地址线实现。因为1K=1024=2^10单位,所以8K=2^13单位,即13根地址线  【注意是K,而不是Kb】 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------   

地址线:用于传输地址信号,可以指向主存储器的每一个单元。

数据线:用于传输数据,数据信号可传送到各个寄存器,存储器的各个单元,各个端口。

地址线20根,表示能指示2^20个内存单元;

数据线32根,表示通过数据线每次可以传送32位(每根线每次只能传送1位),即4B(32bit= 4*8bit = 4B),4B表示4字节

地址线20,数据线32,所以主存容量为2^20*4B=4MB。

字节寻址,寻址范围为4MB / 4 = 2^20,注意范围没有单位,标识内存地址范围,即为0~2^20-1

【不是用4MB/8b吗,一字节是8b,为什么要除以4啊?】

默认是按内存单元大小(4B)寻址;按字节寻址,一个内存单元4个字节,标识这四个字节需要占用原有地址额外的后两位(可以分别使用00,01,10,11标识这4个字节);

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------   

芯片容量=2的地址线位数次方乘以数据线位数;比如地址线8位,数据线4位,芯片容量:2^8×4=1024位

存储容量的定义 :存储容量是指主存能存放二进制代码的总位数

存储器容量计算公式:

   按位计算 (b)   :        存储容量 = 存储单元个数 x 存储字长

   按字节计算(B):        存储容量 = 存储单元个数 x 存储字长 / 8

存储单元 :CPU访问存储器的最小单位,每个存储单元都有一个地址。

存储字长 :存储器中一个存储单元(存储地址)所存储的二进制代码的位数。

例题:一个存储器有16根地址线,8根数据线,求此存储器存储容量?

答:按位求取  2^16 x 8位 =64K x 8位 

      按字节求取   2^16 x 8位/8 = 64K x B = 64kB

分析:

存储单元与地址线的关系:  我们知道CPU访问存储器的最小单位是存储单元且每个存储单元都有一个地址,1 根地址线可以查找 2 个地址既2个存储单元,16根地址线则可以查找 2^16个存储单元。

存储字长与数据线的关系 :  我们知道存储字长是指存储器中一个存储单元(存储地址)所存储的二进制代码的位数,而二进制代码的位数是由数据线的根数决定的,也就是说: 存储字长 = 数据线根数

字节(B)与位(b)的关系  :    计算机里规定 1Byte = 8bit ,没有为什么就是这样规定定的!!!

所以存储器容量就有;两种表示方法 64K x 8位 = 64KB

我们常见的内存容量表示方法 是以字节为单位的。例如 1GB  ,4MB, 512KB

1GB = 10^3MB =10^6KB = 10^9B = 10^9 x 8b 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------   

3、【问题】某计算机内存按字节编址,内存地址区域从44000H到6BFFFH,共有 160 K字节。 若采用16K×4bit的SRAM芯片,构成该内存区域共需 多少 片?

【回答】实际的存储器总是由一片或多片存储器配以控制电路构成的。其容量为W×B,W表示存储单元(word)的数量,B表示每个单元(word)由多少位(bit)组成。如果一个芯片的规格是a×b,则组成W×B的存储器需要用(W / a)×(B / b)个芯片。

本题中内存片数:(160K / 16K)×(8bit / 4bit) = 20片

【内存地址区域从44000H到6BFFFH,共有 160 K字节,为什么?】 (0x和H符号,都是16进制的表示符号)

16进制:(6BFFF+1 - 44000) H= (6C000 - 44000)H = 28000H     (+1是因为要包含6BFFFH这个地址) 

转10进制:28000H = 2*16^4 + 8*16^3 + 0*16^2 + 0*16^1 + 0*16^0

                                = 2*16^4 + 8*16^3

1MB = 2^10KB 

1KB = 2^10byte

(2*16^4 + 8*16^3) / 2^10  = 160KB           (B就表示题目中的字节)

 

 

参考博文链接:
 https://blog.csdn.net/dingjiawang6/article/details/72860759 

https://bbs.csdn.net/topics/391842109

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章