CN104281639A - 针对重复工作负荷的结果数据流编码 - Google Patents

针对重复工作负荷的结果数据流编码 Download PDF

Info

Publication number
CN104281639A
CN104281639A CN201410320689.6A CN201410320689A CN104281639A CN 104281639 A CN104281639 A CN 104281639A CN 201410320689 A CN201410320689 A CN 201410320689A CN 104281639 A CN104281639 A CN 104281639A
Authority
CN
China
Prior art keywords
request
result data
data stream
stream
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410320689.6A
Other languages
English (en)
Inventor
亚历山大·尤金·查林
布兰德利·阿尔伯特·格兰瑟姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
Advanced Risc Machines Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of CN104281639A publication Critical patent/CN104281639A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了针对重复工作负荷的结果数据流编码。图形处理流水线包括具有顶点变换高速缓存(20)的顶点变换平台(14)。若已接收变换顶点数据的请求且顶点变换高速缓存(20)指示已针对该接收到的请求产生经变换的顶点数据,则随后在结果数据流内输出该先前产生的经变换顶点数据的指针,以替代该变换顶点数据。在视需要由栅格化平台(16)取得变换顶点数据之前,将该变换顶点数据储存至存储器(10)。

Description

针对重复工作负荷的结果数据流编码
技术领域
本发明涉及数据处理系统的领域。更特定言之,本发明涉及这样的数据处理系统,该数据处理系统接收请求流以执行相应处理任务,并且以产生待作为结果数据流的一部分而输出的对应区块的结果数据值。
背景技术
在许多情况下,数据处理系统可接收执行相应处理任务以产生对应的结果数据值区块的请求流。此类系统的一实例为图形处理流水线,在该图形处理流水线中,顶点变换平台(stage)接收在所接收到的顶点数据上执行变换操作的请求,以形成经变换的顶点数据。这些请求对应于待变换的顶点数据流,且结果数据区块对应于所产生的经变换的顶点数据流。在这些实施例中,通常直接将经变换的顶点数据流传递至后续的栅格化平台。使用宽的总线来传递如此产生的大量的数据。然而,若采用延迟渲染方法(deferred rendering approach),则随后在由栅格化平台读取经变换的顶点数据之前,需要将该经变换的顶点数据储存至存储器。在此类情形中需要移送至存储器及从存储器移送出的大量数据在速度及功率消耗两方面表现出大量开销。
发明内容
自一个方面可见,本发明提供一种处理数据的方法,该方法包含以下步骤:
接收执行相应处理任务的一请求流,以产生待作为结果数据流的部分被输出的对应结果数据值区块;
识别该请求流内一接收到的请求是否匹配该请求流内的一组先前接收到的请求中的任一者,针对该任一者已产生了用于作为该结果数据流的部分而输出的先前结果数据值区块,以及:
(i)若该接收到的请求不匹配该组先前接收到的请求中的任一者,则执行对应于该接收到的请求的新处理任务,且产生作为该结果数据流的部分而输出的新结果数据值区块;
(ii)若该接收到的请求匹配一先前接收到的请求,则产生用于作为该结果数据流的部分而输出的指向该结果数据流内的该先前结果数据值区块的一指针。
本技术考虑到在许多实际生活工作负荷中,所接收到的执行相应处理任务的请求流经常含有执行相同处理任务的重复请求。执行相同处理任务将产生相同的结果数据值区块。因此,若先前的请求已导致产生用于输出的相同结果数据值区块,则随后可替代地产生且输出指针(该指针标识该结果数据流内的该先前的结果数据值区块),而不是再次产生且输出相同的结果数据值区块。此指针值可比该指针值指向的结果数据值区块更紧密,且因此节省了待传送的数据量。因为与新接收到的请求相对应的结果数据值区块与先前产生的结果数据值区块相同,所以无信息损失。该结果数据流的接收器接收结果数据值区块或指向先前接收到的结果数据值区块的指针,这些指针可解释为对应于那些先前接收到的结果数据值区块。以此方式,若需要,接收器可将结果数据流重建为与未使用本技术的形式相对应的形式。
应了解,由于多种原因(诸如减少与结果数据流的传输有关的开销),需要减少该结果数据流的数据量。然而,本技术在将结果数据流输出至存储器时特别有用,因为本技术可减少将结果数据流储存在存储器内及从存储器取得结果数据流的能耗以及减少储存该结果数据流所需要的存储器空间量。
通过在高速缓存中储存用于识别一组先前接收到的请求的标签值,可有助于识别与新接收到的请求匹配的先前接收到的请求。识别步骤可比较接收到的请求的所接收标签值与储存在高速缓存内的标签值。与高速缓存的标签值中的任一者的匹配指示了接收到的请求与先前接收到的请求相匹配,且因此可使用响应于新接收到的请求所产生的指针来引用针对该先前接收到的请求的该结果数据值区块,并且该指针在结果数据流中输出。
应了解,高速缓存具有有限量的储存空间,且因此在将要驱逐一高速缓存条目时,该条目的标签值在该高速缓存中将不再可用于与新接收到的请求的标签值作比较。因此,被驱逐的先前接收到的请求不再是在识别步骤中所使用的该组先前接收到的请求的成员。实际上,使高速缓存在时间和空间局域性(locality)(利用该局域性进行存储器存取)方面有效的现实生活考虑亦倾向于应用接收到的请求,且因此实际上可能将类似的请求成组在一起,以使得需要从高速缓存中驱逐先前接收到的请求的标签的效果被缓解。
一些实施例中的高速缓存可与每一标签值相关联地储存先前结果数据值区块的指针值。指针值可在其自己的分离数据结构中与标签值一起储存,或与针对所涉及的标签值而储存在高速缓存内部的数据值区块一起储存。
在实施例中可便利地提供对指标值的管理,在这些实施例中,索引值被与作为结果数据流的部分而输出的每个新的结果数据值区块相关联。当索引值充当后续将在结果数据流内引用的先前结果数据值区块时,则可将此索引值用作该结果数据值区块的指针。应了解,索引值可采取多种形式,且在一些实施例中,索引值可以是简单递增的计数值。
尽管未限制于一种特定的应用领域,本技术发现特别适用于其中处理任务对应于图形处理流水线内的处理平台的实施例。此类处理通常涉及大量的数据,且在待产生的结果数据区块内具有相对高的重复可能性,例如,由于重复使用被操纵的图形数据的多个基元内的相同顶点,因此顶点数据可在多种情况下被变换。在如此的情境中,由顶点变换平台接收所接收到的请求,处理任务是顶点变换操作,且结果数据值流是经变换的顶点数据流。
在此顶点变换应用中,识别步骤可将顶点识别符与先前变换的顶点的顶点识别符相比较。因此,该顶点识别符可视为针对接收到的请求及针对对应结果数据值区块的标签。
在一些实施例中,可由顶点变换平台将经变换的顶点数据流储存至存储器,且然后由栅格化平台从存储器读取。因为许多原因,此类延迟渲染图形处理系统为有利的,但是此类系统遭遇到潜在地涉及将大量数据移送至存储器及从存储器移送出大量数据的缺点。本技术减少了这样的开销。
自另一个方面可见,本发明提供了一种用于处理数据的设备,该设备包含:
接收电路,该接收电路被配置来接收执行相应处理任务的一请求流,以产生待作为结果数据流的部分输出的对应结果数据值区块;
识别电路,该识别电路被配置来识别该请求流内的一接收到的请求是否匹配该请求流内的一组先前接收到的请求中的任一者,针对该任一者已产生了用于作为该结果数据流的部分而输出的先前结果数据值区块,以及
输出产生电路,该输出产生电路被配置来响应于接收到的请求产生结果数据值区块,其中
(i)若该接收到的请求不匹配该组先前接收到的请求中的任一者,则利用该输出产生电路执行对应于该接收到的请求的新处理任务,且产生作为该结果数据流的部分而输出的新结果数据值区块;
(ii)若该接收到的请求匹配一先前接收到的请求,则利用该输出产生电路产生用于作为该结果数据流的部分而输出的指向该结果数据流内的该先前结果数据值区块的一指针。
自另一个方面可见,本发明提供一种用于处理数据的设备,该设备包含:
接收装置,该接收装置用于接收执行相应处理任务的一请求流,以产生待作为结果数据流的部分输出的对应结果数据值区块;
识别装置,该识别装置用于识别该请求流内的一接收到的请求是否匹配该请求流内的一组先前接收到的请求中的任一者,针对该任一者已产生了用于作为该结果数据流的部分而输出的先前结果数据值区块,以及
输出产生装置,该输出产生装置用于响应于接收到的请求产生结果数据值区块,其中
(i)若该接收到的请求不匹配该组先前接收到的请求中的任一者,则利用该输出产生装置执行对应于该接收到的请求的新处理任务,且产生作为该结果数据流的部分而输出的新结果数据值区块;
(ii)若该接收到的请求匹配一先前接收到的请求,则利用该输出产生装置产生用于作为该结果数据流的部分而输出的指向该结果数据流内的该先前结果数据值区块的一指针。
从下文中联系附图阅读的说明性实施例的详细描述,本发明的上述及其他目标、特征及优势将变得显而易见。
附图说明
图1示意性地图示出芯片上系统集成电路,该芯片上系统集成电路包括图形处理流水线,该图形处理流水线将经变换的顶点数据储存至存储器作为延迟渲染的部分;
图2为流程图,该流程图示意性地图示响应于接收到变换顶点数据的请求而产生经变换的顶点数据流;
图3示意性地图示出包括结果数据区块及指向结果数据区块的指针两者的结果数据流的产生;
图4示意性地图示出用于储存标签值、经变换的顶点数据及索引值的高速缓存;以及
图5示意性地图示顶点变换平台。
具体实施方式
第1图示意性地图示出芯片上系统集成电路(SoCIC)2,该芯片上系统集成电路2包括图形处理单元4、通用处理器6、显示驱动器8及存储器10。图形处理单元4包括图形处理流水线,该图形处理流水线具有提取平台12、顶点变换平台14、栅格化平台16及一个或多个其他平台18。顶点变换平台14接收由提取平台12自存储器10提取的顶点数据。接收顶点数据对应于接收变换该顶点数据的请求,且顶点变换平台14执行此变换。将产生的经变换顶点数据储存在顶点变换高速缓存20内。顶点变换高速缓存可用于抑制重复地变换接收到的相同顶点数据的要求,且可储存经变换的顶点数据以供再用。此经变换的顶点数据形成结果数据流的部分,该结果数据流包含储存回存储器10的结果数据值区块。栅格化平台16视需要从存储器10取得此经变换的顶点数据,且在其上执行栅格处理。
除了储存先前产生的结果数据值区块且抑制再次执行相同处理以产生这些结果数据值区块的需要,顶点变换高速缓存20亦可用于识别已发送至存储器10的先前产生的相同结果数据值区块以作为结果数据流的部分。因此,取代重发这些相同结果数据值区块至存储器10,可发送指向该先前产生的结果数据值区块的指针。此举减少传送至存储器10及从存储器10传送出的数据量。
栅格化平台16从存储器10取得结果数据值区块及指针。栅格化平台16可自(从存储器10取得的)编码的结果数据流来重建完整的变换顶点数据流,且可以以传统的方式为栅格处理供给此完整的变换顶点数据流。
用于界定图形图像的顶点数据网格(mesh)可以被配置为使得重复引用的顶点在这些顶点被呈现用于变换的时间上彼此接近,从而增加在顶点变换高速缓存20中识别此类重复顶点变换的可能性,且因此可抑制相同数据的重复产生,并且包含经变换的顶点数据的重复结果数据值区块转而可由指向已被产生且输出的经变换顶点数据的指针替代。
第2图为流程图,该流程图示意性地图示出根据本技术接收执行处理任务的请求以及产生结果数据流。在步骤22处,直至顶点变换平台14接收待变换的顶点数据后处理才开始。在步骤24处,在顶点变换高速缓存20内查找接收到的顶点数据的标签值。根据常规高速缓存技术,顶点变换高速缓存20可具有不同程度的关联性(associativity)。完全关联或集合关联的高速缓存的使用可改良效率。
步骤26判断顶点变换高速缓存20内是否有命中。若无命中,则随后处理进行至步骤28,在步骤28处,在接收到的顶点数据上执行变换处理,以产生经变换的顶点数据。步骤30随后递增计数值(待用作指针/索引),且将此计数值附加至经变换的顶点数据。步骤32将经变换的顶点数据、该顶点标签及计数值储存于顶点变换高速缓存20中。步骤34将包括计数值的经变换的顶点数据输出至存储器10。发送计数值连同经变换的顶点数据(稍后可将该经变换的顶点数据指向使用该计数值)的步骤促进了后续处理中完整结果数据流的重建。
若步骤26处的判定为在顶点变换高速缓存20内发生命中,则随后处理进行至步骤36。步骤36将顶点变换高速缓存20内命中的条目的计数值输出至存储器10。命中的发生指示在步骤22处接收的用于变换的顶点已经被变换并且在先前处理中已输出针对该接收到的顶点的经变换顶点数据(参看步骤34)。因此,可藉由仅发送在结果数据流内指向该先前产生且输出的经变换顶点数据的指针来减少数据量。
第3图示意性地图示用于产生经变换的顶点数据流的顶点变换处理。待变换的顶点数据表示为四个基元三角形。第一基元三角形具有顶点A、B、C。第二基元三角形具有顶点B、C、D。第三基元三角形具有顶点C、D、E。第四基元三角形具有顶点D、E、F。当以第一、第二、第三及第四基元三角形的顺序将此等基元三角形的顶点数据发送至顶点变换平台14时,所得的经变换顶点数据流将如图所示。
关于第一三角形,顶点A、B及C第一次遇到,且因此完整的经变换顶点数据将被产生并将在经变换顶点数据流内输出。关于第二基元三角形,顶点B、C已遇到,且因此顶点变换平台14产生相应的指针b、c(指针b、c识别已被产生且输出的经变换顶点数据B、C),而不是产生经变换的顶点数据且输出该经变换的顶点数据。形成第二基元三角形的部分的顶点D之前尚未遇到,且因此经变换的顶点数据被输出为D。
关于第三基元三角形,顶点D和C之前已遇到,且因此指向先前产生的经变换顶点数据的指针被包括在结果数据流内。顶点E之前尚未被遇到,且因此将输出顶点E的完整的经变换顶点数据。关于第四基元三角形,顶点D及E之前已遇到,且因此指针d、e将在其位置中被输出。顶点F之前尚未遇到,且因此顶点F的完整的经变换顶点数据被产生且在经变换的顶点数据流内输出。
第4图示意性地图示出顶点变换高速缓存20。在此实例中,顶点变换高速缓存20图示出为完全关联高速缓存,以使得接收到的顶点的标签值被与储存作为顶点变换高速缓存20的一部分的所有标签值进行并行比较。对于高速缓存的每一行,储存有将用作在结果数据流中替代该经变换顶点数据的指针/索引的计数值、经变换顶点数据及标签值(TAG),若经变换的顶点数据在结果数据流内重复而此经变换的顶点数据仍保持在顶点变换高速缓存20内的话。
顶点变换高速缓存20可应用最近最少使用的驱逐政策,以便管理其有限的储存容量。将了解,尽管第4图图示出标签值、经变换的顶点数据和计数值都在单行上,实际上可将它们存在分离结构或者部分地或完全地合并这些值的结构中。
第5图示意性地图示顶点变换平台14。顶点变换平台14包括接收电路38,接收电路38用于接收执行处理任务的请求,该任务形式为将顶点数据变换为经变换的顶点数据。识别电路40用于识别接收到的请求(顶点数据)是否对应于一组先前接收到的请求(先前接收到的顶点数据)的任一成员。若存在匹配,则随后向输出产生电路系统发出匹配讯号,该输出产生电路系统产生指向该先前产生的经变换顶点数据的指针,而不是再次产生及输出该经变换顶点数据。如第3图图示出,输出产生电路42产生结果数据流。计数器44用于跟踪将用作指针值(索引值)的计数值。
应了解,顶点变换高速缓存20具有有限的储存容量,且识别电路40将接收到的请求(顶点数据)与储存在顶点变换高速缓存20内的对应于一组先前接收到的请求(一组先前产生的经变换的顶点数据)的数据相比较。由于顶点变换高速缓存20(该高速缓存20应用驱逐政策,诸如最近最少使用的驱逐政策)的有限的储存容量,此组先前接收到的请求可不包括所有先前接收到的请求。
尽管本文已参阅附图详细描述本发明的说明性实施例,但是应了解,本发明不限制于彼等精确的实施例,且在不脱离如随附权利要求所定义的本发明的范畴及精神的情况下,本领域技术人员可实现对实施例进行的多种变化及修改。

