亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種電子并行處理電路的制作方法

文檔序號:6566628閱讀:230來源:國知局
專利名稱:一種電子并行處理電路的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種包括多個并行指令處理單元的電子電路。
技術(shù)背景具有多個并行指令處理單元的處理器電路的典型實例是SIMD (單指令多數(shù)據(jù))處理器,其中,所有的處理單元執(zhí)行公共的指令 周期。在每個指令周期中,這些SIMD處理單元執(zhí)行相同的程序指 令,每個處理單元使用它們自己的操作數(shù)數(shù)據(jù)。典型地,這類SIMD 處理器具有中央程序計數(shù)器,用于對提供給所有處理單元的共有指 令進行尋址。在計算機程序中,除了最簡單的程序,通常所有程序都包括一 些條件流控制形式,以便如果被處理數(shù)據(jù)的值滿足了某條件,則從 程序的一部分跳轉(zhuǎn)到另一部分,從而實現(xiàn)例如高級程序中的 if-then-else結(jié)構(gòu)。把這類跳轉(zhuǎn)實現(xiàn)為對程序計數(shù)器的條件更新。還希望在SIMD處理器中實現(xiàn)條件執(zhí)行。使用了各種方法。歐 洲專利申請?zhí)?035647描述了一種結(jié)構(gòu),在該結(jié)構(gòu)中每個處理器單 元判決是否對提供給所有處理器單元的共有指令進行執(zhí)行。可替換 的方案是使用跳轉(zhuǎn),來實現(xiàn)為所有處理元件集體選擇后續(xù)指令。已 知為這種跳轉(zhuǎn)使用跳轉(zhuǎn)條件,其包括檢測是否所有處理單元發(fā)出用 于表示它們檢測到特定條件的信號,或者是否沒有處理單元發(fā)出用 于表示其檢測到特定條件的信號。典型地,這是通過使用OR電路 或AND電路來實現(xiàn)的,其中該OR或XOR電路的輸入端連接到處 理單元的標(biāo)志輸入端,該OR/AND電路的輸出用于對是否執(zhí)行跳轉(zhuǎn) 進行控制??紤]到更多種條件,還已知對來自可選擇的處理單元的 標(biāo)志信號進行屏蔽。
這類條件跳轉(zhuǎn)僅可以承擔(dān)程序流中非常有限的取決于數(shù)據(jù)的控 制。只有在諸如"沒有處理單元設(shè)置了它們的標(biāo)志"或"所有的處 理單元都設(shè)置了它們的標(biāo)志"這樣的條件下才有可能跳轉(zhuǎn)。這對于 例如當(dāng)(數(shù)據(jù)包含噪聲且)需要取決于統(tǒng)計條件的跳轉(zhuǎn)時沒有什么 用。發(fā)明內(nèi)容其中,本發(fā)明的目的是為了使得能夠在更復(fù)雜的條件下在處理 器電路中執(zhí)行跳轉(zhuǎn)指令,其中在該處理器電路中,多個處理單元執(zhí) 行具有公共程序流的程序。其中,本發(fā)明的目的是為了提供具有多個并行處理單元的處理 器電路,其支持在統(tǒng)計條件下的集體程序跳轉(zhuǎn)。權(quán)利要求1中描述了根據(jù)本發(fā)明的電子電路。根據(jù)本發(fā)明,使 用了加法器電路,其輸入端連接到處理單元的標(biāo)志輸出端,并且其 和輸出端連接到公共流控制電路。這樣,程序跳轉(zhuǎn)條件可以基于設(shè) 置了標(biāo)志的處理單元數(shù)量的計數(shù)來實現(xiàn)。


