用于微处理器中累加寄存器结果的指令处理制造技术

技术编号:34236407 阅读:20 留言:0更新日期:2022-07-24 08:17
公开了一种用于处理信息的计算机系统、处理器和方法,包括:至少一个计算机处理器;与所述至少处理器相关联的主寄存器文件,所述主寄存器文件具有用于存储数据的多个条目、用于将数据写入所述主寄存器文件条目的一个或多个写入端口、以及用于从所述主寄存器文件条目读取数据的一个或多个读取端口;一个或多个执行单元,包括密集数学执行单元;以及至少一个累加器寄存器文件,具有用于存储数据的多个条目。在一方面,密集数学执行单元的结果被写到累加器寄存器文件,优选地多次被写到相同的累加器寄存器文件条目,并且来自累加器寄存器文件的数据被写到主寄存器文件。件的数据被写到主寄存器文件。件的数据被写到主寄存器文件。

【技术实现步骤摘要】
【国外来华专利技术】用于微处理器中累加寄存器结果的指令处理

技术介绍

[0001]本专利技术总体上涉及数据处理系统、处理器,并且更具体地涉及处理器中的累加器寄存器文件,包括与一个或多个密集数学执行单元(诸如,例如一个或多个矩阵

乘法

累加器(MMA)单元)相关联的累加器寄存器。
[0002]当前在数据处理系统中使用的处理器一次处理一个以上指令,且经常无序地处理那些指令。在现代计算机架构中,存在若干已知的方式来设计适于一次执行多于一个指令的计算机,或至少在同一时间帧内执行多于一个指令的计算机。例如,提高吞吐量的一种设计包括在处理器核内的多个执行片以同时处理多个指令线程,其中线程共享处理器核的某些资源。执行片可指处理器内串联的多个数据处理硬件单元,如流水线或流水线结构,以在单个处理周期内处理多条指令。流水线涉及分阶段处理指令,以便同时处理多条指令。多个执行片可以用作处理器内核内同步多线程的一部分。
[0003]各个流水线阶段可包括“指令取出”阶段,其中指令从存储器中取出。在“解码”阶段,指令被解码成不同的控制位,该控制位通常指定(i)用于执行由指令指定的操作的功能单元(例如,执行单元)的类型,(ii)操作的源操作数,以及(iii)操作的结果的目的地。在“调度”阶段,解码的指令被调度至发布队列(ISQ),在该发布队列中指令等待数据和可用的执行单元。发布队列中的指令通常被发布到“执行”阶段中的执行单元。“执行”阶段处理由指令指定的操作。执行由指令指定的操作通常包含接受数据(例如,一个或一个以上操作数)和产生一个或一个以上结果。通常存在与执行单元和/或发布队列相关联的寄存器文件,以保持执行单元的数据和/或信息。寄存器文件通常具有从寄存器文件中的条目或位置读取和/或写入的信息。
[0004]增加计算吞吐量的设计是具有专门的计算单元(例如,矩阵

乘法

累加器单元(MMA单元))来处理不同数据类型并执行高度并行的任务。宽单指令多数据(SIMD)数据流是实现高计算吞吐量的一种方式。

技术实现思路