Claims (25)

1.一种处理数据的方法,该方法包含以下步骤:
接收执行相应处理任务的一请求流,以产生待作为结果数据流的部分被输出的对应结果数据值区块;
识别该请求流内一接收到的请求是否匹配该请求流内的一组先前接收到的请求中的任一者,针对该任一者已产生了用于作为该结果数据流的部分而输出的先前结果数据值区块,以及:
(i)若该接收到的请求不匹配该组先前接收到的请求中的任一者,则执行对应于该接收到的请求的新处理任务,且产生作为该结果数据流的部分而输出的新结果数据值区块;
(ii)若该接收到的请求匹配一先前接收到的请求,则产生用于作为该结果数据流的部分而输出的指向该结果数据流内的该先前结果数据值区块的一指针。
2.如权利要求1所述的方法,其中该结果数据流被输出至存储器。
3.如权利要求1所述的方法,该方法包含以下步骤:
在高速缓存内储存识别该组先前接收到的请求的标签值;以及其中
该识别步骤将该接收到的请求的一接收到的标签值与储存在该高速缓存内的所述标签值相比较。
4.如权利要求3所述的方法,其中,当将与先前接收到的牺牲请求相对应的牺牲标签值从该高速缓存驱逐时,则该先前接收到的牺牲请求不再作为该识别步骤中所使用的该组先前接收到的请求的成员。
5.如权利要求3所述的方法,其中该高速缓存与每个标签值相关联地储存该先前结果数据值区块的该指标。
6.如权利要求3所述的方法,其中该高速缓存储存针对该组先前接收到的请求的所述结果数据值区块。
7.如权利要求1所述的方法,该方法包含以下步骤:
将索引值与作为该结果数据流的部分输出的每一新结果数据值区块相关联;以及其中
该指针包含该先前结果数据值区块的索引值。
8.如权利要求1所述的方法,其中该处理任务对应于图形处理流水线内的一处理平台。
9.如权利要求8所述的方法,其中所述接收到的请求是由该图形处理流水线内的顶点变换平台接收的、用以针对图形数据内的给定顶点变换顶点数据的请求,所述处理任务是对该顶点数据执行顶点变换操作,且该结果数据值流是经变换顶点数据流。
10.如权利要求9所述的方法,其中该识别步骤将一顶点识别符与一组先前经变换顶点的顶点识别符相比较。
11.如权利要求9所述的方法,其中该经变换的顶点数据流被传递至该图形处理流水线内的栅格化平台。
12.如权利要求11所述的方法,其中该经变换的顶点数据流由该顶点变换平台储存至存储器,且由该栅格化平台从该存储器读取。
13.一种用于处理数据的设备,包含:
接收电路,该接收电路被配置来接收执行相应处理任务的一请求流,以产生待作为结果数据流的部分输出的对应结果数据值区块;
识别电路,该识别电路被配置来识别该请求流内的一接收到的请求是否匹配该请求流内的一组先前接收到的请求中的任一者,针对该任一者已产生了用于作为该结果数据流的部分而输出的先前结果数据值区块,以及
输出产生电路,该输出产生电路被配置来响应于接收到的请求产生结果数据值区块,其中
(i)若该接收到的请求不匹配该组先前接收到的请求中的任一者,则利用该输出产生电路执行对应于该接收到的请求的新处理任务,且产生作为该结果数据流的部分而输出的新结果数据值区块;
(ii)若该接收到的请求匹配一先前接收到的请求,则利用该输出产生电路产生用于作为该结果数据流的部分而输出的指向该结果数据流内的该先前结果数据值区块的一指针。
14.如权利要求13所述的设备,该设备包含存储器,且其中该结果数据流被输出至该存储器。
15.如权利要求13所述的设备,该设备包含高速缓存,该高速缓存被配置来储存识别该组先前接收到的请求的标签值,其中该识别电路被配置来将该接收到的请求的一接收到的标签值与储存在该高速缓存内的所述标签值相比较。
16.如权利要求15所述的设备,其中当将与先前接收到的牺牲请求相对应的牺牲标签值从该高速缓存驱逐时,则该先前接收到的牺牲请求不再作为该识别步骤中所使用的该组先前接收到的请求的成员。
17.如权利要求15所述的设备,其中该高速缓存被配置来与每个标签值相关联地储存该先前结果数据值区块的该指标。
18.如权利要求15所述的设备,其中该高速缓存被配置来储存针对该组先前接收到的请求的所述结果数据值区块。
19.如权利要求13所述的设备,其中该输出产生电路被配置来将索引值与作为该结果数据流的部分输出的每一新结果数据值区块相关联,且其中该指针包含该先前结果数据值区块的索引值。
20.如权利要求13所述的设备,其中该接收电路、该识别电路及该输出产生电路均为图形处理流水线内的处理平台的部分。
21.如权利要求20所述的设备,其中所述接收到的请求是由该图形处理流水线内的顶点变换平台接收的、用以针对图形数据内的给定顶点变换顶点数据的请求,所述处理任务是对该顶点数据执行顶点变换操作,且该结果数据值流是经变换顶点数据流。
22.如权利要求21所述的设备,其中该识别电路被配置来将一顶点识别符与一组先前经变换顶点的顶点识别符相比较。
23.如权利要求21所述的设备,其中该图形处理流水线包含栅格化平台,并且该经变换的顶点数据流被传递至该栅格化平台。
24.如权利要求23所述的设备,该设备包含存储器,且其中该经变换的顶点数据流由该顶点变换平台储存至该存储器,且由该栅格化平台从该存储器读取。
25.一种用于处理数据的设备,包含:
接收装置,该接收装置用于接收执行相应处理任务的一请求流,以产生待作为结果数据流的部分输出的对应结果数据值区块;
识别装置,该识别装置用于识别该请求流内的一接收到的请求是否匹配该请求流内的一组先前接收到的请求中的任一者,针对该任一者已产生了用于作为该结果数据流的部分而输出的先前结果数据值区块,以及
输出产生装置,该输出产生装置用于响应于接收到的请求产生结果数据值区块,其中
(i)若该接收到的请求不匹配该组先前接收到的请求中的任一者,则利用该输出产生装置执行对应于该接收到的请求的新处理任务,且产生作为该结果数据流的部分而输出的新结果数据值区块;
(ii)若该接收到的请求匹配一先前接收到的请求,则利用该输出产生装置产生用于作为该结果数据流的部分而输出的指向该结果数据流内的该先前结果数据值区块的一指针。
CN201410320689.6A 2013-07-12 2014-07-07 针对重复工作负荷的结果数据流编码 Pending CN104281639A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/940,716 US9679342B2 (en) 2013-07-12 2013-07-12 Result data stream coding for repeating workloads
US13/940,716 2013-07-12

