压缩元数据辅助计算制造技术

技术编号:37704689 阅读:17 留言:0更新日期:2023-06-01 23:52
一种方法,该方法包括:响应于接收到对存储在存储器设备中的第一数据执行第一操作的指令,基于该第一数据的地址从该存储器设备获得第一压缩元数据;以及基于该第一操作和一个或多个匹配地址减少一组操作中的操作的数量,该一个或多个匹配地址对应于与该第一压缩元数据匹配的第二压缩元数据。数据匹配的第二压缩元数据。数据匹配的第二压缩元数据。

【技术实现步骤摘要】
【国外来华专利技术】压缩元数据辅助计算

技术介绍

[0001]除计算设备中的主存储器之外,大多数现代计算设备提供至少一个等级的高速缓存存储器(或“高速缓存”)。一般来讲,高速缓存是容量较小、存取较快的存储器,其用于存储有限数量的数据和指令副本,这些数据和指令将用于更接近计算设备中执行操作的功能块来执行各种操作(例如,计算操作等)。高速缓存通常是使用高速存储器电路诸如静态随机存取存储器(SRAM)集成电路和其他类型的存储器电路来实现的。高速缓存中数据的压缩允许以低延迟访问更大量的数据,从而额外地提高计算系统的整体性能。
附图说明
[0002]在附图的各图中以示例而非限制的方式示出了本公开。
[0003]图1示出了计算设备的实施方案。
[0004]图2A和图2B示出了冗余地址计算单元的实施方案。
[0005]图3示出了根据一个实施方案的处理单元中的部件。
[0006]图4示出了根据一个实施方案的处理单元中的部件。
[0007]图5示出了根据一个实施方案的用于执行压缩元数据辅助计算的过程。
具体实施方式
[0008]以下描述阐述了众多具体细节诸如特定系统、部件、方法等的示例,以便提供对实施方案的良好理解。然而,对于本领域技术人员将显而易见的是,可在没有这些具体细节的情况下实践至少一些实施方案。在其他情况下,未详细描述众所周知的部件或方法,或者以简单的框图格式呈现众所周知的部件或方法,以便避免不必要地混淆实施方案。因此,所阐述的具体细节仅是示例性的。特定具体实施可因这些示例性细节而异,并且仍设想在实施方案的范围内。
[0009]存储在高速缓存中的数据的压缩有效地增加了高速缓存的容量以及去往和来自高速缓存的链路带宽。在一个实施方案中,用于将数据压缩到高速缓存中的过程生成与压缩数据相关联的压缩元数据。压缩元数据包含指示压缩数据块中的哪些值彼此相似或相同以及哪些值与自某个小集合的常数值(例如,0或

1)匹配的信息。
[0010]在一个实施方案中,当压缩元数据指示操作中涉及的数据值相同时,高速缓存压缩元数据用作冗余操作的去重复(deduplication)的基础,诸如寄存器加载和算术操作。识别相似或相同数据值的计算成本已经由压缩机制引起;因此,通过比较与不同地址相关联的现有压缩元数据值,以很少的额外计算成本来执行去重复。一旦识别出一组相同值,涉及该相同值的冗余操作被移除,并且依赖于被移除的操作的操作被更新为依赖于剩余的等效操作。冗余操作的移除减少了所执行的计算和/或加载操作的数量。这降低了算术逻辑单元(ALU)和物理寄存器堆(physical register file)中的压力,从而有效地增加了链路带宽,并且最终导致增加的吞吐量和降低的功率消耗。
[0011]图1示出了其中实现上述压缩元数据辅助计算机制的计算系统100的实施方案。一
般来讲,计算系统100被体现为多种不同类型的设备中的任一个设备,包括但不限于膝上型计算机或台式计算机、移动设备、服务器等。计算系统100包括通过总线101彼此通信的多个部件102

108。在计算系统100中,部件102

108中的每个部件能够直接通过总线101或者经由其他部件102

108中的一个或多个部件与其他部件102

108中的任一个部件进行通信。计算系统100中的部件101

108包含在单个物理壳体内,诸如膝上型计算机或台式计算机主机机箱或移动电话外壳。在另选实施方案中,计算系统100的部件中的一些部件被体现为外围设备,使得整个计算系统100不驻留在单个物理壳体内。
[0012]计算系统100还包括用于从用户接收信息或向用户提供信息的用户接口设备。具体地,计算系统100包括输入设备102,诸如键盘、鼠标、触摸屏或用于从用户接收信息的其他设备。计算系统100经由显示器105诸如监视器、发光二极管(LED)显示器、液晶显示器或其他输出设备向用户显示信息。
[0013]计算系统100还包括用于通过有线或无线网络传输和接收数据的网络适配器107。计算系统100还包括一个或多个外围设备108。外围设备108可包括海量存储设备、位置检测设备、传感器、输入设备或计算系统100所使用的其他类型的设备。
[0014]计算系统100包括一个或多个处理单元104,该一个或多个处理单元在多个处理单元104的情况下能够并行操作。处理单元104被配置为接收和执行存储在存储器子系统106中的指令109。在一个实施方案中,处理单元104中的每个处理单元包括驻留在公共集成电路衬底上的多个计算节点。存储器子系统106包括计算系统100所使用的存储器设备,诸如随机存取存储器(RAM)模块、只读存储器(ROM)模块、硬盘和其他非暂态计算机可读介质。
[0015]计算系统100的一些实施方案可包括比图1所示的实施方案更少或更多的部件。例如,某些实施方案在没有任何显示器105或输入设备102的情况下实施。其他实施方案具有多于一种特定部件;例如,计算系统100的实施方案可具有多个总线101、网络适配器107、存储器设备106等。
[0016]根据实施方案,图2A和图2B中的框图示出了冗余地址计算逻辑200和250的功能。冗余地址计算逻辑单元200和250计算与由作为在计算系统100中实现的高速缓存压缩方案的两种示例性类型的压缩元数据C

