多核异构系统转换后备缓冲器相干性技术方案

技术编号:14814226 阅读:93 留言:0更新日期:2017-03-15 04:31
用于使用物理地址输入来执行反向转换后备缓冲器(TLB)查找的方法、设备和指令,包括:利用第一处理器获得所述物理地址输入,其中,所述物理地址输入指示对应于共享存储器的物理地址;从与所述第一处理器相关联的TLB内的第一TLB条目获得与第一虚拟地址相关联的第一掩码,其中,所获得的第一掩码是比特模式;从所述第一TLB条目获得与所述共享存储器相关联的第一页帧号;将所获得的第一掩码应用到所获得的第一页帧号以生成第一值;将所获得的第一掩码应用到所获得的物理地址输入以生成第二值;以及,比较所述第一值和所述第二值以确定所述第一值和所述第二值是否匹配。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
计算设备通常包括很多用于执行各种指令/系统的处理器。例如,智能电话移动设备可以利用应用处理器来执行与所下载的应用相关的例程,以及利用数字信号处理器来执行信令处理操作。这样的处理器可以各自被配置为利用虚拟存储器地址方案,因此它们各自的进程可以使用映射到系统存储器内的各种物理地址的简单化的存储器地址来访问数据。例如,应用处理器可以利用连续的虚拟地址来访问与用于应用的数据相关联的任意RAM位置。设备现在正在开始利用不同架构的各种处理器。这样的异构系统可以提高软件从共享存储器获益的潜力,并且可以利用诸如OpenCL、Renderscript等的各种应用编程接口(API)。然而,寻址方案上的不同可能需要使用常规方案的低效的机制。例如,异构系统设备(诸如现代智能电话)可以使用64位和32位处理器两者和/或处理核心。在具有不同的架构的情况下,各种处理器可以采用不同的虚拟存储器地址方案来访问相同的(或者共享的)系统存储器。例如,RAM的相同页(或者存储器块)可以被第一处理器和第二处理器两者使用;然而,可以由两个处理器通过两个不同的虚拟地址引用该页。这样的异构系统中的处理器可以各自利用转换后备缓冲器(TLB),所述转换后备缓冲器(TLB)经由虚拟地址来提高访问系统存储器的速度和效率,并且因此可能需要对TLB相干性的稳健的支持。TLB可以使用虚拟页到系统或者公共的存储器中的物理页的多对一映射,使得对条目的相干识别在处理时间和功耗方面是昂贵的。存在用于维护多核系统中的相干性的技术。例如,存在使用虚拟地址来修改TLB条目的API命令,例如LinuxARMTLB清除方法flush_tlb_all()、flush_tlb_mm(memory_block_identifier(存储器块标识符))、flush_tlb_range(memory_block_identifier(存储器块标识符),start_index(开始索引),end_index(结束索引))和flush_tlb_page(virtual_address(虚拟地址),virtual_mask(虚拟掩码))。作为另一个示例,一些系统可以执行TLB“击落”技术,所述TLB“击落”技术将虚拟地址用于TLB内的条目的查找和失效操作。典型的TLB击落过程可以包括:第一处理器向第二处理器发送中断,中断包括虚拟地址,所述虚拟地址将在第二处理器的页表中被失效。
技术实现思路
在一个方面中,一种用于使用物理地址输入来执行反向转换后备缓冲器(TLB)查找的方法可以包括:利用第一处理器获得所述物理地址输入,其中,所述物理地址输入指示对应于共享存储器的物理地址;从与所述第一处理器相关联的TLB内的第一TLB条目获得与第一虚拟地址相关联的第一掩码,其中,所获得的第一掩码是比特模式;从所述第一TLB条目获得与所述共享存储器相关联的第一页帧号;将所获得的第一掩码应用到所获得的第一页帧号以生成第一值;将所获得的第一掩码应用到所获得的物理地址输入以生成第二值;以及,比较所述第一值和所述第二值以确定所述第一值和所述第二值是否匹配。在另一个方面中,所述方法可以还包括:响应于确定所述第一值和所述第二值不匹配而迭代地从所述TLB内的其它TLB条目获得第二掩码和第二页帧号;迭代地将所获得的第二掩码应用到所获得的第二页帧号以生成所述第一值;以及,迭代地将所获得的第二掩码应用到所获得的物理地址输入以生成所述第二值,其中,比较所述第一值和所述第二值以确定所述第一值和所述第二值是否匹配可以包括:迭代地比较所述第一值和所述第二值以确定所述第一值和所述第二值是否匹配。在另一个方面中,迭代地将所获得的第二掩码应用到所获得的第二页帧号应用以生成所述第一值可以包括:在不复制的情况下再使用来自系统页表中的条目的页帧号。在另一个方面中,所述方法可以还包括:响应于确定所述第一值和所述第二值匹配而清除所述第一TLB条目。在另一个方面中,所述方法可以还包括:向第二处理器发送指示TLB动作和所述物理地址的消息,其中,所述TLB动作可以包括TLB清除操作。在另一个方面中,所述方法可以还包括:响应于确定所述第一值和所述第二值匹配而返回所述第一TLB条目的索引。在另一个方面中,利用第一处理器获得所述物理地址输入可以包括:从第二处理器接收包括TLB动作和所述物理地址的消息,并且所述方法可以还包括:响应于接收由所述第二处理器发送的所述消息而将活跃标记清零;使用所返回的所述第一TLB条目的索引来执行在所接收的消息中所指示的所述TLB动作;以及,响应于执行所述TLB动作而设置所述活跃标记。在一个方面中,一种多核异构计算设备可以包括:用于利用第一处理器获得物理地址输入的单元,其中,所述物理地址输入指示对应于共享存储器的物理地址;用于从与所述第一处理器相关联的TLB内的第一TLB条目获得与第一虚拟地址相关联的第一掩码的单元,其中,所获得的第一掩码可以是比特模式;用于从所述第一TLB条目获得与所述共享存储器相关联的第一页帧号的单元;用于将所获得的第一掩码应用到所获得的第一页帧号以生成第一值的单元;用于将所获得的第一掩码应用到所获得的物理地址输入以生成第二值的单元;以及,用于比较所述第一值和所述第二值以确定所述第一值和所述第二值是否匹配的单元。在一个方面中,一种多核异构计算设备可以包括:第一处理器、第二处理器和共享存储器,其中,所述第一处理器可以被配置为具有处理器可执行指令,以执行可以包括以下操作的操作:利用所述第一处理器获得物理地址输入,其中,所述物理地址输入指示对应于所述共享存储器的物理地址;从与所述第一处理器相关联的TLB内的第一TLB条目获得与第一虚拟地址相关联的第一掩码,其中,所获得的第一掩码可以是比特模式;从所述第一TLB条目获得与所述共享存储器相关联的第一页帧号;将所获得的第一掩码应用到所获得的第一页帧号以生成第一值;将所获得的第一掩码应用到所获得的物理地址输入以生成第二值;以及,比较所述第一值和所述第二值以确定所述第一值和所述第二值是否匹配。在一个方面中,一种具有存储在其上的处理器可执行软件指令的非暂时性处理器可读存储介质,所述处理器可执行软件指令被配置为使第一处理器执行可以包括以下操作的操作:利用所述第一处理器获得物理地址输入,其中,所述物理地址输入指示对应于共享存储器的物理地址;从与所述第一处理器相关联的TLB内的第一TLB条目获得与第一虚拟地址相关联本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/CN105637492.html" title="多核异构系统转换后备缓冲器相干性原文来自X技术">多核异构系统转换后备缓冲器相干性</a>

