可融合可重构缓存架构的制作方法

文档序号:9375498阅读:330来源:国知局
可融合可重构缓存架构的制作方法
【专利说明】
【背景技术】
[0001]根据摩尔定律,随着片上晶体管密度的提高,设计可靠的、可进行丰富并行操作的多核处理器的能力也在提高。确实,现代多核架构将很多简单的同构核集成于一个通常使用线程级并行(TLP)的片上。然而,虽然可使用TLP,但是很多在典型多核处理器上运行的应用程序有相当多的顺序代码段。根据阿姆达尔定律,由于这些顺序代码段不能在多核处理器的内核之间使用指令级并行(ILP),这些应用程序在多核处理器上运行时没有得到很好的加速。
[0002]为了解决上述问题,例如以下文章所公开的一些自适应多核架构被推荐用于解决简单核的上述局限:Mihai Pricopi和Tulika Mitra:Bahurupi:一种多态异构多核架构,美国计算机协会结构与代码优化汇刊(ACM TAC0), 8 (4):22:1 - 22:21,2012 ;Engin Ipek等:核融合:片上多处理器支持软件多样性,计算机体系结构国际会议(ISCA),第186 - 197页,2007 ;David Tarjan等:联合:重新利用标量内核以解决无序指令问题,设计自动化会议(DAC),第772 - 775页,2008 ;Changkyu Kim等:可组合的轻量级处理器,微处理机与微型计算机杂志(MICRO),第381 - 394页,2007。大体而言,上述引用文献中讨论的多核架构用简单核创建了虚拟复杂核,所述虚拟复杂核能够通过使用ILP来加速由多核处理器执行的应用程序的顺序段。当处理器负载中同时存在顺序和并行应用程序时,所述自适应多核处理器的性能比传统的同构多核处理器及非对称多核处理器强多了。
[0003]上述引用文献中所讨论的推荐的自适应多核处理器设计主要集中在所述处理器的内部微架构、所述处理器的编译程序和编程模型。因此,所述多核处理器设计忽略了或者说简化了有关所述多核处理器的存储层次的假设。例如,上述引用文献的一个共同的假设就是一级数据指令缓存必须支持可重构性。但是,上述引用文献都没有提供自适应多核处理器可重构缓存架构的解决方案。

【发明内容】

