欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元及其處理方法

文檔序號:6579719閱讀:268來源:國知局
專利名稱:用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元及其處理方法
技術(shù)領(lǐng)域
本發(fā)明涉及處理器結(jié)構(gòu)技術(shù)領(lǐng)域,特別是涉及一種增強(qiáng)型算術(shù)邏輯單元及 其處理任意寬度數(shù)據(jù)的方法,所述增強(qiáng)型算術(shù)邏輯單元可應(yīng)用于對操作數(shù)寬度
有特殊需求的處理器設(shè)計(jì),包括數(shù)字信號處理器(DSP)、圖形圖像處理器、 多媒體處理器設(shè)計(jì)等領(lǐng)域。
背景技術(shù)
算術(shù)邏輯單元(Arithmetic Logic Unit,簡稱ALU)是處理器系統(tǒng)數(shù)據(jù)通 路設(shè)計(jì)中的核心部件,其功能是通過電路實(shí)現(xiàn)對輸入數(shù)據(jù)的算術(shù)運(yùn)算(如加法、 減法)和邏輯運(yùn)算(如與、或、非)并將運(yùn)算結(jié)果輸出。在處理器設(shè)計(jì)中,所 有處理器的數(shù)據(jù)通路設(shè)計(jì)都包括算術(shù)邏輯單元;許多設(shè)計(jì)通過改變或增強(qiáng) ALU設(shè)計(jì),來提高系統(tǒng)性能,降低功耗,加速操作等。 一般地,處理器數(shù)據(jù) 通路中的ALU部件包含兩個(gè)源操作數(shù)輸入端口和一個(gè)結(jié)果操作數(shù)輸出端口, 以及一些標(biāo)志位輸出端口。
目前許多算術(shù)邏輯單元的設(shè)計(jì),通過增加移位器來優(yōu)化其在某一特定方面 的性能,比如有些設(shè)計(jì)在ALU部件的某一源操作數(shù)輸入端口前加入移位器, 也有一些在ALU的結(jié)果操作數(shù)輸出端口后加入移位器。日本專利號為 JP62097032的一種發(fā)明,在ALU的一個(gè)輸入端口上增加一個(gè)移位器。在執(zhí)行 乘法操作時(shí),該移位器預(yù)先對源操作數(shù)進(jìn)行移位,再把結(jié)果送給ALU進(jìn)行算 術(shù)邏輯運(yùn)算。還有一些設(shè)計(jì),是在ALU的源操作數(shù)某一輸入端口和結(jié)果操作 數(shù)輸出端口各增加一個(gè)移位器,用來規(guī)格化輸入輸出數(shù)據(jù)。這類設(shè)計(jì)對數(shù)據(jù)的 處理機(jī)制如下輸入數(shù)據(jù)先經(jīng)過移位器的右移操作降低數(shù)據(jù)表示精度,使ALU 部件的操作變得更簡單,然后ALU根據(jù)指令操作符處理右移后的操作數(shù),ALU 的操作結(jié)果再通過移位器邏輯左移相應(yīng)位數(shù),保持與源操作數(shù)格式的一致。
微處理器通常在操作數(shù)寬度方面受到限制,即無法對小于通用ALU數(shù)據(jù) 位寬的任意寬度操作數(shù)進(jìn)行操作。數(shù)據(jù)位寬為N的ALU能夠處理寬度為N的操作數(shù),但無法處理從1到N-1的任意寬度操作數(shù)。在數(shù)字信號處理器中,通
常還需要操作寬度8/16/24的數(shù)據(jù)。 一些處理器設(shè)計(jì)會在數(shù)據(jù)通路中提供至少 兩個(gè)ALU, 一個(gè)用來做16位相關(guān)操作, 一個(gè)用來做24位相關(guān)操作,即便如 此,其支持的位數(shù)依然受硬件限制,無法支持任意位寬。目前普遍采用的單指 令多數(shù)據(jù)流(Single Instruction Multiple Data,簡稱為SIMD)技術(shù),也只能處理 幾種固定位寬的操作數(shù),而引入SIMD需要大規(guī)模修改指令系統(tǒng)和結(jié)構(gòu)設(shè)計(jì)。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種用于處理任意寬度數(shù)據(jù)的算術(shù) 邏輯單元及其處理方法,用于克服微處理器操作數(shù)寬度的限制,實(shí)現(xiàn)對任意寬 度的數(shù)據(jù)處理,使得微處理器在執(zhí)行算術(shù)邏輯操作時(shí),可以處理操作數(shù)位寬小 于通用算術(shù)邏輯單元數(shù)據(jù)寬度的任意操作數(shù)。
本發(fā)明的另一目的是提供一種用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元,包
括通用算術(shù)邏輯單元,其特征在于,還包括
第一移位器A,其數(shù)據(jù)輸出端口與所述通用算術(shù)邏輯單元的輸入端口 A
相連接,用于根據(jù)使能信號、移位位數(shù)控制信號對第一源操作數(shù)進(jìn)行預(yù)處理,
并將預(yù)處理結(jié)果輸出至所述輸入端口 A;
第二移位器B,其數(shù)據(jù)輸出端口與所述通用算術(shù)邏輯單元的輸入端口 B
相連接,用于根據(jù)使能信號、移位位數(shù)控制信號、移位類型控制信號對第二源
操作數(shù)進(jìn)行預(yù)處理,并將預(yù)處理結(jié)果輸出至所述輸入端口B;
第三移位器c,其數(shù)據(jù)輸入端口與所述通用算術(shù)邏輯單元的輸出端口 c
相連接,用于根據(jù)使能信號、移位位數(shù)控制信號對所述通用算術(shù)邏輯單元的輸
出數(shù)據(jù)進(jìn)行后處理;
所述通用算術(shù)邏輯單元對所述第一移位器A、所述第二移位器B的預(yù)處 理結(jié)果執(zhí)行算術(shù)邏輯運(yùn)算。
所述的用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元,其中,所述第一移位器A 的移位類型包含邏輯左移。
所述的用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元,其中,所述第二移位器B 包含通用的移位類型。
所述的用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元,其中,所述第三移位器C的移位類型包含算術(shù)右移。
所述的用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元,其中,所述第一移位器A 和所述第三移位器C根據(jù)所述使能信號控制是否執(zhí)行移位操作,所述第二移 位器B根據(jù)所述使能信號控制是否執(zhí)行邏輯左移;所述使能信號由預(yù)設(shè)的控 制信號產(chǎn)生。
所述的用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元,其中,所述第一移位器A、 所述第二移位器B和所述第三移位器C根據(jù)所述移位位數(shù)控制信號控制所執(zhí) 行移位操作的移位位數(shù),所述移位位數(shù)控制信號由預(yù)設(shè)的控制信號產(chǎn)生。
所述的用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元,其中,所述第二移位器B 根據(jù)所述移位類型控制信號控制執(zhí)行移位操作的類型,所述移位類型控制信號 由預(yù)設(shè)的控制信號產(chǎn)生。
為了實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種用于處理任意寬度數(shù)據(jù)的方法, 其特征在于,包括
步驟一,對指令進(jìn)行譯碼,并根據(jù)譯碼結(jié)果從數(shù)據(jù)地址空間取出第一源操 作數(shù)、第二源操作數(shù),同時(shí)產(chǎn)生使能信號、移位位數(shù)控制信號和移位類型控制 信號;
步驟二,根據(jù)所述使能信號、所述移位位數(shù)控制信號對所述第一源操作數(shù) 進(jìn)行預(yù)處理,根據(jù)所述使能信號、所述移位位數(shù)控制信號、所述移位類型控制 信號對所述第二源操作數(shù)進(jìn)行預(yù)處理;
步驟三,對預(yù)處理后的所述第一源操作數(shù)、所述第二源操作數(shù)執(zhí)行算術(shù)邏 輯運(yùn)算;
步驟四,根據(jù)所述使能信號、所述移位位數(shù)控制信號對執(zhí)行算術(shù)邏輯運(yùn)算 后的數(shù)據(jù)進(jìn)行后處理,并輸出結(jié)果。
所述的用于處理任意寬度數(shù)據(jù)的方法,其中,所述指令的指令編碼中包含
移位位數(shù)域、使能位域。
所述的用于處理任意寬度數(shù)據(jù)的方法,其中,所述步驟二中,進(jìn)一步包括: 當(dāng)所述使能信號有效時(shí),根據(jù)所述移位位數(shù)控制信號對所述第一源操作
數(shù)、所述第二源操作數(shù)分別執(zhí)行相應(yīng)的位數(shù)邏輯左移操作,得到預(yù)處理后的所
述第一源操作數(shù)、所述第二源操作數(shù); 所述步驟四中,進(jìn)一步包括
6當(dāng)所述使能信號有效時(shí),對執(zhí)行算術(shù)邏輯運(yùn)算后的數(shù)據(jù)進(jìn)行算術(shù)右移操 作,并將結(jié)果作為最終結(jié)果輸出。 本發(fā)明的有益技術(shù)效果
本發(fā)明引入增強(qiáng)型算術(shù)邏輯單元設(shè)計(jì)的處理器,可以更好的支持對多種寬 度操作數(shù)進(jìn)行算術(shù)邏輯運(yùn)算的應(yīng)用。比如數(shù)字信號處理器,需要處理各種數(shù)據(jù) 位寬的操作數(shù)。其中對音頻的處理多是16位;圖像處理的許多計(jì)算是8位的,
而且不加入飽和處理,就需要進(jìn)行9位的ALU操作。圖像處理還需要對各種 數(shù)據(jù)寬度的位操作;當(dāng)然DSP中還有通用的32位算術(shù)邏輯運(yùn)算。整個(gè)設(shè)計(jì)中, 完全可以加入32位處理寬度的增強(qiáng)型算術(shù)邏輯單元,來滿足處理所有寬度操 作數(shù)的需求。增強(qiáng)型算術(shù)邏輯單元解決了目前微處理器操作數(shù)寬度受限問題, 實(shí)現(xiàn)了微處理器在執(zhí)行算術(shù)邏輯操作時(shí),可處理小于其數(shù)據(jù)位寬的任意寬度數(shù) 據(jù)的能力。
以下結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述,但不作為對本發(fā)明的 限定。


圖1是本發(fā)明處理任意寬度數(shù)據(jù)的增強(qiáng)型算術(shù)邏輯單元的結(jié)構(gòu)示意圖2是本發(fā)明處理任意寬度數(shù)據(jù)的方法流程圖3是發(fā)明實(shí)施例中加法運(yùn)算各操作數(shù)的運(yùn)算二進(jìn)制數(shù)值。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明的技術(shù)方案作進(jìn)一步更詳細(xì)的描述。
如圖1所示,是本發(fā)明處理任意寬度數(shù)據(jù)的增強(qiáng)型算術(shù)邏輯單元的結(jié)構(gòu)示意圖。
用于處理任意寬度數(shù)據(jù)的增強(qiáng)型算術(shù)邏輯單元2,包括通用算術(shù)邏輯單元 203,還包括兩個(gè)分別與通用算術(shù)邏輯單元203的輸入端口相連接的移位器A 201和移位器B 202、以及與通用算術(shù)邏輯單元203的輸出端口相連接的移位 器C204,其中
移位器A 201,其數(shù)據(jù)輸出端口與通用算術(shù)邏輯單元203的輸入端口 A
72031相連接,用于根據(jù)使能信號、移位位數(shù)控制信號對操作數(shù)A進(jìn)行預(yù)處理, 并將預(yù)處理結(jié)果操作數(shù)A'輸出至輸入端口 A2031。
移位器B 202,其數(shù)據(jù)輸出端口與通用算術(shù)邏輯單元203的輸入端口 B 2032相連接,用于根據(jù)使能信號、移位位數(shù)控制信號、移位類型控制信號對 操作數(shù)B進(jìn)行預(yù)處理,并將預(yù)處理結(jié)果操作數(shù)B'輸出至輸入端口B2032。
移位器C 204,其數(shù)據(jù)輸入端口與通用算術(shù)邏輯單元203的輸出端口 C 2033相連接,用于根據(jù)使能信號、移位位數(shù)控制信號對通用算術(shù)邏輯單元203 的輸出數(shù)據(jù)(操作數(shù)C')進(jìn)行后處理,得到操作數(shù)C。
操作數(shù)A、操作數(shù)B均為源操作數(shù)。
移位器A201,其移位類型只包含邏輯左移,其輸入控制信號包括使能信 號和移位位數(shù)控制信號。
移位器B202,包含所有通用的移位類型,其輸入控制信號包括使能信號、 移位位數(shù)控制信號和移位類型控制信號。
移位器C204,其移位類型只包含算術(shù)右移,其輸入控制信號包括使能f言 號和移位位數(shù)控制信號。
使能信號由預(yù)設(shè)的控制信號產(chǎn)生方法產(chǎn)生,用于控制移位器A201和移位 器C 204是否執(zhí)行移位操作,控制移位器B 202是否執(zhí)行邏輯左移。
移位位數(shù)控制信號由預(yù)設(shè)的控制信號產(chǎn)生方法產(chǎn)生,用于控制移位器A 201、移位器B 202和移位器C 204所執(zhí)行移位操作的移位位數(shù)。
移位類型控制信號由預(yù)設(shè)的控制信號產(chǎn)生方法產(chǎn)生,用于控制移位器B 202執(zhí)行移位操作的類型。
增強(qiáng)型算術(shù)邏輯單元203處理任意寬度數(shù)據(jù)的具體實(shí)現(xiàn)過程如下
首先,控制模塊1對含有指明使能標(biāo)識、移位寬度和移位類型的指令進(jìn)行 譯碼,并根據(jù)譯碼結(jié)果從數(shù)據(jù)地址空間取出源操作數(shù)A、 B,并同時(shí)產(chǎn)生使能 信號、移位位數(shù)控制信號和移位類型控制信號;
然后,移位器A 201和移位器B 202分別接收源操作數(shù)A、B,移位器A 201 根據(jù)使能信號、移位位數(shù)控制信號對源操作數(shù)A進(jìn)行預(yù)處理得到操作數(shù)A', 移位器B202根據(jù)使能信號、移位位數(shù)控制信號、移位類型控制信號對操作數(shù) B進(jìn)行預(yù)處理,得到操作數(shù)B',并將操作數(shù)A'、操作數(shù)B'傳遞至通用算 術(shù)邏輯單元203的輸入端口;再者,通用算術(shù)邏輯單元203對預(yù)處理過的兩個(gè)操作數(shù)A'、操作數(shù)B' 執(zhí)行算術(shù)邏輯運(yùn)算,并將運(yùn)算結(jié)果傳遞至移位器C204;
最后,移位器C 204根據(jù)使能信號、移位位數(shù)控制信號對數(shù)據(jù)進(jìn)行后處理, 并將結(jié)果輸出。
指令的指令編碼中包含移位位數(shù)域與使能位域。
當(dāng)使能信號有效時(shí),具體為-
1) 移位器A 201和移位器B 202根據(jù)移位位數(shù)控制信號對兩個(gè)源操作數(shù) 分別執(zhí)行相應(yīng)的位數(shù)邏輯左移操作,并將結(jié)果傳遞至通用算術(shù)邏輯單元203;
2) 通用算術(shù)邏輯單元203對預(yù)處理過的兩個(gè)源操作數(shù)執(zhí)行算術(shù)邏輯運(yùn)算, 并將運(yùn)算結(jié)果傳遞至移位器C 204;
3) 移位器C 204根據(jù)移位位數(shù)控制信號對數(shù)據(jù)進(jìn)行算術(shù)右移操作,并將 結(jié)果作為最終結(jié)果輸出。
在圖1中,該實(shí)施方式主要由控制模塊1和增強(qiáng)型算術(shù)邏輯單元2構(gòu)成。 其中控制模塊1由指令譯碼器101和控制信號產(chǎn)生單元102組成,指令譯碼器 IOI接收指令,控制信號產(chǎn)生單元102根據(jù)指令產(chǎn)生使能信號、移位位數(shù)控制 信號和移位類型控制信號用于控制增強(qiáng)型算術(shù)邏輯單元2的操作。增強(qiáng)型算術(shù) 邏輯單元2的設(shè)計(jì),是在原有通用算術(shù)邏輯單元203的一個(gè)輸入端口 A 2031 加入移位器A201,另一輸入端口 B 2032加入移位器B 202,輸出端口C2033 加入移位器C204。
為使已有系統(tǒng)中能實(shí)現(xiàn)處理任意寬度操作數(shù)功能,需要在原有算術(shù)邏輯操 作指令編碼上增加移位位數(shù)域和使能位域。這兩個(gè)域作為指令編碼的一部分會 傳送給指令譯碼器101和控制信號產(chǎn)生單元102。移位位數(shù)域用于指明操作數(shù) 的位數(shù),對于N位數(shù)據(jù)寬度的通用算術(shù)邏輯單元203,移位位數(shù)域的指令編碼 寬度為log2N上取整,則該位域的取值范圍從0到N-1;移位位數(shù)域的具體數(shù) 值與待處理源操作數(shù)的寬度直接相關(guān),要處理M位((KMOJ)數(shù)據(jù)寬度的操作 數(shù),為簡化計(jì)算設(shè)定該域取值為N-M。使能位域用于標(biāo)識算術(shù)邏輯運(yùn)算類指 令所處理的源操作數(shù)的數(shù)據(jù)寬度是特定寬度操作數(shù),還是與通用算術(shù)邏輯單元 203的數(shù)據(jù)寬度一致的操作數(shù)。使能位域的指令編碼寬度為一位,其使能信號 為0時(shí),表示待處理的是與通用算術(shù)邏輯單元203的數(shù)據(jù)寬度一致的操作數(shù); 其使能信號為1時(shí),表明待處理的是小于與通用算術(shù)邏輯單元203的數(shù)據(jù)寬度
9任意寬度的源操作數(shù)。
實(shí)現(xiàn)本發(fā)明的增強(qiáng)型算術(shù)邏輯單元2的方法,不需要對指令譯碼器101 進(jìn)行修改,即所新增加的移位位數(shù)域和使能位域,不需要指令譯碼器101進(jìn),亍 特殊譯碼操作,對這兩個(gè)域的譯碼主要由控制信號產(chǎn)生單元102執(zhí)行??刂苀言 號產(chǎn)生單元102的一個(gè)輸入是指令編碼,該單元會根據(jù)指令中的移位位數(shù)域和 使能位域而生成相應(yīng)的控制信號。而且控制信號產(chǎn)生單元102不需要對這兩個(gè) 域進(jìn)行特殊處理,而是直接將移位位數(shù)域作為相同寬度的移位位數(shù)控制信號輸 出,將使能位域作為相同寬度的寬度標(biāo)識控制信號輸出。移位位數(shù)控制信號輸 出給移位器A201、移位器B202、移位器C204,控制這三個(gè)移位器的移位位 數(shù);使能信號送給三個(gè)移位器,指明指令所要處理的操作數(shù)類型。
對所加入的三個(gè)移位器采用限定工作方式的方法,從而控制增強(qiáng)型算術(shù)邏 輯單元2實(shí)現(xiàn)處理任意寬度操作數(shù)的功能。
移位器A201是加入了邏輯判斷,包含邏輯左移功能的簡化移位器,其輸 入包括源操作數(shù)、移位位數(shù)控制信號和使能信號;輸出為經(jīng)過預(yù)處理后的源操 作數(shù)。移位器A201的工作原理為首先移位器A201對使能信號進(jìn)行判斷, 如果使能信號為O,表明要進(jìn)行的是普通的算術(shù)邏輯操作,此時(shí)移位器A201 的邏輯左移功能處于禁用狀態(tài),即直接把源操作數(shù)送到輸出端口輸出,傳遞會合 通用算術(shù)邏輯單元203;如果使能信號為1,表明要進(jìn)行的是特定寬度操作數(shù) 操作,此時(shí)移位器A201的邏輯左移功能有效,結(jié)合移位位數(shù)控制信號,對、源 操作數(shù)進(jìn)行邏輯左移后,將結(jié)果送到輸出端口并傳遞給通用算術(shù)邏輯單元 203。
移位器B202是加入邏輯判斷的通用移位器,其輸入包括源操作數(shù)、移位 位數(shù)控制信號、使能信號和移位類型信號,輸出為經(jīng)過預(yù)處理后的源操作數(shù)。 移位器B 202的工作原理為首先移位器B 202對使能信號進(jìn)行判斷,如果使 能信號為O,表明要進(jìn)行的是普通的算術(shù)邏輯操作,此時(shí)移位器B202根據(jù)移 位類型信號和移位位數(shù)控制信號,進(jìn)行各種類型的移位操作,并將處理后的結(jié) 果傳遞給通用算術(shù)邏輯單元203;如果使能信號為l,表明要進(jìn)行的是特定寬 度操作數(shù)操作,此時(shí)移位器B202的移位類型固定為邏輯左移,結(jié)合移位位數(shù) 控制信號,對源操作數(shù)進(jìn)行邏輯左移后,將結(jié)果送到輸出端口并傳遞給通用算 術(shù)邏輯單元203。
10移位器C204是加入了邏輯判斷,包含算術(shù)右移功能的簡化移位器,其輸 入包括來自通用算術(shù)邏輯單元203的操作數(shù)、移位位數(shù)控制信號和使能信號, 輸出為經(jīng)過處理后的結(jié)果操作數(shù)。移位器C204的工作原理為首先移位器C 204對使能信號進(jìn)行判斷,如果使能信號為O,表明做普通的算術(shù)邏輯操作, 此時(shí)移位器C 204的算術(shù)右移功能處于禁用狀態(tài),即直接把通用算術(shù)邏輯單元 203的運(yùn)算結(jié)果送到輸出端口輸出;如果使能信號為l,表明要進(jìn)行的是特定 寬度操作數(shù)操作,此時(shí)移位器C204的算術(shù)右移功能有效,結(jié)合移位位數(shù)控制 信號,對操作數(shù)進(jìn)行算術(shù)右移后,將結(jié)果送到輸出端口作為結(jié)果操作數(shù)輸出。
上面對控制模塊1、增強(qiáng)型算術(shù)邏輯單元2的各部分功能進(jìn)行了詳細(xì)的描 述,對于一個(gè)位寬為N的通用算術(shù)邏輯單元,要執(zhí)行M位的源操作數(shù)的算術(shù) 邏輯運(yùn)算,其中(K1VKN,即低M位為實(shí)際有效數(shù)字,可通過圖2中的步驟實(shí) 現(xiàn)。具體如下
步驟211,將指令經(jīng)過指令譯碼器101進(jìn)行譯碼后,從譯碼得到的數(shù)據(jù)地 址中取出兩個(gè)N位操作數(shù),分別記為操作數(shù)A和操作數(shù)B,則兩操作數(shù)中的 低M位為實(shí)際有效數(shù)字。同時(shí)控制信號產(chǎn)生單元102置移位位數(shù)控制信號值 為N-M,置使能信號有效;
步驟212,將操作數(shù)A和操作數(shù)B分別發(fā)送到移位器A 201和移位器B 202,移位器A 201和移位器B 202分別在控制信號的作用下對操作數(shù)A和操 作數(shù)B進(jìn)行邏輯左移N-M位處理,得到操作數(shù)A'和操作數(shù)B'。
此過程中,使能信號有效,使能移位器A201和移位器B202,邏輯左移 的N-M位由移位位數(shù)控制信號指定;
步驟213,通用算術(shù)邏輯單元203接收操作數(shù)A'和操作數(shù)B',并對操 作數(shù)A'和操作數(shù)B'執(zhí)行算術(shù)邏輯運(yùn)算,得到結(jié)果操作數(shù)C',并置相應(yīng)標(biāo) 志位。操作數(shù)C'將作為移位器C 204的輸入數(shù)據(jù)輸送至移位器C 204,且操
作數(shù)C'的數(shù)據(jù)位寬是N位;
步驟214,移位器C204接收操作數(shù)C',并對其進(jìn)行算術(shù)右移操作,得 到移位后的結(jié)果操作數(shù)C,此時(shí),操作數(shù)C就是最終結(jié)果。
該步驟中,與源操作數(shù)A和操作數(shù)B—致,結(jié)果操作數(shù)C的實(shí)際有效數(shù) 據(jù)是低M位,其它位都是進(jìn)行符號擴(kuò)展的填充位。
兩個(gè)M位數(shù)據(jù)經(jīng)過兩個(gè)輸入端口的移位操作、通用算術(shù)邏輯單元203的算術(shù)邏輯運(yùn)算和輸出端口移位操作后,得到M位的操作結(jié)果。所有的中間過 程由硬件自動完成,編程人員的操作就是準(zhǔn)備源操作數(shù),并發(fā)出相應(yīng)指令,然
后從通用算術(shù)邏輯單元203的輸出端口得到最終操作結(jié)果。
參考圖l、圖2和圖3,舉一個(gè)實(shí)際的例子進(jìn)行相應(yīng)說明。本例中,利用 32位的數(shù)據(jù)通路,對兩個(gè)22位的操作數(shù)執(zhí)行加法操作,即C-A+B, N=32, M-22。其中,設(shè)定操作數(shù)A的值為無符號十進(jìn)制數(shù)4190466,用十六進(jìn)制表 示為0x3FF102;操作數(shù)B的值為無符號十進(jìn)制數(shù)63128,用十六進(jìn)制表示為 0xF698。執(zhí)行加法后的正確結(jié)果操作數(shù)C應(yīng)該是十進(jìn)制數(shù)4253594,用十六進(jìn) 制表示為0xE79A,并且需要置進(jìn)位標(biāo)示位。執(zhí)行下面步驟
步驟一,指令譯碼后,根據(jù)譯碼結(jié)果從數(shù)據(jù)地址空間取出兩個(gè)操作數(shù),源 操作數(shù)A值為0x003FF102,源操作數(shù)B的值為0x0000F698。這兩個(gè)操作數(shù)的 二進(jìn)制格式分別見圖3中的301和302。此時(shí)移位位數(shù)控制信號值的值為 01010,移位器使能信號有效;
步驟二,移位器A 201對源操作數(shù)A執(zhí)行邏輯左移得到操作數(shù)A',移 位器B 202對源操作數(shù)B執(zhí)行邏輯左移得到操作數(shù)B',其二進(jìn)制值見圖3 中的303和304。其中,移位位數(shù)是01010,由移位位數(shù)控制信號指定。從圖 3中可以看到,有效數(shù)據(jù)已經(jīng)從低位移到了高位;
步驟三,通用算術(shù)邏輯單元203接收到操作數(shù)A'和操作數(shù)B',并對操 作數(shù)A'和操作數(shù)B'執(zhí)行加法操作,得到結(jié)果操作數(shù)C',同時(shí)置位進(jìn)位豐示 志位,操作數(shù)C'的二進(jìn)制值如圖3中的305所示。其中,通用算術(shù)邏輯單元 203沒有進(jìn)行任何修改,也不需要關(guān)心中的數(shù)據(jù)有效位是多少;
步驟四,通用算術(shù)邏輯單元203計(jì)算后的結(jié)果操作數(shù)C',經(jīng)過移位器C 204執(zhí)行算術(shù)右移后得到需要的操作數(shù)C-0xE79A,其二進(jìn)制值見圖3的306。 0xE79A就是需要的操作結(jié)果。
從上面四個(gè)步驟可以看出,兩個(gè)22位的源操作數(shù)相加,得到一個(gè)22位的 結(jié)果操作數(shù)。在32位的數(shù)據(jù)通路中,可以執(zhí)行任何位數(shù)的操作數(shù)。
本發(fā)明公開了處理任意寬度數(shù)據(jù)的增強(qiáng)型算術(shù)邏輯單元2及其處理任意 寬度數(shù)據(jù)的方法,主要解決了通用算術(shù)邏輯單元203無法處理任意寬度操作數(shù) 的問題。該增強(qiáng)型算術(shù)邏輯單元2在通用算術(shù)邏輯單元部件203的兩個(gè)輸入端 口分別增加移位器A201和移位器B 202、輸出端口增加移位器C 204。通過擴(kuò)展指令譯碼器101產(chǎn)生移位器需要的控制信號。N位數(shù)據(jù)寬度的增強(qiáng)型算術(shù)
邏輯單元2,可處理任意M (0<M<N)位寬度操作數(shù)。本發(fā)明可以加入任(可 處理器的數(shù)據(jù)通路設(shè)計(jì)中,特別是在需要處理多種數(shù)據(jù)位寬的處理器,以較小 代價(jià)實(shí)現(xiàn)操作任意數(shù)據(jù)位寬目的。可用于數(shù)字信號處理器、圖形圖像處理、多 媒體增強(qiáng)型處理器設(shè)計(jì)等領(lǐng)域。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的t青 況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明做出各種相應(yīng)的改變和變形,但 這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元,包括通用算術(shù)邏輯單元,其特征在于,還包括第一移位器A,其數(shù)據(jù)輸出端口與所述通用算術(shù)邏輯單元的輸入端口A相連接,用于根據(jù)使能信號、移位位數(shù)控制信號對第一源操作數(shù)進(jìn)行預(yù)處理,并將預(yù)處理結(jié)果輸出至所述輸入端口A;第二移位器B,其數(shù)據(jù)輸出端口與所述通用算術(shù)邏輯單元的輸入端口B相連接,用于根據(jù)使能信號、移位位數(shù)控制信號、移位類型控制信號對第二源操作數(shù)進(jìn)行預(yù)處理,并將預(yù)處理結(jié)果輸出至所述輸入端口B;第三移位器C,其數(shù)據(jù)輸入端口與所述通用算術(shù)邏輯單元的輸出端口C相連接,用于根據(jù)使能信號、移位位數(shù)控制信號對所述通用算術(shù)邏輯單元的輸出數(shù)據(jù)進(jìn)行后處理;所述通用算術(shù)邏輯單元對所述第一移位器A、所述第二移位器B的預(yù)處理結(jié)果執(zhí)行算術(shù)邏輯運(yùn)算。
2、 根據(jù)權(quán)利要求i所述的用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元,其特 征在于,所述第一移位器A的移位類型包含邏輯左移。
3、 根據(jù)權(quán)利要求1所述的用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元,其特 征在于,所述第二移位器B包含通用的移位類型。
4、 根據(jù)權(quán)利要求1所述的用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元,其特 征在于,所述第三移位器C的移位類型包含算術(shù)右移。
5、 根據(jù)權(quán)利要求2、3或4所述的用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元, 其特征在于,所述第一移位器A和所述第三移位器C根據(jù)所述使能信號控制 是否執(zhí)行移位操作,所述第二移位器B根據(jù)所述使能信號控制是否執(zhí)行邏輯 左移;所述使能信號由預(yù)設(shè)的控制信號產(chǎn)生。
6、 根據(jù)權(quán)利要求2、3或4所述的用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元, 其特征在于,所述第一移位器A、所述第二移位器B和所述第三移位器C根 據(jù)所述移位位數(shù)控制信號控制所執(zhí)行移位操作的移位位數(shù),所述移位位數(shù)控制 信號由預(yù)設(shè)的控制信號產(chǎn)生。
7、 根據(jù)權(quán)利要求2、3或4所述的用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元,其特征在于,所述第二移位器B根據(jù)所述移位類型控制信號控制執(zhí)行移位操 作的類型,所述移位類型控制信號由預(yù)設(shè)的控制信號產(chǎn)生。
8、 一種用于處理任意寬度數(shù)據(jù)的方法,其特征在于,包括-步驟一,對指令進(jìn)行譯碼,并根據(jù)譯碼結(jié)果從數(shù)據(jù)地址空間取出第一源操 作數(shù)、第二源操作數(shù),同時(shí)產(chǎn)生使能信號、移位位數(shù)控制信號和移位類型控帶J 信號;步驟二,根據(jù)所述使能信號、所述移位位數(shù)控制信號對所述第一源操作數(shù) 進(jìn)行預(yù)處理,根據(jù)所述使能信號、所述移位位數(shù)控制信號、所述移位類型控制 信號對所述第二源操作數(shù)進(jìn)行預(yù)處理;步驟三,對預(yù)處理后的所述第一源操作數(shù)、所述第二源操作數(shù)執(zhí)行算術(shù)邏 輯運(yùn)算;步驟四,根據(jù)所述使能信號、所述移位位數(shù)控制信號對執(zhí)行算術(shù)邏輯運(yùn)算 后的數(shù)據(jù)進(jìn)行后處理,并輸出結(jié)果。
9、 根據(jù)權(quán)利要求8所述的用于處理任意寬度數(shù)據(jù)的方法,其特征在于, 所述指令的指令編碼中包含移位位數(shù)域、使能位域。
10、 根據(jù)權(quán)利要求8或9所述的用于處理任意寬度數(shù)據(jù)的方法,其特征在 于,所述步驟二中,進(jìn)一步包括當(dāng)所述使能信號有效時(shí),根據(jù)所述移位位數(shù)控制信號對所述第一源操作 數(shù)、所述第二源操作數(shù)分別執(zhí)行相應(yīng)的位數(shù)邏輯左移操作,得到預(yù)處理后的所 述第一源操作數(shù)、所述第二源操作數(shù);所述步驟四中,進(jìn)一步包括當(dāng)所述使能信號有效時(shí),對執(zhí)行算術(shù)邏輯運(yùn)算后的數(shù)據(jù)進(jìn)行算術(shù)右移操 作,并將結(jié)果作為最終結(jié)果輸出。
全文摘要
本發(fā)明公開了一種用于處理任意寬度數(shù)據(jù)的算術(shù)邏輯單元及其處理方法,該邏輯單元包括通用算術(shù)邏輯單元,還包括第一移位器A,用于對第一源操作數(shù)進(jìn)行預(yù)處理,并將預(yù)處理結(jié)果輸出至通用算術(shù)邏輯單元的輸入端口A;第二移位器B,用于對第二源操作數(shù)進(jìn)行預(yù)處理,并將預(yù)處理結(jié)果輸出至通用算術(shù)邏輯單元的輸入端口B;第三移位器C,用于通用算術(shù)邏輯單元的輸出數(shù)據(jù)進(jìn)行后處理;通用算術(shù)邏輯單元對第一移位器A、第二移位器B的預(yù)處理結(jié)果執(zhí)行算術(shù)邏輯運(yùn)算。本發(fā)明可以處理操作數(shù)位寬小于通用算術(shù)邏輯單元數(shù)據(jù)寬度的任意操作數(shù)。
文檔編號G06F7/48GK101685386SQ20091016370
公開日2010年3月31日 申請日期2009年8月14日 優(yōu)先權(quán)日2008年8月15日
發(fā)明者冬 佟, 良 張, 李險(xiǎn)峰, 旭 程 申請人:北京北大眾志微系統(tǒng)科技有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
金溪县| 稷山县| 通江县| 内乡县| 杭锦后旗| 府谷县| 扬中市| 河西区| 兴宁市| 西乡县| 商洛市| 体育| 台山市| 广南县| 鲁山县| 邹平县| 客服| 仁怀市| 尉氏县| 行唐县| 岫岩| 喜德县| 昌邑市| 孙吴县| 武功县| 莱芜市| 南城县| 仙桃市| 湘乡市| 北安市| 磴口县| 六安市| 嵊泗县| 金湖县| 永泰县| 北票市| 百色市| 临湘市| 浦北县| 西昌市| 龙游县|