众核处理器虚实地址转换方法

文档序号:6378193阅读:378来源:国知局
专利名称:众核处理器虚实地址转换方法
技术领域
本发明涉及计算机技术领域,更具体地说,本发明涉及一种众核处理器虚实地址转换方法。
背景技术
随着单核处理器芯片集成度和主频的提高,处理器技术遇到了制造成本、功耗、散热等问题,促使多核、多线程技术成为处理器系统发展的新方向。其中集成几百甚至上千个核的处理器系统一般称为众核处理器系统。多核处理器系统以及众核处理器系统中的核数的增加保证了计算和数据处理能力持续提高。其中集成几百甚至上千个核的处理器系统一般称为众核处理器系统。众核处理器系统中的核数的增加保证了计算和数据处理能力持续提高。发表在“计算机工程与科学”2008年第30卷第9期第154至157页上的技术文献“用户级通信中基于网络接口的虚实地址变换技术”描述了一种基于地址变换表的虚实地址变换机制。但是,根据现有技术的虚实地址转换要么不适用于众核处理器,要么将带来巨大的开销。此外,现有技术不足之处还包括通用处理器的TLB+页表技术、段表技术和段页表技术等。而且,共享Cache (高速缓存)一般是处理器系统性能提升的重要因素,但是在众核系统中由于众多核心的竞争,共享Cache的访问有时候反而影响了处理器系统性能。因此,希望能够提供一种可有效降低众核处理器中虚实地址转换、空间保护等多种功能的开销,并可快速、灵活的完成虚实地址转换的众核处理器虚实地址转换方法。

发明内容
本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种能够有效降低众核处理器中虚实地址转换、空间保护等多种功能的开销,并可快速、灵活的完成虚实地址转换的众核处理器虚实地址转换方法。根据本发明的第一方面,提供了一种众核处理器虚实地址转换方法,其包括众核处理器虚实地址转换方法,其包括第一步骤请求仲裁器对来自各个处理器核心的指令流请求和数据流请求进行仲裁;第二步骤通过指令流代换表和数据流代换表对仲裁后的指令流、数据流请求进行集中代换;其中,每个处理器核心在指令流、数据流代换表中固定分配若干条目,并且其中,核心的指令流在进行越权、越界检查后,通过虚地址索引本核心对应的代换表项后,利用可配置的代换算法代换出物理地址,代换表项还包含了对Cache一致性属性配置的信息。优选地,所述代换算法的配置包括支持对物理空间到虚空间的映射算法的动态修改,在众核处理器存在多个存储控制器时,可实现处理器核心实际使用的物理空间固定在某个存储控制器,或灵活分条保存在多个存储控制器上。优选地,指令流、数据流代换包括步骤1)检查指令流、数据流的虚地址或物理地址是否发生越权、越界异常;2)根据虚地址和请求处理器核心的编号,生成索引,读出相关代换表项;3)利用代换算法代换出物理地址。优选地,Cache 一致性属性配置信息包括代换后的指令流、数据流访问是否可Cache、访问Cache的策略是直写还是回写、访问Cache是否写分配。优选地,所述越权、越界检查包括检查请求的虚地址是否落在对应段的虚空间范围内,如果超过该范围,则报地址越界错;检查请求的虚地址是否落在对应的物理空间范围内,如果超过该范围,则报地址越界错;以及检查请求虚地址是否访问了超出设定权限的物理空间范围,如果访问权限不足,则报越权错。根据本发明的第二方面,提供了众核处理器虚实地址转换方法,其特征在于包括第一步骤请求仲裁器对来自各个处理器核心的指令流请求和数据流请求进行仲裁;第二步骤通过指令流代换表进行处理器核心的指令流代换;其中,每个处理器核心在数据流代换表中固定分配多个条目,每个条目表示核心的一种虚空间类型,其中,核心的数据流在进行越权、越界检查后,虚地址根据处理器核心的编号核心号和虚空间类型索引本核心对应的代换表项后,通过代换算法代换出物理地址。优选地,指令流、数据流代换包括步骤1)检查指令流、数据流的虚地址或物理地址是否发生越权、越界异常;2)根据虚地址和请求处理器核心的编号,生成索引,读出相关代换表项;3)利用代换算法代换出物理地址。优选地,所述代换算法的配置包括支持对物理空间到虚空间的映射算法的动态修改,在众核处理器存在多个存储控制器时,可实现处理器核心实际使用的物理空间固定在某个存储控制器,或灵活分条保存在多个存储控制器上。优选地,Cache 一致性属性配置信息包括代换后的指令流、数据流访问是否可Cache、访问Cache的策略是直写还是回写、访问Cache是否写分配。优选地,所述越权、越界检查包括检查请求的虚地址是否落在对应段的虚空间范围内,如果超过该范围,则报地址越界错;检查请求的虚地址是否落在对应的物理空间范围内,如果超过该范围,则报地址越界错;以及检查请求虚地址是否访问了超出设定权限的物理空间范围,如果访问权限不足,则报越权错。如上所述,共享Cache —般是处理器系统性能提升的重要因素,但是在众核系统中由于众多核心的竞争,共享Cache的访问有时候反而影响了处理器系统性能。相应地,本发明所述的Cache —致性属性配置信息包括代换后的指令流、数据流访问是否可Cache、访问Cache的策略是直写还是回写、访问Cache是否写分配等。更具体地说,在上述众核处理器虚实地址转换方法中,所述越权、越界检查包括检查请求的虚地址是否落在对应段的虚空间范围内,如果超过该范围,则报地址越界错;检查请求的虚地址是否落在对应的物理空间范围内,如果超过该范围,则报地址越界错;以及检查请求虚地址是否访问了超出设定权限的物理空间范围,如果访问权限不足,则报越权错。本发明至少具有下述优势1)众核处理器的多个核心进行集中虚实地址代换,降低开销;2)根据地址空间类型设计的段式空间保护机制,支持虚空间到物理地址的连续、可配置分条等灵活的映射机制;3)代换装置还支持越权、越界保护,同时,支持对Cache (高速缓存)一致性属性参数的配置。与已有技术相比,本发明的创新在于集中式代换比传统的方式开销小,更适应众核;增加了灵活映射算法的动态修改机制,更适应众核处理器的使用;除了传统的越权、越界检查外,还增加了 Cache—致性属性的设置,更适合众核处理器的使用。而且,本发明的众核处理器虚实地址转换方法在较小的开销情况下,完成了众核处理器中虚实地址转换、空间保护等多种功能。


