經濟部中央標準局員工消費合作社印裝 318228 A7 __B7 五、發明説明(1 ) 技街領域 此發明一般而言是有關電腦電路,並且更特別地是有關 計算陣列。 發明背景 一計算陣列包括許多可用於各種電腦和需要平兮運算的 電子應用的計算元件。該每一個計算元件平行的執行不同 的計算做爲此計算的一部份。對某些計算而言,可能需要 許多超過大多數計算所需要的平行計算數目的平行運算。 結果,並非所有的計算可用足以應付通常應用中所採用的 計算元件數的計算陣列來執行。爲了達成在此情況下所需 的m額外的平行計算,可提供額外的計算元件。然而,該 計算元件的某些在其他只需要較一般的計算時可能就不會 被用到,導致有用資源的浪費。因此,所需要的是提供— 個較直效使用其中計算元件的計算陣列。 附圖之簡要敘述 圖1是根據本發明之較佳具體實例所提供的計算陣列的 電腦系統的方塊電路圖和資料流程圖。 囷2是根據本發明之較佳具體實例所提供的計算陣列中 的計算元件的方塊電路圖和資料流程圖。 圏3是根據本發明之較佳具體實例的該計算元件所執行 的該方法的流程圖。 - 圈4是根據本發明之較佳具體實例的隨機存取記憶體的 方塊圖及該内容4圖示。 圖5是根據本發明之較佳具體實例所提供的結果暫存器 I -¾------1T------Μ (請先閲讀背面之注意事項再填寫本頁} -4-
318228 at _____B7 五、發明説明(2 ) 組的方塊圖。 圖6是根據本發明之較佳具體實例所提供的權數暫存器 組的方塊圖。 較佳具體實例之敘述 在本發明之較佳具體實例中,提供一個有效地計算多項 式的計算陣列。計算多項式的一個方法是平行計算該多項 式的每一項,在該計算陣列中將—不同的計算元件指派給 每一個不同的項,以便每一個所使用的該計算元件正好計 算一個項》在此一計算中,在該多項式的每—項有一相關 係數’或權數,乘以一個或多個變數,每一個皆爲一次方 。每一個計算元件透過遑當地將在該項中的每一個變數指 數化並且加權每一項來計算在該多項式中不同的項。對某 些多項式計算而言,必須計算超過在多項式中所顯示的數 目的許多項。在此情況下,計算陣列的每—個計算元件只 計算該多項式的一項,如上所逑,需要超過一般的計算元 件數目的計算元件數目,在其他情泥下該一般計算元件數 已足以計算該多項式。結果,一個只有此種一般數吕計算 元件的計算陣列無法計算該多項式,除非在該計算陣列中 經濟部中央標準局男工消費合作衽印製 包括較多計算元件。然而,當需要一般數目的計算時,某 些該什算元件有時不會被使用,這將導致有用資源的浪費 〇 本發明之較佳具體實例藉著提供一個包括至少一個能計 算多項式多重項的計算元件的計算陣列來提供克服此問題 的優點。該計算元件得到在該多重項中一個變數的輸入値 -5- 本纸張尺度適用中關家縣(CNS ) A4規格(2似297公爱) 經濟部中央標準局貝工消費合作社印製 318228 A7 _______B7__ 五、發明説明(3 ) " ~~ 並且得到一個獨特地辨識該變數的下標。該計算元件根據 孩下標從一個記憶體的記憶體位置_讀取一項辨識器和— 指數。孩項辨識器獨特地辨識一個包括由該下標來辨識的 該變數的項。由於使用一變數來辨識要計算的該項,該計 算元件僅計算不共用任何該相同變數的多重項。因此,可 根據該變數來辨識該項。該指數指示該變數要乘的次方。 該計算元件根據該指數將該輸入値乘以該輸入値本身妤幾 /入以產生一心數化的値。此過程對在被該計算元件計算 的每一個不同的項中每一個或多個變數執行。對每一個不 同的項而言,若該項包括複數個變數,該計算元件將該符 合的複數個指數化的値相乘,以產·生一項値,並且將該項 値與一符合該項辨識器的權數相乘以產生一加權項値。因 此,當該計算元件計算多重項時,該計算元件產生符合的 複數個加權項値,每一個不同項的該加權項値根據符合每 —個不同項的每一個不同的項辨識器被儲存在不同記憶體 位置的該記憶體内。 透過使用每一個變數以決定該項辨識器,並且透過使用 該項辨識器以區分被該計算元件計算的每一個不同的項, 對每一項施加該適當的權數値,並且根據該項辨器將每一 個不同項的該加權項値儲存在—記憶體位置,一單1計算 兀件可計算多重項β結果,該較佳具體.實例的該計算陣列 較具有相同數目< 計算元件而每一計算元件卻僅計算一項的 計算陣列能提供.計算一較大數目項的優點1同樣地,當與 —有較多計算元件而每一計算元件卻僅計算一項的計算陣 -6- 本紙伕尺度適用中國國家標準(CNS ) Α4規格(210X297公釐) (請先閱讀背面之注意事項再填寫本瓦) 裝 • 丁 _ 線 經濟部中央標準局貝工消費合作社印製 A7 B7 五、發明説明(4 ) 列比較時,該較佳具體實例的該計算陣列提供計算相同數 目項的該優點。此提供了減少或消除不被使用的計算元件 的優點,並具因而節省資源。 本發明之較佳具體實例中,每一個計算元件從主機得到 該輸入値並且從該主機得到一下標位置做.爲該下標。該主 機起初透過不同的計算元件指派要被計算的該項,以便沒 有一個計算共用任何—個該相同的變數的項的計算元件。 每一個計算元件從在該下標位置的一隨機存取記憶體中讀 取該項辨識器和該指數>該計算元件選擇一符合的相關係 數,或權數値’以施加到被該計算元件所計算的項,透過 最初將該權數値儲存在一被選擇的‘符合該項辨識器的結果 暫存器中做爲一結果値。該計算元件根據該指數値,將最 初爲權數的該結果値與該輸入値相乘好幾次,每次將每一 個結果回存到該被選擇的結果暫存器做爲結果値。對每— 個有相同項辨識器儲存在該下標位址的額外變數並且因而 屬於該相同的項而言該計算元件再度根據該指數的該値 將該結果値與該輸入値相乘好幾次,每次將每一個結果値 回存到該被選擇的結果暫存器中做爲該結果値。儲存在該 結果暫存器中的該結果値是該項—部份被計算的値直到該 項的計算完成,那時,該結果値變成該項最後被計算.的値。 透過將不同項的該結果値放在不同的結果暫存器中,該 計算元件正確地計算該項,不論它接收該變數的順序爲何 。亦即,該計算·元件可能最先接收在第一項内的一個變數 ,然後是在第二項内的一個變數,然後是在該第一項内的 -7- 本纸伕尺度速用中國國家標準(CNS ) A4規格U10X297公釐) 裝 II 訂 線 (讀先閱讀背面之注意事項再填寫本頁) 3iS_ A7 B7_ 五、發明説明(5 ) — 另一個變數,並且一直繮續β既然每一個不同項的該結果 値被放在不同的結果暫存器内,每一項將被正確地計算β 因此’該主機不必分類該變數的該輸入値和下標位址,因 而提供較快和較有效計算的優點。 圖1是根據本發明之較佳具體實例所提供的計算陣列的 電腦系統的方塊電路圖和資料流程圖。在圖^中,主機11〇 被連接到一計算陣列120。該主機110是例如任何一種其軟 體能將輸入提供到該計算陣列120並且從該計算陣列12〇得 到.輸出,以計算一多項式的該項的傳統電腦。在該較佳具 體貫例中,該計算陣列.120在例如積體電路等的數位電路 上實現。該電路可在一獨立的電腦•,獨立的設備中提供, 做爲一獨立的硬體元件或做爲該主機11〇的一部份。當該 計算阵列120被實現爲一積艘.電路時,本發明據此提供 保留晶片區域的優點。對熟於先前技術的人將了解到根據 在所述的本發明,該計算陣列可以各種方法來實現。 該主機110使用該計算陣列120以執行需要平行計算的應 用,例如在此所述的該多項式運算。該計算陣列12〇包括 許多執行平行計算的計算元件130。該計算元件13〇從該主 機110透過該計算陣列12〇接收各種輸入,執行該適當計算 並根據這些計算的結果提供輸出到該主機110。計算多項 式的計算降列的範例在(MNE0Q315),襟题爲”用於提供平 行乘法的計算陣列電路”,於日歸檔,在此被 併入做爲參考。此外,一個有關現有計算元件的敘述可在 美國專利第5,39(U36號’於1995年2月14曰發表,標題爲《 -8- 本纸乐尺度速用中國國家標準(CNS ) A4規格(210X297公釐) ---------餐------tr------^ (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標隼局貝工消費合作社印装 經濟部中央標準局貝工消費合作社印装 A7 B7 五、發明説明(6 ) 人工神經元及其使用方法”,同樣也在此被併入參考。 現在將詳細敎述該較佳具體實例之該計算元件13〇 ^可 能會被該較佳具體實例的該計算陣列計算的—多項式的範 例如下 5^νιΧ]^Χ2^Χ4 + W2X1X3^ + W3X3X^...... 其中 ,W2X1x32 和 W3X3X5 皆爲項,χι,勺,芍,y , 和x5是變數,並wi,w2和w3是權數.。該計算元件13〇有計算 多項式之多重項的能力’並且因而可計算,例如,在上述 範例中沒有相同變數的Wixpx^j^和W3X3X5兩個項。圏2是 在4十算眸·列120中計算元件130的方塊電路和資料流程圏。 如在圖2所示,該計算元件130包括一個從圖1的該主機11〇 接收一輸入値和一下標位址的控制單元21〇。該輸入値是 在該多項式一個項中要被該計算元件13〇計算的—個變數 的値。該下標位址獨特地符合有該輸入値的該變數。 該控制單元210在從該主機U0得到的該下標位址的—隨 機存取記憶體220中,讀取一項辨識器和一指數。替代地 ’熟於先前技術的人將了解,該隨機存取記憶禮220可以 是任何一種記憶體或儲存裝置。根據在此要被該計算元件 *十算的該項和該變數’項辨識器和指數已先被該主機11〇 儲存起來,稍後將詳細敘述β該項辨識器獨特地辨識包括 具有目則已被接收的輸入儘的該變數的該項.β該指數是具 有該輸入値的該雙數的指數並且因而是要被乘的該輸入値 的該次方。該控.制單元210將該輸入値,該項辨識器和該 指數提供給一計算單元230。 9 參纸張尺度適用中國國家標準(CNS ) Α4規格(210X297公| ) ----------装------1Τ------.^- (請先閲讀背面之注意事項再填寫本頁) . 經濟部中央標準局貝工消f合作社印製 A7 _______B7_ 五、發明説明(7 ) 該計算單元230根據在所有要被計算的項中的所有變數 的該輸入値和該指數以及根據每一項被選擇的權數値來計 算要被計算的每一項。特別地,該權數暫存器組24〇包括 許多權數暫存器,每一個儲存一要被施加到該計算元件 B0計算的該多重項中一符合的項。該權數暫存器組24〇從 該主機110得到該權數値做爲權數輸入。熟於先前技術的 人將了解到在计算多項式時選擇和修正權數値的過程。該 權數輸入每一個被儲存做爲在該權數暫存器組24〇的不同 權數暫存器中用於不同項的權値。在該多項式的每一個計 算之別,該權數暫存器組將在該權數暫存器内的該權數値 提供給在結果暫存器組250中符合的結果暫存器。因此, 在I亥多項式被計算之前,在該結果暫存器25〇内的每一個 ’··σ不·暫存器將要被應用的該權數値儲存到每一個不同的項 。如將在以下詳細敘述的,在該多項式的計算期間,當計 算該項時,每一個結果暫存器儲存用於符合的項的一個變 動的結果値。 熟於先前技術的人將認識到該計算單元23〇可以各種方 式實現。例如,該計算單元在對數計算環境中提供該計算 睁列之處可包括一乘法器或可以包括一加法器。例如_,該 计算陣列可在對數轉換電路和反對數轉換電路之間提供, 類似於該系統的是在如上所逑的^翌〇315),標題爲《用 於提供平行乘法:的計算阵列電路”,於,5年3月3日麗 0 ' * 現在將詳細解釋由圖2該計算元件13〇所執行的該方法。 . -10 - 本紙張尺度適用中國國家標準(CNS ) A4規格(2IOX297公慶〉 (請先閲讀背面之注意事項再填寫本頁) 裝 訂 經濟部t失樣隼%員r.肖乍.-i.pi 〇1^Si28 at __ B7 - --_ _____ - _ _____ 五'發明説明(8) 起先,該主機110在不同記憶體位置的每一個計算元件130 的該随機存取記憶體220中儲存一項辨識器和一指數,每 —個符合在踌計算元件130要計算的所有該項中該變數之 —。如上所述’該主機110指派每一個計算元件13〇沒有相 同變數的項。因而’被計算元件130計算的該項中的每一 個變數一旦在該隨機存取記憶體220中即被表示出。在每 —個多項式計算之前,該主機110將權數輸入提供給該計 弄元件130,該计算元件130在符合每一個該計算元件要計 算的該多重項間的該不同項的不同的權數暫存器中儲存該 權數輸入做爲權數値。逹啓發了該計算元件130計算多重 項。圖3是根據本發明之該較佳具體.實例的該計算元件13〇 計算一多項式項所執行的該方法的流程圈。在圈3的步驟 310中,對被該計算元件13〇所計算的、”項的每一項"t ”而言,該計算元件U0將該結果値,在此稱爲結果[t], 該値是被儲存在該結果暫存器組250符合的該結果暫存器 之一内的一符合的該結果暫存器之一,起始到在該權數暫 存器組240中的該相同項t的該權數値,在此稱爲權數[t]。 在步驟320中’該計算元件130從將被主機11〇所計算的一 個項中得到一個變數的該輸入値。在步驟330中,該計算 元件130從該主機110中得到該變數的該下標位址。在步驟 340中,該計算元件130從顯示在圖2中的該隨機存取記憶 體220中,在從步驟330中得到的該下標位址讀取該項辨識 器。例如,若以τ多項式的該變數是來自W3X3X5的Χ5, y=w1x13X22X4 + w2xix32 + W3X3X5 -11 - 本紙法尺度適用中國ϋ標準(CNS ) A4規格(21〇沁297公爱) 一 ' I 裝 訂 線 (請先閲讀背面之注意事項再填寫本頁) 一
經濟部中央標準局員工消費合作社印製 Θ符0的下標是5且該符合的下標位址是刪5,然後該計 算元件130在位址_5從該隨機存取記憶趙22〇中讀取該項 辨識器。在該較佳具體實例中,該隨機存取記憶體22〇如 圖4.所示該隨機存取記憶體每一數元包括該項辨識器和 該指數。在一可能具體實例中,該隨機存取記憶體22〇, 或該隨機存取記憶體220的一部份用於在此所敘述的函數 疋128數tl,如圖4所示。然而,任何熟於先前技術的人將 知道儲存該辨識器和該指數的該記憶體可以是有許多可能 的形式和大小,根據該下標错存在一位置的該項辨識和該 指數,包括不同大小或辨識儲存位置,並且將實現一個有 最適合目前該應用的特質的記憶體β 在圖4的該随機存取記憶體22〇包括一個符合每一變數的 一 byte變數領域41〇 ^於圖4顯示的該128位元的随機存取記 憶體220的該下標的範圍因而是從位址㈤⑽到〇127。每—個 變數領域包括一項領域420及一指數領域430 ^該項領域 420儲存該項辨識器並且該指數領域43〇儲存該指數。因此 ’回到上述的該範例,該計算元件13〇從在該隨機存取記 憶體220中的該位址0005讀取該項辨識器。熟於先前技術的 人將了解記憶體投入每—領域的該數目可根據目前的.應用 來選擇,例如,每一個變數可能指派4位元’其中2位..元代 表該項辨識器,該4位元因而有4個可能的變數〇-3,以及2 位元代表該指數,該4位元因而有4個可能的變數〇_3。 回到圏3,在步驟350中’該計算元件130從在步驟330中 所ί于到該下襟位址的在圖2所示的該隨機存取記憶體220中 -12- 本紙張尺度適用中國國家榡準(CNS ) Α4規格(2丨ΟΧ 297公釐) (請先閣讀背面之注意事項再填寫本頁) .裝- 訂 線 A7 B7 經濟部中央標準局貝工消費合作社印裝 五、發明説明(1〇) 讀取該指數。例如,若該目前變數是巧且該下標是《5” ,然後該計算元件130從在位址〇〇〇5的該隨機存取記憶體,争《 讀取該指數❶因爲X5,有一指數《〗”,該計算元件13〇將 從位址0005的該指數領域430中讀取該數目。替代地 ,若該變數是,例如,Xl3,然後該指數是《 3 ” ,立且因 此該計算元件將從在位址〇〇〇1的該指數領域43〇中讀取該數 目” ”。 在圖3的步驟360-380中’該計算元件13〇根據該輸入値和 違心數來计算該變數的該傻a在步骚360,該計算元件130 將計數値設定爲該指數的該値。若該變數有—爲"3 ”的 指數’該計數將被設定爲3的値。在步驟365中,該計算元 件Π0決定該計數是否保持在〇以上。在常數的情沉下,亦 即,一個不與一變數相乘的相關係數或權數値,然後該指 數等於0。在此情況下’該計算的該値是〇以便步驟365被 執行的第一次控制即分支到步樣385,且步綠370和380從 未執行。因而’該結果値結果[t]保持等於儲杳在該相同 項的該權數暫存器600中的該權數値權數[t] ^然而,繼續 先前範例’當該計算的該値是3,控制進行到步驟370。在 步驟370,該計算元件130根據該項辨識器從—記憶體位置 讀取結果[t],將結果[t]與該輸入値相乘並且將該結.果値 I故爲该新結果値結果[t ]回存到該相同記憶體位置e例如 ,該計算元件130從符合該項辨識器的該結果暫存器組25〇 中一被選擇的結果暫存器讀取結果江]^在該被選擇的結 果暫存器中的該値與在符合該相同項辨識器的該權數暫存 -13- 本纸乐尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 批衣-- (請先閲讀背面之注意事項再填寫本頁) 訂 經濟部中央揉準局員工消費合作社印製 A7 ______—__B7 五、發明説明(Ί1 ) *-器组240中該權數暫存器的該値相同β 該較佳具體實例的該結果暫存器組25〇顯示於圖5。該結 果暫存器組250包括一個用於每一項的結果暫存器5〇〇。; 而,對η個可咸的項而言,-該結果暫存器組25〇包括結果暫 存器#0,#1,#2.·.…如。該較佳具體實例的該權數暫存器组 240顯示於圖6。同樣地,該較佳具體實例的該權數暫存器 組240包括權數暫存器#0,#1,#2......如。繼續上述該變數爲 父5的範例,該計算元件130從在該下標位址的該隨機存取 記憶體220中讀取該項辨識器。假設儲存在該下標位址⑻〇5 的該變數領域410的該項領域420中的該項辨識器是《2” ,然後該被選擇的結果暫存器5〇〇是結果暫存器#2。最初 儲存在結果暫存器#2的結果[2]的該値是儲存在權數暫存 器#2中權數[2]的該値。假設項釣的權數輸入等於〇5,然 後0.5被儲存在結,暫存器#2中。因而,如上所述,儲存 在結果暫存器#2的結果[項辨識器]r[t】的該値同樣等於〇5 。假設該變數X i的一輪入値是等於1〇 〇,然後該第—時間 步驟370被執行,該輸入値10.0與該權數[t]0.5相乘並且該 結果値5.0被儲存在結果暫存器#2中做爲加權輸入.値。 在步驟380中,該計算被減少並且控制迴路回到步骤365 。此確保步驟370和38〇將被執行等於該指數的該値的次數 ’這依次也確保該目前變數的該値被指數化至該正確的程 度。繼續上述的範例’該計算被減爲2並且控制進行到步 樣370。在步驟37〇,儲存在結果暫存器# 2中的結果[2】的 該目前値再度與該輸入値相乘。因而,5〇將與1〇〇相乘並 ,14- 本纸張尺度ϋ用巾關家標準(CNS)祕丨。格(2IQx297公董) 裝 訂M f讀先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印裝 A7 B7 五、發明説明(12) ~ 且該結果値50.0將被回存在結果暫存器#2中。在步驟3如, 該計算被減爲1並且控制再度進行到370,在此儲存在結果 暫存器# 2的該値50.0再度與該輸入値1〇 〇相乘並且該結果 値500.0被回存在結果暫存器#2中做爲加權指數値。該 被減爲0,並且制迴路至步驟365。此時,在步驟365中7, 控制分支至步驟385。在步驟3S5,該計算元件13〇決定是 否從該主機1H)接收較多輸入。若爲是,控制迴路至步驟 320並且得到下一輸入値和下標位址。 若,在上述範例中,要被計算的該整個項是wixi3,然後 500.0是儲存在結果暫存器#2中的最後結果,當,在步驟 385中,該計算元件13〇最後決定不再接收任何輸入。若接 收到的該下一個輸入値和下標位址符合在„不同項内的變 數,除了 2之外的項辨識器將被儲存在該随機存取記 憶體220所接收到的下標位址的該適當的變數領域41〇的該 項領域420中。因而,該新變數將被計算並且儲存在該結 果暫存器組250中的一個不同的結果暫存器5〇〇内。甴於一 不同權數[t]最初被儲存在步驟310内用於每一項的該社果 暫存器5〇〇中,一個不同的權數[t]將被應用到每„個^二 項。在另一方面,若所接收到的該下一個輸入値和下標位 置如前面所述的符合在該相同項内的另一個變數,儲存在 該隨機存取記憶體220所接收到的該下標位址的該變數領 域410的該項領域420内的該項辨識器將同樣地是2 ” 。 結果’該下一個輪入値將與在結果暫存器#2内的該目前結 果[t ]相乘,該値最初是500.0,由該指數所指示的次數被 -15- 本紙張尺度逋用中國囷家標华(CNS ) μ規格(210X297公釐) (請先閱讀背面之注意事項再填寫本頁) -絮- 、v5 經濟部中央標準局員工消費合作社印製 318228 A7 __B7 五、發明説明(13) 儲存在該新的下標位址,並且該結果値每次將被儲存在結 果暫存器#2中。 一旦完成該計算元件130要計算的所有項的計算,該計 算元件130然後將在該結果暫存器5〇〇中的該最後輸出値輸 出至該主機110。替代性地,該主機u〇從結果暫存器5〇〇 中漬取该輸出値。該主機H0可能包括一加總電路,以硬 體或软體來貫現’該電路從所有該計算元件中計算每 一輸出値的該加總,以計算該多項式。替代性地,圖1的 该電腦系統可能包括一提供在,例如,該計算陣列和該主 機之間,的額外加總電路(未顯示),該電路從所有該計算 元件13〇中计算每一輸出値的加總,以計算該多項式。 上逑的該計算陣列120比有相同數目的計算元件而每一 計算元件卻只計算一項的計算陣列,提供計算較多項的優 點。同樣地,該較佳具體實例的該計算陣列12〇比有較多 計算元件而每一計算元件卻只計算—項的計算陣列,提供 計算相同數目項的優點。此提供了節省能源的優點。例如 ,热计算陣列120被實現爲一積體電路時,節省了晶片區 域。然而本發明的特殊具體實例已被顯示和敘述,對這些 熟於先前技術的人將產生進一步的修正和改良。所了解的 是本發明不限於所示的該特殊形式並且本發明在附件之專 利申請範圍中意圖涵蓋落於本發明該眞實精神和範疇'^本 發明所有修正。 -16 - 本纸張尺度適财咖家縣(CNS) A4規格(21()><297公 裝------訂I-:-----線 (請先閱讀背面之注意事項再填寫本頁)