Publications (1)

Publication Number Publication Date
CN104281639A true CN104281639A (zh) 2015-01-14

Family

ID=51135088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410320689.6A Pending CN104281639A (zh) 2013-07-12 2014-07-07 针对重复工作负荷的结果数据流编码

Country Status (4)

Country Link
US (1) US9679342B2 (zh)
CN (1) CN104281639A (zh)
GB (1) GB2516732B (zh)
TW (1) TWI622956B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10540364B2 (en) * 2017-05-02 2020-01-21 Home Box Office, Inc. Data delivery architecture for transforming client response data
US11216993B2 (en) 2019-11-27 2022-01-04 Arm Limited Graphics processing systems
US11210821B2 (en) 2019-11-27 2021-12-28 Arm Limited Graphics processing systems
US11170555B2 (en) 2019-11-27 2021-11-09 Arm Limited Graphics processing systems
US11210847B2 (en) 2019-11-27 2021-12-28 Arm Limited Graphics processing systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845103A (en) * 1997-06-13 1998-12-01 Wisconsin Alumni Research Foundation Computer with dynamic instruction reuse
US6629314B1 (en) * 2000-06-29 2003-09-30 Intel Corporation Management of reuse invalidation buffer for computation reuse
US20040177236A1 (en) * 2002-04-30 2004-09-09 Pickett James K. System and method for linking speculative results of load operations to register values
CN100504762C (zh) * 2004-03-29 2009-06-24 国立大学法人京都大学 数据处理装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2045790A1 (en) * 1990-06-29 1991-12-30 Richard Lee Sites Branch prediction in high-performance processor
JP2637931B2 (ja) * 1994-12-01 1997-08-06 インターナショナル・ビジネス・マシーンズ・コーポレイション テクスチャ・マッピングを行うコンピュータ・システム
BR9902725A (pt) 1999-07-13 2001-03-06 Coppe Ufrj Processo de formação, memorização e reuso, em tempo de execução, de sequências de instruções dinâmicas em computadores
US6919910B2 (en) * 2001-10-30 2005-07-19 Hewlett-Packard Development Company, L.P. Apparatus and method for distributing representative images in partitioned areas of a three-dimensional graphical environment
US6925550B2 (en) * 2002-01-02 2005-08-02 Intel Corporation Speculative scheduling of instructions with source operand validity bit and rescheduling upon carried over destination operand invalid bit detection
JP3855076B2 (ja) 2003-02-25 2006-12-06 独立行政法人科学技術振興機構 データ処理装置、データ処理プログラム、およびデータ処理プログラムを記録した記録媒体
US7636810B2 (en) * 2003-11-26 2009-12-22 Intel Corporation Method, system, and apparatus for memory compression with flexible in-memory cache
KR100877138B1 (ko) 2004-03-29 2009-01-09 고쿠리츠 다이가쿠 호진 교토 다이가쿠 데이터 처리장치, 데이터 처리 프로그램, 및 데이터 처리프로그램을 기록한 기록매체
US7424577B2 (en) * 2005-08-26 2008-09-09 Network Appliance, Inc. Dynamic optimization of cache memory
US20080042830A1 (en) * 2005-12-30 2008-02-21 Skyetek, Inc. Virtual rfid-based tag sensor
US20110310102A1 (en) * 2010-06-17 2011-12-22 Via Technologies, Inc. Systems and methods for subdividing and storing vertex data
US9244686B2 (en) * 2011-04-07 2016-01-26 Via Technologies, Inc. Microprocessor that translates conditional load/store instructions into variable number of microinstructions
US9030480B2 (en) * 2012-12-18 2015-05-12 Nvidia Corporation Triggering performance event capture via pipelined state bundles
US9406101B2 (en) * 2013-03-14 2016-08-02 Nvidia Corporation Technique for improving the performance of a tessellation pipeline
US9436614B2 (en) * 2013-05-02 2016-09-06 Globalfoundries Inc. Application-directed memory de-duplication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845103A (en) * 1997-06-13 1998-12-01 Wisconsin Alumni Research Foundation Computer with dynamic instruction reuse
US6629314B1 (en) * 2000-06-29 2003-09-30 Intel Corporation Management of reuse invalidation buffer for computation reuse
US20040177236A1 (en) * 2002-04-30 2004-09-09 Pickett James K. System and method for linking speculative results of load operations to register values
CN100504762C (zh) * 2004-03-29 2009-06-24 国立大学法人京都大学 数据处理装置

