chap5-3存储层次

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
29
5.8 进程保护和虚存实例
鲁 东 大 学 信 息 与 电 气 工 程 学 院
5.8.2 页式虚存举例: Alpha Axp的存储管理和21064的TLB Alpha Axp体系结构采用段页相结合的方式。 1. Alpha的地址空间分为3段: kseg(地址最高两位:10) sego(最高位: seg1(最高两位: sego和seg1的布局 0) 11) (内核) (用户) (用户)
9
鲁 东 大 学 信 息 与 电 气 工 程 学 院
提高相联度
+
-
1
Victim Cache 伪相联Cache
+
2
+
2
硬件预取指令 和数据
+
2
编译器控制的预取 用编译技术减少 Cache失效次数
+
3
+
0
使读失效优先 级高于写 子块调入
+
1Βιβλιοθήκη Baidu
在单处理机上实现容 易,被广泛使用 主要用于减少标识的数目 已应用于MIPS R10000 和IBM 620 已应用于Alpha 21064和 R10000中 硬件代价大;两级 Cache 的 块 大 小 不 同 时 实现困难;被广泛采用 实现容易,被广泛使用 对 于 小 容 量 Cache 来 说 实现容易,已应用于 Alpha 21064 已应用于Alpha 21064

存储器的各个体一般是按字交叉的 交叉存储器(interleaved memory) 通常是指存储器的各个体是按字交叉的。 字交叉存储器非常适合于处理: Cache读失效,写回法Cache中的写回
17
假设四个存储体的地址是在字一级交叉的,即
鲁 东 大 学 信 息 与 电 气 工 程 学 院
存储体0中每个字的地址对4取模都是0,体1中每个 字的地址对4取模都是1,依此类推。
鲁 东 大 学 信 息 与 电 气 工 程 学 院
3. 有关虚拟存储器的四个问题 ◆ 映象规则 全相联 ◆ 查找算法 页表,段表,TLB ◆ 替换算法 LRU ◆ 写策略 写回法
25
5.7 虚拟存储器
用页表实现虚拟地址到物理地址的映射
鲁 东 大 学 信 息 与 电 气 工 程 学 院
26
5.7 虚拟存储器
1. 主存的主要性能指标:延迟和带宽 2. 以往: Cache主要关心延迟,I/O主要关心带宽 3. 现在:Cache关心两者 4. 下面讨论几种能提高主存性能的存储器组织技术 5. 在下面的讨论中,我们以处理Cache失效为例来说 明各种存储器组织结构的好处。
11
5.6 主

鲁 东 大 学 信 息 与 电 气 工 程 学 院
1. 虚拟Cache 访问Cache的索引以及Cache中的标识都 是虚拟地址(一部分)。 2. 并非都采用虚拟Cache(为什么?) 新进程虚拟地址指向的物理空间与原进程不同 3. 虚拟Cache的清空问题 解决方法:在地址标识中增加PID字段 (进程标识符) 三种情况下失效率的比较 单进程,PIDs,清空 PIDs与单进程相比:+0.3%~+0.6% PIDs与清空相比: -0.6%~-4.3%
第五章 存储层次
刘飞 liufeildu@163.com
1
第五章 存储层次
鲁 东 大 学 信 息 与 电 气 工 程 学 院
5.5 5.6 5.7 5.8 5.9
减少命中时间 主存 虚拟存储器 进程保护和虚存实例 Alpha AXP 21064存储层次
2
第五章 存储层次
5.5 减少命中时间
鲁 东 大 学 信 息 与 电 气 工 程 学 院
19
5.6 主

鲁 东 大 学 信 息 与 电 气 工 程 学 院
4. 避免存储体冲突
◆ ◆
体冲突:
两个请求要访问同一个体
减少冲突:采用许多体 例如:NEC SX/3最多128个体 这种方法存在问题。
20
5.6 主

假如我们有128个存储体,按字交叉方式工作,并执 行以下程序:
鲁 东 大 学 信 息 与 电 气 工 程 学 院
在以下的讨论中,我们假设基本存储 器结构的性能为: 送地址需4个时钟周期 每个字的访问时间为24个时钟周期 传送一个字的数据需4个时钟周期
12
5.6 主