结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中图I示意性地示出了根据本发明第一实施例的众核处理器虚实地址转换方法的流程图。图2示意性地示出了根据本发明第二实施例的众核处理器虚实地址转换方法的流程图。图3示意性地示出了根据本发明第二实施例的众核处理器虚实地址转换方法的数据流代换表。图4示意性地示出了根据本发明第三实施例的众核处理器虚实地址转换方法的流程图。图5示意性地示出了根据本发明第三实施例的众核处理器虚实地址转换方法的数据流代换表。图6示意性地示出了根据本发明实施例的代换流程示意图。需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。
具体实施例方式为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。在本发明实施例的众核处理器虚实地址转换方法中,处理器核心的指令流和数据流代换采用段式管理,虚地址空间划分成若干类型,虚地址向物理地址的转换采用集中的指令流代换表和数据流代换表完成。本发明实施例采用请求仲裁器、指令流代换表和数据流代换表。<第一实施例>图I示意性地示出了根据本发明第一实施例的众核处理器虚实地址转换方法的流程图。如图I所示,根据本发明第一实施例的众核处理器虚实地址转换方法包括下述步骤第一步骤SI :请求仲裁器对来自各个处理器核心的指令流请求和数据流请求进行仲裁;其中,优选地,请求仲裁器可以根据众核处理器核心规模分成多级。第二步骤S2 :通过指令流代换表和数据流代换表对仲裁后的指令流、数据流请求进行集中代换;其中,每个处理器核心在指令流、数据流代换表中固定分配若干条目,并且其中,核心的指令流在进行越权、越界检查后,通过虚地址索引本核心对应的代换表项后,利用可配置的代换算法代换出物理地址,代换表项还包含了对Cache —致性属性配置的信
肩、O具体地说,例如,所述代换算法的配置包括支持对物理空间到虚空间的映射算法的动态修改,在众核处理器存在多个存储控制器时,可实现处理器核心实际使用的物理空间固定在某个存储控制器,或灵活分条保存在多个存储控制器上。在本发明的一个具体实施方式
中,指令流、数据流代换包括步骤I)检查指令流、数据流的虚地址或物理地址是否发生越权、越界异常;2)根据虚地址和请求处理器核心的编号,生成索引,读出相关代换表项;3)利用代换算法代换出物理地址。具体地说,图6示意性地示出了根据本发明实施例的代换流程示意图。如图6所示,虚地址访问请求Tl首先进行指令流、数据流仲裁T2 ;随后,进入指令流、数据流代换器T3,代换器T3查询指令流、数据流代换表T4以及代换算法配置表T5,从而进行越权、越界检查T6 ;根据检查结果,要么越权、越界异常报错T7,要么得到物理地址+Cache访问属性T8。指令流、数据流代换表T4为多个代换表项,根据虚地址和核心号索引访问条目,表中登记的代换信息包括1.用于物理地址计算的基本信息;2.含用于越权检查的权限配置;3.用于越界检查的界限配置;4. Cache信息。例如,Cache—致性属性配置信息包括代换后的指令流、数据流访问是否可Cache、访问Cache的策略是直写还是回写、访问Cache是否写分配。其中,所述越权、越界检查包括检查请求的虚地址是否落在对应段的虚空间范围内,如果超过该范围,则报地址越界错;检查请求的虚地址是否落在对应的物理空间范围内,如果超过该范围,则报地址越界错;以及检查请求虚地址是否访问了超出设定权限的物理空间范围,如果访问权限不足,则报越权错。与已有技术相比,本发明实施例的创新在于集中式代换比传统的方式开销小,更适应众核;增加了灵活映射算法的动态修改机制,更适应众核处理器的使用;除了传统的越权、越界检查外,还增加了 Cache —致性属性的设置,更适合众核处理器的使用。而且,本发明的众核处理器虚实地址转换方法在较小的开销情况下,完成了众核处理器中虚实地址转换、空间保护等多种功能。<第二实施例>图2示意性地示出了根据本发明第二实施例的众核处理器虚实地址转换方法的流程图。如图2所示,根据本发明第二实施例的众核处理器虚实地址转换方法包括下述步骤第一步骤SI :请求仲裁器对来自各个处理器核心的指令流请求和数据流请求进行仲裁;其中,优选地,请求仲裁器可以根据众核处理器核心规模分成多级。第二步骤S20 :通过指令流代换表进行处理器核心的指令流代换;其中,每个处理器核心在指令流代换表中固定分配一个条目(如图3所示),其中,指令流代换表数据流代换表中,每个条目包括段长度、虚空间基址、段的虚空间基址和物理空间基址的差值、以及基地址差值符号位。核心的指令流在进行越权、越界检查后,通过虚地址索引本核心对应的代换表项后,利用代换算法代换出物理地址。<第三实施例>上述第二实施例对应于每个处理器核心在指令流代换表中固定分配一个条目的情况,相应地,对于每个处理器核心在指令流代换表中固定分配多个条目的情况,图4示意性地示出了根据本发明第三实施例的众核处理器虚实地址转换方法的流程图。如图4所示,根据本发明第三实施例的众核处理器虚实地址转换方法包括下述步骤第一步骤SI :请求仲裁器对来自各个处理器核心的指令流请求和数据流请求进行仲裁;其中,优选地,请求仲裁器可以根据众核处理器核心规模分成多级。第二步骤S20 :通过指令流代换表进行处理器核心的指令流代换;其中,每个处理器核心在数据流代换表中固定分配多个条目,每个条目表示核心的一种虚空间类型(如图5所示),其中,指令流代换表数据流代换表中,每个条目包括段长度、虚空间基址、段的虚空间基址和物理空间基址的差值、以及基地址差值符号位。核心的数据流在进行越权、越界检查后,虚地址根据处理器核心的编号核心号和虚空间类型索引本核心对应的代换表项后,通过代换算法代换出物理地址。其中,例如,虚空间类型包括私有连续段、共享连续段(只读)、共享连续段(读写)和共享交叉段。指令流、数据流代换包括步骤I)检查指令流、数据流的虚地址或物理地址是否发生越权、越界异常;2)根据虚地址和请求处理器核心的编号,生成索引,读出相关代换表项;3)利用代换算法代换出物理地址。访问区域的类型包括私有连续区、共享连续只读区、共享连续区、共享交叉区。其中,所述越权、越界检查包括检查请求的虚地址是否落在对应段的虚空间范围内,如果超过该范围,则报地址越界错;检查请求的虚地址是否落在对应的物理空间范围内,如果超过该范围,则报地址越界错;以及检查请求虚地址是否访问了超出设定权限的物理空间范围,如果访问权限不足,则报越权错。由此,本发明实施例的众核处理器虚实地址转换方法至少具有下述优势I)众核处理器的多个核心进行集中虚实地址代换,降低开销;2)根据地址空间类型设计的段式空间保护机制,支持虚空间到物理地址的连续、可配置分条等灵活的映射机制;3)代换装置还支持越权、越界保护,同时,支持对Cache (高速缓存)一致性属性参数的配置。本发明实施例的众核处理器虚实地址转换方法在较小的开销情况下,完成了众核处理器中虚实地址转换、空间保护等多种功能。根据本发明的另一优选实施例,本发明还提供了一种采用了上述众核处理器虚实地址转换方法的众核处理器。可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
权利要求
1.一种众核处理器虚实地址转换方法,其特征在于包括第一步骤请求仲裁器对来自各个处理器核心的指令流请求和数据流请求进行仲裁;第二步骤通过指令流代换表和数据流代换表对仲裁后的指令流、数据流请求进行集中代换;其中,每个处理器核心在指令流、数据流代换表中固定分配若干条目,并且其中,核心的指令流在进行越权、越界检查后,通过虚地址索引本核心对应的代换表项后,利用可配置的代换算法代换出物理地址,代换表项包含对Cache —致性属性配置的信息。
2.根据权利要求I所述的众核处理器虚实地址转换方法,其特征在于,其中,所述代换算法的配置包括支持对物理空间到虚空间的映射算法的动态修改,在众核处理器存在多个存储控制器时,处理器核心实际使用的物理空间固定在某个存储控制器,或分条保存在多个存储控制器上。
3.根据权利要求I或2所述的众核处理器虚实地址转换方法,其特征在于,指令流、数据流代换包括步骤1)检查指令流、数据流的虚地址或物理地址是否发生越权、越界异常;2)根据虚地址和请求处理器核心的编号,生成索引,读出相关代换表项;3)利用代换算法代换出物理地址。
4.根据权利要求I或2所述的众核处理器虚实地址转换方法,其特征在于,Cache—致性属性配置信息包括代换后的指令流、数据流访问是否可Cache、访问Cache的策略是直写还是回写、访问Cache是否写分配。
5.根据权利要求I或2所述的众核处理器虚实地址转换方法,其特征在于,所述越权、 越界检查包括检查请求的虚地址是否落在对应段的虚空间范围内,如果超过该范围,则报地址越界错;检查请求的虚地址是否落在对应的物理空间范围内,如果超过该范围,则报地址越界错;以及检查请求虚地址是否访问了超出设定权限的物理空间范围,如果访问权限不足,则报越权错。
6.一种众核处理器虚实地址转换方法,其特征在于包括第一步骤请求仲裁器对来自各个处理器核心的指令流请求和数据流请求进行仲裁;第二步骤通过指令流代换表进行处理器核心的指令流代换;其中,每个处理器核心在数据流代换表中固定分配多个条目,每个条目表示核心的一种虚空间类型,其中,核心的数据流在进行越权、越界检查后,虚地址根据处理器核心的编号核心号和虚空间类型索引本核心对应的代换表项后,通过代换算法代换出物理地址。
7.根据权利要求6所述的众核处理器虚实地址转换方法,其特征在于,所述代换算法的配置包括支持对物理空间到虚空间的映射算法的动态修改,在众核处理器存在多个存储控制器时,处理器核心实际使用的物理空间固定在某个存储控制器,或分条保存在多个存储控制器上。
8.根据权利要求6或7所述的,众核处理器虚实地址转换方法,其特征在于,指令流、数据流代换包括步骤1)检查指令流、数据流的虚地址或物理地址是否发生越权、越界异常;2)根据虚地址和请求处理器核心的编号,生成索引,读出相关代换表项;3)利用代换算法代换出物理地址。
9.根据权利要求6或7所述的,众核处理器虚实地址转换方法,其特征在于,Cache—致性属性配置信息包括代换后的指令流、数据流访问是否可Cache、访问Cache的策略是直写还是回写、访问Cache是否写分配。
10.根据权利要求6或7所述的众核处理器虚实地址转换方法,其特征在于,所述越权、 越界检查包括检查请求的虚地址是否落在对应段的虚空间范围内,如果超过该范围,则报地址越界错;检查请求的虚地址是否落在对应的物理空间范围内,如果超过该范围,则报地址越界错;以及检查请求虚地址是否访问了超出设定权限的物理空间范围,如果访问权限不足,则报越权错。
全文摘要
一种众核处理器虚实地址转换方法包括第一步骤请求仲裁器对来自各个处理器核心的指令流请求和数据流请求进行仲裁;第二步骤通过指令流代换表和数据流代换表对仲裁后的指令流、数据流请求进行集中代换;其中,每个处理器核心在指令流、数据流代换表中固定分配若干条目,并且其中,核心的指令流在进行越权、越界检查后,通过虚地址索引本核心对应的代换表项后,利用可配置的代换算法代换出物理地址,代换表项包含对Cache一致性属性配置的信息。Cache一致性属性配置信息包括代换后的指令流、数据流访问是否可Cache、访问Cache的策略是直写还是回写、访问Cache是否写分配。
文档编号G06F9/38GK102929588SQ20121037498
公开日2013年2月13日 申请日期2012年9月28日 优先权日2012年9月28日
发明者郑方, 李宏亮, 许勇, 任秀江, 高红光, 唐勇, 杨萱 申请人:无锡江南计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1