第三章存储系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.1.2 存储系统的层次结构

多个层次的存储器:



第1层:Register Files (寄存器堆) 第2层:Buffers (Lookahead) (先行缓冲站) 第3层:Cache (高速缓冲存储器) 第4层:Main Memory (主存储器) 第5层:Online Storage (联机存储器) 第6层:Off-line Storage (脱机存储器)
2. 低位交叉访问存储器

主要目的:提高存储器访问速度 实现方法:用地址码的低位部分区分存储体号 参数计算方法:




m: 每个存储体的容量 n: 存储体的个数 j: 存储体的体内地址,j = 0, 1, 2,…,m-1 k: 存储体的体号, k = 0, 1, 2,…, n-1 存储器的地址:A = n×j + k 存储器的体内地址:Aj = A/n 存储器的体号:Ak= A mod n
低位交叉访问存储器框图
地址的编码方法:
由8个存储体构成的低位交叉编址方式

存储体的访问周期Tm,由n个存储体构成的 主存储器,各存储体的启动间隔 t = Tm /n 低位交叉存储器是一种采用流水线方式工作 的并行存储系统。在连续工作的情况下,保 持每个存储体速度不变,则整个存储器速度 可望提高n倍
访问效率主要与命中率和两级存储器的速度之比有关 例1:假设T2=5T1,在命中率H为0.9和0.99两种情况下, 分布计算存储系统的访问效率。
提高存储系统速度的两条途径:


提高命中率 两个存储器的速度不要相差太大 其中,第二条有时做不到(如虚拟存储器), 这时只能依靠提高命中率
例2:在虚拟存储系统中,两个存储器的速度相 差特别悬殊,如T2 = 105T1,如果要使访问效 率达到e = 0.9,问需要有多高的命中率?
例3:在一个虚拟存储系统中,T2 = 105T1, 原来的命 中率为0.8,如果从磁盘存储器中预取的数据块大 小为4K字,且预取后访问率不低于0.9,计算数据 在主存储器中的重复利用率至少为多少?
3.1存储系统原理


3.1.1 存储系统定义 3.1.2 存储系统的层次结构 3.1.3 存储系统的频带平衡 3.1.4 并行访问存储器 3.1.5 交叉访问存储器 3.1.6 无冲突访问存储器
5. 采用预取技术提高命中率


方法:不命中时,把M2存储器中相邻多个单元组成 的一个数据块取出送入M1存储器中。 计算公式: H n 1 H' n

H’是采用预取技术之后的命中率 H是原来的命中率 n为数据块大小与数据重复使用次数的乘积

证明方法一:
1-H 采用预取技术之后,不命中率(1-H )降低n倍: n 1 H 新的命中率H 1 新的不命中率,即:H ' 1 n
并行访问存储器结构框架图

并行访问存储器逻辑实现:
把地址码分为两个部分,一部分作为地址访问存储器 (这 部分地址码缩短),另一部分控制一个多路选择器,从同 时读出的n个数据中选择一个数据输出

优点:实现简单 缺点:访问冲突



取指令冲突:遇到转移指令,且转移成功时 读操作数冲突:一次同时读出的操作数不一定都有用 写数据冲突:必须凑齐n个数之后一起写入存储器 读写冲突:当要读出的一个字和要写入的一个字处于 同一存储字时,无法在一个周期完成
高位交叉访问存储器框图

例4. 用4M字×4位的存储芯片组成16M ×32 位的主存储器,共用芯片数目:
W B 16M 32 32(片) w b 4M 4

用最高2位地址经译码后产生的信号,控制各组 存储芯片 每组中的32根数据线分别对应直接相连
高位交叉特点



具备并行工作的条件:每个存储模块有各 自独立的控制部件,包括地址寄存器、地 址译码器等,可以独立工作 编址的连续性:由于程序的连续性和局部 性,大部分情况下,指令序列和数据分布 在同一个存储模块中。只有当指令序列跨 越两个存储模块时,才能并行工作 扩大容量,未提高速度
低位交叉访问存储器

