諸如例如高吞 吐量MIC處理器、網(wǎng)絡或通信處理器、壓縮引擎、圖形處理器、GPGPU、或嵌入式處理器等等。
[0108] 共享高速緩存(未示出)可以被包括在任一處理器之內(nèi),或被包括在兩個處理器 外部但仍經(jīng)由P-P互連與這些處理器連接,從而如果將某處理器置于低功率模式時,可將 任一處理器或兩個處理器的本地高速緩存信息存儲在該共享高速緩存中。
[0109] 芯片組1190可經(jīng)由接口 1196耦合至第一總線1116。在一個實施例中,第一總線 1116可以是外圍組件互連(PCI)總線,或諸如PCI Express總線或其它第三代I/O互連總 線之類的總線,但本發(fā)明的范圍并不受此限制。
[0110] 如圖11所示,各種I/O設備1114可以連同總線橋1118耦合到第一總線1116,該總 線橋?qū)⒌谝豢偩€1116耦合至第二總線1120。在一個實施例中,諸如協(xié)處理器、高吞吐量MIC 處理器、GPGPU的處理器、加速器(諸如例如圖形加速器或數(shù)字信號處理(DSP)單元)、現(xiàn)場 可編程門陣列或任何其它處理器的一個或多個附加處理器1115耦合到第一總線1116。在 一個實施例中,第二總線1120可以是低引腳計數(shù)(LPC)總線。各種設備可以被耦合至第二 總線1120,在一個實施例中這些設備包括例如鍵盤/鼠標1122、通信設備1127以及諸如可 包括指令/代碼和數(shù)據(jù)1130的盤驅(qū)動器或其它大容量存儲設備的存儲單元1128。此外,音 頻I/O 1124可以被耦合至第二總線1120。注意,其它架構(gòu)是可能的。例如,代替圖11的點 對點架構(gòu),系統(tǒng)可以實現(xiàn)多分支總線或其它這類架構(gòu)。
[0111] 現(xiàn)在參考圖12,所示為根據(jù)本發(fā)明的實施例的更具體的第二示例性系統(tǒng)1200的 框圖。圖11和圖12中的相同部件用相同附圖標記表示,并從圖12中省去了圖11中的某 些方面,以避免使圖12的其它方面變得模糊。
[0112] 圖12示出處理器1170U180可分別包括集成存儲器和I/O控制邏輯("CL") 1172 和1182。因此,CL 1172U182包括集成存儲器控制器單元并包括I/O控制邏輯。圖12不 僅示出存儲器1132、1134耦合至CL 1172、1182,而且還示出I/O設備1214也耦合至控制邏 輯1172、1182。傳統(tǒng)I/O設備1215被耦合至芯片組1190。
[0113] 現(xiàn)在參照圖13,所示出的是根據(jù)本發(fā)明一個實施例的SoC 1300的框圖。在圖9 中,相似的部件具有同樣的附圖標記。另外,虛線框是更先進的SoC的可選特征。在圖13 中,互連單元1302被耦合至:應用處理器1310,該應用處理器包括一個或多個核202A-N的 集合以及共享高速緩存單元906 ;系統(tǒng)代理單元910 ;總線控制器單元916 ;集成存儲器控 制器單元914 ;一組或一個或多個協(xié)處理器1320,其可包括集成圖形邏輯、圖像處理器、音 頻處理器和視頻處理器;靜態(tài)隨機存取存儲器(SRAM)單元1330 ;直接存儲器存取(DMA)單 元1332 ;以及用于耦合至一個或多個外部顯示器的顯示單元1340。在一個實施例中,協(xié)處 理器1320包括專用處理器,諸如例如網(wǎng)絡或通信處理器、壓縮引擎、GPGPU、高吞吐量MIC處 理器、或嵌入式處理器等等。
[0114] 本文公開的機制的各實施例可以被實現(xiàn)在硬件、軟件、固件或這些實現(xiàn)方法的組 合中。本發(fā)明的實施例可實現(xiàn)為在可編程系統(tǒng)上執(zhí)行的計算機程序或程序代碼,該可編程 系統(tǒng)包括至少一個處理器、存儲系統(tǒng)(包括易失性和非易失性存儲器和/或存儲元件)、至 少一個輸入設備以及至少一個輸出設備。
[0115] 可將程序代碼(諸如圖11中示出的代碼1130)應用于輸入指令,以執(zhí)行本文描述 的各功能并生成輸出信息??梢园匆阎绞綄⑤敵鲂畔糜谝粋€或多個輸出設備。為了 本申請的目的,處理系統(tǒng)包括具有諸如例如數(shù)字信號處理器(DSP)、微控制器、專用集成電 路(ASIC)或微處理器之類的處理器的任何系統(tǒng)。
[0116] 程序代碼可以用高級程序化語言或面向?qū)ο蟮木幊陶Z言來實現(xiàn),以便與處理系統(tǒng) 通信。在需要時,也可用匯編語言或機器語言來實現(xiàn)程序代碼。事實上,本文中描述的機制 不限于任何特定編程語言的范圍。在任一情形下,該語言可以是編譯語言或解釋語言。
[0117] 至少一個實施例的一個或多個方面可以由存儲在機器可讀介質(zhì)上的表示性指令 來實現(xiàn),指令表示處理器中的各種邏輯,指令在被機器讀取時使得該機器制作用于執(zhí)行本 文所述的技術(shù)的邏輯。被稱為"IP核"的這些表示可以被存儲在有形的機器可讀介質(zhì)上,并 被提供給多個客戶或生產(chǎn)設施以加載到實際制造該邏輯或處理器的制造機器中。
[0118] 這樣的機器可讀存儲介質(zhì)可以包括但不限于通過機器或設備制造或形成的物品 的非瞬態(tài)的有形安排,其包括存儲介質(zhì),諸如:硬盤;任何其它類型的盤,包括軟盤、光盤、 緊致盤只讀存儲器(CD-ROM)、緊致盤可重寫(CD-RW)以及磁光盤;半導體器件,例如只讀存 儲器(ROM)、諸如動態(tài)隨機存取存儲器(DRAM)和靜態(tài)隨機存取存儲器(SRAM)之類的隨機 存取存儲器(RAM)、可擦除可編程只讀存儲器(EPROM)、閃存、電可擦除可編程只讀存儲器 (EEPROM);相變存儲器(PCM);磁卡或光卡;或適于存儲電子指令的任何其它類型的介質(zhì)。
[0119] 因此,本發(fā)明的各實施例還包括非瞬態(tài)的有形機器可讀介質(zhì),該介質(zhì)包含指令或 包含設計數(shù)據(jù),諸如硬件描述語言(HDL),它定義本文中描述的結(jié)構(gòu)、電路、裝置、處理器和 /或系統(tǒng)特征。這些實施例也被稱為程序產(chǎn)品。
[0120] 雖然已經(jīng)描述并在附圖中示出了特定示例實施例,但可以理解,這些實施例僅僅 是對本寬泛發(fā)明的說明而非限制,并且本發(fā)明不限于所示出和所描述的特定結(jié)構(gòu)和配置, 因為本領域技術(shù)人員在研究了本公開文本之后可以料知到多種其它修改方式。在諸如本申 請這樣的技術(shù)領域中,因為發(fā)展很快且未來的進步難以預見,所以本公開的諸個實施例可 通過受益于技術(shù)進步而容易地獲得配置和細節(jié)上的改動,而不背離本公開的原理和所附權(quán) 利要求書的范圍。
【主權(quán)項】
1. 一種裝置,包括: 寄存器組,包括第一掩碼寄存器和第二掩碼寄存器;以及 執(zhí)行電路,與所述寄存器組耦合,用于執(zhí)行掩碼更新指令,其中響應于所述掩碼更新指 令,所述執(zhí)行電路用于反轉(zhuǎn)所述第一掩碼寄存器中給定數(shù)量的掩碼位并且用于反轉(zhuǎn)所述第 二掩碼寄存器中所述給定數(shù)量的掩碼位。
2. 如權(quán)利要求1所述的裝置,其中所述給定數(shù)量是所述第一掩碼寄存器中具有第一位 值的掩碼位的數(shù)量和所述第二掩碼寄存器中具有第二位值的掩碼位的數(shù)量中較小的一個。
3. 如權(quán)利要求1所述的裝置,其中所述第一位值與所述第二位值相同。
4. 如權(quán)利要求1所述的裝置,其中所述第一位值是所述第二位值的反轉(zhuǎn)。
5. 如權(quán)利要求1所述的裝置,其中所述第一掩碼寄存器中所述給定數(shù)量的掩碼位是所 述第一掩碼寄存器中的低階掩碼位或高階掩碼位。
6. 如權(quán)利要求1所述的裝置,其中所述第二掩碼寄存器中所述給定數(shù)量的掩碼位是所 述第二掩碼寄存器中的低階掩碼位或高階掩碼位。
7. 如要求1所述的裝置,進一步包括: 第一向量寄存器,與所述第一掩碼寄存器相關聯(lián),其中所述第一掩碼寄存器的每個掩 碼位指示用于所述第一向量寄存器中相應數(shù)據(jù)元素的條件是否被滿足;以及 第二向量寄存器,與所述第二掩碼寄存器相關聯(lián),其中所述第二掩碼寄存器的每個掩 碼位指示用于所述第二向量寄存器中相應數(shù)據(jù)元素的條件是否被滿足。
8. 如權(quán)利要求7所述的裝置,其中當用于給定數(shù)據(jù)元素的條件被滿足時,對于所述給 定數(shù)據(jù)元素,需要進一步計算。
9. 一種方法,包括: 由處理器接收指定第一掩碼寄存器和第二掩碼寄存器的掩碼更新指令;以及 響應于所述掩碼更新指令,執(zhí)行操作,包括: 反轉(zhuǎn)所述第一掩碼寄存器中給定數(shù)量的掩碼位,以及 反轉(zhuǎn)所述第二掩碼寄存器中所述給定數(shù)量的掩碼位。
10. 如權(quán)利要求9所述的方法,其中所述給定數(shù)量是所述第一掩碼寄存器中具有第一 位值的掩碼位的數(shù)量和所述第二掩碼寄存器中具有第二位值的掩碼位的數(shù)量中較小的一 個。
11. 如權(quán)利要求9所述的方法,其中所述第一位值與所述第二位值相同。
12. 如權(quán)利要求9所述的裝置,其中所述第一位值是所述第二位值的反轉(zhuǎn)。
13. 如權(quán)利要求9所述的方法,其中所述第一掩碼寄存器中所述給定數(shù)量的掩碼位是 所述第一掩碼寄存器中的低階掩碼位或高階掩碼位。
14. 如權(quán)利要求9所述的方法,其中所述第二掩碼寄存器中所述給定數(shù)量的掩碼位是 所述第二掩碼寄存器中的低階掩碼位或高階掩碼位。
15. 如權(quán)利要求9所述的方法,其中所述第一掩碼寄存器的每個掩碼位指示用于第一 向量寄存器中相應數(shù)據(jù)元素的條件是否被滿足,以及 所述第二掩碼寄存器的每個掩碼位指示用于第二向量寄存器中相應數(shù)據(jù)元素的條件 是否被滿足。
16. 如權(quán)利要求15所述的方法,其中當用于給定數(shù)據(jù)元素的條件被滿足時,對于所述 給定數(shù)據(jù)元素,需要進一步計算。
17. -種系統(tǒng),包括: 存儲器,用于存儲輸入數(shù)據(jù)數(shù)組; 寄存器組,包括用于存儲掩碼更新指令的操作數(shù)的第一掩碼寄存器和第二掩碼寄存 器,以及分別與所述第一掩碼寄存器和所述第二掩碼寄存器相關聯(lián)、用于加載向量計算的 所述輸入數(shù)據(jù)數(shù)組的第一向量寄存器和第二向量寄存器;以及 執(zhí)行電路,與所述寄存器組耦合,用于執(zhí)行所述掩碼更新指令,其中響應于所述掩碼更 新指令,所述執(zhí)行電路用于將所述第一掩碼寄存器中給定數(shù)量的掩碼位從第一位值設置為 第二位值并且用于將所述第二掩碼寄存器中所述給定數(shù)量的掩碼位從所述第二位值設置 為所述第一位值。
18. 如權(quán)利要求17所述的系統(tǒng),其中所述給定數(shù)量是所述第一掩碼寄存器中具有所述 第一位值的掩碼位的數(shù)量和所述第二掩碼寄存器中具有所述第二位值的掩碼位的數(shù)量中 較小的一個。
19. 如權(quán)利要求17所述的系統(tǒng),其中所述第一位值與所述第二位值相同。
20. 如權(quán)利要求17所述的系統(tǒng),其中所述第一位值是所述第二位值的反轉(zhuǎn)。
21. 如權(quán)利要求17所述的系統(tǒng),其中所述第一掩碼寄存器中所述給定數(shù)量的掩碼位是 所述第一掩碼寄存器中的低階掩碼位或高階掩碼位。
22. 如權(quán)利要求17所述的系統(tǒng),其中所述第二掩碼寄存器中所述給定數(shù)量的掩碼位是 所述第二掩碼寄存器中的低階掩碼位或高階掩碼位。
23. 如權(quán)利要求17所述的系統(tǒng),其中所述第一掩碼寄存器中所述第一位值的每個掩碼 位指示用于所述第一向量寄存器中相應數(shù)據(jù)元素的條件未被滿足,并且所述第二掩碼寄存 器中所述第二位值的每個掩碼位指示用于所述第二向量寄存器中相應數(shù)據(jù)元素的條件被 滿足。
24. 如權(quán)利要求23所述的系統(tǒng),其中當用于給定數(shù)據(jù)元素的條件被滿足時,對于所述 給定數(shù)據(jù)元素,需要進一步計算。
【專利摘要】處理器執(zhí)行掩碼更新指令以執(zhí)行對第一掩碼寄存器和第二掩碼寄存器的更新。處理器內(nèi)的寄存器組包括第一掩碼寄存器和第二掩碼寄存器。處理器包括用于執(zhí)行掩碼更新指令的執(zhí)行電路。響應于掩碼更新指令,執(zhí)行電路用于反轉(zhuǎn)第一掩碼寄存器中給定數(shù)量的掩碼位,并且還用于反轉(zhuǎn)第二掩碼寄存器中給定數(shù)量的掩碼位。
【IPC分類】G06F12-00, G06F9-30, G06F9-06
【公開號】CN104603745
【申請?zhí)枴緾N201380045583
【發(fā)明人】M·普羅特尼科夫, A·納賴金, C·休斯
【申請人】英特爾公司
【公開日】2015年5月6日
【申請日】2013年6月12日
【公告號】DE112013004770T5, US20140095837, WO2014051737A1