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

位范圍隔離指令、方法和裝置制造方法

文檔序號:6635281閱讀:246來源:國知局
位范圍隔離指令、方法和裝置制造方法
【專利摘要】揭示了一種處理元件和芯片組系統(tǒng)。所述處理元件接收指示源操作數(shù)和目標(biāo)操作數(shù)的指令。響應(yīng)于該指令將結(jié)果儲存在目標(biāo)操作數(shù)中。該結(jié)果操作數(shù)可具有:(1)第一位范圍,具有由該指令顯式指定的第一端,其中各個位的值與源操作數(shù)在相應(yīng)位置中的位的值相同;以及(2)第二位范圍,不管源操作數(shù)在相應(yīng)位置中的位的值如何,其所有位都具有相同值。在不在源操作數(shù)的相應(yīng)位置中相對于這些有相同值的位來移動結(jié)果的第一范圍的情況下,可完成該指令的執(zhí)行,而不管第一位范圍在結(jié)果中的位置如何。還揭示了用于執(zhí)行這種指令的執(zhí)行單元、具有用于執(zhí)行這種指令的處理器的計算機系統(tǒng)、以及儲存這種指令的機器可讀介質(zhì)。
【專利說明】位范圍隔離指令、方法和裝置
[0001] 本申請是美國優(yōu)先權(quán)號US12/645, 307、中國申請?zhí)枮?01010620155. 7、題為"位 范圍隔離指令、方法和裝置"的申請的分案申請。

【技術(shù)領(lǐng)域】
[0002] 各個不同實施例涉及位操作指令、執(zhí)行位操作指令的方法、用于執(zhí)行位操作指令 的執(zhí)行單元、或者結(jié)合有這種執(zhí)行單元的設(shè)備。具體而言,各個不同實施例涉及用于隔離位 范圍范圍隔離指令、執(zhí)行位范圍隔離指令的方法、用于執(zhí)行位范圍隔離指令的執(zhí)行單元、或 者結(jié)合有這種執(zhí)行單元的設(shè)備。

【背景技術(shù)】
[0003] 通用處理器、專用處理器、控制器和其它設(shè)備執(zhí)行如由指令集架構(gòu)(ISA)指定的 指令。這些指令使得設(shè)備能執(zhí)行各種各樣不同類型的操作。一種通用類型的操作是位操作 操作。
[0004] 已知各種不同的位操作指令。一種已知的位操作指令是EXTR-提取指令。EXTR 指令在Intel? Itanium?'體系結(jié)構(gòu)軟件開發(fā)人員手冊卷3 :指令集參考,修訂2. 2,2006年1 月,文件編號:245319-005中描述。
[0005] EXTR指令提取由兩個立即值指定的位字段,并將所提取的位字段右移位以便于在 目的文件中使所提取的位字段右對齊。這種在單個指令中除提取位字段之外還將所提取的 位字段移位會傾向于限制特定數(shù)據(jù)處理操作的速度和/或效率。其它位操作指令依賴于傾 向于具有長等待時間的查表。
[0006] 由于快速和/或高效處理數(shù)據(jù)的重要性,新的和不同的數(shù)據(jù)操作指令將是有用 的。

【專利附圖】