[0004]一方面,本发明实施例提供了一种可重构缓存架构,包括:包含多个内核的多核处理器;多个高速缓冲存储器,用于存储由所述多个内核中的至少一个内核处理的数据,并根据请求将所存储的数据提供给所述多个内核中的至少一个内核;互联网络,用于连接所述多个内核中的至少一个内核和所述多个高速缓冲存储器中的至少一个高速缓冲存储器,其中,所述互联网络包含一个组合路由网,所述多个内核中的至少一个内核处理的数据根据输入至所述互联网络的地址映射,通过所述组合路由网进行路由。
[0005]在一个实施例中,所述组合路由网包含网络重构输入,所述网络重构输入包括至少一个交换层,所述至少一个交换层包含多个可配置开关,所述可配置开关用于在双向模式(总是向上模式和总是向下模式)中的一个模式下运行。
[0006]在另一个实施例中,所述组合路由网用于在所述双向模式下运行,所述地址映射确定由所述多个内核中的至少一个内核处理的数据是在第一方向上路由还是在第二方向上路由。
[0007]在另一个实施例中,根据由所述多个内核中的至少一个内核处理的数据是在第一方向上路由还是在第二方向上路由,将所述数据存储于所述多个高速缓冲存储器中的至少一个高速缓冲存储器的单个缓存库内。
[0008]在一个实施例中,所述互联网络还包括仲裁程序,所述仲裁程序插入于所述组合路由网和所述多个高速缓冲存储器中的至少一个高速缓冲存储器之间。
[0009]在另一个实施例中,当多个内核同时将数据写入到所述单个缓存库时,所述仲裁程序用于判断哪些数据被实际写入到所述单个缓存库。
[0010]在又一个实施例中,所述可重构缓存架构还包括:直连网络,将所述多个内核中的一个内核连接到所述多个高速缓冲存储器中的一个高速缓冲存储器;及,系统重构输入,用于为所述多个内核中的每个内核选择互联网络和直连网络中的一个,以便由所述多个内核中的至少一个内核处理的数据根据所述系统重构输入状态,通过所述互联网络和所述直连网络中的一个进行路由。
[0011]在另一个实施例中,所述可重构缓存架构还包括单个的复用器,所述单个的复用器插入在所述复用器第一侧的每个内核和所述复用器第二侧的互联网络和直连网络之间。
[0012]在又一个实施例中,所述复用器用于根据系统重构输入状态选择直连网络和互联网络中的一个。
[0013]在一个实施例中,所述多个高速缓冲存储器的每个单个高速缓冲存储器包含多个缓存库,所述多个缓存库呈H桥型与第一开关、第二开关、第三开关及第四开关相连,所述开关连接直连网络和所述多个缓存库。
[0014]在另一个实施例中,所述可重构缓存架构还包括一个缓存重构输入,用于根据所述系统重构输入选择了直连网络还是互联网络,打开或关闭第一开关、第二开关、第三开关和第四开关。
[0015]在又一个实施例中,如果所述系统重构输入设置为选择直连网络,那么所述缓存重构输入关闭第一开关、第二开关、第三开关和第四开关;如果所述系统重构输入设置为选择互联网络,那么所述缓存重构输入打开第一开关、第二开关、第三开关和第四开关。
[0016]另一方面,本发明实施例提供了一种设置高速缓冲存储器请求路由的系统,以在多核处理器中实现指令级并行,所述系统包括:所述多核处理器的多个内核,用于对由所述多核处理器处理的数据进行指令级并行处理;多个高速缓冲存储器,用于存储由所述多核处理器处理的数据,并按请求将所存储的数据提供给所述多个内核中的至少一个内核;直连网络,将所述多个内核中的一个内核连接到所述多个高速缓冲存储器中的一个高速缓冲存储器;及,互联网络,用于连接所述多个内核中的至少一个内核和所述多个高速缓冲存储器中的至少一个高速缓冲存储器,其中,所述互联网络包括组合路由网,由所述多核处理器处理的数据根据输入至所述互联网络的地址映射,通过所述组合路由网进行路由。
[0017]在一个实施例中,所述设置高速缓冲存储器的系统还包括系统重构输入,所述系统重构输入将由所述多核处理器处理的数据设置为通过直连网络和互联网络中的一个进行路由。
[0018]在另一个实施例中,所述组合路由网包括:至少一个交换层,每个交换层包含多个可配置开关,所述多个可配置开关用于双向模式中的一个模式,即总是向上模式和总是向下模式;及,网络重构输入,用于输入地址映射,以便由所述多核处理器处理的数据根据地址映射通过所述至少一个交换层进行路由、并被写入至所述多个高速缓冲存储器中的至少一个高速缓冲存储器的指定缓存库。
[0019]在又一个实施例中,所述多个高速缓冲存储器中的每个单个高速缓冲存储器包括多个缓存库,所述多个缓存库呈H桥型和至少一个开关相连,所述开关连接直连网络和所述多个缓存库。
[0020]在再一个实施例中,所述多个高速缓冲存储器中的每个单个高速缓冲存储器包括:缓存重构输入,用于根据系统重构输入选择了直连网络还是互联网络,打开或关闭所述至少一个开关,其中,如果系统重构输入设置为选择直连网络,那么所述缓存重构输入关闭所述至少一个开关;如果系统重构输入设置为选择互联网络,那么所述缓存重构输入打开所述至少一个开关。
[0021]另一方面,本发明实施例提供了一种互联设备,用于以通信的方式将一个多核处理器耦合到多个高速缓冲存储器,其中,每个高速缓冲存储器包括多个缓存库;所述互联设备包括:包含多个交换层的日志网络层,其中,第一交换层包含多个开关,每一个随后的交换层包含的开关数是前一个交换层的开关数的两倍;网络重构寄存器,用于存储地址映射,以便通过所述日志网络层对所述多核处理器处理的数据进行路由;及,仲裁层,将所述日志网络层耦合至所述多个缓存库。
[0022]在一个实施例中,所述地址映射包含一个二进制数,所述二进制数的每一位对应所述多个交换层中的单个交换层,所述单个交换层的每个开关用于在第一方向和第二方向中的一个方向上,基于所述单个交换层对应的二进制数位的值,将所述多核处理器处理的数据路由至后一个交换层。
[0023]在另一个实施例中,所述仲裁层包括:对应所述多个缓存库中的各个缓存库的单个仲裁节点,各个所述单个仲裁节点从所述多核处理器的每个内核接收输入,向所述缓存库提供输出。
[0024]在另一个实施例中,所述单个仲裁节点用于在所述多核处理器中多于一个内核同时试图将数据写入所述缓存库的情况下,判断被写入的是什么数据。
【附图说明】
[0025]图1是根据本发明实施例的自适应多核处理器的缓存架构示意图。
[0026]图2是图1中的一个互联网络示意图。
[0027]图3是图2中的互联网络的地址映射示意图。
[0028]图4是根据示例性实施例的图2中的互联网络示意图。
[0029]图5是根据示例性实施例的图2中的互联网络示意图。
[0030]图6是根据本发明实施例的从互联网络发送至多核处理器的一个内核的重试消息示意图。
[
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1