第三章存储系统 现代计算机系统都以存储器为中心 在计算机运行过程中,存储器是各种信息存储和交换的中心 本章主要内容: 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.1存储系统的定义 在一台计算机中,通常有多种存储器 主存储器、 Cache、通用寄存器、磁盘存储器、各种缓冲存储器、磁带存储 器、光盘存储器等 构成存储器的材料:ECL,TTL,MoS,磁表面存储器,光存储器。静态存储器 SRAM、动态存储器DRAM 存储器的访问方式:直接译码、随机访问、相联访问、块交换、文件组、 手工加载等 存储器的主要性能指标:速度、容量和价格 速度用存储器的访问周期、读出时间、频带宽度等表示。 容量用字节B、千字节KB、兆字节MB和千兆字节GB等表示。 价格用单位容量的价钱表示,例如$C/b 1、存储系统(或存储体系、存储层次)的定义 两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件、或软 件与硬件相结合的方法连接起来成为一个系统。这个系统对应用程序员透明 并且,从应用程序员看,它是一个存储器,这个存储器的速度接近速度最快的 那个存储器,存储容量与容量最大的那个存储器相等,单位容量的价格接近最 便宜的那个存储器
3—1 第三章 存储系统 • 现代计算机系统都以存储器为中心 • 在计算机运行过程中,存储器是各种信息存储和交换的中心 本章主要内容: 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.1 存储系统的定义 • 在一台计算机中,通常有多种存储器 主存储器、Cache、通用寄存器、磁盘存储器、各种缓冲存储器、磁带存储 器、光盘存储器等 构成存储器的材料:ECL,TTL,MOS,磁表面存储器,光存储器。静态存储器 SRAM、动态存储器 DRAM 存储器的访问方式:直接译码、随机访问、相联访问、块交换、文件组、 手工加载等 • 存储器的主要性能指标:速度、容量和价格 速度用存储器的访问周期、读出时间、频带宽度等表示。 容量用字节 B、千字节 KB、兆字节 MB 和千兆字节 GB 等表示。 价格用单位容量的价钱表示,例如$C/bit。 1、存储系统(或存储体系、存储层次)的定义 两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件、或软 件与硬件相结合的方法连接起来成为一个系统。这个系统对应用程序员透明, 并且,从应用程序员看,它是一个存储器,这个存储器的速度接近速度最快的 那个存储器,存储容量与容量最大的那个存储器相等,单位容量的价格接近最 便宜的那个存储器
MI (T1, SI, C1) 从外部看: T≈min(T,T2,……,Tn),用存储周期表示 S Sn),用M或GB表示 C≈min(C1,C2,……,Cn),用每位的价格表示 图3.2存储系统原理 在一般计算机系统中,主要有两种存储系统: (1) Cache存储系统:由 Cache和主存储器构成 主要目的:提高存储器速度 (2)虚拟存储系统:由主存储器和磁盘存储器构成 主要目的:扩大存储器容量 分析由两个存储器组成的存储系统,容量、速度和价格关系。 Cache[主存储器 主存储器磁盘存储器 系统程序员看 个应用程序员看: 速度接近 Cache,存储容量等于主存,速度接近主存储器,存储容量是虚拟地 每位价格接近主存储器 址空间,每位价格接近磁盘存储器 Cache存储系统 虚拟存储系统 (S1,C1,T1) (S T2) 图3.5由两个存储器构成的存储系统
3—2 • 在一般计算机系统中,主要有两种存储系统: (1) Cache 存储系统:由 Cache 和主存储器构成 主要目的:提高存储器速度 (2) 虚拟存储系统:由主存储器和磁盘存储器构成 主要目的:扩大存储器容量 分析由两个存储器组成的存储系统,容量、速度和价格关系。 …… 从外部看: T≈min(T1,T2,……,Tn),用存储周期表示 S=max(S1,S2,……,Sn),用 MB 或 GB 表示 C≈min(C1,C2,……,Cn),用每位的价格表示 图 3.2 存储系统原理 应用程序员看: 速度接近主存储器,存储容量是虚拟地 址空间,每位价格接近磁盘存储器。 虚拟存储系统 系统程序员看: 速度接近 Cache,存储容量等于主存, 每位价格接近主存储器。 Cache 存储系统 (S,C,T) 图 3.5 由两个存储器构成的存储系统 Cache M1 (S1,C1,T1) 主存储器 M2 (S2,C2,T2) 主存储器 磁盘存储器 M1 (T1,S1,C1) M2 (T2,S2,C2) Mn (Tn,Sn,Cn)
2、存储系统的容量 要求:存储系统的容量等于M2存储器的容量 提供尽可能大的地址空间,且能够随机访问 方法有两种: 只对M存储器进行编址,Ml存储器只在内部编址 另外设计一个容量很大的逻辑地址空间 3、存储系统的单位容量平均价格 计算公式:C= C1·S1+C2·S2 Si+s 当S2》S1时,C≈C2 但S2与S1不能相差太大 4、存储系统的速度 表示方法:访问周期、存取周期、存储周期、存取时间等 命中率定义:在M存储器中访问到的概率 H 其中:N1是对M1存储器的访问次数 N2是对M2存储器的访问次数 访问周期与命中率的关系: T=HT1+(1-H)T2 当命中率H→1时,T→T1 ·存储系统的访问效率: TI TH·71+(1-H)·72H+(1 f(H, 访问效率主要与命中率和两级存储器的速度之比有关 例3.1:假设T2=5T1,在命中率H为0.9和0.99两种情况下,分别计算 存储系统的访问效率。 解:当H=0.9时,e1=1/(0.9+5(1-0.9))=0.72 当H=0.99时 1/(0.99+5(1-0.99))=0.96 提高存储系统速度的两条途径: 是提高命中率H 二是两个存储器的速度不要相差太大 其中:第二条有时做不到(如虚拟存储器),因此 主要依靠提高命中率 例3.2:在虚拟存储系统中,两级存储器的速度相差特别悬殊T2=10° 如果要使访问效率e=0.9,问需要有多高的命中率? 解:09= H+(1-H)·10 0.9H+90000(1-H=1 89999.1H=89999 计算得H=0.999988887770.9999
3—3 2、存储系统的容量 • 要求:存储系统的容量等于 M2 存储器的容量 提供尽可能大的地址空间,且能够随机访问 • 方法有两种: 只对 M2 存储器进行编址,M1 存储器只在内部编址 另外设计一个容量很大的逻辑地址空间 3、存储系统的单位容量平均价格 • 计算公式: C C S C S S S = + + 1 1 2 2 1 2 • 当 S2》S1 时,C≈C2 但 S2 与 S1 不能相差太大 4、存储系统的速度 • 表示方法:访问周期、存取周期、存储周期、存取时间等 • 命中率定义:在 M1 存储器中访问到的概率 H N N N = + 1 1 2 其中:N1 是对 M1 存储器的访问次数 N2 是对 M2 存储器的访问次数 • 访问周期与命中率的关系: T=HT1+(1-H)T2 当命中率 H→1 时,T→T1 • 存储系统的访问效率: e T T T H T H T H H f H T T T T = = + − = + − = 1 1 1 1 1 1 2 2 1 2 1 ( ) ( ) ( , ) 访问效率主要与命中率和两级存储器的速度之比有关 例 3.1:假设 T2=5T1,在命中率 H 为 0.9 和 0.99 两种情况下,分别计算 存储系统的访问效率。 解:当 H=0.9 时,e1=1/(0.9+5(1-0.9))=0.72 当 H=0.99 时,e2=1/(0.99+5(1-0.99))=0.96 • 提高存储系统速度的两条途径: 一是提高命中率 H 二是两个存储器的速度不要相差太大 其中:第二条有时做不到(如虚拟存储器),因此, 主要依靠提高命中率 例 3.2:在虚拟存储系统中,两级存储器的速度相差特别悬殊 T2=105 T1。 如果要使访问效率 e=0.9,问需要有多高的命中率? 解: 0 9 1 1 10 5 . ( ) = H + − H 0.9H+90000(1-H)=1 89999.1H=89999 计算得 H=0.999998888877777…≈0.999999
5、采用预取技术提高命中率 方法:不命中时,把M2存储器中相邻几个单元组成的一个数据块都取出来 送入M1存储器中。 计算公式:H=H+n-1 其中:H是采用预取技术之后的命中率 H是原来的命中率 n为数据块大小与数据重复使用次数的乘积 证明:采用预取技术,不命中率降低n倍: 1-H H+n-1 H=1 也可以采用另外一种证明方法 在原有命中率计算公式中,把访问次数扩大到n倍,这时,由于采用了预取 技术,命中次数为:mM+(m-1)M,不命中次数仍为M,因此新的命中率为 H=mN+(n-1)N2=N+(nM+nN2)-(M+N2)=H+n-1 nNi+nN2 ni+nN2 例3.3:在一个 Cache存储系统中,当 Cache的块大小为一个字时,命中率 为H=0.8;假设数据的重复利用率为5,计算 Cache的块大小为4个字时, Cache 存储系统的命中率是多少?假设T2=5T1,分别计算访问效率。 解:n=4×5=20,采用预取技术之后,命中率提高到: H+n-108+20-1 0.99 20 Cache的块大小为一个字时,H=0.8,访问效率为 e1=1/(0.8+5(1-0.8))=0.55 Cache的块大小为4个字时,H=0.99,访问效率为 e2=1/(0.99+5(1-0.99))=0.96 例3.4:在一个虚拟存储系统中,T2=10°T1,原来的命中率只有0.8,现采 用预取技术,访问磁盘存储器的数据块大小为4字,如果要求访问效率不低于 0.9,计算数据在主存储器中的重复利用率至少为多少? 解:假设数据在主存储器中的重复利用率为m,根据前面的给出关系 08+4096m-1 9 H H+(1-H)10 4096 解这个方程组,得到m=44,即数据在主存储器中的重复利用率至少为44 次。 3.1.2存储器的层次结构 多个层次的存储器: Register Files Buffers Lookahead)→ Cache → Main Memory→ Online storage→ Off-line Storage
3—4 5、采用预取技术提高命中率 • 方法:不命中时,把 M2 存储器中相邻几个单元组成的一个数据块都取出来 送入 M1 存储器中。 • 计算公式: H H n n ' = + −1 其中:H’是采用预取技术之后的命中率 H 是原来的命中率 n 为数据块大小与数据重复使用次数的乘积 证明:采用预取技术,不命中率降低n倍: H H n H n n ' = − − = + − 1 1 1 也可以采用另外一种证明方法: 在原有命中率计算公式中,把访问次数扩大到 n 倍,这时,由于采用了预取 技术,命中次数为:nN1+(n-1)N2 ,不命中次数仍为 N2 ,因此新的命中率为: H nN n N nN nN N nN nN N N nN nN H n n ' ( ) ( ) ( ) = + − + = + + − + + = 1 2 + − 1 2 1 1 2 1 2 1 2 1 1 例 3.3:在一个 Cache 存储系统中,当 Cache 的块大小为一个字时,命中率 为 H=0.8;假设数据的重复利用率为 5,计算 Cache 的块大小为 4 个字时,Cache 存储系统的命中率是多少?假设 T2=5T1,分别计算访问效率。 解:n=4×5=20,采用预取技术之后,命中率提高到: H H n n ' . = . + − = + − = 1 08 20 1 20 0 99 Cache 的块大小为一个字时,H=0.8,访问效率为: e1=1/(0.8+5(1-0.8))=0.55… Cache 的块大小为 4 个字时,H=0.99,访问效率为: e2=1/(0.99+5(1-0.99))=0.96 例 3.4:在一个虚拟存储系统中,T2=105 T1,原来的命中率只有 0.8,现采 用预取技术,访问磁盘存储器的数据块大小为 4K 字,如果要求访问效率不低于 0.9,计算数据在主存储器中的重复利用率至少为多少? 解:假设数据在主存储器中的重复利用率为 m,根据前面的给出关系: 09 1 1 10 08 4096 1 4096 5 . ' ( ') ' . = + − = + − H H H m m , 解这个方程组,得到 m=44,即数据在主存储器中的重复利用率至少为 44 次。 3.1.2 存储器的层次结构 • 多个层次的存储器:Register Files Buffers(Lookahead) Cache Main Memory Online Storage Off-line Storage
如下图所示,如果用i表示层数,则有: 工作速度:TiCi+1, CPU内部通用寄存器堆 第1层 指令和数据缓冲 第2层 存储容量越来越大,每位的价格越来越便宜 Cache (静态随机存储器) 第3层 主存储器 (动态随机存储器DRAM) 第4层 访问速度越来越快 联机外部存储器 (磁盘存储器等) 第5层 脱机外部存储器 第6层 (磁带,光盘存储器等) 存储器的层次结构 各级存储器的主要主要性能特性 存储器层次通用寄存器缓冲栈 Cache主存储器磁盘存储器脱机存储器 存储周期<10ns <10ns10~60ns60~300ns10~30ms2~20min 存储容量<5128<512B8KB~2B|32B~1GB1GB~1TB|5GB~10TB 价格$C/KB1200 0.01 0.0001 访问方式直接译码先进先出相联访问随机访问块访问文件组 材料工艺 ECL ECL SRAM DRAM 磁表面磁、光等 分配管理编译器分配硬件调度硬件调度操作系统|系统/用户系统/用户 带宽MB/S400~800400~1200200~80080~16010~1000.2~0.6 CPU与主存储器的速度差距越来越大 1955年,第一台大型机IBM704,CPU和主存储器的工作周期均为12微秒
3—5 如下图所示,如果用 i 表示层数,则有: 工作速度:Ti<Ti+1, 存储容量:Si<Si+1, 单位价格:Ci>Ci+1, 各级存储器的主要主要性能特性 存储器层次 通用寄存器 缓冲栈 Cache 主存储器 磁盘存储器 脱机存储器 存储周期 <10ns <10ns 10~60ns 60~300ns 10~30ms 2~20min 存储容量 <512B <512B 8KB~2MB 32MB~1GB 1GB~1TB 5GB~10TB 价格$C/KB 1200 80 3.2 0.36 0.01 0.0001 访问方式 直接译码 先进先出 相联访问 随机访问 块访问 文件组 材料工艺 ECL ECL SRAM DRAM 磁表面 磁、光等 分配管理 编译器分配 硬件调度 硬件调度 操作系统 系统/用户 系统/用户 带宽(MB/S) 400~8000 400~1200 200~800 80~160 10~100 0.2~0.6 CPU 与主存储器的速度差距越来越大 1955 年,第一台大型机 IBM 704,CPU 和主存储器的工作周期均为 12 微秒, CPU 内部 第 1 层 第 2 层 第 3 层 第 4 层 第 5 层 第 6 层 存储器的层次结构 通用寄存器堆 指令和数据缓冲 栈 Cache (静态随机存储器) SRAM) 主存储器 (动态随机存储器 DRAM) 联机外部存储器 (磁盘存储器等) 脱机外部存储器 (磁带,光盘存储器等) 存 储 容 量 越 来 越 大 , 每 位 的 价 格 越 来 越 便 宜 访 问 速 度 越 来 越 快
目前,CPU的工作速度提高了4个数量级以上, 主存储器的工作速度仅提高两个数量级, 今后,CPU与主存储器的速度差距会更大 研究存储系统的目的就是要找出解决这一问题的办法。 3.1.3存储器的频带平衡 计算机系统中各级存储器的频带应该达到平衡 例如:有一台速度为500MIPC的计算机系统,主存储器的各种访问源的频带 宽度如下: CPU取指令:500MW/s CPU取操作数和保存运算结果:1000MW/s 各种输入输出设备访问存储器:50MW/s 三项相加,要求存储器的频带宽度不低于1550MW/s 访问周期不大于0.64ns。实际上目前作为主存储器的工作周期 为100ns左右,两者相差150多倍 ·解决存储器频带平衡方法 (1)多个存储器并行工作(本节 (2)设置各种缓冲存储器(第五章 (3)采用存储系统(本章下两节) 3.1.4并行存储器 主要内容: 并行访问存储器 交叉访问存储器 无访问冲突并行存储器 1并行访问存储器 方法:把m字w位的存储器改变成为mn字n×w位的存储器 多路选择器 数据寄存器MBR 存储体 m字×w位) 存储体(m/n字×nw位) 地址寄存器MBR MAR 般存储器 并行访问存储器
3—6 目前,CPU 的工作速度提高了 4 个数量级以上, 主存储器的工作速度仅提高两个数量级, 今后,CPU 与主存储器的速度差距会更大 研究存储系统的目的就是要找出解决这一问题的办法。 3.1.3 存储器的频带平衡 • 计算机系统中各级存储器的频带应该达到平衡 例如:有一台速度为 500MIPC 的计算机系统,主存储器的各种访问源的频带 宽度如下: CPU 取指令:500MW/s CPU 取操作数和保存运算结果:1000MW/s 各种输入输出设备访问存储器:50MW/s 三项相加,要求存储器的频带宽度不低于 1550MW/s。 访问周期不大于 0.64ns。实际上目前作为主存储器的工作周期 为 100ns 左右,两者相差 150 多倍。 • 解决存储器频带平衡方法 (1) 多个存储器并行工作(本节) (2) 设置各种缓冲存储器(第五章) (3) 采用存储系统(本章下两节) 3.1.4 并行存储器 主要内容: 并行访问存储器 交叉访问存储器 无访问冲突并行存储器 1 并行访问存储器 • 方法:把 m 字 w 位的存储器改变成为 m/n 字 n×w 位的存储器 多路选择器 数据寄存器 MBR …… MBR …… ……… 存储体 (m 字×w 位) 存储体(m/n 字×nw 位) 地址寄存器 MBR MAR 一般存储器 并行访问存储器
逻辑实现:把地址码分成两个部分, 部分仍作为存储器的地址 另一部分负责从n个数据中选择一个数据 ●主要缺点:访问冲突大 (1)取指令冲突 (2)读操作数冲突 (3)写数据冲突 (4)读写冲突 2、高位交叉访问存储器 ●主要目的:扩大存储器容量 实现方法:用地址码的高位部分区分存储体号 参数计算方法 m:每个存储体的容量,地址码的低logm位为体内地址 n:总共的存储体个数,地址码的高log2n位控制各个存储体工作 j:存储体的体内地址,j=0,1,2,…,m-1 k:存储体的体号,k=0,1,2,…,n-1 存储器的地址:A=m×k+ 存储器的体内地址:A= A mod m 存储器的体号Ak:A A MBA MBR MBR 0..00.0 0..10..0 F..F0.0 存储体0 存储体1 存储体n1 0..1F.F MAR MAR MAR 译码器 (高位) 存储器地址寄存器(低位) 高位交叉访问存储器的结构
3—7 • 逻辑实现:把地址码分成两个部分, 一部分仍作为存储器的地址 另一部分负责从 n 个数据中选择一个数据 • 主要缺点:访问冲突大 (1) 取指令冲突 (2) 读操作数冲突。 (3) 写数据冲突 (4) 读写冲突 2、高位交叉访问存储器 • 主要目的:扩大存储器容量 • 实现方法:用地址码的高位部分区分存储体号 • 参数计算方法 m:每个存储体的容量,地址码的低 log2 m 位为体内地址 n:总共的存储体个数,地址码的高 log2 n 位控制各个存储体工作 j:存储体的体内地址,j=0,1,2,...,m-1 k:存储体的体号,k=0,1,2,...,n-1 存储器的地址:A=m×k+j 存储器的体内地址:Aj=A mod m。 存储器的体号 Ak:Ak= A m 。 MBA MBR MBR 0..00..0 . . . 0..0F..F 存储体0 0..10..0 . . . 0..1F..F 存储体1 ... F..F0..0 . . . F..FF..F 存储体n-1 MAR MAR MAR … 译码器 (高位) 存储器地址寄存器(低位) 高位交叉访问存储器的结构
MBR MBR MBR 0..10..0 存储体0 存储体1| 存储体n-1 F..F00 MAR MAR MAR 译码 存储器地址寄存器(高位) (低位) 低位交叉访问存储器的结构 3、低位交叉访问存储器。 主要目的:提高存储器访问速度 实现方法:用地址码的低位部分区分存储体号 参数计算方法 存储器地址A的计算公式为:A=n×j+k 存储器的体内地址:A=/4 存储器的体号Ak= A mod n n=8,j=2,k=3 地址是编码方法: 主存储器数据寄存器 234567 101斤121314|15 1617181920212223 「24252627282930311 32333435 36 4041424344454647 484950515253 56|575859606162|6 体内地址(3位) 模块地址(8位 主存储器地址寄存器(6位) 由8个存储体构成的主存储器的低位交叉编址方式
3—8 MBR MBR MBR 0..00..0 0..10..0 . . F..F0..0 存储体0 0..00..1 . . . F..F0..1 存储体1 ...... 0..0F..F . . . F..FF..F 存储体n-1 MAR MAR MAR … 译码器 存储器地址寄存器(高位) (低位) 低位交叉访问存储器的结构 3、低位交叉访问存储器。 • 主要目的:提高存储器访问速度 • 实现方法:用地址码的低位部分区分存储体号 • 参数计算方法 存储器地址 A 的计算公式为:A=n×j+k 存储器的体内地址:Aj= A n 存储器的体号 Ak=A mod n n=8,j=2,k=3 • 地址是编码方法: 主存储器数据寄存器 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 体内地址(3 位) 模块地址(3 位) 主存储器地址寄存器(6 位) 由 8 个存储体构成的主存储器的低位交叉编址方式
n个存储体分时启动 实际上是一种采用流水线方式工作的并行存储器 理论上,存储器的速度可望提高n倍 每存储体的启动间隔为:t=Tm 其中:Tm为每个存储体的访问周期, n为存储体个数。 0号存储体 1号存储体 2号存储体 n-1号存储体 k-存储体周期Tm 低位交叉编址主存储器的分时启动 访问冲突 n个存储体,每个存储周期只能取到k个有效字。其余n-k个存储体冲突。 假设p(k)是k的概率密度函数,即p(n)是k=n的概率。k的平均值为: N 定义转移概率为g,即读出的是转移指令,且转移成功的概率 这时有:p(1)= 从第一个存储体读出的就是转移指令且转移成功 p(2)=(1-p(1))g=(1-g)g p(3)=(1-p(1)-p(2)g=(1-g)2g p(k)=(1-g)g,其中k=1,2,……,n-1 (n)=(1-g) 则:N=1g+2(1-g)g+3(1-g)2g+…+(n-1)(1-g)"g+n(1-g) N=g+(1-g)g+(1-g)2g+…+(1-g)"g +(1-g)g+(1-g)2g+…+(1-g)"g +(1-g)2g+…+(1-g)"g +(1-g)"g:共n-1行 n(1-g)町 1-(1-g) +(1-g)-(1-g +(1-g)2-(1-g)m+ +(1-g)°-(1-g)m+n(1-g)m N=1+(1-g)+(1-g)2+…+(1-g)"2+(1-g)
3—9 • n 个存储体分时启动 实际上是一种采用流水线方式工作的并行存储器 理论上,存储器的速度可望提高 n 倍 每存储体的启动间隔为:t= T n m 其中: Tm 为每个存储体的访问周期, n 为存储体个数。 0 号存储体 1 号存储体 2 号存储体 ······ n-1号存储体 t → ----存储体周期 Tm ---→ 低位交叉编址主存储器的分时启动 • 访问冲突 n 个存储体,每个存储周期只能取到 k 个有效字。其余 n-k 个存储体冲突。 假设 p(k)是 k 的概率密度函数,即 p(n)是 k=n 的概率。k 的平均值为: N k p k k n = = ( ) 1 定义转移概率为 g,即读出的是转移指令,且转移成功的概率。 这时有:p(1)=g 从第一个存储体读出的就是转移指令且转移成功 p(2)=(1-p(1))g=(1-g)g p(3)=(1-p(1)-p(2))g=(1-g)2 g …… p(k)=(1-g)k-1 g,其中 k=1,2,……,n-1 p(n)=(1-g)n-1。 则:N=1g+2(1-g)g+3(1-g)2 g+…+(n-1)(1-g)n-2 g+n(1-g)n-1 N=g+(1-g)g+(1-g)2 g+…+(1-g)n-2 g +(1-g)g+(1-g)2 g+…+(1-g)n-2 g +(1-g)2 g+…+(1-g)n-2 g … +(1-g)n-2 g ;共 n-1 行 +n(1-g)n-1 N=1-(1-g)n-1 +(1-g)-(1-g)n-1 +(1-g)2-(1-g)n-1+… +(1-g)n-2-(1-g)n-1+n(1-g)n-1 N=1+(1-g)+(1-g)2+…+(1-g)n-2+(1-g)n-1
化简后得到 1-(1-g) g 并行存储体个数与程序转移概率的关系 存储体个数g=0.01 g 0.4 3.94 3.44 2.95 2.53 3.14 14.85 8.15 4.86 3.32 2.50 27.50 9.66 5.00 3.33 2.50 几台巨型、大型计算机的主存储器结构 机器型号存储体个数n存储体字长w存储周期Tn频带宽度Bm IBM370/165 32 2,000ns 8MB/ CDC6600 1,000ns 128MB/s CDC7600 32 32 275ns 465MB/s CRAY-1 16 64 50ns 2, 560MB/s 256 160ns 1, 600MB/s STAR-100 512 1,280ns 1,60OMB/ 提高加速比的其他方法: 设置指令和数据缓冲存储器, 低位交叉访问方式与 Cache配合。 例3.6:Star-100巨型机存储系统采用并行和交叉相几何的方式工作,有 32个存储体低位交叉,每次并行读写512位,存储周期为1.28um(磁心存储器), 处理机字长32位,计算它的频带宽度Bm和峰值速度T 解:因为:n=32,w=512,Tm=1280ns, Bm=nw/tm=32×512b/1280ns 12.8Gb/s =1.6GB/s 400MW/s T=2.5ns, 与Tm相比,峰值速度提高512倍。 3-10
3—10 化简后得到: N g g n = 1− (1− ) 并行存储体个数与程序转移概率的关系 存储体个数 g=0.01 g=0.1 g=0.2 g=0.3 g=0.4 4 3.94 3.44 2.95 2.53 2.18 8 7.73 5.70 4.16 3.14 2.46 16 14.85 8.15 4.86 3.32 2.50 32 27.50 9.66 5.00 3.33 2.50 几台巨型、大型计算机的主存储器结构 机器型号 存储体个数 n 存储体字长 w 存储周期 Tm 频带宽度 Bm IBM370/165 4 32 2,000ns 8MB/s CDC6600 32 32 1,000ns 128MB/s CDC7600 32 32 275ns 465MB/s CRAY-1 16 64 50ns 2,560MB/s ASC 8 256 160ns 1,600MB/s STAR-100 32 512 1,280ns 1,600MB/s 提高加速比的其他方法: 设置指令和数据缓冲存储器, 低位交叉访问方式与 Cache 配合。 例 3.6:Star-100 巨型机存储系统采用并行和交叉相几何的方式工作,有 32 个存储体低位交叉,每次并行读写 512 位,存储周期为 1.28um(磁心存储器), 处理机字长 32 位,计算它的频带宽度 Bm 和峰值速度 T。 解:因为:n=32,w=512,Tm=1280ns, Bm=n w/tm=32512b/1280ns =12.8Gb/s =1.6GB/s =400MW/s T=2.5ns, 与 Tm 相比,峰值速度提高 512 倍