如果Cache块大小为4个字,则: 失效开销=4×(4+24+4)
鲁 东 大 学 信 息 与 电 气 工 程 学 院
=4×32=128(时钟周期) 带宽=16/128=0.0125(字节/时钟周期) 1. 增加存储器的宽度
4-8 (1 个PTE) 1 10-30 0.1-2% 32-8192 (8-1024 个PTE) 第一级 Cache 全相联/组相联 标识/块 随机 写页表时时清空
10
+
1
鲁 东 大 学 信 息 与 电 气 工 程 学 院
尽早重启动和 关键字优先 非阻塞Cache
+
2
+
3
第二级Cache 容量小且结构 简单的Cache 避免在对Cache 进行索引时进 行地址转换 流水化写
+
2
-
+
0
+
2
+
1
第五章 存储层次
5.6 主 存
鲁 东 大 学 信 息 与 电 气 工 程 学 院
21
5.6 主


鲁 东 大 学 信 息 与 电 气 工 程 学 院
解决体冲突的方法 软件方法(编译器) 循环交换优化 扩展数组的大小,使之不是2的幂。 硬件方法 使体数为素数。 当存储体数为素数,且为2的幂减1 时, 体内地址=地址 mod (存储体中的字数) 可以直接载取。
22
5.6 主

鲁 东 大 学 信 息 与 电 气 工 程 学 院
27
鲁 东 大 学 信 息 与 电 气 工 程 学 院
28
第五章 存储层次
5.8 进程保护和虚存实例
进程:程序呼吸所需的空气及生存的空间。
鲁 东 大 学 信 息 与 电 气 工 程 学 院
5.8.1 进程保护
1. 界地址寄存器 基地址,上界地址 检测条件:(基地址+地址)≤上界地址 2. 虚拟存储器 给每个页面增加访问权限标识 3. 环形保护 4. 加锁和解锁

举例: DEC的Alpha Axp21064:256位宽
2. 采用简单的多体交叉存储器 在存储系统中采用多个DRAM,并利用它们 潜在的并行性。
15
鲁 东 大 学 信 息 与 电 气 工 程 学 院
16
5.6 主