【技术保护点】
一种用于使用物理地址输入执行反向转换后备缓冲器(TLB)查找的方法,包括:利用第一处理器获得所述物理地址输入,其中,所述物理地址输入指示对应于共享存储器的物理地址;从与所述第一处理器相关联的TLB内的第一TLB条目获得与第一虚拟地址相关联的第一掩码,其中,所获得的第一掩码是比特模式;从所述第一TLB条目获得与所述共享存储器相关联的第一页帧号;将所获得的第一掩码应用到所获得的第一页帧号以生成第一值;将所获得的第一掩码应用到所获得的物理地址输入以生成第二值;以及比较所述第一值和所述第二值以确定所述第一值和所述第二值是否匹配。

【技术特征摘要】
【国外来华专利技术】2013.10.04 US 14/046,3411.一种用于使用物理地址输入执行反向转换后备缓冲器(TLB)查找
的方法,包括:
利用第一处理器获得所述物理地址输入,其中,所述物理地址输入指
示对应于共享存储器的物理地址;
从与所述第一处理器相关联的TLB内的第一TLB条目获得与第一虚拟
地址相关联的第一掩码,其中,所获得的第一掩码是比特模式;
从所述第一TLB条目获得与所述共享存储器相关联的第一页帧号;
将所获得的第一掩码应用到所获得的第一页帧号以生成第一值;
将所获得的第一掩码应用到所获得的物理地址输入以生成第二值;以