设 p(k) 是 k 的概率密度函数,即 p(1) 是 k = 1的概率,p(2)是 k = 2的概率,…, p(n)是 k = n 的概率,则 k 的均值为:
N

k p (k )
k 1
n
N是每个存储周期能够访问到的平均有效字的个数 通常把N称为并行存储器的加速比

速度接近主存储器的速度 存储容量是虚拟地址空间 单位价格接近磁盘存储器的单位价格
2. 存储系统的容量S

要求:

提供尽可能大的地址空间 能够随机访问 只对存储容量最大的存储器编址,其它存储器只 在内部编址或不编址 Cache 存储系统 另外设计一个容量很大的逻辑地址空间,把相关 存储器都映射到这个空间内 虚拟存储系统


第1种冲突概率较小,程序在大多数情况下是顺 序执行的 第2种冲突的概率比较大,操作数的随机性比程 序随机性大 第3和第4种冲突的解决需要进行专门控制 冲突产生的原因:

地址寄存器和控制逻辑只有一套 如果有n个独立的地址寄存器和n套读写控制逻辑, 那么第3和第4种冲突就自然解决
3.1.5 交叉访问存储器

用i表示层数,则有:工作周期 Ti < Ti+1, 存储容量:Si < Si+1, 单位价格:Ci >Ci+1

各级存储器的主要性能特征



源自文库
CPU与主存储器的速度差距越来越大 目前相差两个数量级 今后CPU与主存储器的速度差距会更大
3.1.3 存储系统的频带平衡

设一台速度为200MIPS的计算机,各种访 问源的频带计算如下:


CPU取指令:200MW/s (设每条指令长度为 一个字W) CPU取操作数和保存运算结果:400MW/s (平均每条指令访问两个操作数) 各种输入输出设备访问存储器:5MW/s

三项相加,要求存储器的频带宽度不低于 605MW/s,即要求存储器的访问周期不大 于16.5ns,而实际上主存DRAM的工作周 期为200ns左右。两者相差100倍以上
3.1.4 并行访问存储器


要在一个存储周期内访问到多个数据,最 直接的办法是增加存储器的字长 如:一个存储容量为m字×w位的存储器, 每个存储周期访问w位,即一个字。现把 存储器字长增加n倍,即n ×w位,为了保 持总的存储容量不变,存储器的字数即地 址数量减少n倍,即m/n个字,这样, 一个存储周期就能访问到n个数据。 方法:把m字w位的存储器改变成m/n字n ×w位的存储器

证明方法二:
在原有命中率公式中,把访问次数扩大到n倍,采用预取技术后, 命中次数为N1 (n 1) N 2,不命中次数仍为N 2 H nN1 (n 1) N 2 nN1 nN 2 N1 n( N1 N 2 ) ( N1 N 2 ) H n 1 n( N1 N 2 ) n
n个存储器组成的存储系统:
M1 (T1, S1, C1)
M2 (T2, S2, C2)
...
Mn (Tn, Sn, Cn)

速度:T ≈ min(T1, T2, …, Tn) 容量:S ≈ max(S1, S2, …, Sn) 价格:C ≈ min(C1, C2, …, Cn)
两种存储系统
3.1.1 存储系统定义
存储系统
取 指 令
取 操 作 数
写 结 果
I/O 数 据

现代计算机系统以存储为中心 存储器是各种信息存储和交换的中心
存储器

在一台计算机中,通常有多种存储器


种类: 主存储器、Cache、通用寄存器、缓 冲存储器、磁盘存储器、光盘存储器 材料工艺:ECL、TTL、MOS、磁表面、 激光、SRAM、DRAM 访问方式:随机访问、直接译码、先进先 出、相联访问、块传送、文件组
存储器的性能指标


速度:访问周期、读出时间、频带宽度 容量:字节B、千字节KB、兆字节MB 和千兆字节GB等 价格:单位容量的价格,$C/bit
1. 存储系统的定义