【附圖說明】
[0007] 通過參照以下描述和用來例示本發(fā)明諸實施例的附圖,本發(fā)明可得到最佳的理 解。在附圖中:
[0008] 圖1是處理位范圍隔離指令的一個實施例的方法實施例的流程框圖。
[0009] 圖2是指令處理裝置的一示例實施例的框圖。
[0010] 圖3示出根據(jù)位范圍隔離指令的第一示例實施例的位范圍隔離操作的第一示例 實施例。
[0011] 圖4示出根據(jù)位范圍隔離指令的第二示例實施例的位范圍隔離操作的第二示例 實施例。
[0012] 圖5示出根據(jù)位范圍隔離指令的第三示例實施例的位范圍隔離操作的第三示例 實施例。
[0013] 圖6示出對BZHI--將以指定位位置開始的高位歸零--指令的描述,該指令表 示位范圍隔離指令的一具體示例實施例。
[0014] 圖7示出BZHI -一將以指定位位置開始的高位歸零一一指令的偽代碼中的操作, 該指令表示位范圍隔離指令的一具體示例實施例。
[0015] 圖8是位范圍隔離邏輯的一示例實施例的框圖。
[0016] 圖9示出適當(dāng)?shù)?2位通用寄存器集合的一個具體示例實施例。
[0017] 圖10示出適當(dāng)?shù)?4位通用寄存器集合的另一個具體示例實施例。
[0018] 圖11示出表示狀態(tài)或標(biāo)志寄存器的一個適當(dāng)示例實施例的EFLAGS寄存器。
[0019] 圖12是適當(dāng)計算機系統(tǒng)的第一示例實施例的框圖。
[0020] 圖13是適當(dāng)計算機系統(tǒng)的第二示例實施例的框圖。 具體實施例
[0021] 在以下描述中,闡述了諸如處理器類型、指令實現(xiàn)細(xì)節(jié)、數(shù)據(jù)類型、寄存器類型、寄 存器排列、系統(tǒng)配置等的許多具體細(xì)節(jié)。然而,可以理解,可在沒有這些具體細(xì)節(jié)的情況下 實踐各實施例。在其它實例中,為了不混淆對本說明書的理解,沒有具體示出公知電路、結(jié) 構(gòu)和技術(shù)。
[0022] 存在其中儲存在寄存器或其它存儲位置中的位可包括感興趣位串或位范圍、以及 目前不感興趣或者至少不是感興趣位范圍的一部分的一個或多個其它位串或位范圍的不 同情況。代表性地,感興趣的位范圍可表示要對其作進(jìn)一步處理的數(shù)字或值。目前不感興 趣的位可被視為是不想要的位或不關(guān)心的位。在一個或多個實施例中,感興趣的位范圍可 通過歸零或以其他方式棄用不想要的位、同時保留感興趣位范圍中位的值來隔離。這可有 助于促進(jìn)對感興趣位范圍的進(jìn)一步處理。
[0023] 諸實施例涉及新且有用的位范圍隔離指令。其它實施例涉及用于執(zhí)行位范圍隔離 指令的執(zhí)行單元。另外的實施例涉及具有這種執(zhí)行單元或能夠執(zhí)行這些指令的通用處理 器、專用處理器、控制器、或其它邏輯設(shè)備或指令處理裝置。再有一些實施例涉及儲存在盤、 存儲器、或其它有形機器可讀介質(zhì)上的位范圍隔離指令。
[0024] 圖1是處理位范圍隔離指令的一個實施例的方法100的實施例的流程框圖。在各 個實施例中,該方法可在使用期間由通用處理器、專用處理器(例如圖形處理器或數(shù)字信 號處理器)、硬件加速器(例如密碼加速器)、或另一類型的邏輯器件或指令處理裝置執(zhí)行。
[0025] 在框101,位范圍隔離指令可在處理器或其它裝置處被接收。在一個或多個實施例 中,位范圍隔離指令可指示源操作數(shù)和目標(biāo)操作數(shù)。
[0026] 在框102,結(jié)果可響應(yīng)于位范圍隔離指令被儲存在目標(biāo)操作數(shù)中。該結(jié)果操作數(shù) 可具有第一位范圍和第二位范圍。第一位范圍可以使其每個位的值與源操作數(shù)在相應(yīng)位置 中的位的值相同。不管源操作數(shù)在相應(yīng)位置中的位的值如何,第二位范圍都可具有相同值。 在一個或多個實施例中,第二范圍的所有位都可以是〇。或者,第二范圍的所有位都可以是 Io
[0027] 在框103,在不在源操作數(shù)的相應(yīng)位置中相對于這些有相同值的位來移位或以其 它方式移動結(jié)果的第一范圍的情況下,可完成該位范圍隔離指令的執(zhí)行。無論第一位范圍 在結(jié)果中的位置如何(例如,即使第一位范圍是結(jié)果內(nèi)的中間位范圍),可能都是如此。在 一個或多個實施例中,位范圍隔離指令的執(zhí)行可能不涉及傾向于具有長等待時間的查表。
[0028] 從位范圍隔離指令中略去這種移位或位移動操作存在若干可能優(yōu)點。首先,并非 總是需要移位操作。并且,移位操作可能傾向于增加指令執(zhí)行的時間,和/或可能傾向于增 加邏輯區(qū)域/成本。此外,許多ISA已具有可與位范圍隔離指令分開使用的專用移位操作。 其它優(yōu)點將在以下進(jìn)一步討論。
[0029] 圖2是指令處理裝置110的一示例實施例的框圖。在一個或多個實施例中,指令 處理裝置可以是通用處理器。該處理器可以是各種復(fù)雜指令集計算(CISC)處理器、各種精 簡指令集計算(RISC)處理器、各種超長指令字(VLIW)處理器、其各種混合、或完全其它類 型的處理器中的任一種。在一個或多個實施例中,處理器可以是由美國加利福尼亞州圣克 拉拉的英特爾公司制造的類型的通用處理器,但這不是必需的??蓮挠⑻貭柟举徺I到的 通用處理器的具體示例包括但不限于:Intel? Core? i7處理器終極版、Intel? Core? i7 處理器、Intel? Core? i5處理器、丨ntel? C〇re?2終極處理器、Intel? C〇re?2四核處理器、 Intel? C〇re?2 雙核處理器、Intel? Pentium?'處理器、以及 Intel? Celeron? 處理器。
[0030] 或者,指令處理裝置可以是專用處理器。適當(dāng)?shù)膶S锰幚砥鞯拇硇允纠ǖ?不限于:網(wǎng)絡(luò)處理器、通信處理器、密碼處理器、圖形處理器、協(xié)處理器、嵌入式處理器、以及 數(shù)字信號處理器(DSP),在此僅舉數(shù)例。這些處理器還可以基于CISC、RISC、VLIW、其混合、 或完全其它類型的處理器。
[0031] 在另外的實施例中,指令處理裝置可以是控制器(例如微控制器)、或者其它類型 的能夠處理指令的邏輯電路。
[0032] 仍然參照圖2,在使用期間,指令處理裝置可接收位范圍隔離指令112的一個實施 例。作為示例,可從存儲器或從軟件接收位范圍隔離指令。該位范圍隔離指令可表示由指 令處理裝置標(biāo)識的機器指令或控制信號。位范圍隔離指令可包括操作碼或其它指令標(biāo)識 符。該指令處理裝置可具有能用于響應(yīng)于位范圍隔離指令和/或由其指定地儲存結(jié)果的特 定或具體電路系統(tǒng)或其它邏輯(例如軟件結(jié)合硬件和/或固件)。
[0033] 指令處理裝置的所示實施例包括指令解碼器114。該解碼器可接收和解碼位范圍 隔離指令。該解碼器可生成和輸出反映原始位范圍隔離指令或由其生成的一個或多個微操 作、微代碼入口點、微指令、其它指令或其它控制信號。該解碼器可利用各種不同機制實現(xiàn)。 適當(dāng)機制的示例包括但不限于微代碼只讀存儲器(ROM)、查尋表、硬件實現(xiàn)、可編程邏輯陣 列(PLA)等。
[0034] 解碼器不是該裝置的必要組件。在一個或多個其它實施例中,該裝置替代地可具 有指令仿真器、指令翻譯器、指令變形器、指令解釋器、或其它指令轉(zhuǎn)換邏輯。各種不同類型 的指令仿真器、指令變形器、指令翻譯器等是本領(lǐng)域中已知的。指令轉(zhuǎn)換邏輯可接收位范圍 隔離指令,仿真、翻譯、變形、解釋或以其它方式轉(zhuǎn)換位范圍隔離指令,并且輸出與原始位范 圍隔離指令相對應(yīng)的一個或多個指令或控制信號。指令轉(zhuǎn)換邏輯可以用軟件、硬件、固件、 或其組合來實現(xiàn)。在一些情形中,指令轉(zhuǎn)換邏輯的部分或全部可位于具有指令處理裝置的 其余部分的管芯外,諸如單獨的管芯,或者可在系統(tǒng)存儲器中。在一些情形中,指令處理裝 置可具有解碼器和指令轉(zhuǎn)換邏輯兩者。
[0035] 再參看圖2,指令處理裝置包括執(zhí)行單元116。作為示例,執(zhí)行單元可包括算術(shù)邏 輯單元、邏輯單元、有位操作能力的功能單元等。
[0036] 在所示實施例中,執(zhí)行單元與解碼器的輸出端耦合,或以其它方式與之通信。術(shù)語 "耦合"可表示兩個或多個元件直接電接觸或電連接。然而,"耦合"也可表示兩個或多個元 件彼此不直接連接,但仍然(例如通過居間組件)彼此協(xié)作或交互或通信。作為一個示例, 解碼器和執(zhí)行單元可通過居間可任選緩沖器或本領(lǐng)域中已知可能用來耦合在解碼器和執(zhí) 行單元之間的其它組件來相互耦合。
[0037] 作為解碼器解碼位范圍隔離指令的結(jié)果,執(zhí)行單元可接收反映該位范圍隔離指令 或由其生成的一個或多個微操作、微代碼入口點、微指令、其它指令或其它控制信號?;蛘撸?執(zhí)行單元可接收和執(zhí)行來自前述指令轉(zhuǎn)換邏輯的指令或控制信號。該執(zhí)行單元可包括可用 于執(zhí)行由位范圍隔離指令生成的這些指令或其它控制信號的電路或其它執(zhí)行邏輯(例如 硬件、軟件、和/或固件的某組合)。
[0038] 作為位范圍隔離指令的結(jié)果,執(zhí)行單元可用于將結(jié)果儲存在位范圍隔離指令所指 示的目標(biāo)操作數(shù)處。該結(jié)果可具有第一位范圍和第二位范圍。在一個或多個實施例中,在 第一位范圍中,每個位的值可與由該指令指示的源操作數(shù)在相應(yīng)位置中的位相同。不管源 操作數(shù)在相應(yīng)位置中的位的值如何,在第二位范圍中,所有的位都可具有相同值。在一個或 多個實施例中,在不在源操作數(shù)的相應(yīng)位置中相對于這些有相同值的位來移動結(jié)果的第一 范圍的情況下,執(zhí)行單元可完成對該位范圍隔離指令的執(zhí)行,無論第一位范圍在結(jié)果中的 位置如何(例如即使第一位范圍是結(jié)果中的中間位范圍)。在位范圍隔離指令的執(zhí)行期間 避免對第一位范圍的這種移位或移動可有助于提高特定數(shù)據(jù)處理操作的速度和/或效率。
[0039] 該位范圍隔離指令可隱式地標(biāo)識或顯式地指定至少一個源操作數(shù)和目標(biāo)操作數(shù)。 在一個或多個實施例中,位范圍隔離指令可具有用于顯式地指定源操作數(shù)、目標(biāo)操作數(shù)或 兩者的專用位字段或集合。在一個或多個實施例中,位范圍隔離指令可隱式或隱含地標(biāo)識 源操作數(shù)、目標(biāo)操作數(shù)或兩者的一個或多個固定寄存器或其它存儲位置。在一個或多個實 施例中,用于源操作數(shù)的存儲位置還可任選地用于目標(biāo)操作數(shù)以使該結(jié)果可蓋寫源數(shù)據(jù)。
[0040] 在一個或多個實施例中,源和目標(biāo)操作數(shù)的部分或全部可被儲存在寄存器集合 118的寄存器中。該寄存器集合可以是寄存器文件的一部分以及可能其它寄存器,諸如控 制寄存器、狀態(tài)寄存器、標(biāo)志寄存器等。這些寄存器可以是可用來儲存數(shù)據(jù)的存儲位置或設(shè) 備。該寄存器集合常??晌锢淼匚挥诰哂袌?zhí)行單元的管芯上。這些寄存器可以是從處理器 的外部可見的,或者從編程人員的角度看這些寄存器可以是可見的。例如,指令可指定儲存 在寄存器中的操作數(shù)。各種不同類型的寄存器是適當(dāng)?shù)模灰鼈兡軌蛉绫疚闹兴龅貎?存和提供數(shù)據(jù)即可。寄存器可以重命名,或者可以不重命名。適當(dāng)寄存器的示例包括但不 限于:專用物理寄存器、使用寄存器重命名的動態(tài)分配物理寄存器、專用物理寄存器和動態(tài) 分配物理寄存器的組合等等?;蛘?,源操作數(shù)和目標(biāo)操作數(shù)的一個或多個可被儲存在不同 于寄存器的存儲位置中,諸如舉例而言系統(tǒng)存儲器中的位置(未在本圖中示出)。
[0041] 再參看圖2,示出位范圍隔離操作的示例實施例。位范圍隔離指令指示或指定源 操作數(shù)(SRC),在該具體情形中指示或指定在寄存器集合的一個或多個寄存器中的源操作 數(shù)(SRC)。為了簡化附圖,所示源操作數(shù)(SRC)被示為僅具有8位,即"10101010",但是操 作數(shù)常常可具有更多個位,諸如16位、32位、64位、128位、或某其它數(shù)目的位。
[0042] 執(zhí)行單元可接收源操作數(shù)(SRC)。作為位范圍隔離指令的結(jié)果,執(zhí)行單元可被實現(xiàn) 為對源操作數(shù)(SRC)執(zhí)行位范圍隔離操作、以及將相應(yīng)結(jié)果儲存在該指令指示或指定的目 標(biāo)操作數(shù)(DEST)中。在此特定情形中,目標(biāo)操作數(shù)被儲存在寄存器集合的一個或多個寄存 器中。
[0043] 該結(jié)果可具有第一位范圍122和第二位范圍120。在此特定示例中,第一位范圍 122是三個最低有效(最右側(cè))位,而第二位范圍120是五個最高有效(最左側(cè))位,盡管 這僅僅是示例。
[0044] 在該第一位范圍122中,每個位的值與源操作數(shù)(SRC)在相應(yīng)位置中的位的值相 同。源操作數(shù)(SRC)的三個最低有效或最右側(cè)位具有位值"010",同樣目標(biāo)操作數(shù)(DEST) 中的第一位范圍的三個最低有效或最右側(cè)位也具有相同位值"010"。
[0045] 不管源操作數(shù)在相應(yīng)位置中的位的值如何,在第二位范圍120中,所有的位都具 有相同值,在此特定情形中均為〇。即使源操作數(shù)(SRC)的五個最高有效或最左側(cè)位具有位 值"10101",目標(biāo)操作數(shù)(DEST)中的結(jié)果的五個最高有效位都具有位值"00000"。在一替 代實施例中,第二范圍中所有的位都可具有相同值1,即"11111"。注意,在此特定情形中, 第二位范圍中的三個位各自具有與源操作數(shù)在相應(yīng)位置中的位不同的值。
[0046] 為了避免混淆本說明書,示出并描述了相對簡單的指令處理裝置??梢岳斫猓渌?實施例可具有多個執(zhí)行單元。例如,該裝置可包括多個不同類型的執(zhí)行單元,諸如舉例而言 算術(shù)單元、算術(shù)邏輯單元(ALU)、整數(shù)單元等。這些單元的至少之一可對本文中所揭示的位 范圍隔離指令的一個實施例作出響應(yīng)。其它實施例可具有多個核、邏輯處理器或執(zhí)行引擎。 本文中所揭示的可用于執(zhí)行位范圍隔離指令的執(zhí)行單元可被包括在這些核、邏輯處理器或 執(zhí)行引擎的至少一個、至少兩個、大部分或全部內(nèi)。
[0047] 指令處理裝置還可任選地包括一個或多個其它公知組件。例如,其它實施例可任 選地包括指令讀取邏輯、預(yù)解碼邏輯、調(diào)度邏輯、重排序緩沖器、分支預(yù)測邏輯、回退邏輯、 寄存器重命名邏輯等、或其某些組合。這些組件可常規(guī)地實現(xiàn),或者有本領(lǐng)域技術(shù)人員基于 本公開內(nèi)容將顯而易見的最少調(diào)整地實現(xiàn)。為了理解本文中的實施例不需要對這些組件作 進(jìn)一步描述,進(jìn)一步描述在需要時可容易地從公開文獻(xiàn)中獲得。存在本領(lǐng)域中已知的這些 組件的許多不同組合和配置。該范圍不限于任何已知的此類組合或配置。各個實施例可在 有這些附加組件或沒有這些附加組件的情況下實現(xiàn)。
[0048] 在一個或多個實施例中,位范圍隔離指令的實施例可隱式或隱含地指示要隔離的 感興趣位范圍的第一端。該隱式或隱含指示的端點盡管未通過顯式值表達(dá)但可以被理解。 處理器或其它指令處理裝置可通過操作碼或其它唯一指令標(biāo)識符來識別位范圍歸零指令, 并且理解位范圍的端點是固有的。
[0049] 圖3示出根據(jù)位范圍隔離指令的第一示例實施例的位范圍隔離操作的第一示 例實施例,該位范圍隔離指令隱式或隱含地將感興趣位范圍的第一端指示為最低有效位 (LSB)。在該示圖中,最低有效位是標(biāo)示為"0"的最右位。
[0050] 位范圍隔離指令可隱式地指示或顯式地指定源操作數(shù)(SRC)。在所示實施例中,源 操作數(shù)具有32位。替代地,該操作數(shù)可具有16位、64位、128位、或某其它數(shù)目的位。具體 示出的32位源操作數(shù)(SRC)從左向右地儲存以下位:"101001101001101101011001110101 10"。這些具體位值僅僅用作例示目的,且不是必需的。
[0051] 位范圍隔離指令也可隱式地指示或顯式地指定目標(biāo)操作數(shù)(DEST)。目標(biāo)操作數(shù) (DEST)具有表示根據(jù)位范圍隔離指令對源操作數(shù)(SRC)執(zhí)行的位范圍隔離操作的一示例 實施例的結(jié)果。該結(jié)果具有感興趣的第一位范圍322和被清零或棄用的第二位范圍320。
[0052] 該第一位范圍322始于隱式LSB第一端、且在此具體情形中終于第19位。在此具 體情形中,第二位范圍始于第20位,且終于最高有效位(MSB)。第一范圍與第二范圍之間的 邊界可替代地處于任何其它位置。
[0053] 在一個或多個實施例中,位范圍隔離指令還可諸如通過源操作數(shù)或與該指令相關(guān) 聯(lián)的常數(shù)或中間值顯式地指定指示感興趣的第一位范圍的端點的值(例如表示數(shù)字的多 個位)。例如,顯式值可表示如從隱式、顯式、或以其它方式理解的點(例如隱式最低有效位 端點、最高有效位、或中央位)起測量的與端點相對應(yīng)的位的位置。作為另一示例,該值可 表示從隱式、顯式、或以其它方式理解的點(例如隱式最低有效位端點、最高有效位、中央 位、或感興趣位范圍的起點)起以位計量的正或負(fù)長度。
[0054] 在該第一位范圍322中,每個位的值與源操作數(shù)在相應(yīng)位置中的位的值 相同。在該具體示例中,源操作數(shù)(SRC)的19個最低有效或最右側(cè)位具有位值 "10110101100111010110",同樣目標(biāo)操作數(shù)(DEST)中的第一位范圍322的19個最低有效 或最右側(cè)位也具有位值"10110101100111010110"。
[0055] 在該第二位范圍320中,所有位都具有相同值,在本特定情形中為0。在該具體示 例中,源操作數(shù)(SRC)的12個最高有效或最左側(cè)位具有位值"101001101001",而目標(biāo)操作 數(shù)(DEST)中的第二位范圍的12個最高有效位都具有位值"000000000000"?;蛘撸诙?圍的所有位可都具有相同值1(例如111111111111)。
[0056] 可以理解,由指令指示的位可包括在要保留的第一位范圍中,或可包括在要歸零 或以其它方式棄用的第二位范圍中。指令可采用任一種約定。
[0057] 作為另一種選擇,在一個或多個實施例中,位范圍隔離指令可隱式或隱含地將要 隔尚的感興趣位范圍的第一端指不為最尚有效位(MSB)。在不圖中,最尚有效位是最左側(cè) 位。
[0058] 圖4示出根據(jù)位范圍隔離指令的第二示例實施例的位范圍隔離操作的第二示例 實施例,該位范圍隔離指令隱式或隱含地將感興趣位范圍的一端指示為最高有效位(LSB)。 在不圖中,最尚有效位是標(biāo)不為"31 "的最左側(cè)位。
[0059] 該第二示例實施例相對于就在前面描述的第一示例實施例具有某些相似性。為簡 短起見,討論將傾向于集中在差異上,而不重復(fù)相似之處。
[0060] 與前面一樣,位范圍隔離指令可指示或指定源操作數(shù)(SRC)和目標(biāo)操作數(shù) (DEST)。目標(biāo)操作數(shù)(DEST)具有包括感興趣的第一位范圍422和被歸零或以其它方式棄 用的第二位范圍420。
[0061] 該第一位范圍322終于隱式MSB,且在此具體情形中始于第17位。第二位范圍始 于最低有效位(LSB),且在此具體情形中終于第16位。第一范圍與第二范圍之間的邊界可 替代地處于任何其它位置。
[0062] 在一個或多個實施例中,位范圍隔離指令可諸如通過該指令的第二源操作數(shù)或中 間值隱式地指示或顯式地指定指示第一位范圍的起始處的值。作為示例,該值可表示與第 二端相對應(yīng)的位的位置、或以位計量的長度,其中該長度的末尾對應(yīng)于第二端。
[0063] 在該第一位范圍422中,每個位的值與源操作數(shù)在相應(yīng)位置中的位的值相同。在 該具體示例中,源操作數(shù)(SRC)的15個最高有效或最左側(cè)位具有位值"101001101001101", 同樣目標(biāo)操作數(shù)(DEST)中的第一位范圍422的15個最高有效或最左側(cè)位也具有位值 "101001101001101"。
[0064] 在該第二位范圍420中,所有位都具有相同值,在本特定情形中為0。在該具體示 例中,源操作數(shù)(SRC)的16個最低有效或最右側(cè)位具有位值" 10101100111010110",而目標(biāo) 操作數(shù)(DEST)中的第二位范圍的16個最低有效位都具有位值"00000000000000000"?;?者,第二范圍的所有位可都具有相同值1(例如11111111111111111)。
[0065] 作為又一操作,在一個或多個實施例中,位范圍隔離指令可諸如通過該指令的第 二源操作數(shù)和/或中間值顯式地指定指示感興趣位范圍的兩端的值。
[0066] 圖5示出根據(jù)指示或指定感興趣位范圍的兩端的位范圍隔離指令的第三示例實 施例的位范圍隔離操作的第三示例實施例。為簡短起見,討論將傾向于集中在相對于先前 示例實施例的差異上,而不重復(fù)相似之處。
[0067] 與前面一樣,位范圍隔離指令可指示或指定源操作數(shù)(SRC)和目標(biāo)操作數(shù) (DEST)。目標(biāo)操作數(shù)(DEST)具有包括感興趣的第一位范圍522、不想要的第二位范圍520、 以及附加的不想要的第三位范圍521。
[0068] 如前所述,在該第一位范圍522中,每個位的值與源操作數(shù)在相應(yīng)位置中的位的 值相同。在該第二位范圍520中,所有位都具有相同值,在本特定情形中為0。替代地,可使 用1來替代0。
[0069] 同樣,在該第三位范圍521中,所有位都具有相同值,在本特定情形中為0。或者, 位范圍隔離指令可歸零或以其它方式棄用第二范圍的最高有效位,而不歸零或棄用第三范 圍中不想要的最低有效位。隨后第三范圍中這些不想要的最低有效位可按需用例如后續(xù)右 移位指令來棄用。
[0070] 指定端點的值可分別表示如從隱式、或以其它方式理解的點(例如隱式最低有效 位、最高有效位、或中央位)起測量的位的位置,或者表示從隱式、或以其它方式理解的點 (例如最低有效位、最高有效位、中央位、或感興趣位范圍的端點)起以位計量的正或負(fù)長 度。在一具體示例實施例中,第一值可表示感興趣第一位范圍的起點的位位置,而第二值可 表示從由第一值表示的起始位位置起以位計量的長度。
[0071] 注意,在圖3-5中,在不在源操作數(shù)的相應(yīng)位置中相對于有相同值的位來移位或 以其它方式移動結(jié)果的第一位范圍的情況下,可完成對位范圍隔離指令的執(zhí)行,而不管第 一位范圍在結(jié)果中的位置如何。也就是說,不執(zhí)行移位操作或其它改變相對位位置的操作。 如果需要將第一位范圍移位,諸如將第一位范圍與最低有效位對齊或?qū)?zhǔn),則這可由后續(xù) 指令(例如右移位指令)執(zhí)行。許多ISA具有用于執(zhí)行這種操作的適當(dāng)?shù)挠乙莆恢噶睢?br> [0072] 圖3-5示出適當(dāng)?shù)奈环秶綦x操作和指令的若干示例。其它實施例將對本領(lǐng)域技 術(shù)人員顯而易見,且具有本發(fā)明的益處。
[0073] 根據(jù)一具體示例實施例的位范圍隔離指令是BZHI-以指定位位置起始的零高位 指令。該BZHI指令可具有標(biāo)準(zhǔn)3字節(jié)x86操作碼,該操作碼可任選地具有用于尋址更多寄 存器和更寬數(shù)據(jù)空間的REX前綴。該BZHI指令的指令操作數(shù)編碼在表1中示出。
[0074] 表 1
[0075]

