操作数据结构制造技术

技术编号:7163102 阅读:320 留言:0更新日期:2012-04-11 18:40
设计了一种编译器,该编译器响应于接收预处理的代码而标识不是用于加速的候选的代码部分,并且标识用于加速的候选的迭代操作的代码块。响应于标识代码部分,编译器生成包括对应于已标识代码部分的一个或者多个较低级别指令的处理后的代码;并且响应于标识代码块,编译器创建并输出分离于处理后代码的操作数据结构,其中代码数据结构标识迭代的操作。编译器将块计算命令置入处理后的代码,处理后的代码调取操作数据结构的处理以执行迭代的操作并输出处理后的代码。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总体上涉及数据处理。
技术介绍
当前,多个趋势影响服务器类型和大型机计算机系统的开发。尤其是,根据Moore 定律,集成电路内部的晶体管密度继续增加,在其当前形势下,假定在集成电路上每单位区域的晶体管的数量将在大约每18个月翻一番。此外,处理器频率持续在大约每2年则翻一番。再者,系统规模(也即,系统中的中央处理单元(CPU)的数量)持续增长至数十、数百, 而在某些情况下,甚至达到数千个处理器。这些趋势的结果是,服务器类型和大型机计算机系统的峰值性能已经越来越快。在近些年来,已经开发的大型高性能计算(HPC)系统声称, 峰值性能的数量级是数百TFLOPS (每秒万亿次浮点运算)。遗憾的是,在高性能计算系统中,持久性能没有以峰值性能的节奏改进,并且虽然实际上持久性能相对于峰值性能的比率目前较低(例如,1 10),该比率大体上在下降。对于此类未被利用的可用计算能力,现在已经投入了大量关注以便实现更强的持久性能。
技术实现思路
本专利技术指出,如果加速数据处理系统的一个或者多个处理器内地址的生成被加速,则可以实现更强的性能(以及更强的持久性能-峰值性能比)。在一个实施方式中,处理器包括至少一个执行单元,用于执行指令;指令序列单元,用于获取由至少一个执行单元执行的指令;操作数据结构,标识将由处理器执行的一个或者多个迭代操作;以及计算引擎,响应于来自指令序列单元的发起信号,访问操作数据结构,并执行由操作数据结构标识的一个或者多个迭代的操作之一。附图说明现在将参见附图,仅借助于示例描述本专利技术的实施方式,在附图中图1是根据本专利技术一个实施方式的数据处理系统的高级框图;图2是来自图1的处理单元的高级框图;图3是来自图2的处理器核的更详细的框图;图4是一个示例性过程的高级框图,该图示出了辅助由图3的浮点单元(FDU)进行的浮点指令执行的步骤;图5是图3的块计算引擎(BCE)的示例性实施方式的更详细的框图;图6A绘出了图5的操作数数据结构的一个示例性实施方式;图6B绘出了图5的操作数据结构的一个示例性实施方式;图7是绘出来自处理后代码(诸如目标代码)的预处理代码(诸如源代码)的生成、以及支持代码块处理的相关联操作数和操作数据结构的处理流程图;以及图8是根据本专利技术一个实施方式的块驱动计算的示例性方法的高级逻辑流程图。具体实施例方式现在参见附图尤其是参见图1,其中示出了根据本专利技术的多处理器数据处理系统的一个示例性实施方式的高级框图。如所示出,数据处理系统100包括多个处理节点102a、 102b用于处理数据和指令。处理节点102a、102b耦合至系统互联110用于转换地址、数据和控制信息。系统互联110例如可以实现为总线连接的互联、交换机连接的互联或者混合互联在绘出的实施方式中,每个处理节点102实现为包括4个处理单元l(Ma-104d的多芯片模块(MCM),每个处理单元104a-104d优选地实现为相应的集成电路。每个处理节点 102内的处理单元104a-104d被耦合用于由本地互联114通信,其例如系统互联110,可以以一个或者多个总线和/或交换机实现。耦合至每个本地互联114的设备不但包括处理单元104,还包括一个或者多个系统存储器108a-108d。驻留在系统存储器108中的数据和指令通常可以由处理器核200 (图 2)来访问和修改,该处理器核200在数据处理系统100的任何处理节点102的任何处理单元104中。在本专利技术的备选实施方式中,一个或者多个系统存储器108可以耦合至系统互联110而不是本地互联114。本领域技术人员应当理解,数据处理系统100可以包括多个附加的未示出组件, 诸如外围设备、互联桥接设备、非易失性存储器、用于连接至网络或者附接设备的端口等。 由于此类附加组件不是理解本专利技术所必须的,在图1中未示出这些组件,在此也未作进一步讨论。然而,还应当理解,由本专利技术提供的增强适用于各种架构的数据处理系统,并且并不意在限制于在图1中示出的概括的数据处理系统架构。现在参见图2,绘出了根据本专利技术实施方式的一个示例性处理单元104的更详细的框图。在绘出的实施方式中,每个处理单元104包括多个(例如,2个)处理器核200a、 200b用于独立地处理指令和数据。每个处理器核200的操作由多级易失性存储器层级支持,该多级易失性存储器层级具有最低级别共享系统存储器108a-108d,以及在其较高层级是高速缓冲存储器的一个或者多个级别。在绘出的实施方式中,每个处理单元104包括集成存储器控制器(IMC) 206,该集成存储器控制器(IMC) 206响应于从处理器核200a-200b 接收的请求和在本地互联114上窥探到的操作,控制对其处理节点102内部的系统存储器 108a-108d中相应的一个的读访问和写访问。在示意性实施方式中,处理器单元104的高速缓冲存储器层级包括每个处理器核 200内的直存(store-through)级别1 (Li)高速缓存、以及由处理器单元104的全部存储器核200a、200b共享的级别2 (L2)高速缓存230。L2高速缓存230包括L2阵列和目录234, 以及包括管理器(master) 232和窥探器236的高速缓存控制器。管理器232响应于从相关联的存储器核200a-200b接收的存储器访问(和其他)请求,发起本地互联114和系统互联110上的事务,并且访问L2阵列和目录234。窥探器236窥探本地互联114上的操作,提供适当响应并对L2阵列和目录234执行操作所需的任何访问。尽管示出的高速缓存层级仅包括两级高速缓存,但本领域技术人员应当理解,备选实施方式可以包括片上或者片下内联、或者后备高速缓存的附加的级别(L3、L4等),这可以是全部包括、部分包括或者不包括较高级别高速缓存的内容。此外,高速缓存层级的各种级别中的任一项对于特定存储器核200可以是私有的,或者由多个处理器核200共享。仍然参见图2,每个处理器单元104进一步包括响应逻辑210的实例,其实现分布式的、基于窥探的一致性信令机制的部分,该机制维护数据处理系统100内的高速缓存的一致性。另外,每个处理单元104包括转发逻辑212的实例,用于在其本地互联114和系统互联110之间选择性地转发通信。最终,每个处理单元104包括集成1/0(输入/输出)控制器214,其支持附接一个或者多个I/O设备(诸如I/O设备216)。I/O控制器214可以响应于I/O设备216的请求而发出对本地互联114和/或系统互联110的操作。现在参见图3,示出了来自图2的处理器核200之一的更详细框图。如所示出,处理器核200包括分叉的级别I(Ll)指令和数据高速缓存302和304,其临时地分别缓存指令和操作数数据,这类似于由处理器核200访问。另外,处理器核200具有指令序列单元 (ISU) 306,该指令序列单元(ISU) 306利用真实地址从Ll I高速缓存302获取指令,该真实地址是通过指令存储器管理单元(IMMU) 308执行的有效-真实地址转换(ERAT)获取的。如本领域技术人员所理解,ISU 306可以要求获取(例如,非投机地(non-speculatively)获取)执行的一个或者多个有效线程内的指令,或者投机获取可用被最终执行本文档来自技高网...

【技术保护点】
1.一种在数据处理系统中编译代码的方法,所述方法包括:响应于接收预处理的代码,编译器标识不是用于加速的候选的所述预处理代码中的代码部分,并且标识用于加速的候选的所述预处理的代码中的代码块,其中所述代码块指定迭代的操作;响应于标识所述代码部分,所述编译器生成包括对应于已标识的代码部分的一个或者多个较低级别指令的处理后的代码;响应于标识所述代码块,所述编译器创建并输出分离于所述处理后代码的操作数据结构,其中所述操作数据结构标识所述迭代的操作;所述编译器将块计算命令置入所述处理后的代码,所述处理后的代码调取所述操作数据结构的处理以执行所述迭代的操作;以及所述编译器输出所述处理后的代码。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:R·K·阿里米利
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US

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

1