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

用于通用邏輯操作的方法和設備的制作方法

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


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