【權(quán)利要求】
1. 一種處理元件,包括: 高速緩存; 執(zhí)行單元,禪合到所述高速緩存,并用于響應(yīng)于一指令而將結(jié)果儲存在由所述指令指 示的目標(biāo)操作數(shù)中,所述結(jié)果具有: 第一位范圍,具有由所述指令顯式指定的第一端,其中各個位的值與由所述指令指示 的源操作數(shù)在相應(yīng)位置中的位的值相同;W及 第二位范圍,不管所述源操作數(shù)在相應(yīng)位置中的位的值如何,所述第二位范圍都具有 相同值;且 所述執(zhí)行單元在不在所述源操作數(shù)的相應(yīng)位置中相對于所述有相同值的位來移動所 述結(jié)果的所述第一位范圍的情況下,完成所述指令的執(zhí)行,而不管所述第一位范圍在所述 結(jié)果中的位置如何,由此不執(zhí)行改變相對位位置的操作。
2. 如權(quán)利要求1所述的處理元件,其特征在于,所述執(zhí)行單元儲存其中所述第二位范 圍的所有位的值均為零(0)的結(jié)果。
3. 如權(quán)利要求2所述的處理元件,其特征在于,所述處理元件工作在32位模式和64位 模式中,并且所述高速緩存包括第一級高速緩存。
4. 如權(quán)利要求3所述的處理元件,其特征在于,所述高速緩存還包括:一個或多個中級 高速緩存。
5. 如權(quán)利要求1-4中任意一項所述的處理元件,其特征在于,所述指令隱式地指示所 述第一位范圍的第二端。
6. 如權(quán)利要求1-4中任意一項所述的處理元件,其特征在于,所述指令顯式地指定指 示所述第一位范圍的端點的值。
7. 如權(quán)利要求6所述的處理元件,其特征在于,所示值可表示從所述第一位范圍的最 低有效位端點起的W位計量的正或負(fù)長度。
8. -種64位巧片組系統(tǒng),包括: 多核處理器,包括兩個W上的核,每個核包括: 至少一個處理元件,包括: 高速緩存; 執(zhí)行單元,禪合到所述高速緩存,并用于響應(yīng)于一指令而將結(jié)果儲存在由所述指令指 示的目標(biāo)操作數(shù)中,所述結(jié)果具有: 第一位范圍,具有由所述指令顯式指定的第一端,其中各個位的值與由所述指令指示 的源操作數(shù)在相應(yīng)位置中的位的值相同;W及 第二位范圍,不管所述源操作數(shù)在相應(yīng)位置中的位的值如何,所述第二位范圍都具有 相同值;且 其中所述執(zhí)行單元在不在所述源操作數(shù)的相應(yīng)位置中相對于所述有相同值的位來移 動所述結(jié)果的所述第一位范圍的情況下,完成所述指令的執(zhí)行,而不管所述第一位范圍在 所述結(jié)果中的位置如何,由此不執(zhí)行改變相對位位置的操作。
9. 如權(quán)利要求8所述的巧片組系統(tǒng),其特征在于,所述多核處理器包括四個核。
10. 如權(quán)利要求8所述的巧片組系統(tǒng),其特征在于,所述多核處理器包括八個核。
11. 如權(quán)利要求8所述的巧片組系統(tǒng),其特征在于,所述執(zhí)行單元儲存其中所述第二位 范圍的所有位的值均為零(0)的結(jié)果。
12. 如權(quán)利要求11所述的巧片組系統(tǒng),其特征在于,所述處理元件工作在64位模式中, 并且所述高速緩存包括第一級高速緩存。
13. 如權(quán)利要求12所述的巧片組系統(tǒng),其特征在于,所述高速緩存還包括;一個或多個 中級高速緩存。
14. 如權(quán)利要求11-13中任意一項所述的巧片組系統(tǒng),其特征在于,所述指令隱式地指 示所述第一位范圍的第二端。
15. 如權(quán)利要求11-13中任意一項所述的巧片組系統(tǒng),其特征在于,所述指令顯式地指 定指示所述第一位范圍的端點的值。
16. 如權(quán)利要求15所述的巧片組系統(tǒng),其特征在于,所示值可表示從所述第一位范圍 的最低有效位端點起的W位計量的正或負(fù)長度。
【文檔編號】G06F9/30GK104461461SQ201410674064
【公開日】2015年3月25日 申請日期:2010年12月21日 優(yōu)先權(quán)日:2009年12月22日
【發(fā)明者】M·洛克西金, E·瑪烏林, B·L·托爾, M·G·迪克森, S·P·米萊克斯, D·L·克賴澤爾, E·M·烏爾德-阿邁德-瓦爾, V·戈帕爾 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
潮州市| 宁城县| 永年县| 北宁市| 大足县| 雷波县| 舟山市| 南投市| 镇平县| 镇巴县| 开江县| 宽城| 高尔夫| 乌拉特中旗| 阜康市| 广平县| 江达县| 屏边| 梧州市| 大英县| 建德市| 都安| 鲁山县| 青浦区| 鄯善县| 祁连县| 新化县| 灵宝市| 精河县| 永清县| 大足县| 商水县| 孙吴县| 鄢陵县| 博兴县| 和龙市| 泰和县| 柳河县| 蒙自县| 临洮县| 繁昌县|