[0005]给出本公开的概述以帮助理解计算机系统、计算机架构结构、处理器、包括累加器寄存器文件的寄存器文件、以及在处理器中使用寄存器文件的方法,而并非旨在限制本公开或本专利技术。本公开涉及本领域普通技术人员。应理解,本公开的各个方面和特征可有利地在一些情况下单独地使用,或在其他情况下与本公开的其他方面和特征组合使用。因而,可以对计算机系统、架构结构、处理器、寄存器文件和/或它们的操作方法进行变化和修改,以实现不同的效果。
[0006]公开了一种用于处理信息的计算机系统,其中该计算机系统包括:至少一个处理器;与该至少一个处理器相关联的主寄存器文件,该主寄存器文件具有用于存储数据的多个条目、用于将数据写入主寄存器文件条目的一个或多个写入端口、以及用于从主寄存器文件条目读取数据的一个或多个读取端口;一个或多个执行单元,包括密集数学执行单元;以及至少一个累加器寄存器文件,其具有用于存储数据的多个条目,所述至少一个累加器
寄存器文件与所述密集数学执行单元相关联。在一个或多个实施例中,处理器被配置成在密集数学执行单元中处理数据,其中密集数学执行单元的结果被写入累加器寄存器文件。在一方面中,所述处理器经配置以多次将结果写回到相同的累加器寄存器文件条目。在实施例中,处理器还被配置为将数据从累加器寄存器文件写到主寄存器文件。优选地,处理器被配置为响应于访问被映射到累加器寄存器文件的主寄存器文件条目的指令而将数据从累加器寄存器文件写到多个主寄存器文件条目。
[0007]在一方面中,所述处理器经配置以启动(prime)所述累加器文件寄存器以接收数据,且在一优选方面中,所述处理器经配置以响应于将数据存储到所述累加器寄存器文件的指令启动所述累加器文件寄存器。在一个实施例中,响应于启动累加器寄存器文件条目,处理器将映射到启动的累加器寄存器文件的一个或多个主寄存器文件条目标记为忙碌。累加器寄存器文件优选地对于密集数学单元是本地的,并且在一方面,密集数学执行单元是矩阵

乘法

累加器(MMA)单元,并且累加器寄存器文件位于MMA中。在实施例中,累加器寄存器文件中的每个条目被映射到多个主寄存器文件条目。
[0008]在一个实施例中,公开了一种用于处理信息的处理器,其中所述处理器包括:与所述至少一个处理器相关联的主寄存器文件,所述主寄存器文件具有用于存储数据的多个条目、用于向所述主寄存器文件条目写入数据的一个或多个写入端口、以及用于从所述主寄存器文件条目读取数据的一个或多个读取端口;一个或多个执行单元,包括密集数学执行单元;以及至少一个累加器寄存器文件,其具有用于存储数据的多个条目,所述至少一个累加器寄存器文件与所述密集数学执行单元相关联,并且所述累加器寄存器文件的所述位字段宽度比所述主寄存器文件的所述位字段宽度宽。在一方面,处理器被配置成在密集数学执行单元中以使得密集数学执行单元的结果被多次写入到相同的累加器文件寄存器条目的方式来处理数据,并且被配置成将来自累加器寄存器文件条目的被多次写入的数据写回到主寄存器文件条目。
[0009]在另一方面中,公开了一种用于处理信息的计算机系统,其中所述计算机系统包括:至少一个处理器;与所述至少一个处理器相关联的主寄存器文件,所述主寄存器文件具有用于存储数据的多个条目、用于将数据写入到所述主寄存器文件条目的一个或多个写入端口、以及用于从所述寄存器文件条目读取数据的多个读取端口;一个或多个执行单元,包括密集数学执行单元;具有用于存储数据的多个条目的至少一个累加器寄存器文件,所述至少一个累加器寄存器文件具有用于存储数据的多个条目,所述至少一个累加器寄存器文件与所述密集数学执行单元相关联;一个或多个计算机可读存储介质;以及存储在所述一个或多个计算机可读存储介质上的编程指令,用于由所述至少一个处理器执行。在一实施例中,编程指令在处理器上执行时使密集数学单元将结果多次写入相同的累加器寄存器文件条目。优选地,响应于处理器处理密集数学执行单元指令,编程指令使处理器:将单个累加器寄存器文件条目映射到多个主寄存器文件条目;多次将结果写入同一累加器寄存器文件条目;解除启动被多次写入的所述累加器寄存器文件条目;将来自被多次写入的所述累加器寄存器文件条目的所述结果数据写入所述主寄存器文件;以及解除分配被解除启动的累加器寄存器文件条目。
[0010]还公开了一种处理处理器中的指令的方法。在一个或多个实施例中,该方法包括:提供与密集数学执行单元相关联的累加器寄存器文件;用密集数学执行单元来执行密集数
学操作;以及用密集数学执行单元将密集数学操作的结果写入累加器寄存器文件。在一方面,该方法进一步包括密集数学执行单元在不写入主文件寄存器的情况下读取和写入累加器寄存器文件。在实施例中,累加器寄存器文件在密集数学执行单元操作期间是源和目标两者。该方法优选地包括在密集数学执行单元操作期间将相同的累加器寄存器文件条目写入若干次,并且在方面,该方法包括将累本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于处理信息的计算机系统,所述计算机系统包括:至少一个处理器;与所述至少一个处理器相关联的主寄存器文件,所述主寄存器文件具有用于存储数据的多个条目、用于向所述主寄存器文件条目写入数据的一个或多个写入端口、以及用于从所述主寄存器文件条目读取数据的一个或多个读取端口;一个或多个执行单元,包括密集数学执行单元;以及至少一个累加器寄存器文件,所述至少一个累加器寄存器文件具有用于存储数据的多个条目,所述至少一个累加器寄存器文件与所述密集数学执行单元相关联,其中所述处理器被配置成在所述密集数学执行单元中处理数据,其中所述密集数学执行单元的结果被写入所述累加器寄存器文件。2.如权利要求1所述的计算机系统,其中所述处理器被配置以多次将结果写回到相同的累加器寄存器文件条目。3.如权利要求1所述的计算机系统,其中所述处理器被配置为将数据从所述累加器寄存器文件写到所述主寄存器文件。4.如权利要求3所述的计算机系统,其中所述处理器被配置为响应于访问被映射到累加器寄存器文件的主寄存器文件条目的指令而将数据从所述累加器寄存器文件写到多个主寄存器文件条目。5.如权利要求1所述的计算机系统,其中所述处理器被配置为启动所述累加器文件寄存器以接收数据。6.如权利要求5所述的计算机系统,其中所述处理器被配置为响应于将数据存储到所述累加器寄存器文件的指令而启动所述累加器文件寄存器。7.如权利要求5所述的计算机系统,其中,响应于启动累加器寄存器文件条目,所述处理器将映射到所述启动的累加器寄存器文件的所述一个或多个主寄存器文件条目标记为忙碌。8.如权利要求1所述的计算机系统,其中,所述累加器寄存器文件对于所述密集数学单元是本地的。9.如权利要求8所述的计算机系统,其中所述密集数学执行单元是矩阵

