文章目录
1. 地址线、数据线的数目计算
地址线和存储容量有关,存储容量是2的几次方,就有多少根地址线
数据线的数量和位数是一样的
2.单译码和双译码
有n条地址线,就有 2 n 2^n 2n个存储单元(也就是存储容量)。
- 对单译码:
就有 2 n 2^n 2n个译码线(选择线) - 对双译码:
就有 2 n 2 ∗ 2 2^{\frac{n}{2}}*2 22n∗2个译码线(选择线)
3. 存储系统层次结构
目前存储器的特点是:
速度快的存储器价格贵,容量小;
价格低的存储器速度慢,容量大。
越靠近CPU,存储速度越快、容量越小
CPU可直接处理内存,而不能就直接处理外存。需要将外存上的程序和数据调入主存,再从主存调入高速缓存后给CPU利用(高速缓存只是提高CPU对存储系统的访问速度)
因此:和外存储器相比,内存储器的特点:
容量小,速度快,成本高
4. 位、字节、字、字长、存储字长
1.位
位表示的是二进制的位(bit)。
表示一个二进制数码0或1,是计算机存储处理信息的最基本的单位,只能处理0和1
2.字节
字节(Byte)是计算机处理数据的基本单位,计算机以字节为单位存储和解释信息。字节是最小的计算单位;字节表示存储器的容量
1Byte=8bit,一个字节是8个比特、一个字节由8位组成。
对于8位二进制,00000000~11111111。一个字节可以存入一套ASCII码,ASCII码字符总共只有256个字符,因此只需要1KB的内存进行存储
3.字
定义: 计算机在进行数据处理,一次存取、加工、传送的数据长度称为字(word)。一个字一般由多个(整数倍)字节构成。
1word=2Byte=16bit(一个字由两个字节组成,16位组成)
通常称16位是一个字,32位是一个双字,64位是两个双字
计算机的字长决定CPU一次处理实际位数的多少,字长越大,性能越优。
若32位计算机按字编址,则是指按32位编址,则一个字=4B
4.字长(数据字长)
计算机的每个字包含的位数称为字长
比如:32位字长的计算机。 32位是一个双字,一个双字=4B,(4x8=32)
也就是32位的计算机里,按字编址,则一个字=32bit=4B
一个字相当于字长
计算的字长是指它一次可处理的二进制数字的数目。计算机处理数据的速率,自然和它一次能加工的位数以及进行运算的快慢有关。如果一台计算机的字长是另一台计算机的两倍,即使两台计算机的速度相同,在相同的时间内,前者能做的工作是后者的两倍。
大型计算机的字长为32―64位,小型计算机为12―32位,而微型计算机为4一16位。字长是衡量计算机性能的一个重要因素。
5.存储字长
主存的一个存储单元所存储的二进制代码位数
存储字长和机器字长不一定相等
字长32位,按字编址,则1个字=32bit=4B
128MB /4B = 32M
5.按字编址、按字节编址
判断是按字编址还是按字节编址的关键在于,判断 CPU 给出的每一个地址所确定的存储单元的大小。其大小等于一个字节,那么就是按字节编址的;等于一个字,则是按字编址的。
地址的概念:存储器被划分成若干单元。从0号单元开始编号。这些编号就可以看作地址。
寻址的概念:CPU要从存储器读数据,必须要说明读存储器的哪个单元,即指明地址。地址信息通过地址总线向存储器传输。一个N位的地址总线,可以寻址的最大范围是2^N个存储单元。
按字节编址:存储器被划分成若干个单元,每个单元容量为1个字节,从0开始编号(地址)。
**按字编址:**存储器被划分为若干个单元,每个单元容量为1个字(也就是字长)
例:
从0开始编号。对一个2M x 32位的存储器,其容量为8MB
按字编址:CPU一次寻址的大小为1个字(32位),共有8M*8bit/32bit = 2M个单元,即寻址
2
21
2^{21}
221个存储单元,地址总线为21位。
按字节编址:CPU一次寻址大小为1个字节(8位),共有8M*8bit/8bit = 8M个单元,即寻址 2 23 2^{23} 223个存储单元,地址总线为23位。
链接:https://www.zhihu.com/question/25689240/answer/421912940
对于32位:
比如:2M X 32 (按字编址)=
2
3
M
2^3 M
23M X 8 (按字节编址)=容量
6. 计算芯片数目
直接用容量
2K x 8 位的芯片容量为:2K* 8(bit)
按字节编址,按字节编址,一个地址大小8bit,ROM芯片满足,不必位扩展只用字扩展。 4KB/2KB=2片
或者直接用容量:4KB是ROM容量;ROM芯片容量位为2K*8
所以, 4K * 8/(2K * 8)=2片
按字节编址,8bit,因此RAM需要位扩展且字扩展
60K * 8/(4K * 4)=30片
7.由芯片组成存储器+CPU连接
1.芯片数量
K
=
存
储
容
量
已
有
芯
片
的
存
储
容
量
K=\frac{存储容量}{已有芯片的存储容量}
K=已有芯片的存储容量存储容量
或者:
K
=
目
标
a
∗
b
已
给
定
c
∗
d
K=\frac{目标 a*b}{已给定 c*d}
K=已给定c∗d目标a∗b片
芯
片
容
量
=
a
∗
b
芯片容量=a*b
芯片容量=a∗b
2.位扩展叠成一组字扩展排成一排
3.数据线D0…全连在一起,地址线A0…连在一起,多余的地址线用作控制片选,分别连在CS上
4.看条件有的存储不用,计算出是哪几块,去掉即可
5.ROM只有片选,没有R/W; RAM二者都有
6.注意:地址范围是包括了选作片选信号的地址线的,把指定的存储位置写出来,找出地址线和控制线。
8. DRAM刷新
为了便于比较不同刷新方式,设DRAM存储体为128行*128列 的结构,读/写周期 tc=50ns, 刷新间隔为2ms
-
集中式
集中刷新,即2ms内集中安排所有行的刷新
此方式存在死时间, 用在实时要求不高的场合
-
分散式
各行的1次刷新分散安排在存取周期中
不必要的刷新!
用在低速系统中。
-
异步式
各行的刷新分散安排在2ms内。每隔一段时间刷新一行
不存在死时间,用在大多数计算机中。
9.双端口存储器
10.多体交叉存储器
有两种方式:
- 一种是顺序方式(高位交叉方式),
- 一种是低位交叉方式。
顺序:
低位交叉:
时间计算
11.Cache的命中率
t c t_c tc是命中cache的访问时间,也就是cache的存取周期