




已阅读5页,还剩63页未读, 继续免费阅读
(计算机软件与理论专业论文)安全微处理器存储控制单元的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北电力大学硕士学位论文 摘要 本课题的任务是为安全微处理器l x - 1 1 6 4 设计片内的存储控制单元与高速 缓冲存储器控制器。设计实现了一个片上内存管理单元与c a c h e 控制器的设计, 提出了一种6 4 位超标量微处理器中存储管理单元和c a c h e 控制器的设计方法。 实现了m m u 的主要功能,讨论了t l b 关键技术以及访问保护的实现;实现了哈 佛结构的c a c h e ,解决了存储一致性的问题,并采用了低功耗设计。 在存储控制单元m m u 和c a c h e 控制器的实现过程中,采用了a s i c 全定制电 路设计方法,使用了先进的e d a 设计工具进行逻辑设计与仿真。本设计采用了 s m i c 公司的o 1 8 微米工艺标准单元库,经仿真测试满足了l x - i1 6 4 微处理器 芯片在4 0 0 m h z 主频下的设计要求。 关键词:存储控制单元,存储保护,高速缓冲存储器,一致性 a b s t r a c t t h et a s ki st od e v e l o pam m ua n dc a c h ec o n t r o l l e ro fl x 一1 1 6 4p r o c e s s o r i ti s d e s c r i b e dt h ed e s i g no fm e m o r ym a n a g e m e n tu n i t ea n dc a c h ec o n t r o l l e r , w h i c hi s s o c i ti sa l s op r e s e n t e di nt h ed e s i g nam e t h o do fd e s i g no fm m ua n dc a c h e c o n t r o l l e ro f6 4 - b i ts u p e r s c a l a rc p u i ti m p l e m e n t st h et r a n s l a t i o nb e t w e e nv i r t u a l a d d r e s sa n dp h y s i c a la d d r e s s t h e ni ti sd i s c u s s e dt h a tt h ek e yt e c h n i q u ei nt h e d e s i g no ft l ba n dt h er e a l i z a t i o no fa c c e s sp r o t e c t i o nb a s e do nt h ep a g el e v e li n t h i sp a p e r a tl a s t ,h a r v a r da r c h i t e c t u r eo fc a c h ea n ds t o r a g ec o n s i s t e n c yi s a c c o m p l i s h e d ,a n da l la b o v ei si m p l e m e n t e di nt h ed e s i g nm e t h o do fl o wp o w e r c o n s u m p t i o n 。 o nt h eh a r d w a r ei m p l e m e n t a t i o n ,a s i cd e s i g nm e t h o da n da d v a n c e de d at o o l s i su s e dt od e s i g nl o g i ca n ds i m u l a t o r o 1 耻mt e c h n i q u ec e l lo fs m i cc o r p o r a t i o ni s u s e d ,w h i c hm a k et h eg o a lo fl x - 1 16 4p r o c e s s o ro nt h ef r e q u e n c yo f4 0 0 m h z d a im i n g ( c o m p u t e rs o f t w a r et h e o r y ) d i r e c t e db ya s s o c i a t ep r o f x i ah o n g k e yw o r d s :m e m o r ym a n a g e m e n tu n i t ,a c c e s sp r o t e c t i o n ,c a c h e ,s t o r a g e c o n s i s t e n c y 华北电力大学硕士学位论文 摘要 本课题的任务是为安全微处理器l x - 1 1 6 4 设计片内的存储控制单元与高速 缓冲存储器控制器。设计实现了一个片上内存管理单元与c a c h e 控制器的设计, 提出了一种6 4 位超标量微处理器中存储管理单元和c a c h e 控制器的设计方法。 实现了m m u 的主要功能,讨论了t l b 关键技术以及访问保护的实现;实现了哈 佛结构的c a c h e ,解决了存储一致性的问题,并采用了低功耗设计。 在存储控制单元m m u 和c a c h e 控制器的实现过程中,采用了a s i c 全定制电 路设计方法,使用了先进的e d a 设计工具进行逻辑设计与仿真。本设计采用了 s m i c 公司的o 1 8 微米工艺标准单元库,经仿真测试满足了l x - i1 6 4 微处理器 芯片在4 0 0 m h z 主频下的设计要求。 关键词:存储控制单元,存储保护,高速缓冲存储器,一致性 a b s t r a c t t h et a s ki st od e v e l o pam m ua n dc a c h ec o n t r o l l e ro fl x 一1 1 6 4p r o c e s s o r i ti s d e s c r i b e dt h ed e s i g no fm e m o r ym a n a g e m e n tu n i t ea n dc a c h ec o n t r o l l e r , w h i c hi s s o c i ti sa l s op r e s e n t e di nt h ed e s i g nam e t h o do fd e s i g no fm m ua n dc a c h e c o n t r o l l e ro f6 4 - b i ts u p e r s c a l a rc p u i ti m p l e m e n t st h et r a n s l a t i o nb e t w e e nv i r t u a l a d d r e s sa n dp h y s i c a la d d r e s s t h e ni ti sd i s c u s s e dt h a tt h ek e yt e c h n i q u ei nt h e d e s i g no ft l ba n dt h er e a l i z a t i o no fa c c e s sp r o t e c t i o nb a s e do nt h ep a g el e v e li n t h i sp a p e r a tl a s t ,h a r v a r da r c h i t e c t u r eo fc a c h ea n ds t o r a g ec o n s i s t e n c yi s a c c o m p l i s h e d ,a n da l la b o v ei si m p l e m e n t e di nt h ed e s i g nm e t h o do fl o wp o w e r c o n s u m p t i o n 。 o nt h eh a r d w a r ei m p l e m e n t a t i o n ,a s i cd e s i g nm e t h o da n da d v a n c e de d at o o l s i su s e dt od e s i g nl o g i ca n ds i m u l a t o r o 1 耻mt e c h n i q u ec e l lo fs m i cc o r p o r a t i o ni s u s e d ,w h i c hm a k et h eg o a lo fl x - 1 16 4p r o c e s s o ro nt h ef r e q u e n c yo f4 0 0 m h z d a im i n g ( c o m p u t e rs o f t w a r et h e o r y ) d i r e c t e db ya s s o c i a t ep r o f x i ah o n g k e yw o r d s :m e m o r ym a n a g e m e n tu n i t ,a c c e s sp r o t e c t i o n ,c a c h e ,s t o r a g e c o n s i s t e n c y 声明 本人郑重声明:此处所提交的硕士学位论安全微处理器存储控制单元的研究 与设计,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工 作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中 不包含他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或者其他 教育机构的学位或者证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献已在论文中作了明确的说明并表示了致谢。 学位论文作者签名:名叉id 翻 月期:芦伪矽- 3 ,z 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权 保管、并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或 其它复制手段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校 可以学术交流为目的,复制赠送和交换学位论文;同意学校可以用不同方式在不 同媒体上发表、传播学位论文的全部和部分内容。 ( 涉密的学位论文在揭秘后遵守此规定) 毒者签名:f 父目闰 日期 砂号3 ,i l 导师签名:豫导师签名:馘 日期:硼。弓i 夸 华北电力大学硕十学位论文 1 1 处理器发展现状 第一章绪论 计算机系统对存储性能的需求是无止境的。现代计算机系统都是以存储器为中 心的。从计算机启动开始,操作系统或者引导程序就必须将存放在存储介质上的程 序代码和数据读到物理内存,程序才能开始运行。因此,访存性能是计算机系统性 能的重要组成部分。随着多媒体、数据库等访存密集型相关应用的推广,访存需求 正在快速增长。因而,人们提出了存储系统的概念以缓解系统对存储性能的需求。 存储系统充分利用了访存局部性原理,由一系列性能、成本、容量都不同的设备组 成。其在很大程度上解决了访存需求快速增长的问题,促进了计算机系统性能的提 高。 随着微处理器设计和生产工艺的快速发展,虽然访存带宽已经有了较大幅度的 提高,但是存储系统的访问速度与处理器的运算速度的差距越来越显著,并且这个 差距以每年5 0 的速度在增长,访存性能已成为提高计算机系统性能的瓶颈【1 1 。访 存效率成为影响处理器性能发挥的重要因素,存储系统的性能优化从而成为处理器 性能提高的关键【2 1 。如何通过设计高性能存储系统弥补处理器与存储系统性能的差 距长期以来就是体系结构领域的研究热点。 处理器设计者提出了很多技术来弥补处理器与内存速度的差距。其中一种行之 有效的方法就是在处理器的芯片上使用s r a m ( s t a t i cr a n d o ma c c e s sm e m o r y ) 构 建一定容量的存储单元,称为高速缓冲存储器( c a c h e ) ,存放的数据是处理器芯片 外存储器数据的一部分。与d r a m 的访问延时相比,s r a m 的访问延时小很多, 但是它的成本却很高。现今的计算机系统已普遍采用了c a c h e 结构,乃至多级c a c h e 结构,作为提高存储系统性能的有效方法和提高处理器处理能力的重要措施。这也 就形成了层次化存储的原型,其大大加速了存储效率,但同时也对整个存储系统的 管理提出了新的问题,如何高效并且安全地管理层次化存储系统又摆在了处理器设 计人员的面前【引。而存储器控制单元正是基于以上的要求诞生的,其初期的设计目 标就是将存储体系的层次化管理高效且安全地实现。 1 2 选题背景 c p u ( c e n t r a lp r o c e s s i n gu n i t ) ,中文全称中央处理器,是计算机系统中最重要 的一部分,它是整个计算机系统的控制中心。c p u 从最初发展至今已经有二十多年 的历史,这期间,按照其处理信息的字长,c p u 可以分为:4 位微处理器、8 位微 第1 页 华北电力人学硕士学位论文 处理器、1 6 位微处理器、3 2 位微处理器和6 4 位微处理器。 由于英特尔的c p u 控制了9 5 的中国市场,留给国内企业的市场空间很小, 这意味着我国电子产品( 包括计算机、家电、手机等在内) 的制造从根本上还处于 国外的控制之下( 核心技术受制于人) ,而我们仅仅是从事整机装配。没有自己的 芯片,没有自己的核心技术,我国的信息产业就会受制于人,信息安全就无法保障。 众所周知,如果我们的军事武器、重要工业、政府机关等等重要组织的电脑里用的 是国外的c p u ,那是很危险的事情。可见小小的芯片直接关系到国家的经济、政治、 社会安全,也关系到中国的综合竞争力的提高。由上述可知,研制、发展具有我国 自主知识产权的处理器具有非常重要的意义。 基于上述原因,我国也已经将微处理器的研发和s o c 等列入8 6 3 计划中。终 于,在2 0 0 1 年7 月8 日“方舟1 ”嵌入式处理器正式发布之后,“中国芯”就犹如 雨后春笋般冒了出来。 2 0 0 2 年9 月2 8 日问世的通用“龙芯1 号芯片,其性能与英特尔奔腾i i 相当。 2 0 0 3 年1 2 月2 0 日曙光公司宣布,“龙芯2 号 芯片在上海进行了首次流片, 已用在服务器主板和电脑主板上,试验两个月,稳定运行成功,并在龙芯样机上运 行了6 4 位中文l i n u x 操作系统、全功能的浏览器、多媒体播放器和办公套件,具 备了桌面p c 的基本功能。其性能与奔腾i v 水平相当,比“龙芯1 号”性能高出 1 0 到1 5 倍,与英特尔主流芯片的差距由过去的6 年缩短到3 年。“龙芯2 号 是我 国自主研制的可用于桌面和笔记本电脑的通用c p u 。 随着“龙芯2 号 的问世,中国信息技术空”芯”化的状况得到了相当程度的改 观。越来越多的有各自特色的c p u 被设计开发了出来。6 4 位安全服务器的l x 一1 1 6 4 处理器芯片就是在这个背景下研发的。 1 3 课题研究的主要内容 本文介绍了6 4 位通用c p u 芯片中的存储控制单元m m u ( m e m o r yc o n t r o lu n i t ) 一以及高速缓存存储器c a c h e 的设计原理和硬件实现。l x 1 1 6 4c p u 采用 0 1 8 t m c m o s 工艺,工作主频为4 0 0 m h z ,安全、可靠,低功耗是其最大的特点。 l x 一1 1 6 4 微处理器的存储管理单元支持最大1 6 p b 的虚拟内存和2 p b 的物理内存, 它可以提供2 p b 字节的有效地址空间让操作系统和用户程序来访问。存储管理单元 提供了4 4 位虚地址和4 1 位实地址之间的映射。在每一个处理器周期内,m m u 提 供一个指令和一个数据的地址转换。同时出于对安全方面的考虑,l x 1 1 6 4 的存储 器控制单元m m u 采用了新的安全策略,其子系统m p u ( m e m o r yp r o t e c t i o nu n i t ) 提供了页级基础上的存储保护,在硬件体系上对软件保护体系提供支持,以形成真 第2 页 华北电力大学硕士学位论文 正意义上的安全体系结构。 经过多年对处理器体系结构和系统软件的研究,系统安全性的最终解决若只在 软件上做文章是远远不够的,而必须拥有相应的硬件体系上的支持。这一点已经得 到了广泛的认同。设计该型c p u 的目的在于为用户提供一个良好的硬件平台,与 相应的软件相配合达到真正的信息安全。设计的目标是改善系统性能,提高系统的 安全性。设计的基本思想是基于框架的安全体系结构。 m m u 采用a s i c ( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t ) 全定制电路设计方法, 使用先进的e d a ( e l e c t r o n i cd e s i g na u t o m a t i o n ) 设计工具进行逻辑设计与仿真。 功能仿真结果表明该设计是有效可行的,使整个系统性能有所提高。m m u 经仿真 测试验证,完全达到预期技术指标。 1 4 课题研究的意义 现代计算机系统中都采用高速d r a m ( 动态r a m ) 芯片作为主存储器。早期 的c p u 速度比较慢,可是近年来c p u 的时钟频率的发展速度远远超过了d r a m 读 写速度的进展。d r a m 和c p u 之间的速度差,使得c p u 在存储器读写总线周期中 必须插入等待周期;c p u 与内存频繁的数据交换,极大地影响了整个系统的性能。 这使得存储器的存取速度己成为整个系统的瓶颈。当然,另一种方案是采用高速的 静态r a m ( s r a m ) 作为主存储器与c p u 匹配,但是s r a m 结构复杂,不仅体积 大而且价格昂贵。因此,当前解决这个问题的最佳方案是采用层次化存储技术,即 在c p u 与内存之间加入高速缓冲存储器c a c h e 引。c a c h e 是位于c p u 和d r a m 主 存之间的规模小速度快的存储器,通常由s r a m 组成。这就引出了层次化存储管理 的问题,而通过硬件m m u 把虚地址转换成物理地址,支持虚拟存储管理,是现代 微处理器设计的普遍趋势。绝大多数高性能微处理器都采用片上集成存储管理部件 来实现快速的虚实地址转换和存储保护。m m u 解决存储处理和存储保护的问题, 而c a c h e 可以高效地完成d r a m 内存和c p u 之间的速度匹配 综上所述,研究和设计高性能m m u 以及高速缓存c a c h e 具有深远的意义和广 阔的前景。 第3 页 华北电力人学硕十学位论文 第二章存储控制单元m m u 的设计与实现 2 1m m u 的设计原理 2 1 1m m u 的主要功能 随着处理器设计的不断发展,存储控制单元其主要作用有: 1 、完成虚拟地址到物理地址的映射。 2 、实现存储保护。 2 1 2v a 至l jp a 的映射 m m u 的实现过程,实际上就是一个查表映射的过程1 5 j 。建立页表( t r a n s l a t e t a b l e ) 是实现m m u 功能不可缺少的一步。页表位于系统的主存储器中,页表的每 一项对应于一个虚拟地址到物理地址的映射,虚拟存储空间到物理存储空间的映 射。页式虚拟存储管理是把虚拟地址空间分成固定大小的块,每一块称为一页,把 物理内存的地址空间也分成同样大小的页,页的大小可以分为粗粒度和细粒度两 种,m m u 就要实现从虚拟地址到物理地址的转换。 转换表( t r a n s l a t et a b l e ) 是实现上述功能的重要手段。转换表位于主存储器中, 表的一行对应于虚拟存储空间的一页,该行包含了该虚拟内存页( 称为虚页) 对应 的物理内存页( 称为实页) 地址、该页的访问权限和该页的缓冲特性等,文中将页 表中这样的一行称为一个地址变换条目【6 l 。页表存放在内存中,系统用一个寄存器 来保存页表的基地址,通常被称为基址寄存器。 可以看出从虚拟地址到物理地址的变换过程就是查询页表的过程。随着处理器 技术的发展,特别是主存储器容量的大幅度提高,映射表所占的空间随之大大提高, 现在的地址转换表通常是一个存储页容纳不了的。因此,页表也开始分页,出现了 多级页表,通常是两到三级页表。地址转换的过程也演变为:查找第一级页表,根 据页表项所带标志位得到相应的p t d 或者p t e ( p a g et a b l ed e s c r i p t o r 或者p a g et a b l e e n t r y ) ,即页表描述符或者页表最终项;在得到相应项后,若为p t e ,则其所包含 内容就是地址映射结果,若为p t d ,其所包含的内容为下一级页表的基地址,需要 继续访问下一级页表,查询相应的映射。 由于页表存放在内存中,查询过程的开销很大,通常会占用多个处理器周期, 而在引入了多级页表后,一个映射的查询往往需要多次进行存储器的访问,加剧了 地址映射的开销代价。但是由于程序在执行过程中具有局部性,对页表的访问只局 限在少数几个单元中,因此可以采用类似于高速缓冲存储器c a c h e 的部件用来加速 第4 页 华北电力大学硕士学位论文 地址映射过程,即用一个容量相对较小,访问速度和c p u 中通用寄存器相当的存 储器件来存放最近访问需要的地址变换条目,这个小容量的页表就是变换旁路缓冲 器t l b ( t r a n s l a t i o nl o o k a s i d eb u f f e r ) ,也被称为快表【7 l 。当c p u 需要访问内存时, 先在t l b 中查找所需的地址变换条目,如果该条目不在t l b 中,处理器就会从位 于主存储器中的页表中查询,并把相应的结果添加到t l b 中,这样当c p u 下次需 要该地址变换条目时,可以从t l b 中直接得到,使地址变换的速度大大加快。 2 1 3 存储访问保护 由于存在多个用户对主存的共享,也就是有多个用户程序和系统软件存在于主 存之中,为使系统能够正常工作,要防止一个用户程序出错而破坏其他用户的程序 和系统软件,还要防止一个用户程序不合法地访问不是分配给它的主存区域,为此, 系统应提供存储保护。 存储保护主要包括两个方面:存储区域保护和访问方式的保护f 8 j 。 1 、 存储区域保护 对于不支持虚拟存储器技术的存储系统可采用界限寄存器方式,由系统软件经 特权指令设置上、下界寄存器为每个程序划定存储区域,禁止越界访问。 在支持虚拟存储技术的存储系统中,由于一个用户程序的各页能离散地分布于 主存中,故通常不能使用这种保护方式,所以,采用页表保护和键保护等方式完成 存储区域保护。 ( 1 ) 页表保护方式 每个程序都有自己的页表和段表,页表和段表本身都有自己的保护功能。无论 地址如何出错,也只能影响到相应的几个页面。 ( 2 ) 键保护方式 ,键保护方式的基本思想是为主存储器的每一页配一个键称为存储键,它相当于 一把锁。它是由操作系统赋予的。为了打开这个锁,必须有钥匙,称为访问键。 访问键赋予每道程序,保存在该道程序的状态寄存器中,当数据要写人主存的某一 页时,访问键要与存储键相比较,若两键相符则允许访问该页,否则拒绝访问。 ( 3 ) 环保护方式 以上两种保护方式都是保护其他程序区域不受破坏,而正在运行的程序本身则 受不到保护。环保护方式可以做到对正在执行的程序本身的核心部分或关键部分进 行保护。它是按系统程序和用户程序的重要性及对整个系统的正常运行的影响程度 进行分层,每一层叫做一个环。在现行程序运行前由操作系统定好程序各页的环号, 并置入页表中。然后把该道程序的开始环号送入c p u 的现行环号寄存器。程序可 以访问任何外层空间;访问内层空间则需由操作系统的环控例行程序判断这个访问 第5 页 华北电力大学硕士学位论文 是否合法。 2 、 访问方式保护 对主存储器的使用通常可以有三种方式读( r ) 、写( w ) 和执行( e ) 。所以相 应的访问方式保护就有r ,w e 三种以及由这三种方式形成的逻辑组合。这些访问 方式保护通常作为程序状态寄存器的保护位,并且和区域保护结合起来实现,通常 都是由硬件实现的。 表2 1 :访问方式保护的逻辑组合 逻辑组合含义逻辑组合含义 r + w + e不允许任何访问( r + e ) w只能写访问 r + w + e可进行任何访问( r + e ) w 不准写访问 ( r + w ) e 只能读写,不可执行r ( e + w )只能读访问 ( r + w ) e 只能执行,不可读写 r ( w + e ) 不准读访问 2 2m m u 的设计要素 2 2 1 虚实地址映射的设计要素 当处理器要访问主存储器时,就要将一组虚拟地址转换到物理地址。m m u 就 是负责将虚拟内存地址翻译成实际的物理地址,而c p u 寻址时会优先在t l b 中进 行寻址。t l b ( t r a n s l a t i o nl o o k a s i d eb u f f e r ) ,根据功能t l b 可以译为快表,也可 以把它理解成页表缓冲【9 1 。里面存放的是一些页表文件( 虚拟地址到物理地址的转 换表) 。 t l b 从某种意义上,功能上类似于c a c h e ,它是主存储器中映射关系表的片内 缓冲。在地址映射过程中,各种操作都是围绕着t l b 进行的,因此t l b 是m m u 中的关键部分。 一。一既然t l b 是主存中存放的页表的备份,那么它里边存放的数据实际上和内存 页表区的数据是一致的,在内存的页表区里,每一条记录虚拟页面和物理页面对应 关系的记录称之为一个页表条目( e n t r y ) 1 0 】。同样地,在t l b 里边也缓存了同样 大小的页表条目( e n t r y ) 。由于页表条目的大小总是固定不变的,所以t l b 的容量 越大,则它所能存放的页表条目数越多,也意味着缓存命中率的增加,这样,就能 大大减少c p u 直接访问内存的次数,实现了性能提升。t l b 内部存储空间被划分 为大小相同的块( 即t l b 页表条目) ,这些块的大小和内存的页表区里页表条目的 大小相同。t l b 页表条目和内存页表条目间具有一定的相互对应关系。当c p u 需 第6 页 华北电力大学硕十学位论文 要页表数据时,它必须迅速做出如下的两个判断:一个是所需要的页表是否已缓存 在t l b 内部( 即判断t l b 命中或是失败) ,另一个是所需要的页表在t l b 内的哪 个条目内,而在t l b 页表条目已满时,哪一项将被替换出t l b ,而后新的页表项 写入t l b 从而完成地址映射,同时以定的写策略完成被替换出的页表项的回写。 从上面可以看出t l b 设计中的四个要素: 首先是t l b 的页表项的数目,它作为映射表的缓冲,其容量越大则地址命中 率也就越高,m m u 的效率也就越高【1 1 】。但是t l b 作为片内的功能单元,只能以控 制器外加静态s r a m 的形式或者寄存器堆的形式实现,这也就意味着从功耗和面积 的方面考虑t l b 不可能容量无限制大,而在通常的设计中t l b 一般较小,即使在 高性能机器中也只有1 2 8 2 5 6 个表项,这样就可以实现全相联查找。大多数中等性 能的机器使用n 路组相联的组成,也就是说t l b 中的页表项一般只有3 2 、6 4 或者 1 2 8 至多2 5 6 个。 第二点是t l b 页表项与主存储器中的页表项的对应关系。 较为常见的有三种映射关系:全相联方式,直接相联方式以及组相联映射方式 1 1 2 l o 全相联方式 地址映射规则:主存储器中页表的任意一块可以映射到t l b 中的任意一块 ( 1 ) 主存储器中页表与t l b 分成相同大小的数据块。 ( 2 ) 主存储器中页表的任意项可以装入t l b 存的任意一块空间中。 直接相联方式 地址映射规则:主存储器中页表中一项只能映射到t l b 的一个特定的块中。 ( 1 ) 主存储器中页表与t l b 分成相同大小的数据块。 ( 2 ) 主存储器页表的容量应是t l b 容量的整数倍,将主存储器空间按t l b 的 容量分成区,每一区的块数与t l b 的总块数相等。 ( 3 ) 主存储器中页表某区的一块存入缓存时只能存入t l b 中块号相同的位置。 组相联映射方式 组相联的映射规则: ( 1 ) 主存储器页表和t l b 按同样大小划分成块。 ( 2 ) 主存储器页表和t l b 按同样大小划分成组。 ( 3 ) 主存储器页表的容量是t l b 容量的整数倍,将主存储器空间按t l b 的大 小分成区,主存存储器中每一区的组数与t l b 的组数相同。 ( 4 ) 当主存储器的页表项调入t l b 时,主存储器页表与t l b 的组号应相等, 也就是各区中的某一块只能存入t l b 的同组号的空间内,但组内各块地址之间 第7 页 华北电力大学硕士学位论文 则可以任意存放,即从主存储器页表的组到t l b 的组之问采用直接映象方式; 在两个对应的组内部采用全相联映射方式。 这三种方式有各自的优缺点,全相联映射冲突率最小,且利用率也最高,但是 查询代价高;而直接映射方式是最简单的方法,其硬件实现容易,访问速度也比较 快,但冲突率较高;至于组相联映射是介于全相联和直接相联之间的一种折中方案, 采用组关联方式比全关联方式消耗的功耗低,但会增加电路复杂度和芯片面积【”j 。 第三点是淘汰算法。 在一般情况下,主存储器中的页表容量比t l b 要大得多,所以在t l b 内容被 填满后,若发生映射项缺失,就要将t l b 中的一项淘汰出去,调入相应的项完成 地址映射,而淘汰算法所负责的就是计算所应淘汰项。 淘汰算法也可以称作替换算法,选择合适的淘汰算法对于t l b 地址映射的效 率有十分重要的意义。通常根据所应用的映射关系会有不同的淘汰算法,常用的淘 汰算法有如下几种: 随机算法:即r a n d ( r a n d o ma l g o r i t h m ) 。这种算法最简单,而且容易实现。 但是,这种算法完全没有利用调度情况的历史信息,也没有反映程序的局部性,所 以命中率比较低。 先进先出算法,即f i f o 算法( f i r s t i nf i r s t o u ta l g o r i t h m ) 。这种算法选择最先 调入的项作为被替换的项,也比较容易实现,可以利用过去调度情况的历史信息, 但是仍然没有反映出程序的局部性。 近期最少使用算法,即l r u 算法( 1 e a s tr e c e n t l yu s e da l g o r i t h m ) 。这种算法选 择近期最少访问的项作为被替换的项。该算法既充分利用了调度情况的历史信息, 也正确反映了程序的局部性。但是,这种算法通常的方法实现起来非常困难,因此 经常采用另外一种变态的方法,就是下面的l f u 算弦。 最久没有使用算法,即l f u 算法( 1 e a s tf r e q u e n t l yu s e da l g o r i t h m ) 。这种算法 把近期最久没有被访问过的页表项作为被替换的项。它把l r u 算法中的记录数量 上的“多 与“少 简化成判断“有 与“无 ,因此比较容易实现。 一 最后一点是写策略。 t l b 通常只有两种写策略,写直达法和写回法,分别缩写为w t ( w r i t e t h r o u g h ) 和w b ( w r i t e b a c k ) 1 1 4 l 。写直达法又称为写通过法,写回法又称为抵触修改法。 写回法是在执行写操作时,被写的页表项只写入t l b ,而不写入主存储器中的页表。 仅当需要替换时,才把已经修改过的页表项写回到主存页表中。这样在采用写回法 时,就需要一个修改位来标识该项的状态。而至于写直达法是指在执行写操作时, 必须把页表项同时写入t l b 和主存页表中。这样就不需要修改位了。 第8 页 华北电力大学硕十学位论文 2 2 2 存储保护设计要素 存储保护大致可分为存储区域保护和存储访问权限保护。在目前的存储体系 中,大都是采用了分页的方式进行存储管理的,所以存储区域保护在实现方式上究 其本质就是在主存储器中的页表项中加入相应的保护位。而随着相应的计算机攻击 手段的改变,简单的存储保护已远远不能提供足够的安全,所以在存储控制单元中 加入访问权限保护已经成为必须的安全机制。 要实现访问权限保护,首先要对当前的存储器体系进行区域划分,即将主存储 器按照访问的进程所拥有的权限进行划分。每一个页表项中都会有专设的标志位来 标识其权限。而在进行存储器访问时,依据当时所处的操作权限从而得出对要访问 的存储区域的可进行的操作。 2 3l x - 1 1 6 4 处理器中m m u 的基本结构 l x 1 1 6 4 是一款6 4 位微处理器,其支持片上的存储控制单元和一级片上高速 缓冲存储器。l x 1 1 6 4 处理器的存储控制单元m m u 采用哈佛结构,即采用独立的 指令t l b 和数据t l b 。指令和数据t l b 的容量均为6 4 个页表项,都采用4 路组 相联的映射方式。l x 1 1 6 4 的设计要求达到4 0 0 m h z 的主频,而在地址映射过程中, t l b 承担了整个操作的枢纽。其性能将直接影响处理器的性能。 在发生缺失时,设计中采用了较为容易实现的l f u 替换策略用于新旧页表项 的更替。而写策略一般采用写回( w r i t e b a c k ) 策略,也可支持写直达( w r i t e - t h r o u g h ) 策略。两种写策略的选择受控于页表项中的w t 位,当w t = i 时采用写直达策略; 当w t = 0 时采用写回策略。当发生写失效时,在写回策略下,采用按写分配法 ( a l l o c a t e ) :在写直达策略下,采用不按写分配法( n o a l l o c a t e ) 。 为了实现页级基础上的存储保护,在设计中增加了m p u 即存储保护单元。它 的主要功能就是根据页表中访问权限进行存储保护。而要进行存储保护,就必须对 存储空间进行权限上的划分,现有的存储保护大多只分为用户和系统管理员两个权 限,这对于存储保护是远远不够的,所以在设计中采用了强制访问策略,采用了更 为细致的权限划分:普通用户级和低级超级用户级和高级超级用户级。 在多处理器系统下,为了维护一致性,采用m o e s i 或写一次( w r i t e o n c e ) 监 听协议( s n o o p i n g p r o t o c 0 1 ) 。这两种协议的转换受控于写策略。在写回策略下, 致性协议采用m o e s i ;在写直达策略下,一致性协议采用写一次协议。 第9 页 华北电力大学硕十学位论文 2 4l x - 116 4 处理器中m m u 的具体设计与实现 2 4 1l x - 1 1 6 4 m m u 地址映射过程 l x 1 1 6 4 处理器采用了4 4 位的虚拟地址和4 1 位的物理地址,这也意味着m m u 所进行的地址映射就是4 4 位虚拟地址到4 1 位物理地址的映射。由于该处理器设计 中支持8 k 和4 m 的两种页面大小,因此映射的实质就是3 1 位虚拟页号到2 8 位物 理页号( 8 k 页面) 或者2 2 位虚拟页号到1 9 位物理页号( 4 m 页面) 的映射。 4 3 2 2 2 1 1 3 1 20 d i rp a g eo f f s e t 4 32 22 l 0 d i r o f f s e t 图2 - 1 :4 4 位虚拟地址的格式 2 22 l1 31 2 4 02 22 l i i d i r o f f s e t i 图2 - 2 :4 1 位物理地址的格式 第1 0 页 图2 - 3 :地址映射完成过程 如图2 3 所示,在c p u 给出4 4 位虚拟地址之后,m m u 会根据当前处理器中 的状态寄存器的相关控制位判断当前采用的页面大小,然后再按照页面大小进行相 应的地址映射过程。若为8 k 页面,那么其地址的低1 3 位为页内地址,这部分在地 第1 1 页 华北电力大学硕士学位论文 址映射过程中是不进行地址映射的;而若为4 m 页面大小,其2 2 位的低地址位作 为业内偏移地址,同样这些位也是不进行映射的。 下面的算法定义给出了每一个虚地址到一个物理地址的地址映射过程。对于8 k 字节的页,把虚地址划分成d i r 、p a g e 和o f f s e t 域;而对于4 m 字节的页,把 虚地址划分成d i r 和o f f s e t 域;也就是说8 k 页面采用了二级页表,而4 m 页面 采用的是一级页表。页表目录的基地址由d i r b a s e 寄存器中的d t b 域提供。具体 的物理地址转换算法如下: 根据页大小的不同分成两种情况: 8 k 页的物理地址转换算法: 在物理地址d t b 【2 1 :7 】:d i r 【2 1 :0 】:0 0 0 0 的位置上读p d e ; 如果p d e 中的p = 0 ,产生数据或指令访问错; 如果p d e 中的w = 0 ,而且是写操作,那么当p s r u 【1 】= o 或e p s r w p = i 时, 产生数据访问错; 如果p d e 中的u 域的权限低于p s r u 的权限,则产生数据或指令访问错; 如果p d e 中的a = o ,而t l b 不命中,产生数据或指令访问错; 如果p d e 位3 0 = 1 ( 表示为4 m 页) ,当前操作为写操作,并且p d e 的d = 0 , 产生数据访问错; 从p d e 中得到p t a ,在物理地址p t a 3 0 :3 :p a g e :0 0 0 0 的位置上读p t e 。 从p t e 中得到p p n ,则物理地址为p p n 【2 7 :0 】:o f f s e t 【1 2 :o 】。 4 m 页的物理地址转换算法: 物理地址d t b 【2 1 :7 1 :d l r 【2 1 :0 1 :0 0 0 0 的位置上读p t e 。 p t e 中得到p p n ,则物理地址为p p n 4 1 :2 2 :o f f s e t 2 1 :0 。 在转换期间,处理器只查看主存的页目录和页表,不查询数据c a c h e 。因此, 任何代码修改页目录或页表必须保持在c a c h e 外。 2 4 2 主存储器中页表格式的设计 在c p u 进行重启,或者t l b 中相应映射表项无效时以及发生缺失中断时,主 存中的页表项将会被访问以便完成地址映射过程或者完成地址映射的准备工作1 1 引。 在实际设计中,在主存页表未完成初始化之前,存储控制单元是被禁止的。而 一旦m m u 被使能后,就说明页表已经建立完成了。而通常这项工作是由操作系统 完成的。而对于存储控制单元,为了要支持虚拟存储系统而要完成地址映射,就必 须设计相应的页表项,其中要包括相应的物理地址页号及相关控制标志位。 第1 2 页 华北电力大学硕+ 学位论文 3 3 3 23 l加2 9 1 4 1 31 2l l1 0076543 2 l o 队g ed i re n t r y3 kb y t e 队g e 幻弱3 23 l2 9 1 4 1 3 1 2 l l1 09s76543 2 lo p a g et a b l ee n t r y8 kb y t ep a g e 酊 3 3 3 2 3 l 2 91 41 31 21 l1 037 5 432lo p a g ed i re n t r y4 mb y t ep a g e 图2 - 4 :页表项格式 物理页号( p h y s i c a lp a g en u m b e r ) 物理页号描述页的起始的物理地址。8 k 页的2 8 位的物理页号由页表表项给出, 与1 3 位的偏移量组合成4 1 位的物理地址。4 m 页的1 9 位的物理页号由页目录中的 页表表项给出,与2 2 的偏移量组合成4 1 位的物理地址。 p ( p r e s e n t ) 位 p 位表示页表的这一项是否可以用来进行地址转换。p = i 表示该表项可以用来 进行地址转换,p = 0 表示此项不可以用来进行地址转换。如果p = 0 ,而且试图利用 这一表项进行地址转换,则发生数据存取错或指令存取错。 w ( w r i t a b l e ) 域 w 域在处理器进行地址转换的同时,用于完成页级保护。对于页的特权的概念, 通过分派给每一页三种不同的级别采实现。具体权限级别如表2 2 。 表2 2 :w 域编码 w 1 :0 】 u s e t s u p e r _ ls u p e r - h r e s e r v e d 0 0n on on o 0 1y e sy e sy e s 1 0n oy e sy e s 1 1n on oy e s u ( u s e r ) 域 u 域用于表明该页的访问权限,与p s r 寄存器中u 域的值含义相同。p s r 的u 第1 3 页 华北电力大学硕+ 学位论文 域表示处理器是工作在用户态( u s e r ) 、低级超级用户态( s u p e rl ) 还是高级超级 用户态( s u p e rh ) 。当p s r 的u 字段的级别比页表中u 字段的级别高或者相同时, 对该页的访问正常进行;如果p s r 的u 字段的级别比页表中u 字段的级别低则拒 绝访问该页。 w t ( w r i t e t h r o u g h ) 位 处理器实现了写直达( w r i t e t h r o u g h ) 和写回( w r i t e b a c k ) 两种写策略。如 果w t 被置位( w t = 1 ) ,采用写直达策略。如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年导游面试高频题及答案解析
- 2025年客房安全操作手册及测试题
- 2025年58同城员工安全培训试题
- 2025年农业科技推广专家考试试题及答案解析
- 2025年美食节目主持人资格考试试题及答案解析
- 2025年旅游管理专业技能考核试卷及答案解析
- 2025年通信工程专业招聘面试模拟题集及深度解析
- 2025年游戏开发项目经理面试预测题及应对策略解析
- 2025年金融分析师执业水平认定考试试题及答案解析
- 2025年计算机软件工程师技能认证考试试题及答案解析
- 六年级家长会课件
- 2025年安徽省淮南市【辅警协警】笔试模拟考试题(含答案)
- 废气处理活性炭吸附操作规范
- 创伤急救基本知识培训课件
- 2025年农业农村科技基础知识考试题库(附含答案)
- 合同第三方见证人范本
- 学生心理健康教育干预措施
- DB32∕T 4652-2024 基于区块链技术的多中心药物临床试验管理系统开发指南
- 实验室生物安全知识培训考试试题(含答案)
- 2025年成人高考英语试题及答案
- 高渗盐水治疗脑水肿及颅内高压专家共识解读
评论
0/150
提交评论