存储器加载和算术加载单元(ALU)融合制造技术

技术编号:19023050 阅读:24 留言:0更新日期:2018-09-26 18:58
根据一个总体方面,加载单元可以包括:加载电路,被配置为从存储器加载至少一个数据。所述加载单元可以包括:对齐电路,被配置为对齐所述数据以生成对齐后的数据。所述加载单元还可以包括:数学运算执行电路,被配置为将所述至少一个数据作为操作数而生成预定数学运算的结果。其中,所述加载单元被配置为,如果活动指令与所述预定数学运算相关联,则旁路所述对齐电路并将所述数据直接输入到所述数学运算执行电路。

【技术实现步骤摘要】
存储器加载和算术加载单元(ALU)融合相关申请的交叉引用本申请要求于2017年3月14日提交的标题为“MEMORYLOADANDARITHMETICLOADUNIT(ALU)FUSING”的美国临时专利申请No.62/471,353以及2017年6月2日提交的标题为“MEMORYLOADANDARITHMETICLOADUNIT(ALU)FUSING”的美国专利申请No.15/612,963的优先权,在先申请的内容通过引用合并于此。
本说明书涉及计算机体系结构,并且更具体地涉及存储器加载和算术加载单元(ALU)融合体系结构。
技术介绍
处理器(例如中央处理单元(CPU)或核)执行各种类型的指令。两种典型的指令类型包括存储器加载(LD)指令和算术或数学指令(例如加法(ADD)指令)。通常,为了实现高性能的处理器执行,希望保持这些指令的延迟(1ateney)较小。加载指令或运算通常在与一级数据(L1D)高速缓存直接接口的加载/存储单元(LSU)中执行。而数学运算(例如,ADD)通常在算术逻辑单元(ALU)或其他数学执行单元(例如,浮点单元(FPU))中执行。大多数处理器中的加载指令的延迟通常在3到5个周期之间变化。通常,这样的多周期延迟包括各种复杂运算,这些运算包括例如转换后备缓冲器(TLB)地址查找、L1D高速缓存标签索引查找、标签物理地址比较、L1D高速缓存数据读取以及数据值的对齐更新。由于数据经常从对齐到特定字节边界(例如特定字长)的数据高速缓存中读出,所以经常涉及对齐更新。然而,实际请求的存储器地址可能不发生在该预定义的字节边界处(例如,它可能发生在一个字的中途)。因此,从高速缓存中读出的数据可能需要以某种方式进行移位以得到适当的对齐,从而满足加载指令。在对齐阶段也可以对数据进行其他操作,包括符号扩展和大端/小端操作。同样,数学指令或运算从开始到结束可以具有其自己的延迟。例如,ADD指令通常具有单周期延迟来执行加法。在某些体系结构中,以下情况很常见的:加载指令对寄存器值进行更新,该寄存器值稍后用作后续ADD指令的源。处理器可以执行将存储器读取操作用作源操作数的算术运算。通常,加载和数学指令的延迟是各单独指令的各单独延迟的总和。
技术实现思路
根据一个总体方面,加载单元可以包括:加载电路,被配置为从存储器加载至少一个数据。所述加载单元可以包括:对齐电路,被配置为对齐所述数据以生成对齐数据。所述加载单元还可以包括:数学运算执行电路,被配置为将所述至少一个数据作为操作数而生成预定数学运算的结果。其中,所述加载单元被配置为,如果活动指令与所述预定数学运算相关联,则旁路所述对齐电路并将所述数据直接输入到所述数学运算执行电路。根据另一个总体方面,系统可以包括:数学执行单元,包括组合逻辑电路并且被配置为基于指令和至少一个数据来进行多个逻辑运算。该系统还可以包括组合式加载-存储/数学单元。该组合式加载-存储/数学单元被配置为:从存储器加载数据,并且基于活动指令,基于所述数据进行所述多个逻辑运算中的预定的一个逻辑运算。该系统可以被配置为:如果所述活动指令至少与所述多个逻辑运算中的所述预定的一个逻辑运算相关联,则分配所述指令由所述组合式加载-存储/数学单元而不是由所述数学执行单元来执行。根据另一个总体方面,一种使用加载单元的方法可以包括:从存储器加载数据。该方法可以包括至少部分地基于活动指令来确定是将所述数据传送给执行单元还是在所述加载单元内基于所述数据生成结果。其中,如果将所述数据传送给执行单元,则在传送所述数据之前对齐所述数据。其中,如果确定要生成结果,则生成所述数据的多个对齐,并且基于所述数据的多个对齐中的至少一个生成预定数学运算的结果。在附图和以下描述中阐述了一个或多个实现方式的细节。其他特征将通过说明书和附图以及权利要求而变得显而易见。用于计算机体系结构(更具体地,存储器加载和算术加载单元(ALU)融合体系结构)的系统和/或方法基本上如结合至少一个附图所示和/或所描述的那样,并且如权利要求中更完整地阐述的那样。附图说明图1是根据本公开内容的系统的示例实施例的框图。图2是根据本公开内容的系统的示例实施例的框图。图3是根据本公开内容的系统的示例实施例的框图。图4是根据本公开内容的系统的示例实施例的框图。图5是信息处理系统的示意性框图,可以包括根据本公开内容的原理形成的器件。在各个附图中,类似的附图标记表示类似的元素。具体实施方式下面将参照附图更全面地描述各种示例实施例,在附图中示出了一些示例实施例。然而,本公开内容可以按多种不同形式来体现,并且不应当被解释为受到本文阐述的示例实施例的限制。更确切地说,提供这些示例实施例使得本公开将全面和完整,并且将本公开内容的范围充分传达给本领域技术人员。在附图中,为了清楚起见,可以夸大层和区域的尺寸和相对尺寸。将理解的是,当一元件或层被称为在另一元件或层“上”、“连接到”或“耦接到”另一元件或层时,其可以直接在该另一元件或层上、直接连接到或耦接到该另一元件或层,或者可以存在中间元件或层。相反,当一元件被称为“直接在”另一元件或层“上”、“直接连接到”或“直接耦接到”另一元件或层时,不存在中间元件或层。贯穿附图,类似标记表示类似元件。如本文所用,术语“和/或”包括关联列出的一个或更多个项目的任意和所有组合。将理解,虽然本文中可以使用术语“第一”、“第二”、“第三”等来描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应受这些术语限制。这些术语仅用于将一个元件、组件、区域、层或部分与另一个区域、层或部分加以区分。因此,以下讨论的第一元件、组件、区域、层或者部分可被称为第二元件、组件、区域、层或者部分,而不脱离本公开内容的教导。在此可能使用空间相对术语如”下方”、”之下”、”下”、”上方”、”上”等,以便于描述一个元件或特征相对于另一元件或特征在附图中示出的关系。将理解的是,空间上的相对术语除了包括附图中示出的方向之外,还意在包含设备在使用中或操作中的不同方向。例如,如果附图中的设备被翻转,则被描述为在其他元件或者特征″下方″或者″之下″的元件将被定向在其他元件或者特征的″上方″。因此,示例术语“下方”可以涵盖上方和下方两种取向。所述设备可以以其他方式定向(旋转90度或在其他方向),且可以相应地解释本文中使用的空间相对描述符。本文所用的术语仅是为了描述特定示例实施例,而不意在限制本公开内容。如本文中使用的,单数形式“一”、“一个”和“该”意在还包括复数形式,除非上下文明确地给出相反的指示。还应该理解,术语“包括”和/或“包含”在本说明书中使用时,表明存在所述的特征、整体、步骤、操作、元件和/或部件,但是并没有排除存在或另外添加一个或多个其它特征、整体、步骤、操作、元件、部件和/或其组合。例证实施方案在本文中是参考剖面图示描述的,所述剖面图示是理想化的例证实施方案(和中间结构)的示意图。因此,例如由于制造技术和/或公差造成的所图示的形状的变化将被预期。因而,不应该将示例实施例解释为局限于这里所示的具体区域形状,而应包括例如由于制造而导致的形状偏差。例如,所示为矩形的注入区域将典型地具有圆形的或者弯曲的特征和/或在其边缘处的注入浓度的梯度,而不是本文档来自技高网
...

