两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

判斷系統(tǒng)及方法

文檔序號(hào):6331703閱讀:244來(lái)源:國(guó)知局
專利名稱:判斷系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種微處理器指令,特別涉及一種用以從一數(shù)字碼集合(setof digital values)中,判斷出最小碼的系統(tǒng)及方法,其中最小的數(shù)字碼作為一水平最小值 (horizontal minimum)。
背景技術(shù)
目前的微處理器(microprocessor)經(jīng)常被用來(lái)執(zhí)行媒體指令(Media Instruction),用以增加多媒體應(yīng)用的效率。舉例而言,微處理器架構(gòu)可能包含一個(gè)或多個(gè) 媒體指令,用以從一數(shù)字碼集合中辨識(shí)出一水平最小值,以及該水平最小值在一總線(bus) 或一寄存器(register)的相對(duì)應(yīng)位置(location)。一具體的例子就是英特爾(intel) 的 SSE4 程序參考手冊(cè)(SSE4 programming reference manual)里的 PHMINP0SUW 指令。 PHMINP0SUW指令由8個(gè)無(wú)正負(fù)號(hào)字(unsigned words, 128bits)中,找出最小字及最小字的 相對(duì)應(yīng)位置,其中最小字具有16個(gè)位(bit)。某些已知的微處理器在執(zhí)行PHMINP0SUW指 令時(shí),需要較多的處理程序或是較多時(shí)鐘周期。舉例而言,為了辨識(shí)出多個(gè)字對(duì)里的最小字 對(duì),則需要使用4個(gè)16位的大小比較器(magnitudecomparators),才能在一第一周期內(nèi), 將搜尋范圍由8個(gè)字降低至4個(gè)字,再將所找到的4個(gè)字反饋(feed back)至2個(gè)比較器, 用以在一第二周期內(nèi),搜尋范圍由4個(gè)字降低至2個(gè)字,最后再將尋找結(jié)果反饋給1個(gè)比較 器,用以在一第三(即最后)周期內(nèi),找出2個(gè)字里的最小字。在一已知的做法中,通過(guò)增 加16位比較器的數(shù)量以達(dá)到在單一周期內(nèi)執(zhí)行指令的功能。以7個(gè)16位比較器為例,在 單一周期內(nèi),先利用4個(gè)比較器進(jìn)行第一次的比較,用以將搜尋的范圍由8字降低至4字, 然后再利用2個(gè)比較器,將搜尋的范圍由4字降低至2字,最后再利用1比較器,從2字中 找出最小者。然而,每一 16位比較器會(huì)占用微處理器較大的空間,因而增加成本并降低處 理效能。

發(fā)明內(nèi)容
本發(fā)明的目的在于,不增加電路的情況下,又可在單一周期從數(shù)字碼集合中找出 最小數(shù)字碼及其相對(duì)應(yīng)位置。本發(fā)明提供一種判斷系統(tǒng),用以從至少二個(gè)二進(jìn)制碼中,找出一最小二進(jìn)制碼。在 一實(shí)施例中,判斷系統(tǒng)包括,一第一加法器、一第二加法器以及一比較電路。第一加法器加 總多個(gè)第一位以及多個(gè)第二位,用以提供一第一進(jìn)位輸出及一第一傳遞輸出。這些第一位 為一第一二進(jìn)制碼的高位。這些第二位反相于一第二二進(jìn)制碼的高位。第二加法器加總 多個(gè)第三位以及多個(gè)第四位,用以提供一第二進(jìn)位輸出。這些第三位為第一二進(jìn)制碼的低 位。這些第四位反相于第二二進(jìn)制碼的低位。比較電路根據(jù)第一及第二進(jìn)位輸出及第一 傳遞輸出,判斷是否第一二進(jìn)制碼大于第二二進(jìn)制碼。第一及第二二進(jìn)制碼均無(wú)正負(fù)號(hào) (unsigned) 0第一及第二加法器執(zhí)行無(wú)正負(fù)號(hào)二進(jìn)制加法。該第一傳遞輸出代表該第一加 法器是否接收到一進(jìn)入輸入(carry input)。
本發(fā)明還提供一種判斷系統(tǒng),用以快速地由多個(gè)數(shù)字碼中,找出一水平最小值。本 發(fā)明的判斷系統(tǒng)包括,多個(gè)差異電路、一路徑選擇電路以及一比較電路。每一差異電路比較 兩數(shù)字碼。路徑選擇電路將這些數(shù)字碼中的每一個(gè)指定給至少一差異電路,用以將每一數(shù) 字碼與其它數(shù)字碼作比較。每一差異電路可能包括一高加法器以及一低加法器。高加法器 比較一第一數(shù)字碼的高部分及一第二數(shù)字碼的高部分,用以提供一第一進(jìn)位輸出以及一傳 遞輸出。低加法器比較該第一數(shù)字碼的低部分及該第二數(shù)字碼的低部分,用以提供一第二 進(jìn)位輸出。比較電路比較這些第一及第二進(jìn)位輸出以及比較這些傳遞輸出,用以得知這些 數(shù)字碼中的一最小數(shù)字碼。每一傳遞輸出表示這些差異電路中的一個(gè)的高加法器是否接收一進(jìn)位輸入。該比 較電路包括一解碼電路。解碼電路解碼比較位,用以提供多個(gè)最小位。每一最小位表示相 對(duì)應(yīng)的數(shù)字碼是否為最小數(shù)字碼。一位置電路告知該最小數(shù)字碼的存儲(chǔ)器位置。判斷系統(tǒng) 可能被整合在一微處理器芯片中,用以執(zhí)行一快速的水平最小指令。本發(fā)明提供一種判斷方法,用以找出多個(gè)數(shù)字碼中的一最小數(shù)字碼。在一可能實(shí) 施例中,判斷方法包括下列步驟,比較一第一數(shù)字碼的高位以及一第二數(shù)字碼的高位,用以 提供一第一進(jìn)位輸出以及一傳遞輸出;比較該第一數(shù)字碼的低位以及該第二數(shù)字碼的低 位,用以提供一第二進(jìn)位輸出;以及根據(jù)第一及第二進(jìn)位輸出以及該傳遞輸出,判斷出該第 一或第二數(shù)字碼為一較小碼。本發(fā)明的判斷方法可能包括,將這些數(shù)字碼的每一個(gè)傳送至 多個(gè)加法器對(duì)的至少一加法器對(duì)中,用以將每一數(shù)字碼與其它數(shù)字碼相比較,以得知一最 小數(shù)字碼。本發(fā)明的判斷方法還包括,解碼比較位。本發(fā)明的判斷方法還包括,得知最小數(shù) 字碼在一存儲(chǔ)器中的位置。本發(fā)明提供一種系統(tǒng),利用一共用加法器電路,執(zhí)行一水平最小指令及一誤差絕 對(duì)值總和指令中的一個(gè)。在一實(shí)施例中,該系統(tǒng)包括,多個(gè)加法器、一加總電路、一比較電路 以及一路徑選擇電路。輸入運(yùn)算元包括多個(gè)數(shù)字碼。對(duì)誤差絕對(duì)值總和指令而言,這些數(shù) 字碼包括一第一數(shù)字碼集和以及一第二數(shù)字碼集合。對(duì)水平最小指令而言,這些數(shù)字碼包 括多個(gè)數(shù)字碼對(duì)。每一數(shù)字碼對(duì)具有一高數(shù)字碼以及一低數(shù)字碼。每一加法器將一第一數(shù) 字碼與一第二數(shù)字碼作比較,用以提供一誤差絕對(duì)值以及一進(jìn)位輸出。加總電路加總這些 誤差絕對(duì)值,用以提供多個(gè)誤差絕對(duì)值加總值。這些加法器構(gòu)成多個(gè)加法器對(duì),并提供一傳 遞輸出。比較電路結(jié)合這些進(jìn)位輸出及這些傳遞輸出,用以找出這些數(shù)字碼對(duì)的一最小數(shù) 字碼對(duì)。在執(zhí)行該水平最小指令時(shí),路徑選擇電路將這些數(shù)字碼對(duì)的每一數(shù)字碼對(duì)傳送至 這些加法器對(duì)的至少一加法器對(duì),用以將每一數(shù)字碼對(duì)與其它數(shù)字碼對(duì)相比較。在執(zhí)行該 誤差絕對(duì)值總和指令時(shí),路徑選擇電路將該第一及第二數(shù)字碼集合傳送至這些加法器對(duì), 用以得知該第一數(shù)字碼集合的每一數(shù)字碼與該第二數(shù)字碼集合的每一數(shù)字碼之間的誤差 絕對(duì)值,該第二數(shù)字碼集合具有連續(xù)的數(shù)字碼。本發(fā)明還提供一種方法,利用一共用加法器電路,執(zhí)行一水平最小指令以及一誤 差絕對(duì)值總和指令中的一個(gè)。在一實(shí)施例中,本發(fā)明所提供的方法包括接收多個(gè)數(shù)字碼。 在執(zhí)行誤差絕對(duì)值總和指令時(shí),這些數(shù)字碼包括一第一數(shù)字碼集合以及一第二數(shù)字碼集 合。在執(zhí)行水平最小指令時(shí),這些數(shù)字碼包括一高數(shù)字碼以及一低數(shù)字碼。本發(fā)明所提供 的方法還包括,提供多個(gè)加法器。每一加法器將一第一數(shù)字碼與一第二數(shù)字碼相比較,用以 提供一誤差絕對(duì)值以及一進(jìn)位輸出。本發(fā)明所提供的方法還包括,加總這些誤差絕對(duì)值,用以提供多個(gè)誤差絕對(duì)值總和值;將這些加法器分類成多個(gè)加法器對(duì),并提供一傳遞輸出; 結(jié)合這些進(jìn)位輸出及這些傳遞輸出,用以得知這些數(shù)字碼對(duì)的一最小數(shù)字碼對(duì);以及在執(zhí) 行該水平最小指令時(shí),將這些數(shù)字碼對(duì)的每一數(shù)字碼對(duì)傳送至這些加法器對(duì)的至少一加法 器對(duì),用以將每一數(shù)字碼對(duì)與其它數(shù)字碼對(duì)相比較,在執(zhí)行該誤差絕對(duì)值總和指令時(shí),將該 第一及第二數(shù)字碼集合傳送至這些加法器對(duì),用以得知第一數(shù)字碼集合的每一數(shù)字碼與該 第二數(shù)字碼集合的每一連續(xù)數(shù)字碼之間的誤差絕對(duì)值。


