[go: up one dir, main page]

TW201911034A - 資料處理設備中的資料項中的計數元件 - Google Patents

資料處理設備中的資料項中的計數元件 Download PDF

Info

Publication number
TW201911034A
TW201911034A TW107126469A TW107126469A TW201911034A TW 201911034 A TW201911034 A TW 201911034A TW 107126469 A TW107126469 A TW 107126469A TW 107126469 A TW107126469 A TW 107126469A TW 201911034 A TW201911034 A TW 201911034A
Authority
TW
Taiwan
Prior art keywords
index
data item
value
input data
input
Prior art date
Application number
TW107126469A
Other languages
English (en)
Other versions
TWI787313B (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 TW201911034A publication Critical patent/TW201911034A/zh
Application granted granted Critical
Publication of TWI787313B publication Critical patent/TWI787313B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30109Register structure having multiple operands in a single register
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30145Instruction analysis, e.g. decoding, instruction word fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

提供了用於執行計數操作的設備和操作該設備的方法。指令解碼器電路系統響應於指定輸入資料項的計數指令,以產生控制信號,以控制資料處理電路系統,以執行計數操作。計數操作確定指示在經指定的輸入資料項中的元件子集的輸入元件的數目的計數值,輸入元件具有與參考資料項中的參考元件中的參考值匹配的值。可執行複數個計數操作,以確定對應於輸入資料項的計數資料項。還提供了暫存器分散儲存指令、聚集索引產生指令、及響應於其的相應設備、以及模擬器實施方式。

Description

資料處理設備中的資料項中的計數元件
本案涉及資料處理設備。更具體地,本案涉及由資料處理設備對資料項中的元件進行計數。
資料處理設備可執行各種各樣的資料處理操作,其中一些操作可能需要其對其處理的資料項中的元件進行計數。例如,該計數可形成處理直方圖資料的一部分,其中可將輸入資料項元件各自分配到給定的直方圖箱,以便建立此類直方圖資料。取決於正在構建的直方圖的大小,從為了正確地將給定的輸入資料項元件分配到其對應的直方圖箱所需的處理的角度來看,或者由於為了檢索現有的直方圖資料和寫回經修改的直方圖資料所需的記憶體存取的數目,或該兩者,此處理可能相對地繁重。
在一個實例中,提供了一種設備,包括:指令解碼器電路系統,該指令解碼器電路系統用於解碼指令;及資料處理電路系統,該資料處理電路系統用於將由指令所指定的向量處理操作選擇地應用於輸入資料向量,該輸入資料向量包括在輸入資料向量中的相應位置處的複數個輸入資料項,其中指令解碼器電路系統響應於指定輸入資料項的計數指令,以產生控制信號,以控制資料處理電路系統進行以下操作:執行計數操作,以確定指示在經指定的輸入資料項中的元件子集的輸入元件的數目的計數值,該等輸入元件具有與參考資料項中的參考元件中的參考值匹配的值。
在另一實例中,提供了一種設備,包括:指令解碼器電路系統,該指令解碼器電路系統用於解碼指令;及資料處理電路系統,該資料處理電路系統包括暫存器分散儲存電路系統,其中指令解碼器電路系統響應於指定分散目的地暫存器、分散索引向量、及分散資料項的暫存器分散儲存指令,以控制暫存器分散儲存電路系統,以執行暫存器分散儲存處理,以設置由分散索引向量所識別的分散目的地暫存器中的複數個暫存器元件位置中的每個暫存器元件位置,以包含分散資料項的對應的元件的值。
在另一實例中,提供了一種設備,包括:指令解碼器電路系統,該指令解碼器電路系統用於解碼指令;及資料處理電路系統,該資料處理電路系統包括聚集索引產生電路系統,其中該指令解碼器電路系統響應於指定包括複數個分散索引值的分散索引向量的產生指令,以控制聚集索引產生電路系統,以執行聚集索引產生操作,以產生由複數個聚集索引元件形成的聚集索引向量,而每個聚集索引元件被相應索引參考並且包含相應暫存器元件索引值,其中該產生操作對複數個聚集索引元件的每個聚集索引元件執行比較操作,以將相應索引與複數個分散索引值的每個分散索引值進行比較,其中比較操作基於匹配條件的結果,來有條件地設置相應聚集索引元件的暫存器元件索引值,其中匹配條件需要複數個分散索引值的一個分散索引值,來匹配相應索引值,並且將相應聚集索引元件的相應暫存器元件索引值設置為滿足匹配條件的最高有效分散索引元件的索引。
在另一實例中,提供了一種操作資料處理設備的方法,包括以下步驟:解碼指令;將由指令所指定的向量處理操作選擇地應用於包括在輸入資料向量中的相應位置處的複數個輸入資料項的輸入資料向量;及響應於指定輸入資料項的計數指令,以產生控制信號,以控制資料處理電路系統進行以下操作:執行計數操作,以確定指示在經指定的輸入資料項中的元件子集的輸入元件的數目的計數值,該等輸入元件具有與參考資料項中的參考元件中的參考值匹配的值。
在另一實例中,提供了一種設備,包括:用於解碼指令的構件;用於將由指令所指定的向量處理操作選擇地應用於包括在輸入資料向量中的相應位置處的複數個輸入資料項的輸入資料向量的構件;及用於響應於指定輸入資料項的計數指令以產生控制信號的構件,以控制用於執行計數操作以確定指示在經指定的輸入資料項中的元件子集的輸入元件的數目的計數值的構件,該等輸入元件具有與參考資料項中的參考元件中的參考值匹配的值。
在另一實例中,提供了一種用於控制主機資料處理設備以提供指令執行環境的電腦程式,包括:指令解碼程式邏輯,該指令解碼程式邏輯用於解碼指令;及資料處理程式邏輯,該資料處理程式邏輯用於將由指令所指定的向量處理操作選擇地應用於輸入資料向量結構,該輸入資料向量結構包括在輸入資料向量結構中的相應位置處的複數個輸入資料項結構,其中指令解碼程式邏輯響應於指定輸入資料項結構的計數指令,以產生控制信號,以控制資料處理程式邏輯進行以下操作:執行計數操作,以確定指示在經指定的輸入資料項結構中的元件子集的輸入元件的數目的計數值,該等輸入元件具有與參考資料項結構中的參考元件中的參考值匹配的值。
至少一些實例提供了一種設備,該設備包括:指令解碼器電路系統,其用於解碼指令;及資料處理電路系統,其用於選擇地將由指令所指定的向量處理操作應用於輸入資料向量,該輸入資料向量包括輸入資料向量中的相應位置處的複數個輸入資料項,其中指令解碼器電路系統響應於指定輸入資料項的計數指令,以產生控制信號,以控制資料處理電路系統進行以下操作:執行計數操作,以確定指示經指定的輸入資料項中的元件子集的輸入元件的數目的計數值,其具有與參考資料項中的參考元件中的參考值匹配的值。
可能需要資料處理設備,來計數在輸入向量(即,元件的陣列)中具有特定值的元件數目。由複數個輸入元件組成的輸入資料向量(每個輸入元件包含特定值)可例如在執行直方圖操作時由資料處理設備來處理。例如,在輸入資料向量表示應該被增加到資料處理設備可存取(例如,儲存在其記憶體中)的值的現有的直方圖中的資料的情況下,則關於輸入資料向量的元件的計數操作將典型地需要被執行,以使得該等元件可被正確地累積在直方圖的對應的箱中。為了支援此類操作,本技術提供一種資料處理電路系統,該資料處理電路系統響應於計數指令(被來自指令解碼器電路系統的控制信號調節),以計數輸入資料項中的與參考資料項的參考元件中所保存的參考值匹配的輸入元件。
可以各種方式提供參考資料項,並且參考資料項實際上可表示各種比較項(取決於實現本技術的方式)。例如,在一些實例中,參考資料項可以完全不同於輸入資料項,而在其他實例中,參考資料項元件實際上可由輸入資料項本身來提供。參考資料項不限於包括特定數目的元件,並且在一些實施例中,參考資料項包括複數個參考元件,而在其他實施例中,其實際上可包含僅一個參考元件。
本技術認識到,當提供此類資料處理設備時將面臨的實際問題是,與執行所需的計數操作相關聯的電路系統的複雜性變得更大,輸入資料項越大(特別是,由於必須能夠在輸入資料項與參考資料項的元件之間所執行的比較的排列數目增加),以至於提供所需的電路系統可能變得不切實際。在此上下文中,本技術認識到,可藉由提供用於確定計數值的資料處理電路系統(被由指令解碼器電路系統所產生的控制信號控制)來解決該問題,該計數值指示在經指定輸入資料項中的元件子集中與在參考資料項中的特定參考元件匹配的輸入元件的數目。可不同地定義該子集(如下文將更詳細地論述的),但是通常該方法提供了可實際提供所需的電路系統並且執行所需的計數操作。例如,這可以使得直方圖處理能夠被有效地執行,其中輸入資料項、子集、及參考資料項被適當地選擇。
在一些實例中,資料處理電路系統進一步響應於控制信號,以執行複數個計數操作,其中在複數個計數操作中之每一者中,所用的參考值是在參考資料項中的複數個參考元件的相應參考元件中的相應參考值。換句話說,將參考資料項的每個參考元件與輸入資料項中的每個輸入元件進行比較,並且每個計數操作確定在輸入資料項中與每個相應參考元件匹配的輸入元件的數目。此外,對於複數個計數操作中之每一者,將經指定輸入資料項中的相應元件子集中的輸入元件與由相應計數操作所使用的參考元件進行比較,並且資料處理電路系統確定對應的計數值。實質上,將每個參考元件與輸入資料項的子集中的輸入元件匹配的次數進行記數。應當注意的是,該子集對於每個計數操作可以是相同的,或者可因計數操作而異,對於不同的計數上下文提供對本技術有用的可配置性,這將在下文更詳細地描述。
在直方圖處理的示例性上下文中,可藉由促進用於直方圖索引(箱)的所選擇的子集的輸入資料項元件的計數,來因此改進彼直方圖處理的效率。以下將進一步描述該方法對直方圖上下文的各種使用,但是該使用可例如包括對經選擇且非連續的多組直方圖索引進行針對性計數,或者對經選擇且連續的多組直方圖索引進行迭代計數。
在一些實例中,資料處理電路系統響應於複數個計數操作中之每一者的控制信號,以將計數值設置在計數資料項的相應計數元件中,以指示由該計數操作所確定的計數值。因此所確定的計數資料項然後可以各種方式被使用,以進一步支援資料處理,例如直接地或間接地更新經儲存的直方圖的對應的部分。
在一些實例中,在經指定的輸入資料項中的元件子集包括在輸入資料項中具有元件位置的輸入資料項的每個輸入元件,該元件位置在輸入資料項中的元件位置的範圍內,其中由在複數個計數操作中之每一者中所使用的相應參考元件來界定元件位置的範圍。每個參考元件在參考資料項中具有參考元件位置,並且對於由資料處理電路系統所執行的複數個計數操作中之每一者,將使用在相應參考元件位置中的相應參考元件。上文所提到的經指定的輸入資料項中的元件子集包括用於確定對應的參考元件的計數值的彼等輸入資料項元件。因此,在該等實例中,參考在每個計數操作中所使用的相應參考元件,來確定子集。特別是,在參考資料項中的相應參考元件的參考位置指示輸入元件在經指定的輸入資料項中的元件子集內的元件位置的範圍。換句話說,被比較的參考元件(在參考資料項中)之所在將確定輸入資料項的哪個輸入元件與其進行比較。在執行一系列計數操作的上下文中,這因此意味著每個子集都會發生改變,本技術已經將其識別成以實際方式實現該等計數操作的有用方法(即,其中所需的電路系統的複雜性不會成為限制的方法)。特別是,已經發現到,在某些情況下,可執行一組比較,其例如從一個比較開始,並且在該系列的過程中增長,只在最後一次迭代中成為可能的全組比較。這限制了必須提供的電路系統的複雜性。
可將元件位置的範圍不同地配置,但是例如可將元件位置的範圍由在輸入資料項中具有最高序元件位置的輸入元件及具有與參考元件的參考位置相同的元件位置的輸入元件來界定。或者,可將元件位置的範圍由在輸入資料項中具有最低序元件位置的輸入元件及具有與參考元件的參考位置相同的元件位置的輸入元件來界定。
在一些實例中,元件位置的範圍包括在複數個計數操作的每個先前的計數操作中所使用的相應參考元件。可依序執行複數個計數操作,使得在先前的計數操作之後執行每個計數操作(除了第一計數操作的過程之外)。然後,除了當前的參考元件之外,指定在每個計數操作期間要使用的輸入元件的元件位置的範圍可包括由在當前的計數操作之前的任一計數操作之每一者所使用的參考元件。換句話說,順序的計數操作相對於增長的輸入元件子集執行計數。
在一些實例中,資料處理電路系統響應於控制信號,以按照從最低有效元件位置到最高有效元件位置的元件位置的升序,來執行複數個計數操作。在其他的實例中,該排序可以是相反的,即從最高到最低有效的元件位置。
此外,在一些實例中,由在輸入資料項的每個對應的輸入元件中的輸入值,來提供在參考資料項的每個參考元件中的參考值。換句話說,在參考資料項中的參考元件與在輸入資料項中的輸入元件匹配。例如,這可藉由將輸入資料項作為參考資料項來安排,其中設備響應於指定輸入資料項的特定計數指令。本技術認識到,在該等情況下,因為針對在經指定的輸入資料項中的相應元件子集執行連續計數操作之每一者,所以針對相應參考元件所確定的計數值可不指示在輸入資料項中與彼輸入元件匹配的輸入元件的總數。但是,如若是此種情況(例如,在輸入資料項中存在特定輸入元件值的不止一個副本的情況下),則可依賴在系列中的較晚計數操作,來執行確實包括特定元件值的所有實例的計數。在參考資料項與輸入資料項匹配的實例中,並且在輸入資料項中存在值重複的情況下,較早計數可能是不完整的,但是其仍然可確保的是,當輸入資料項的所有計數操作都完成時,特定值的最後計數將會是正確的。然後可將其安排成,設備在使用所產生的計數值的子集時,以較晚值取代或覆寫較早值的方式,來使用較早(不完整)和較晚(完整)計數。或者,可設置設備,使得如若在對應於相同參考元件的較高序計數元件中存在較晚值,則在後續操作期間忽略或跳過較早值。
在一些實例中,輸入資料項由一或更多個片段組成,其中每個片段具有預定義的大小,並且子集是一或更多個片段的經選擇的片段。在經指定的輸入資料項中的元件子集可以是輸入資料項的一片段。在一些實例中,片段具有預定寬度,諸如4個輸入元件的寬度。該寬度可以是預定義的並且是固定的,而在其他實例中,其寬度可以取決於可動態設置的配置。
在一些實例中,輸入資料項由一或更多個片段組成,其中每個片段具有預定義的大小,並且子集是一或更多個片段的經選擇的片段,及其中子集是用於複數個計數操作的每個計數操作的經選擇的片段。在該等情況下,由計數操作使用來確定計數值的經指定的輸入資料項中的元件子集是在輸入向量中的複數個片段之中的一片段。複數個輸入資料項中之每一者包含一或更多個片段,並且使用給定的片段來執行計數操作。然後,藉由對相應參考元件與在片段中的所有輸入元件之中的輸入元件匹配的次數進行計數,來執行相應參考元件的每個計數操作。分段輸入資料項的此方法使得所需要執行的計數操作能夠被實際實現,換句話說,儘管對每個輸入元件進行參考元件(或每個參考元件)的全比較,但是將該等比較劃分為輸入資料項的一片段使得硬體複雜性能夠被可管理地限制。
在一些實例中,資料處理電路系統進一步響應於控制信號以執行複數個計數操作,其中在複數個計數操作中的每一者中,所使用的參考值是在參考資料項中的複數個參考元件的相應參考元件中的相應參考值,其中資料處理電路系統進一步包括用於產生輸入資料項的經選擇的片段的副本的輸入資料項拷貝電路系統,並且資料處理電路系統響應於控制信號,參考輸入資料項的經選擇的片段,來執行複數個計數操作中的第一群組,並且參考輸入資料項的經選擇的片段的副本,來執行複數個計數操作中的第二群組。因此,在一些實例中,在參考資料項內所包括的參考元件的數目大於在經選擇的片段中的輸入元件的數量。在此種情況下,然後可分群組執行複數個計數操作,其中對輸入元件的經選擇的片段執行第一群組計數操作,並且對經選擇的片段的副本執行第二群組計數操作。例如,可提供設備具有與參考資料項的一組元件進行並行比較的能力,該參考資料項是比輸入資料項的片段更長了一整數倍,並且可藉由跨該整數倍的寬度拷貝輸入資料項段,來利用此並行性。例如,在直方圖處理的上下文中,該方法可例如支援對來自輸入資料項的一片段的一大組直方圖箱貢獻進行並行計數,其中該片段是比該大組的寬度更短了該整數倍。
在一些實例中,在連續加載中從記憶體檢索在參考資料項中的複數個參考元件。針對每個計數操作的參考資料項包括(在某些情況下)因此從順序位址從記憶體所加載的參考元件。在其他實例中,由聚集加載從記憶體檢索在參考資料項中的複數個參考元件,其中將該複數個參考元件儲存在記憶體中的非連續位址處。在其他實例中,在連續存取中從一或更多個暫存器檢索參考資料項。在又一其他實例中,在非連續存取中從一或更多個暫存器中檢索參考資料項。
在一些實例中,資料處理電路系統進一步包括用於執行求和操作的求和電路系統,並且指令解碼器電路系統響應於指定當前和向量的求和指令,以控制求和電路系統,以使用當前和向量來執行求和操作,以將在計數資料項中的每個計數元件的值與在當前和向量的對應元件中的值進行相加,並且輸出結果資料項。因此,然後可將由連續計數操作所確定的計數資料項中的計數元件加到當前和向量。例如,可從記憶體加載該當前和向量,將當前計數資料項加到該當前和向量,然後將該當前和向量寫回記憶體。
由求和電路系統所執行的求和操作將在計數資料項的每個計數元件中的計數值加到在當前和向量的每個當前和元件中的相應當前和值。在一些實例中,當前和向量包括複數個當前和資料項,每個當前和資料項包括複數個當前和元件,並且複數個當前和資料項對應於參考資料項。因此,藉由允許對多個當前和資料項求和(在被寫回記憶體之前),來支援有效處理。一旦完成複數個計數操作,就可執行求和操作。
在一些實例中,資料處理電路系統進一步包括暫存器分散儲存電路系統,並且指令解碼器電路系統響應於指定分散目的地暫存器、分散索引向量、及分散資料項的暫存器分散儲存指令,以控制暫存器分散儲存電路系統,以執行暫存器分散儲存處理,以設置在由分散索引向量所識別的分散目的地暫存器中的複數個暫存器元件位置中之每一者,以包含分散資料項的對應的元件的值。為了有效資料處理的目的,以針對性的方式來存取資料處理設備的暫存器是有用的。儘管將可能存取整個給定暫存器(例如,藉由讀取暫存器內容、修改該內容的經選擇的部分、及將經修改的內容寫回暫存器),但該等實施例支援對暫存器(其中僅存取在暫存器中所保存的某些元件)進行更有效和針對性的存取。在本文這稱作「分散操作」,以將分散資料項的元件分散到暫存器電路系統中的不(必然)是連續的複數個暫存器元件位置。由分散索引向量來指示目標暫存器元件位置,並且分散索引向量的每個分散索引指示要設置為對應的分散資料項的值的暫存器元件位置。因此支援更有效的暫存器存取。這可能例如在直方圖處理的上下文中是有用的,其中可將直方圖內容(儘管被保存在暫存器中)以非連續的方式來存取,例如以僅允許存取和更新經指定的直方圖箱(由(不可預測的)輸入資料來確定)。因此,可支援更快的直方圖處理。
在一些實例中,暫存器分散儲存指令指定多於一個分散目的地暫存器,並且在該多於一個分散目的地暫存器內包括由分散索引向量所識別的複數個暫存器元件位置。藉由指定多於一個分散目的地暫存器,可跨複數個暫存器(而不是單個暫存器)執行暫存器分散操作。因此,為了儲存或累積直方圖資料的目的,藉由更有效地利用暫存器的高速存取,可進一步改進資料處理的效率(而特別是直方圖處理)。
至少一些實例提供了一種設備,其包括:用於解碼指令的指令解碼器電路系統;及包括暫存器分散儲存電路系統的資料處理電路系統,其中指令解碼器電路系統響應於指定分散目的地暫存器、分散索引向量、及分散資料項的暫存器分散儲存指令,以控制暫存器分散儲存電路系統,以執行暫存器分散儲存處理,以設置在由分散索引向量所識別的分散目的地暫存器中的複數個暫存器元件位置中之每一者,以包含分散資料項的對應的元件的值。
換句話說,本技術提出的是,還可以獨立於上述計數技術(以及支援其的設備)來提供上述暫存器分散儲存指令。該指令本身可能在各種其他上下文中是有用的,而不僅在上文所論述的直方圖處理上下文中,實際上在計算涉及比僅遞增更複雜的資料值修改的任何上下文中。此外,還可以有用地提供該等能力(以及用於觸發其的暫存器分散儲存指令)的提供,與互補的暫存器聚集能力相關,可對其提供暫存器聚集指令,以使得非連續元件(還由索引來定義-本文是聚集索引)能夠從經指定的暫存器來檢索。
在一些實例中,設備進一步包括聚集索引產生電路系統,並且指令解碼器電路系統響應於指定包括複數個分散索引值的分散索引向量的聚集索引產生指令,以控制聚集索引產生電路系統,以執行聚集索引產生操作,以產生由複數個聚集索引元件所形成的聚集索引向量,而每個聚集索引元件被相應索引參考並且包含相應暫存器元件索引值,其中產生操作對複數個聚集索引元件中之每一者執行比較操作,以將相應索引與複數個分散索引值中之每一者進行比較,其中比較操作基於匹配條件的結果,來有條件地設置相應聚集索引元件的暫存器元件索引值,其中匹配條件需要複數個分散索引值中之一者,來匹配相應索引,並且將相應聚集索引元件的相應暫存器元件索引值設置為滿足匹配條件的最高有效分散索引元件的索引。
在一些實例中,因此提供了用於基於分散索引向量來產生聚集索引的聚集索引產生電路系統。這是基於以下的認識:從源暫存器的角度來看的分散等同於從目的地暫存器的角度來看的聚集,但是使用不同的索引來指引彼等動作。分散索引向量是指定至少一個暫存器中的暫存器元件位置的一組值,並且聚集索引產生電路系統執行產生操作,以產生可替代用於在聚集操作中執行暫存器元件的相同移動的等效聚集索引。在分散和聚集操作兩者都將經選擇的值從一或更多個源暫存器拷貝到一或更多個目的地暫存器的情況下,提供此轉換能力因此使得分散到暫存器(scatter-to-register)操作能夠由從暫存器聚集(gather-from-register)操作來替換。例如,如若認為提供定制的暫存器分散電路系統不值得,則這可能是有用的,以致於仍然可執行暫存器分散。例如,索引產生電路系統可提供相對低成本,並且可重用更複雜的定制的暫存器聚集電路系統。此外,在本技術的一些實例中,其中儲存向量中的一組值的順序可能是重要的,其中(例如)必須確保寫入一位置的較後排序(正確)值不被較早排序(不正確)的值破壞,如若不遵守排序(本文還稱為「最後儲存獲勝(last-store-wins)」),則可能發生此種情況。在暫存器聚集與暫存器儲存之間(例如,對於後者可能更難實現),該規則的實施方式的容易性可不同,因此提供進一步動機,來使用聚集索引產生技術。
聚集索引產生電路系統經安排以將複數個聚集索引元件的索引中之每一者與複數個分散元件中之每一者中的值進行比較(執行索引值比較)。如若複數個分散指數值中之一者與相應索引匹配,則設置相應聚集索引元件。換句話說,如若分散索引的元件的內容與聚集索引的元件的順序索引匹配,則將聚集索引的該元件的內容設置以保存分散索引的元件的順序索引。如若存在多於一個匹配,則將具有與相應索引匹配的值的最高有效分散索引元件設置為相應聚集索引元件的相應暫存器元件索引值。
至少一些實例提供了一種設備,其包括:用於解碼指令的指令解碼器電路系統;及包括聚集索引產生電路系統的資料處理電路系統,其中指令解碼器電路系統響應於指定包括複數個分散索引值的分散索引向量的聚集索引產生指令,以控制聚集索引產生電路系統,以執行聚集索引產生操作,以產生由複數個聚集索引元件所形成的聚集索引向量,每個聚集索引元件被相應索引參考並且包含相應暫存器元件索引值,其中產生操作對複數個聚集索引元件中之每一者執行比較操作,以將相應索引與複數個分散索引值中之每一者進行比較,其中比較操作基於匹配條件的結果,來有條件地設置相應聚集索引元件的暫存器元件索引值,其中匹配條件需要複數個分散索引值中之一者,來匹配相應索引,並且將相應聚集索引元件的相應暫存器元件索引值設置為滿足匹配條件的最高有效分散索引元件的索引。
換句話說,本技術提出的是,還可以獨立於上述計數技術(以及支援其的設備)來提供上述聚集索引產生指令。該指令本身可能在各種其他上下文中是有用的,而不僅在上文所論述的直方圖處理上下文中,實際上在計算涉及在暫存器之間拷貝非連續的多組值的任何上下文中是有用的。
至少一些實例提供了用於控制主機資料處理設備以提供指令執行環境的電腦程式,其包括:用於解碼指令的指令解碼程式邏輯;用於選擇地將由指令所指定的向量處理操作應用於輸入資料向量結構的資料處理程式邏輯,該輸入資料向量結構包括在輸入資料向量結構中的相應位置處的複數個輸入資料項結構,其中指令解碼程式邏輯響應於指定輸入資料項結構的計數指令,以產生控制信號,以控制資料處理程式邏輯進行以下操作:執行計數操作,以確定指示經指定的輸入資料項結構中的元件子集的輸入元件的數目的計數值,該等輸入元件具有與參考資料項結構中的參考元件中的參考值匹配的值。
至少一些實例提供了一種電腦可讀儲存媒體,其以非暫態方式儲存根據上述任何實例的電腦程式。
現在參考附圖來描述一些特定實施例。
圖1示意地圖示資料處理設備10,其可以實施本技術的各種實例。該設備包括資料處理電路系統12,該資料處理電路系統12響應於其執行的一系列指令,來對資料項執行資料處理操作。從資料處理設備可存取的記憶體14檢索該等指令,並且以本領域具有通常知識者熟悉的方式,為此目的提供提取電路系統16。此外,將由提取電路系統16所檢索的指令傳遞到指令解碼器電路系統18,該指令解碼器電路系統18產生控制信號,該控制信號經安排以控制處理電路系統12及一組暫存器20和加載/儲存單元22的配置和操作的各種態樣。通常,可將資料處理電路系統12以管線化方式安排,但其細節與本技術無關。本領域具有通常知識者將熟悉圖1表示的一般配置,並且僅為了簡潔起見,在本文省略其進一步的詳細描述。如圖1所見,每個暫存器20都包括用於多個資料元件的儲存,使得處理電路系統可將資料處理操作應用於經指定的暫存器內的經指定的資料元件,或者可將資料處理操作應用於經指定的暫存器內的資料元件的經指定的群組(「向量」)。特別是,所示的資料處理設備涉及與暫存器20中所保存的資料元件相關的計數操作的效能,參考一些特定實施例,下文將更詳細地進一步解釋。藉由加載/儲存單元22,將資料處理電路系統12在執行指令時所需的資料值以及由於彼等資料處理指令而產生的資料值寫入記憶體14並且從記憶體14讀取。另注意的是,通常,可將圖1中的記憶體14視為電腦可讀儲存媒體的實例,其上可儲存本技術的指令,典型地作為一預定義系列指令(「程式」)的一部分,其然後被處理電路系統執行。然而,處理電路系統可從各種不同的源來存取該程式,諸如在RAM中、在ROM中、經由網路介面等。本案描述了處理電路系統12可執行的各種新穎指令,並且下文的附圖提供對該等指令的性質的進一步解釋、資料處理電路系統中的變化以便支援彼等指令的執行等。
圖2示意地圖示在一個實施例中的資料處理設備的部件的一些更多的細節。圖2的資料處理電路系統30被示出包括一些特定的部件,即計數電路系統32、求和電路系統34、暫存器聚集和分散電路系統36、及聚集索引產生電路系統38。如圖所示,該等電路系統項可存取一組暫存器40的暫存器,其中該存取受到由指令解碼器電路系統42所產生的控制信號的控制。如上文結合圖1所述,一系列指令被提取電路系統46從記憶體48檢索並且被傳遞到指令解碼器電路系統42,同時由資料處理設備執行其資料處理操作所需的資料值被加載/儲存單元44從記憶體48檢索並且被傳遞到暫存器40。再次,該等傳輸在由指令解碼器電路系統42所產生的適當控制信號的控制下進行。提供在圖2中所示的每個特定電路系統項,以支援本技術的各種態樣,該等態樣將參考下文的附圖進一步詳細描述,但通常該等電路系統項存取和修改在暫存器40中所保存的資料值的內容,其中一些資料值然後被加載/儲存單元44寫回到經指定的記憶體位址。
圖3是用於圖形地示出本說明書中所使用的一些術語的輸入資料向量的圖示,其中可看見的是,輸入資料向量包括複數個片段,及其中每個片段包括複數個輸入元件。在所示的實例中,每個片段包括4個輸入元件。因此(例如)在輸入資料向量對應於512位元向量暫存器的全內容的情況下,可在四個128位元片段中處理該內容,每個片段包括四個32位元值(輸入元件)。
圖4示意地圖示在一個實施例中的由資料處理電路系統所執行的計數操作。特別是,示出了輸入資料項,其包括輸入資料項的子集(子串)。還示出了參考資料項,其包括複數個參考元件,每個參考元件包含參考值。藉由將參考資料項的相應參考元件中的每個參考值與子集的每個輸入元件進行比較,來確定計數值。根據實施方式,這可以是順序的或並行的。參考所示的實例,當包含參考值「0」的參考資料項的第一參考元件與包含輸入值「0」的子集的第一輸入元件進行比較時,比較是匹配。相反,當第一參考元件與子集的每個剩下的輸入值中的輸入值進行比較時,不存在匹配。因此,所圖示的計數操作的計數值是「1」,因為在輸入元件的子集中僅存在參考值「0」的一個實例。
圖5圖示根據一個實例的複數個計數操作的行為,以確定對應於參考資料項的計數資料項和輸入資料項的子集。特別注意的是,在該實例中,經指定的輸入資料項中的元件子集是其片段,並且在此圖示了輸入資料項,其包含一組輸入值[4 2 2 0],並且示出包括一組4個參考值的參考資料項,其具有參考值[0 1 2 3]。對於參考資料項的相應參考元件中的每個參考值,來執行如先前參考圖4所述的計數操作。關於具有參考值「1」的第二參考元件,由於為在子集中沒有具有輸入值為「1」的輸入元件,因此該參考元件的計數值為「0」。對於具有參考值「3」的最終參考元件也是此種情況。然而,由於在子集中存在輸入值為「2」的輸入元件的兩個實例,因此對應於具有值「2」的第三參考元件的計數值具有計數值為「2」。因此,每個計數值指示包含與相應參考值匹配的輸入值的輸入元件的數目。所示的此組操作在一些實施例中響應於「匹配片段」指令(本文也稱為「MATCHSEG」)來執行,如下文將進一步描述的。用於支援該等操作而提供的計數電路系統(圖2中的項目32)基本上包括16個比較器的矩陣(對應於圖5中的中央4×4網格),使得任何輸入資料項元件之間的比較可以用任何參考資料項元件進行,而且一列比較器的累積結果提供在最左行中所圖示的計數值(即計數資料項)。
圖6圖示根據一個實例的複數個計數操作的行為,以確定對應於參考資料項的計數資料項和輸入資料項的子集。特別注意的是,在該實例中,將由每個連續計數操作所使用的經指定的輸入資料項中的元件子集示出以在計數操作之間變化。如圖示,參考資料項中的複數個參考元件包括第一參考元件71、第二參考元件72、第三參考元件73、及第四參考元件74。此外,將複數個輸入元件圖示在輸入資料項中,包括第一輸入元件75、第二輸入元件76、第三輸入元件77、及第四輸入元件78。還要注意的是,輸入資料項和參考資料項在該實例中具有一對一的對應關係,即其是相同的。對應於第一參考元件71的第一計數操作使用僅包括第一輸入元件(包含值「0」)的經指定的輸入資料項中的元件子集。針對每個連續計數操作,基於由相應計數操作所使用的相應元件的位置,來調整參考元件的範圍。例如,對應於具有參考值「2」的第三參考元件73的計數操作對由第三輸入元件77所界定的經指定的輸入資料項中的元件子集中的輸入元件的數目進行計數。因此,由在複數個計數操作中之每一者中所使用的相應參考元件來界定元件位置的範圍。這種方法,其中輸入資料項和參考資料項相同,使得能夠執行計數操作,以確定在該輸入資料項內的每個輸入資料項值的實例的數目。增加的一組比較使得能夠避免冗餘比較並且有效確定要執行的所需「實例的數目」。在使用輸入資料項的值來參考特定儲存位置的實例中,所示的操作提供一種機制,經由該機制,設備可以消歧(合理化)輸入資料項,從而進行對該等儲存位置的正確存取。例如,在輸入資料項表示要更新的直方圖的索引的情況下,在輸入資料項中的給定索引的多個實例的識別使得設備能夠確保正確地執行對經儲存的直方圖的給定索引的存取(例如,藉由對索引排序進行嚴格保存)。在一些實施例中,響應於「匹配計數」指令(本文還稱為「MATCHCNT」)來執行所示的一組操作,如將在下文進一步描述。實際上,與圖5的情況一樣,用於支援該等操作而提供的計數電路系統(圖2中的項目32)還可包括16個比較器的矩陣(對應於在圖5中的中央4×4網格)。實際上,在響應於兩種類型的計數指令的設備中,可使用相同的一組16個比較器,來執行兩種類型的計數。將認識到的是,在圖6的實例中(與圖5的實例相反),並非在所有輸入資料項元件與所有參考資料項元件之間的所有可能的比較都需要進行,並且為此目的,控制信號可使得未使用的比較器被暫時禁用。
如上所述,本技術可在直方圖處理的上下文中找到有用的應用。現在給出其中將本技術應用於直方圖處理上下文的一些實例。直方圖處理可與一系列應用相關,諸如圖形處理中、電腦視覺處理中、伺服器處理任務(諸如排序)中、及許多其他高效能計算環境中。可顯著影響直方圖處理如何執行的一個值得注意的參數是直方圖的大小。在本文,「直方圖的大小」特別指的是直方圖的「寬度」,其意義在於其包括的不同箱的數目。然而,必須在每個箱中所表示的資料的大小當然還有助於直方圖的整體大小。具有相對適度的寬度的直方圖可能需要顯著的儲存容量(如若其每個箱需要儲存大的值)。同樣地,具有大數目的箱的直方圖可能僅需要適度的儲存容量(如若其每個箱僅需要儲存小的值)。本技術認識到,在直方圖特別大的情況下,僅將直方圖條目儲存在記憶體中以及經由目標記憶體存取來執行對直方圖的更新可能是實際的。例如,不是頻繁地檢索、修改、及重寫直方圖的大片段,而是可使用從記憶體聚集加載並且將儲存分散到記憶體,以存取和修改特定的直方圖條目。對於仍然太大而不能保存在暫存器中的「中等大小」直方圖,該等直方圖還可以被儲存在記憶體中,但是然後可以小到足夠以連續的串流方式來存取。最後,本技術認識到一些直方圖可以小到足夠被維持(或至少部分維持)在暫存器內,並且提供了使得在暫存器中能夠有效處理該等直方圖的技術。
圖7示意地圖示相對於儲存在記憶體82中的大直方圖80來執行的資料處理。當然可理解的是,實際儲存在記憶體82中的是一大組資料值,每個資料值表示針對直方圖80的每個箱的頻率計數,但是將其圖形表示在圖7中示出,以便於視覺辨識。還示出儲存在記憶體82中的是資料緩衝器84,其暫時保存用於在直方圖中累積的資料值。用於更新直方圖的該等資料值不一定需要從記憶體中來檢索,並且例如可從設備的暫存器中的資料值的其他處理產生。圖7圖示能夠實現該累積的資料處理。從資料緩衝器84接收資料項86,並且資料項86是計數操作的對象,以產生應該被加到相應直方圖箱的一組計數值88。資料項86還控制記憶體到暫存器聚集加載的操作,經由該操作,將形成資料項86的一組四個索引的直方圖條目(在特定儲存位置處保存的箱計數)加載到暫存器中為一組資料值90。然後對一組計數值88和一組資料值90求和(在求和電路系統中),以產生更新的一組直方圖條目92。然後這是暫存器到記憶體分散儲存的對象,還由資料項86來控制,使得更新的一組直方圖條目92被儲存回到記憶體82中的經指定的直方圖條目(在特定儲存位置處保存的箱計數)中。
圖8示意地圖示參考圖7來論述的直方圖處理的實例,其中本技術的「MATCHCNT」指令用於執行計數步驟。將直方圖資料儲存94示出在記憶體82中(其中儲存大直方圖80)。從資料緩衝器84接收輸入資料項96,其經受MATCHCNT指令並且還形成對聚集加載電路系統98的輸入。作為響應,聚集加載電路系統98從直方圖的經指定的箱來檢索一組經指定的直方圖條目100。MATCHCNT指令產生計數向量102。注意到,在輸入資料項具有重複值(15)的情況下,並且在執行MATCHCNT指令時所執行的多個計數操作從向量的最低有效索引進行到最高有效索引的情況下,針對15的第一實例的計數「1」被第二計數「2」取代。然後對一組計數值102和一組資料值100求和(在求和電路系統中),以產生更新的一組直方圖條目104。然後,這是被分散儲存電路系統106執行(還被資料項96控制)的暫存器到記憶體分散儲存的對象,使得更新的一組直方圖條目104被儲存回到記憶體82中的經指定的直方圖條目(在特定儲存位置處保存的箱計數)中。注意到,分散儲存電路系統106(及任何其他的部件-未明確圖示-涉及該等記憶體存取)經配置以嚴格遵守從向量的最低有效索引到最高有效索引的上述順序,以確保在對應於直方圖索引15的儲存位置中,81的錯誤(或至少不完整的)直方圖更新被82的正確直方圖更新取代或覆寫。
圖9示意地圖示相對於儲存在記憶體82的直方圖儲存110中的「中等大小」直方圖來執行的資料處理。如圖7的情況,實際儲存在記憶體82內的是對應的一組資料值,每個資料值表示該直方圖的每個箱的頻率計數,但是將其圖形表示在圖9中示出,以便於觀看。注意到,在圖9中,示出具有16個箱的相對有限寬度的直方圖。還示出儲存在記憶體82中的是與圖7中相同的資料緩衝器84。圖9圖示對資料處理(對圖7和圖8的資料處理)的不同方法,以使得累積到直方圖中能夠進行。從資料緩衝器84加載資料項112(為連續加載)並且這被轉移以表示一組「鍵」(即直方圖箱)113。並行地,進行加載,以從記憶體檢索直方圖內容的第一部分(例如,如圖示的箱12-15)。這提供在處理中所使用的另外兩個項目,即一組參考鍵114和直方圖內容116的該部分的內容。輸入資料鍵113和參考鍵114形成對由計數電路系統118(圖2中的項目32)中的MATCHSEG指令所觸發的計數操作的兩個輸入。這產生一組計數值120,其與表示該部分中的現有直方圖內容的一組值116相加。然後,所得到的更新的一組直方圖條目118是儲存到記憶體82的對象,使得更新的一組直方圖條目118被儲存回到相關部分。在圖9的實例的變化中,應該注意的是,輸入資料項112的大小和一組參考鍵114的大小不需要相同。MATCHSEG操作的結果在長度上對應於一組參考鍵,以指示每個參考鍵的相應計數,但是輸入資料項原則上可具有任何長度。在輸入資料項的長度未充分利用計數電路系統的並行計數能力的情況下,其中例如計數電路系統具有執行比使用一組參考鍵所圖示的更多兩倍的比較的能力,則可將輸入資料項112在提供一組鍵113時拷貝(複製)一或更多次,以便使用完全並行計數能力。
圖10示意地圖示相對於小到足夠被儲存在設備的暫存器中的直方圖來執行的資料處理。圖示的是四個向量暫存器130、131、132、及133。該等向量暫存器中之每一者的相應元件保存跨32個箱的直方圖箱條目。輸入資料項140經受MATCHCNT操作(在計數電路系統142中)並且還形成對聚集暫存器查找(TBL)指令的輸入。TBL使暫存器聚集電路系統(圖2中的項目36)能從經指定的而非連續的向量暫存器元件(直方圖的箱)檢索經指定的一組直方圖條目146(還稱為當前和向量)。MATCHCNT操作產生計數向量148,並且將其與當前和向量146相加,以產生結果資料項150。這是由暫存器分散電路系統106(圖2中的項目36)所執行的分散暫存器儲存的對象,使經更新的一組直方圖條目能被儲存回到由輸入資料項所指定的非連續的向量暫存器元件(直方圖的箱)。由指令STB(儲存到表)啟動該分散暫存器儲存,儘管在該特定實例中使用其上的變體STBX,因為分散跨越多個暫存器。注意到,當(如圖10的實例中所示)在輸入資料項(即15)中存在重複索引時,分散暫存器儲存必須遵守輸入資料項索引的從右到左(最低有效到最高有效的索引),以確保正確更新的直方圖條目(B+2)不會被先前不正確的更新(B+1)破壞。
圖11示意地圖示相對於如圖10所示的相同直方圖來執行的資料處理,即跨四個向量暫存器130、131、132、及133來儲存。但是在該實例中,直方圖被認為是小到足夠以採取連續存取的方法,其中將每個向量暫存器的內容依次存取作為連續單元162、基於輸入資料項根據需要來更新、及返回到相應向量暫存器。此外,在該實例中,MATCHSEG操作的能力是針對為向量暫存器長度的一半的參考資料項,還以兩個部分(一半)迭代地處理每個經存取的向量暫存器的內容。因此,輸入資料項160經受MATCHSEG操作(在計數電路系統142中),而當前向量暫存器內容162的相應部分形成參考輸入。MATCHSEG操作產生計數向量164,並將其與向量暫存器內容162的當前部分相加,以產生結果資料項166。一旦由另一部分完成,則將其儲存在向量暫存器130、131、132、及133的相關向量暫存器中。
圖12圖示在一個實施例中的響應於GENIDX指令的由聚集索引產生電路系統(例如,圖2中的項目38)來執行的聚集索引產生操作。提供分散索引180,其包括分散元件[2 3 0 3],並且聚集索引產生指令(GENIDX)將產生所示的聚集索引182。還參考圖12的下半部分,圖示元件從一個暫存器到另一個暫存器的對應的傳輸,作為使用分散索引180的分散或作為使用聚集索引182的聚集。下文參考圖13的流程圖更詳細地描述從分散索引產生聚集索引的處理。還注意到,參考圖12的下半部分,示出元件的傳輸,這裡出現的類似問題是關於圖10的STB所論述的問題,即為了循環並行的原因,經產生的索引排序必須遵守索引中元件的正確排序(即,在更高/更後的索引優先的情況下)。對於在分散索引中未被索引化的元件(例如,圖12實例中的元件1),還需要注意到,要確保使用聚集索引的暫存器聚集不能破壞任何該等元件。這可藉由使用謂詞(有效地「關閉」某些元件的修改,以便例如聚集索引182的使用不能修改其聚集到其中的暫存器的元件1)或藉由對聚集索引的此元件分配已知的超出範圍/最大值(其中還知道的是,由聚集操作對超出範圍/最大值的響應將不會修改該目標的內容)來解決。
圖13是圖示在一個實例中的當從分散索引產生聚集索引時所採取的步驟的流程圖。流程在步驟200開始,使用GENIDX指令,其指定分散索引和應該被創建經產生的聚集索引到其中的目的地。在步驟202啟動外循環,以循環過要產生的聚集索引陣列中的所有元件ID。在步驟204啟動內循環,以循環過被處理的分散索引的所有元件ID。然後,在步驟206,確定儲存在當前分散索引元件中的值(即,所儲存的值,而不是元件的ID)是否與聚集索引的當前元件ID匹配。如若是,則流程經由步驟208繼續,其中用該分散索引元件ID來填充當前聚集索引元件。如若不是,則流程直接繼續到步驟210,其繼續循環過分散索引元件ID。此後,步驟212繼續循環過聚集索引元件ID。一旦外循環完成,流程在步驟214結束,並且完成聚集索引產生。
圖14圖示根據一個實例來顯示的操作設備的方法的流程圖。流程在步驟1000處開始。在步驟1001處,加載參考資料項。在步驟1002處,加載第一(下一個)輸入資料項。在步驟1003處,藉由選擇下一個參考元件來繼續處理。在步驟1004處,執行計數操作,以確定指示參考值與經指定的輸入資料項中的元件子集的每個輸入元件中的相應值匹配的次數的計數值。步驟1005確定當前參考元件是否是最後的參考元件。如若不是,則重複步驟1003到1004,直到滿足步驟1005中的條件。如若滿足了步驟1005中的條件,則加載當前和向量1006,並且在步驟1007處,執行求和操作,其將每個計數元件的值加到在當前和向量的對應元件中所儲存的值。接下來,在步驟1008處,將結果資料項儲存在當前和向量的位置處。最後,在步驟1009處,確定步驟1002到1008所使用的輸入資料項是否為在輸入向量中所要處理的最後的輸入資料項。如若沒滿足步驟1009中的條件,則重複步驟1002到1008。如若滿足了步驟1009的條件,則方法在步驟1010結束。
圖15圖示可使用的模擬器實施方式。雖然前文所述的實施例在用於操作支援所關心的技術的特定處理硬體的設備和方法方面實施了本發明,但是還可以根據本文所述的實施例來提供經由使用電腦程式實施的指令執行環境。該等電腦程式通常被稱為模擬器,只要其提供基於實施硬體架構的軟體。各種模擬器電腦程式包括仿真器、虛擬機、模型、及二進制翻譯器(包括​​動態二進制翻譯器)。典型地,模擬器實施可在主機處理器730上執行,可選地執行主機作業系統720,其支援模擬器程式710。在一些安排中,可存在在硬體和經提供的指令執行環境之間的多個模擬層,及/或存在在相同主機處理器上所提供的多個不同的指令執行環境。從歷史上看,已要求功能強大的處理器來提供以合理的速度執行的模擬器實施方式,但是該方法在某些情況下可能是合理的,諸如當出於相容性或重複使用的原因而希望將代碼本機執行到另一處理器時。例如,模擬器實施方式可提供具有不被主機處理器硬體支援的附加功能的指令執行環境,或者提供典型與不同硬體架構相關的指令執行環境。在「Some Efficient Architecture Simulation Techniques」,Robert Bedichek,Winter 1990 USENIX Conference,第53-63頁中,給出對模擬的概述。
就先前已參考特定硬體構造或特徵所描述的實施例而言,在經模擬的實施例中,可由合適的軟體構造或特徵,來提供等效功能。例如,可將特定電路系統在經模擬的實施例中實施為電腦程式邏輯。類似地,可將諸如暫存器或快取的記憶體硬體在經模擬的實施例中實施為軟體資料結構。在前述實施例中所參考的硬體元件之一或更多者存在於主機硬體(例如,主機處理器730)上的安排中,經模擬的一些實施例可在適當的情況下使用主機硬體。
可將模擬器程式710儲存在電腦可讀儲存媒體(可以是非暫態的媒體)上,並且模擬器程式710對目標代碼700(其可包括應用程式、作業系統、及如圖2所示的管理程式)提供程式介面(指令執行環境),其與由模擬器程式710所建模的硬體架構的應用程式介面相同。因此,可使用模擬器程式710從指令執行環境內來執行目標代碼700的程式指令(包括計數指令、暫存器分散儲存指令、及上述的聚集索引產生指令),使得實際上不具有上述設備2的硬體特徵的主機電腦730可模擬該等特徵。
簡要總結,提供了用於執行計數操作的設備及操作該設備的方法。指令解碼器電路系統響應於指定輸入資料項的計數指令,以產生控制信號,以控制資料處理電路系統,以執行計數操作。計數操作確定指示經指定的輸入資料項中的元件子集的輸入元件的數目的計數值,其具有與參考資料項中的參考元件中的參考值匹配的值。可執行複數個計數操作,以確定對應於輸入資料項的計數資料項。還提供了暫存器分散儲存指令、聚集索引產生指令、以及響應於其的相應設備,以及模擬器實施方式。
在本案中,詞語「經配置以...」用於意味著設備的元件具有能夠實行經定義的操作的配置。在此上下文中,「配置」意味著硬體或軟體的互連的安排或方式。例如,設備可具有提供經定義的操作的專用硬體,或者處理器或可程式化以執行功能的其他處理裝置。「經配置以」並不暗示著為了提供經定義的操作將需要以任何方式改變設備元件。
儘管本文已參考附圖詳細地描述說明性實施例,但應理解的是,本發明不限於彼等精確的實施例,並且在不脫離由所附申請專利範圍所定義的本發明的範疇和精神的情況下,本領域具有通常知識者可在其中實現各種改變、增加、及修改。例如,在不脫離本發明的範疇的情況下,可將獨立項的特徵與附屬項的特徵進行各種組合。
10‧‧‧資料處理設備
12‧‧‧處理電路系統
14‧‧‧記憶體
16‧‧‧提取電路系統
18‧‧‧指令解碼器電路系統
20‧‧‧暫存器
22‧‧‧加載/儲存單元
30‧‧‧資料處理電路系統
32‧‧‧計數電路系統
34‧‧‧求和電路系統
36‧‧‧暫存器聚集和分散電路系統
38‧‧‧聚集索引產生電路系統
40‧‧‧暫存器
42‧‧‧指令解碼器電路系統
44‧‧‧加載/儲存單元
46‧‧‧提取電路系統
48‧‧‧記憶體
71‧‧‧第一參考元件
72‧‧‧第二參考元件
73‧‧‧第三參考元件
74‧‧‧第四參考元件
75‧‧‧第一輸入元件
76‧‧‧第二輸入元件
77‧‧‧第三輸入元件
78‧‧‧第四輸入元件
80‧‧‧直方圖
82‧‧‧記憶體
84‧‧‧資料緩衝器
86‧‧‧資料項
88‧‧‧計數值
90‧‧‧資料值
92‧‧‧直方圖條目
94‧‧‧直方圖資料儲存
96‧‧‧資料項
98‧‧‧聚集加載電路系統
100‧‧‧直方圖條目/資料值
102‧‧‧計數向量/計數值
104‧‧‧直方圖條目
106‧‧‧分散儲存電路系統/分散電路系統
110‧‧‧直方圖儲存
112‧‧‧資料項
113‧‧‧鍵
114‧‧‧參考鍵
116‧‧‧內容/值
118‧‧‧計數電路系統/直方圖條目
120‧‧‧計數值
130‧‧‧向量暫存器
131‧‧‧向量暫存器
132‧‧‧向量暫存器
133‧‧‧向量暫存器
140‧‧‧輸入資料項
142‧‧‧計數電路系統
146‧‧‧直方圖條目/當前和向量
148‧‧‧計數向量
150‧‧‧結果資料項
160‧‧‧輸入資料項
162‧‧‧連續單元/向量暫存器內容
164‧‧‧計數向量
166‧‧‧結果資料項
180‧‧‧分散索引
182‧‧‧聚集索引
200‧‧‧步驟
202‧‧‧步驟
204‧‧‧步驟
206‧‧‧步驟
208‧‧‧步驟
210‧‧‧步驟
212‧‧‧步驟
214‧‧‧步驟
700‧‧‧目標代碼
710‧‧‧模擬器程式
720‧‧‧主機作業系統
730‧‧‧主機處理器
1000‧‧‧步驟
1001‧‧‧步驟
1002‧‧‧步驟
1003‧‧‧步驟
1004‧‧‧步驟
1005‧‧‧步驟
1006‧‧‧步驟
1007‧‧‧步驟
1008‧‧‧步驟
1009‧‧‧步驟
1010‧‧‧步驟
將僅藉由舉例的方式,並參考所附圖式中所圖示的本技術的實施例,來進一步描述本技術,在圖式中:
圖1示意地圖示根據一個實例的設備;
圖2示意地圖示根據一個實例的設備;
圖3圖示在一個實例中的包括複數個輸入元件的輸入資料向量;
圖4圖示在一個實例中的確定與輸入資料項中的參考值的出現相對應的計數值的計數操作;
圖5圖示根據一個實例的用於確定計數資料項的複數個計數操作,其元件表示在輸入資料項的指定子集中的參考資料項的元件的出現數目;
圖6圖示根據一個實例的用於確定計數資料項的複數個計數操作,其元件表示在輸入資料項的相應子集中的參考資料項的元件的出現數目;
圖7示意地圖示在一個實例中的從記憶體檢索的輸入資料項、用於加載對應的直方圖箱計數的來自記憶體的聚集加載、具有箱計數的輸入資料項的累積、及用於經更新的箱計數的對記憶體的分散儲存;
圖8示意地圖示在一個實例中的從記憶體檢索的輸入資料項、用於加載對應的直方圖箱計數的來自記憶體的聚集加載、使用本技術的第一計數指令的具有箱計數的輸入資料項的累積、及用於經更新的箱計數的對記憶體的分散儲存;
圖9示意地圖示在一個實例中的從記憶體檢索的輸入資料項、用於加載一組直方圖箱計數的來自記憶體的一系列連續加載、使用本技術的第二計數指令的具有相關箱計數的輸入資料項的累積、及用於經更新的箱計數的對記憶體的一系列連續儲存;
圖10示意地圖示在一個實例中的輸入資料索引、將一組對應的直方圖箱計數聚集在一起的聚集暫存器存取、使用本技術的第一計數指令的具有箱計數的輸入資料項的累積、及用於經更新的箱計數的本技術的分散暫存器存取;
圖11示意地圖示在一個實例中的輸入資料索引、對對應的直方圖箱計數部分的一系列連續的暫存器存取、使用本技術的第二計數指令的具有箱計數的輸入資料項的累積、及具有經更新的箱計數的連續暫存器存取;
圖12圖示在一個實例中的從分散索引產生聚集索引的聚集索引產生指令的行為;
圖13圖示流程圖,該流程圖示出在一個實例中的在執行聚集索引產生指令時的一系列步驟;
圖14圖示流程圖,該流程圖示出根據一個實例的操作設備的方法中所採取的一系列步驟;及
圖15示意地圖示在一個實施例中的提供模擬器實施方式的系統的部件。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無

Claims (22)

  1. 一種設備,包括: 指令解碼器電路系統,該指令解碼器電路系統用於解碼指令;及資料處理電路系統,該資料處理電路系統用於將由該等指令所指定的向量處理操作選擇地應用於包括在一輸入資料向量中的相應位置處的複數個輸入資料項的該輸入資料向量,其中該指令解碼器電路系統響應於指定一輸入資料項的一計數指令,以產生控制信號,以控制該資料處理電路系統進行以下操作:執行一計數操作,以確定指示在經指定的該輸入資料項中的一元件子集的輸入元件的一數目的一計數值,該等輸入元件具有與一參考資料項中的一參考元件中的一參考值匹配的一值。
  2. 如請求項1所述之設備,其中該資料處理電路系統進一步響應於該等控制信號,以執行複數個計數操作, 其中在該複數個計數操作的每個計數操作中,所使用的該參考值是在該參考資料項中的複數個參考元件的一相應參考元件中的一相應參考值。
  3. 如請求項2所述之設備,其中該資料處理電路系統響應於針對該複數個計數操作的每個計數操作的該等控制信號,以將該計數值設置在一計數資料項的一相應計數元件中,以指示由該計數操作所確定的該計數值。
  4. 如請求項2所述之設備,其中經指定的該輸入資料項中的該元件子集包括該輸入資料項的每個輸入元件,該每個輸入元件在該輸入資料項中具有一元件位置,該元件位置是在該輸入資料項中的一元件位置範圍內, 其中由在該複數個計數操作的每個計數操作中所使用的該相應參考元件來界定該元件位置範圍。
  5. 如請求項4所述之設備,其中該元件位置範圍包括在複數個計數操作的每個先前的計數操作中所使用的該等相應參考元件。
  6. 如請求項2所述之設備,其中該資料處理電路系統響應於該等控制信號,以按照從最低有效元件位置到最高有效元件位置的元件位置的一升序,來執行該複數個計數操作。
  7. 如請求項1所述之設備,其中由該輸入資料項的每個對應的輸入元件中的該輸入值來提供在該參考資料項的每個參考元件中的該參考值。
  8. 如請求項1所述之設備,其中該輸入資料項包括一或更多個片段,其中每個片段具有一預定義的大小,並且該子集是該一或更多個片段的經選擇的一片段。
  9. 如請求項2所述之設備,其中該輸入資料項包括一或更多個片段,其中每個片段具有一預定義的大小,並且該子集是該一或更多個片段的經選擇的一片段, 及其中該子集是針對該複數個計數操作的每個計數操作的經選擇的該片段。
  10. 如請求項8所述之設備,其中該資料處理電路系統進一步響應於該等控制信號,以執行複數個計數操作, 其中在該複數個計數操作的每個計數操作中,所使用的該參考值是在該參考資料項中的複數個參考元件的一相應參考元件中的一相應參考值,其中該資料處理電路系統進一步包括輸入資料項拷貝電路系統,以產生該輸入資料項的經選擇的該片段的一副本,及該資料處理電路系統響應於該等控制信號,以參考該輸入資料項的經選擇的該片段來執行該複數個計數操作的一第一群組,並且參考該輸入資料項的經選擇的該片段的該副本,來執行該複數個計數操作的一第二群組。
  11. 如請求項8所述之設備,其中在一連續加載中從記憶體檢索該參考資料項中的該複數個參考元件。
  12. 如請求項3所述之設備,其中該資料處理電路系統進一步包括用於執行一求和操作的求和電路系統,並且該指令解碼器電路系統響應於指定一當前和向量的一求和指令,以控制該求和電路系統,以使用該當前和向量來執行一求和操作,以將在該計數資料項中的每個計數元件的該值加到在該當前和向量的該對應元件中的該值,並且輸出一結果資料項。
  13. 如請求項12所述之設備,其中一旦完成該複數個計數操作,就執行該求和操作。
  14. 如請求項3所述之設備,其中該資料處理電路系統進一步包括暫存器分散儲存電路系統,並且該指令解碼器電路系統響應於指定一分散目的地暫存器、一分散索引向量、及一分散資料項的一暫存器分散儲存指令,以控制該暫存器分散儲存電路系統,以執行一暫存器分散儲存處理,以設置由該分散索引向量所識別的該分散目的地暫存器中的複數個暫存器元件位置中的每個暫存器元件位置,以包含該分散資料項的一對應元件的一值。
  15. 如請求項14所述之設備,其中該暫存器分散儲存指令指定多於一個分散目的地暫存器,並且由該分散索引向量所識別的複數個暫存器元件位置被包含在該多於一個分散目的地暫存器內。
  16. 一種設備,包括: 指令解碼器電路系統,該指令解碼器電路系統用於解碼指令;及資料處理電路系統,該資料處理電路系統包括暫存器分散儲存電路系統,其中該指令解碼器電路系統響應於指定一分散目的地暫存器、一分散索引向量、及一分散資料項的一暫存器分散儲存指令,以控制該暫存器分散儲存電路系統,以執行一暫存器分散儲存處理,以設置由該分散索引向量所識別的該分散目的地暫存器中的複數個暫存器元件位置中的每個暫存器元件位置,以包含該分散資料項的一對應元件的一值。
  17. 如請求項1所述之設備,進一步包括聚集索引產生電路系統,並且該指令解碼器電路系統響應於指定包括複數個分散索引值的一分散索引向量的一聚集索引產生指令,以控制該聚集索引產生電路系統,以執行一聚集索引產生操作,以產生由複數個聚集索引元件形成的一聚集索引向量,而每個聚集索引元件被一相應索引參考並且包含一相應暫存器元件索引值, 其中該產生操作對該複數個聚集索引元件的每個聚集索引元件執行一比較操作,以將該相應索引與該複數個分散索引值的每個分散索引值進行比較,其中該比較操作基於一匹配條件的結果,來有條件地設置該相應聚集索引元件的一暫存器元件索引值,其中該匹配條件需要該複數個分散索引值的一個分散索引值,來匹配該相應索引,並且將該相應聚集索引元件的該相應暫存器元件索引值設置為滿足該匹配條件的一最高有效分散索引元件的索引。
  18. 一種設備,包括: 指令解碼器電路系統,該指令解碼器電路系統用於解碼指令;及資料處理電路系統,該資料處理電路系統包括聚集索引產生電路系統,其中該指令解碼器電路系統響應於指定包括複數個分散索引值的一分散索引向量的一產生指令,以控制該聚集索引產生電路系統,以執行一聚集索引產生操作,以產生由複數個聚集索引元件形成的一聚集索引向量,而每個聚集索引元件被一相應索引參考並且包含一相應暫存器元件索引值,其中該產生操作對該複數個聚集索引元件的每個聚集索引元件執行一比較操作,以將該相應索引與該複數個分散索引值的每個分散索引值進行比較,其中該比較操作基於一匹配條件的結果,來有條件地設置該相應聚集索引元件的一暫存器元件索引值,其中該匹配條件需要該複數個分散索引值的一個分散索引值,來匹配該相應索引,並且將該相應聚集索引元件的該相應暫存器元件索引值設置為滿足該匹配條件的一最高有效分散索引元件的索引。
  19. 一種操作一資料處理設備的方法,包括以下步驟: 解碼指令;將由該等指令所指定的向量處理操作選擇地應用於包括在一輸入資料向量中的相應位置處的複數個輸入資料項的該輸入資料向量;及響應於指定一輸入資料項的一計數指令,以產生控制信號,以控制資料處理電路系統進行以下操作:執行一計數操作,以確定指示在經指定的該輸入資料項中的一元件子集的輸入元件的一數目的一計數值,該等輸入元件具有與一參考資料項中的一參考元件中的一參考值匹配的一值。
  20. 一種設備,包括: 用於解碼指令的構件;用於將由該等指令所指定的向量處理操作選擇地應用於包括在一輸入資料向量中的相應位置處的複數個輸入資料項的該輸入資料向量的構件;及用於響應於指定一輸入資料項的一計數指令以產生控制信號的構件,以控制用於執行一計數操作以確定指示在經指定的該輸入資料項中的一元件子集的輸入元件的一數目的一計數值的構件,該等輸入元件具有與一參考資料項中的一參考元件中的一參考值匹配的一值。
  21. 一種用於控制一主機資料處理設備以提供一指令執行環境的電腦程式,包括: 指令解碼程式邏輯,該指令解碼程式邏輯用於解碼指令;及資料處理程式邏輯,該資料處理程式邏輯用於將由該等指令所指定的向量處理操作選擇地應用於包括在一輸入資料向量結構中的相應位置處的複數個輸入資料項結構的該輸入資料向量結構,其中該指令解碼程式邏輯響應於指定一輸入資料項結構的一計數指令,以產生控制信號,以控制該資料處理程式邏輯進行以下操作:執行一計數操作,以確定指示在經指定的該輸入資料項結構中的一元件子集的輸入元件的一數目的一計數值,該等輸入元件具有與一參考資料項結構中的一參考元件中的一參考值匹配的一值。
  22. 一種電腦可讀儲存媒體,其以一非暫態方式儲存根據請求項21所述之電腦程式。
TW107126469A 2017-08-01 2018-07-31 資料處理設備中的資料項中的計數元件 TWI787313B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/665,781 US11042375B2 (en) 2017-08-01 2017-08-01 Counting elements in data items in a data processing apparatus
US15/665,781 2017-08-01

Publications (2)

Publication Number Publication Date
TW201911034A true TW201911034A (zh) 2019-03-16
TWI787313B TWI787313B (zh) 2022-12-21

Family

ID=63143266

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107126469A TWI787313B (zh) 2017-08-01 2018-07-31 資料處理設備中的資料項中的計數元件

Country Status (7)

Country Link
US (1) US11042375B2 (zh)
EP (1) EP3662365B1 (zh)
JP (1) JP7335225B2 (zh)
KR (1) KR102594768B1 (zh)
CN (1) CN110945477B (zh)
TW (1) TWI787313B (zh)
WO (1) WO2019025754A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817297B2 (en) * 2019-03-30 2020-10-27 Intel Corporation Method and apparatus for vector-matrix comparison
US11340904B2 (en) 2019-05-20 2022-05-24 Micron Technology, Inc. Vector index registers
US11327862B2 (en) 2019-05-20 2022-05-10 Micron Technology, Inc. Multi-lane solutions for addressing vector elements using vector index registers
US11507374B2 (en) * 2019-05-20 2022-11-22 Micron Technology, Inc. True/false vector index registers and methods of populating thereof
US11403256B2 (en) 2019-05-20 2022-08-02 Micron Technology, Inc. Conditional operations in a vector processor having true and false vector index registers
US11321051B2 (en) 2019-05-21 2022-05-03 Arm Limited Statistical mode determination
US11195095B2 (en) * 2019-08-08 2021-12-07 Neuralmagic Inc. System and method of accelerating execution of a neural network
US11366811B2 (en) * 2020-05-21 2022-06-21 Sap Se Data imprints techniques for use with data retrieval methods
CN114691560B (zh) * 2020-12-25 2025-10-17 安徽寒武纪信息科技有限公司 数据处理电路、数据处理方法及相关产品
US11860780B2 (en) 2022-01-28 2024-01-02 Pure Storage, Inc. Storage cache management
US20240403052A1 (en) * 2023-06-05 2024-12-05 Arm Limited Indexed vector permutation operations
US12405898B1 (en) * 2024-02-26 2025-09-02 Arm Limited Memory synchronisation subsequent to a page table walk

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4307377A (en) 1979-11-09 1981-12-22 Bell Telephone Laboratories, Incorporated Vector coding of computer graphics material
US4991134A (en) 1988-03-30 1991-02-05 International Business Machines Corporation Concurrent sorting apparatus and method using FIFO stacks
US5608662A (en) 1995-01-12 1997-03-04 Television Computer, Inc. Packet filter engine
US6789116B1 (en) 1999-06-30 2004-09-07 Hi/Fn, Inc. State processor for pattern matching in a network monitor device
US6665790B1 (en) 2000-02-29 2003-12-16 International Business Machines Corporation Vector register file with arbitrary vector addressing
GB0210604D0 (en) 2002-05-09 2002-06-19 Ibm Method and arrangement for data compression
US20050086234A1 (en) 2003-10-15 2005-04-21 Sierra Wireless, Inc., A Canadian Corporation Incremental search of keyword strings
GB2411975B (en) 2003-12-09 2006-10-04 Advanced Risc Mach Ltd Data processing apparatus and method for performing arithmetic operations in SIMD data processing
US7130983B1 (en) * 2003-12-17 2006-10-31 Storage Technology Corporation System and method for reference count regeneration
US20060149938A1 (en) 2004-12-29 2006-07-06 Hong Jiang Determining a register file region based at least in part on a value in an index register
US9513905B2 (en) * 2008-03-28 2016-12-06 Intel Corporation Vector instructions to enable efficient synchronization and parallel reduction operations
US7908457B2 (en) 2008-05-05 2011-03-15 International Business Machines Corporation Retaining an association between a virtual address based buffer and a user space application that owns the buffer
GB2464292A (en) * 2008-10-08 2010-04-14 Advanced Risc Mach Ltd SIMD processor circuit for performing iterative SIMD multiply-accumulate operations
CN106293631B (zh) * 2011-09-26 2020-04-10 英特尔公司 用于提供向量分散操作和聚集操作功能的指令和逻辑
US9626333B2 (en) * 2012-06-02 2017-04-18 Intel Corporation Scatter using index array and finite state machine
US20140188961A1 (en) * 2012-12-27 2014-07-03 Mikhail Plotnikov Vectorization Of Collapsed Multi-Nested Loops
US9804839B2 (en) * 2012-12-28 2017-10-31 Intel Corporation Instruction for determining histograms
US9424031B2 (en) 2013-03-13 2016-08-23 Intel Corporation Techniques for enabling bit-parallel wide string matching with a SIMD register
US9513907B2 (en) * 2013-08-06 2016-12-06 Intel Corporation Methods, apparatus, instructions and logic to provide vector population count functionality
US9396056B2 (en) * 2014-03-15 2016-07-19 Intel Corporation Conditional memory fault assist suppression

Also Published As

Publication number Publication date
KR102594768B1 (ko) 2023-10-27
KR20200031150A (ko) 2020-03-23
EP3662365B1 (en) 2021-09-22
US20190042253A1 (en) 2019-02-07
US11042375B2 (en) 2021-06-22
TWI787313B (zh) 2022-12-21
CN110945477A (zh) 2020-03-31
JP7335225B2 (ja) 2023-08-29
CN110945477B (zh) 2023-10-20
JP2020529658A (ja) 2020-10-08
WO2019025754A1 (en) 2019-02-07
EP3662365A1 (en) 2020-06-10

Similar Documents

Publication Publication Date Title
CN110945477B (zh) 数据处理设备中的数据项中的计数元素
CN111310910B (zh) 一种计算装置及方法
KR102446063B1 (ko) 자격 메타데이터에 대해 연산을 행하는 장치 및 방법
US10255287B2 (en) Method and apparatus for on-disk deduplication metadata for a deduplication file system
US10459727B2 (en) Loop code processor optimizations
US10592252B2 (en) Efficient instruction processing for sparse data
JP7377208B2 (ja) データ処理
US20170192896A1 (en) Zero cache memory system extension
JP7245817B2 (ja) データ処理装置における連続値の照合
US20240028337A1 (en) Masked-vector-comparison instruction
JP7335952B2 (ja) ベクトル述語要約の生成
US20240394061A1 (en) Methods and systems for data transfer
US12493665B2 (en) Device and method for operation of data
US20250190217A1 (en) Technique for handling ordering constrained access operations
JP2024525798A (ja) 述語技術
US9823841B2 (en) Associating keys with data and compute objects in a storage compute device
TW202349232A (zh) 用於執行外積操作之技術
HK40069125B (zh) 流处理方法、处理电路和电子设备