【技术保护点】
1.一种加载单元,包括:加载电路,被配置为从存储器加载至少一个数据;对齐电路,被配置为对齐所述数据以生成对齐数据;数学运算执行电路,被配置为生成预定数学运算的结果,其中所述数据作为操作数;并且其中,所述加载单元被配置为,如果活动指令与所述预定数学运算相关联,则旁路所述对齐电路并将所述数据直接输入到所述数学运算执行电路。

【技术特征摘要】
2017.03.14 US 62/471,353;2017.06.02 US 15/612,9631.一种加载单元,包括:加载电路,被配置为从存储器加载至少一个数据;对齐电路,被配置为对齐所述数据以生成对齐数据;数学运算执行电路,被配置为生成预定数学运算的结果,其中所述数据作为操作数;并且其中,所述加载单元被配置为,如果活动指令与所述预定数学运算相关联,则旁路所述对齐电路并将所述数据直接输入到所述数学运算执行电路。2.根据权利要求1所述的加载单元,其中所述数学运算执行电路包括多个相同的组合逻辑电路,其中所述多个相同的组合逻辑电路中的每一个被配置为对所述数据的相应版本进行相同的数学运算,其中所述数据的各相应版本中的每一个包括所述数据的多个对齐中的一个。3.根据权利要求2所述的加载单元,其中所述数学运算执行电路包括:对齐选择器,被配置为至少基于所述数据的相应版本的对齐,选择所述多个相同的组合逻辑电路的哪一个输出与所述结果相关联。4.根据权利要求1所述的加载单元,其中所述数学运算执行电路被配置为:在所述数据的多个对齐变体之间进行选择;将选定的所述数据的对齐变体输入到组合逻辑电路;以及所述组合逻辑电路被配置为通过至少对选定的所述数据的对齐变体进行数学运算来生成所述结果。5.根据权利要求1所述的加载单元,其中,所述对齐电路和所述数学运算执行电路并行布置。6.根据权利要求1所述的加载单元,其中,所述预定数学运算包括加法。7.根据权利要求1所述的加载单元,其中,所述数学运算执行电路被配置为相比于如下操作以更少的延迟来生成所述结果:生成所述对齐数据、将所述对齐数据传递给也执行所述预定数学运算的执行单元以及由所述执行单元生成所述结果的所述执行单元的版本。8.根据权利要求1所述的加载单元,其中如果所述活动指令指示要进行加载操作和所述预定数学运算两者,则所述活动指令使所述加载单元旁路所述对齐电路。9.根据权利要求1所述的加载单元,其中所述加载单元被配置为,如果流水线管理电路指示所述活动指令与所述预定数学运算相关联,则旁路所述对齐电路。10.一种系统,包括:数学执行单元,包括组合逻辑电路,并被配置为基于指令和至少一个数据来进行多个逻辑运算;以及组合式加载-存储/数学单元,被配置为:从存储器加载数据;并且基于活动指令,基于所述数据进行所述多个逻辑运算中的预定的一个逻辑运算,其中,所述系统被配置为,如果所述活动指令至少与所述多个逻辑运算中的所述预定的一个逻辑运算相关联,则分配所述...

【专利技术属性】
技术研发人员:拉玛·S·戈帕尔保罗·E·凯特金卡迪克·孙达拉姆
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

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

1