两个或两个以上速度、容量和价格各不相同的 存储器用硬件、软件、或软件与硬件相结合 的方法连接起来成为一个存储系统。 透明性:从应用程序员角度看是一个存储器 存储系统的速度接近速度最快的存储器,存储 容量等于容量最大的存储器,单位容量的价格 接近最便宜的存储器。

两种方法:


3. 存储系统的价格C

计算公式:
当S2 S1, C C2
C
C1 S1 C2 S2 S1 S2
M1 (T1, S1, C1)
M2 (T2, S2, C2)
(T, S, C)
4. 存储系统的速度T


表示方法:访问周期、存取周期 命中率定义:在M1存储器中访问到的概率


Burroughs公司巨型科学计算机BSP 存储体个数为17,向量长度≤16 我国研制的银河巨型向量机 存储体个数为37,向量长度≤32
2. 二维数组的无冲突访问存储器

要求:一个n×n的二维数组,按行、列、 对角线和反对角线访问,并且在不同的变 址位移量情况下,都能实现无冲突访问



地址码高位交叉 地址码低位交叉 只有低位交叉存储器能够有效解决访问冲 突问题
1. 高位交叉访问存储器

主要目的:扩大存储器容量 实现方法:用地址码的高位部分区分存储体号 参数计算方法:





m: 每个存储体的容量 n: 存储体的个数 j: 存储体的体内地址,j = 0, 1, 2,…,m-1 k: 存储体的体号, k = 0, 1, 2,…, n-1 存储器的地址:A = m×k + j 存储器的体内地址:Aj = A mod m 存储器的体号:Ak= A/m
解决存储器频带平衡方法:



多个存储器并行工作,用并行访问和交叉 访问方法提高存储器的访问速度 (本节下 面介绍) 设置各种缓冲存储器 ,如先行缓冲栈,运 算结果后行缓冲栈等(第五章介绍) 采用存储系统 ,特别是Cache存储系统, 这是目前计算机系统中提高存储器速度的 最有效方法(本章第二、第三节介绍)
N1 H= N1 + N 2
其中:N1是对M1存储器的访问次数 N2是对M2存储器的访问次数

访问周期与命中率的关系:
T HT1 (1 H )T2 当命中率H 1时,T T1

存储系统的访问效率:
e T1 T1 T 1 f (H , 2 ) T H T1 (1 H ) T2 H (1 H ) T2 T1 T1
第三章 存储系统
上海大学计算机学院
存储系统


3.1 存储系统原理 3.2 虚拟存储系统 3.3 高速缓冲存储系统(Cache) 3.4 三级存储系统
3.1存储系统原理


3.1.1 存储系统定义 3.1.2 存储系统的层次结构 3.1.3 存储系统的频带平衡 3.1.4 并行访问存储器 3.1.5 交叉访问存储器 3.1.6 无冲突访问存储器


Cache存储系统:Cache和主存储器构成 目的:提高存储器速度
Cache 主存储器

从系统程序员角度看:

速度接近Cache 的速度 存储容量是主存的容量 单位价格接近主存储器的单位价格


虚拟存储系统:由主存储器和硬盘构成 目的:扩大存储器容量
主存储器
磁盘存储器

从应用程序员角度看:
低位交叉访问存储器


存储器的速度不是随存储体个数的增加而线性 提高,即n个存储体组成的存储器的加速比通 常小于n 原因在于访问冲突:取指令时可能发生程序转 移,取操作数时存在数据离散性 n个存储体的存储系统,每个存储周期只能取 到 k 个有效字,其余( n - k )个存储体有冲突。 k是随机变量,范围[1, n]

p(k)与具体程序的运行状况有密切关系。对于 指令序列,影响p(k)的主要原因是转移指令
3.1.6 无冲突访问存储器
访问冲突的根源:转移指令和数据随机性 1. 一维数组(向量)的无冲突访问存储器


按连续地址访问,没有冲突 位移量为2的变址访问,速度降低一倍


具体方法: 存储体个数n取质数,且n≥向量长度 原因:变址位移量必然与存储体个数互质 例如:
相关文档
最新文档