比较所述第一值和所述第二值以确定所述第一值和所述第二值是否匹
配。
2.根据权利要求1所述的方法,还包括:
响应于确定所述第一值和所述第二值不匹配而迭代地从所述TLB内的
其它TLB条目获得第二掩码和第二页帧号;
迭代地将所获得的第二掩码应用到所获得的第二页帧号以生成所述第
一值;以及
迭代地将所获得的第二掩码应用到所获得的物理地址输入以生成所述
第二值,
其中,比较所述第一值和所述第二值以确定所述第一值和所述第二值
是否匹配包括:迭代地比较所述第一值和所述第二值以确定所述第一值和
所述第二值是否匹配。
3.根据权利要求2所述的方法,其中,迭代地将所获得的第二掩码应
用到所获得的第二页帧号以生成所述第一值包括:在不复制的情况下再使
用来自系统页表中的条目的页帧号。
4.根据权利要求1所述的方法,还包括:响应于确定所述第一值和所
述第二值匹配而清除所述第一TLB条目。
5.根据权利要求1所述的方法,还包括:向第二处理器发送指示TLB
动作和所述物理地址的消息,其中,所述TLB动作包括TLB清除操作。
6.根据权利要求1所述的方法,还包括:响应于确定所述第一值和所
述第二值匹配而返回所述第一TLB条目的索引。
7.根据权利要求6所述的方法,其中,利用第一处理器获得所述物理
地址输入包括:从第二处理器接收包括TLB动作和所述物理地址的消息,
所述方法还包括:
响应于接收由所述第二处理器发送的所述消息而将活跃标记清
零;
使用所返回的所述第一TLB条目的索引来执行在所接收的消息中
所指示的所述TLB动作;以及
响应于执行所述TLB动作而设置所述活跃标记。
8.一种多核异构计算设备,包括:
用于利用第一处理器获得物理地址输入的单元,其中,所述物理地址
输入指示对应于共享存储器的物理地址;
用于从与所述第一处理器相关联的TLB内的第一TLB条目获得与第一
虚拟地址相关联的第一掩码的单元,其中,所获得的第一掩码是比特模式;
用于从所述第一TLB条目获得与所述共享存储器相关联的第一页帧号
的单元;
用于将所获得的第一掩码应用到所获得的第一页帧号以生成第一值的
单元;
用于将所获得的第一掩码应用到所获得的物理地址输入以生成第二值
的单元;以及
用于比较所述第一值和所述第二值以确定所述第一值和所述第二值是

\t否匹配的单元。
9.根据权利要求8所述的多核异构计算设备,还包括:
用于响应于确定所述第一值和所述第二值不匹配而迭代地从所述TLB
内的其它TLB条目获得第二掩码和第二页帧号的单元;
用于迭代地将所获得的第二掩码应用到所获得的第二页帧号以生成所
述第一值的单元;以及
用于迭代地将所获得的第二掩码应用到所获得的物理地址输入以生成
所述第二值的单元,
其中,用于比较所述第一值和所述第二值以确定所述第一值和所述第
二值是否匹配的单元包括:用于迭代地比较所述第一值和所述第二值以确
定所述第一值和所述第二值是否匹配的单元。
10.根据权利要求9所述的多核异构计算设备,其中,用于迭代地将
所获得的第二掩码应用到所获得的第二页帧号以生成所述第一值的单元包
括:用于在不复制的情况下再使用来自系统页表中的条目的页帧号的单元。
11.根据权利要求8所述的多核异构计算设备,还包括:用于响应于
确定所述第一值和所述第二值匹配而清除所述第一TLB条目的单元。
12.根据权利要求8所述的多核异构计算设备,还包括:用于向第二
处理器发送指示TLB动作和所述物理地址的消息的单元,其中,所述TLB
动作包括TLB清除操作。
13.根据权利要求8所述的多核异构计算设备,还包括:用于响应于
确定所述第一值和所述第二值匹配而返回所述第一TLB条目的索引的单
元。
14.根据权利要求13所述的多核异构计算设备,其中,用于利用第一
处理器获得所述物理地址输入的单元包括:用于从第二处理器接收包括

\tTLB动作和所述物理地址的消息的单元,
所述多核异构计算设备还包括:
用于响应于接收由所述第二处理器发送的所述消息而将活跃标记
清零的单元;
用于使用所返回的所述第一TLB条目的索引来执行在所接收的消
息中所指示的所述TLB动作的单元;以及
用于响应于执行所述TLB动作而设置所述活跃标记的单元。
15.一种多核异构计算设备,包括:
第一处理器;
第二处理器;以及
共享存储器,其中,所述第一处理器被配置为具有处理器可执行指令,
以执行包括以下操作的操作:
利用所述第一处理器获得物理地址输入,其中,所述物理地址输
入指示对应于所述共享存储器的物理地址;
从与所述第一处理器相关联的TLB内的第一TLB条目获得与第一
虚拟地址相关联的第一掩码,其中,所获得的第一掩码是比特模式;
从所述第一TLB条目获得与所述共享存储器相关联的第一页帧
号;
将所获得的第一掩码应用到所获得的第一页帧号以生成第一值;
将所获得的第一掩码应用到所获得...

【专利技术属性】
技术研发人员:J·沈L·G·蔡奥恩
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1