性能举例:(参照前面的假设)
鲁 东 大 学 信 息 与 电 气 工 程 学 院
失效开销=4+24+4×4=44(周期) 带宽=0.4(字节/周期)
地址 0 4 8 12 体0 地址 1 5 9 13 体1 地址 2 6 10 14 体2 地址 3 7 11 15 体3
18
鲁 东 大 学 信 息 与 电 气 工 程 学 院
3. 独立存储体 设置多个存储控制器,使多个体能独立操 作,以便能同时进行多个独立的访存。 ◆ 每个体有独立的地址线 ◆ 非阻塞Cache与多体结构 ◆ 体和超体 将存储器分为若干个独立的存储体,而每个独 立存储体内又划分为若干个按字交叉方式工作的体。
23
第五章 存储层次
5.7 虚拟存储器
鲁 东 大 学 信 息 与 电 气 工 程 学 院
5.7.1 虚拟存储器基本原理
1. 虚拟存储器的特点
◆ ◆ ◆
多个进程可以共享主存空间 程序员不必做存储管理工作 采用动态再定位,简化了程序的装入
2. 虚拟存储器可以分为两类:页式和段式
24
5.7 虚拟存储器
本章存储层次实例总结 表 5-12
34
表 5-12 本章存储层次实例总结
TLB
鲁 东 大 学 信 息 与 电 气 工 程 学 院
第一级 Cache 4-32 1-2 8-66 0.5-20% 1-128K 第二级 Cavhe 直接映象 标识/块 无(直接映象) 写直达/写回法
第二级 Cache 32-256 6-15 30-200 15-30% 256K-16M 页模式 DRAM 直接映象/组相联 标识/块 随机 写回法
6
5.5 减少命中时间
31
鲁 东 大 学 信 息 与 电 气 工 程 学 院
12 11
页地址 地址标识
0
页内位移 索 引 块内位移
Cache容量=16×4KB=64KB
5.5.3 写操作流水化
(图 5.22)
5.5.4 Cache优化技术总结
(表 5-9)
7
鲁 东 大 学 信 息 与 电 气 工 程 学 院
int
x [ 256 ][ 512 ]; j < 512 ; i < 256 ; j = j+1 ) i = i+1 )
for ( j = 0 ; for ( i = 0 ;
x [ i ][ j ] = 2 * x [ i ][ j ]; 因为512是128的整数倍,同一列中的所有元素都 在同一个体内,无论CPU或存储系统多么高级,该程序 都会在数据Cache失效时暂停。
虚拟存储器 4096-16384 10-100 700,000-6,000,000 0.00001-0.001% 16-8192M 磁盘 全相联 表 近似 LRU 写回法
35
块大小 (字节) 命中时间 (时钟周期) 失效开销 (时钟周期) 失效率(局部) 容量(字节) 下一级存储器 映象算法 查找算法 替换算法 写策略
命中时间直接影响到处理器的时钟频率。在 当今的许多计算机中,往往是Cache的访问时间 限制了处理器的时钟频率。
5.5.1 容量小、结构简单的Cache
1. 硬件越简单,速度就越快; 2. 应使Cache足够小,以便可以与CPU一起放 在同一块芯片上。
3
5.5 减少命中时间
5.5.2 虚拟Cache

性能举例
(参照前面的假设)
当宽度为4个字时: 失效开销=1×32(周期) 带宽=0.5(字节/周期)
13
鲁 东 大 学 信 息 与 电 气 工 程 学 院
14
5.6 主


鲁 东 大 学 信 息 与 电 气 工 程 学 院
缺点: 增加CPU和存储器之间的连接通路的宽度 CUP和Cache之间有一个多路选择器 扩充主存的最小增量增加了相应的倍数 写入有可能变得复杂
5.7.2 快表 TLB
鲁 东 大 学 信 息 与 电 气 工 程 学 院
1. TLB

TLB是一个专用的高速缓冲器,用于存放 近期经常使用的页表项; TLB中的内容是页表部分内容的一个副本; TLB也利用了局部性原理。
◆ ◆
2. Alpha Axp 21064 的地址转换过程 3. TLB一般比Cache的标识存储器更小、更快
鲁 东 大 学 信 息 与 电 气 工 程 学 院
4
鲁 东 大 学 信 息 与 电 气 工 程 学 院
5
5.5 减少命中时间
4. 同义和别名 操作系统和用户程序可能使用不同虚拟地址
鲁 东 大 学 信 息 与 电 气 工 程 学 院
解决方法:反别名法,页着色 5. 虚拟索引+物理标识 优点:兼得虚拟Cache和物理Cache的好处 局限性:Cache容量受到限制 (页内位移) Cache容量≤页大小×相联度 6. 举例:IBM3033的Cache 页大小=4KB 相联度=16
8
优化技术 增加块大小
失效率 +
失效 开销 -
命中 时间
硬件复 杂度 0
评价 实 现 容 易 ;RS/6000 550 采用了128字节 MIPS R10000为4路组相联 HP7200 中 采 用 了 类 似的 技术 已应用于MIPS R10000的 第二级Cache 数据预取比较困难;仅被 几台机器采用,如: Alpha 21064 需 采用非阻塞cache;有 几种机器支持它 向软件提出了新要求;有 些机器提供了编译器选项
5. DRAM专用交叉结构
◆ ◆ ◆
介绍几种利用DRAM特性的技术 对DRAM的访问分为行访问和列访问 三种优化方式 Nibble方式
除所需行,还能给出其后的3位
Page方式
SRAM的方式工作,通过改变列地址,可以随机访问缓冲器中的任一 位
Static column方式
与Page类似,但列访问时无须触发列访问选通线
30
鲁 东 大 学 信 息 与 电 气 工 程 学 院
31
鲁 东 大 学 信 息 与 电 气 工 程 学 院
2. Alpha采用三级页表 地址变换过程 3. Alpha的页表项(PTE)
32
鲁 东 大 学 信 息 与 电 气 工 程 学 院
33
第五章 存储层次
5.10 小 结
鲁 东 大 学 信 息 与 电 气 工 程 学 院
相关文档
最新文档