Also Published As

Publication number Publication date
TWI622956B (zh) 2018-05-01
US20150015593A1 (en) 2015-01-15
US9679342B2 (en) 2017-06-13
GB2516732B (en) 2020-11-25
TW201503046A (zh) 2015-01-16
GB2516732A (en) 2015-02-04
GB201408874D0 (en) 2014-07-02

Similar Documents

Publication Publication Date Title
CN104281639A (zh) 针对重复工作负荷的结果数据流编码
CN101477532B (zh) 实现数据存储、读取的方法、装置及系统
CN104133775A (zh) 一种用于管理存储器的方法和装置
JP2020537271A (ja) ボリュームデータの密度座標ハッシュ化
CN104133780A (zh) 一种跨页预取方法、装置及系统
CN105677580A (zh) 访问缓存的方法和装置
WO2008131308A1 (en) Field-programmable gate array based accelerator system
CN102446087B (zh) 指令预取方法与预取装置
CN104346384A (zh) 一种小文件处理方法及装置
CN106202224B (zh) 搜索处理方法及装置
CN104516822A (zh) 一种内存访问方法和设备
CN110519408A (zh) 一种ip归属地查询方法、装置、电子设备及存储介质
US20050225558A1 (en) Two level cache memory architecture
CN113360803A (zh) 基于用户行为的数据缓存方法、装置、设备及存储介质
CN108694052A (zh) 一种固件升级方法、固件升级装置及固件升级系统
CN113901166B (zh) 电子地图构建方法、装置、设备及存储介质
US20240220541A1 (en) Fpga-based method and system for accelerating graph construction
CN104915302A (zh) 数据传输处理方法和数据传输器
CN115002011B (zh) 流量双向测试方法、装置、电子设备及存储介质
WO2020118547A1 (en) Fpga-based acceleration using opencl on fcl in robot motion planning
CN101751356A (zh) 用于改进直接存储器存取传送效率的方法、系统和装置
CN110515948A (zh) 一种数据查询方法、系统、电子设备及存储介质
CN102708109B (zh) 栅格数据的读取方法和装置,栅格数据的写入方法和装置
US10185718B1 (en) Index compression and decompression
CN113190551A (zh) 特征检索系统的构建方法、特征检索方法、装置及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150114

RJ01 Rejection of invention patent application after publication