將通過非限制性實例,來說明本發(fā)明的各個有利的方面,其中 該實例使用以下附圖。 圖1示出處理電路; 圖2示出進一步的處理電路。
具體實施方式
圖l示出了處理電路,其包括多個處理單元IO、操作數(shù)存儲電 路12、加法器電路14、控制存儲器16、程序計數(shù)器18,以及指令 提供電路19。盡管僅示出了三個處理單元IO,應(yīng)該明白,在實踐中 可以出現(xiàn)大得多的數(shù)量。處理單元10具有連接到操作數(shù)存儲電路12 的操作數(shù)輸入端和輸出端,并且具有連接到加法器電路14的輸入端 的標(biāo)志輸出端。加法器電路14的和輸出端連接到控制處理器16。指令提供電路19具有連接到程序計數(shù)器18的輸入端,并且具有連接 到處理單元10、操作數(shù)存儲電路12以及控制處理器16的輸出端。 控制處理器16具有連接到程序計數(shù)器18的控制輸出端。在簡單的 實現(xiàn)中,指令提供電路19是指令存儲器,其返回由程序計數(shù)器18 所尋址的存儲器位置的內(nèi)容,但是可以使用更復(fù)雜的電路,用于實 現(xiàn)例如高速緩沖存儲、流水線操作和/或初步指令解碼。在結(jié)構(gòu)上, 程序計數(shù)器18可以被看做是指令提供電路19的一部分,但是為了 清楚起見,單獨將其示出。在操作中,程序計數(shù)器18把指令地址提供給指令提供電路19。 在通常情況下,程序計數(shù)器18在連續(xù)的指令周期中遞增指令地址, 使得在連續(xù)的指令周期中尋址連續(xù)的程序指令。響應(yīng)于每個指令地 址,指令提供單元19把指令信息提供給處理單元10、操作數(shù)存儲電 路12以及控制處理器16。響應(yīng)于指令信息,操作數(shù)存儲電路12把 操作數(shù)數(shù)據(jù)輸出到處理單元IO,并且處理單元IO執(zhí)行受指令控制的 操作,每個操作使用操作數(shù)數(shù)據(jù)中的不同部分作為操作數(shù)。作為執(zhí) 行結(jié)果,每個處理單元10產(chǎn)生一個結(jié)果,并且把這些處理單元10 的組合結(jié)果寫回到操作數(shù)存儲電路12中由指令提供電路19的指令 所控制的地址上。響應(yīng)于至少一類指令,處理單元IO在它們的標(biāo)志輸出端輸出取 決于操作數(shù)的標(biāo)志數(shù)據(jù)。在一個實例中,處理單元10支持"比較" 指令,并且一旦執(zhí)行了這個指令,每個處理單元10在其標(biāo)志輸出端 輸出針對其特定操作數(shù)所獲得的比較結(jié)果。在另一個實例中,在計 算結(jié)果的期間,作為副作用產(chǎn)生標(biāo)志輸出端的信號,該信號指示出, 例如,該結(jié)果是表示大于零的數(shù),還是表示溢出等等。加法器電路14把標(biāo)志輸出端的信號進行相加。g口,其形成了對 標(biāo)志輸出端的數(shù)量的計數(shù),其中在標(biāo)志輸出端的標(biāo)志信號具有預(yù)定 的邏輯電平。因此,如果僅有一個處理單元輸出了這種標(biāo)志信號, 加法器電路14就輸出用于表示數(shù)量"1"的信號,如果僅有兩個處 理器單元輸出了這種標(biāo)志信號,加法器電路14就輸出用于表示數(shù)量 "2的信號,依次類推,直到處理單元的數(shù)量"N"。
控制處理器16從指令提供電路19接收它自己的取決于程序計 數(shù)器的指令,并且從加法器電路14接收和信號。響應(yīng)于這些指令, 控制存儲器16可以執(zhí)行各種類型的動作。這些指令包括條件跳轉(zhuǎn)指 令(在本文中該術(shù)語與術(shù)語"分支指令"可互換地使用)。響應(yīng)于這 種指令,控制處理器16對是否滿足指令中所指定的條件進行測試, 并且如果滿足了該條件,那么控制存儲器16把信號發(fā)送給程序計數(shù) 器18,以改變該指令地址。所需要的改變可以是例如絕對改變(程 序所選擇的地址),又例如相對改變(舊的指令地址加上程序所選擇 的偏移量)。在一個實施例中,控制處理器16被設(shè)計為通過使用取決于來自 加法器電路14的和信號的條件,對至少一類指令做出響應(yīng)。在一個 實施例中,這類指令通過門限數(shù)量來指定該條件,從而如果來自加 法器電路的和信號超過了這個門限數(shù)量(和/或可選擇地等于這個數(shù) 量),那么控制處理器16響應(yīng)于該指令,促使程序計數(shù)器18根據(jù)相 對或絕對跳轉(zhuǎn)來更新指令地址。在另一個實施例中,如果來自加法 器電路的和信號低于或等于這個門限數(shù)量,那么控制處理器16響應(yīng) 于這個指令來促使跳轉(zhuǎn)。最好把控制處理器16設(shè)計為支持各個指令 當(dāng)各個來自加法器電路的和信號低于(和/或等于)和高于(和/或等 于)這個門限數(shù)量時促使跳轉(zhuǎn)。在一個實例中,這類指令用來在信號處理(例如處理音頻信號, 其中處理單元10處理各自的音頻抽樣、或各自的傅立葉系數(shù),和/ 或處理視頻信號,其中處理單元10處理各自的像素抽樣、或各自的 傅立葉系數(shù)(此處所用的"抽樣"不僅涉及直接測量到的物理值, 還涉及對這種測量序列進行處理所產(chǎn)生的序列))期間做統(tǒng)計判決。 在這類任務(wù)的程序中,例如可以提供有普通的程序流,還可以提供 特殊程序部分用于多于最小數(shù)量的抽樣值超過門限的情況。在這種 情況下,該程序可以包含用于跳轉(zhuǎn)到特殊程序部分的指令,比如, 一旦5%的處理單元IO檢測到其操作數(shù)超過了門限,就進行該跳轉(zhuǎn)。在進一步的實施例中,該電路可以被配置為支持標(biāo)志的屏蔽, 以便加法器電路14僅形成來自程序所選擇的處理單元10的標(biāo)志信
號的和??梢砸愿鞣N方式來實現(xiàn)屏蔽。在一個實施例中,處理單元 10中支持屏蔽。在這種情況下,例如每個處理單元10可以被設(shè)計為 如果在該特定處理單元10中的一個指令的第一操作數(shù)的條^^不滿 足,并且在該特定處理單元10中的該指令的第二操作數(shù)中的控制標(biāo) 志具有預(yù)定值,則響應(yīng)于該指令而輸出零標(biāo)志信號(即對和沒有貢 獻的信號)。在這種情況下,處理單元10只有當(dāng)滿足該條件并且該控制標(biāo)志沒有預(yù)定值時才輸出非零標(biāo)志信號。在另一個實施例中,通過指令提供電路19提供給控制寄存器(未 示出)的屏蔽向量來支持屏蔽??梢詮闹噶钐峁╇娐?9直接提供這 個屏蔽向量,或者經(jīng)由控制處理器16來提供。圖2示出了一個實施例,其中以處理單元10和加法器電路14 之間所提供的AND門20的形式,把屏蔽電路示出在處理單元10 之外。每個處理單元10的標(biāo)志輸出端連接到各自AND門的第一輸 入端,從屏蔽寄存器22提供控制標(biāo)志到第二輸入端。AND門20的 輸出端連接到加法器電路14。在這個實施例中,控制寄存器22的各 個輸出端連接到AND門20的輸入端,以提供控制標(biāo)志。在這個實 施例中,經(jīng)由控制處理器16來提供屏蔽向量,可以用一個或多個用 于設(shè)置控制寄存器各個部分的指令來實現(xiàn)該屏蔽向量。然而,本發(fā) 明并不限于這個實施例,例如類似于AND門的功能可以是處理單元 IO固有的,在此情況下,控制寄存器22連接到處理單元10;或者 可以使用作為處理單元10的部件的控制寄存器。類似地,如果從指 令提供電路19提供控制標(biāo)志,該電路可以連接到控制寄存器22,或 者如果控制標(biāo)志來自操作數(shù)存儲單元12,則控制寄存器22將會是該 電路的部件。在另一個實施例中,處理單元10被構(gòu)造為輸出多個不同的標(biāo)志 信號(發(fā)出信號來表示例如不同條件,例如,操作數(shù)相等、第一操 作數(shù)大于第二操作數(shù)、第一操作數(shù)小于第二操作數(shù)、或者操作結(jié)果 分別大于零、等于零以及小于零)。在這個實施例中,可以在處理單 元10和控制處理器16之間提供多個加法器電路14,每個用于對各 自類型的標(biāo)志信號進行求和。在這種情況下,控制處理器16優(yōu)選被
構(gòu)造為對不同類型的指令做出響應(yīng),該不同類型的指令響應(yīng)于不同 類型的和來實現(xiàn)跳轉(zhuǎn)。在另一個實施例中,把多個種類型的標(biāo)志信號提供給一個法器電路14,并且每個復(fù)用器(未示出)連接在各個 處理單元10的一組標(biāo)志輸出端和加法器電路14的相應(yīng)輸入端之間, 控制處理器16具有連接到這些復(fù)用器的控制輸入端的輸出端,用于 選擇在控制處理器16的指令控制之下必須被求和的標(biāo)志信號的類 型;可選擇地,處理單元可以被配置為在它們的指令的控制之下來 選擇標(biāo)志類型。在一個實施例中,加法器電路14是飽和加法器電路,其被設(shè)計 為僅累計到預(yù)定的最大值,返回表示該最大值的數(shù)字,或者如果該 實際的和超過了最大值則返回以該實際和為模的數(shù)。這在許多情況 中滿足要求。然而,優(yōu)選把加法器電路14設(shè)計為累加到所有可能的 和值??梢允褂酶鞣N類型的加法器電路。優(yōu)選使用樹形結(jié)構(gòu)加法器 電路14,其中提供了各個子加法器(未示出)以形成處理單元子集 的標(biāo)志信號的各自部分和,并且一個或多個后續(xù)加法器對這些部分 和進行求和。這減小了標(biāo)志信號的生成和跳轉(zhuǎn)的執(zhí)行之間等待時間。 應(yīng)該明白的是,在任何情況下,都可以使用某種流水線操作形式, 使得在一個指令周期內(nèi)處理單元IO所輸出的標(biāo)志信號的和,影響在 稍后的指令周期內(nèi)的跳轉(zhuǎn),該跳轉(zhuǎn)導(dǎo)致程序計數(shù)器地址改變,例如 對于最初指令周期偏移在流水線化的加法器電路14中所使用的多個 周期。優(yōu)選使用一比特的標(biāo)志。但是在進一步的實施例中可以使用多 比特標(biāo)志(例如兩比特標(biāo)志,以指示處理單元10的操作數(shù)之間的比 較導(dǎo)致四個種類中哪一個)。在進一步的實施例中,把加法器電路14 設(shè)計為將這些多比特標(biāo)志作為數(shù)字來求和。要強調(diào)的是,如果使用 多比特標(biāo)志,則該多比特標(biāo)志的大小最好很小,典型地,比處理單 元10的操作數(shù)中的比特數(shù)量小得多,以避免標(biāo)志的輸出和跳轉(zhuǎn)的執(zhí) 行之間有過大的等待時間。該處理電路優(yōu)選是SIMD(單指令多數(shù)據(jù))電路,其意味著指令 提供電路19在每個指令周期把相同指令提供給所有處理單元10。這
樣,以簡單的方式確保了將由處理單元io輸出可比較的標(biāo)志信號,可以明顯地對該信號進行求和。然而,本發(fā)明不限于SIMD處理器。 本發(fā)明還可應(yīng)用于MIMD處理器,即其中的指令提供電路19能夠 把彼此不同的指令提供給處理單元10的處理器。典型地,在這種情 況下,以標(biāo)志信號的和為條件的跳轉(zhuǎn)指令僅用于當(dāng)把相等的或至少 相似的指令提供給所有處理單元10 (或者至少那些沒有屏蔽在和之 外的處理單元IO)時產(chǎn)生的標(biāo)志輸出。此外,盡管本發(fā)明所描述的優(yōu)選實施例中使用加法器電路14的 輸出來執(zhí)行條件跳轉(zhuǎn)(分支)指令,但是應(yīng)該明白的是,此外或者 可替換地,本發(fā)明可以應(yīng)用于中斷或異常處理。在中斷的情況下, 當(dāng)發(fā)生了取決于該和的條件時,控制處理器16促使跳轉(zhuǎn)到預(yù)定的地 址。例如,固定地通過硬接線或響應(yīng)于"激活中斷"指令,可以為 后續(xù)的指令預(yù)先設(shè)置條件和/或預(yù)定的地址。在這類處理器中,程序 計數(shù)器18跟隨正常程序流,除非在正常程序流期間執(zhí)行了任一指令 之后該和滿足了條件。如果滿足了條件,控制跳轉(zhuǎn)到異常處理指令。此處描述了一個實施例中,控制處理器16被構(gòu)造為與處理單元 10來步調(diào)一致地執(zhí)行指令,包括用于改變程序計數(shù)器的跳轉(zhuǎn)指令, 該程序計數(shù)器對處理單元IO和控制處理器16的指令選擇進行控制。 典型地,控制處理器16被構(gòu)造為還能夠執(zhí)行其它類型的指令,例如 以便控制將信號數(shù)據(jù)捕獲到操作數(shù)存儲電路12中或者更新該電路的 輸出結(jié)果等等。然而應(yīng)該明白的是本發(fā)明不限于這個實施例。在不 同的實施例中,控制處理器16僅僅用來監(jiān)視條件,以便實現(xiàn)取決于 這些條件的程序計數(shù)器的更新。在這個情況下,控制處理器的"指 令"僅僅包含跳轉(zhuǎn)目標(biāo)地址(或偏移量)以及可選擇的條件指定, 例如和的門限值以及/或者如果該和高于或低于該門限值時是否需 要跳轉(zhuǎn)。此外,盡管只詳細描述了使用標(biāo)志信號的和來指定跳轉(zhuǎn)條件, 應(yīng)該明白的是,控制處理器16此外可以構(gòu)造為還促使在其它條件下 的跳轉(zhuǎn),例如取決于(標(biāo)志輸出的可選擇屏蔽部分的) 一些邏輯函 數(shù)(是否為真)。為此,可以把相應(yīng)的邏輯電路與加法器電路14并
行連接在標(biāo)志輸出端和控制處理器16之間。在這個情況下,控制處 理器的指令優(yōu)選指定用哪個電路來判決是否實現(xiàn)跳轉(zhuǎn)。然而,應(yīng)該 注意的是,對于標(biāo)志輸出信號的一些簡單的邏輯函數(shù)(例如邏輯 AND、邏輯OR,以及奇偶函數(shù))的結(jié)果之上的跳轉(zhuǎn),可以使用加 法器電路14的輸出信號如果和大于零,則邏輯OR的值為真;如 果該和等于最大可能值,則邏輯AND的值為真;并且奇偶性對應(yīng)于 該和的最低有效位。通過結(jié)合對所選擇的標(biāo)志信號進行屏蔽,求和電路的輸出還可 以用來計算糾錯校驗子值的比特。典型地,這包括多個不同的屏蔽, 以及和的最低有效位的使用??商鎿Q地,可以并行地提供多個不同 的求和電路(其中某些僅具有最低有效位輸出)以及多個屏蔽寄存 器,以并行地計算校驗子的不同比特。
權(quán)利要求
1、一種電子電路,包括多個并行指令處理單元(10),每個處理單元(10)都具有標(biāo)志輸出端,用于提供條件信號,以表示在由該處理單元(10)執(zhí)行指令的期間是否發(fā)生了取決于數(shù)據(jù)的條件;指令提供電路(18、19),其輸出端連接到所述處理單元(10)具有輸入端以及和輸出端的加法器電路(14),所述輸入端連接到所述標(biāo)志輸出端;控制電路(16),其連接到所述指令提供電路(18、19)以控制所提供指令的程序流,所述控制電路(16)具有連接到所述和輸出端的條件輸入端,所述控制電路(16)被配置為根據(jù)在所述和輸出端所提供的和的值,實現(xiàn)所述指令提供電路(18、19)的條件程序控制跳轉(zhuǎn)。
2、 如權(quán)利要求l所述的電子電路,包括屏蔽電路(20、 22), 用于消除所述條件信號對從根據(jù)屏蔽選擇的處理單元(10)而來的 取決于數(shù)據(jù)的條件的依賴性。
3、 如權(quán)利要求l所述的電子電路,用包含跳轉(zhuǎn)指令的程序?qū)ζ?進行編程,以根據(jù)與大于一并且小于處理單元(10)的總數(shù)減一的 數(shù)相對的所述和結(jié)果的值,強制程序跳轉(zhuǎn)。
4、 如權(quán)利要求1所述的電子電路,其中,所述電子電路具有 SIMD結(jié)構(gòu),所述指令提供電路(18、 19)被配置為對所有處理單元 共同提供相同指令信息。
5、 如權(quán)利要求l所述的電子電路,其中,所述控制電路(16) 是指令處理電路,所述指令提供電路(18、 19)被配置為在向所述 處理單元(10)提供所述指令信息的同時,向所述控制電路(16) 提供與用于所述處理單元(10)的各個指令相關(guān)聯(lián)的控制指令,所述控制電路的控制指令集包括用于實現(xiàn)條件程序控制跳轉(zhuǎn)的條件跳 轉(zhuǎn)指令。
6、 如權(quán)利要求l所述的電子電路,其中,通過所述加法器電路 來相加的所述條件信號是一比特信號,所述和是多比特和信號。
7、 如權(quán)利要求1所述的電子電路,其中,所述處理單元(10) 的指令集包括比較指令,用于定義該取決于數(shù)據(jù)的條件是如何取決 于所述指令的操作數(shù)數(shù)據(jù)的。
8、 如權(quán)利要求1所述的電子電路,其中,所述控制電路(16) 被配置為根據(jù)所述和的值是否低于所述控制電路的控制指令中指 定的門限值以及/或者根據(jù)所述和的值是否高于所述控制電路的控 制指令中指定的門限值,來實現(xiàn)所述條件程序控制跳轉(zhuǎn)。
9、 一種用于并行地處理多個操作數(shù)的方法,所述方法包括 把指令提供給多個并行的處理單元(10); 把所述指令的各個操作數(shù)數(shù)據(jù)提供給各個處理單元(10); 在每個特定的處理單元(10)中,確定在由該特定的處理單元(10)執(zhí)行指令的期間,是否發(fā)生了取決于操作數(shù)數(shù)據(jù)的條件; 根據(jù)所述確定,從每個特定的處理單元(10)輸出條件信號; 對所述條件信號進行求和,以形成和信號;在包含所述指令的程序中實現(xiàn)條件程序控制跳轉(zhuǎn),該跳轉(zhuǎn)根據(jù) 所述和信號表示的值來實現(xiàn)。
全文摘要
一種包含多個處理單元(10)的電子電路,其中把受公共程序流控制的指令提供給該多個處理單元(10),該電子電路典型地用于SIMD操作,其中,把相同的指令應(yīng)用到所有的處理單元,并且把該指令的不同操作數(shù)數(shù)據(jù)應(yīng)用到各自的處理單元(10)。在該指令的控制之下,每個處理單元(10)確定是否發(fā)生了取決于操作數(shù)數(shù)據(jù)的條件。該處理單元根據(jù)所述確定輸出條件信號。把條件信號相加,以形成和信號。通過取決于該和信號所表示的值的條件跳轉(zhuǎn)來控制程序流。
文檔編號G06F9/32GK101120310SQ200680004709
公開日2008年2月6日 申請日期2006年2月9日 優(yōu)先權(quán)日2005年2月14日
發(fā)明者A·A·阿博, R·P·克萊霍斯特, S·F·莫于 申請人:皇家飛利浦電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1