乘法

累加器(MMA)单元,并且所述累加器寄存器文件位于所述MMA中。10.如权利要求1所述的计算机系统,其中所述累加器寄存器文件的位字段宽度比所述主寄存器文件的位字段宽度宽。11.如权利要求10所述的计算机系统,其中所述累加器寄存器文件中的每个条目被映射到多个主寄存器文件条目。12.如权利要求1所述的计算机系统,其中所述处理器包括向量标量执行单元(VSU),并且所述密集数学执行单元是矩阵

乘法

累加器(MMA)单元,并且所述主寄存器文件是位于所述VSU中的VS寄存器文件,并且所述累加器寄存器文件被映射到多个连续的VS寄存器文件条目。13.一种用于处理信息的处理器,所述处理器包括:与所述至少一个处理器相关联的主寄存器文件,所述主寄存器文件具有用于存储数据的多个条目、用于向所述主寄存器文件条目写入数据的一个或多个写入端口、以及用于从
所述主寄存器文件条目读取数据的一个或多个读取端口;一个或多个执行单元,包括密集数学执行单元;以及具有用于存储数据的多个条目的至少一个累加器寄存器文件,所述至少一个累加器寄存器文件与所述密集数学执行单元相关联,并且所述累加器寄存器文件的位字段宽度比所述主寄存器文件的位字段宽度宽,其中,所述处理器被配置为以这样的方式处理所述密集数学执行单元中的数据,使得所述密集数学执行单元的结果被多次写入相同的累加器文件寄存器条目,以及其中所述处理器被配置...

【专利技术属性】
技术研发人员:B汤普托M博尔斯马A瓦格纳J莫雷拉黎贵雄S米勒D阮
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1