圖1顯示微處理器100的一實(shí)施例。圖2為比較電路的一實(shí)施例。圖3為本發(fā)明的路徑選擇電路的一實(shí)施例。圖4為本發(fā)明的第一加法器電路的一實(shí)施例。圖5為本發(fā)明的差異單元DIFFl的一實(shí)施例。圖6顯示本發(fā)明的總和單元Sl的一實(shí)施例。圖7為本發(fā)明的PMIN電路206的一實(shí)施例。圖8為本發(fā)明的高階/低階比較電路212的一實(shí)施例。主要元件符號(hào)說(shuō)明100:微處理器;102 排程器;104 復(fù)雜整數(shù)執(zhí)行單元;106 簡(jiǎn)單整數(shù)執(zhí)行單元;108 浮點(diǎn)執(zhí)行單元;110:媒體單元;114、802 比較電路;112:其它單元;202:路徑選擇電路;203 低階加法器電路;204 第一加法器電路;206 第一 PMIN 電路;207:高階加法器電路;208 第二加法器電路;210 第二 PMIN 電路;212 高階/低階比較器電路;302 緩沖器電路;304、306、308、506、510、804、806、808 多工器;402:差異電路;404:總和電路;410、412 選擇邏輯電路;502、504、602、604、606 加法器;
514、708、716、722、726 與門(mén);516 或門(mén);508、512、702、704、706、712、714、720、710、718、724 反相器;728:選擇電路;DIFF 1 DIFF8 差異單元;Sl S4 總和單元。
具體實(shí)施例方式以下的實(shí)施例說(shuō)明用以讓本領(lǐng)域的普通技術(shù)人員得以制造和使用本發(fā)明公開(kāi)的 內(nèi)容。優(yōu)選實(shí)施例的修改對(duì)于本領(lǐng)域的技術(shù)人員將是顯而易見(jiàn)的,且此處描述的普遍原理 可應(yīng)用于其他實(shí)施例。因此,本發(fā)明并未局限于此處提出和說(shuō)明的特定實(shí)施例,其應(yīng)涵蓋所 有符合公開(kāi)在此的原理和新穎特征的最大范圍。本發(fā)明注意到,已知微處理器執(zhí)行水平最小值指令需使用許多周期。本發(fā)明在執(zhí) 行相同的指令時(shí),僅需單一周期,并且不會(huì)大量增加電路。本發(fā)明提供一種系統(tǒng)及方法,用 以快速得知水平最小值,為使本發(fā)明的特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉出優(yōu)選實(shí)施例, 并配合附圖(圖1 圖8),作詳細(xì)說(shuō)明。圖1為本發(fā)明的一實(shí)施例中微處理器100的一結(jié)構(gòu)圖。處理器100具有比較電 路114,比較電路114可由數(shù)字碼集合中,快速地找出一水平最小值,并得到第一數(shù)字碼集 合及第二數(shù)字碼集合的誤差絕對(duì)值總和(sum of absolute differences )。在本實(shí)施例 中,圖1并未顯示其它已知的系統(tǒng)及功能,如指令提取(instruction fetch)、指令隊(duì)列 (instruction queue)、才旨令角軍石馬(instruction decoding)、以及指令重排(Instruction reordering)...等。雖然圖1沒(méi)有顯示部分已知技術(shù),但并不會(huì)影響對(duì)于本發(fā)明的理解。 微處理器100具有排程器(scheduler) 102。排程器102安排(route)指令或操作的程 序,用以選擇算術(shù)邏輯單元(arithmetic logic units ;ALUs)或是執(zhí)行單元(execution units ;EUs)。如圖1所示,排程器102耦接復(fù)雜整數(shù)執(zhí)行單元(complex integer execution unit ;IEU) 104、簡(jiǎn)單整數(shù)執(zhí)行單元(simple IEU) 106、浮點(diǎn)執(zhí)行單元(floating point execution unit ;FPEU) 108、媒體單元(media unit) 110以及其它單元112,其中其它單元 112為其它相似或不同的處理單元。媒體單元110 —般執(zhí)行以媒體為基礎(chǔ)的指令及運(yùn)作, 如單指令多數(shù)據(jù)流式擴(kuò)展指令集(Streaming SIMD Extensions, SSE)或者多媒體延伸指令 集(MultiMedia extension, MMX)及其它類似指令集。SSE是英特爾的x86架構(gòu)中的一種 SIMD指令集,SIMD是指單指令多數(shù)據(jù)(single instruction multiple data)。媒體單元 110具有比較電路114,用以執(zhí)行至少兩獨(dú)立的媒體指令。在本實(shí)施例中,該兩媒體指令稱 為水平最小指令(PMIN指令)及誤差絕對(duì)值總和指令(PSAD指令)。PSAD指令表示第一數(shù) 字碼(或二進(jìn)制碼)集合及第二數(shù)字碼(或二進(jìn)制碼)集合的誤差絕對(duì)值總和,其中第二 數(shù)字碼集合緊隨在第一數(shù)字碼集合之后。稍后將詳細(xì)說(shuō)明第一數(shù)字碼集合及第二數(shù)字碼集 合。通過(guò)執(zhí)行PMIN指令,可得知一最小數(shù)字碼及其相對(duì)應(yīng)位置。在本實(shí)施例中,上述數(shù)字 碼、二進(jìn)制碼以及相對(duì)應(yīng)格式可相互替換,并且這些碼代表多個(gè)位(bit)或十六進(jìn)位的數(shù) 字碼。排程器102具有存儲(chǔ)器116。存儲(chǔ)器116用以存儲(chǔ)PSAD指令及PMIN指令的運(yùn)算元 (operand),并具有第一總線ABUS以及第二總線BBUS。在一實(shí)施例中,第一總線ABUS以及第二總線BBUS可傳送128位,但并非用以限制本發(fā)明。在其它實(shí)施例中,第一總線ABUS以 及第二總線BBUS可傳送其它數(shù)量的位。雖然媒體單元110 —般用以執(zhí)行其它多種本領(lǐng)域 人士所深知的媒體指令,但比較電路114用以執(zhí)行PSAD及PMIN指令。在一可能實(shí)施例中,針對(duì)PSAD指令而言,第一數(shù)字碼集合具有4個(gè)字節(jié)(每一字 節(jié)具有8個(gè)位),其中這4個(gè)字節(jié)為無(wú)正負(fù)號(hào)字節(jié)。針對(duì)PSAD指令而言,第二數(shù)字碼集合具 有一字節(jié)集合。該字節(jié)集合具有11個(gè)連續(xù)的字節(jié)。同一時(shí)間,每4個(gè)連續(xù)的字節(jié)會(huì)被分類 成一個(gè)群組。針對(duì)第二數(shù)字碼集合而言,每一下一個(gè)4字節(jié)群組由下一較高字節(jié)開(kāi)始,意思 就是說(shuō),每一下一個(gè)群組會(huì)位移1個(gè)字節(jié),因此,會(huì)重疊上一個(gè)群組的最后3個(gè)字節(jié)。假設(shè)第 二數(shù)字碼集合具有11個(gè)字節(jié)BO B10。首先將BO B3分類成第一群組,接著,由下一個(gè) 較高字節(jié)(如Bi)開(kāi)始,再分類形成第二群組(Bi B4)。因此,第二群組(Bi B4)會(huì)重 疊第一群組(B0 B3)的最后3個(gè)字節(jié)(Bi B3)。第一數(shù)字碼集合的每一字節(jié)與第二數(shù) 字碼集合的每一字節(jié)之間的差稱為誤差絕對(duì)值。上述誤差絕對(duì)值會(huì)被加總在一起。一具體 的例子就是英特爾的SSE4程序參考手冊(cè)里的MPSADBW指令。針對(duì)PSAD指令而言,第一總線 ABUS傳送第一運(yùn)算元。第一運(yùn)算元包括4個(gè)無(wú)正負(fù)號(hào)的字節(jié)。第二總線BBUS傳送第二運(yùn) 算元。第二運(yùn)算元具有11個(gè)無(wú)正負(fù)號(hào)的字節(jié)。誤差絕對(duì)值總和為8個(gè)無(wú)正負(fù)號(hào)的10位二 進(jìn)制碼。PSAD指令可能包括一個(gè)或多個(gè)偏移量(offset),用以找到上述運(yùn)算元。本發(fā)明并 不限定偏移量的大小,任何偏移量均可通過(guò)第一總線ABUS及第二總線BBUS而配置,因此, 相對(duì)應(yīng)的運(yùn)算元會(huì)被配置在第一總線ABUS及第二總線BBUS的最右高位位置(right-most bit position)。在本實(shí)施例中,省略上述偏移量。在一實(shí)施例中,PMIN指令提供第一總線 ABUS中的8個(gè)無(wú)正負(fù)號(hào)數(shù)字字的最小值及該最小值的相對(duì)應(yīng)位置,其中這8個(gè)無(wú)正負(fù)號(hào)數(shù) 字字的每一字具有16位。一具體的例子就是英特爾的SSE4程序參考手冊(cè)里的PHMINP0SUW 指令。針對(duì)PMIN指令而言,第一總線ABUS傳送8個(gè)字,每一字具有16位。第二總線BBUS 所傳送的位可不被定義或是忽略,亦或是令第二總線BBUS所傳送的字與第一總線ABUS相 同。在本實(shí)施例中,比較電路114在單一周期內(nèi),利用相同的加法器電路執(zhí)行雙指令(PMIN 指令及PSAD指令)。圖2為本發(fā)明的比較電路114的一實(shí)施例。如圖所示,比較電路114包括,路徑選 擇電路(routing circuit) 202、低階(low-order ;L0)加法器電路 203、高階(high-order ; HI)加法器電路207、高階/低階比較器電路212。路徑選擇電路202具有二輸入端,分別 耦接第一總線ABUS及第二總線BBUS。路徑選擇電路202具有另一輸入端,用以接收控制 碼INSTR。路徑選擇電路202根據(jù)輸入端所接收到的控制碼INSTR,對(duì)來(lái)自第一總線ABUS 及第二總線BBUS的字節(jié),進(jìn)行重新排列或重新進(jìn)行路徑選擇,用以切分第一總線ABUS及第 二總線BBUS的字節(jié)??刂拼aINSTR具有至少1位。在本實(shí)施例中,當(dāng)控制碼INSTR等于1 時(shí),表示執(zhí)行PMIN指令;當(dāng)控制碼INSTR等于0時(shí),表示執(zhí)行PSAD指令。第一總線ABUS被 切分成一高位部分AH<31:0>以及一低位部分AL<31:0>,其中高位部分AH<31:0>及低位部 分AL<31:0>均具有32位。第二總線BBUS被切分成一高位部分BH<55:0>以及一低位部分 BL<55 0>,其中高位部分BH<55 0>及低位部分BL<55 0>均具有56位。稍后將詳細(xì)說(shuō)明如 何根據(jù)一開(kāi)始所執(zhí)行的指令,對(duì)第一總線ABUS及第二總線BBUS的字節(jié)進(jìn)行重新排列或重 新進(jìn)行路徑選擇。低階加法器電路203具有第一加法器電路204。第一加法器電路204耦 接第一 PMIN電路206。高階加法器電路207具有第二加法器電路208。第二加法器電路208耦接第二 PMIN電路210。第一加法器電路204接收控制碼INSTR、低位部分AL<31:0>及BL<55:0>,并輸出 誤差絕對(duì)值總和PSAD<39:0>以及比較位C<5:0>。誤差絕對(duì)值總和PSAD<39:0>具有40 位。比較位C<5:0>具有6位。比較位C<5:0>、AL<15:0>及BL<47:0>被傳送至第一 PMIN 電路206。針對(duì)低位部分,第一 PMIN電路206輸出最小值PMINVAL<15 0>以及相對(duì)應(yīng)位置 PMINL0CX1 0>??刂拼aINSTR、高位部分AH<31 0>及BH<55 0>被傳送至第二加法器電路 208。第二加法器電路208輸出誤差絕對(duì)值總和PSAD<79:40>以及比較位C<11:6>。誤差絕 對(duì)值總和PSAD<79:40>具有40位。比較位C<11:6>具有6位。比較位C<11:6>、AH<15:0> 及BH<47:0>被傳送至第二 PMIN電路210。針對(duì)高位部分,第二 PMIN電路210輸出最小 值PMINVAL<31:16>以及相對(duì)應(yīng)位置PMINL0C<3 2>。將第一 PMIN電路206所輸出的最小 值PMINVAL<15:0>以及相對(duì)應(yīng)位置PMINL0CX1 0>以及第二 PMIN電路210所輸出的最小 值PMINVAL<31:16>以及相對(duì)應(yīng)位置PMINL0C<3 2>相結(jié)合,便可產(chǎn)生PMINVAL<31 0>以及 PMINL0C<3 0>。高階/低階比較器電路212接收PMINVAL<31 0>以及PMINL0C<3 0>,并產(chǎn) 生最終的最小數(shù)字碼MINVAL<15:0>及其相對(duì)位置MINL0C<2:0>。第一加法器電路204及第二加法器電路208根據(jù)指令(即控制碼INSTR),對(duì)輸入 的字節(jié)進(jìn)行排列,并進(jìn)行字節(jié)間的比較。針對(duì)PSAD指令而言,組合后的PSAD<79:0>具有8 個(gè)10位的數(shù)字碼,其中這些數(shù)字碼沒(méi)有正負(fù)號(hào)。這8個(gè)10位的數(shù)字碼為執(zhí)行誤差絕對(duì)值 總和操作后的結(jié)果。針對(duì)PSAD指令,第一 PMIN電路206、第二 PMIN電路210及高階/低 階比較器電路212可被省略。針對(duì)PMIN指令,當(dāng)每一高位部分及低位部分輸入時(shí),可省略 PSAD<79 0>,通過(guò)第一 PMIN電路206及第二 PMIN電路210所接收到的比較位C<11 0>,便可 得知最小的數(shù)字碼及相對(duì)位置。當(dāng)?shù)谝豢偩€ABUS提供128位的輸入數(shù)據(jù)時(shí),高階/低階比 較器電路212接收并比較高位部分及低位部分的最小數(shù)字碼,并輸出最小值MINVAL<15:0> 以及相對(duì)位置MINL0C<2 0>。圖3為本發(fā)明的路徑選擇電路202的一實(shí)施例。路徑選擇電路202根據(jù)特定 的指令,用以對(duì)第一總線ABUS及第二總線BBUS所提供的數(shù)字碼進(jìn)行排列或是重新進(jìn)行 路徑選擇。緩沖器電路302接收ABUS<31:0>,并針對(duì)PSAD指令及PMIN指令,輸出相對(duì) 應(yīng)的AL<31:0>。在一實(shí)施例中,針對(duì)每一位,緩沖器電路302可包含一獨(dú)立的緩沖器,使 得 ABUS<31:0> 可有效地被復(fù)制成 AL<31:0>。換句話說(shuō),AL<31> = ABUS<31>、AL<30> = ABUS<30>、. · ·、AL<0> = ABUS<0>。對(duì)于 PSAD 指令及 PMIN 指令而言,AL<31:0> 具有 4 個(gè)字 節(jié)A3 AO。對(duì)PMIN指令而言,字節(jié)A3 AO可分成兩對(duì),其中A3及A2可構(gòu)成字Wl,Al及 AO可構(gòu)成字W0。字Wl及WO均具有16位。多工器304接收ABUS<95:64>及ABUS<31:0>。 當(dāng)多工器304的控制信號(hào)等于邏輯1 (或高電平)時(shí),多工器304的輸出AH<31:0>等于 ABUS<95:64>。當(dāng)多工器304的控制信號(hào)等于邏輯0 (或低電平)時(shí),多工器304的輸出 AH<31 0>等于ABUS<31 0>。在一實(shí)施例中,對(duì)于32位的AH<31 0>中的每一位,均提供單獨(dú) 的一具有1位寬度的多工器,因此對(duì)于每一輸入端及輸出端均具有單獨(dú)的多工器路徑(MUX path)。如果控制碼INSTR代表PMIN指令時(shí),則多工器304將ABUS<95 64>作為AH<31 0>。 這32位形成4個(gè)字節(jié)All A8。針對(duì)PMIN而言,字節(jié)All A8可分成兩字,其中字節(jié)All 及AlO可構(gòu)成字W5,而字節(jié)A9及A8可構(gòu)成字W4。如果控制碼INSTR代表PSAD時(shí),則多工 器304將ABUS<31:0>作為AH<31:0>。這32位形成4個(gè)字節(jié)A3 AO。字節(jié)的復(fù)制就是因?yàn)镻SAD指令的第一運(yùn)算元對(duì)于高階及低階部分來(lái)說(shuō)是相同的,稍后將詳細(xì)說(shuō)明。當(dāng)多工器306的控制信號(hào)為邏輯1時(shí)(即控制碼INSTR = 1),多工器306接收并 輸出8個(gè)高位0x8以及ABUS<63:16>,其中這8個(gè)高位0x8的邏輯值均為0。此時(shí),多工器 306的輸出BL<55 0>為8個(gè)高位0x8以及ABUS<63 16>。當(dāng)多工器306的控制信號(hào)為邏輯0 時(shí),多工器306接收并輸出BBUS<55:0>,此時(shí),多工器306的輸出BL<55 0>為BBUS<55 0>。 在一實(shí)施例中,針對(duì)每一總線的每一字節(jié)而言,可使用具有1位寬度的多工器。如果控制碼 INSTR代表PMIN指令時(shí),則ABUS<63:16>會(huì)被選擇到。ABUS<63:16>具有6個(gè)字節(jié)A7 A2。字節(jié)A7 A2可被分別3對(duì)。字節(jié)A7及A6可構(gòu)成字W3。字節(jié)A5及A4可構(gòu)成字W2。 字節(jié)A3及A2可構(gòu)成字Wl。如果控制碼INSTR代表PSAD指令時(shí),BBUS<55:0>會(huì)被選擇到。 BBUS<55:0>具7個(gè)低字節(jié)B6 BO的第二運(yùn)算元。當(dāng)多工器308的控制端為邏輯1時(shí),多 工器308接收并輸出8個(gè)高位0x8以及ABUS<127:79>,其中這8個(gè)高位0x8的邏輯值均為 0。此時(shí),多工器308的輸出BH<55:0>為8個(gè)高位0x8以及ABUS<127:79>的組合。當(dāng)多工 器308的控制端為邏輯0時(shí),多工器308接收并輸出BBUS<87:32>。此時(shí),多工器308的輸 出BH<55:0>為BBUS<87:32>。如果控制碼INSTR為PMIN指令時(shí),ABUS<127:79>會(huì)被選擇。 ABUS<127:79>具有6個(gè)字節(jié)A15 A10。字節(jié)A15 AlO可分別3對(duì)。字節(jié)A15及A14可 構(gòu)成字W7。字節(jié)A13及A12可構(gòu)成字W6。字節(jié)All及AlO可構(gòu)成字W5。如果控制碼INSTR 為PSAD指令時(shí),BBUS<87:32>會(huì)被選擇。BBUS<87 32>具有7個(gè)高字節(jié)B 10 B4的,7個(gè) 高字節(jié)BlO B4構(gòu)成PSAD指令的第二運(yùn)算元。請(qǐng)參考圖2,針對(duì)PMIN指令而言,利用圖3所顯示的路徑選擇電路202的選派,可 將字Wl及WO提供給AL總線,將字W3 Wl提供給BL總線,以便傳送到第一加法器電路 204。第一加法器電路204將字WO分別與字Wl W3相比較,再將字Wl分別與字W2 W3 相比較,然后再將字W2與字W3相比較,并根據(jù)比較結(jié)果,提供相對(duì)應(yīng)的比較位C<5 0>。第 一 PMIN電路206接收字W3 W,并將最小字作為PMINVAL<15 0>。第一 PMIN電路206指 出第一總線ABUS的低位部分的最小字及其相對(duì)應(yīng)位置PMINL0CX1 0>。舉例而言,如果最小 字位于 ABUS<15:0> 時(shí),則 PMINL0C = 00 ;若最小字位于 ABUS<32 16> 時(shí),則 PMINL0C = 01。 同樣道理,針對(duì)PMIN指令而言,可將字W5及W4提供給AH總線,將字W7 W5提供給BH總 線,以便傳送到第二加法器電路208。第二加法器電路208將字W4與字W5 W7相比較,然 后再將字W5分別與字W6 W7相比較,接著將字W6分別與字W7相比較,并根據(jù)比較結(jié)果, 提供相對(duì)應(yīng)的比較位C<11:6>。第二 PMIN電路210接收字W7 W4,并將字W7 W4中的 最小字的相對(duì)應(yīng)位作為PMINVAL<31 16>。第二 PMIN電路210亦指示位于第一總線ABUS的 高位部分的最小字的相對(duì)應(yīng)位置PMINL0C<3:2>。舉例而言,如果最小字位于ABUS<79:64> 時(shí),則PMINL0C = 00 ;若最小字位于ABUS<95:65>時(shí),則PMINL0C = 01。高階/低階比較 器電路212將PMINVAL<15:0>的字與PMINVAL<31 16>的字相比較,用以辨識(shí)出何者才是 ABUS<127:0>中的最小值。通過(guò)高階/低階比較器電路212的比較結(jié)果,也可得知最小值的 相對(duì)位置MINL0C<2:0>。請(qǐng)參考圖2,針對(duì)PSAD指令而言,路徑選擇電路202 (如圖3所示)通過(guò)字節(jié)的選 派,將來(lái)自第一總線ABUS的第一運(yùn)算元的字節(jié)A3 AO提供給AL<31 0>及AH<31 0>,并分 別將AL<31:0>提供予第一加法器電路204以及將AH<31:0>提供予第二加法器電路208。 路徑選擇電路202將來(lái)自第二總線BBUS的第二運(yùn)算元的字節(jié)B6 BO作為BL<55:0>,并將BL<55:0>傳送至第一加法器電路204。路徑選擇電路202將來(lái)自第二總線BBUS的第二 運(yùn)算元的字節(jié)BlO B4作為BH<55:0>,并將BH<55:0>傳送至第二加法器電路208。針對(duì) PSAD指令而言,第一加法器電路204將字節(jié)AO與BO間的差、字節(jié)Al與Bl間的差、字節(jié)A2 與B2間的差與字節(jié)A3與B3間的差加總在一起,并提供第一 10位的結(jié)果PSAD<9:0>。第一 加法器電路204將字節(jié)AO與Bl間的差、字節(jié)Al與B2間的差、字節(jié)A2與B3間的差與字節(jié) A3與B4間的差加總在一起,并提供第二 10位的結(jié)果PSAD<19:10>。第一加法器電路204 將字節(jié)AO與B2間的差、字節(jié)Al與B3間的差、字節(jié)A2與B4間的差與字節(jié)A3與B5間的差 加總在一起,并提供第三10位的結(jié)果PSAD<29:20>。第一加法器電路204將字節(jié)AO與B3 間的差、字節(jié)Al與B4間的差、字節(jié)A2與B5間的差與字節(jié)A3與B6間的差加總在一起,并 提供第三10位的結(jié)果PSAD<39:30>。同樣道理,第二加法器電路208將字節(jié)AO與B4間的 差、字節(jié)Al與B5間的差、字節(jié)A2與B6間的差與字節(jié)A3與B7間的差加總在一起,并提供 第一 10位的結(jié)果PSAD<49:40>。第二加法器電路208將字節(jié)AO與B5間的差、字節(jié)Al與 B6間的差、字節(jié)A2與B7間的差與字節(jié)A3與B8間的差加總在一起,并提供第二 10位的結(jié) 果PSAD<59:50>。第二加法器電路208將字節(jié)AO與B6間的差、字節(jié)Al與B7間的差、字節(jié) A2與B8間的差與字節(jié)A3與B9間的差加總在一起,并提供第三10位的結(jié)果PSAD<69:60>。 第二加法器電路208將字節(jié)AO與B7間的差、字節(jié)Al與B8間的差、字節(jié)A2與B9間的差與 字節(jié)A3與BlO間的差加總在一起,并提供第四10位的結(jié)果PSAD<79:70>。圖4為本發(fā)明的第一加法器電路204的一實(shí)施例。第一加法器電路204處理 AL<31 0>與BL<31 0>中的字節(jié),并提供PSAD<39 0>或C<5 0>。第一加法器電路204包括差 異電路(difference circuit)402、總和電路(sum circuit)404、選擇邏輯電路(selection logic)410及選擇邏輯電路412。差異電路402具有多個(gè)差異單元DIFFl DIFF8。差異 單元DIFFl DIFF8各自獨(dú)立。總和電路404具有總和單元Sl S4??偤蛦卧猄l S4 各自獨(dú)立。每一差異單元判斷4個(gè)字節(jié)(即2對(duì)字節(jié))之間的差異(無(wú)正負(fù)號(hào))。每一差 異單元將每一對(duì)字節(jié)的其中的一字節(jié)反相后,再與另一字節(jié)加總在一起。每一對(duì)字節(jié)所產(chǎn) 生的差異即為誤差絕對(duì)值。差異單元所接收到的字節(jié)數(shù)據(jù)由一開(kāi)始所執(zhí)行的指令所決定。 選擇邏輯電路410具有多個(gè)多工電路。每一多工電路彼此獨(dú)立。這些多工電路根據(jù)一開(kāi)始 所執(zhí)行的指令,選擇特定字節(jié)予差異單元DIFF3。如圖所示,針對(duì)PMIN指令而言,當(dāng)選擇邏 輯電路410的控制端為邏輯1時(shí)(即控制碼INSTR = 1),選擇邏輯電路410選擇并輸出字 節(jié) BL<47:40>、BL<31:24>、BL<39:32> 及 BL<23:16> 予差異單元 DIFF3。字節(jié) BL<47:40>、 BL<31:24>、BL<39:32>及BL<23:16>分別對(duì)應(yīng)于字節(jié)A7 A4。針對(duì)PSAD指令而言,當(dāng)選 擇邏輯電路410的控制端為邏輯0時(shí)(即控制碼INSTR = 0),選擇邏輯電路410選擇并輸 出字節(jié) BL<23:16>、AL<15:8>、BL<15:8> 及 AL<7:0> 予差異單元 DIFF3。字節(jié) BL<23:16>、 AL< 15 8>、BL<15 8>及AL<7 0>分別對(duì)應(yīng)于字節(jié)B2、Al、Bl及AO。同樣的道理,針對(duì)PMIN 指令而言,當(dāng)選擇邏輯電路412的控制端為邏輯1時(shí),選擇邏輯電路412選擇并輸出字節(jié) AL<15 8>及AL<7 0>予差異單元DIFF8。字節(jié)AL<15 8>及AL<7 0>分別對(duì)應(yīng)于字節(jié)Al及 AO。針對(duì)PSAD指令而言,當(dāng)選擇邏輯電路412的控制端為邏輯0時(shí),選擇邏輯電路412選 擇并輸出字節(jié)AL<23:16>及AL<15:8>予差異單元DIFF3。字節(jié)AL<23 16>及AL<158>分 別對(duì)應(yīng)于字節(jié)A2及Al。針對(duì)PSAD指令而言,差異單元DIFFl的第一反相輸入端接收字節(jié)BL<15:8>。字節(jié)BL<15:8>對(duì)應(yīng)字節(jié)Bi。差異單元DIFFl的第二非反相輸入端接收字節(jié)AL<15:8>。字節(jié) AL<15:8>對(duì)應(yīng)字節(jié)Al。差異單元DIFFl確定字節(jié)Al與Bl之間的誤差絕對(duì)值(|Al_Bl|)。 差異單元DIFFl將字節(jié)Al與Bl之間的誤差絕對(duì)值(|Al_Bl|)作為結(jié)果AD1,并由第一輸出 端輸出。同樣地,差異單元DIFFl的第三反相輸入端接收字節(jié)BL<7:0>。字節(jié)BL<7:0>對(duì)應(yīng) 字節(jié)B0。差異單元DIFFl的第四非反相輸入端接收字節(jié)AL<7:0>。字節(jié)AL<70>對(duì)應(yīng)字節(jié) AO。差異單元DIFFl確定字節(jié)AO與BO之間的誤差絕對(duì)值(lAO-BO |)。差異單元DIFFl將 字節(jié)AO與BO之間的誤差絕對(duì)值(IAO-BOl)作為結(jié)果AD2,并由第二輸出端輸出。同樣地, 差異單元DIFF2確定字節(jié)A3與Β3之間的誤差絕對(duì)值(| Α3-Β3 |),并字節(jié)A3與Β3之間的誤 差絕對(duì)值作為AD3,并由第一輸出端輸出。差異單元DIFF2確定字節(jié)Α2與Β2之間的誤差絕 對(duì)值(IΑ2-Β2 I),并將字節(jié)Α2與Β2之間的誤差絕對(duì)值作為AD4,并由第二輸出端輸出。總而 言之,當(dāng)控制碼INSTR為PSAD指令時(shí),差異電路402確定字節(jié)AO分別與字節(jié)BO Β3之間 的誤差絕對(duì)值、字節(jié)Al分別與字節(jié)Bl Β4之間的誤差絕對(duì)值、字節(jié)Α2分別與字節(jié)Β2 Β5之間的誤差絕對(duì)值、及字節(jié)A3分別與字節(jié)Β3 Β6之間的誤差絕對(duì)值??偤蛦卧猄l計(jì)算4個(gè)字節(jié)ADl AD4的總合,并將計(jì)算后的結(jié)果作為10位的 PSAD<9 0>??偤蛦卧?Sl 的計(jì)算結(jié)果對(duì)應(yīng)于(IAO-BO |) + (| Al-Bl |) + (| A2-B2 |) + (| A3-B3 |)。 針對(duì)PSAD指令而言,差異單元DIFF3確定AO與Bl之間的誤差絕對(duì)值,并將AO與Bl之間 的誤差絕對(duì)值作為AD6。差異單元DIFF3確定Al與B2之間的誤差絕對(duì)值,并將Al與B2之 間的誤差絕對(duì)值作為AD5。差異單元DIFF4確定A2與B3之間的誤差絕對(duì)值,并將A2與B3 之間的誤差絕對(duì)值作為AD8。差異單元DIFF4確定A3與B4之間的誤差絕對(duì)值,并將A3與 B4之間的誤差絕對(duì)值作為AD7??偤蛦卧猄2計(jì)算4個(gè)字節(jié)AD5 AD8的總合,并將計(jì)算后 的結(jié)果作為10位的PSAD<19:10>。總和單元S2的計(jì)算結(jié)果對(duì)應(yīng)于(| AO-Bl |) + (| A1-B2 |) + (IA2-B3 I) + (IA3-B4 |)。同樣地,針對(duì)PSAD指令而言,總和單元S3計(jì)算4個(gè)字節(jié)AD9 AD12 的總合,并將計(jì)算后的結(jié)果作為10位的PSAD<29:20>??偤蛦卧猄3的計(jì)算結(jié)果對(duì)應(yīng)于(|A 0-B2 I) + (IA1-B3 I) + (IA2-B4 |) + (| A3-B5 |)。最后,針對(duì) PSAD 指令而言,總和單元 S4 計(jì)算 4 個(gè)字節(jié)AD13 AD16的總合,并將計(jì)算后的結(jié)果作為10位的PSAD<39 30>??偤蛦卧猄3的 計(jì)算結(jié)果對(duì)應(yīng)于(IA0-B3 I) + (IA1-B4 |) + (| A2-B5 |) + (| A3-B6 )。雖然圖4僅顯示第一加法 器電路204的一實(shí)施例,但第二加法器電路208大致上與第一加法器電路204相似,用以確 定字節(jié)AO分別與字節(jié)B4 B7之間的誤差絕對(duì)值、字節(jié)Al分別與字節(jié)B5 B8之間的誤 差絕對(duì)值、字節(jié)A2分別與字節(jié)B6 B9之間的誤差絕對(duì)值、以及字節(jié)A3分別與字節(jié)B7 BlO之間的誤差絕對(duì)值。另外,第二加法器電路208加總4個(gè)誤差絕對(duì)值,并根據(jù)加總后的 結(jié)果,提供4個(gè)加總值。PSAD<79:40>包含這4個(gè)加總值。總而言之,對(duì)于PSAD指令而言,差異電路402用以確定第一數(shù)字碼集合中的每一 字節(jié)(A3:A0)與第二數(shù)字碼集合中的每一字節(jié)(B10:B0)之間的誤差絕對(duì)值。當(dāng)處理完第 一群組B3:B0后,再由下一個(gè)較高位開(kāi)始比較,如B1:B4、B2:B5、B3:B6...等。因此,在8個(gè) 群組中,將產(chǎn)生誤差絕對(duì)值A(chǔ)Dl AD4、AD5 AD8、...、AD29 AD32??偤碗娐?04加總 每一群組的誤差絕對(duì)值,并提供相應(yīng)的誤差絕對(duì)值總和PSAD<79:0>。當(dāng)控制碼INSTR為PMIN指令時(shí),除了所選派的字節(jié)不同外,差異電路402的處理 方式大致相同。ADl AD16的總和以及PSAD<39:0>可被省略,只需要比較位C<5:0>。差 異單元DIFFl比較或用其它方法確定Al與A3之間的誤差絕對(duì)值以及AO與A2之間的誤差絕對(duì)值。第一字節(jié)A3為字Wl的高字節(jié),而第二字節(jié)Al為字WO的高字節(jié)。第三字節(jié)A2為 字Wl的低字節(jié),而第四字節(jié)AO為字WO的低字節(jié)。在本實(shí)施例中,差異單元DIFFl分別比 較字Wl及WO的高字節(jié)及低字節(jié)。差異單元DIFFl確定比較位C<0>。位C<0>表示哪一個(gè) 字(Wl或W0)為較小的字。同樣地,差異單元DIFF2比較字W2及Wl的高字節(jié)A5與A3,以 及比較字W2及Wl的低字節(jié)A4與A2,用以確定哪一個(gè)字(W2或Wl)為較小的字,并提供比 較位C<3>。同樣地,差異單元DIFF3比較字W3及W2的高字節(jié)A7與A5,以及比較字W3及 W2的低字節(jié)A6與A4,用以確定哪一個(gè)字(W3或W2)為較小的字,并提供比較位C<5>。針 對(duì)PMIN指令而言,可省略差異單元DIFF4。差異單元DIFF5比較字W2及WO的高字節(jié)A5 與Al,以及比較字W2及WO的低字節(jié)A4與A0,用以確定哪一個(gè)字(W2或W0)為較小的字, 并提供比較位C<1>。差異單元DIFF6比較字W3及Wl的高字節(jié)A7與A3,以及比較字W3及 Wl的低字節(jié)A6與A2,用以確定哪一個(gè)字(W3或Wl)為較小的字,并提供比較位C<4>。針對(duì) PMIN而言,可省略差異單元DIFF7。差異單元DIFF8比較字W3及WO的高字節(jié)A7與Al,以 及比較字W3及WO的低字節(jié)A6與A0,用以確定哪一個(gè)字(W3或W0)為較小的字,并提供比 較位C<2>??偠灾?,針對(duì)PMIN指令而言,第一加法器電路204的差異電路402的比較位 C<0>表示字WO與Wl之間的較小者。比較位C<1>表示字WO與W2之間的較小者。比較位 C<2>表示字WO與W3之間的較小者。比較位C<3>表示字Wl與W2之間的較小者。比較位 C<4>表示字Wl與W3之間的較小者。比較位C<5>表示字W2與W3之間的較小者。雖然圖 4并未顯示第二加法器電路208的詳細(xì)電路,但第二加法器電路208亦具有與第一加法器電 路204相同的差異電路,用以針對(duì)高階加法器電路207的字W4 W8進(jìn)行相同的比較,并提 供相應(yīng)的比較位C<11:6>。因此,針對(duì)PMIN而言,比較位C<6>表示字W4與W5之間的較小 者。比較位C<7>表示字W4與W6之間的較小者。比較位C<8>表示字W4與W7之間的較小 者。比較位C<9>表示字W5與W6之間的較小者。比較位C<10>表示字W5與W7之間的較小 者。比較位C<11>表示字W6與W7之間的較小者。第一 PMIN電路206利用比較位C<5:0>, 辨識(shí)出字WO W3的最小者。第二 PMIN電路210利用比較位C<11:6>,辨識(shí)出字W4 W7 的最小者。圖5為本發(fā)明的差異單元DIFFl的一實(shí)施例。如圖所示,差異單元DIFFl具有一加 法器對(duì)。該加法器對(duì)具有一高(或第一)加法器502以及一低(或第二)加法器504。加 法器502及504均具有一反相輸入端B以及一非反相輸入端A。因此,加法器502及加法器 504均可執(zhí)行一減法操作,用以確定反相輸入端B及非反相輸入端A之間的信號(hào)差異。針對(duì) PSAD指令而言,加法器502的反相輸入端B接收字節(jié)Bi。針對(duì)PMIN指令而言,加法器502 的反相輸入端B接收字節(jié)A3。針對(duì)PSAD及PMIN指令而言,加法器502的非反相輸入端A 接收字節(jié)Al。加法器502對(duì)反相輸入端B所接收到的字節(jié)的每一位進(jìn)行反相操作,用以得 到反相值 B,其中 代表二進(jìn)制中的反相。加法器502將反相后的結(jié)果( B)與輸入端 A所接收到的字節(jié)進(jìn)行無(wú)正負(fù)號(hào)的加總(即A+ B = A-B),然后將加總后的結(jié)果由輸出端 SUM輸出。加法器502具有一進(jìn)位輸出(carry out ;C0)端C0,用以提供一進(jìn)位輸出信號(hào) COl0當(dāng)加法器502所得到的加總結(jié)果發(fā)生溢位(overflow)時(shí),進(jìn)位輸出信號(hào)COl為邏輯 1。加法器502亦會(huì)對(duì)加總結(jié)果進(jìn)行增量,并將增量后的結(jié)果由輸出端INCSUM輸出。加法 器502具有一傳遞(propagate)輸出端CP。如果加法器將一進(jìn)位輸入(carry input ;未提供)輸出時(shí),傳遞輸出端CP的傳遞輸出信號(hào)CPl為邏輯1。在圖5中,雖然沒(méi)有進(jìn)位輸入, 但若加法器502接收并傳遞進(jìn)位輸入時(shí),則傳遞輸出信號(hào)CPl為邏輯1。在一實(shí)施例中,將 輸入端A所接收到的字節(jié)的每一位與輸入端B所接收到的字節(jié)的每一位,一對(duì)一地作或運(yùn) 算。經(jīng)過(guò)或運(yùn)算后,便可得到8個(gè)運(yùn)算結(jié)果。再經(jīng)這8個(gè)運(yùn)算結(jié)果進(jìn)行與運(yùn)算。根據(jù)或運(yùn) 算結(jié)果以及與運(yùn)算結(jié)果,便可決定傳遞輸出端CP的傳遞輸出信號(hào)CPl的邏輯電平。輸出端 SUM耦接至反相器508的輸入端。針對(duì)字節(jié)的每一位而言,反相器508具有一獨(dú)立的反相 器。反相器508的輸出端耦接多工器506的輸入端0。輸出端INCSUM耦接耦接多工器506 的輸入端1。多工器506的選擇輸入端接收進(jìn)位輸出信號(hào)COl。多工器506的輸出信號(hào)ADl 即為,多工器502的輸入端A及B所接收到的字節(jié)間的誤差絕對(duì)值。同樣地,針對(duì)PSAD指令而言,加法器504的反相輸入端B接收字節(jié)B0。針對(duì)PMIN 指令而言,加法器504的反相輸入端B接收字節(jié)A2。針對(duì)PSAD及PMIN指令而言,加法器 504的輸入端A接收字節(jié)AO。加法器504對(duì)反相輸入端B所接收到的字節(jié)的每一位進(jìn)行反 相操作,用以產(chǎn)生相反的邏輯值,如 B。加法器504將反相后的結(jié)果( B)與輸入端A所 接收到的字節(jié)進(jìn)行無(wú)正負(fù)號(hào)的加總,并提供輸出信號(hào)予輸出端INCSUM、SUM及CO。由于加 法器504的輸出端INCSUM、SUM及CO與加法器502相似,故不再贅述。加法器504的輸出 端CO提供一進(jìn)位輸出信號(hào)C02。如果加法器504具有一傳遞輸出端CP時(shí),可不使用或省 略傳遞輸出端CP。加法器504的CP輸出端可以不輸出信號(hào)。加法器504的輸出端INCSUM 耦接多工器510的輸入端1。多工器510用以提供AD2。加法器504的輸出端SUM耦接反 相器512的輸入端。反相器512的輸出端耦接多工器510的輸入端0。多工器510的選擇 輸入端接收進(jìn)位輸出信號(hào)C02。與門(mén)514的兩輸入端中的一個(gè)接收進(jìn)位輸出信號(hào)C02。或 門(mén)516用以產(chǎn)生比較位C<0>,或門(mén)516的兩輸入端中的一個(gè)接收進(jìn)位輸出信號(hào)⑶1。加法 器502的輸出端CP耦接與門(mén)514的一輸入端。與門(mén)514的另一輸入端接收加法器504的 輸出端CO的進(jìn)位輸出信號(hào)C02。與門(mén)514的輸出端耦接或門(mén)516。針對(duì)加法器502及504而言,如果輸入端A的字節(jié)大于輸入端B的字節(jié)時(shí),則輸 出端CO為邏輯1,并且輸出端INCSUM表示輸入端A及B之間的誤差絕對(duì)值,S卩|A_B|。當(dāng) 加法器502將進(jìn)位輸出信號(hào)COl設(shè)定成邏輯1時(shí),或門(mén)516所輸出的比較位C<0> = 1。當(dāng) 進(jìn)位輸出信號(hào)COl為邏輯1時(shí),輸入端A及B的邏輯值可決定加法器502的傳遞輸出信號(hào) CPl為邏輯0或1。當(dāng)進(jìn)位輸出信號(hào)COl為邏輯1時(shí),或門(mén)516便可將比較位C<0>設(shè)定成 邏輯1,因此,對(duì)于比較位C<0>而言,傳遞輸出信號(hào)CPl的值并不重要。舉例而言,如果輸 入端A所接收到的二進(jìn)制碼為00000100 (十進(jìn)制碼為4),并且輸入端B所接收到的二進(jìn)制 碼為00000010 (十進(jìn)制碼為2),則輸入端A及B之間的差A(yù)-B = 00000010 (十進(jìn)制碼為 2)。輸入端B所接收到的二進(jìn)制碼會(huì)先被反相,故反相后的結(jié)果 B= 11111101。當(dāng)輸入 端A所接收到的二進(jìn)制碼與 B進(jìn)行無(wú)正負(fù)號(hào)加總時(shí),則加總后的結(jié)果A+ B (或A-B)為 00000001,并且進(jìn)位輸出信號(hào)COl為邏輯1 (傳遞輸出信號(hào)CPl = 0)。因此,加總后的結(jié)果 (即輸出端SUM的值)并非正確值。反相器(508或512)的輸出端為 SUM(即輸出端SUM 的二進(jìn)制碼的反相值)=11111110。反相器的輸出端的值亦并非正確值。輸出端INCSUM 的值為00000001+1 = 00000010,這才是正確的值。因此,針對(duì)加法器502及504而言,當(dāng)輸 入端A的字節(jié)大于輸入端B的字節(jié)時(shí),輸出端CO = 1,因此,相對(duì)應(yīng)的多工器(506或510) 將輸入端1的值(即INCSUM)視為正確的輸出(輸入端A及B間的絕對(duì)值)。
如果輸入端A的值小于等于輸入端B的值時(shí),輸出端CO = 0,并且相對(duì)應(yīng)的多工器 會(huì)將相對(duì)應(yīng)的反相器(508或512)的輸出信號(hào) B視為正確的輸出。當(dāng)輸入端A的值等于 輸入端B的值時(shí),正確的輸出為00000000。雖然正確的輸出會(huì)反應(yīng)在輸出端INCSUM及 SUM中,但由于輸出端CO = 0,故相對(duì)應(yīng)的多工器會(huì)選擇 SUM。當(dāng)輸入端A的值等于輸入 端B的值時(shí),傳遞輸出端CP的值=1。舉例而言,當(dāng)輸入端A及B的值均等于00001111時(shí), 則輸入端A的值加上輸入端B的反相值 B等于00001111+11110000 = 11111111 = SUM, 并且輸出端CP的值=1。輸出端SUM的反相值(即 SUM)為00000000,此為正確的值。輸 出端INCSUM的值為1+11111111,此結(jié)果為00000000,這也是正確的值(雖然不會(huì)被多工器 所選擇)。當(dāng)輸入端A的值小于輸入端B的值時(shí),輸出端CO = 0,并且多工器會(huì)把 SUM視 為正確的值。舉例而言,如果輸入端A的值為00000010,并且輸入端B的值為00000100,則
A-B = 00000010。在此例中,A+ B = 00000010+11111011 = 11111101 = SUM。由于輸 出端CO = 0,故 SUM = 00000010會(huì)被作為正確的值。在此例中,輸出端INCSUM的值等于 1+11111101 = 11111111,這并非正確的值。當(dāng)控制碼INSTR為PSAD指令時(shí),根據(jù)PSAD操作,加法器502可得到誤差絕對(duì)值A(chǔ)Dl =I Al-Bl I,并且加法器504可得到誤差絕對(duì)值A(chǔ)D2 = | AO-BO |,并且可省略比較位C<0>。 當(dāng)控制碼INSTR為PMIN指令時(shí),如果Al > A3,則字WO的高字節(jié)大于字Wl的高字節(jié),故WO > Wlo在本例中,當(dāng)WO > W1,由于COl = 1,故C<0> = 1。當(dāng)A3 > Al時(shí),加法器502的 COl及CPl均為邏輯0,故C<0> = 0,用以代表字W0<W1。如果Al = A3,則加法器502的輸 出COl = 1并且CPl = 0。在本例中,加法器504的相對(duì)字的低字節(jié)的比較結(jié)果會(huì)用來(lái)判 斷字WO及Wl的相對(duì)值。當(dāng)高字節(jié)都相等時(shí),則CPl = 1,如果AO >A2,則字WO的低字節(jié) 大于字Wl的低字節(jié),故WO > Wl。在本例中,CPl及C02均為邏輯1,故C<0> = 1。如果高 字節(jié)都相等時(shí),則CPl = 1,則AO小于等于A2,故C02為邏輯0,使得C<0> = 0。在本例中, 字WO小于等于W1,并且其它例中,字WO被作為最小值。其它的差異電路(DIFF2 DIFF8) 的結(jié)構(gòu)及操作均相同,用以判斷AD3 AD16。差異單元DIFF4及DIFF7可被簡(jiǎn)化。特別來(lái) 說(shuō),接收CO及CP,用以判斷相對(duì)應(yīng)的比較位C<x>的邏輯裝置并非必要。如果必要,也可省 略每一獨(dú)立加法器所使用的傳遞邏輯。請(qǐng)參考圖4及圖5,在PMIN指令及PSAD指令中,均使用相同的加法器電路,特別 是每一差異單元里的每一加法器對(duì)均可應(yīng)用在PMIN指令及PSAD指令中。針對(duì)PSAD指令 而言,每一獨(dú)立的加法器電路用以得到所輸入的字節(jié)對(duì)間的誤差絕對(duì)值。對(duì)于PMIN指令而 言,雖然PSAD指令所得到誤差絕對(duì)值總和并非必需,但每一加法器對(duì)利用字節(jié)間的比較, 用以確定哪個(gè)字具有最小值。在PSAD指令中,路徑選擇電路將加法器作最大限度的使用, 用以幫助PMIN指令。如上所述,針對(duì)PMIN指令而言,多個(gè)加法器被分成許多加法器對(duì)。將 一對(duì)數(shù)字碼(如兩字)的高部分(如高字節(jié))提供予第一加法器的相對(duì)應(yīng)輸入端,并且將該 對(duì)數(shù)字碼的低部分(如低字節(jié))提供予第二加法器的相對(duì)應(yīng)輸入端。通過(guò)修改兩加法器, 使其得到進(jìn)位輸出。通過(guò)加法器對(duì)中的高加法器,使其具有傳遞輸出。每一加法器對(duì)中的 進(jìn)位輸出及傳遞輸出用以確定每一數(shù)字碼對(duì)的最小值。對(duì)于PSAD指令而言,加法器處理后 的結(jié)果用以得到第一運(yùn)算元及第二運(yùn)算元之間的誤差絕對(duì)值,并且對(duì)于PMIN指令而言,加 法器處理后的結(jié)果可得到8個(gè)字集合中的最小者,其中第一運(yùn)算元具有4個(gè)字節(jié),第二運(yùn)算 元具有11個(gè)字節(jié)。
圖6顯示本發(fā)明的總和單元Sl的一可能實(shí)施例??偤蛦卧猄l具有加法器602、加 法器604及加法器606,用以提供具有10位的結(jié)果PSAD<9:0>。加法器602及加法器604 均具有8位,加法器606具有9位。加法器602及加法器604與加法器502相似,不同之處 在于,加法器602及加法器604不具有反相輸入端,并且INCSUM電路并非必需,故可省略。 另外,傳遞輸出電路亦并非必要,故可省略。加法器602對(duì)于二進(jìn)制值A(chǔ)Dl及AD2進(jìn)行無(wú)正 負(fù)號(hào)加總,并提供一第一總和值SUM1( = AD1+AD2)以及一相對(duì)應(yīng)的進(jìn)位輸出Cl。加法器 604對(duì)二進(jìn)制值A(chǔ)D3及AD4進(jìn)行無(wú)正負(fù)號(hào)加總,并提供一第二總和值SUM2 ( = AD3+AD4)以 及一相對(duì)應(yīng)的進(jìn)位輸出C2。進(jìn)位輸出Cl作為SUMl的最高有效位(MSB)。進(jìn)位輸出C2作為 SUM2的最高有效位(MSB)。加法器606的第一輸入端接收進(jìn)位輸出Cl及第一總和值SUMl 結(jié)合后的結(jié)果。加法器606的第二輸入端接收進(jìn)位輸出C2及第二總和值SUM2結(jié)合后的結(jié) 果。加法器606的兩輸入端均接收到9位。加法器606對(duì)于兩輸入端所接收到的數(shù)據(jù)(Cl, SUM1+C2, SUM2)進(jìn)行無(wú)正負(fù)號(hào)加總,并提供具有10位的輸出結(jié)果PSAD<9:0>。最小的9位 PSAD<8:0>系代表無(wú)正負(fù)號(hào)二進(jìn)制加總的結(jié)果,而最高有效位MSB PSAD<9>表示進(jìn)位輸出 的加總結(jié)果。在本實(shí)施例中,總和單元Sl加總第一誤差絕對(duì)值群組(ADl AD4),用以得到 第一誤差絕對(duì)值總合PSAD<9:0>。其它的總和單元S2 S4的結(jié)構(gòu)均相同,分別加總誤差絕 對(duì)值群組AD5 AD8、AD9 AD12及AD13 AD16,用以提供誤差絕對(duì)值總合PSAD<19 10>、 PSAD<2920> 及 PSAD<3930>。圖7為本發(fā)明的PMIN電路206的一實(shí)施例。PMIN電路206具有解碼邏輯電路 701、選擇邏輯電路728以及位置邏輯電路(location logic) 703o解碼邏輯電路701具有 反相器702、反相器704、反相器706、反相器712、反相器714、反相器720、反相器710、反相 器718及反相器724以及與門(mén)708、與門(mén)716、與門(mén)722及與門(mén)726。與門(mén)708、與門(mén)716、與 門(mén)722及與門(mén)726均具有三輸入端。位置邏輯電路703具有或門(mén)730及或門(mén)732?;蜷T(mén)730 及或門(mén)732均具有二輸入端。比較位C<2:0>分別提供至反相器702、反相器704及反相器 706。與門(mén)708接收反相器702、反相器704及反相器706的輸出。與門(mén)708輸出信號(hào)而_ MIN0當(dāng)字WO為最小字時(shí),信號(hào)W0_MIN為邏輯1。比較位C<34>分別提供至反相器712 及反相器714。與門(mén)716的三輸入端分別接收反相器712及反相器714的輸出以及比較位 C<0>。與門(mén)716輸出信號(hào)W1_MIN。當(dāng)字Wl為最小字時(shí),信號(hào)W1_MIN為邏輯1。反相器720 的輸入端接收C<5>。與門(mén)722分別接收反相器720的輸出、C<1>及C<3>。與門(mén)722輸出 信號(hào)W2_MIN。當(dāng)字W2為最小字時(shí),信號(hào)W2_MIN為邏輯1。反相器710、718及反相器724 分別接收信號(hào)W0_MIN、W1_MIN及W2_MIN,用以分別產(chǎn)生信號(hào) W0_MIN、 W1_MIN及 W2_ MIN0信號(hào) W0_MIN、 W1_MIN及 W2_MIN分別表示相對(duì)應(yīng)的字并非最小值。與門(mén)726接 收信號(hào) W0_MIN、 W1_MIN及 W2_MIN,并輸出信號(hào)W3_MIN。當(dāng)字W3為最小字時(shí),信號(hào) W3_MIN為邏輯1。AL<15:0>、BL<15 0>、BL<31 16> 及 BL<47 32> 分別代表字 WO W3。選擇電路 728 接收六1^15:0>、81^15:0>、81^31:16>、81^47:32>、信號(hào)10_1頂 13_1頂。在同一時(shí)間,只 有信號(hào)W0_MIN W3_MIN中的一個(gè)為邏輯1,這表示在此周期內(nèi),W0_MIN W3_MIN的相對(duì) 應(yīng)字為最小值。因此,選擇電路728將字WO W3中的一個(gè)作為最小字,并將此最小字作為 PMINVAL<15:0>而輸出。或門(mén)730接收信號(hào)W3_MIN及W2_MIN。或門(mén)730具有一輸出端,用 以輸出相對(duì)應(yīng)位置位PMINCL0C<1>?;蜷T(mén)732接收信號(hào)W3_MIN及W1_MIN?;蜷T(mén)732具有一輸出端,用以輸出相對(duì)應(yīng)位置位PMINCL0C<0>。在本實(shí)施例中,通過(guò)PMINVAL<15 0>,可得 知字WO W3的最小者,并且PMINL0CX1 0>表示低階加法器電路203所接收到的第一總線 ABUS的后半部分字中的最小字的相對(duì)應(yīng)位置。PMIN電路210的結(jié)構(gòu)與PMIN電路206相似, 用以提供代表字W4 W7最小者的PMINVAL<31 16>以及PMINL0C<3 2>。PMINL0C<3 2>表 示高階加法電路207所接收到的第一總線ABUS的前半部分字中的最小者的相對(duì)應(yīng)位置。圖8為本發(fā)明的高階/低階比較電路212的一實(shí)施例。16位的比較電路802的 反相輸入端接收高階加法器207所提供的PMINVAL<31:16>。比較電路802的非反相輸 入端接收低階加法器電路203所提供的PMINVAL<15:0>。比較電路802具有一進(jìn)位輸出 端⑶,用以提供信號(hào)MINL0C<2>。比較電路802比較高階及低階的最小字,并且將進(jìn)位輸 出作為MINL0C<2>。比較電路802進(jìn)位輸出端CO與上述的加法器的輸出端CO相同。如 果PMINVAL<15:0>的字大于PMINVAL<31 16>的字時(shí),則比較電路802進(jìn)位輸出端CO的 MINL0C<2> 為邏輯 1,否則 MINL0C<2> 為邏輯 0。MINL0C<2> 為位置值 MINL0C<2:0> 的 最高有效位(MSB)。由于MINL0C<2>為邏輯1,故最小值位于第一總線ABUS的前半部字 中。相反地,如果MINL0C<2>為邏輯0,則表示最小值位于第一總線ABUS的后半部字中。 MINL0C<2>作為多工器804、多工器806及多工器808的選擇輸入端,多工器804選擇字節(jié) 值 PMINVAL<23 16> 或 PMINVAL<7 0>,作為低字節(jié) MINVAL<7 0>。字節(jié)值 PMINVAL<23 16> 或PMINVAL<7:0>表示從高階及低階部分所找出的最小字的低字節(jié)。多工器806選擇字 節(jié)值 PMINVAL<31:24> 或 PMINVAL<15 8>,作為高字節(jié) MINVAL<15 8>。PMINVAL<31 24> 或 PMINVAL<15:8>表示從高階及低階部分所找出的最小字的高字節(jié)。多工器808選擇位置位 PMINL0C<3 2> 或 PMINL0CX1 0>,作為 MINL0CX1 0>。位置位 PMINL0C<3 2> 或 PMINL0CX1 0> 表示高階或低階部分的最低有效位置位(least significant location bits)。如上所述, 比較電路802可判斷出MINLOC或是MINL0C<2>的最高有效位。因此,MINL0C<2:0>表示第 一總線ABUS的最小字的所在位置。雖然本發(fā)明已詳細(xì)說(shuō)明許多較佳的實(shí)施方式,但其它可能的變化也已仔細(xì)考量 過(guò)。舉例而言,上述的所有電路均可利用任何邏輯裝置或邏輯電路來(lái)實(shí)現(xiàn)。上述的邏輯電 路的功能也可利用集成裝置內(nèi)的軟件或固件來(lái)實(shí)現(xiàn)。上述的電路可能具有許多反相裝置, 用以對(duì)任何信號(hào)提供正相邏輯(positive logic)或反相邏輯(negative logic)。本發(fā)明 所公開(kāi)的電路系使用數(shù)字碼或是二進(jìn)制字節(jié)或字,但并不限定數(shù)字碼或是二進(jìn)制碼的位數(shù) 量。雖然本發(fā)明已以優(yōu)選實(shí)施例公開(kāi)如上,然其并非用以限定本發(fā)明,本領(lǐng)域技術(shù)人員,在 不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍當(dāng)視所 附權(quán)利要求書(shū)所界定者為準(zhǔn)。
權(quán)利要求
一種判斷系統(tǒng),用以從至少二個(gè)二進(jìn)制碼中,找出一最小二進(jìn)制碼,該判斷系統(tǒng)包括一第一加法器,加總多個(gè)第一位以及多個(gè)第二位,用以提供一第一進(jìn)位輸出及一第一傳遞輸出,其中這些第一位為一第一二進(jìn)制碼的高位,這些第二位反相于一第二二進(jìn)制碼的高位;一第二加法器,加總多個(gè)第三位以及多個(gè)第四位,用以提供一第二進(jìn)位輸出,其中這些第三位為該第一二進(jìn)制碼的低位,這些第四位反相于該第二二進(jìn)制碼的低位;以及一比較電路,根據(jù)該第一進(jìn)位輸出及第二進(jìn)位輸出及該第一傳遞輸出,判斷是否該第一二進(jìn)制碼大于該第二二進(jìn)制碼。
2.如權(quán)利要求1所述的判斷系統(tǒng),其中該第一二進(jìn)制碼及第二二進(jìn)制碼均無(wú)正負(fù)號(hào)。
3.如權(quán)利要求1所述的判斷系統(tǒng),其中該第一加法器及第二加法器執(zhí)行無(wú)正負(fù)號(hào)二進(jìn) 制加法。
4.如權(quán)利要求1所述的判斷系統(tǒng),其中該第一二進(jìn)制碼及第二二進(jìn)制碼分別為一第一 無(wú)正負(fù)號(hào)二進(jìn)制字以及一第二無(wú)正負(fù)號(hào)二進(jìn)制字,該第一加法器比較該第一無(wú)正負(fù)號(hào)二進(jìn) 制字及第二無(wú)正負(fù)號(hào)二進(jìn)制字的高字節(jié),該第二加法器比較該第一無(wú)正負(fù)號(hào)二進(jìn)制字及第 二無(wú)正負(fù)號(hào)二進(jìn)制字的低字節(jié)。
5.如權(quán)利要求1所述的判斷系統(tǒng),其中該第一傳遞輸出代表該第一加法器是否接收到 一進(jìn)入輸入。
6.如權(quán)利要求1所述的判斷系統(tǒng),其中將這些第一位與這些第二位一對(duì)一地作或運(yùn) 算,再將或運(yùn)算后的結(jié)果作與運(yùn)算,根據(jù)或運(yùn)算結(jié)果及與運(yùn)算結(jié)果,便可決定該第一傳遞輸 出ο
7.如權(quán)利要求1所述的判斷系統(tǒng),其中該比較電路包括一或門(mén),具有一第一輸入端、一第二輸入端以及一第一輸出端,該第一輸入端接收該第 一進(jìn)位輸出,該輸出端的電平表示是否該第一二進(jìn)制碼大于該第二二進(jìn)制碼;以及一與門(mén),具有一第三輸入端、一第四輸入端以及一第二輸出端,該第三輸入端接收該第 一傳遞輸出,該第四輸入端接收該第二進(jìn)位輸出,該第二輸出端耦接該第二輸入端。
8.一種判斷系統(tǒng),用以快速地由多個(gè)數(shù)字碼中,找出一水平最小值,該判斷系統(tǒng),包括多個(gè)差異電路,每一差異電路比較一第一數(shù)字碼以及一第二數(shù)字碼,其中每一差異電 路包括一高加法器,用以比較該第一數(shù)字碼的高部分及該第二數(shù)字碼的高部分,用以提供一 第一進(jìn)位輸出以及一傳遞輸出;以及一低加法器,用以比較該第一數(shù)字碼的低部分及該第二數(shù)字碼的低部分,用以提供一 第二進(jìn)位輸出;以及一比較電路,用以比較這些第一進(jìn)位輸出及第二進(jìn)位輸出以及比較這些傳遞輸出,用 以得知這些數(shù)字碼中的一最小數(shù)字碼;以及一路徑選擇電路,將這些數(shù)字碼中的每一個(gè)指定給這些加法器對(duì)的至少一個(gè),用以將 每一數(shù)字碼與其它數(shù)字碼作比較。
9.如權(quán)利要求8所述的判斷系統(tǒng),其中該比較電路包括一第一比較電路,比較每一差異電路的該第一進(jìn)位輸出、該第二進(jìn)位輸出以及該傳遞 輸出,用以提供多個(gè)比較位;以及一第二比較電路,根據(jù)這些比較位,得知這些數(shù)字碼中的該最小數(shù)字碼。
10.如權(quán)利要求9所述的判斷系統(tǒng),其中每一差異電路的該第一比較電路包括一與門(mén) 以及一或門(mén),該與門(mén)將該傳遞輸出與該第二進(jìn)入輸出作比較,用以產(chǎn)生一第一位,該或門(mén)將 該第一位與該第一進(jìn)位輸出作比較,用以提供這些比較位中的一個(gè)。
11.如權(quán)利要求9所述的判斷系統(tǒng),其中該第二比較電路解碼這些比較位,用以提供多 個(gè)最小位,這些最小位的每一個(gè)表示這些數(shù)字碼的每一數(shù)字碼是否為最小值。
12.如權(quán)利要求8所述的判斷系統(tǒng),其中這些數(shù)字碼包括無(wú)正負(fù)號(hào)二進(jìn)制字,這些數(shù)字 碼的每一數(shù)字碼的高部分具有一高字節(jié),這些數(shù)字碼的每一數(shù)字碼的低部分具有一相對(duì)應(yīng) 數(shù)字碼的一低字節(jié)。
13.如權(quán)利要求8所述的判斷系統(tǒng),其中每一差異電路的該高加法器及該低加法器執(zhí) 行無(wú)正負(fù)號(hào)二進(jìn)制加法。
14.如權(quán)利要求8所述的判斷系統(tǒng),其中每一傳遞輸出代表這些差異電路中的一個(gè)的 高加法器是否接收一進(jìn)位輸入。
15.如權(quán)利要求8所述的判斷系統(tǒng),其中這些數(shù)字碼存儲(chǔ)于一存儲(chǔ)器中,該判斷系統(tǒng)還 包括一位置電路,用以確定這些數(shù)字碼的該最小數(shù)字碼的存儲(chǔ)器位置。
16.如權(quán)利要求8所述的判斷系統(tǒng),還包括一存儲(chǔ)器,存儲(chǔ)這些數(shù)字碼,其中該第二比較電路包括一解碼電路,用以對(duì)這些比較位 進(jìn)行解碼,用以提供多個(gè)最小位;一選擇電路,利用這些最小位,從存儲(chǔ)于該存儲(chǔ)器的這些數(shù)字碼中,選擇一個(gè)作為該最 小數(shù)字碼;一位置電路,根據(jù)這些最小位,提供一位置值,該位置值表示該最小數(shù)字碼在該存儲(chǔ)器 的位置。
17.一種判斷方法,用以找出多個(gè)數(shù)字碼中的一最小數(shù)字碼,該判斷方法包括下列步驟比較一第一數(shù)字碼的高位以及一第二數(shù)字碼的高位,用以提供一第一進(jìn)位輸出以及一 傳遞輸出;比較該第一數(shù)字碼的低位以及該第二數(shù)字碼的低位,用以提供一第二進(jìn)位輸出;以及根據(jù)第一及第二進(jìn)位輸出以及該傳遞輸出,判斷出該第一數(shù)字碼或第二數(shù)字碼為一較 小碼。
18.如權(quán)利要求17所述的判斷方法,還包括利用多個(gè)加法器對(duì)的每一加法器對(duì),比較該第一數(shù)字碼的高位以及該第二數(shù)字碼的高 位、比較該第一數(shù)字碼的低位以及該第二數(shù)字碼的低位以及判斷該第一數(shù)字碼或第二數(shù)字 碼為該較小碼;將這些數(shù)字碼的每一數(shù)字碼,傳送至這些加法器對(duì)的至少一加法器對(duì),用以將每一數(shù) 字碼與其它數(shù)字碼作比較;以及根據(jù)比較后的結(jié)果,得知這些數(shù)字碼的該最小數(shù)字碼。
19.如權(quán)利要求18所述的判斷方法,其中通過(guò)結(jié)合多個(gè)進(jìn)位輸出及多個(gè)傳遞輸出,產(chǎn)生多個(gè)比較位,通過(guò)解碼這些比較位,便可判斷出這些數(shù)字碼中的該最小數(shù)字碼。
20.如權(quán)利要求18所述的判斷方法,還包括確定存儲(chǔ)于一存儲(chǔ)器中的這些數(shù)字碼中的該最小數(shù)字碼在該存儲(chǔ)器的位置。
21.一種系統(tǒng),利用一共用加法器電路,執(zhí)行一水平最小指令及一誤差絕對(duì)值總和指令 中的一個(gè),該系統(tǒng)包括多個(gè)數(shù)字碼,對(duì)該誤差絕對(duì)值總和指令而言,這些數(shù)字碼包括一第一數(shù)字碼集合以及 一第二數(shù)字碼集合,對(duì)該水平最小指令而言,這些數(shù)字碼包括多個(gè)數(shù)字碼對(duì),每一數(shù)字碼對(duì) 具有一高數(shù)字碼以及一低數(shù)字碼;多個(gè)加法器,每一加法器將一第一數(shù)字碼與一第二數(shù)字碼作比較,用以提供一誤差絕 對(duì)值,一進(jìn)位輸出以及一傳遞輸出;一加總電路,加總這些誤差絕對(duì)值,用以提供多個(gè)誤差絕對(duì)值加總值; 一比較電路,結(jié)合這些進(jìn)位輸出及這些傳遞輸出,用以找出這些數(shù)字碼對(duì)的一最小數(shù) 字碼對(duì);以及一路徑選擇電路,在執(zhí)行該水平最小指令時(shí),該路徑選擇電路將這些數(shù)字碼對(duì)的每一 數(shù)字碼對(duì)傳送至這些加法器對(duì)的至少一加法器對(duì),用以將每一數(shù)字碼對(duì)與其它數(shù)字碼對(duì)相 比較,在執(zhí)行該誤差絕對(duì)值總和指令時(shí),該路徑選擇電路將該第一數(shù)字碼集合及第二數(shù)字 碼集合傳送至這些加法器對(duì),用以得知該第一數(shù)字碼集合的每一數(shù)字碼與該第二數(shù)字碼集 合的每一數(shù)字碼之間的誤差絕對(duì)值,該第二數(shù)字碼集合具有連續(xù)的數(shù)字碼。
22.如權(quán)利要求21所述的系統(tǒng),其中該路徑選擇電路在執(zhí)行該誤差絕對(duì)值總和指令 時(shí),將該第一數(shù)字碼集合及第二數(shù)字碼集合由一第一總線及一第二總線,分別傳送至一第 三總線及一第四總線,在執(zhí)行該水平最小指令時(shí),該路徑選擇電路將這些數(shù)字碼對(duì)由該第 一總線,傳送至該第三總線及第四總線。
23.如權(quán)利要求21所述的系統(tǒng),其中在執(zhí)行該誤差絕對(duì)值總和指令時(shí),該路徑選擇電 路將該第一數(shù)字碼集合的每一數(shù)字碼傳送至這些加法器的一第一加法器對(duì)的一第一加法 器,并且將該第二數(shù)字碼集合的每一數(shù)字碼傳送至這些加法器的該第一加法器對(duì)的一第二 加法器。
24.如權(quán)利要求23所述的系統(tǒng),其中該第一加法器對(duì)的該第一加法器提供一誤差絕對(duì)值。
25.如權(quán)利要求21所述的系統(tǒng),其中該加總電路包括一第一加法器,加總這些加法器對(duì)的一第一加法器對(duì)所提供的一第一誤差絕對(duì)值對(duì), 用以提供一第一加總值;一第二加法器,加總這些加法器對(duì)的一第二加法器對(duì)所提供的一第二誤差絕對(duì)值對(duì), 用以提供一第二加總值;一第三加法器,加總該第一加總值及第二加總值,用以提供一誤差絕對(duì)值總和值。
26.如權(quán)利要求21所述的系統(tǒng),其中每一加法器對(duì)包括一高加法器,將一第一數(shù)字碼對(duì)的一高數(shù)字碼與一第二數(shù)字碼對(duì)的一高數(shù)字碼相比 較,該高加法器提供這些傳遞輸出;以及一低加法器,將該第一數(shù)字碼對(duì)的一低數(shù)字碼與該第二數(shù)字碼對(duì)的一低數(shù)字碼相比較。
27.如權(quán)利要求21所述的系統(tǒng),其中在執(zhí)行該誤差絕對(duì)值總和指令時(shí),這些數(shù)字碼中 的每一數(shù)字碼包括一無(wú)正負(fù)號(hào)字節(jié),在執(zhí)行該水平最小指令時(shí),這些數(shù)字碼中的每一數(shù)字 碼包括一無(wú)正負(fù)號(hào)字。
28.如權(quán)利要求21所述的系統(tǒng),其中這些傳遞輸出的每一個(gè)表示是否一進(jìn)位輸入通過(guò) 這些加法器對(duì)的一加法器對(duì)的一高加法器而被增量。
29.如權(quán)利要求21所述的系統(tǒng),其中該比較電路包括一第一比較電路,將這些加法器對(duì)的每一加法器對(duì)的該進(jìn)位輸出與該傳遞輸出相結(jié) 合,用以產(chǎn)生一比較位;以及一第二比較電路,根據(jù)這些比較位,確定這些數(shù)字碼對(duì)的一最小數(shù)字碼對(duì)。
30.如權(quán)利要求29所述的系統(tǒng),其中這些加法器對(duì)的每一加法器對(duì)的該第一比較電路 具有一與門(mén)以及一或門(mén),該與門(mén)將一高加法器的一傳遞輸出與一低加法器的一傳遞輸出相 結(jié)合,用以產(chǎn)生一第一位,該或門(mén)將該第一位與該高加法器的一進(jìn)位輸出相結(jié)果,用以提供 一比較位。
31.如權(quán)利要求29所述的系統(tǒng),其中該第二比較電路解碼這些比較位,用以提供多個(gè) 最小位,每一最小位表示這些數(shù)字碼對(duì)的每一數(shù)字碼對(duì)是否為一最小數(shù)字碼對(duì)。
32.如權(quán)利要求29所述的系統(tǒng),還包括一存儲(chǔ)器,存儲(chǔ)這些數(shù)字碼對(duì),該第二比較電路包括一解碼電路,該解碼電路解碼這些 比較位,用以提供多個(gè)最小位;一選擇電路,選擇這些數(shù)字碼對(duì)的一數(shù)字碼對(duì),并根據(jù)這些最小位,將所選擇的該數(shù)字 碼對(duì)作為一最小數(shù)字碼對(duì),并將該最小數(shù)字碼對(duì)存儲(chǔ)于該存儲(chǔ)器中;以及一位置電路,根據(jù)這些最小位,提供一位置值,該位置值指出該最小數(shù)字碼對(duì)在該存儲(chǔ) 器的位置。
33.一種方法,利用一共用加法器電路,執(zhí)行一水平最小指令以及一誤差絕對(duì)值總和指 令中的一個(gè),該方法包括接收多個(gè)數(shù)字碼,在執(zhí)行該誤差絕對(duì)值總和指令時(shí),這些數(shù)字碼包括一第一數(shù)字碼集 合以及一第二數(shù)字碼集合,在執(zhí)行該水平最小指令時(shí),這些數(shù)字碼包括一高數(shù)字碼以及一 低數(shù)字碼;提供多個(gè)加法器,每一加法器將一第一數(shù)字碼與一第二數(shù)字碼相比較,用以提供一誤 差絕對(duì)值以及一進(jìn)位輸出;加總這些誤差絕對(duì)值,用以提供多個(gè)誤差絕對(duì)值總和值; 將這些加法器分類成多個(gè)加法器對(duì),并提供一傳遞輸出;結(jié)合這些進(jìn)位輸出及這些傳遞輸出,用以得知這些數(shù)字碼對(duì)的一最小數(shù)字碼對(duì);以及 在執(zhí)行該水平最小指令時(shí),將這些數(shù)字碼對(duì)的每一數(shù)字碼對(duì)傳送至這些加法器對(duì)的至 少一加法器對(duì),用以將每一數(shù)字碼對(duì)與其它數(shù)字碼對(duì)相比較,在執(zhí)行該誤差絕對(duì)值總和指 令時(shí),將該第一數(shù)字碼集合及第二數(shù)字碼集合傳送至這些加法器對(duì),用以得知第一數(shù)字碼 集合的每一數(shù)字碼與該第二數(shù)字碼集合的每一連續(xù)數(shù)字碼之間的誤差絕對(duì)值。
34.如權(quán)利要求33所述的方法,其中在執(zhí)行該誤差絕對(duì)值總和指令時(shí),還包括 將該第一數(shù)字碼集合的每一數(shù)字碼傳送至這些加法器的一第一加法器對(duì)的一第一加法器;將該第二數(shù)字碼集合的每一數(shù)字碼傳送至這些加法器的該第一加法器對(duì)的一第二加 法器。
35.如權(quán)利要求33所述的方法,其中該加總步驟包括加總這些加法器對(duì)的一第一加法器對(duì)所提供的一第一誤差絕對(duì)值對(duì),用以產(chǎn)生一第一 加總值;加總這些加法器對(duì)的一第二加法器對(duì)所提供的一第二誤差絕對(duì)值對(duì),用以產(chǎn)生一第二 加總值;以及加總該第一加總值及第二加總值,用以提供一誤差絕對(duì)值總和值。
36.如權(quán)利要求33所述的方法,其中在執(zhí)行該水平最小指令時(shí),提供并分類這些加法 器的步驟包括通過(guò)每一加法器對(duì)的一高加法器,比較一第一數(shù)字碼對(duì)的一高數(shù)字碼及一第二數(shù)字碼 對(duì)的一高數(shù)字碼,用以提供一第一進(jìn)位輸出以及這些傳遞輸出;通過(guò)每一加法器對(duì)的一低加法器,比較該第一數(shù)字碼對(duì)的一低數(shù)字碼及該第二數(shù)字碼 對(duì)的一低數(shù)字碼,用以提供一第二進(jìn)位輸出。
37.如權(quán)利要求33所述的方法,其中該結(jié)合步驟包括將這些加法器對(duì)的每一加法器對(duì)的一第一進(jìn)位輸出及一第二進(jìn)位輸出與這些傳遞輸 出中的一個(gè)相結(jié)合,用以提供一比較位;以及根據(jù)這些比較位,得知這些數(shù)字碼對(duì)的一最小數(shù)字碼對(duì)。
38.如權(quán)利要求37所述的方法,其中得知這些數(shù)字碼對(duì)的該最小數(shù)字碼對(duì)的步驟包括解碼這些比較位,用以提供多個(gè)最小位,每一最小位代表相對(duì)應(yīng)的數(shù)字碼對(duì)是否為該 最小數(shù)字碼對(duì)。
39.如權(quán)利要求38所述的方法,還包括 將這些數(shù)字碼對(duì)存儲(chǔ)于一存儲(chǔ)器中;以及根據(jù)這些最小位,找出這些數(shù)字碼對(duì)的該最小數(shù)字碼對(duì)在該存儲(chǔ)器中的位置。
全文摘要
判斷系統(tǒng)及方法。該系統(tǒng)利用一共用加法器電路,執(zhí)行一水平最小指令及一誤差絕對(duì)值總和指令中的一個(gè),并包括多個(gè)加法器、一加總電路、一比較電路以及一路徑選擇電路。路徑選擇電路根據(jù)所執(zhí)行的指令,將多個(gè)數(shù)字碼傳送至加法器中。在執(zhí)行水平最小指令時(shí),這些加法器會(huì)被分類成許多加法器對(duì)。每一加法器對(duì)提供一進(jìn)位輸出及一傳遞輸出。每一加法器對(duì)具有一高加法器以及一低加法器。高加法器比較這些數(shù)字碼的一數(shù)字碼對(duì)的高部分。低加法器比較這些數(shù)字碼的該數(shù)字碼對(duì)的低部分。根據(jù)這些進(jìn)位輸出及這些傳遞輸出,找出最小的數(shù)字碼。
文檔編號(hào)G06F9/308GK101937333SQ20101027715
公開(kāi)日2011年1月5日 申請(qǐng)日期2010年9月7日 優(yōu)先權(quán)日2009年10月26日
發(fā)明者羅沙爾·L·史托茲, 雷蒙·A·貝特倫 申請(qǐng)人:威盛電子股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
鸡泽县| 碌曲县| 泗水县| 阿瓦提县| 雷波县| 甘泉县| 邯郸县| 阿图什市| 广安市| 明水县| 突泉县| 吉隆县| 禄丰县| 策勒县| 五大连池市| 阿城市| 镇坪县| 当雄县| 贵德县| 二连浩特市| 新野县| 崇文区| 若羌县| 巴林右旗| 长葛市| 建瓯市| 图木舒克市| 册亨县| 常山县| 深圳市| 宜春市| 正安县| 凉城县| 安徽省| 登封市| 大冶市| 遂溪县| 德州市| 柘城县| 金堂县| 托克托县|