————————————
作者简介:何 军(1980-),男,博士研究生、CCF 会员,主研方向:微处理器设计;张晓东、郭 勇,硕士
收稿日期:2011-12-29 修回日期:2012-02-29 E-mail:joyhejun@126.com
一种
TLB
结构优化方法
何 军,张晓东,郭 勇
(上海高性能集成电路设计中心,上海 201204)
摘 要:针对国产处理器地址代换旁路缓冲(TLB)性能不足的问题,通过对现有的虚实地址代换流程进行分析,提出设置独立第三级页表
基址虚实映射缓存,对数据 TLB 结构进行优化的方法,减少低级页表虚实映射关系对高级页表虚实映射关系的挤占淘汰。SPEC CPU2000
测试结果表明,近一半的课题能减少 60%以上数据 TLB 的 DM 次数,少数课题甚至能减少 90%以上,有效减少数据 TLB 缺失率。
关键词:地址代换旁路缓冲;缺失率;多级页表;页表;虚页号;物理页号
An Optimization Method of TLB Architecture
HE Jun, ZHANG Xiao-dong, GUO Yong
(Shanghai High Performance IC Design Centre, Shanghai 201204, China)
【Abstract】Aiming at the problem of the inefficiency of the Translation Look-aside Buffer(TLB) of a homegrown microprocessor, based on the
analysis of current virtual to real address mapping program, a method of TLB architecture optimization is put forward, which is to setup a separate
virtual to real address mapping cache of the base address of third level page tables, decreasing the occurrence of replacement of higher level page
table entries by lower level ones. After evaluation using SPEC CPU2000 benchmark, the Double Miss(DM) rate of the data TLB of almost half of
the benchmarks is dropped down by 60% at least and some of the benchmarks are decreased by 90% above, such optimization can reduce data TLB
miss rate effectively.
【Key words】Translation Look-aside Buffer(TLB); miss rate; multilevel page table; page table; virtual page number; physical page number
DOI: 10.3969/j.issn.1000-3428.2012.21.067
计 算 机 工 程
Computer Engineering
第 38 卷 第 21 期
Vol.38 No.21
2012 年 11 月
November 2012
·工程应用技术与实现·
文章编号:1000—3428(2012)21—0253—04
文献标识码:A
中图分类号:TP391
1
概述
现代微处理器一般都采用分页式虚拟存储,并利用存
储管理部件
(MMU)
实现虚地址到物理地址的映射,虚拟地
址到物理地址的映射关系存储在页表中,页表管理一般由
操作系统完成。为了减少访问页表的长存储访问延迟,
MMU
将虚实地址映射信息保存在地址代换旁路缓冲
(Translation Look-aside Buffer, TLB)
中。现代多数处理器
一般采用先查询
TLB
将虚地址代换为物理地址,然后访
问一级
Cache
,也就是说
TLB
处在处理器流水线的关键路
径上。因此,
TLB
对处理器的性能具有重要影响,一是其
访问延迟影响处理器的周期时间,二是其命中率影响访存
性能。相关的
TLB
研究表明
[1-2]
,一般
TLB
缺失
(Miss)
的
开销约占系统运行时间的
5
%
~10
%。另外还有一些研究表
明
[1,3-4]
,对于一些访存空间比较大的应用,
TLB
缺失开销
占系统运行时间的比例可达到
40
%
~50
%。对于采用软件
管理
TLB
缺失处理的处理器
[4]
,软件缺失处理程序的执行
时间占核心执行时间的比例可达
80
%。
为了提高
TLB
的性能,可以从
3
个方面进行:减少
访问延迟,减少缺失率,减少缺失处理开销
(
缺失延迟
)
。
针对某国产处理器
TLB
性能的不足,除了采用常见两级
TLB
结构外,本文通过对现有的虚实地址代换流程进行分
析,提出一种新的
TLB
结构优化方法,并进行
SPEC
CPU2000
测试课题评估分析。
2
相关研究
提高
TLB
性能的主要方法包括
3
个方面:减少访问
延迟,减少缺失率,减少缺失处理开销。减少
TLB
访问
延迟是为了不影响处理器主频的提升,一般采用较小容量
的
TLB
,另一方面小容量的
TLB
又不利于减少缺失率,
因此,一般采用两级
TLB
结构,即一级较小容量的
TLB
实现快速访问,二级较大容量的
TLB
作为后援,减少缺
失率。一般一级
TLB
采用全联想结构,二级
TLB
采用多
路组联想结构。例如
Intel Nehalem
[5]
设有
128
条目的一级
指令
TLB
,
64
条目一级数据
TLB
,
512
条目的二级
TLB
,
由指令和数据共享。
在不增加
TLB
容量的前提下,为提高
TLB
命中率,
大页
(superpage)
[2]
是一种常用的技术。现代处理器和
OS
都支持多种页面粒度,例如
x86-64
支持多种页面粒度:
4 KB
,
2 MB
,
4 MB
[6]
,
Power5
处理器支持
4 KB
、
64 KB
、
16 MB
和
16 GB
等页面粒度
[7]
。
在缺失率难以减少的情况下,减少缺失处理开销就十
评论0