TWI622956B - 用於重複工作負荷的結果資料流編碼 - Google Patents

用於重複工作負荷的結果資料流編碼 Download PDF

Info

Publication number
TWI622956B
TWI622956B TW103117930A TW103117930A TWI622956B TW I622956 B TWI622956 B TW I622956B TW 103117930 A TW103117930 A TW 103117930A TW 103117930 A TW103117930 A TW 103117930A TW I622956 B TWI622956 B TW I622956B
Authority
TW
Taiwan
Prior art keywords
request
vertex
result data
stream
received
Prior art date
Application number
TW103117930A
Other languages
English (en)
Other versions
TW201503046A (zh
Inventor
查芬亞歷山大尤金
格蘭翰布萊德利艾柏特
Original Assignee
Arm股份有限公司
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 Arm股份有限公司 filed Critical Arm股份有限公司
Publication of TW201503046A publication Critical patent/TW201503046A/zh
Application granted granted Critical
Publication of TWI622956B publication Critical patent/TWI622956B/zh

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
    • 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
    • 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, 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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

用於重複工作負荷的結果資料流編碼
本發明係關於資料處理系統之領域。更特定言之,本發明係關於資料處理系統,該等資料處理系統接收執行個別處理工作之請求流,以產生待作為結果資料流之部分而輸出的相應結果資料值區塊。
在許多情況下,資料處理系統可接收執行個別處理工作之請求流,以產生相應的結果資料值區塊。此類系統之一個實例為圖形處理管線,在該圖形處理管線中,頂點變換平臺接收在所接收到之頂點資料上執行變換操作之請求,以形成經變換之頂點資料。該等請求對應於待變換之頂點資料流,且結果資料區塊對應於產生的經變換之頂點資料流。在該等實施例中,通常直接將經變換之頂點資料流傳遞至後續的柵格化平臺。使用寬匯流排來傳遞如此產生之大量的資料。然而,若採用延遲再現方法(deferred rendering approach),則隨後在由柵格化平臺讀取經變換之頂點資料之前,需要將該經變換之頂點資料儲存至記憶體。在此類情形 中需要移送至記憶體及從記憶體移送出之大量資料代表著關於速度及功率消耗兩者之顯著的額外負擔。
自一個態樣可見,本發明提供一種處理資料之方法,該方法包含以下步驟:接收執行個別處理工作之請求流,以產生待作為結果資料流之部分而輸出的相應結果資料值區塊;識別該請求流內一所接收的請求是否匹配該請求流內之一組先前接收到之請求之任一者(針對該任一者產生用於作為該結果資料流之部分而輸出的先前結果資料值區塊),及(i)若該接收到之請求不匹配該組先前接收到之請求的任一者,則隨後執行對應於該接收到之請求的新處理工作,且產生用於作為該結果資料流之部分而輸出的新結果資料值區塊;(ii)若該接收到之請求匹配先前接收到之請求,則隨後在該結果資料流內產生用於作為該結果資料流之部分而輸出的,指向該先前結果資料值區塊的指標。
本技術考慮到在許多實際生活工作負荷中,所接收到的執行個別處理工作之請求流經常含有執行相同處理工作的重複請求。執行相同處理工作將產生相同結果資料值區塊。因此,若先前的請求已導致產生輸出之相同結果資料值區塊,則隨後可替代地產生且輸出指標(該指標識別結果資料流內的先前結果資料值區塊),而不是再次產生且輸出相 同結果資料值區塊。此指標值可比該指標值指向的結果資料值區塊更緊密,且因此節省了待傳送之資料量。因為對應於最新接收到之請求的結果資料值區塊與先前產生的結果資料值區塊相同,所以無資訊損失。該結果資料流之接收器接收結果資料值區塊或指向先前接收到之結果資料值區塊的指標,該指標可解釋為對應於彼等先前接收到之結果資料值區塊。以此方式,若需要,接收器可將結果資料流重建為對應於結果資料流的形式,在該形式中尚未使用本技術。
應瞭解,由於多種原因(諸如減少與彼結果資料流之傳輸有關的額外負擔),需要減少結果資料流之資料量。然而,本技術在將結果資料流輸出至記憶體時特別有用,因為本技術可減少將結果資料流儲存在記憶體內及從記憶體取得結果資料流之能耗,以及減少儲存該結果資料流所需要之記憶體空間量。
藉由在快取記憶體中儲存用於識別一組先前接收到之請求的標籤值,可助於識別與先前接收到之請求匹配的最新接收到之請求。識別步驟可比較接收到之請求的所接收的標籤值與儲存在快取記憶體內之標籤值。與快取標籤值之任一者的匹配指示:接收到之請求匹配先前接收到之請求,且因此可使用回應於最新接收到之請求所產生的指標和在結果資料流中輸出的彼指標,引用針對彼先前接收到之請求的結果資料值區塊。
應瞭解,快取記憶體具有有限量的儲存空間,且因此在將驅逐一快取記憶體項目時,該項目之標籤值在該快取 記憶體中將不再可用於與新接收到之請求的標籤值作比較。因此,被驅逐之先前接收到的請求不再係在識別步驟中所使用的該組先前接收到之請求的成員。實際上,使快取記憶體在時間和空間局域性(在該局域性下進行記憶體存取)方面有效的現實生活考慮亦傾向於應用接收到之請求,且因此實際上可能將類似的請求組合在一起,以使得從快取記憶體中驅逐先前接收到之請求的標籤之需要的效應得以緩和。
一些實施例中的快取記憶體可儲存與各標籤值有關的先前結果資料值區塊的指標值。指標值可與標籤值一起儲存(以標籤值本身獨立的資料結構),或與針對所涉及之標籤值而儲存在快取記憶體內部之資料值區塊一起儲存。
在實施例中可便利地提供對指標值的管理,在該等實施例中,索引值與作為結果資料流之部分而輸出的各新結果資料值區塊相關聯。當索引值用作後續將在結果資料流內引用的先前結果資料值區塊時,隨後可將此索引值用作該結果資料值區塊的指標。應瞭解,索引值可採取多種形式,且在一些實施例中,索引值可能為簡單遞增的計數值。
儘管未限制於一種特定的應用領域,本技術發現特別適用於其中處理工作對應於圖形處理管線內的處理平臺之實施例。此類處理通常涉及大量的資料,且在待產生之結果資料區塊內具有相對高的重複可能性,例如,由於重複使用被調節之圖形資料之多個基元內的相同頂點,頂點資料可在多種情況下變換。在如此之情境中,由頂點變換平臺接收所接收到之請求,處理工作為頂點變換操作,且結果資料值流 為經變換之頂點資料流。
在此頂點變換應用中,識別步驟可比較頂點識別符與先前變換之頂點的頂點識別符。因此,該頂點識別符可視為針對接收到之請求及針對相應結果資料值區塊的標籤。
在一些實施例中,藉由頂點變換平臺可將經變換之頂點資料流儲存至記憶體,且然後藉由柵格化平臺從記憶體讀取該經變換之頂點資料流。因為許多原因,此類延遲再現圖形處理系統為有利的,但是此類系統遭受潛在地涉及將大量資料移送至記憶體及從記憶體移送出大量資料之缺點。本技術減少了此額外負擔。
自另一態樣可見,本發明提供用於處理資料之設備,該設備包含:接收電路系統,該接收電路系統經設置以接收執行個別處理工作之請求流,以產生作為結果資料流之部分而輸出的相應結果資料值區塊;識別電路系統,該識別電路系統經設置以識別該請求流內的一所接收到的請求是否匹配該請求流內之一組先前接收到之請求的任一者(針對該任一者產生用於作為該結果資料流之部分而輸出的先前結果資料值區塊),及輸出產生電路系統,該輸出產生電路經設置以產生回應於接收到之請求的結果資料值區塊,其中:(i)若該接收到之請求不匹配該組先前接收到之請求的任一者,則隨後使用該輸出產生電路系統執行對應於該接收到之請求的新處理工作,且以產生用於作為該結果資料 流之部分而輸出的新結果資料值區塊;(ii)若該接收到之請求匹配先前接收到之請求,則隨後使用該輸出產生電路系統在該結果資料流內產生用於作為該結果資料流之部分而輸出的、指向該先前結果資料值區塊的指標。
自另一態樣可見,本發明提供用於處理資料之設備,該設備包含:接收手段,該接收手段用於接收執行個別處理工作之請求流,以產生待作為結果資料流之部分而輸出的相應結果資料值區塊;識別手段,該識別手段用於識別該請求流內所接收到的請求是否匹配該請求流內之該組先前接收到之請求之任一者(針對該任一者產生用於作為該結果資料流之部分而輸出的先前結果資料值區塊),及輸出產生手段,該輸出產生手段用於產生回應於接收到之請求的結果資料值區塊,其中(i)若接收到之請求不匹配該組先前接收到之請求的任一者,則隨後使用該輸出產生手段執行對應於該接收到之請求的新處理工作,且以產生用於作為該結果資料流之部分而輸出的新結果資料值區塊;(ii)若接收到之請求匹配先前接收到之請求,則隨後使用該輸出產生手段在該結果資料流內產生用於作為該結果資料流之部分而輸出的指向該先前結果資料值區塊之指標。
從下文中聯繫附圖閱讀之說明性實施例之詳細描 述,本發明之上述及其他目標、特徵及優勢將變得顯而易見。
2‧‧‧晶片上系統積體電路
4‧‧‧圖形處理單元
6‧‧‧通用處理器
8‧‧‧顯示驅動器
10‧‧‧記憶體
12‧‧‧提取平臺
14‧‧‧頂點變換平臺
16‧‧‧柵格化平臺
18‧‧‧其他平臺
20‧‧‧頂點變換快取記憶體
22‧‧‧步驟
24‧‧‧步驟
26‧‧‧步驟
28‧‧‧步驟
30‧‧‧步驟
32‧‧‧步驟
34‧‧‧步驟
36‧‧‧步驟
38‧‧‧接收電路系統
40‧‧‧識別電路系統
42‧‧‧輸出產生電路系統
44‧‧‧計數器
第1圖示意性地圖示晶片上系統積體電路,該晶片上系統積體電路包括圖形處理管線,該圖形處理管線將經變換之頂點資料儲存至記憶體作為延遲再現之部分;第2圖為流程圖,該流程圖示意性地圖示回應於接收到變換頂點資料之請求而產生經變換的頂點資料流;第3圖示意性地圖示包括結果資料區塊及指向結果資料區塊之指標兩者的結果資料流的產生;第4圖示意性地圖示用於儲存標籤值、經變換之頂點資料及索引值之快取記憶體;以及第5圖示意性地圖示頂點變換平臺。
第1圖示意性地圖示晶片上系統積體電路2,晶片上系統積體電路2包括圖形處理單元4、通用處理器6、顯示驅動器8及記憶體10。圖形處理單元4包括圖形處理管線,該圖形處理管線具有提取平臺12、頂點變換平臺14、柵格化平臺16及一或更多個其他平臺18。頂點變換平臺14接收由提取平臺12自記憶體10提取之頂點資料。接收頂點資料對應於接收變換該頂點資料之請求,且頂點變換平臺14執行此變換。將產生之經變換頂點資料儲存在頂點變換快取記憶體20內。頂點變換快取記憶體可用於抑制重複變換接收到之相同頂點資料的要求,且可儲存經變換之頂點資料以供再用。此經變換之頂點資料形成結果資料流之部分,該結果資料流 包含儲存回記憶體10之結果資料值區塊。柵格化平臺16視需要從記憶體10取得此變換頂點資料,且在記憶體10上執行光柵處理。
除了儲存先前產生之結果資料值區塊且抑制再次執行相同處理以產生彼等結果資料值區塊的需要,頂點變換快取記憶體20亦可用於識別已發送至記憶體10的先前產生之相同結果資料值區塊以作為結果資料流之部分。因此,可發送指向該先前產生之結果資料值區塊之指標至記憶體10,而不是重發彼等相同結果資料值區塊至記憶體10。此舉減少傳送至記憶體10且從記憶體10傳送出之資料量。
柵格化平臺16從記憶體10取得結果資料值區塊及指標。柵格化平臺16可自(從記憶體10取得的)編碼的結果資料流重建完整的變換頂點資料流,且可以習知的方式為光柵處理供給此完整的變換頂點資料流。
可配置用於界定圖形圖像之頂點資料的網格,以使得重複引用之頂點在彼等頂點存在用於變換時彼此接近,進而增加在頂點變換快取記憶體20中識別此類重複頂點變換的可能性,且因此可抑制相同資料的重複產生,且包含經變換之頂點資料的重複結果資料值區塊可由指向已產生且輸出的該經變換頂點資料的指標替代。
第2圖為流程圖,該流程圖示意性地圖示接收執行處理工作之請求,及根據本技術產生結果資料流。在步驟22處,直至頂點變換平臺14接收待變換之頂點資料後處理才開始。在步驟24處,在頂點變換快取記憶體20內查找接收到 之頂點資料的標籤值。根據正常快取記憶體技術,頂點變換快取記憶體20可具有不同程度的結合性。完全相聯或集合相聯快取記憶體之使用可改良效率。
步驟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之部分的所有標籤值進行並行比較。對於快取記憶體之每一管線,若經變換之頂點資料在結果資料流內重複,而此經變換之頂點資料仍保持在頂點變換快取記憶體20內,則在 每一管線上儲存有將用作在結果資料流中替代經變換之頂點資料的指標/索引的標籤值、經變換之頂點資料及計數值。
頂點變換快取記憶體20可應用最近最少使用的驅逐政策,以便管理頂點變換快取記憶體20之有限的儲存容量。將瞭解,儘管第4圖圖示標籤值、經變換之頂點資料及計數值全部均在單一管線上,實際上可將此等值儲存在獨立結構或部分地或完全地合併此等值的結構中。
第5圖示意性地圖示頂點變換平臺14。頂點變換平臺14包括接收電路系統38,接收電路系統38用於接收執行處理工作的請求,該工作形式為將頂點資料變換為經變換之頂點資料。識別電路系統40用於識別接收到之請求(頂點資料)是否對應於一組先前接收到之請求(先前接收到之頂點資料)之任一成員。若存在匹配,則隨後向輸出產生電路系統發出匹配訊號,該輸出產生電路系統產生指向該先前產生的經變換之頂點資料的指標,而不是再次產生彼經變換頂點資料及再次輸出彼經變換頂點資料。如第3圖圖示,輸出產生電路系統42產生結果資料流。計數器44用於記錄將用作指標值(索引值)之計數值。
應瞭解,頂點變換快取記憶體20具有有限的儲存容量,且識別電路系統40比較接收到之請求(頂點資料)與儲存在頂點變換快取記憶體20內對應於一組先前接收到之請求(一組先前產生的經變換之頂點資料)的資料。由於頂點變換快取記憶體20(該快取記憶體20應用驅逐政策,諸如最近最少使用的驅逐政策)之有限的儲存容量,此組先前接收到 之請求可不包括所有先前接收到之請求。
儘管本文已參閱附圖詳細描述本發明之說明性實施例,但是應瞭解,本發明不限制於彼等精確的實施例,且在不脫離如隨附申請專利範圍所定義的本發明之範疇及精神的情況下,熟習此項技術者可實現對實施例進行的多種變化及修改。

Claims (23)

  1. 一種處理資料之方法,該方法包含以下步驟:接收執行個別處理工作之一請求流,以產生待作為一結果資料流之部分而輸出至一記憶體的相應結果資料值區塊;識別該請求流內一接收到之請求是否匹配該請求流內之一組先前接收到之請求之任一者,用於作為該結果資料流之部分而輸出的一先前結果資料值區塊是針對該任一者產生的,及;(i)若該接收到之請求不匹配該組先前接收到之請求的任一者,則隨後執行對應於該接收到之請求之一新處理工作,且產生作為該結果資料流之部分而輸出的一新結果資料值區塊;(ii)若該接收到之請求匹配一先前接收到之請求,則隨後在該結果資料流內產生用於作為該結果資料流之部分而輸出至該記憶體的指向該先前結果資料值區塊的一指標,而不是產生該先前結果資料值區塊的另一複本。
  2. 如請求項1所述之方法,該方法包含以下步驟:在一快取記憶體內儲存識別該組先前接收到之請求的標籤值;以及其中該識別步驟比較該接收到之請求之一接收到之標籤值與儲存在該快取記憶體內之該等標籤值。
  3. 如請求項2所述之方法,其中當將對應於一先前接收到 之犧牲請求的一犧牲標籤值從該快取記憶體驅逐時,隨後該先前接收到之犧牲請求不再為該識別步驟中所使用的該組先前接收到之請求之一成員。
  4. 如請求項2所述之方法,其中該快取記憶體儲存與各標籤值相關聯的指向該先前結果資料值區塊的該指標。
  5. 如請求項2所述之方法,其中該快取記憶體儲存針對該組先前接收到之請求的該等結果資料值區塊。
  6. 如請求項1所述之方法,該方法包含以下步驟:使一索引值與作為該結果資料流之部分而輸出的各新結果資料值區塊相關;以及其中該指標包含該先前結果資料值區塊之一索引值。
  7. 如請求項1所述之方法,其中該處理工作對應於一圖形處理管線內之一處理平臺。
  8. 如請求項7所述之方法,其中該等接收到之請求為由該圖形處理管線內之一頂點變換平臺接收之請求,以針對圖形資料內之一給定頂點而變換頂點資料,該處理工作為對該頂點資料執行的頂點變換操作,且該結果資料值流為一經變換頂點資料流。
  9. 如請求項8所述之方法,其中該識別步驟比較一頂點識別符與一組先前經變換頂點之頂點識別符。
  10. 如請求項8所述之方法,其中將該經變換的頂點資料流傳遞至該圖形處理管線內之一柵格化平臺。
  11. 如請求項10所述之方法,其中藉由該頂點變換平臺將該經變換頂點資料流儲存至該記憶體,且藉由該柵格化平臺從該記憶體讀取該經變換頂點資料流。
  12. 一種用於處理資料之設備,包含:一記憶體;接收電路系統,該接收電路系統經設置以接收執行個別處理工作之一請求流,以產生待作為一結果資料流之部分而輸出至該記憶體的相應結果資料值區塊;識別電路系統,該識別電路系統經設置以識別該請求流內之一接收到之請求是否匹配該請求流內之一組先前接收到之請求之任一者,用於作為該結果資料流之部分而輸出的一先前結果資料值區塊是針對該任一者產生的,及輸出產生電路系統,該輸出產生電路系統經設置以產生回應於接收到之請求的結果資料值區塊,其中(i)若該接收到之請求不匹配該組先前接收到之請求的任一者,則隨後使用該輸出產生電路系統執行對應於該 接收到的請求之一新處理工作及產生作為該結果資料流之部分而輸出的一新結果資料值區塊;(ii)若該接收到之請求匹配一先前接收到之請求,則隨後使用該輸出產生電路系統在該結果資料流內產生作為該結果資料流之部分而輸出至該記憶體的指向該先前結果資料值區塊的一指標,而不是產生該先前結果資料值區塊的另一複本。
  13. 如請求項12所述之設備,該設備包含一快取記憶體,該快取記憶體經設置以儲存識別該組先前接收到之請求的標籤值,其中該識別電路系統經設置以比較該接收到之請求之一接收到的標籤值與儲存在該快取記憶體內之該等標籤值。
  14. 如請求項13所述之設備,其中在將對應於一先前接收到之犧牲請求的一犧牲標籤值從該快取記憶體驅逐時,隨後該先前接收到之犧牲請求不再為該識別步驟中所使用的該組先前接收到之請求之一成員。
  15. 如請求項13所述之設備,其中該快取記憶體經設置以儲存與各標籤值相關聯的指向該先前結果資料值區塊的該指標。
  16. 如請求項13所述之設備,其中該快取記憶體經設置以針對該組先前接收到之請求儲存該等結果資料值區塊。
  17. 如請求項12所述之設備,其中該輸出產生電路系統經設置以使一索引值與作為該結果資料流之部分而輸出的各新結果資料值區塊相關,且其中該指標包含該先前結果資料值區塊之一索引值。
  18. 如請求項12所述之設備,其中該接收電路系統、該識別電路系統及該輸出產生電路系統均為一圖形處理管線內的一處理平臺之部分。
  19. 如請求項18所述之設備,其中該等接收到之請求為由該圖形處理管線內之一頂點變換平臺接收之請求,以針對圖形資料內之一給定頂點變換頂點資料,該等處理工作為對該頂點資料執行的頂點變換操作,且該結果資料值流為一經變換頂點資料流。
  20. 如請求項19所述之設備,其中該識別電路系統經設置以比較一頂點識別符與一組先前經變換頂點之頂點識別符。
  21. 如請求項19所述之設備,其中該圖形處理管線包含一柵格化平臺,且將該經變換頂點資料流傳遞至該柵格化平臺。
  22. 如請求項21所述之設備,其中藉由該頂點變換平臺將該經變換頂點資料流儲存至該記憶體,且藉由該柵格化平臺從 該記憶體讀取該經變換頂點資料流。
  23. 一種用於處理資料之設備,包含:一記憶體;接收手段,該接收手段用於接收執行個別處理工作之一請求流,以產生待作為一結果資料流之部分而輸出至該記憶體的相應結果資料值區塊;識別手段,該識別手段用於識別該請求流內一接收到之請求是否匹配該請求流內之一組先前接收到之請求之任一者,用於作為該結果資料流之部分而輸出的一先前結果資料值區塊是針對該任一者產生的,及輸出產生手段,該輸出產生手段用於產生回應於接收到之請求的結果資料值區塊,其中(i)若該接收到之請求不匹配該組先前接收到之請求的任一者,則隨後使用該輸出產生手段執行對應於該接收到之請求的一新處理工作及產生作為該結果資料流之部分而輸出的一新結果資料值區塊;(ii)若該接收到之請求匹配一先前接收到之請求,則隨後使用該輸出產生手段在該結果資料流內產生作為該結果資料流之部分而輸出至該記憶體的指向該先前結果資料值區塊之一指標,而不是產生該先前結果資料值區塊的另一複本。
TW103117930A 2013-07-12 2014-05-22 用於重複工作負荷的結果資料流編碼 TWI622956B (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
TW201503046A TW201503046A (zh) 2015-01-16
TWI622956B true TWI622956B (zh) 2018-05-01

Family

ID=51135088

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103117930A TWI622956B (zh) 2013-07-12 2014-05-22 用於重複工作負荷的結果資料流編碼

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
US11210821B2 (en) 2019-11-27 2021-12-28 Arm Limited Graphics processing systems
US11216993B2 (en) 2019-11-27 2022-01-04 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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177236A1 (en) * 2002-04-30 2004-09-09 Pickett James K. System and method for linking speculative results of load operations to register values
TWI240896B (en) * 2001-10-30 2005-10-01 Hewlett Packard Co Apparatus and method for distributing representative images in partitioned areas of a three-dimensional graphical environment
US20070050548A1 (en) * 2005-08-26 2007-03-01 Naveen Bali Dynamic optimization of cache memory

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0463973A3 (en) * 1990-06-29 1993-12-01 Digital Equipment Corp Branch prediction in high performance processor
JP2637931B2 (ja) * 1994-12-01 1997-08-06 インターナショナル・ビジネス・マシーンズ・コーポレイション テクスチャ・マッピングを行うコンピュータ・システム
US5845103A (en) 1997-06-13 1998-12-01 Wisconsin Alumni Research Foundation Computer with dynamic instruction reuse
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
US6629314B1 (en) 2000-06-29 2003-09-30 Intel Corporation Management of reuse invalidation buffer for computation reuse
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
EP1731998A1 (en) 2004-03-29 2006-12-13 Kyoto University Data processing device, data processing program, and recording medium containing the data processing program
JP4254954B2 (ja) * 2004-03-29 2009-04-15 独立行政法人科学技術振興機構 データ処理装置
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI240896B (en) * 2001-10-30 2005-10-01 Hewlett Packard Co Apparatus and method for distributing representative images in partitioned areas of a three-dimensional graphical environment
US20040177236A1 (en) * 2002-04-30 2004-09-09 Pickett James K. System and method for linking speculative results of load operations to register values
US20070050548A1 (en) * 2005-08-26 2007-03-01 Naveen Bali Dynamic optimization of cache memory

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI622956B (zh) 用於重複工作負荷的結果資料流編碼
US9110809B2 (en) Reducing memory traffic in DRAM ECC mode
CN102033728B (zh) 图形处理系统
US20200074707A1 (en) Joint synthesis and placement of objects in scenes
US10489875B2 (en) Data structures for efficient tiled rendering
CN104765693B (zh) 一种用于存储数据的方法、装置和系统
US9305326B2 (en) Apparatus and method for tile elimination
US10878611B2 (en) Techniques for pre-processing index buffers for a graphics processing pipeline
CN109936745B (zh) 用于改善原始视频数据的解压的方法和系统
EP3686816A1 (en) Techniques for removing masks from pruned neural networks
US20100188412A1 (en) Content based cache for graphics resource management
GB2600583A (en) Attribute-aware image generation using neural networks
KR102646818B1 (ko) 그래픽스 파이프라인에서의 인덱스들의 압축 및 압축 해제
US20220335672A1 (en) Context-aware synthesis and placement of object instances
US9448935B2 (en) Surface resource view hash for coherent cache operations in texture processing hardware
GB2521170A (en) Method of and apparatus for displaying an output surface in data processing systems
CN104965768A (zh) 用于存储系统中的服务感知数据放置的方法和系统
US9589314B2 (en) Query processing for tile-based renderers
CN109582484B (zh) 防范在汽车系统中实现的纠错码(ecc)中的错误
US11016802B2 (en) Techniques for ordering atomic operations
CN111753824A (zh) 使用神经网络翻译模型改进图像分割
US20100115141A1 (en) Processor and method for controlling memory
US20100262804A1 (en) Effective Memory Clustering to Minimize Page Fault and Optimize Memory Utilization
US20150070372A1 (en) Image processing apparatus and a method of storing encoded data blocks generated by such an image processing apparatus
CN108228081B (zh) 用于数据保护的方法和设备