專利名稱::具有可變精度互連的數(shù)據(jù)處理單元的陣列的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明一般地涉及電子邏輯電路,并且更具體地涉及處理可變精度數(shù)據(jù)的系統(tǒng)和方法,可變精度數(shù)據(jù)使用標記來標識數(shù)字在數(shù)據(jù)字內(nèi)的位置。
背景技術(shù):
:正如計算機技術(shù)取得的進步,處理功率的數(shù)量和計算機系統(tǒng)的速度增加了。這些系統(tǒng)能夠執(zhí)行軟件程序的速度也因此增加了。然而,盡管有這些增加,仍然存在著使軟件程序執(zhí)行得更快的持續(xù)的愿望。對速度的需要有時通過硬件加速來處理。傳統(tǒng)的處理器對于順序程序的每個指令重復(fù)使用相同硬件。程序常常包含關(guān)鍵碼,其中相對于應(yīng)用程序中的大多數(shù)其它部分,軟件的相同或類似部分被執(zhí)行很多次。為了加速程序,增加額外的硬件,以便為程序的關(guān)鍵碼段提供硬件并行性。取決于數(shù)據(jù)的可用性,這提供了同時執(zhí)行關(guān)鍵碼段中的所有指令的效果。此外,有可能打開迭代循環(huán),以便同時執(zhí)行單獨的迭代,從而進一步加速軟件。雖然存在將要取得的速度進步,但是這并不是不受約束的。必須特別針對正被討論的軟件應(yīng)用程序來設(shè)計硬件。在硬件中實現(xiàn)功能通常要比在軟件中實現(xiàn)它花費更多的大量努力和資源。最初,實現(xiàn)算法的石更件結(jié)構(gòu)必須基于標準來選擇,如所執(zhí)行的操作及其復(fù)雜性、輸入和輸出數(shù)據(jù)格式和吞吐量、存儲要求、功率要求、成本或面積限制以及其它合適的標準。然后根據(jù)硬件仿真和與軟件的比較,來建立仿真環(huán)境以提供對實現(xiàn)的驗證。根據(jù)系統(tǒng)總體要求來選擇硬件目標庫。最終目標可為專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其它類似的硬件平臺。硬件設(shè)計然后開始使用硬件描述語言(HDL)、目標庫和仿真環(huán)境。對HDL設(shè)計執(zhí)行邏輯合成,以產(chǎn)生基于目標庫來表示硬件的連線表(netlist)。雖然有很多在處理中始終使用的復(fù)雜而昂貴的設(shè)計工具,一般需要頻繁的迭代以便管理例如在定時、面積、功率和功能之間的權(quán)衡。硬件設(shè)計過程的困難是設(shè)計目標的功能和目標庫。半導(dǎo)體技術(shù)的持續(xù)進步隨著每個新處理的產(chǎn)生而繼續(xù)提高設(shè)備參數(shù)的重要性。這與變得可能的更大設(shè)計密度結(jié)合,確保硬件設(shè)計過程將隨著時間而繼續(xù)增加復(fù)雜性。本發(fā)明涉及硬件中算法的實現(xiàn),該硬件對數(shù)據(jù)執(zhí)行邏輯或算法操作(operation)。目前可利用的方法分布在使用單個處理器、處理器陣列、固定(門陣列)或現(xiàn)場可編程門陣列(FPGA)、或標準單元(ASIC)或全定制設(shè)計技術(shù)的范圍內(nèi)。一些設(shè)計可合并多于一種方法的單元。例如,處理器可合并現(xiàn)場可編程邏輯塊。當比較可編程邏輯的不同實現(xiàn)時,有時使用粒度(granularity)的概念。它涉及對給定方法的最小可編程設(shè)計單位。粒度可在從晶體管,通過門和更復(fù)雜的塊,到整個處理器的范圍內(nèi)變化。在比較可編程硬件結(jié)構(gòu)時的另一考慮是可編程單元的互連布置。它們可在從簡單的面向位的點到點布置到各種拓樸、縱橫制(crossbar)以及甚至更奇異的配置的更復(fù)雜共享總線的范圍內(nèi)變化。能、面積和功率權(quán)衡能力。所使用的庫通常是門和寄存器級別。由于設(shè)計流程被所需要的各種復(fù)雜工具所強加,設(shè)計時間可能是重要的。在設(shè)計之后對功能和定時的驗證常常是實際計劃表的較大組成部分。除了昂貴的設(shè)計工具以外,制造工具的費用還很高且隨著每個新的處理的產(chǎn)生而上升,使得這種方法只對于很高利潤或很大容量的設(shè)計才是經(jīng)濟的。使用全定制或標準單元技術(shù)實現(xiàn)的算法是固定的(在最初設(shè)計期間就達到預(yù)期的程度),并且不可以改變。對固定或傳統(tǒng)門陣列的設(shè)計方法類似于標準單元的設(shè)計方法。傳統(tǒng)門陣列的主要優(yōu)點是產(chǎn)品上市時間和較低的單位成本,因為個別設(shè)計以公共平臺或基片為基礎(chǔ)。相比于定制或標準單元設(shè)計,靈活性和電^各密度可^皮減少,因為只利用未被授權(quán)的門和路由選擇信道。像利用定制或標準單元技術(shù)構(gòu)建的算法一樣,使用傳統(tǒng)門陣列實現(xiàn)的算法是固定的且在制造之后不可改變。像傳統(tǒng)門陣列一樣,F(xiàn)PGA基于標準設(shè)計,但是可編程。在這種情況下,標準設(shè)計是完成的芯片或設(shè)備,而不是子系統(tǒng)模塊和未被授權(quán)門的塊??删幊绦源蟠笤黾恿嗽O(shè)備的面積,對于一些應(yīng)用產(chǎn)生了昂貴的解決方案。此外,由于增加的阻抗和相關(guān)聯(lián)的傳播延遲,可編程互連可限制流量和性能。FPGA具有復(fù)雜的宏塊(microblock)作為設(shè)計單元,而不是簡單的門和寄存器。由于可編程邏輯塊、互連網(wǎng)絡(luò)和相關(guān)聯(lián)的緩存器的低效率,功率消耗可能是一個問題。使用FPGA實現(xiàn)的算法可被改變,并因此被認為是可編程的。由于互連結(jié)構(gòu),它們可只在不活動時(沒有時鐘運行)被配置。重新編程所有必要的互連和邏輯塊所需要的時間可能相對于設(shè)備的速度是相當長的,使得實時動態(tài)編程不可行。在用于實現(xiàn)算法的硬件解決方案的連續(xù)體(continuum)中,存在不同程度的困難或?qū)I(yè)化。該連續(xù)體像一個倒置的三角形,因為最低級別需要最高程度的專業(yè)化,因此表示很小基礎(chǔ)的潛在設(shè)計者,而較高級別利用更普遍知道的技能,且潛在設(shè)計者的工具明顯增強了(見表l)。此外,應(yīng)注意,該排序的較低級別表示設(shè)計抽象的較低級別,復(fù)雜性級別在較高級別中上升。表l:不同技術(shù)的設(shè)計者基礎(chǔ)—程序員y/系統(tǒng)設(shè)計者Z硬件設(shè)計者電游4殳計者因此,存在對于提供軟件加速(softwareacceleration)的技術(shù)的需要,該軟件加速提供ASIC的速度和靈活性,容易使用并且可訪問處理器,從而能夠?qū)崿F(xiàn)大型設(shè)計和應(yīng)用基礎(chǔ)。
發(fā)明內(nèi)容本公開內(nèi)容致力于使用數(shù)據(jù)處理單元的陣列來處理數(shù)據(jù)的系統(tǒng)和方法,該數(shù)據(jù)處理單元利用解決上面討論的一個或更多問題的可變精度互連(variableprecisioninterconnect)耦合在一起。一個特定的實施例包4舌具有簡單的單元到單元互連的處理單元的陣列,該互連在寬度上固定,但是支持具有可變精度的數(shù)據(jù)。單元在這些4連接上接收輸入數(shù)據(jù),并也在其上發(fā)送操作結(jié)果。由每個單元執(zhí)行的操作(operation)可以是固定的,或可變/可編程的。只有在發(fā)送者有新數(shù)據(jù)可用且接收者需要新數(shù)據(jù)時,才在單元之間傳送數(shù)據(jù)。此外,可使用異步單元來最小化功率并改善性能。可選的實施例包括多個數(shù)據(jù)處理單元,其被一個或更多互連件耦合以形成陣列,例如行和列的陣列。一個或更多互連件配置成在凄t據(jù)處理單元之間傳送可變精度數(shù)據(jù)。互連件可為同步或異步的。類似地,數(shù)據(jù)處理單元可為同步(全局或本地)或異步的。數(shù)據(jù)處理單元可按固定的方式進行搡作,或它們可以為可編程的,且可為陣列中的可選數(shù)據(jù)處理單元設(shè)旁路。互連件和數(shù)據(jù)處理單元可配置成以數(shù)字串行(digit-serial)方式處理數(shù)據(jù),其中與每個數(shù)字相關(guān)聯(lián)的標記(tag)標識該數(shù)字是否是數(shù)據(jù)字中的第一個和/或最后一個數(shù)字。在一個實施例中,單元陣列耦合到系統(tǒng)總線,該數(shù)據(jù)總線使數(shù)據(jù)能夠在數(shù)據(jù)處理單元和外部設(shè)備(例如外部存儲器)之間傳送,并允許控制信息被傳送到數(shù)據(jù)處理單元及從數(shù)據(jù)處理單元傳送出來。很多其它的實施例也是可能的。當閱讀下列詳細說明時和當參考附圖時,本發(fā)明的其它目的和優(yōu)點可變得清楚。圖1是根據(jù)一個實施例顯示處理單元陣列的圖,該處理單元經(jīng)由可變精度互連總線彼此通信。圖2是根據(jù)一個實施例顯示數(shù)據(jù)字如何映射到一系列數(shù)字和標志位(flagbit)中以形成可變精度字的圖。圖3是根據(jù)一個實施例顯示對于數(shù)字串行數(shù)據(jù)字事務(wù)的可變精度總線活動的圖。圖4是根據(jù)一個實施例顯示使數(shù)據(jù)能夠在多個方向上輸入/輸出的數(shù)據(jù)處理單元核(com)的連接的圖。圖5是根據(jù)一個實施例顯示用于讀和寫入內(nèi)部寄存器/存儲器的系統(tǒng)接口的圖。圖6是根據(jù)一個實施例顯示配置成向陣列中的數(shù)據(jù)處理單元提供行-列可尋址能力的命令接口的圖。圖7是根據(jù)一個實施例顯示配置成使狀態(tài)信息能夠從陣列中的數(shù)據(jù)處理單元傳送的狀態(tài)接口的圖。圖8是表示一個實施例中的階乘算法的流程圖。圖9是根據(jù)一個實施例顯示實現(xiàn)圖8的階乘算法的一組數(shù)據(jù)處理單元的圖。圖10是根據(jù)一個實施例顯示行/列陣列中的圖9的數(shù)據(jù)處理單元的圖。雖然本發(fā)明可進行各種更改和采取可替換形式,本發(fā)明的特定實施例作為例子顯示在附圖和所附詳細說明中。然而應(yīng)理解,附圖和詳細il明不是用來將本發(fā)明限制到所描述的特定實施例。相反,本公開內(nèi)容的意圖是包括落在由所附權(quán)利要求限定的本發(fā)明范圍內(nèi)的所有更改、等效方案和可替換方案。具體實施例方式下面描述本發(fā)明的一個或更多實施例。應(yīng)注意,下面描述的這些和任何其它實施例是示例性的,且意圖是說明本發(fā)明而非限制。如上所述,本發(fā)明的各種實施例包括使用數(shù)據(jù)處理單元的陣列來處理數(shù)據(jù)的系統(tǒng)和方法,數(shù)據(jù)處理單元采用可變精度互連耦合在一起。一個實施例包括具有簡單的單元到單元互連的處理單元的陣列,該互連件在寬度上是固定的,但是支持具有可變精度的數(shù)據(jù)。單元在這些鏈接上接收輸入數(shù)據(jù),并也在其上發(fā)送操作結(jié)果。由每個單元執(zhí)行的操作可以是固定的,或可變/可編程的。只有在發(fā)送者有新數(shù)據(jù)可用且接收者需要新數(shù)據(jù)時,才在單元之間傳送數(shù)據(jù)。此外,可使用異步單元來最小化功率并改善性能。在一個實施例中,可變精度互連設(shè)計成傳送數(shù)字串行數(shù)據(jù),其中每個數(shù)字附有指示該數(shù)字在被傳輸?shù)臄?shù)據(jù)字中是否是第一個和/或最后一個數(shù)字的標志。處理單元之一接收數(shù)字,該處理單元對數(shù)據(jù)字執(zhí)行相應(yīng)的操作,并將其輸出提供給一個或更多其它的處理單元。處理單元可配置成對數(shù)據(jù)進行操作或給數(shù)據(jù)設(shè)旁路而到達其它處理單元。系統(tǒng)總線實現(xiàn)了數(shù)據(jù)到/從處理單元的傳送、命令信息輸入到處理單元和狀態(tài)信息從處理單元輸在一個實施例中,處理單元的操作可為本地同步或全局異步。圖1顯示經(jīng)由可變精度互連總線14彼此相互通信的處理單元13的陣列11。當數(shù)據(jù)通過陣列從一個單元移動到另一單元時,處理單元對數(shù)據(jù)執(zhí)行操作。處理單元通過恒定寬度的互連總線或通信信道連接。很多互連拓樸是可能的,但在優(yōu)選實施例中,為了速度和簡單性而選擇最近鄰(nearest-neighbor)的單元到單元布置。每個單元到單元總線14作為具有單個源和目的地的單向通信信道。對于輸入和輸出具有分離的互連,且在每個方向(圖中的上、下、右和左)上具有分離的輸入和輸出連接來連接鄰近的單元。沿著陣列11的周邊的處理單元13可以使其輸入被避免和輸出被忽略(圖中沒有示出),或它們可以可選地連接到外部模塊12,例如存儲器控制器、一些其它的外圍設(shè)備。在另一個實施例中,它們可耦合到陣列的相對側(cè)上的其它單元。例如,列中的頂部單元可連接到列中的底部單元,或行中最左邊的單元可連接到行中最右邊的單元。理論上,互連總線提供了支持可變精度數(shù)據(jù)的機制。實際上,將算法或計算問題分解成分立的操作,并映射到連接的處理單元的網(wǎng)絡(luò)中。翁:據(jù)被使用任何數(shù)量的裝置引入陣列中,然后根據(jù)單元對數(shù)據(jù)的產(chǎn)生和使用,通過陣列從一個單元傳送到另一單元而進行傳播。類似地,對于從陣列輸出數(shù)據(jù)存在各種可能性。處理單元可采取包括(但不限于)外部模塊、系統(tǒng)接口和其它(相鄰)單元的各種方式,來接收輸入數(shù)據(jù)并傳輸輸出數(shù)據(jù)。系統(tǒng)接口主要由多個單元共有的數(shù)據(jù)總線組成,其中每個單元可^皮單獨選擇。這允許控制單元將數(shù)據(jù)選擇性地讀出或?qū)懭脒x定的單元。處理單元的特性可依賴于特定的應(yīng)用和實現(xiàn)而變化。單元可針對在硬_件中實現(xiàn)某些共同操作的某些應(yīng)用而最優(yōu)化,或它們可為完全通用的。最低限度地,處理單元需要能夠與數(shù)據(jù)連系并處理數(shù)據(jù),且需要能夠?qū)斎霐?shù)據(jù)執(zhí)行期望的操作,以及產(chǎn)生輸出數(shù)據(jù)。此外,希望具有的特征是處理可變精度數(shù)據(jù)的能力,如在優(yōu)選實施例中的。對于給定操作的獨特單元順序可為固定的,或它們可為完全可變的,使得該單元成為可編程的。固定單元可包含只讀存儲器(ROM)、固定可編程邏輯陣列(PLA)或用于控制特定操作或功能的事件順序的一些其它固定存儲器。固定操作和順序的時刻可在設(shè)計過程期間,或在制造周期中非??亢蟮臅r間。可變或可編程單元可包括隨機存取存儲器(RAM)、寄存器、非易失性存儲器(如閃存),或一些其它類型的可變存儲器,其包含將要控制操作順序中每個步驟的行為的數(shù)據(jù)。單元的特性(personality)主要由該單元所執(zhí)行的操作和事件順序組成。定義單元特性的數(shù)據(jù)可被轉(zhuǎn)換或重新裝入。它也可為雙緩沖的,以使兩個特性共存,且外部信號選擇使用哪一個特性。轉(zhuǎn)換(switching)特性也可主要由轉(zhuǎn)換狀態(tài)組成,這意味著任何附加的內(nèi)部工作寄存器或狀態(tài)信息也必須被轉(zhuǎn)換。理論上,為了以后使用而儲存該信息,以便可恢復(fù)以前的情境。在處理給定的數(shù)據(jù)塊、有效而動態(tài)地改變算法、或以逐段連續(xù)的方式才丸行更復(fù)雜的算法之后,可改變一個或更多單元的特性。一個或更多單元的特性可在系統(tǒng)初始化時被裝入,該特性可針對產(chǎn)品的現(xiàn)場更新等而改變。也有混合結(jié)構(gòu),其中單元的部分特性保持相對固定,而其它部分是可變的。這種結(jié)構(gòu)的一個例子是數(shù)字濾波器,其中輸入樣本數(shù)據(jù);波固定的濾波器系數(shù)相乘。在這種情況下,固定的單元設(shè)置有乘法操:作,而可編程部分包括可變操作數(shù)。使用可編程或混合單元,濾波器系數(shù)可在應(yīng)用程序中作為參數(shù)而變化。單元的最簡單的實現(xiàn)將利用同步設(shè)計方法,其中單個全局定時參考用于所有的內(nèi)部寄存器,因為目前可得到的商業(yè)設(shè)計工具通常增強該方法。異步設(shè)計技術(shù)在功率消耗和數(shù)據(jù)吞吐量的領(lǐng)域中具有公知的優(yōu)點。由于單個單元在整個陣列上被復(fù)制,使用異步方法的設(shè)計難題被最小化。因為可變精度接口信道實現(xiàn)了數(shù)據(jù)流原理,并具有閉環(huán)信號交換(handshaking),消除來自信道接口的時鐘實際上是一個筒化。因此,另外實現(xiàn)合并異步可變精度信道和/或異步單元的陣列是可能的。提供系統(tǒng)接口,以便陣列內(nèi)的每個單元可被獨立編址和訪問。這可用于初始化和診斷的目的,或?qū)?shù)據(jù)插進單元內(nèi)的處理操作或從其提取數(shù)據(jù)。也有一種機制,使得單獨的處理單元可通過聲明中斷信號,來通知發(fā)信號事件。在一個實施例中,單元之間的可變精度接口是具有狀態(tài)線的數(shù)字串行總線,該狀態(tài)線指示該字內(nèi)的當前數(shù)字位置。數(shù)字串行意味著字由一系列數(shù)字組成,數(shù)字由一個或更多的位(bit)組成。對于給定的實現(xiàn),數(shù)字尺寸是固定的,然而組成字的數(shù)字的數(shù)目可變化。數(shù)字可占據(jù)字的第一個、最后一個或中間位置。單個數(shù)字的字是可能的,且在那種情況下,該數(shù)字是第一個也是最后一個數(shù)字。兩個數(shù)字的字具有第一個數(shù)字和最后一個數(shù)字,但沒有中間數(shù)字。由三個或更多數(shù)字組成的字具有一個或更多的中間數(shù)字。單元互連總線寬度固定在n個數(shù)字位,加上兩個標志位和兩個握手(handshake)信號。標志位指示數(shù)字是否是數(shù)據(jù)字的第一個和/或最后一個數(shù)字。兩個握手信號指示數(shù)據(jù)準備何時被傳送到處理單元和/或從其傳送出來。全局時鐘信號可以^皮可選地用于同步實現(xiàn)。通過正確地設(shè)置標志位,可在接口上順序傳輸大于n位的字。單個標志位在技術(shù)上足以標明邊界條件,但這需要為每個輸入增加數(shù)字流水線延遲(pipelinedelay),以便可以單獨確定最低有效和最高有效位置。圖2示出字如何映射到數(shù)字和標志位中以形成可變精度字,圖3示出對那個事務(wù)的可變精度總線活動。字21由多個數(shù)字組成。數(shù)字O"DO"表示第一個和最低有效數(shù)字,數(shù)字n"Dn,,表示字的最后一個和最高有效數(shù)字。為第一個數(shù)字24指定標志為"F"26,而為最后一個數(shù)字22指定為"L"25。不是第一個和最后一個的數(shù)字是連續(xù)數(shù)字23。對只占據(jù)一個數(shù)字的字,F(xiàn)和L標志位都被設(shè)置。表2列出相應(yīng)于可能數(shù)字的標志F和L的組合。數(shù)字尺寸可位任何正整數(shù)。在優(yōu)選實施例中,數(shù)字尺寸等于8位。更小或更大的數(shù)字尺寸可適合于以具有不同流量和面積要求的應(yīng)用為目標的陣列。表2:VP標志_<table>tableseeoriginaldocumentpage13</column></row><table>在第一個或最后一個數(shù)字與數(shù)字有效性之間沒有區(qū)別。附加位可加到可變精度總線,以進一步確定數(shù)字有效性,但那是可選的。也可包括附加的格式位,以表示帶符號與不帶符號或其它格式。在優(yōu)選實施例中,當選擇了單元操作時,首先在算法級別上處理最低有效與最高有效數(shù)字的傳輸。如果必要,可以利用在最高有效數(shù)字第一格式和最低有效數(shù)字第一格式之間進行轉(zhuǎn)變的單元功能。圖3示出本實施例的在可變精度信道上發(fā)送和接收數(shù)據(jù)的事件的順序。所示的所有信號從源或發(fā)送器單元輸出,并輸入到目的地或接收器單元,應(yīng)答握手ACK除外,該ACK從目的地輸出并輸入到源。圖中沒有顯示系統(tǒng)時鐘。雖然一些實現(xiàn)可能希望時鐘信號作為可變精度總線的一部分,但它是可選的,因為可變精度信道協(xié)議被定義成使得信號交換是閉環(huán)的,因此可實現(xiàn)完全異步的接口。這是實現(xiàn)中的關(guān)鍵點,其中處理單元彼此相互異步。當數(shù)據(jù)的單個數(shù)字(例如D0)連同相應(yīng)的F和L標志在總線上可用時,信道發(fā)送器聲明請求REQ信號。數(shù)據(jù)、標志和REQ信號一直保持,直到信道接收器發(fā)送應(yīng)答ACK信號為止,表明信道接收器成功地從總線讀取了這些信號。這時,REQ信號被釋放,而數(shù)據(jù)和標志自由地改變狀態(tài)。接收器繼續(xù)聲明ACK直到REQ信號被釋放。不再設(shè)置REQ信號,直到ACK信號是非活動的且新數(shù)據(jù)可用于新事務(wù)。以這種方式,包括數(shù)字D0-Dn的數(shù)據(jù)字從信道發(fā)送器傳送到信道接收器。連接相鄰處理單元的可變精度通信信道還提供了給個別單元設(shè)旁路的機制,從而允許通信跳過單元。這種設(shè)旁路的能力使得給單元連接規(guī)定路線更容易。來自一個單元的未使用的任何輸出可連接到同一單元的其它方向之一上的未使用的輸入,從而在本質(zhì)上給該單元設(shè)了旁路。圖4示出單元13和單元核44連同四個連4妄方向中每一個方向上的輸入(例如42)和輸出(例如41)可變精度信道的圖。給輸入信道規(guī)定到處理核和到輸出選擇器(例如43)的路線。單元內(nèi)的旁路寄存器將輸出源選擇為單元自身或該單元的每個輸出信道的其它三個輸入之一。注意,為簡單起見示出輸出信道通過單個多路復(fù)用器43,但事實上,存在著與也必須規(guī)定路線的選定信道相關(guān)聯(lián)的ACK返回(輸入)信號。這意味著針對ACK輸入的附加多路復(fù)用器——對于每個方向?qū)⒂幸唤M多路復(fù)用器。圖1中沒有示出(為清楚起見)本實施例的系統(tǒng)接口,其允許基于解碼的行-列地址來選擇每個單元。如圖5所示,系統(tǒng)接口提供了用于讀和寫每個單元的內(nèi)部構(gòu)件(內(nèi)部寄存器和存儲器)的機制。系統(tǒng)地址總線54用于為每個讀或?qū)懖僮鬟x擇單獨的單元。地址解碼器53將地址分解成每個單元的單獨選擇線(例如51)和用于對單獨的單元內(nèi)部構(gòu)件尋址的子地址域。子地址的尺寸是需要尋址的單獨的單元內(nèi)部構(gòu)件的數(shù)量的函數(shù)。為了清楚起見,在圖中每行的一組選擇線組、子地址和讀/寫命令線顯示為單一線(例如52)。對于較大的陣列,解碼器可在設(shè)計中成為分布式的。系統(tǒng)數(shù)據(jù)總線55運送用于寫操作的寫數(shù)據(jù),或運送作為讀操作結(jié)果的讀數(shù)據(jù)。它被顯示為雙向的,但實際上可使用分離的讀和寫總線來實現(xiàn)。此外,讀多路復(fù)用器可以是在單元中分布的??傮w來說,地址和控制信號、輸入數(shù)據(jù)和輸出數(shù)據(jù)被稱為系統(tǒng)總線。除了讀/寫命令線、單元選擇線和子地址51以外,每個單元13還被提供給輸入數(shù)據(jù),并在輸出數(shù)據(jù)總線上提供輸出數(shù)據(jù)。輸入和輸出數(shù)據(jù)總線不必為可變精度,在優(yōu)選實施例中,使用傳統(tǒng)的32位總線。寫控制信號包括字節(jié)寫啟動信號。被尋址的單元的內(nèi)部構(gòu)件可主要由寄存器或存儲器塊或任何其它的it據(jù)結(jié)構(gòu)組成,這取決于單元的內(nèi)部構(gòu)件。給每個單元的地址輸入必須充分,以足夠解碼或分解單元內(nèi)的每個可尋址的資源。地址的這部分可包括該地址的較低地址位。然后,較高地址位可用于表示所尋址的實際單元。這些位被輸入到解碼器;f莫塊53,解碼器模塊53產(chǎn)生單獨的選擇線(例如51)——^個單元一條。在一個實施例中,系統(tǒng)接口具有傳統(tǒng)的非易失性精度總線。在該實施例中,總線為以獨立字節(jié)實現(xiàn)的32位數(shù)據(jù)總線。為了提供用于設(shè)置數(shù)字位置標記位的簡單機制,提供寄存器或存儲器地址的別名(alias)。有四種可用的形式。表3示出用于系統(tǒng)接口寫的別名,而表4示出用于讀的別名。在該實施例中討論的數(shù)字尺寸為8位。對于系統(tǒng)接口寫操作,第一個別名允許寫入字尺寸為8位的數(shù)據(jù),同時自動設(shè)定F和L位。提供第二個別名用于寫入16位字同時設(shè)定標志位,以及第三個別名用于寫入32位的字尺寸。第四個別名允許寫入數(shù)據(jù),同時將F和L位設(shè)定為零,這對裝載大于32位的字是有用的??梢酝ㄟ^將字節(jié)0寫為別名1,接著寫為別名4,來處理端點字節(jié),從而寫入較大的字尺寸。最后,需要將結(jié)束字節(jié)寫為別名1。<table>tableseeoriginaldocumentpage15</column></row><table>系統(tǒng)接口讀別名提供了分離地讀F位、L位和數(shù)據(jù)位的機制。別名1和4是相同的,且只返回與讀地址相關(guān)聯(lián)的數(shù)據(jù)。別名2返回每個字節(jié)的較低位位置中的F標志,而別名3返回每個字節(jié)的較低位位置中的L標志。當根據(jù)別名2和3讀時,不返回數(shù)據(jù)。那些別名僅用于確定數(shù)字對準。表4:讀別名<table>tableseeoriginaldocumentpage16</column></row><table>在本實施例中,圖6所示的單個命令的命令接口以與系統(tǒng)接口不同的方式提供了行-列可尋址能力。不是一次一個地為單個單元尋址和向其提供數(shù)據(jù),而是對于每個命令都有行和列地址。命令地址寄存器分為行63和列64段(segment)。行段被解碼,并為陣列中的每一行提供分離的行選擇線61。類似地,解碼的列段為陣列的每一列提供分離的線62。行和列命令信號連成穿過單元陣列的行和列的菊花鏈(daisy-chained)。列中最接近于命令的插入點的第一個單元首先接收列命令信號62。當將信號62未更改地向前傳送到列中的下一個單元時,第一個單元監(jiān)控信號的值。每個單元依次做同樣的事情,直到它到達那列中的最后一個單元。以相同的方式處理行單元。行中的第一個單元接收行命令信號61,將信號61向前傳送到同一行中的下一個單元,同時監(jiān)控在那條線上的信號。如果一個單元觀察到相同命令的行和列信號是有效的,則它知道它被指示來執(zhí)行指定的命令。采用像系統(tǒng)接口那樣的尋址,一次只訪問一個單元。使用控制接口,可同時選擇矩形區(qū)域內(nèi)的一個到很多個鄰近的單元??杀挥成涞矫罱涌诘拿罾影ㄖ刂谩?、清零中斷和轉(zhuǎn)換狀態(tài)。重置命令用于初始化一個單元或一組單元。啟動命令用于選擇性地啟動或禁止單元組。清零中斷命令用于使單元內(nèi)的內(nèi)部狀況清零,并用于響應(yīng)狀態(tài)接口的中斷輸出。每個單元的功能和情境(context)可為雙緩沖的,且陣列的整個區(qū)域可通過改變狀態(tài)命令的值來同時執(zhí)行情境轉(zhuǎn)換。除了命令輸入外,狀態(tài)輸出還以類似的方式合并入狀態(tài)接口,如圖7所示。中斷狀態(tài)信號輸出連成穿過在狀態(tài)寄存器中讀到的行和列的菊花鏈,狀態(tài)寄存器主要由行組件73和列組件74組成。在狀態(tài)寄存器中,對于陣列的每行和每列,存在分離的位。每行單元接收來自行71上前一個單元的輸出,按需要修改狀態(tài)信號,以及將其輸出到該行中的下一個單元。每個單元依次從前一個行單元接收輸入,增加其自己的狀態(tài)信息,以及將它向前傳送,直到它到達行中最后一個單元之后的狀態(tài)寄存器。列單元#1行相同的功能,從前一個單元72接收輸入,增加其自己的任何狀態(tài)信息,以及將它向前傳送到列中的下一個單元或狀態(tài)寄存器74(如果它是列中的最后一個單元)。在接下來的部分中,使用偽碼形式來描述示例性單元的微指令序列。偽碼表示通用程序設(shè)計結(jié)構(gòu),且不必意味著直接對應(yīng)于單元微指令,盡管單個單元微指令或其組合能夠?qū)崿F(xiàn)該操作。輸入或輸出偽指令操作使用可變名稱,該可變名稱可選地為邏輯信道標識符。有四個輸入信道標識符a、b、c和d。類4以i也,有四個邏輯專#出4言道標識符w、x、y和z。注意,邏輯標識符獨立地映射到相應(yīng)于四個方向的物理信道中。與傳統(tǒng)碼不同,單元的偽碼被自動重復(fù)。當結(jié)束時,每個單元的碼流(codeflow)在起始處重新開始。作為本發(fā)明的一個應(yīng)用例子,考慮下面所示的用C程序設(shè)計語言編碼的算法。intfactorial(inta){inti,w,y;w=1;for(i=l;i<=a;i++){w=w*i;y=w;return(y);該代碼實現(xiàn)了階乘函數(shù),且當用輸入整數(shù)"a"被調(diào)用時,將返回"a!"。此算法遵循簡化映射過程的單個聲明(assertion)的原理。注意,在循環(huán)結(jié)構(gòu)內(nèi)的聲明和循環(huán)結(jié)構(gòu)外部的聲明之間進行區(qū)分。整數(shù)"a"為輸入的數(shù)字。整數(shù)"i"為用作循環(huán)計數(shù)器的臨時變量。整數(shù)"w"為保存中間計算的工作值的臨時變量,而整數(shù)"y"為結(jié)果和返回值。按照定義,0!=1,所以"w,,在循環(huán)的外部4皮初始化為1,雖然在循環(huán)的內(nèi)部有對"w"的賦值。圖8示出階乘算法的可選表示。在82輸入數(shù)"a"祐L接收,在83"w"被初始化,在84循環(huán)計數(shù)器祐」設(shè)定為初值。操:作82、83和84共同形成唯一的分組81,分組81與循環(huán)組85和循環(huán)之后的組89分離。通過具有特定的起始和結(jié)束條件的循環(huán)操作來描述這些操作塊。操作組可被嵌套。注意,組81的操作被順序連接在一起。這是流程圖中的約定,因為它們以順序語言和順序機器結(jié)構(gòu)為基礎(chǔ)。實際上,如我們將看到的,一旦操作被映射到單元,唯一的順序操作是具有數(shù)據(jù)相關(guān)性的操作。在任何未決的數(shù)據(jù)輸出已經(jīng)被處理的情況下,如果輸入數(shù)據(jù)是可用的,則單元的操作并行地進行。循環(huán)計數(shù)器測試操作86檢驗是否繼續(xù);如果滿足繼續(xù)條件(i<=a),則在87執(zhí)行乘法,且在88使循環(huán)計數(shù)器遞增。如果滿足循環(huán)結(jié)束條件(i>a),則在810將"w"賦值給"y",并在811輸出(返回)該值?;趩卧僮鞯目捎脦欤瑘D8的流程圖所示的算法現(xiàn)在被映射到單元。定的處理器或結(jié)構(gòu)特有的。該過程的結(jié)果顯示在圖9中。所示的每個操作塊表示一個或更多的單元。還應(yīng)注意,因為單元到單元的連接是點到點的,一些單元(94、912)用于使數(shù)據(jù)信道成為T形的(tee),以便單個源可以有附加目的地,A/v而增加其輸出端。82的輸出"a"轉(zhuǎn)變?yōu)檠h(huán)輸入寄存器單元(lireg)96。循環(huán)寄存器用于在循環(huán)的輸入和輸出點控制數(shù)據(jù)流。具有額外的控制輸入信道的循環(huán)輸入寄存器與具有數(shù)據(jù)輸入和輸出信道的普通寄存器相同??刂戚斎氡硎竞螘r輸入數(shù)據(jù)應(yīng)被取樣并被裝入內(nèi)部寄存器,并被連接到起始循環(huán)條件。如果控制輸入信道為真,則"a"被裝入內(nèi)部寄存器。隨后,內(nèi)部寄存器在輸出數(shù)據(jù)信道上被發(fā)送。數(shù)據(jù)總是被輸出——唯一的條件是裝入輸入數(shù)據(jù)。起始循環(huán)條件是布爾(Boolean)值,該值在循環(huán)的第一次迭代時為真,以及在隨后的迭代時為假。在循環(huán)的最后一次迭代之后,它再次變成真。lireg的一般序列(采用偽碼)為inputa,controlif(control)while(!end-of-word)inputb,datawhile(!end-of-word)outputdata,w相應(yīng)于88的循環(huán)計數(shù)器值"i"存儲在初始化的寄存器單元92中。初始化的寄存器單元具有被首先輸出的初始參數(shù)值(在這種情況下為零)。從那時起,所接收的簡單地是延遲、輸出的字。輸入字記號被維持和反映在輸出中。ireg的序列為,々outputinitial—value,wL1inputa,dataoutputdata,wjumpLI最初的檢查可使我們推斷出,該單元92不是必要的。由于存在反饋循環(huán)(通過遞增單元91和多路復(fù)用器93),如果對i的保持寄存器不可用,該路徑就不會開始。多路復(fù)用器93必須使用兩個輸入上的數(shù)據(jù),這就是為什么ireg具有^刀始^f直零并在輸入它之前l(fā)lr出數(shù)才居的原、因。常量寄存器97(其相應(yīng)于在84的賦值)用于初始化i。它與"reg,,相同,除了沒有輸入端口連接。常量值保持在內(nèi)部,并被連續(xù)地輸出。對于固定的單元,這為硬件實現(xiàn)的值,而對于可編程單元,該值可為參數(shù),該參數(shù)作為單元情境或定義的一部分裝載,或甚至通過外部處理器改變。while(1)outputconstant,w多路復(fù)用器93起傳統(tǒng)的數(shù)據(jù)多路復(fù)用器的作用,并表示85中反饋循環(huán)的結(jié)束。一個輸入項是84的"i-l",且只有當進入循環(huán)體85時才被選擇,而另一個項是88的"i-i+l",并被選擇直到退出該循環(huán)。多路復(fù)用器的輸出表示"i"。兩個輸入都被使用;控制輸入選擇在輸出上反映哪個輸入;另一個輸入被丟棄。多路復(fù)用器操作的偽碼遵循附MXinputa,controlinputb,dlinputc,d2if(control)outputdl,welseoutputd2,w注意,循環(huán)比較操作符95、遞增器91和乘法器99需要多路復(fù)用輸出。指出算法僅進行與數(shù)據(jù)使用同樣快也是重要的。因此,"i,,的新值將不會出現(xiàn),直到乘法器、循環(huán)比較器和遞增器都已經(jīng)使用最新的值。因為多路復(fù)用器只有一個輸出,T形接頭(tee)94被插入以提供額外的輸出端。可選方案是建立具有多個輸出的多路復(fù)用器。還可創(chuàng)建具有多于兩個輸出的T形接頭單元。T形纟妄頭的偽碼如下inputa,valueoutputv由s,woutputvalue,x相應(yīng)于86的循環(huán)比較操作符95使用當前循環(huán)變量("i")和終值("a")作為輸入,來執(zhí)行"小于或等于,,的邏輯計算。比較操作的偽碼為while(!end-of-word)inputa,ending—valueinputb,loop—countif(firstdigit)r=ending—value+~loop—count+1elser=ending—value+loop—count+carry—flagif(rzero—flagor.'negative—flag)outputT,welseoutput'0,,w注意,在lte函數(shù)中,為每個輸入數(shù)字進行計算,而僅在所有的輸入數(shù)字被接收到之后才出現(xiàn)輸出。在該單元中,使用二進制補碼的帶符號表示法,且從a減去b輸入。變量cany—flag、negative—flag和zero—flag是基于ALU的操作而設(shè)置的內(nèi)部標志,類似于傳統(tǒng)處理器中的標志。數(shù)字的字位置標志用于表示字中的第一個數(shù)字。lte單元的輸出是循環(huán)測試變量在循環(huán)迭代期間它為真,否則為假。特殊的循環(huán)單元98用于維持循環(huán)執(zhí)行的狀態(tài)。循環(huán)比較操作的輸出被輸進循環(huán)單元輸入("test")中,且兩個分離的輸出被產(chǎn)生一個在循環(huán)的第一次迭代("start")期間設(shè)定為真,另一個在最后一次迭代("stop")時為真。不是第一次和最后一次的循環(huán)迭代將兩個輸出都設(shè)定為^f艮。初始條件(跟隨單元的重置)對于"start"輸出為真,而對于"stop"輸出為假。作為例子,特定的實現(xiàn)具有多個"start"輸出,從而減少了對額外的T形接頭的需要。通過合并任何單元、改變其微指令序列,特別是對于復(fù)制輸出(假定存在足夠的輸入和輸出信道),來執(zhí)行最優(yōu)化是可能的。雖然這不影響總的功能,它可能影響吞吐量或等待時間。此外,它還可能影響所產(chǎn)生的陣列內(nèi)單元的布局(placement)或定向(orientation)。循環(huán)單元的偽碼為if(reset)flag=loutputflag,w〃開始1outputflag,xoutputflag,y〃開始2〃開始3while(!end畫of-word)inputa,testif(test〉0)flag=0elseflag=loutputflag,z〃停止乘法器單元99執(zhí)行兩個輸入的整數(shù)相乘。如果第一個輸入具有n個數(shù)字,以及第二個具有m個數(shù)字,則結(jié)果將具有n+m個數(shù)字。在階乘例子中,以前的乘積被乘以循環(huán)變量"i"。乘法器單元的偽碼為while(!end-of-word)inputa,nwhile(!end-of國word)inputb,m[product,product—remainder]=n*moutputproduct,wwhile(!end-of-word)outputproduct—remainder,w用于實際乘以product和product—remainder作為結(jié)果的表示法(notation),試圖針對全精度乘法說明不同字尺寸。寄存器910保存隨后迭代的工作乘積值。該單元的功能非常類似于92的功能。寄存器尺寸必須足夠大以保存最大值,該最大值可通過使多個單元串聯(lián)而獲得。reg的序列為inputa,datautputdata,w常數(shù)914在功能上與97完全一致,且多路復(fù)用器911與93相同。T形4矣頭912與94完全一致。循環(huán)輸出寄存器(loreg)913在功能上類似于lireg96。lireg總是輸出所保存的數(shù)據(jù),但當被選擇時只更新其內(nèi)部寄存器;loreg總是接受輸入數(shù)據(jù),但當被選擇時只提供輸出數(shù)據(jù)。lireg通常用在循環(huán)輸入上,而loreg通常用在循環(huán)輸出上。下面示出loreg的偽碼inputa,control〃停止循環(huán)條件while(!end-of-word)inputb,dataif(control!=0)outputdata,w〃y輸出loreg控制輸入被連接到循環(huán)單元停止信號,因此"y"數(shù)據(jù)僅在所有的循環(huán)迭代結(jié)束之后才是可用的。圖IO描述映射到相同單元的陣列中的圖9的單元。未使用的單元101占據(jù)正在執(zhí)行的算法的特定映射所不需要的位置。根據(jù)單元操作,一些單元未被使用,但用于提供互連,例如單元102。通過給實際單元如95設(shè)旁輸出信道。本領(lǐng)域技術(shù)人員應(yīng)理解,可使用各種科技和技術(shù)中的任一種來表示信息和信號。例如,上面說明中提到的數(shù)據(jù)、指令、命令、信息、信號、位、符號等等,可由電壓、電流、電磁波、磁場或粒子、光場或粒子、或其任何組合來表示。可以使用包括電線、金屬導(dǎo)電路徑(metallictrace)、通路、光纖等任何適當?shù)膫鬏斀橘|(zhì),在公開系統(tǒng)的組件之間傳送信息和信號。技術(shù)人員應(yīng)進一步認識到,與這里公開的實施例共同被描述的各種例證性邏輯塊、模塊、電路和算法步驟,可以不同的方法實現(xiàn)。為了清楚地顯示系統(tǒng)拓樸的這種可變性,以上一般地根據(jù)功能描述了例證性邏輯塊、模塊、電路和步驟。在上面特別描述的特定功能塊中是否實現(xiàn)這種功能,:取決于強加于總系統(tǒng)和相應(yīng)設(shè)計選擇上的具體應(yīng)用和i殳計限制。對每個具體的應(yīng)用,本領(lǐng)域技術(shù)人員可以采取變化的方法來實現(xiàn)所述功能,但這樣的實現(xiàn)方案不應(yīng)理解為偏離本發(fā)明的范圍。上面關(guān)于特定的實施例描述了本發(fā)明可提供的利益和優(yōu)點。這些利益和優(yōu)點以及可使其出現(xiàn)或變得更明顯的任何單元或限制,不應(yīng)解釋為任何或所有權(quán)利要求的關(guān)鍵的、需要的或本質(zhì)的特征。如這里所使用的,術(shù)語"包括"、"包含"或其任何其它變形,意圖是被理解為非排他性地包括遵循那些術(shù)語的單元或限制。因此,包^"一組單元的系統(tǒng)、方法或其它實施例不限于只有那些單元,而是可包括沒有明確列出或不是所聲明的實施例固有的其它單元。雖然參考具體實施例描述了本發(fā)明,應(yīng)理解,這些實施例是例證性的,且本發(fā)明的范圍不限于這些實施例。對上述實施例的很多變形、更改、附加和改進是可能的。這些變形、更改、附加和改進落在如下列權(quán)利要求詳述的本發(fā)明的范圍內(nèi)。權(quán)利要求1.一種系統(tǒng),包括多個數(shù)據(jù)處理單元13;一個或更多互連件14,其將所述數(shù)據(jù)處理單元一起耦合在陣列11中;其中,一個或更多所述互連件14配置成在所述數(shù)據(jù)處理單元之間傳送可變精度數(shù)據(jù)。2.如權(quán)利要求1所述的系統(tǒng),其中,一個或更多所述互連件14是異步的。3.如權(quán)利要求1所述的系統(tǒng),其中,一個或更多所述數(shù)據(jù)處理單元13是異步的。4.如斥又利要求1所述的系統(tǒng),其中,一個或更多所述數(shù)據(jù)處理單元13是本地同步和全局異步的。5.如權(quán)利要求1所述的系統(tǒng),其中,一個或更多所述數(shù)據(jù)處理單元13配置成處理數(shù)字串行數(shù)據(jù)。6.如權(quán)利要求5所述的系統(tǒng),其中,一個或更多所述數(shù)據(jù)處理單元13配置成處理包括標記25、26的數(shù)字串行數(shù)據(jù),以識別位在相應(yīng)數(shù)據(jù)字21中的位置。7.如一又利要求6所述的系統(tǒng),其中,一個或更多所述數(shù)據(jù)處理單元配置成處理數(shù)字串行數(shù)據(jù),其中每個數(shù)字包括第一標記26和第二標記27,所述第一標記26指示所述數(shù)字是否是所述相應(yīng)數(shù)據(jù)字中的第一個數(shù)字,并且所述第二標記27指示所迷數(shù)字是否是所述相應(yīng)數(shù)據(jù)字21中的最后一個數(shù)字。8.如權(quán)利要求1所述的系統(tǒng),其中,每個數(shù)據(jù)處理單元13配置成對由所述數(shù)據(jù)處理單元接收的任何數(shù)據(jù)執(zhí)行單一的預(yù)定操作。9.如權(quán)利要求1所述的系統(tǒng),其中,每個所述數(shù)據(jù)處理單元13配置成對所接收的數(shù)據(jù)執(zhí)行多個可選操作中的一個。10.如權(quán)利要求1所述的系統(tǒng),其中,每個數(shù)據(jù)處理單元13可編程為從兩個或更多鄰近的婆t據(jù)處理單元交替地接收數(shù)據(jù),并且可編程為向兩個或更多鄰近的數(shù)據(jù)處理單元提供輸出數(shù)據(jù)。11.如權(quán)利要求IO所述的系統(tǒng),其中,每個數(shù)據(jù)處理單元可編程為給從所述鄰近的數(shù)據(jù)處理單元中的第一個接收的數(shù)據(jù)設(shè)旁路而到達所述鄰近的數(shù)據(jù)處理單元中的第二個。12.如4又利要求1所述的系統(tǒng),其中,所述陣列包括行和列的二維陣列11,其中第一行中的每個數(shù)據(jù)處理單元耦合到最后一行中的相應(yīng)的數(shù)據(jù)處理單元。13.如權(quán)利要求1所述的系統(tǒng),其中,所述陣列包括行和列的二維陣列11,其中第一列中的每個數(shù)據(jù)處理單元耦合到最后一列中的相應(yīng)的數(shù)據(jù)處理單元。14.如權(quán)利要求1所述的系統(tǒng),其中,所述系統(tǒng)配置成按照路線順序通過兩個或更多所述數(shù)據(jù)處理單元傳送所述數(shù)據(jù),來處理多個數(shù)據(jù)字中的每一個。15.如權(quán)利要求1所述的系統(tǒng),進一步包括非可變精度系統(tǒng)總線,所述非可變精度系統(tǒng)總線耦合到一個或更多所述數(shù)據(jù)處理單元,并配置成使數(shù)據(jù)能夠從一個或更多所述數(shù)據(jù)處理單元和外圍設(shè)備12傳送。16.如權(quán)利要求15所述的系統(tǒng),其中,所述外圍設(shè)備12包括外部存儲器。17.如權(quán)利要求1所述的系統(tǒng),進一步包括命令接口,所述命令接口耦合到所述數(shù)據(jù)處理單元,并配置成使命令能夠傳送到所述數(shù)據(jù)處理單元。18.如權(quán)利要求17所述的系統(tǒng),其中,所述命令接口配置成使命令能夠同時傳送到所述數(shù)據(jù)處理單元中的選定數(shù)據(jù)處理單元。19.如權(quán)利要求18所述的系統(tǒng),其中,每個所述數(shù)據(jù)處理單元配置成對所接收的數(shù)據(jù)扭^亍多個可選操作中的一個,且其中通過經(jīng)由所述命令"l妄口將所述命令傳送到所述數(shù)據(jù)處理單元,來選擇每個數(shù)據(jù)處理單元的可選操作中的一個。20.如權(quán)利要求1所述的系統(tǒng),進一步包括狀態(tài)接口,所述狀態(tài)接口耦合到所述數(shù)據(jù)處理單元13,并配置成使狀態(tài)信息能夠從所述數(shù)據(jù)處理單元傳送到控制單元。全文摘要用于使用數(shù)據(jù)處理單元(13)的陣列(11)來處理數(shù)據(jù)的系統(tǒng)和方法,將數(shù)據(jù)處理單元(13)采用可變精度互連件(14)耦合在一起。一個實施例包括由可變精度互連耦合以形成行-列陣列(11)的數(shù)據(jù)處理單元?;ミB件(14)和/或數(shù)據(jù)處理單元(13)可為同步或異步的。數(shù)據(jù)處理單元(13)可以采用固定的方式進行操作,或它們可為可編程的,并且可給陣列中可選擇的數(shù)據(jù)處理單元(13)設(shè)旁路?;ミB件(14)和數(shù)據(jù)處理單元(13)可配置成以數(shù)字串行的方式來處理數(shù)據(jù),每個數(shù)字的標記(25、26)標識該數(shù)字是否是數(shù)據(jù)字中的第一個和/或最后一個數(shù)字。數(shù)據(jù)處理單元可耦合到系統(tǒng)總線(54、55),該系統(tǒng)總線使數(shù)據(jù)能夠在數(shù)據(jù)處理單元和外部設(shè)備之間傳送,并允許將控制信息傳送到數(shù)據(jù)處理單元以及從數(shù)據(jù)處理單元傳送出來。文檔編號G06F15/00GK101366013SQ200680013506公開日2009年2月11日申請日期2006年4月21日優(yōu)先權(quán)日2005年4月22日發(fā)明者保羅·B·伍德申請人:阿爾特雷克斯邏輯公司