Pack和Base

Delta

Immediate(BDI)指示的冗余操作相关联的地址。除了本文讨论的C

Pack和BDI压缩方案之外,在替代实施方案中使用其他压缩方案,其中此类压缩方案提供指示哪些压缩数据值是相似或相同的压缩元数据。
[0017]C

Pack压缩方案使用紧凑编码来替换频繁出现的数据字来表示高速缓存中的数据。在被压缩的数据中频繁出现的字被存储在字典中。使用单个紧凑代码对通用数据字(例如,全零)进行编码,而不在字典中明确地存储该值;因此,不使用字典查找来对这些值进行解码。对于其他值,C

Pack压缩方案使用紧凑编码和指向字典中包含完整字的条目的指针来表示高速缓存中的值。因此,当使用对字典中的相同数据字的紧凑引用在高速缓存中表示多个相同数据字时,节省了存储器容量。另外,可使用对存储在字典中的字的匹配部分或字典中的不同字的多个部分的引用来在高速缓存中表示部分匹配的字。
[0018]因此,高速缓存中数据字之间的相似性被编码在用于表示数据字的元数据(包括代码和指针)中。特别地,相同的代码和指针引用相同的常数或字典条目,并且因此对相同值进行编码。通过比较元数据值而不访问字典中的实际值来确定相似性。
[0019]参考图2A,冗余地址计算逻辑200接收包括代码和指针的C

Pack元数据201,并且
比较元数据值以识别重复地址204(即,存储重复值的地址本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:响应于接收到对存储在存储器设备中的第一数据执行第一操作的指令,基于所述第一数据的地址从所述存储器设备获得第一压缩元数据;以及基于所述第一操作和一个或多个匹配地址来减少一组操作中的操作的数量,所述一个或多个匹配地址对应于与所述第一压缩元数据匹配的第二压缩元数据。2.根据权利要求1所述的方法,其中:所述第一压缩元数据包括第一压缩代码,并且所述第二压缩元数据包括等于所述第一压缩代码的第二压缩代码;并且响应于将所述第一压缩代码识别为用于压缩所述存储器设备中的数据的压缩代码集合中的压缩代码的预先确定的子集中的一个压缩代码,执行所述减少操作的所述数量。3.根据权利要求1所述的方法,其中:所述第一压缩元数据包括表示所述第一数据与基值之间的差的第一Δ值;所述第二压缩元数据包括第二Δ值;并且响应于确定所述第一Δ值等于所述第二Δ值并且所述第二Δ值与和所述第一Δ值相同的基值相关联,执行所述减少操作的所述数量。4.根据权利要求1所述的方法,其中:所述存储器设备是数据高速缓存设备;并且所述方法还包括:当压缩所述数据高速缓存设备中的所述第一数据时生成所述第一压缩元数据,以及当压缩所述数据高速缓存设备中的第二数据时生成所述第二压缩元数据。5.根据权利要求4所述的方法,其中:所述第一操作包括从所述数据高速缓存设备的加载/存储队列获得的加载操作;并且减少所述一组操作中的操作的所述数量包括从所述加载/存储队列中消除所述数据高速缓存设备的一个或多个排队访问。6.根据权利要求4所述的方法,还包括:响应于确定所述第二压缩元数据与所述第一压缩元数据匹配,对于所述一个或多个匹配地址中的每个重复地址,将所述第一数据复制到与每个重复地址相关联的寄存器。7.根据权利要求1所述的方法,还包括:将所述第一数据加载到物理寄存器中;以及响应于确定所述第二压缩元数据与所述第一压缩元数据匹配,将与所述一个或多个匹配地址相关联的依赖性更新为依赖于所述物理寄存器的所述加载。8.根据权利要求1所述的方法,还包括:识别对应于所述第二压缩元数据的常数值;响应于识别所述常数值,基于所述第一操作和所识别的常数值用等效操作替换所述第一操作;以及将依赖于所述第一操作的操作依赖性更新为依赖于所述等效操作。9.一种计算设备,包括:压缩逻辑,所述压缩逻辑被配置为响应于接收到对存储在存储器设备中的第一数据执行第一操作的指令,基于所述第一数据的地址从所述存储器设备获得第一压缩元数据;以
及地址计算逻辑,所述地址计算逻辑与所述压缩逻辑耦合并且被配置为响应于识别与所述第一压缩元数据匹配的第二压缩元数据,确定对应于所述第二压缩元数据的一个或多个匹配地址;以及去重复逻辑,所述去重复逻辑与所述地址计算逻辑耦合并且被配置为基于所述第一操作和所述一个或多个匹配地址来减少一组操作中的操作的数量。10.根据权利要求9所述的计算设备,其中:所述第一压缩元数据包括第一压缩代码,并且所述第二压缩元数据包括等于所述第一压缩代码的第二压缩代码;并且所述去重复逻辑被进一步配置为响应于所述地址计算逻辑将所述第一压缩代码识别为用于压缩所述存储器设备中的数据的压缩代码集合中的压缩代码的预先确定的子集中的一个压缩代码来减少操作的所述数量。11.根据权利要求9所述的计算设备,其中:所述第一压缩元数据包...

【专利技术属性】
技术研发人员:M
申请(专利权)人:先进微装置公司
类型:发明
国别省市:

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

1