澳门新葡亰app下载 > 澳门新葡亰平台游戏app >

主存的主要性能指标延迟和带宽

时间:2019-11-18 17:00:32 阅读:103

  主存的主要性能指标延迟和带宽_建筑/土木_工程科技_专业资料。主存的主要性能指标延迟和带宽

  第五章 存储层次 5.6 主 存 1. 主存的主要性能指标:延迟和带宽 2. 以往: Cache主要关心延迟,I/O主要关心带宽 Cache主要关心延迟,I/O主要关心带宽 主要关心延迟 3. 现在:Cache关心两者 4. 下面讨论几种能提高主存性能的存储器组织技术 5. 在下面的讨论中,我们以处理Cache失效为例来说 明各种存储器组织结构的好处。 1/18 5.6 主 存 ◆ 为了减少失效开销TM,应该: 为了减少失效开销T 应该: 失效开销 减少主存延迟 提高主存带宽 ◆ 增加Cache块大小能利用主存带宽增加所带 增加Cache Cache块大小能利用主存带宽增加所带 来的好处 在以下的讨论中, 在以下的讨论中,我们假设基本存储 器结构的性能为: 器结构的性能为: 送地址需4 送地址需4个时钟周期 每个字的访问时间为24 24个时钟周期 每个字的访问时间为24个时钟周期 传送一个字的数据需4 传送一个字的数据需4个时钟周期 2/18 5.6 主 存 如果Cache大小为4个字, 如果Cache大小为4个字,则: Cache大小为 失效开销= 失效开销=4×(4+24+4) (4+24+ =4×32=128(时钟周期) 32=128(时钟周期) 时钟周期 带宽=16/128=0.0125(字节/时钟周期) 带宽=16/128=0.0125(字节/时钟周期) 字节 1. 增加存储器的宽度 ◆ 性能举例 (参照前面的假设) 参照前面的假设) 当宽度为4个字时: 当宽度为4个字时: 失效开销= 失效开销=1×32(周期) 32(周期) 周期 带宽=0.5(字节/周期) 带宽=0.5(字节/周期) 字节 3/18 5.6 主 存 ◆ 缺点: 缺点: 增加CPU和存储器之间的连接通路的宽度 增加CPU和存储器之间的连接通路的宽度 CPU CUP和Cache之间有一个多路选择器 CUP和Cache之间有一个多路选择器 扩充主存的最小增量增加了相应的倍数 写入有可能变得复杂 ◆ 举例: 举例: DEC的 Axp21064:256位宽 DEC的Alpha Axp21064:256位宽 2. 采用简单的多体交叉存储器 在存储系统中采用多个DRAM, 在存储系统中采用多个DRAM,并利用它们 DRAM 潜在的并行性。 潜在的并行性。 5/18 5.6 主 存 性能举例: 参照前面的假设) 性能举例:(参照前面的假设) 失效开销= 失效开销=4+24+4×4=44(周期) 24+ 44(周期) 周期 带宽=0.4(字节/周期) 带宽=0.4(字节/周期) 字节 ◆ 存储器的各个体一般是按字交叉的 交叉存储器( memory) 交叉存储器(interleaved memory) 通常是指存储器的各个体是按字交叉的。 通常是指存储器的各个体是按字交叉的。 字交叉存储器非常适合于处理: 字交叉存储器非常适合于处理: Cache读失效,写回法Cache中的写回 Cache读失效,写回法Cache中的写回 读失效 Cache 7/18 假设四个存储体的地址是在字一级交叉的, 假设四个存储体的地址是在字一级交叉的,即 存储体0中每个字的地址对4取模都是0 存储体0中每个字的地址对4取模都是0,体1中每个 字的地址对4取模都是1 依此类推。 字的地址对4取模都是1,依此类推。 地址 0 4 8 12 体0 地址 1 5 9 13 体1 地址 2 6 10 14 体2 地址 3 7 11 15 体3 8/18 5.6 主 存 例 5.14 假设某台机器的特性及其Cache的性能为: 假设某台机器的特性及其Cache的性能为: Cache的性能为 · 块大小为1个字 块大小为1 · 存储器总线个字 存储器总线 · Cache失效率为3 % Cache失效率为 失效率为3 · 平均每条指令访存1.2次 平均每条指令访存1.2 1.2次 · Cache失效开销为32个时钟周期(和上面相同) Cache失效开销为32个时钟周期 和上面相同) 失效开销为32个时钟周期( · 平均CPI(忽略Cache失效)为2 平均CPI(忽略Cache失效) CPI(忽略Cache失效 试问多体交叉和增加存储器宽度对提高性能各 有何作用? 有何作用? 如果当把Cache块大小变为2个字时,失效率 如果当把Cache块大小变为2个字时, Cache块大小变为 9/18 5.6 主 存 降为2%;块大小变为4个字时,失效率降为1%。 降为2%;块大小变为4个字时,失效率降为1%。 2% 1% 根据5.6.2小节中给出的访问时间, 5.6.2小节中给出的访问时间 根据5.6.2小节中给出的访问时间,求在采用 2路、4路多体交叉存取以及将存储器和总线宽 度增加一倍时,性能分别提高多少? 度增加一倍时,性能分别提高多少? 解: 在改变前的机器中,Cache块大小为一个 在改变前的机器中,Cache块大小为一个 字,其CPI为 CPI为 (1.2×3%×32)= 2+(1.2×3%×32)=3.15 当将块大小增加为2个字时, 当将块大小增加为2个字时,在下面三种 情况下的CPI分别为: CPI分别为 情况下的CPI分别为: 10/18 5.6 主 存 32位总线和存储器,不采用多体交叉: 32位总线和存储器,不采用多体交叉: 位总线位总线和存储器 采用多体交叉: 位总线位总线和存储器,采用多体交叉: (1.2×2%×(4+24+8))= 2+(1.2×2%×(4+24+8))=2.86 性能提高了10% 性能提高了10% 64位总线和存储器,不采用多体交叉: 64位总线和存储器,不采用多体交叉: 位总线 性能提高了14% 性能提高了14% 如果将块大小增加到4个字节, 如果将块大小增加到4个字节,则: 32位总线和存储器 不采用多体交叉: 位总线位总线和存储器,不采用多体交叉: (1.2×1%× 32)= 2+(1.2×1%×4×32)=3.54 11/18 5.6 主 存 32位总线和存储器,采用多体交叉: 32位总线和存储器,采用多体交叉: 位总线.53 性能提高了25% 性能提高了25% 64位总线和存储器 不采用多体交叉: 位总线位总线和存储器,不采用多体交叉: (1.2×1%× 32)= 2+(1.2×1%×2×32)= 2.77 性能提高了14% 性能提高了14% ◆ 存储体的数目 体的数目≥访问体中一个字所需的时钟周期 体的数目 访问体中一个字所需的时钟周期 3. 独立存储体 设置多个存储控制器, 设置多个存储控制器,使多个体能独立操 以便能同时进行多个独立的访存。 作,以便能同时进行多个独立的访存。 12/18 5.6 主 存 ◆ 每个体有独立的地址线 ◆ 非阻塞Cache与多体结构 非阻塞Cache Cache与多体结构 ◆ 体和超体 (动画演示) 动画演示) 将存储器分为若干个独立的存储体, 将存储器分为若干个独立的存储体,而每个独 立存储体内又划分为若干个按字交叉方式工作的体。 立存储体内又划分为若干个按字交叉方式工作的体。 13/18 5.6 主 存 4. 避免存储体冲突 ◆ 体冲突: 体冲突: 两个请求要访问同一个体 ◆ 减少冲突:采用许多体 减少冲突: 例如: SX/3最多128个体 最多128 例如:NEC SX/3最多128个体 这种方法存在问题。 这种方法存在问题。 14/18 5.6 主 存 假如我们有128个存储体,按字交叉方式工作, 假如我们有128个存储体,按字交叉方式工作,并执 128个存储体 行以下程序: 行以下程序: int x [ 256 ][ 512 ]; j 512 ; i 256 ; j+1 j = j+1 ) i = i+1 ) i+1 for ( j = 0 ; for ( i = 0 ; x [ i ][ j ] = 2 * x [ i ][ j ]; 因为512是128的整数倍, 因为512是128的整数倍,同一列中的所有元素都 512 的整数倍 在同一个体内,无论CPU或存储系统多么高级, 在同一个体内,无论CPU或存储系统多么高级,该程序 CPU或存储系统多么高级 都会在数据Cache失效时暂停。 都会在数据Cache失效时暂停。 Cache失效时暂停 15/18 5.6 主 存 ◆ 解决体冲突的方法 软件方法(编译器) 软件方法(编译器) 循环交换优化 扩展数组的大小,使之不是2的幂。 扩展数组的大小,使之不是2的幂。 硬件方法 使体数为素数 素数。 使体数为素数。 当存储体数为素数,且为2的幂减1时, 当存储体数为素数,且为2的幂减1 体内地址= (存储体中的字数 存储体中的字数) 体内地址=地址 mod (存储体中的字数) 可以直接载取。 可以直接载取。 ◆ 举例 (表 5-10) 16/18 表 5-10 顺序交叉和取模交叉的地址映象举例 存 储 顺 序 体内地址 0 0 1 2 3 4 5 6 7 0 3 6 9 12 15 18 21 1 1 4 7 10 13 16 19 22 2 2 5 8 11 14 17 20 23 0 0 9 18 3 12 21 6 15 1 16 1 10 19 4 13 22 7 2 8 17 2 11 20 5 14 23 交 叉 体 取 模 交 叉 5.6 主 存 5. DRAM专用交叉结构 ◆ 介绍几种利用DRAM特性的技术 介绍几种利用DRAM DRAM特性的技术 ◆ 对DRAM的访问分为行访问和列访问 DRAM的访问分为行访问和列访问 ◆ 三种优化方式 Nibble方式 Nibble方式 Page方式 Page方式 Static column方式 column方式 18/18