Policy Information
一些理解参考了华中科技大学的慕课
名称 | 概念 |
---|---|
存储容量 | 指一个存储器中可以容纳的存储单元总数。典型的存储单元存放一个字节,因此通常用字节数来表示,KB、MB、GB、TB。 |
存取时间 | 读操作时间指一次读操作命令发出到该操作完成、数据读出到数据总线上所经历的时间。通常写操作时间等于读操作时间,故称为存取时间。 |
存取周期 | 也称读写周期,指连续启动两次读/写操作所需间隔的最小时间。通常存储周期略大于存取时间,因为数据读出到总线上,还需要经过数据总线、CPU 内部数据通路传递给控制器/运算器。 |
虚拟存储器 | 是通过硬件/操作系统,实现主存-外存之间的信息部分调入调出,为用户提供一个比实际物理内存容量大得多的存储器逻辑空间,使之为更大或更多的程序所使用。主存-外存之间的信息部分调入调出过程对用户透明。 |
对存储器的要求是容量大、速度快、成本低,但是在一个存储器中要求同时兼顾这三个方面的要求是困难的。
为了解决这方面的矛盾,目前在计算机系统中通常采用多级存储器体系结构,即高速缓冲存储器、主存储器和外存储器。
在计算机系统中存储层次可分为高速缓冲存储器(cache)、主存储器(内存)、辅助存储器(外存)三级。
高速缓冲存储器用来改善主存储器与中央处理器的速度匹配问题。
辅助存储器用于扩大存储空间。
CPU 能直接访问高速缓冲存储器(英文:cache) 和内存;外存信息必须调入内存后才能为 CPU 进行处理。
容量和地址线的换算:
128K的存储器 -> 2 ^ 7 * 1024 = 2 ^ 17 所以有 17根地址线
字长32位,则半字长16位,双字长64位。
按边界对齐方式的存储要求是:
双字数据起始地址的最末三位为000(8字节的整数容倍);
单字数据起始地址的最末二位为00(4字节的整数倍);
半字数据的起始地址的最末一位为0(2字节的整数倍)。
PS:可以不考虑,每个学校要求不一样
位扩展例子:
字扩展例子:
1、设有一个具有20位地址和32位字长的存储器,问:
(1)该存储器能存储多少个字节的信息?
(2)如果存储器由512K * 8位SRAM芯片组成,需要多少片?
(3)需要多少位地址做芯片选择?
5、要求用256K * 16位SRAM芯片设计1024K * 32位的存储器。SRAM芯片有两个控制端:当 C S ‾ \overline {CS} CS 有效时,该片选中。当 W / R ‾ = 1 W/ \overline R =1 W/R=1时执行读操作,当 W / R ‾ = 0 W/ \overline R =0 W/R=0时执行写操作。
7、某机器中,已知配有一个地址空间为0000H–3FFFH的ROM区域。现在再用一个RAM芯片(8K * 8)形成40K * 16位的RAM区域,起始地址为6000H。假设RAM芯片有
C
S
‾
\overline {CS}
CS和
W
E
‾
\overline {WE}
WE信号控制端。CPU的地址总线为A15-A0,数据总线为D15-D0,控制信号为
R
/
W
‾
R/\overline W
R/W(读/写),
M
R
E
Q
‾
\overline {MREQ}
MREQ(访存),要求:
(1)画出地址译码方案。
(2)将ROM与RAM同CPU连接。
顺序方式:各存储体依次顺序定义地址空间,即字扩展方式,每个存储体中的地址是连续的。
地址范围:
M0:00 000-00 111
M1:01 000-01 111
M2:10 000 10 111
M3:11 000-11 111
特点:
(1)某模块进行存取时,其他模块不工作。
(2)某模块出现故障时,其他模块可以照常工作。
(3)增添模块扩充容量比较方便。
(4)各模块串行工作,无法采用流水线技术。
交叉方式:连续地址交叉分配在各个存储体中,每个存储体中的地址是不连续的。
地址范围:
M0:000 00-111 00
M1:000 01-111 01
M2:000 10-111 10
M3:000 11-111 11特点:
(1)同一个模块内的地址都是不连续的。
(2)对连续的存储器访问可实现流水线并行存取,提高存储器的带宽。
计算:
顺序存储器:mT
交叉存储器:可以使用流水线存取,T+(m-1)τ
【例】设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交
叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期
τ=50ns。问顺序存储器和交叉存储器的带宽各是多少?
【解】
作业题:
8、设存储容量为64M,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织。存储周期T=100ns,数据总线宽度为64位,总线传送周期t=50ns。求:顺序存储器和交叉存储器的带宽各是多少?
Cache 的基本原理:
cache 是一种高速缓冲存储器,为了解决 CPU 和主存之间速度不匹配而采用的一项重要技术。
cache 命中率相关计算:
(1)命中率
增加cache以后,就应该尽量争取在cache中命中越多越好。
在一个程序执行期间,设Nc表示cache命中完成存取的总次数,Nm表示未命中、主存完成存取的总次数,h定义为命中率,则有:
(2)主存/cache 系统平均访问时间
设tc表示命中时的cache访问时间,tm表示未命中时的主存访问时间,1-h表示未命中率,则cache/主存系统的平均访问时间ta为:
(3)访问效率
设r=tm/tc表示主存慢于cache的倍率,e表示访问效率,则有:
【例】CPU执行一段程序时,cache完成存取次数为1900次,主存完成存取
次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求
cache/主存系统的效率和平均访问时间。
【解】
作业题:
9、CPU执行一段程序时,cache完成存取的总次数为2420次,主存完成存取的总次数为80次,已知cache存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间。
评论