TWI470545B - 用以執行範圍檢測之設備,處理器,系統,方法,指令,及邏輯 - Google Patents

用以執行範圍檢測之設備,處理器,系統,方法,指令,及邏輯 Download PDF

Info

Publication number
TWI470545B
TWI470545B TW98136966A TW98136966A TWI470545B TW I470545 B TWI470545 B TW I470545B TW 98136966 A TW98136966 A TW 98136966A TW 98136966 A TW98136966 A TW 98136966A TW I470545 B TWI470545 B TW I470545B
Authority
TW
Taiwan
Prior art keywords
range
vector
input
logic
complex
Prior art date
Application number
TW98136966A
Other languages
English (en)
Other versions
TW201030607A (en
Inventor
Asaf Hargil
Evgeny Fiksman
Artiom Myaskouvskey
Doron Orenstein
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of TW201030607A publication Critical patent/TW201030607A/zh
Application granted granted Critical
Publication of TWI470545B publication Critical patent/TWI470545B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

用以執行範圍檢測之設備,處理器,系統,方法,指令,及邏輯
本發明之具體實施例大致上有關資訊處理之領域,且更特別地是有關在計算系統及微處理器中執行範圍檢測之領域。
電腦硬體、諸如微處理器中之數學函數的性能可視於一些位置、諸如快取記憶體或主記憶體中所儲存之查詢表(LUTs)的使用而定。單一指令多數資料(SIMD)指令可執行多數記憶體操作,以當執行數學函數時於硬體中存取LUTs。譬如,對於若干輸入運算元之每一個,執行一基於該等輸入運算元之函數的SIMD指令可存取一LUT,以便對該SIMD函數獲得一結果輸出,因為一些處理器架構不提供對若干LUTs的平行存取,但反之使用該相同的記憶體存取邏輯,以存取一或多個LUTs,這些LUT存取可串連地發生,而非一平行之方式,藉此限制執行該SIMD函數之性能。
數學函數可在一些演算法中使用曲線方程或其他以多項式為基礎之技術被評估。於一些先前技藝範例中,被用於評估數學函數之曲線方程函數需要多數軟體操作,以執行目標,像範圍檢測、係數匹配、及多項式計算。曲線方程之使用以評估數學函數可因此為計算密集及在性能中相當低的,如此限制曲線方程計算於電腦程式中之有用性。
【發明內容及實施方式】
本發明之具體實施例可被用來改善微處理器及電腦中之數學計算性能。於一些具體實施例中,曲線方程計算可在比一些先前技藝曲線方程計算較大之性能層次被用來執行各種數學運算。於至少一具體實施例中,曲線方程計算性能可藉由加速執行曲線方程計算中所涉及的最費時及耗資源操作之至少一個而被改善。於一具體實施例中,一範圍檢測指令及對應的硬體邏輯被提供,以在曲線方程內加速範圍之檢測,其對應於曲線方程計算中所使用之各種多項式。
圖1說明一微處理器,其中本發明之至少一具體實施例可被使用。特別地是,圖1說明具有一或更多處理器核心105及110之微處理器100,每一處理器核心分別與一本地快取記憶體107及113有關聯。亦在圖1中說明者係一共享快取記憶體115,其可儲存該等本地快取記憶體107及113的每一個中所儲存之至少部份資訊的版本。於一些具體實施例中,微處理器100亦可包括在圖1未示出之另一邏輯,諸如一整合型記憶體控制器、整合型繪圖控制器、以及另一邏輯以在一電腦系統內執行其他函數、諸如輸入/輸出控制。於一具體實施例中,多處理器系統中之每一微處理器或多核心處理器中之每一處理器核心可包括邏輯119或以別的方式為與邏輯119有關聯,以根據一具體實施例回應於一指令執行範圍檢測。
圖2譬如說明一前側匯流排(FSB)電腦系統,其中本發明的一具體實施例可被使用。在該等處理器核心223、227、233、237、243、247、253、257之一內或以別的方式與該處理器核心有關聯,任何處理器201、205、210或215可由任何本地一階(L1)快取記憶體220、225、230、235、240、245、250、255存取資訊。再者,任何處理器201、205、210或215可由共享二階(L2)快取記憶體203、207、213、217之任一個或由系統記憶體260經由晶片組265存取資訊。圖2中之處理器的一或多個可包括邏輯219或以別的方式與邏輯219有關聯,以根據一具體實施例執行一範圍檢測指令。
除了圖2所說明之FSB電腦系統以外,其他系統組構可會同本發明之各種具體實施例被使用,包括點對點(P2P)互連系統及環互連系統。圖3之P2P系統譬如可包括數個處理器,且譬如僅只顯示其中之二處理器370、380。處理器370、380之每一個可包括一本地記憶體控制器集線器(MCH)372、382,以與記憶體32、34連接。處理器370、380可經由點對點(PtP)介面350使用PtP介面電路378、388交換資料。處理器370、380之每一個可與一晶片組390經由個別PtP介面352、354使用點對點介面電路376、394、386、398交換資料。晶片組390亦可與一高性能繪圖電路338經由一高性能繪圖介面339交換資料。本發明之具體實施例可為位在具有任何數目之處理核心的任何處理器內、或在圖3之每一PtP匯流排代理器內。於一具體實施例中,任何處理器核心可包括一本地快取記憶體(未示出)或以別的方式與該本地快取記憶體有關聯。再者,一共享快取記憶體(未示出)可被包括於兩處理器外面之任一處理器中,又經由p2p互連與該等處理器連接,使得如果一處理器被放置進入一低功率模式,該任一個或兩處理器之本地快取記憶體資訊可被儲存於該共享快取記憶體中。圖3中之處理器或核心的一或多個可包括邏輯319或以別的方式與邏輯319有關聯,以根據一具體實施例執行一範圍檢測指令。
曲線方程計算能夠否定使用查詢表(LUTs)及與其有關聯之昂貴記憶體存取的需要。圖4譬如說明一階曲線方程函數。於圖4中,讓“X”係8元素輸入向量,其元素包括資料,該向量X中之256位元,“Xin”每一個藉由32位元所代表。用於任何給定輸入“Xin”,該曲線方程函數之向量Y的元素“Yout”可導致一向量W=Y(X)。該向量W之元素可使用包括範圍檢測、係數匹配、及多項式計算的曲線方程計算操作而被評估。至少一具體實施例包括一指令及邏輯,以於評估該曲線方程函數中執行範圍檢測。於一些具體實施例中,向量X之元素尺寸可為8位元,然而,於其他具體實施例中,它們可為16位元、32位元、64位元、128位元等。再者,於一些具體實施例中,X之元素可為整數、浮點數值、單一或雙精確度浮點數值等。
於一具體實施例中,範圍檢測邏輯可包括解碼及執行邏輯,以執行具有一指令格式之範圍檢測指令,及控制領域以執行該表示式,“範圍向量(R)=範圍_檢測(輸入向量(X),範圍限制向量(RL))”,在此R係一藉由圖5中所敘述之邏輯所產生的範圍向量,X係該輸入向量,且RL係包含該曲線方程函數之每一範圍的第一Xin之向量。譬如,於一具體實施例中,該向量RL包含圖4之每一範圍的第一Xin(0,10,30,50,70,80,255),於一些順序中對應於該輸入向量X。
於一具體實施例中,根據該輸入向量X內所提供之每一輸入點,範圍檢測匹配圖4中所說明之曲線方程函數的一特定範圍,且將該結果儲存於SIMD暫存器中。以下之範例顯示一輸入向量X及一對應於圖4中所敘述之曲線方程的範圍檢測器向量。該給定之範例敘述在16位元固定點輸入上之操作;然而相同之技術係可適用於8、32位元固定及浮點數值,以及用於目前及未來向量延伸中所使用之不同資料型式。
讓X為以下之輸入向量,在此每一元素沿著圖4之x軸包含一Xin值:
基於上面之輸入向量X與圖4中所描述之曲線方程,該範圍檢測向量將包含以下:
於一具體實施例中,一指令可被執行,以藉由根據圖4之曲線方程在該輸入向量上之操作產生上面之範圍檢測向量。於一具體實施例中,該指令造成該等輸入向量元素將與該等範圍限制(圖4中之0,10,30,50,70,80)的每一個比較。於一具體實施例中,每一範圍限制可被傳播至SIMD暫存器及與該輸入向量X比較。於一具體實施例中,在此比較操作導致0或-1,以指示該比較之結果,該等比較結果之減去及累積產生該曲線方程之範圍,其中該輸入向量X中之每一輸入點被包含。執行該等比較操作之邏輯被說明在圖5中,在此xi 標示一在輸入向量X內之輸入點,ti 敘述圖4之曲線方程的範圍限制,且ri 敘述範圍檢測向量R內之結果的範圍,對應於輸入點xi 。於其他具體實施例中,該比較操作可導致其他值(例如1及0),其可使用該等比較值之比較、相加或減去、及累積而被執行,以產生範圍檢測向量R。
圖5a說明邏輯,其可根據一具體實施例被用來回應於執行一範圍檢測指令而產生一範圍檢測向量R。於一具體實施例中,邏輯500a包括輸入向量X501a,其藉由比較邏輯505a與範圍限制向量510a比較,其在每一元素中包括該曲線方程範圍之範圍限制對應於該輸入向量X之第“i”個元素。於一具體實施例中,輸入向量501a的一元素係藉由比較邏輯505a與範圍限制向量510a之對應元素比較。於一具體實施例中,零向量515a之元素係將517a加至輸入向量501a及範圍限制向量510a之比較結果的負值,以於該比較結果之結果的每一元素中產生0或-1。該輸入向量501a係接著與範圍限制向量520a之對應元素比較,其負的結果被加至該先前之比較結果。對於範圍限制向量510a之每一元素持續此過程,於範圍檢測向量525a中告終。
於一具體實施例中,圖5a之邏輯可會同一程式使用至少一指令集架構而被使用,並藉由以下之虛擬碼所說明:
用於決定範圍檢測向量R之其他技術可被使用於其他具體實施例中,包括邏輯,以在該等範圍限制向量元素上執行二進位搜尋。圖5b說明二進位搜尋樹枝狀圖,根據一具體實施例,其可被用來產生範圍檢測向量R。於圖5b之二進位搜尋樹枝狀圖500b中,輸入向量X501b之每一元素係與該範圍限制向量之每一元素510b比較,在一中間向量元素(T4,在該8元素輸入與範圍限制向量之案例中)開始及持續至每一半向量(T5-T8、及T3-T1)。於一具體實施例中,以下之虛擬碼說明圖5b之二進位搜尋樹枝狀圖的作用,並使用來自一指示集架構之指令。
於上面之虛擬碼中,T代表該範圍限制向量,I代表該輸入向量X及範圍限制向量T之第i個元素。
於一具體實施例中,一指令及對應的邏輯被使用於產生範圍檢測向量R。當該範圍檢測向量R被決定時,能執行與評估該曲線方程函數有關聯之其他操作,該函數與所討論之特別數學運算有關聯,包括該係數匹配及多項式計算操作。
於一具體實施例中,對應於圖4中之曲線方程的每一範圍之每一多項式具有一對應的係數。係數匹配將係數向量元素匹配至在本發明的一具體實施例中所產生之範圍檢測向量元素。於圖4中所說明之範例中,有六個範圍,其可藉由以下多項式所敘述:
範圍1:y=2*x (0<=X<10)
範圍2:y=0*x+20 (10<=X<30)
範圍3:y=-2*x+20 (30<=X<50)
範圍4:y=0*x-20 (50<=X<70)
範圍5:y=2*x-20 (70<=X<80)
範圍6:y=0 (80<=X<255)
係數匹配係基於該範圍檢測階段之結果。該結果之係數向量的數目等於該多項式最高次數+1。持續上面之範例,用於圖4中所敘述之輸入向量X的結果之係數向量C1 及C2 係在下文說明:
上面範例中之所有多項式的次數為一,因此結果係數向量之數目為二。於一具體實施例中,該等C1 及C2 向量係使用一混合指令基於圖5a及5b中所敘述之範圍檢測階段的輸出計算,其在該二係數向量C1 及C2 之對應的元素中儲存該適當係數。
在計算對應於輸入向量X之多項式的係數之後,可對於該輸入向量X中之每一輸入值執行該多項式評估計算。於一具體實施例中,多項式計算可被分成二主要操作。該第一操作包括發現每一輸入值由該曲線方程之範圍的開始之偏置。於一具體實施例中,發現該等偏置可藉由譬如使用一混合指令將每一範圍之開始匹配至每一輸入點而被達成。由圖4之曲線方程的每一範圍之開始的偏置係接著藉由自該對應的輸入向量元素減去每一範圍的最初值所計算。譬如,圖4的曲線方程中之點77將被分派至範圍5。既然範圍5之開始係在70,由其之分派範圍之開始的偏置為7。該第二操作包括對於每一輸入向量元素計算該輸出向量元素。為了計算該最後之輸出向量,一範圍的開始中所發現之偏置被發現及設定為一用於該有關多項式的輸入元素。譬如,該範圍5多項式係藉由以下之公式所敘述:y=2*x-20。對於該輸入向量元素77,我們獲得7之偏置,且如此用於點77之最後值將為y=2*(偏置)-20=2*(7)-20=-6。在計算對應於該等輸入向量元素的剩餘多項式之後,該結果可被儲存於一結果向量中。下文說明用於該最初範圍值B之向量值、偏置向量值O、及輸出向量值Y:
該輸出向量Y係根據一具體實施例藉由該表示式計算。在此範例中,該輸出向量Y係藉由“Y=O*C1+C2”所計算。
圖6說明可會同本發明之至少一具體實施例而被使用的操作之流程圖。於一具體實施例中,在操作601,範圍檢測向量被產生。於一具體實施例中,該範圍檢測向量係根據過程、諸如在此中所說明之二進位搜尋及邏輯對於每一輸入向量元素而產生。在操作605,係數匹配被執行,以根據該等輸入向量元素產生對應於該曲線方程之每一範圍的多項式之係數。在操作610,多項式計算被執行,對於該輸入向量中之每一元素,且該結果被儲存於一結果向量中。
至少一具體實施例之一或更多態樣可藉由儲存在一電腦可讀媒體上之代表性資料所提供,該資料代表該處理器內之各種邏輯,當藉由一機器所讀取時造成該機器製造邏輯,以執行在此中所敘述之技術。此等代表、已知為於“IP核心”可被儲存在一實質、電腦可讀媒體(“磁帶”)上,且供給至各種客戶或製造設備,以載入真正地製成該邏輯或處理器之成形機器。
如此,一用於引導微架構記憶體區域存取之方法及設備已被敘述。當然該上面之敘述係意欲為說明性及非限制性。於閱讀及了解該上面之敘述時,許多其他具體實施例對於熟諳此技藝者將變得明顯。因此,隨著此等申請專利所給予之同等項的整個範圍,本發明之範圍將參考所附申請專利範圍被決定。
5...範圍
32...記憶體
34...記憶體
77...點
100...微處理器
105...處理器核心
107...區域快取記憶體
110...處理器核心
113...區域快取記憶體
115...共享快取記憶體
119...邏輯
201...處理器
203...快取記憶體
205...處理器
207...快取記憶體
210...處理器
213...快取記憶體
215...處理器
217...快取記憶體
219...邏輯
220...快取記憶體
223...處理器核心
225...快取記憶體
227...處理器核心
230...快取記憶體
233...處理器核心
235...快取記憶體
237...處理器核心
240...快取記憶體
243...處理器核心
245...快取記憶體
247...處理器核心
250...快取記憶體
253...處理器核心
255...快取記憶體
257...處理器核心
260...系統記憶體
265...晶片組
319...邏輯
338...繪圖電路
339...繪圖介面
350...點對點介面
352...點對點介面
354...點對點介面
370...處理器
372...記憶體控制器集線器
376...點對點介面電路
378...點對點介面電路
380...處理器
382...記憶體控制器集線器
386...點對點介面電路
388...點對點介面電路
390...晶片組
394...點對點介面電路
394...點對點介面電路
500a‧‧‧邏輯
500b‧‧‧二進位搜尋樹枝狀圖
501a‧‧‧輸入向量
501b‧‧‧輸入向量
505a‧‧‧比較邏輯
510a‧‧‧範圍限制向量
510b‧‧‧元素
515a‧‧‧零向量
520a‧‧‧範圍限制向量
525a‧‧‧範圍限制向量
601‧‧‧操作
605‧‧‧操作
610‧‧‧操作
C1 ‧‧‧係數向量
C2 ‧‧‧係數向量
I‧‧‧元素
R‧‧‧範圍檢測向量
T‧‧‧範圍限制向量
T1‧‧‧半向量
T2‧‧‧半向量
T3‧‧‧半向量
T4‧‧‧中間向量元素
T5‧‧‧半向量
T6‧‧‧半向量
T7‧‧‧半向量
T8‧‧‧半向量
X‧‧‧輸入向量
本發明之具體實施例係藉由所附圖面的圖示中之範例所說明,且不通過限制,及其中類似參考數字意指類似元件,且其中:
圖1說明一微處理器之方塊圖,其中本發明之至少一具體實施例可被使用;
圖2說明一共享匯流排電腦系統之方塊圖,其中本發明之至少一具體實施例可被使用;
圖3說明一點對點互連電腦系統之方塊圖,其中本發明之至少一具體實施例可被使用;
圖4根據一具體實施例說明被分成各區域之曲線方程。
圖5係回應於區域檢測指令可根據一具體實施例被用來在曲線方程內加速區域檢測之邏輯的概要圖。
圖6係可被用於執行本發明之至少一具體實施例的操作之流程圖。
100...微處理器
105...處理器核心
107...區域快取記憶體
110...處理器核心
113...區域快取記憶體
115...共享快取記憶體
119...邏輯

Claims (23)

  1. 一種用以執行範圍檢測之設備,包括:範圍檢測邏輯,包括:解碼邏輯,以解碼一範圍檢測指令,以從一輸入向量X以及一範圍限制向量T,執行單一指令多數資料(single instruction multiple data;SIMD)範圍檢測;以及執行邏輯,回應於該範圍檢測指令,以執行SIMD比較以使一曲線方程函數的範圍匹配該輸入向量X的每一輸入點元素,並累積SIMD比較結果以產生一對應的範圍向量R,包含該曲線方程函數的一範圍值,其中包括該輸入向量X的該對應的輸入點,以及以儲存該範圍向量R在一SIMD暫存器中。
  2. 如申請專利範圍第1項之設備,其中該執行邏輯包括比較邏輯,以比較該輸入向量之每一元素與一對應的範圍限制向量元素。
  3. 如申請專利範圍第1項之設備,其中該執行邏輯包括二進位搜尋邏輯,以比較該輸入向量之每一元素與一對應的範圍限制向量元素。
  4. 如申請專利範圍第1項之設備,其中該範圍檢測邏輯包括一範圍向量儲存器,以儲存包括該等範圍值之該範圍向量。
  5. 如申請專利範圍第4項之設備,其中該範圍檢測邏輯包括一輸入向量儲存器,以儲存包括該等輸入點元素之該輸入向量。
  6. 如申請專利範圍第5項之設備,其中該設備包括至少一係數向量儲存器,以儲存對應於該等輸入向量元素之複數係數向量元素。
  7. 如申請專利範圍第6項之設備,其中該設備包括至少一偏置向量儲存器,以儲存對應於該等輸入向量元素之複數偏置向量元素。
  8. 如申請專利範圍第7項之設備,其中該設備包括一輸出向量儲存器,以儲存對應於該等輸入向量元素之複數輸出向量元素。
  9. 一種用以執行範圍檢測之方法,包括:執行範圍檢測,以產生對應於曲線方程函數之複數輸入值的複數範圍值;執行一係數匹配操作,以產生對應於複數多項式之複數係數,該複數多項式對應於該曲線方程函數之輸入值;執行一多項式評估計算,以產生對應於該複數輸入值之複數輸出值;其中執行該範圍檢測包括:解碼一範圍檢測指令,以從一輸入向量X以及一範圍限制向量T,執行單一指令多數資料(SIMD)範圍檢測;以及回應於該範圍檢測指令,執行SIMD比較以使該曲線方程函數的範圍匹配該輸入向量X的每一輸入點元素,並累積SIMD比較結果以產生一對應的範圍向量R,包含該曲線方程函數的一範圍值,其中包括該輸入向量X的該對應的輸入點,以及 儲存該範圍向量R在一SIMD暫存器中作為該範圍檢測的結果。
  10. 如申請專利範圍第9項之方法,其中該範圍檢測指令將造成範圍檢測邏輯產生一包括該複數範圍值之該範圍向量。
  11. 如申請專利範圍第10項之方法,其中該範圍檢測邏輯包括比較邏輯,以比較該複數輸入值之每一個與一對應的限制範圍向量元素。
  12. 如申請專利範圍第10項之方法,其中該邏輯包括二進位搜尋邏輯,以比較該複數輸入值之每一個與一對應的限制範圍向量元素。
  13. 一種用以執行範圍檢測之系統,包括:一儲存器,以儲存執行指令;一處理器,以決定對應於複數輸入向量元素用之每一曲線方程多項式的範圍值;其中該處理器包括:解碼邏輯,以解碼包括一範圍檢測指令之該執行指令,以從一輸入向量X以及一範圍限制向量T,執行單一指令多數資料(SIMD)範圍檢測;以及執行邏輯,回應於該範圍檢測指令,以執行SIMD比較以使該曲線方程多項式的範圍匹配該輸入向量X的每一輸入向量元素,並累積SIMD比較結果以產生一對應的範圍向量R,包含該曲線方程多項式的一範圍值,其中包括該輸入向量X的該對應的輸入向量元素。
  14. 如申請專利範圍第13項之系統,其中該處理器包括比較邏輯,以比較該輸入向量之每一元素與一對應的範圍限制向量元素。
  15. 如申請專利範圍第13項之系統,其中該處理器包括二進位搜尋邏輯,以比較該輸入向量之每一元素與一對應的範圍限制向量元素。
  16. 如申請專利範圍第13項之系統,其中該處理器包括一範圍向量儲存器,以儲存包括該等範圍值之該範圍向量。
  17. 如申請專利範圍第16項之系統,其中該處理器包括一輸入向量儲存器,以儲存該等輸入向量元素。
  18. 如申請專利範圍第17項之系統,其中該處理器包括至少一係數向量儲存器,以儲存對應於該等輸入向量元素之複數係數向量元素。
  19. 如申請專利範圍第18項之系統,其中該處理器包括至少一偏置向量儲存器,以儲存對應於該等輸入向量元素之複數偏置向量元素。
  20. 一種處理器,包括:第一邏輯,以執行範圍檢測,以產生對應於曲線方程函數之複數輸入值的複數範圍值;第二邏輯,以執行一係數匹配操作,以產生對應於複數多項式之複數係數,該等多項式對應於該曲線方程函數之輸入值;第三邏輯,以執行一多項式評估計算,以產生對應於 該複數輸入值之複數輸出值;其中該第一邏輯包括:解碼邏輯,以解碼包括一範圍檢測指令之執行指令,以從一輸入向量X以及一範圍限制向量T,執行單一指令多數資料(SIMD)範圍檢測;以及執行邏輯,回應於該範圍檢測指令,以執行SIMD比較以使該曲線方程多項式的範圍匹配該輸入向量X的每一輸入向量元素,並累積SIMD比較結果以產生一對應的範圍向量R,包含該曲線方程多項式的一範圍值,其中包括該輸入向量X的該對應的輸入向量元素。
  21. 如申請專利範圍第20項之處理器,其中該範圍檢測指令將造成該第一邏輯產生包括該複數範圍值之該範向量R,以及儲存該範圍向量R在一SIMD暫存器中作為該範圍檢測指令的結果。
  22. 如申請專利範圍第21項之處理器,其中該第一邏輯包括比較邏輯,以比較該複數輸入值之每一個與一對應的範圍限制向量元素。
  23. 如申請專利範圍第21項之處理器,其中該第一邏輯包括二進位搜尋邏輯,以比較該複數輸入值之每一個與一對應的範圍限制向量元素。
TW98136966A 2008-10-31 2009-10-30 用以執行範圍檢測之設備,處理器,系統,方法,指令,及邏輯 TWI470545B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/290,565 US8386547B2 (en) 2008-10-31 2008-10-31 Instruction and logic for performing range detection

Publications (2)

Publication Number Publication Date
TW201030607A TW201030607A (en) 2010-08-16
TWI470545B true TWI470545B (zh) 2015-01-21

Family

ID=42063259

Family Applications (1)

Application Number Title Priority Date Filing Date
TW98136966A TWI470545B (zh) 2008-10-31 2009-10-30 用以執行範圍檢測之設備,處理器,系統,方法,指令,及邏輯

Country Status (7)

Country Link
US (1) US8386547B2 (zh)
JP (2) JP5518087B2 (zh)
KR (1) KR101105474B1 (zh)
CN (1) CN101907987B (zh)
DE (1) DE102009051288A1 (zh)
TW (1) TWI470545B (zh)
WO (1) WO2010051298A2 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715383B2 (en) 2012-03-15 2017-07-25 International Business Machines Corporation Vector find element equal instruction
US9710266B2 (en) 2012-03-15 2017-07-18 International Business Machines Corporation Instruction to compute the distance to a specified memory boundary
US9280347B2 (en) 2012-03-15 2016-03-08 International Business Machines Corporation Transforming non-contiguous instruction specifiers to contiguous instruction specifiers
US9268566B2 (en) 2012-03-15 2016-02-23 International Business Machines Corporation Character data match determination by loading registers at most up to memory block boundary and comparing
US9588762B2 (en) 2012-03-15 2017-03-07 International Business Machines Corporation Vector find element not equal instruction
US9459864B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Vector string range compare
US9459868B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Instruction to load data up to a dynamically determined memory boundary
US9454366B2 (en) 2012-03-15 2016-09-27 International Business Machines Corporation Copying character data having a termination character from one memory location to another
US9459867B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Instruction to load data up to a specified memory boundary indicated by the instruction
US9454367B2 (en) 2012-03-15 2016-09-27 International Business Machines Corporation Finding the length of a set of character data having a termination character
US9495155B2 (en) 2013-08-06 2016-11-15 Intel Corporation Methods, apparatus, instructions and logic to provide population count functionality for genome sequencing and alignment
US9513907B2 (en) * 2013-08-06 2016-12-06 Intel Corporation Methods, apparatus, instructions and logic to provide vector population count functionality
US20190250917A1 (en) * 2018-02-14 2019-08-15 Apple Inc. Range Mapping of Input Operands for Transcendental Functions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018687A1 (en) * 1999-04-29 2003-01-23 Stavros Kalafatis Method and system to perform a thread switching operation within a multithreaded processor based on detection of a flow marker within an instruction information
US20050044123A1 (en) * 2003-08-22 2005-02-24 Apple Computer, Inc., Computation of power functions using polynomial approximations
CN1754187A (zh) * 2003-02-28 2006-03-29 索尼株式会社 图像处理装置、方法及程序
US20070074007A1 (en) * 2005-09-28 2007-03-29 Arc International (Uk) Limited Parameterizable clip instruction and method of performing a clip operation using the same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4918618A (en) * 1988-04-11 1990-04-17 Analog Intelligence Corporation Discrete weight neural network
JP3303835B2 (ja) * 1999-04-30 2002-07-22 日本電気株式会社 音声の規則合成のためのピッチパタン生成装置及び方法
JP3688533B2 (ja) * 1999-11-12 2005-08-31 本田技研工業株式会社 排ガス浄化用触媒装置の劣化状態評価方法
WO2003019356A1 (en) 2001-08-22 2003-03-06 Adelante Technologies B.V. Pipelined processor and instruction loop execution method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018687A1 (en) * 1999-04-29 2003-01-23 Stavros Kalafatis Method and system to perform a thread switching operation within a multithreaded processor based on detection of a flow marker within an instruction information
CN1754187A (zh) * 2003-02-28 2006-03-29 索尼株式会社 图像处理装置、方法及程序
US20050044123A1 (en) * 2003-08-22 2005-02-24 Apple Computer, Inc., Computation of power functions using polynomial approximations
US20070074007A1 (en) * 2005-09-28 2007-03-29 Arc International (Uk) Limited Parameterizable clip instruction and method of performing a clip operation using the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
國立成功大學機械工程系碩士論文,研究生:陳武勇,指導教授:何旭彬「使用圖形處理器於B-Spline有限元素分析」(2007年6月) *

Also Published As

Publication number Publication date
JP5518087B2 (ja) 2014-06-11
CN101907987A (zh) 2010-12-08
TW201030607A (en) 2010-08-16
JP2012507796A (ja) 2012-03-29
US8386547B2 (en) 2013-02-26
JP2014096174A (ja) 2014-05-22
KR101105474B1 (ko) 2012-01-13
WO2010051298A3 (en) 2010-07-08
US20100115014A1 (en) 2010-05-06
KR20100048928A (ko) 2010-05-11
JP5883462B2 (ja) 2016-03-15
WO2010051298A2 (en) 2010-05-06
DE102009051288A1 (de) 2010-05-06
CN101907987B (zh) 2015-05-20

Similar Documents

Publication Publication Date Title
TWI470545B (zh) 用以執行範圍檢測之設備,處理器,系統,方法,指令,及邏輯
US11023807B2 (en) Neural network processor
JP5647859B2 (ja) 乗累算演算を実行するための装置および方法
JP5573134B2 (ja) ベクトル型計算機及びベクトル型計算機の命令制御方法
JP5731937B2 (ja) ベクトル浮動小数点引数削減
EP3451153B1 (en) Apparatus and method for executing transcendental function operation of vectors
WO2017185392A1 (zh) 一种用于执行向量四则运算的装置和方法
US20230254145A1 (en) System and method to improve efficiency in multiplicationladder-based cryptographic operations
US5341320A (en) Method for rapidly processing floating-point operations which involve exceptions
TWI493456B (zh) 向量計算指令執行之方法、裝置及系統
WO2024032027A1 (zh) 降低功耗的方法、处理器、电子设备及存储介质
TWI587137B (zh) 經改良之單一指令多重資料(simd)的k最近鄰居法之實施技術
CN110750300A (zh) 一种基于忆阻器存储器内处理的混合计算装置
US10289386B2 (en) Iterative division with reduced latency
JP2006323710A (ja) データプロセッサ、データ処理方法及び演算制御プログラム
US11080054B2 (en) Data processing apparatus and method for generating a status flag using predicate indicators
US20220326956A1 (en) Processor embedded with small instruction set
US11416261B2 (en) Group load register of a graph streaming processor
JP3310316B2 (ja) 演算装置
US20110153702A1 (en) Multiplication of a vector by a product of elementary matrices
JP3773033B2 (ja) データ演算処理装置及びデータ演算処理プログラム
JP2022131311A (ja) ベクトル演算装置、ベクトル演算方法及びプログラム
JP2008217687A (ja) ローカル分岐履歴を用いた分岐予測装置及び分岐予測方法
JP2002304288A (ja) データ演算処理装置及びデータ演算処理プログラム
WO2017033336A1 (ja) 回路設計支援装置および回路設計支援プログラム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees