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

用于通用邏輯操作的方法和設(shè)備的制作方法

文檔序號:6361849閱讀:110來源:國知局
專利名稱:用于通用邏輯操作的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明大體涉及計算機(jī)處理器的領(lǐng)域。更具體而言,本發(fā)明涉及用于在計算機(jī)處理器上支持通用邏輯操作的設(shè)備和方法。
背景技術(shù)
計算機(jī)處理器運(yùn)行用以執(zhí)行數(shù)學(xué)運(yùn)算和邏輯操作的指令。數(shù)學(xué)運(yùn)算包括例如浮點和整數(shù)加法、減法、乘法和除法,具有級別不同的精度。邏輯操作包括函數(shù),諸如AND、0R、NAND、NOR、X0R、左移位/右移位、交換、選擇和投票,僅舉幾例。在某些情況下(特別是當(dāng)涉及三個或更多個運(yùn)算數(shù)時),較簡單的邏輯操作可能需要運(yùn)行大量指令。以示例的方式,諸如dest = (srcl AND dest) OR (src2 AND (NOTdest))的邏輯需要規(guī)定,如果設(shè)置了目的寄存器(dest)中的特定的位,則應(yīng)當(dāng)選擇源寄存器I (srcl),否則應(yīng)當(dāng)選擇源寄存器2 (src 2)。使用傳統(tǒng)技術(shù)運(yùn)行這個運(yùn)算需要運(yùn)行多個不同的指令(兩個AND運(yùn)算,一個OR運(yùn)算和一個NOT運(yùn)算)。必須使用傳統(tǒng)技術(shù)用多序列指令來實現(xiàn)多種其它較簡單的函數(shù)。因此,用于運(yùn)行邏輯操作的、需要運(yùn)行較少指令的新技術(shù)將是有益的。


根據(jù)結(jié)合附圖的以下詳細(xì)描述,能獲得本發(fā)明的較好理解,其中:
圖1示出從三個源運(yùn)算數(shù)中產(chǎn)生立即值的索引的本發(fā)明的一個實施例;
圖2示出用于對立即值編索引以執(zhí)行邏輯操作的方法的一個實施例;
圖3示出用于對立即值編索引以執(zhí)行邏輯操作的方法的另一個實施例;
圖4示出在本發(fā)明的一個實施例中采用的處理器架構(gòu);
圖5示出在本發(fā)明的一個實施例中采用的系統(tǒng)架構(gòu);
圖6示出根據(jù)本發(fā)明的一個實施例的多個處理元件。
具體實施例方式為了說明,闡述了許多具體細(xì)節(jié),以便提供下面描述的本發(fā)明的實施例的詳盡理解。但對本領(lǐng)域普通技術(shù)人員顯而易見的將是,可在沒有這些具體細(xì)節(jié)中的一些的情況下實踐本發(fā)明的實施例。在其它情況下,以框圖的形式示出眾所周知的結(jié)構(gòu)和裝置,以便不使本發(fā)明的實施例的根本原理模糊不清?!傲⒓粗怠笔桥c指令相關(guān)聯(lián)的二進(jìn)制值(例如,明確包括為指令的一部分,或者與指令組合)。與x86指令集相關(guān)聯(lián)的一個眾所周知的立即值是8位立即標(biāo)記的imm8。在編譯時間對指令產(chǎn)生指令的立即值。雖然下面描述的本發(fā)明的實施例使用imm8或imml6立即值,但本發(fā)明的根本原理不限于任何特定類型的立即值。實際上,可通過使用與指令相關(guān)聯(lián)的任何類型的二進(jìn)制代碼來實現(xiàn)本發(fā)明的根本原理。在本發(fā)明的一個實施例中,不同的立即值用來標(biāo)識不同的邏輯操作(例如,AND、NAND、XOR、取反、選擇、投票等)。在這個實施例中,來自指令的源運(yùn)算數(shù)的某些位組合起來形成索引值,該索引值標(biāo)識指令的立即值內(nèi)的位位置(bit position)。從標(biāo)識的位位置中讀取的位然后組合在目的寄存器中,以得出邏輯操作的結(jié)果。換句話說,使用立即值作為查找表,以得出各個邏輯操作的結(jié)果。圖1示出一個特定示例,其中,從存儲在源寄存器I (srcl) 102、源寄存器2(src2)101和目的寄存器(dest) 100中的三個運(yùn)算數(shù)中讀取位,以形成標(biāo)識立即值110內(nèi)的位位置的索引105。在標(biāo)識的位位置處的二進(jìn)制值然后被拷貝到目的寄存器100中。雖然這個特定寄存器布置用于說明目的,但本發(fā)明的根本原理不限于任何特定的寄存器集。例如,不是使用“目的”寄存器來存儲源運(yùn)算數(shù),而是可使用第三專用源寄存器(例如“源寄存器3,,)。在圖1中示出的具體示例中,最初從目的寄存器100和源寄存器101和102的第一位位置中讀取位,以如示出的那樣形成索引010(如由實心箭頭指示的那樣)。在一個實施例中,索引由三個源值的逐位連接形成。索引010標(biāo)識立即值110的位位置2(即,二進(jìn)制值010等于2)。然后從立即值中讀取來自位位置2的位(示出示例中的二進(jìn)制I),并且如示出的那樣將該位存儲在目的寄存器中(在第一位位置處)。對各個源運(yùn)算數(shù)的位中的各個實現(xiàn)相同的過程,直到所有位都已經(jīng)被讀取,以及索引位值已經(jīng)從立即值拷貝到目的寄存器為止。例如,如圖1中示出的那樣,使用來自目的和源寄存器的第二位位置的位來產(chǎn)生110的索引值,并且這個索引值被用來索引位位置6處的立即值(即,二進(jìn)制值110等于6)。然后從立即值中讀取來自位位置6的位(二進(jìn)制0),并且將該位存儲在目的寄存器的第二位位置中。在圖2中示出根據(jù)本發(fā)明的一個實施例的方法。在201處,從運(yùn)算數(shù)寄存器(例如dest、srcl、src2)的規(guī)定的位位置處讀取值??赏瑫r從多個索引值中并行地讀取多組值。在202處,值組合起來形成立即值的索引,而在203處,索引用來標(biāo)識立即值內(nèi)的位位置(一個或多個)。如上面提到的那樣,在一個實施例中,來自源運(yùn)算數(shù)中的對應(yīng)的位位置的位連接,以形成立即值的索弓I。在204處,讀取由索引值標(biāo)識的位位置(一個或多個)處的值(一個或多個),而在205處,來自索引位位置的值被拷貝到目的寄存器。通過使用前述技術(shù),可規(guī)定不同的立即值,以實現(xiàn)不同的邏輯操作。以示例而非限制的方式,可通過使用以下立即值來執(zhí)行以下類型的運(yùn)算:
1.將結(jié)果全部設(shè)置成I。立即值=11111111。在這個示例中,從立即值中讀取的任何位將在目的寄存器中產(chǎn)生二進(jìn)制I。2.在拷貝時取反。立即值=01010101。當(dāng)前NOT指令(例如,在當(dāng)前x86指令集中實現(xiàn)的那些),在適當(dāng)位置取反,從而破壞原始數(shù)據(jù)。相反,上面描述的使用以上立即值的技術(shù)拷貝到不同的寄存器。這個指令可采取以下形式,dest = NOT srcl。3.仿效現(xiàn)有的邏輯操作。立即值=10001000。這個立即值對在源寄存器I和源寄存器2中的值產(chǎn)生AND運(yùn)算,S卩,dest = srcl AND src2。注意,因為位0_3和位7_4是相同的,所以目的寄存器中的值(dest)不會影響結(jié)果。因此,在一個實施例中,不讀取目的寄存器,以降低功率消耗。下表(表A)示出imm8值,其等于現(xiàn)有的x86邏輯操作:
權(quán)利要求
1.一種用于在計算機(jī)處理器上執(zhí)行邏輯操作的方法,包括: 從兩個或更多個源運(yùn)算數(shù)中的各個中讀取數(shù)據(jù); 組合從所述源運(yùn)算數(shù)中讀取到的所述數(shù)據(jù),以產(chǎn)生索引值,所述索引值標(biāo)識與指令相關(guān)聯(lián)的立即值內(nèi)的位子集; 從由所述索引值標(biāo)識的所述立即值中讀取所述位子集;以及 將從所述立即值中讀取到的所述位存儲在目的寄存器內(nèi),以產(chǎn)生所述指令的結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其中,組合從所述源運(yùn)算數(shù)中讀取的所述數(shù)據(jù)以產(chǎn)生索引值包括: 連接從各個源運(yùn)算數(shù)的對應(yīng)的位位置中讀取的位,以產(chǎn)生所述索引值,所述索引值包括來自對應(yīng)的位位置的、標(biāo)識所述立即值內(nèi)的位位置的連接位的各個集合。
3.根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括: 從所述立即值的所述標(biāo)識的位位置中讀取所述位,并且將結(jié)果在與從各個源運(yùn)算數(shù)中讀取的所述位的所述位位置對應(yīng)的位位置處存儲在所述目的寄存器中。
4.根據(jù)權(quán)利要求2所述的方法,其中,所述源運(yùn)算數(shù)存儲在N位源寄存器中,并且所述目的寄存器是N位目的寄存器,其中,連接位進(jìn)一步包括: 從所述源運(yùn)算數(shù)中并行地讀取所有N個位,以對所述立即值形成N個索引;以及 使用所述N個索 引來標(biāo)識所述立即值中的N個位位置;以及 將來自所述立即值的所有N個索引的位并行地拷貝到所述目的寄存器,以形成所述邏輯操作的結(jié)果。
5.根據(jù)權(quán)利要求4所述的方法,其中,N等于64。
6.根據(jù)權(quán)利要求1所述的方法,其中,存在三個源運(yùn)算數(shù),以及其中,所述立即值為八位,所述方法進(jìn)一步包括: 連接從所述三個源運(yùn)算數(shù)中的各個的對應(yīng)的位位置中讀取的位,以產(chǎn)生所述索引值,所述索引值包括來自對應(yīng)的位位置的、標(biāo)識所述八位立即值內(nèi)的位位置的三個連接位的各I朱口
7.根據(jù)權(quán)利要求1所述的方法,其中,所述立即值為與所述指令一起傳輸?shù)?位值。
8.根據(jù)權(quán)利要求6所述的方法,其中,所述8位值為imm8值。
9.根據(jù)權(quán)利要求1所述的方法,其中,所述立即值為與所述指令一起傳輸?shù)?6位值。
10.一種用于處理指令的設(shè)備,包括: 解碼器單元,其用以對指令解碼,并且標(biāo)識待由所述指令執(zhí)行的邏輯操作;以及 運(yùn)行單元,其用以通過執(zhí)行以下操作來運(yùn)行所述邏輯操作: 從兩個或更多個源運(yùn)算數(shù)中的各個中讀取數(shù)據(jù); 組合從所述源運(yùn)算數(shù)中讀取的所述數(shù)據(jù),以產(chǎn)生索引值,所述索引值標(biāo)識與指令相關(guān)聯(lián)的立即值內(nèi)的位子集; 從由所述索引值標(biāo)識的所述立即值中讀取所述位子集;以及 將從所述立即值中讀取的所述位存儲在目的寄存器內(nèi),以產(chǎn)生所述指令的結(jié)果。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其中,組合從所述源運(yùn)算數(shù)中讀取的所述數(shù)據(jù)以產(chǎn)生索引值包括: 連接從各個源運(yùn)算數(shù)的對應(yīng)的位位置中讀取的位,以產(chǎn)生所述索引值,所述索引值包括來自對應(yīng)的位位置的、標(biāo)識所述立即值內(nèi)的位位置的連接位的各個集合。
12.根據(jù)權(quán)利要求11所述的設(shè)備,其中,所述運(yùn)行單元執(zhí)行以下額外的操作: 從所述立即值的所述標(biāo)識位位置中讀取所述位,以及將結(jié)果在與從各個源運(yùn)算數(shù)中讀取的所述位的所述位位置對應(yīng)的位位置處存儲在所述目的寄存器中。
13.根據(jù)權(quán)利要求11所述的設(shè)備,其中,所述源運(yùn)算數(shù)存儲在N位源寄存器中,并且所述目的寄存器是N位目的寄存器,其中,連接位進(jìn)一步包括: 從所述源運(yùn)算數(shù)中并行地讀取所有N個位,以對所述立即值形成N個索引;以及 使用所述N個索引來標(biāo)識所述立即值中的N個位位置;以及 將來自所述立即值的所有N個索引的位并行地拷貝到所述目的寄存器,以形成所述邏輯操作的結(jié)果。
14.根據(jù)權(quán)利要求13所述的設(shè)備,其中,N等于64。
15.根據(jù)權(quán)利要求10所述的設(shè)備,其中,存在三個源運(yùn)算數(shù),以及其中,所述立即值為八位,所述方法進(jìn)一步包括: 連接從所述三個源運(yùn)算數(shù)中的各個的對應(yīng)的位位置中讀取的位,以產(chǎn)生所述索引值,所述索引值包括來自對應(yīng)的位位置的、標(biāo)識所述八位立即值內(nèi)的位位置的三個連接位的各個集合。
16.根據(jù)權(quán)利要求10所述的設(shè)備,其中,所述立即值為與所述指令一起傳輸?shù)?位值。
17.根據(jù)權(quán)利要求16所述的設(shè)備,其中,所述8位值為imm8值。
18.根據(jù)權(quán)利要求10所述的設(shè)備,其中,所述立即值為與所述指令一起傳輸?shù)?6位值。
19.一種計算機(jī)系統(tǒng),包括: 顯示裝置; 用于存儲指令的存儲器; 用于處理所述指令的處理器,其包括: 解碼器單元,其用以對指令解碼,并且標(biāo)識待由所述指令執(zhí)行的邏輯操作;以及 運(yùn)行單元,其用以通過執(zhí)行以下操作來運(yùn)行所述邏輯操作: 從兩個或更多個源運(yùn)算數(shù)中的各個中讀取數(shù)據(jù); 組合從所述源運(yùn)算數(shù)中讀取的所述數(shù)據(jù),以產(chǎn)生索引值,所述索引值標(biāo)識與指令相關(guān)聯(lián)的立即值內(nèi)的位子集; 從由所述索引值標(biāo)識的所述立即值中讀取所述位子集;以及 將從所述立即值中讀取的所述位存儲在目的寄存器內(nèi),以產(chǎn)生所述指令的結(jié)果。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其中,組合從所述源運(yùn)算數(shù)中讀取的所述數(shù)據(jù)以產(chǎn)生索引值包括: 連接從各個源運(yùn)算數(shù)的對應(yīng)的位位置中讀取的位,以產(chǎn)生所述索引值,所述索引值包括來自對應(yīng)的位位置的、標(biāo)識所述立即值內(nèi)的位位置的連接位的各個集合。
21.根據(jù)權(quán)利要求20所述的系統(tǒng),其中所述執(zhí)行單元執(zhí)行以下額外的操作: 從所述立即值的所述標(biāo)識位位置中讀取所述位,以及將結(jié)果在與從各個源運(yùn)算數(shù)中讀取的所述位的所述位位置對應(yīng)的位位置處存儲在所述目的寄存器中。
22.根據(jù)所權(quán)利要求20述的系統(tǒng),其中,所述源運(yùn)算數(shù)存儲在N位源寄存器中,并且所述目的寄存器是N位目的寄存器,其中,連接位進(jìn)一步包括: 從所述源運(yùn)算數(shù)中并行地讀取所有N個位,以對所述立即值形成N個索引;以及 使用所述N個索引來標(biāo)識所述立即值中的N個位位置;以及 將來自所述立即值的所有N個索引的位并行地拷貝到所述目的寄存器中,以形成所述邏輯操作的結(jié)果。
23.根據(jù)權(quán)利要求22所述的系統(tǒng),其中,N等于64。
24.根據(jù)權(quán)利要求19所述的系統(tǒng),其中,存在三個源運(yùn)算數(shù),以及其中,所述立即值為八位,所述方法進(jìn)一步包括: 連接從所述三個源運(yùn)算數(shù)中的各個的對應(yīng)的位位置中讀取的位,以產(chǎn)生所述索引值,所述索引值包括來自對應(yīng)的位位置的、標(biāo)識所述八位立即值內(nèi)的位位置的三個連接位的各I朱口
25.根據(jù)權(quán)利要求19所述的系統(tǒng),其中,所述立即值是與所述指令一起傳輸?shù)?位值。
26.根據(jù)權(quán)利要求25所述的系統(tǒng),其中,所述8位值為imm8值。
27.根據(jù)權(quán)利要求19所述的系統(tǒng),其中,所述立即值是與所述指令一起傳輸?shù)?6位值。`
全文摘要
描述一種用于執(zhí)行由表規(guī)定的任意邏輯操作的設(shè)備和方法。例如,用于在計算機(jī)處理器上執(zhí)行邏輯操作的方法的一個實施例包括從兩個或更多個源運(yùn)算數(shù)中的各個中讀取數(shù)據(jù);組合從源運(yùn)算數(shù)中讀取的數(shù)據(jù),以產(chǎn)生索引值,該索引值標(biāo)識與指令一起傳輸?shù)牧⒓粗祪?nèi)的位子集;從立即值中讀取位;以及將從立即值中讀取的位存儲在目的寄存器內(nèi),以產(chǎn)生指令的結(jié)果。
文檔編號G06F9/30GK103109261SQ201180046100
公開日2013年5月15日 申請日期2011年9月23日 優(yōu)先權(quán)日2010年9月24日
發(fā)明者A.T.富爾塞思 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1