TW501026B - Partial match partial output cache for computer arithmetic operations - Google Patents
Partial match partial output cache for computer arithmetic operations Download PDFInfo
- Publication number
- TW501026B TW501026B TW090103096A TW90103096A TW501026B TW 501026 B TW501026 B TW 501026B TW 090103096 A TW090103096 A TW 090103096A TW 90103096 A TW90103096 A TW 90103096A TW 501026 B TW501026 B TW 501026B
- Authority
- TW
- Taiwan
- Prior art keywords
- operand
- result
- cache
- msb
- partial
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/57—Arithmetic 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
501026 A7 B7 7 219p i f . doc /0 0ι 五、發明說明(1 ) 發明背景 發明領域 本發明是有關於一種用於以快取記憶體執行數學操作 之裝置及方法;且特別是有關於一種具有能夠部份輸出之 快取記憶體之裝置及方法。 相關技藝之討論 電腦藉由重覆地移位、相加、及相減的操作資料來執 行數學操作。需要許多的資料存取及操作週期來得到結 果。對於更複雜的運算,例如‘平方根’及執行三角函數, 傳統的電腦程序是非常費時的,並且在某些應用中,變成 是無法實現的。 某些更複雜的數學函數可以用查表方式來實現,但是 表格必需夠大,足以容納許多不同的運算元(operand)。假 如要操作的運算元有所差異,即使是符號位元的差異,查 詢表即無法運作。由查詢表得到的資料將會不正確。要得 到正確的結果,必須對該運算元的每一位數字執行整個計 算。 其他的實現方式包括使用專屬電路。例如,該參見U.S. Pat. No· 4,734,878 ,Suteliffe 的 “ CIRCUIT FOR PERFORMING SQUARE ROOT FUNCTIONS” 。雖然花費 較少的時間,但是專屬電路需要額外的硬體,並且只能使 用在特定函數。亦即,Suteliffe裝置只能執行平方根,乘 法器只能用於乘法,等等。 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ------------鬌------- 丨訂----------線^__w. (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 501026 A7 B7 7219pif.doc/008 五、發明說明(>) 快取記憶體係一高速的隨機存取記憶體(Random Access Memory,簡稱RAM),CPU可以比存取常規記憶體 來更快地對其做存取。快取記憶體通常用來儲存會被CPU 頻繁存取的資料。CPU可以對快取記憶體中的資料執行更 多的運算,和從常規記憶體存取運算資料比起來,就可更 快執行這些運算。 CPU可以直接存取快取記憶體(而不是經由,例如, 外部的記憶體管理單元),並且其實際的位置非常靠近 CPU,甚至有些快取是在CPU晶片中的,藉以降低CPU 與快取記憶體之間的訊號傳送時間。可以在Morgan Kaufmann Publishers,Inc· 1996 年出版的,由 David A. Patterson 及 John L. Hennessy 戶斤著的 Computer Architecture A Quantitative Approach” 中的第 380-383 頁找到諸如 Alpha ΑΧΡ 21064微處理器的資料快取的說明。當CPU執 行讀取或是拿取(fetch)運算時,會先檢查所需的資料或指 令是否在快取中。假如是在快取中,則可以快速地存取該 資料或指令。否則,要從常規記憶體(DRAM或ROM)中拿 取,因而花費更多的時間。 第1圖繪示一種習知的快取。快取記憶體1〇包括快 取標籤11,其包括用以儲存處理器經常或最近存取的資 料、位址、或檔案的數個緩衝器。快取記憶體1〇包括用 來比較新輸入的資料與儲存在標籤中的資料的電路。如第 1圖所繪示,在快取標籤11中,每個緩衝器的每個位元與 一個互斥OR閘聯結在一起。當其判斷新輸入的資料匹配 於儲存在快取標籤11中的一個緩衝器的資料時,則在閘 本紙張尺度適用中國國家標準(CNS)A<〗規格(210 X 297公釐) I · · ir ---I---I I---ill — — — — — — — — — — (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 501026 A7 B7 7219pif.doc/〇〇8 五、發明說明(>) 15、16、…19輸出一真値。快取資料12係儲存對應於快 取標籤11中的每一緩衝器的資料的檔案。在收到對應閘 15、16、…19的真値訊號時,輸出快取資料12的對應位 置中的資料’即q4、q3、q2、...qO。第1圖所繪不的快取 的寬度爲5位元。 可以看出,快取記憶體的特性對於當作用於執行高速 計算的數學裝置的資料儲存裝置會很有用的。例如,如第 1圖所繪示快取記憶體,將運算元儲存在快取標籤11中以 及對應的計算結果儲存在快取資料12中。假如在快取標 籤11中發現要執行相同數學運算的運算元,則跳過此數 學運算。在此種情形,此快取是用來當作查詢表,和查詢 表ROM比較起來,可以減少存取時間。然而,和在查詢 表ROM的情形一樣,假如此方法只有當運算元與儲存的 快取標籤資料完全匹配時才運作,則在查表模式的快取的 使用’將造成整體的吞吐量(throughout)的降低。 因此’需要一種具有快取記憶體的裝置,用來代替數 學單元’其能夠有部份匹配運算元的計算的部份結果輸 出。 發明總結 一種執行數學運算之方法,其使用一快取結構,具有 一 TAG暫存器及一快取資料記憶體,該方法包括的步驟 爲將複數個已知運算元儲存在該TAG暫存器,每一個具 有由一數學運算推導出之一對應的結果,該結畢儲存在該 快取資料記憶體之一對應的位置;將要執行該數學運算之 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -------------------1 -----1 瞧 $ Aw. (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 501026 A7 B7 7219pif.doc/008 五、發明說明(4 ) (請先閱讀背面之注意事項再填寫本頁) 一新運算元輸入至該TAG暫存器;比較該新運算元與該 些複數個已知運算元;以及判斷該新運算元是否匹配於任 何已知運算元,並且假如有匹配的,則從該快取資料記憶 體輸出對應於與該新運算元匹配之該已知運算元之該已知 結果。 該方法最好更包括下列步驟:假如在判撕步驟中沒有 匹配的,則判斷該些已知運算元與該新運算元之間是否有 部份匹配的;選.擇具有MSB與該新運算元之MSB匹配之 該已知運算元;從該快取資料記憶體存取對應於具有最匹 配M>SB之該已知運算元之結果;決定由該S知運算元之 該匹配MSB所推導之該存取的結果之一第一部份;遮罩 該存取的結果之一第二部份,其爲除了該第一部份之外; 以及提供該遮罩結果做爲一第一部份結果。 該方法最好再包括之步驟爲對該新運算元之除了該匹 配MSB之外之位元執行該數學運算,產生一第二部份結 果;以及藉由結合該第一部份結果與該第二部份結果輸出 一完整結果。 其優點爲,依照本發明之所舉例之方法可以應用在諸 如平方根、除法、或乘法之數學運算。 經濟部智慧財產局員工消費合作社印製 也提出一種用以執行數學運算之快取裝置,包括:一 TAG暫存器,用以儲存複數個已知運算元,每一個具有由 一數學運算推導出之一對應的結果;一快取資料記憶體, 用以儲存對應於該些已知運算元之結果;比較邏輯,在該 TAG暫存器中,用以將較一新運算元,其将要執行該數學 運算,與該些複數個已知運算元做比較,其中假如該新運 7 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 501026 A7 7219pif.doc/008 gy 五、發明說明(K ) 算元匹配於任何已知運算元,則該快取資料記憶體輸出對 應於與該新運算元匹配之該已知運算元之該已知結果。 (請先閱讀背面之注意事項再填寫本頁) 快取裝置最好更包括:一邏輯群檢測器,用以檢測具 有一共同邏輯位準之一群資料,該邏輯群檢測器用以檢測 具有匹配於該新運算元之MSB之最高位數MSB之該已知 運算元;遮罩邏輯,用以部份遮罩對應於具有該最匹配MSB 之該已知運算元之該結果,該遮罩邏輯用以通過由該已知 運算元之該匹配MSB推導出之該對應結果之一第一部份 以及用以遮罩該對應結果之除該第一部份以外之一第二部 份;以及一1多工器’用以多工傳輸S亥對應結果之該弟一^部 份至一數學單元。 依照本發明之快取裝置,最好更包括一第二多工器’ 其中該數學單元對該新運算元之除該匹配MSB以外之位 元執行該數學運算,藉以產生一第二部份結果,該第二多 工器用以多工傳輸該第二部份結果至該數學單元,其中該 第二部份結果與該第一部份結果結合,藉以形成一完整結 經濟部智慧財產局員工消費合作社印製 圖式之簡單說明 第1圖繪示習知快取記憶體; 第2圖繪示具有依照本發明之一實施例之快取之數學 裝置; 第3圖繪示使用第2圖之裝置之平方根運算之流程 圖; 第4圖是依照本發明之第2圖之快取記憶體中之檢測 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 501026 A7 B7 11快取標籤 21 PMPO快取標籤 27平方根模組 42檢測邏輯 45遮罩暫存器 61運算符分割單元 100 PMPO 快取 7219pif.doc/008 五、發明說明(G ) 邏輯之輸入與輸出資料之真値表以及遮罩運算; 第5圖是依照本發明之乘法實施例之檢測之輸入與輸 出資料之真値表;以及 第6圖是依照本發明之另一實施例之數學裝置。 ft式中標示之簡里說明 10快取記憶體 12快取資料 22 PMPO快取資料 29 Q’緩衝器 43選擇暨遮罩邏輯 48平方根緩衝器 62、63多工器 本發明之鮫佳眚施例夕設昍 依據本發明的一種運算快取,儲存先前數學計算結果 的結果資料’以及假如目前的運算元和執行相同數學運舅 的先前的運算元相同時,輸出該結果資料。本發明也在當 目前的運算元部份匹配於先前儲存在運算快取的運算元 時,從運算快取中輸出部份結果資料。使用依照本發明之 運算快取的數學單元的結構及運算繪示及說明如下。 第2圖繪示用以執行平方根運算的數學單元。所繪开 的數學單元包括依照本發明之一實施例之部份匹配部份輔 出(Partial Match Partial Output,簡稱 PMPO)快取。繪示取 依照此實施例的數學裝置包括PMPO快取100,具有PMP( 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -------------! (請先閱讀背面之注意事項再填寫本頁) 經濟邨智慧財產局員工消費合作社印製 501026 A7 B7 7219pif.doc/008 五、發明說明(η ) 快取標籤21及PMPO快取資料22。平方根模組27是用來 對給定的數字X(被開方數)計算平方根結果的軟體或硬體 模組。該平方根模組最好包括用來執行已知的平方根運算 的程式步驟或演算法,例如用於平方根抽取(square root extraction)的“完全平方(completing the square)” 方法,其 原理與回復分割架構(restoring division scheme)類似,參 見 Israel Korean, ‘Computer Arithmetic Algorithms’ , 第7章,ISBN D-l3-15 1952-2,1993。平方根模組27也包 括以傳統的除法及餘數(divisional and remainder)方法來對 一被開方數計算平方根的電路或程式步驟。舉例來說,處 理器對一8位元運算元執行‘除法及餘數’平方根運算, 一般需要8個週期來求得平方根結果的資料。結果的資料 收集在Q’緩衝器29。在完成平方根運算後,平方根結果 的資料從Q’緩衝器29向前傳送至PMPO快取資料22中的 D卜D2、…、Dn之一,將之儲存起來。被開方數X也是 儲存在對應的PMPO快取標籤21的緩衝器ΤΙ、T2、...、Τη 中。在此種架構中,當其判斷新輸入的要開方根的被開方 數X’匹配於在PMPO快取標籤21的對應緩衝器的被開方 數X’時,第2圖的數學單元會從PMPO快取資料22輸出 平方根Q’。新的被開方數的比對是由快取標籤21中的互 斥NOR閘來執行的,當一個緩衝器中的X的每一位元和 新輸入的被開方數X’的每一位元完全匹配時,其會全部輸 出一。儲存在快取資料22中對應於緩衝器ΤΙ、T2、...、Τη 中的X,其完全匹配於被開方數X’,的位置的資料會被輸 出,當作平方根結果Q’。在此種情形,快取資料22送出 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----------------—----1—^ A_w (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 501026 A7 B7 72l9pif.doc/008 五、發明說明(β ) 的Q,會直接經由多工器63送至Q’緩衝器29 °此種直接比 對及將平方根結果輸出至Q’緩衝器29的過程’會越過平 方根模組27的處理。 具有第2圖所繪示的依照本發明的PMPO快取的數學 單元,也設計成當新輸入的運算元X’與儲存在快取標籤21 的緩衝器ΤΙ、T2、…、Τη中的複數個運算元x部份匹配 時,輸出部份平方根輸出。部份匹配部份輸出(Partial Match Partial Output,簡稱PMPO)實施例的運作的說明將參照第 2圖至第5圖。在收到要被開方根的新運算元X’時(步驟 410),將運算元X,與儲存在PMPO快取標籤21的緩衝器 Ή、T2、…、Τη中的X做比對(步驟412)。爲了表達實例 的目的,運算元及平方根資料爲8位元,例如Χ’[7:〇]及 Q’[7:0]。對於習知此技藝者,可以很容易地瞭解第2圖的 PMP0快取可以應用至任何寬度的運算元。快取標籤21的 互斥NOR閘連接至檢測邏輯42,其實施中最好具有8位 元緩衝器,每一緩衝器Tx對應一個,用以儲存個別的互 斥NOR緩衝器群輸出的8位元輸出。於是,假如運算元X’ 與快取標籤21中的任一個緩衝器的X完全匹配時,則檢 測邏輯42中的對應電路會將其8位元緩衝器全部註記爲 一。習知此技藝者,亦可以很容易地瞭解假如快取標籤21 中使用互斥OR閘時,則在完全匹配時,檢測邏輯42會全 部註記爲零。假如只有部份匹配時,則檢測邏輯42會在 匹配於運算元X’的位元的快取標籤21中的Xn的位元顯 示邏輯‘1’ 。在步驟414中,判斷新輸入的運算元X’與 儲存在快取標籤21的緩衝器的複數個運算元X是完全匹 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公望) ! , . ——--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 501026 五、發明說明q) 配亦或部份匹配。選擇暨遮罩邏輯43包括用以解碼Det_l、 Det一2、…、Det一η及判斷完全匹配或部份匹配的邏輯電路。 假如是部份匹配,也會判斷匹配的程度。選擇暨遮罩邏輯 43輸出適當的致能訊號至快取資料22及遮罩暫存器45。 當檢測邏輯42輸出的任一個DetJ、Det_2、…、Det_n訊 號包括全部一時,則爲找到完全匹配。假如沒有完全匹配 或部份匹配,則PMPO快取100輸出一訊號,指示快取1〇〇 中沒有平方根資料。不匹配訊號送至MUX 62及63,於其 中新輸入的運算元X’被輸入至平方根模組27,以及由平 方根模組27對運算元X’執行一般的平方根運算(步驟 416)。由模組27處理所得到的結果的資料被向前送至快取 資料22,將之儲存在對應於快取標籤21中的Tx緩衝器的 位置,該Τχ緩衝器用來儲存剛被運算過的運算元X’(步驟 418)。 假如是完全匹配或部份匹配,則檢查檢測邏輯42輸 出的Det_l、Det_2、…、De〇i訊號,看是否有相同的匹 配(步驟420)。假如有相同的匹配,則選擇暨遮罩邏輯43 輸出一訊號至快取資料22中對應於快取標籤21中完全匹 配的緩衝器的位置。在此情形,遮罩暫存器45會使快取 資料22輸出的資料通過至平方根緩衝器48,此資料接著 會經MUX 63被向前送至Q’緩衝器29,當作平方根運算的 結果(步驟422)。 假如運算元X’是部份匹配,則選擇暨遮罩邏輯43選 擇具有最多連續的最高位元(Most Significant Bit,簡稱MSB) 匹配的Det_l、Det_2、…、Det_n訊號。對於Ml至Μη的 —----------------—訂----——線 (請先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS)A4規格(210 χ 297公釐) 501026 A7 B7 7219pif.doc/008 五、發明說明((G) 資料中的第一個最高位的零之後的任何資料,檢測邏輯42 都賦予‘不在乎(don’t care)’ 。第4圖繪示檢測邏輯42輸 出的Ml至Μη輸入及對應的Det_l至Det_n。選擇暨遮罩 邏輯43接收Det_l至Det_n訊號以及執行遮罩運作,其產 生通過訊號,Det_l至Det_n中的每兩個連續的邏輯對應 一個。在Det_n全部都爲一的情況時,則不執行遮罩。Det_l 至Det_n輸入與對應的Mask的遮罩表是從選擇暨遮罩邏 輯43輸入的。在第4圖中,繪不的是8位元Mask資料 Mask[7:0]。選擇暨遮罩邏輯43輸出致能訊號En,藉以存 取快取資料22中的對應於最相似樣版(pattern) Det_max的 位置。對應於Detjnax的Mask資料Mask[7:0]被輸入至部 份輸出單元45,於其中將對應於Detjnax的Mask資料與 由快取資料22讀出的資料輸出Qi做AND運算(步驟426)。 以下爲用來示範上述程序的一個實例。運算元 100000002、100011112、及 101011112 儲存在快取標籤 21 的 T1至Τη中,以及對應於該些運算元的平方根結果儲存在 快取資料記憶體22中的對應位置。將要開方根的100000012 的被開方數X’輸入至數學裝置。檢測邏輯42接收對應於 運算元的訊號分別爲11111110、11110χχχ、及ΙΙΙΟχχχχ, 以及輸出對應於比較結果的樣版Det_l至Det_n分別爲 11111110、11110000、及 11000000。因此,邏輯 ‘1’ 表示 儲存在T1至Τη中的運算二的對應位元與被開方數X’是 匹配的,而邏輯‘0’表示對應的位元是不匹配的。此外, ‘X’表示不在乎。 由檢測邏輯42產生的樣版DeU = miUl〇、 I !1! t·!· <請先閲讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 501026 A7 B7 7219pif.doc/008 五、發明說明((p
Det_2=l 1110000、及 Det_3=l 1000000,輸入至選擇暨遮罩 邏輯43,並且Detj樣版11Π1110被選爲最相似樣版 Det_max,其與被開方數X,的對應位元具有最多相同的連 續MSB位元。依照第4圖繪示的真値表,選擇暨遮罩邏 輯43產生對應於11111110的Det—max的11100000的遮罩 樣版Mask。輸出致能En被送至快取資料記憶體22 ’藉以 輸出對應於Detjnax,其爲具有11111110的資料的Det一 1, 的輸出結果的資料Qi。 部份輸出單元45執行Qi與11100000的Mask資料之 間的AND運算,並且將q[x:〇]儲存在緩衝器48中。如前 面所解釋的,假如檢測邏輯42輸出的所有檢測訊號Det_l 至Det__n都是Oxxxxxxx,則輸入Q’緩衝器29的全部爲零’ 當作啓始値,以及運算元X’被輸入至平方根模組27。數 學運算,在此實例中爲對運算元X’的所有位數做平方根計 算,是在數學模組27(在此實例中爲平方根模組)中執行的。 並且假如儲存在快取標籤21中的運算元T1至Τη中的其 中之一與被開方數X’相同;換句話說,假如檢測邏輯42 輸出的檢測訊號Det_l至Det_n中的其中之一爲11111111, 則會從快取資料22輸出對應於檢測訊號11111111的Qi資 料,當作結果的資料Qi,而不用模組27的任何計算或處 理。 包括運算符(operator)分割單兀61、第一多工器62、 及第二多工器63的中間電路受選擇暨遮罩邏輯43的控 制,藉以將資料轉送至模組27及Q’緩衝器29。運算符分 割單元61用來抽取部份運算元X” ’其爲被開方數X’的 本紙張尺度適用中國國家標準(CNS)A‘l規格(210 X 297公髮) -------I I I----- - ---I ^--l!i (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 501026
Q = VX A7 7219pif.doc/008 五、發明說明(d 最大的不匹配部份。在平方根計算中,部份平方根結果的 資料Q[x:〇]被平方後,然後由輸入被開方數X’減去,藉以 求得部份運算元X”。(x”= X’-q2)。部份X”被輸入至模組27, 藉以執行平方根運算。部份結果輸出q[X:0]被輸入至Q,緩 衝器29,當作部份結果資料(步驟428)。在選擇暨遮罩邏 輯43的控制下,會選取X”及q[x:〇]分別通過多工器62及 63。在模組27完成部份X”的平方根處理後,其結果資料 會與儲存在Q’緩衝器29的部份結果資料結合,藉以形成 完整的平方根結果資料。 其優點爲,當數學運算要頻繁地執行時,依照本發明 的部份輸出、部份匹配可以顯著地減少系統的呑吐量 (throughput) 〇 雖然上面所舉的實例爲平方根運算,然而熟習此技藝 者可以很容易地瞭解,在熟習此技藝者的知識範圍內,稍 做潤飾,如第2圖所繪示及說明的裝置可以應用在其他數 學運算,例如平方根,除法、乘法、三角函數等等。平方 根計算可以描述如下 ri =2γμ —qi(2QM +qi2_1) (請先閱讀背面之注意事項再填寫本頁) ------ 訂---------線一 經濟部智慧財產局員X消費合作杜印製
除法爲 X
Q γ
ri = 2riH -q〗D 舉例來說,假如X=11101001,Y=K,並且假如新運算 元Χ’ = 111Π011,及Y,z=K,和Y —樣,除了除法有兩個運 15 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 501026 A7 7219pi f . doc/ 0 0 8 ^ 五、發明說明(〇) 算元X及Y之外,除法運算和平方根運算是一樣的。假如 新運算元Υ’和先前的運算元γ —樣,則除法可以視爲一 元運算(unary operation),並且除法可以用ΡΜΡ0快取1〇〇 來執行。 對於乘法,Q = XxY,假如χ=111〇1〇〇1,γ=κ,並且 假如Χ’ = 11111011,及Υ’=Κ,和γ —樣,部份乘法可以用 依照本發明的ΡΜΡ0快取來執行。第5圖繪示的遮罩運算 只有在(X xor X’)AND Χ= 0000—〇〇〇〇才成立。請參照第6 圖,其爲第2圖的裝置的修飾版本,對於具有和第2圖所 繪示的一樣的標號的元件,類似的標號表示相同的運作, 反相功能61爲修飾成用來執行χ,,=χ,-χ,用以抽取部份 運算元。 雖然已參照附圖說明了本發明之實施例,但是要瞭解 本發明並非限制在這些明確的實施例,並且對於熟習此技 藝者在不脫離本發明之精神和範圍內,可以做不同的修飾 及變化。 (請先閱讀背面之注咅5事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
Claims (1)
- 經濟部智慧財產局員工消費合作社印製 501026 A8 B8 7219pif.d〇c/〇〇8 g| 六、申請專利範圍 L一種執行數學運算之方法,其使用一快取結構,具 有一 TAG暫存器及一快取資料記憶體,該方法包括下列 步驟: 將複數個己知運算元儲存在該TAG暫存器,每一個 具有由一數學運算推導出之一對應的結果,該結果儲存在 該快取資料記億體之一對應的位置; 將要執行該數學運算之一新運算元輸入至該TAG暫 存器; 比較該新運算元與該些複數個已知運算元;以及 判斷該新運算元是否匹配於任何已知運算元,並且假 如有匹配的,則從該快取資料記憶體輸出對應於與該新運 算元匹配之該已知運算元之該已知結果。 2.如申請專利範圍第1項所述之方法,更包括下列步 驟: 假如在判斷步驟中沒有匹配的,則判斷該些已知運算 元與該新運算元之間是否有部份匹配的; 選擇具有MSB與該新運算元之MSB匹配之該已知運 算元; 從該快取資料記憶體存取對應於具有最匹配MSB之 該已知運算元之結果; 決定由該已知運算元之該匹配MSB所推導之該存取 的結果之一第一部份; 遮罩該存取的結果之一第二部份,其爲除了該第一部 份之外;以及 提供該遮罩結果做爲一第一部份結果。 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公f ) -----------i -------訂 - ----- 丨-線 (請先閱讀背面之注意事項再填寫本頁) 501026 A8 B8 7219pif .doc/008 β| 六、申請專利範圍 (請先閱讀背面之注意事項再填寫本頁) 3. 如申請專利範圍第2項所述之方法,更包括下列步 驟:對該新運算元之除了該匹配MSB之外之位元執行該 數學運算,產生一第二部份結果;以及藉由結合該第一部 份結果與該第二部份結果輸出一完整結果。 4. 如申請專利範圍第1項所述之方法,其中該數學運 算係該新運算元之一平方根。 5. 如申請專利範圍第1項所述之方法,其中該數學運 算係一除法,其中該新運算元係該被除數。 6. 如申請專利範圍第1項所述之方法,其中該數學運 算係一乘法,其中該新運算元係該被乘數。 7. —種用以執行數學運算之快取裝置,包括: 一 TAG暫存器,用以儲存複數個已知運算元,每一 個具有由一數學運算推導出之一對應的結果; 一快取資料記憶體,用以儲存對應於該些已知運算元 之結果; 經濟部智慧財產局員工消費合作社印製 比較邏輯,在該TAG暫存器中,用以將較一新運算 元,其將要執行該數學運算,與該些複數個已知運算元做 比較,其中假如該新運算元匹配於任何已知運算元,則該 快取資料記憶體輸出對應於與該新運算元匹配之該已知運 具兀之該已知結果。 8. 如申請專利範圍第7項所述之快取裝置,更包括: 一邏輯群檢測器,用以檢測具有一共同邏輯位準之一 群資料,該邏輯群檢測器用以檢測具有匹配於該新運算元 之MSB之最高位數MSB之該已知運算元; 遮罩邏輯,用以部份遮罩對應於具有該最匹配MSB 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公f ) 501026 A8 B8 7219pif.doc/008 六、申請專利範圍 之該已知運算元之該結果,該遮罩邏輯用以通過由該已知 運算元之該匹配MSB推導出之該對應結果之一第一部份 以及用以遮罩該對應結果之除該第一部份以外之一第二部 份;以及 ’ 一多工器,用以多工傳輸該對應結果之該第一部份至 一數學單元。 9.如申請專利範圍第8項所述之快取裝置,更包括一 第二多工器,其中該數學單元對該新運算元之除該匹配 MSB以外之位元執行該數學運算,藉以產生一第二部份結 果,該第二多工器用以多工傳輸該第二部份結果至該數學 單元,其中該第二部份結果與該第一部份結果結合,藉以 形成一完整結果。 -----------—----—訂--------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/757,789 US6542963B2 (en) | 2001-01-10 | 2001-01-10 | Partial match partial output cache for computer arithmetic operations |
Publications (1)
Publication Number | Publication Date |
---|---|
TW501026B true TW501026B (en) | 2002-09-01 |
Family
ID=25049225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW090103096A TW501026B (en) | 2001-01-10 | 2001-02-13 | Partial match partial output cache for computer arithmetic operations |
Country Status (7)
Country | Link |
---|---|
US (1) | US6542963B2 (zh) |
EP (1) | EP1223505B1 (zh) |
JP (1) | JP4574030B2 (zh) |
KR (1) | KR100423893B1 (zh) |
CN (1) | CN1194301C (zh) |
DE (1) | DE60127524T2 (zh) |
TW (1) | TW501026B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050108368A1 (en) * | 2003-10-30 | 2005-05-19 | Aditya Mohan | Method and apparatus for representing data available in a peer-to-peer network using bloom-filters |
DE102004019967B4 (de) * | 2004-04-23 | 2014-02-13 | Rohde & Schwarz Gmbh & Co. Kg | Signalverarbeitungseinrichtung mit Nachverarbeitung |
US9189412B2 (en) * | 2013-03-07 | 2015-11-17 | Mips Technologies, Inc. | Apparatus and method for operating a processor with an operation cache |
US10514928B2 (en) | 2014-04-17 | 2019-12-24 | Arm Limited | Preventing duplicate execution by sharing a result between different processing lanes assigned micro-operations that generate the same result |
US9817466B2 (en) | 2014-04-17 | 2017-11-14 | Arm Limited | Power saving by reusing results of identical micro-operations |
US9933841B2 (en) | 2014-04-17 | 2018-04-03 | Arm Limited | Reuse of results of back-to-back micro-operations |
GB2525263B (en) * | 2014-04-17 | 2021-06-02 | Advanced Risc Mach Ltd | Reuse of results of back-to-back micro-operations |
US9946331B2 (en) * | 2014-06-27 | 2018-04-17 | Samsung Electronics Co., Ltd. | System and method to process signals having a common component |
GB2528497B (en) * | 2014-07-24 | 2021-06-16 | Advanced Risc Mach Ltd | Apparatus And Method For Performing Floating-Point Square Root Operation |
US10261911B2 (en) * | 2016-09-08 | 2019-04-16 | The Johns Hopkins University | Apparatus and method for computational workflow management |
US11269643B2 (en) | 2017-04-09 | 2022-03-08 | Intel Corporation | Data operations and finite state machine for machine learning via bypass of computational tasks based on frequently-used data values |
JP7143866B2 (ja) | 2020-03-25 | 2022-09-29 | カシオ計算機株式会社 | キャッシュ管理プログラム、サーバ、キャッシュ管理方法、および情報処理装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4734878A (en) | 1985-10-31 | 1988-03-29 | General Electric Company | Circuit for performing square root functions |
JP2613223B2 (ja) * | 1987-09-10 | 1997-05-21 | 株式会社日立製作所 | 演算装置 |
CA2074769C (en) * | 1991-08-09 | 2001-03-20 | International Business Machines Corporation | Formula processor |
US5260898A (en) * | 1992-03-13 | 1993-11-09 | Sun Microsystems, Inc. | Result cache for complex arithmetic units |
US5828591A (en) * | 1992-11-02 | 1998-10-27 | Intel Corporation | Method and apparatus for using a cache memory to store and retrieve intermediate and final results |
US5537560A (en) * | 1994-03-01 | 1996-07-16 | Intel Corporation | Method and apparatus for conditionally generating a microinstruction that selects one of two values based upon control states of a microprocessor |
US5845103A (en) * | 1997-06-13 | 1998-12-01 | Wisconsin Alumni Research Foundation | Computer with dynamic instruction reuse |
US6810474B1 (en) * | 1998-03-04 | 2004-10-26 | Hitachi, Ltd. | Information processor |
US6253287B1 (en) * | 1998-09-09 | 2001-06-26 | Advanced Micro Devices, Inc. | Using three-dimensional storage to make variable-length instructions appear uniform in two dimensions |
US6298369B1 (en) * | 1998-09-30 | 2001-10-02 | Stmicroelectronics, Inc. | High speed multiplier |
US6343359B1 (en) * | 1999-05-18 | 2002-01-29 | Ip-First, L.L.C. | Result forwarding cache |
-
2001
- 2001-01-10 US US09/757,789 patent/US6542963B2/en not_active Expired - Lifetime
- 2001-01-26 KR KR10-2001-0003728A patent/KR100423893B1/ko active IP Right Grant
- 2001-02-07 JP JP2001031314A patent/JP4574030B2/ja not_active Expired - Fee Related
- 2001-02-09 EP EP01301168A patent/EP1223505B1/en not_active Expired - Lifetime
- 2001-02-09 CN CNB011119861A patent/CN1194301C/zh not_active Expired - Lifetime
- 2001-02-09 DE DE60127524T patent/DE60127524T2/de not_active Expired - Lifetime
- 2001-02-13 TW TW090103096A patent/TW501026B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP4574030B2 (ja) | 2010-11-04 |
US6542963B2 (en) | 2003-04-01 |
EP1223505B1 (en) | 2007-03-28 |
US20020120814A1 (en) | 2002-08-29 |
CN1365049A (zh) | 2002-08-21 |
CN1194301C (zh) | 2005-03-23 |
KR100423893B1 (ko) | 2004-03-24 |
EP1223505A3 (en) | 2004-06-16 |
KR20020060547A (ko) | 2002-07-18 |
JP2002229775A (ja) | 2002-08-16 |
DE60127524T2 (de) | 2008-01-31 |
DE60127524D1 (de) | 2007-05-10 |
EP1223505A2 (en) | 2002-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW501026B (en) | Partial match partial output cache for computer arithmetic operations | |
US5204953A (en) | One clock address pipelining in segmentation unit | |
US4338675A (en) | Numeric data processor | |
US6487575B1 (en) | Early completion of iterative division | |
JP5893012B2 (ja) | 多機能命令のうちの選択されたインストール済み機能を隠蔽するためのコンピュータで実装される方法、コンピュータ・システム、およびコンピュータ・プログラム | |
US6085210A (en) | High-speed modular exponentiator and multiplier | |
JPH0635675A (ja) | データプロセッサにおいて除算を行うための方法および装置 | |
US5381360A (en) | Modulo arithmetic addressing circuit | |
US4466077A (en) | Method and apparatus for division employing associative memory | |
JPH04230575A (ja) | データプロセッサにおいてキーハッシングを行う方法およびその装置 | |
TW201346715A (zh) | 十進位浮點資料邏輯提取的方法與設備 | |
US10983755B2 (en) | Transcendental calculation unit apparatus and method | |
US5828591A (en) | Method and apparatus for using a cache memory to store and retrieve intermediate and final results | |
CN114139693A (zh) | 神经网络模型的数据处理方法、介质和电子设备 | |
US10552150B2 (en) | Efficient conversion of numbers from database floating point format to binary integer format | |
US6751645B1 (en) | Methods and apparatus for performing pipelined SRT division | |
US6779008B1 (en) | Method and apparatus for binary leading zero counting with constant-biased result | |
CN113032797B (zh) | 在处理设备中执行加密操作的方法 | |
US6834293B2 (en) | Vector scaling system for G.728 annex G | |
US6870775B2 (en) | System and method for small read only data | |
Knöfel | A hardware kernel for scientific/engineering computations | |
TWI310516B (en) | A method and system for saturating a left shift result using a standard shifter | |
Fischer et al. | Scalable rsa processor in reconfigurable hardware-A soc building block | |
RU2276805C2 (ru) | Способ и устройство для выделения целой и дробных компонент из данных с плавающей точкой | |
JP2972326B2 (ja) | 平方根計算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |