版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一种内存虚拟化地址代换效率提高方法和本发明涉及一种内存虚拟化地址代换效率发出对当前地址的访存请求;核外Cache控制部当前地址的读请求合并到对当前地址的预取请2核心对收到的上一地址读响应数据进行解析,基核外Cache控制部件收到所述当前地址的访存请求后,根据所述预取启动标志判断下若下一个地址的生成依赖所述当前地址的读响应数据,核外Cache控制部件将所述预取启动标志和低位地址进行寄存,并查询核外Cache判断对当前地址的预取请求是否执行若对当前地址的预取请求已执行完毕,则核外Cache控制部件直接生成所述当前地址若对当前地址的预取请求未执行完毕,则核外Cache控制部件将所述当前地址的读请核外Cache控制部件基于所述当前地址的读响应数据和所述低位地址形成下一地址,若下一个地址的生成不依赖所述当前地址的读响应数据,核外Cache控制部件查询核外Cache判断对当前地址的预取请求是若对当前地址的预取请求已执行完毕,则核外Cache控制部件直接生成所述当前地址若对当前地址的预取请求未执行完毕,则核外Cache控制部件将所述当前地址的读请当前地址的访存请求携带的预取启动标志和低位地址进行寄存,并查询核外Cache判断所若所述当前地址的读请求命中核外Cache,则核外Cache控若所述当前地址的读请求未命中核外Cache,则核外Cache解析发送模块,用于控制核心对收到的上一地址读响应数据进行解析,基于解3根据所述预取启动标志判断下一个地址的生成是否依赖所述当前地址的读响应数据;寄存判断模块,用于在下一个地址的生成依赖所述当前地址的读响应数据时,控制核外预取请求触发模块,用于控制核外Cache控制部件基于所述当前地址的读响应数据和预取请求执行判断模块,用于在下一个地址的生成不依赖所述当前第二接收判断模块,用于在所述核外Cache控制部件在收到所述当前地址的访存请求后,将所述当前地址的访存请求携带的预取启动标志和低位地址进行寄存,并查询核外Cache判断所述当前地址的读请求是否第五生成模块,用于在所述当前地址的读请求命中核外Cache时,控第六生成模块,用于在所述当前地址的读请求未命中核外Cache时9.一种电子设备,包括存储器、处理器及存储在4被处理器执行时实现如权利要求1_4中任一所述内存虚拟化地址代换效率提高方法的步5[0012]如图1所示,当前主流的硬件辅助内存虚拟化技术是客户机和宿主机都采用页式虚拟化管理,这就意味着客户机虚地址GVA要通过两层页表代换才能得到真正的物理地址之为传统页式代换(Traditionalpaging),其次通过Hype理地址GPA代换得到宿主机物理地址HPA,此过程称之为附加页式代换(Additional6[0016]其中,PGDIndex为页表代换时访问客户机页表全局目录(PageGlobal下简称为三级GPT页表目录)的索引地址,PTEIndex为页表代换时访问客户机页表条目[0020]其中,APGDIndex为页表代换时访问宿主机页表全局目录(AdditionalPage级APT页表目录)的索引地址,APMDIndex为页表代换时访问宿主机页表中间目录7[0024]尽管当前的处理器已采用了多项技术加速客户机虚地址(GVA)代换为宿主机物理体执行的读主存次数与地址代换缓冲和页表目录缓冲的命中率密[0026]本发明所要解决的技术问题是提供一种内存虚拟化地址代换效率提高方法和装[0028]核心对收到的上一地址读响应数据进行解析,基于解析得到的数据形成当前地[0029]核外Cache控制部件收到所述当前地址的访存请求后,根据所述预取启动标志判[0030]若下一个地址的生成依赖所述当前地址的读响应数据,核外Cache控制部件将所述预取启动标志和低位地址进行寄存,并查询核外Cache判断对当前地址的预取请求是否[0031]若对当前地址的预取请求已执行完毕,则核外Cache控制部件直接生成所述当前[0032]若对当前地址的预取请求未执行完毕,则核外Cache控制部件将所述当前地址的8[0033]核外Cache控制部件基于所述当前地址的读响应数据和所述低位地址形成下一地[0036]若下一个地址的生成不依赖所述当前地址的读响应数据,核外Cache控制部件查[0037]若对当前地址的预取请求已执行完毕,则核外Cache控制部件直接生成所述当前[0038]若对当前地址的预取请求未执行完毕,则核外Cache控制部件将所述当前地址的[0039]当所述当前地址为第一个地址时,所述核外Cache控制部件在收到所述当前地址查询核外Cache判断所述当前地址的读请求是否[0044]第一接收判断模块,用于控制核外Cache控制部件在收到所述当前地址的访存请求后,根据所述预取启动标志判断下一个地址的生成是否依赖所述当前地址的读响应数9[0048]预取请求触发模块,用于控制核外Cache控制部件基于所述当前地址的读响应数数据时,控制核外Cache控制部件查询核外Cache判断对当前地址的预取请求是否执行完[0055]第二接收判断模块,用于在所述核外Cache控制部件在收到所述当前地址的访存外Cache判断所述当前地址的读请求是否命中核[0057]第六生成模块,用于在所述当前地址的读请求未命中核外Cache时,控制核外Cache控制部件读访问所述当前地址,并从所述当前地址中读出的数据中解析出读响应数机程序时实现上述内存虚拟化地址代换效率提高方法[0069]预取地址的生成只需要核心将页内偏移地址作为低位地址携带到核外Cache控制[0070]如图4所示,本实施方式的内存虚拟化地址代换效率提高方法具体包括以下步标志判断下一个地址的生成是否依赖所述当前地址的读响件将所述预取启动标志和低位地址进行寄存,并查询核外Cache判断对当前地址的预取请[0077]不难发现,本实施方式在核外Cache控制部件收到页表目录或页表访存请求的响求可能已执行完毕,读请求所需数据已装填到核外Cache中。即使预取请求还没有执行完APTE,与携带的低位地址GVA[Pageoffset]拼接形成宿主机物理地址HPA,并触发对地址[0079]本实施方式的内存虚拟化地址代换效率提高方法中,核心可设置状态机进行控对当前地址的预取请求未执行完毕,则核外Cache控制部件将所述当前地址的读请求合并[0082]下面以内存虚拟化技术中将某个客户机虚地址(GVA)代换为宿主机物理地址位,则{GPA[APGDIndex],3’b0}表示将GPA[APGDIndex]与3位0拼接,等同于GPA[APGD[0085]在本实施例中,页面粒度为8KB,Pageoffset和APageoffset均为13位,APGD处表示为5/10/10/10位的按位拼接),即PTBR[47:13]=0x40200C04。其中,PTBR[APGDIndex]=0x1,PTBR[APUDIndex]=0x2,PTBR[APMDIndex]=0x3为10/10/10/10位的按位拼接),即GVA[52:13]=0x140A03C14。其中,GVA[PGDIndex]=[0090]1)核心发出对地址Addr1的访存请求时,携带着预取启动标志2’b10和低位地址[47:0]={APTP,PTBR[APGDIndex],3’b0}=0x501FE008,从Addr1读出的数据解析得到PTBR_APUD_Base,并返回给核心。在本实施例中,PTBR_APUD_Base[47:13]={0x0,0x0,0x10通过拼接形成地址Addr2,Addr2={PTBR_APUD_Base,PTBR[APUDIndex],3’b0}=时,将其携带的预取启动标志和低位地址({0x18)寄存,并查询核外Cache。如果对地址Addr2的预取请求已执行完毕,则对地址Addr2的读请求命中核外Cache,可直接生成地址携带的低位地址0x18通过拼接形成地址Addr3,Addr3={PTBR_APMD_Base,PTBR[APMDAddr3读出的数据解析得到PTBR_APTE_Base,在本实施例中,PTBR_APTE_Base[47:13]={0x0,0x0,0xA3,0x3}=0x28C03。核外Cache控制部件将PTBR_APTE_Base与地址Addr3携带的低位地址0x20通过拼接形成地址Addr4,Addr4={PTBR_APTE_Base,PTBR[APTEIndex],地址{GVA[PGDIndex]],3b’0}=0xAddr4读出的数据解析得到PTBR_APTE,在本实施例中,PTBR_APTE[47:13]={0x0,0x0,0xA4,0x4}=0x29004。核外Cache控制部件将PTBR_APTE与地址Addr4携带的低位地址0x28Addr5的预取请求,当收到其它核心或主存的数据后,生成地址Addr5的读响应数据,从Addr5读出的数据解析得到页面号,记为PUD_Base,在本实施例中,PUD_Base[47:13]=APUD_Base[47:13]={0x0,0x0,0xA1,0x6}=0x28[0097]7)读访问内存地址7(Addr7),Addr7={PUD_Base_APUD_Base,PUD_Base[APUD[0098]8)读访问内存地址8(Addr8),Addr8={PUD_Base_APMD_Base,PUD_Base[APMD[0099]9)读访问内存地址9(Addr9),Addr9={PUD_Base_APTE_Base,PUD_Base[APTEPUD_Base_APTE[47:13]={0x0,0x0,0xA9,0x9}=0[0100]10)读访问内存地址10(Addr10),Addr10={PUD_Base_APTE,GVA[PUDIndex],3’PMD_Base[47:13]={0xB,0xC,0xD,0xE}=0x2CBase_APUD_Base[47:13]={0x0,0x0,0xA1,0xB}=0x2[0105]15)读访问内存地址15(Addr15),Addr15={PMD_Base_APTE,GVA[PMDIndex],3’PTE_Base[47:13]={0x10,0x11,0x12,0x13}=0x40Base_APUD_Base[47:13]={0x0,0x0,0xA1,0x10}=0[0110]20)读访问内存地址20(Addr20),Addr20={PTE_Base_APTE,GVA[PTEIndex],3’13]={0x15,0x16,0x17,0x18}=0x5[0111]21)读访问内存地址21(Addr21),Addr21={APTP,PTE[APGDIndex],3’b0[47:13]={0x0,0x0,0xA1,0[0112]22)读访问内存地址22(Addr22),Addr22={PTE_APUD_Base,PTE[APUDIndex]b0}=0x5082A0B0,从Addr22读出的数据解析得到PTE_APMD_Base,在本实施例中,PTE_APMD_Base[47:13]={0x0,0x0,0xB6,0x16}=0x2D[0113]23)读访问内存地址23(Addr23),Addr23={PTE_APMD_Base,PTE[APMDIndex]b0}=0x5B02C0B8,从Addr23读出的数据解析得到PTE_APTE_Base,在本实施例中,PTE_APTE_Base[47:13]={0x0,0x0,0xB7,0x17}=0x2数据解析得到PTE_APTE,并返回给核心。在本实施例中,PTE_APTE[47:13]={0x0,0x0,0xB8,0x18}=0x2E018。核外Cache控制部件将PTE_APTE与地址Addr24携带的低位地址0x0[0118]第一接收判断模块,用于控制核外Cache控制部件在收到所述当前地址的访存请求后,根据所述预取启动标志判断下一个地址的生成是否依赖所述当前地址的读响应数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东教师编招聘考试试题及答案
- 冰蓄冷基础知识测试题及答案
- 2026年税务师考试《税法》冲刺押题及专项训练试卷
- 2026年住院医师规培考试公共科目题库(核心类)附答案
- 2026年外科护理学初级师考试备考冲刺模拟试卷含答案解析
- 医院常见笔试题及答案解析
- 2025年护士资格考试真题及答案解析
- 2025~2026学年山东省日照市莒县八年级下学期期中历史试卷
- 《习作:那次经历真难忘》课件
- 第五单元 国际贸易条约、协定与组织
- 美国STEM教育的探析及启示
- 护理管理学基础郑翠红
- JB-T 4149-2022 臂式斗轮堆取料机
- (完整版)产品质量保证的措施
- 幼儿一日活动保育-生活活动保育(婴幼儿保育课件)
- 山东2023年青岛银行西海岸分行社会招聘考试参考题库含答案详解
- 2022年江苏苏州张家港经开区(杨舍镇)学校公益性岗位招聘笔试备考题库及答案解析
- GB/T 39604-2020社会责任管理体系要求及使用指南
- GB/T 18712-2002选煤用絮凝剂性能试验方法
- GB/T 11668-1989图书和其它出版物的书脊规则
- 地暖工程施工方案()
评论
0/150
提交评论