掩碼寄存器上的廣播操作的制作方法
【專利摘要】描述了在計(jì)算機(jī)處理器中執(zhí)行掩碼廣播指令的系統(tǒng)、設(shè)備和方法的實(shí)施例。在一些實(shí)施例中,掩碼廣播指令的執(zhí)行導(dǎo)致根據(jù)廣播大小源操作數(shù)的數(shù)據(jù)元素廣播到目的地操作數(shù)的目的地寄存器。
【專利說明】掩碼寄存器上的廣播操作
發(fā)明領(lǐng)域
[0001]本發(fā)明的領(lǐng)域一般涉及計(jì)算機(jī)處理器架構(gòu),更具體而言,涉及當(dāng)執(zhí)行時(shí)導(dǎo)致特定結(jié)果的指令。
[0002]背景
[0003]基于控制流信息合并來自矢量源的數(shù)據(jù)是基于矢量的架構(gòu)的常見問題。例如,為了將以下代碼矢量化,需要:1)生成指示a[i]>0是否為真的布爾矢量的方式以及2)基于布爾矢量從兩個(gè)源(A[i]或B[i])選擇任意值并將內(nèi)容寫入不同目的地(C[i])的方式。
[0004]For (i = O ;i〈N ;i++)
[0005]{
[0006]C[i] = (a[i]>0 ? A[i]:B[i];
[0007]}
[0008]為了使用掩碼數(shù)據(jù)a[i],用作為數(shù)組a[]的一部分的掩碼數(shù)據(jù)填充一個(gè)或多個(gè)掩碼寄存器。如果掩碼數(shù)據(jù)用于從不同數(shù)組(諸如A[]和B[])選擇數(shù)據(jù),則掩碼數(shù)據(jù)也被稱為寫掩碼。
【專利附圖】
【附圖說明】
[0009]本發(fā)明是作為示例說明的,而不僅限制于各個(gè)附圖的圖形,在附圖中,類似的參考編號表示類似的元件,其中:
[0010]圖1示出利用寫掩碼的示例。
[0011]圖2AB示出掩碼廣播指令的執(zhí)行的示例。
[0012]圖3AB示出掩碼廣播指令的偽代碼的示例。
[0013]圖4示出處理器中使用掩碼廣播指令的實(shí)施例。
[0014]圖5示出處理掩碼廣播指令的方法的實(shí)施例。
[0015]圖6示出處理掩碼廣播指令的方法的實(shí)施例。
[0016]圖7A、7B和7C是示出根據(jù)本發(fā)明的實(shí)施例的示例性專用矢量友好指令格式的框圖。
[0017]圖8是根據(jù)本發(fā)明的一個(gè)實(shí)施例的寄存器架構(gòu)的方框圖。
[0018]圖9A是示出根據(jù)本發(fā)明的實(shí)施例的示例性有序流水線以及示例性寄存器重命名的無序發(fā)布/執(zhí)行流水線的框圖。
[0019]圖9B是示出根據(jù)本發(fā)明的實(shí)施例的有序架構(gòu)核的示例性實(shí)施例以及包括在處理器中的示例性寄存器重命名的無序發(fā)布/執(zhí)行架構(gòu)核的框圖。
[0020]圖1OA和IOB是根據(jù)本發(fā)明的實(shí)施例示出示例性無序架構(gòu)的框圖。
[0021]圖11是根據(jù)本發(fā)明的實(shí)施例示出具有一個(gè)以上的核的處理器的框圖。
[0022]圖12示出根據(jù)本發(fā)明一個(gè)實(shí)施例的系統(tǒng)的框圖。
[0023]圖13示出根據(jù)本發(fā)明的實(shí)施例的第二系統(tǒng)的框圖。
[0024]圖14是根據(jù)本發(fā)明的實(shí)施例的第三系統(tǒng)的框圖。[0025]圖15是根據(jù)本發(fā)明的實(shí)施例的SoC的框圖。
[0026]圖16是根據(jù)本發(fā)明的實(shí)施例的對比使用軟件指令變換器將源指令集中的二進(jìn)制指令變換成目標(biāo)指令集中的二進(jìn)制指令的框圖。
【具體實(shí)施方式】
[0027]在下面的描述中,闡述了很多具體細(xì)節(jié)。然而,應(yīng)當(dāng)理解,本發(fā)明的各實(shí)施例可以在不具有這些具體細(xì)節(jié)的情況下得到實(shí)施。在其他實(shí)例中,公知的電路、結(jié)構(gòu)和技術(shù)未被詳細(xì)示出以免混淆對本描述的理解。
[0028]在說明書中對“一個(gè)實(shí)施例”、“一實(shí)施例”、“示例實(shí)施例”等的引用指示所描述的實(shí)施例可以包括特定特征、結(jié)構(gòu)或特性,但并不一定每個(gè)實(shí)施例都需要包括該特定特征、結(jié)構(gòu)或特性。此外,這樣的短語不一定是指同一個(gè)實(shí)施例。此外,當(dāng)結(jié)合一個(gè)影響例描述特定特征、結(jié)構(gòu)或特性時(shí),認(rèn)為在本領(lǐng)域技術(shù)人員學(xué)識范圍內(nèi),可以與其他影響例一起影響這樣的特征、結(jié)構(gòu)或特性,無論是否對此明確描述。
[0029]指令集,或指令集架構(gòu)(ISA)是涉及編程的計(jì)算機(jī)架構(gòu)的一部分,并可以包括本機(jī)數(shù)據(jù)類型、指令、寄存器架構(gòu)、尋址模式、存儲器架構(gòu),中斷和異常處理,以及外部輸入和輸出(I/o)。在本文中術(shù)語指令一般指宏指令一即被提供給處理器(或指令轉(zhuǎn)換器,該指令轉(zhuǎn)換器(例如使用靜態(tài)二進(jìn)制翻譯、包括動(dòng)態(tài)編譯的動(dòng)態(tài)二進(jìn)制翻譯)翻譯、變形、仿真,或以其他方式將指令轉(zhuǎn)換成要由處理器處理的一個(gè)或多個(gè)指令)的指令)以用于執(zhí)行的指令一而不是微指令或微操作(miCTo-op)—它們是處理器的解碼器解碼宏指令的結(jié)果。
[0030]ISA與微架構(gòu)不同,微架構(gòu)是實(shí)現(xiàn)指令集的處理器的內(nèi)部設(shè)計(jì)。帶有不同的微架構(gòu)的處理器可以共享共同的指令集。例如,INTEL?奔騰四(Pentium4)處理器、Intel?酷
睿(Core?)處理器、以及來自加利福尼亞州桑尼威爾(Sunnyvale)的超微半導(dǎo)體有限公司(Advanced Micro Devices, Inc.)的諸多處理器執(zhí)行幾乎相同版本的x86指令集(在更新的版本中加入了一些擴(kuò)展),但具有不同的內(nèi)部設(shè)計(jì)。例如,ISA的相同寄存器架構(gòu)在不同的微架構(gòu)中可使用已知的技術(shù)以不同方法來實(shí)現(xiàn),包括專用物理寄存器、使用寄存器重命名機(jī)制(諸如,使用寄存器別名表RAT、重排序緩沖器R0B、以及隱退寄存器組;使用多映射和寄存器池)的一個(gè)或多個(gè)動(dòng)態(tài)分配物理寄存器。除非另作說明,短語寄存器架構(gòu)、寄存器組,以及寄存器在本文中被用來指代對軟件/編程器以及指令指定寄存器的方式可見的東西。在需要特殊性的情況下,形容詞邏輯、架構(gòu),或軟件可見的將用于表示寄存器架構(gòu)中的寄存器/文件,而不同的形容詞將用于指定給定微型架構(gòu)中的寄存器(例如,物理寄存器、重新排序緩沖器、退役寄存器、寄存器池)。
[0031]指令集包括一個(gè)或多個(gè)指令格式。給定指令格式定義各個(gè)字段(位的數(shù)量、位的位置)以指定要執(zhí)行的操作(操作碼)以及對其要執(zhí)行該操作的操作碼等。通過指令模板(或子格式)的定義來進(jìn)一步分解一些指令格式。例如,給定指令格式的指令模板可被定義為具有指令格式的字段(所包括的字段通常在相同的階中,但是至少一些字段具有不同的位位置,因?yàn)榘ǜ俚淖侄?的不同子集,和/或被定義為具有不同解釋的給定字段。由此,ISA的每一指令使用給定指令格式(并且如果定義,則在該指令格式的指令模板的給定一個(gè)中)來表達(dá),并且包括用于指定操作和操作碼的字段。例如,示例性ADD指令具有專用操作碼以及包括指定該操作碼的操作碼字段和選擇操作數(shù)的操作數(shù)字段(源I/目的地以及源2)的指令格式,并且該ADD指令在指令流中的出現(xiàn)將具有選擇專用操作數(shù)的操作數(shù)字段中的專用內(nèi)容。
[0032]科學(xué)、金融、自動(dòng)矢量化的通用,RMS(識別、挖掘以及合成),以及可視和多媒體應(yīng)用程序(例如,2D/3D圖形、圖像處理、視頻壓縮/解壓縮、語音識別算法和音頻操縱)常常需要對大量的數(shù)據(jù)項(xiàng)執(zhí)行相同操作(被稱為“數(shù)據(jù)并行性”)。單指令多數(shù)據(jù)(SIMD)是指使處理器對多個(gè)數(shù)據(jù)項(xiàng)執(zhí)行操作的一種指令。SMD技術(shù)特別適于能夠在邏輯上將寄存器中的位分割為若干個(gè)固定大小的數(shù)據(jù)元素的處理器,每一個(gè)元素都表示單獨(dú)的值。例如,256位寄存器中的位可以被指定為四個(gè)單獨(dú)的64位打包的數(shù)據(jù)元素(四字(Q)大小的數(shù)據(jù)元素),八個(gè)單獨(dú)的32位打包的數(shù)據(jù)元素(雙字(D)大小的數(shù)據(jù)元素),十六單獨(dú)的16位打包的數(shù)據(jù)元素(一字(W)大小的數(shù)據(jù)元素),或三十二個(gè)單獨(dú)的8位數(shù)據(jù)元素(字節(jié)(B)大小的數(shù)據(jù)元素)來被操作的源操作數(shù)。這種類型的數(shù)據(jù)被稱為打包的數(shù)據(jù)類型或矢量數(shù)據(jù)類型,這種數(shù)據(jù)類型的操作數(shù)被稱為打包的數(shù)據(jù)操作數(shù)或矢量操作數(shù)。換句話說,打包數(shù)據(jù)項(xiàng)或矢量指的是打包數(shù)據(jù)元素的序列,并且打包數(shù)據(jù)操作數(shù)或矢量操作數(shù)是SMD指令(也稱為打包數(shù)據(jù)指令或矢量指令)的源操作數(shù)或目的地操作數(shù)。
[0033]作為示例,一種類型的SIMD指令指定要以垂直方式對兩個(gè)源矢量操作數(shù)執(zhí)行的單個(gè)矢量運(yùn)算,以利用相同數(shù)量的數(shù)據(jù)元素,以相同數(shù)據(jù)元素順序,生成相同大小的目的地矢量操作數(shù)(也稱為結(jié)果矢量操作數(shù))。源矢量操作數(shù)中的數(shù)據(jù)元素被稱為源數(shù)據(jù)元素,而目的地矢量操作數(shù)中的數(shù)據(jù)元素被稱為目的地或結(jié)果數(shù)據(jù)元素。這些源矢量操作數(shù)是相同大小,并包含相同寬度的數(shù)據(jù)元素,如此,它們包含相同數(shù)量的數(shù)據(jù)元素。兩個(gè)源矢量操作數(shù)中的相同位位置中的源數(shù)據(jù)元素形成數(shù)據(jù)元素對(也稱為相對應(yīng)的數(shù)據(jù)元素;即,每個(gè)源操作數(shù)的數(shù)據(jù)元素位置O中的數(shù)據(jù)元素相對應(yīng),每個(gè)源操作數(shù)的數(shù)據(jù)元素位置I中的數(shù)據(jù)元素相對應(yīng),等等)。由該SIMD指令所指定的操作分別地對這些源數(shù)據(jù)元素對中的每一對執(zhí)行,以生成匹配的數(shù)量的結(jié)果數(shù)據(jù)元素,如此,每一對源數(shù)據(jù)元素都具有對應(yīng)的結(jié)果數(shù)據(jù)元素。由于操作是垂直的并且由于結(jié)果矢量操作數(shù)大小相同,具有相同數(shù)量的數(shù)據(jù)元素,并且結(jié)果數(shù)據(jù)元素與源矢量操作數(shù)以相同數(shù)據(jù)元素順序來存儲,因此,結(jié)果數(shù)據(jù)元素與源矢量操作數(shù)中的它們的對應(yīng)的源數(shù)據(jù)元素對處于結(jié)果矢量操作數(shù)的相同位位置。除此示例性類型的SMD指令之外,還有各種其他類型的SMD指令(例如,只有一個(gè)或具有兩個(gè)以上的源矢量操作數(shù)的;以水平方式操作的;生成不同大小的結(jié)果矢量操作數(shù)的,具有不同大小的數(shù)據(jù)元素的,和/或具有不同的數(shù)據(jù)元素順序的)。應(yīng)該理解,術(shù)語目的地矢量操作數(shù)(或目的地操作數(shù))被定義為執(zhí)行由指令所指定的操作的直接結(jié)果,包括將該目的地操作數(shù)存儲在某一位置(寄存器或在由該指令所指定的存儲器地址),以便它可以作為源操作數(shù)由另一指令訪問(由另一指令指定該同一個(gè)位置)。
[0034]諸如由具有包括x86、MMX?、流式 SMD 擴(kuò)展(SSE)、SSE2、SSE3、SSE4.1 以及 SSE4.2指令的指令集的Intel? Core?處理器使用的技術(shù)之類的SMD技術(shù),在應(yīng)用程序性能方面實(shí)現(xiàn)了大大的改善。已經(jīng)發(fā)布和/或公布了涉及高級矢量擴(kuò)展(AVX) (AVX1和AVX2)且使用矢量擴(kuò)展(VEX)編碼方案的附加SMD擴(kuò)展集(例如,參見2011年10月的Intel? 64和IA-32架構(gòu)軟件開發(fā)手冊,并且參見2011年6月的丨ntel?高級矢量擴(kuò)展編程參考)。
[0035]掩碼廣播[0036]以下是一般稱為“掩碼廣播”的指令的實(shí)施例以及在包括【背景技術(shù)】中描述的各種不同領(lǐng)域中有益的可用于執(zhí)行這一指令的系統(tǒng)、架構(gòu)指令格式等的實(shí)施例。掩碼廣播指令的執(zhí)行高效地處理具有掩碼數(shù)據(jù)的掩碼寄存器的加載。在一個(gè)實(shí)施例中,當(dāng)掩碼數(shù)據(jù)用于選擇矢量寄存器的源數(shù)據(jù)時(shí),掩碼數(shù)據(jù)還被稱為寫掩碼。換言之,掩碼廣播指令的執(zhí)行導(dǎo)致處理器執(zhí)行將數(shù)據(jù)從任一源或多個(gè)源廣播到掩碼寄存器。在一些實(shí)施例中,源中的至少一個(gè)是寄存器,諸如128位、256位、512位矢量寄存器等。在一些實(shí)施例中,源操作數(shù)中的至少一個(gè)是與開始存儲器位置相關(guān)聯(lián)的數(shù)據(jù)元素的集合。另外,在一些實(shí)施例中,一個(gè)或兩個(gè)源的數(shù)據(jù)元素在任何掩碼廣播之前經(jīng)過數(shù)據(jù)變換,諸如混合、廣播、轉(zhuǎn)換等(在本文中將討論示例)。在另一個(gè)實(shí)施例中,目的地是寄存器,諸如8位掩碼寄存器、16位掩碼寄存器、32位掩碼寄存器、64位掩碼寄存器等。在一個(gè)實(shí)施例中,kbroadcast(k廣播)指令可以是VEX類型的指令。
[0037]該指令的示例性格式是“KBROADCAST {B/ff/D/Q} kl, k2/存儲器{k3} ”,其中操作數(shù)kl是目的地掩碼寄存器,k2/存儲器是第一源,而k3是與第一源進(jìn)行AND (與)操作的任選的其它源。在一個(gè)實(shí)施例中,KBROADCAST {B/ff/D/Q}使用第一源并將第一源的內(nèi)容中的一些或全部廣播到目的地掩碼寄存器。在一個(gè)實(shí)施例中,KBROADCAST {B/ff/D/Q}使用源的最低有效位來廣播至掩碼寄存器。在另一個(gè)實(shí)施例中,第一源的內(nèi)容的一些或全部與第二源的內(nèi)容進(jìn)行AND操作。此外,KBROADCAST {B/ff/D/Q}將數(shù)據(jù)廣播到目的地掩碼寄存器中的連續(xù)位集合。廣播的位的數(shù)量基于指令名的后綴。例如,在一個(gè)實(shí)施例中,對于512位示例寄存器上的結(jié)果掩碼寄存器,“B”表示數(shù)據(jù)的六十四個(gè)位被廣播,“W”表示數(shù)據(jù)的三十二個(gè)位(字)被廣播,“D”表示數(shù)據(jù)的十六個(gè)位(雙字)被廣播,“Q”表示數(shù)據(jù)的八個(gè)位(四字)被廣播。在一些實(shí)施例中,目的地寫掩碼也具有不同大小(8位、32位等)。KBROADCAST是指令的操作碼。典型地,在指令中明確地定義每個(gè)操作數(shù)??稍谥噶畹摹扒熬Y”中定義數(shù)據(jù)元素的大小,諸如通過使用類似稍后描述的“W”的數(shù)據(jù)粒度的指示。在大多數(shù)實(shí)施例中,W將指示每個(gè)數(shù)據(jù)元素是32位或64位。如果數(shù)據(jù)元素是32位大小,且源是512位大小,則每個(gè)源有十六(16)個(gè)數(shù)據(jù)元素。
[0038]在圖1中示出如何使用寫掩碼的示例。在該示例中,有兩個(gè)源,每個(gè)源具有16個(gè)數(shù)據(jù)元素。在大多數(shù)情況下,這些源之一是寄存器(對于該示例,源I被視為512位寄存器,諸如具有16個(gè)32位數(shù)據(jù)元素的ZMM寄存器,然而,可使用其它數(shù)據(jù)元素和寄存器大小,諸如XMM和YMM寄存器和16位或64位數(shù)據(jù)元素)。其它(任選的)源是寄存器或存儲器位置(在該圖中源2是其它源)。如果第二源是存儲器位置,則在大多數(shù)實(shí)施例中,在源的任意廣播之前,將其置于臨時(shí)寄存器中。另外,存儲器位置的數(shù)據(jù)元素在置于臨時(shí)寄存器中之前可經(jīng)歷數(shù)據(jù)變換。所示的掩碼模式是0x5555。
[0039]在該示例中,對于具有值“I”的寫掩碼的每個(gè)位位置,它是第二源(源2)的相應(yīng)數(shù)據(jù)元素應(yīng)被寫入目的地寄存器的相應(yīng)數(shù)據(jù)元素位置的指示。因此,源2的第一、第三、第五等位位置(B0、B2、B4等)被寫入目的地的第一、第三、第五等數(shù)據(jù)元素位置。在寫掩碼具有“O”值的情況下,第一源的數(shù)據(jù)元素被寫入目的地的對應(yīng)數(shù)據(jù)元素位置。當(dāng)然,取決于實(shí)現(xiàn),可反轉(zhuǎn)“I”和“O”的使用。另外,盡管該圖和以上的描述將相應(yīng)的第一位置視為最低有效位置,但在一些實(shí)施例中,第一位置是最高有效位置。
[0040]圖2A示出使用一個(gè)源的掩碼廣播指令的執(zhí)行的示例。在圖2A中,源200的內(nèi)容被廣播到寫掩碼202。在一個(gè)實(shí)施例中,最低有效位從源200廣播到每個(gè)寫掩碼。例如且在一個(gè)實(shí)施例中,源200的最低有效位被廣播到寫掩碼202的最低有效位。作為另一個(gè)示例且在另一個(gè)實(shí)施例中,源200的最低有效位被廣播到整個(gè)寫掩碼202。寫入寫掩碼的位數(shù)量基于指令的后綴(例如,8、16、32、64位等)。例如且在一個(gè)實(shí)施例中,源200的最低有效位AO被廣播到寫掩碼202的前八個(gè)位。
[0041]圖2B示出使用兩個(gè)源的掩碼廣播指令的執(zhí)行的示例。在圖2B中,源252的內(nèi)容與源254的內(nèi)容進(jìn)行AND操作,并且被廣播到寫掩碼256。在一個(gè)實(shí)施例中,一個(gè)源的同一內(nèi)容與其它源的不同內(nèi)容進(jìn)行AND操作。例如且在一個(gè)實(shí)施例中,源252的最低有效位與源254的不同內(nèi)容進(jìn)行AND操作。在該實(shí)施例中,這種AND操作的結(jié)果被存儲到寫掩碼256的相應(yīng)位置。例如且在一個(gè)實(shí)施例中,源252的最低有效位AO與源254的前八個(gè)位(例如,B7、B6、B5、B4、B3、B2、B1和B0)中的每一個(gè)進(jìn)行AND操作。這些AND操作的結(jié)果被寫入寫掩碼256的相應(yīng)位。
[0042]在代碼序列中使用的k廣播指令的示例如下:
[0043]
【權(quán)利要求】
1.一種用于在計(jì)算機(jī)處理器中執(zhí)行掩碼廣播指令的方法,包括: 獲取所述掩碼廣播指令,其中所述掩碼廣播指令包括目的地操作數(shù)、源操作和廣播大小; 解碼所獲取的掩碼廣播指令;以及 執(zhí)行經(jīng)解碼的掩碼廣播指令以根據(jù)所述廣播大小執(zhí)行所述源操作數(shù)的數(shù)據(jù)元素至所述目的地操作數(shù)的目的地寄存器的廣播。
2.如權(quán)利要求1所述的方法,其特征在于,所述目的地操作數(shù)是掩碼寄存器。
3.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)元素是源操作數(shù)中數(shù)據(jù)的最低有效位。
4.如權(quán)利要求1所述的方法,其特征在于,所述廣播大小從掩碼寄存器指令的名稱導(dǎo)出。
5.如權(quán)利要求4所述的方法,其特征在于,所述廣播大小從包括以下各項(xiàng)組中選出:8位、16位、32位和64位。
6.如權(quán)利要求1所述的方法,其特征在于,所述源是512位寄存器。
7.如權(quán)利要求1所述的 方法,其特征在于,并行地完成所述廣播。
8.如權(quán)利要求1所述的方法,其特征在于,執(zhí)行廣播還包括將所述源的數(shù)據(jù)元素與另一個(gè)源的另一個(gè)數(shù)據(jù)元組組合成結(jié)果,并且將所述結(jié)果廣播至目的地寄存器。
9.一種非瞬態(tài)機(jī)器可讀介質(zhì),所述介質(zhì)具有可執(zhí)行指令以導(dǎo)致一個(gè)或多個(gè)處理單元執(zhí)行用于保護(hù)存儲在設(shè)備的存儲系統(tǒng)中的數(shù)據(jù)免受惡意軟件改變的方法,所述方法包括: 響應(yīng)于包括目的地操作數(shù)、第一源操作數(shù)和廣播大小的掩碼廣播指令, 檢索所述第一源操作數(shù)的數(shù)據(jù)元素作為廣播數(shù)據(jù), 根據(jù)所述廣播大小對于目的地操作數(shù)的每個(gè)目的地位置,將此廣播數(shù)據(jù)存儲到所述目的地位置。
10.如權(quán)利要求9所述的非瞬態(tài)機(jī)器可讀介質(zhì),其特征在于,還包括對于每個(gè)目的地位置: 將所述廣播數(shù)據(jù)與第二源操作數(shù)的另一個(gè)數(shù)據(jù)元素組合。
11.如權(quán)利要求10所述的非瞬態(tài)機(jī)器可讀介質(zhì),其特征在于,所述組合為AND操作。
12.如權(quán)利要求10所述的機(jī)器可讀介質(zhì),其特征在于,所述第二操作數(shù)是512位寄存器。
13.如權(quán)利要求10所述的非瞬態(tài)機(jī)器可讀介質(zhì),其特征在于,所述組合并行地完成。
14.如權(quán)利要求9所述的非瞬態(tài)機(jī)器可讀介質(zhì),其特征在于,所述目的地操作數(shù)是16位掩碼寄存器。
15.如權(quán)利要求9所述的非瞬態(tài)機(jī)器可讀介質(zhì),其特征在于,所述數(shù)據(jù)元素是所述源操作數(shù)中數(shù)據(jù)的最低有效位。
16.如權(quán)利要求9所述的非瞬態(tài)機(jī)器可讀介質(zhì),其特征在于,所述廣播大小從掩碼寄存器指令的名稱導(dǎo)出。
17.如權(quán)利要求16所述的非瞬態(tài)機(jī)器可讀介質(zhì),其特征在于,所述廣播大小從包括以下各項(xiàng)的組選出:8位、16位、32位和64位。
18.如權(quán)利要求9所述的非瞬態(tài)機(jī)器可讀介質(zhì),其特征在于,所述第二源操作數(shù)是512位寄存器。
19.一種處理器,包括: 硬件解碼器,用于解碼掩碼廣播指令,其中所述掩碼廣播指令包括寫掩碼操作數(shù)、目的地操作數(shù)、第一源操作數(shù)和第二源操作數(shù); 執(zhí)行邏輯,用于根據(jù)所述廣播大小執(zhí)行所述源操作數(shù)的數(shù)據(jù)元素至所述目的地操作數(shù)的目的地寄存器的廣播。
20.如權(quán)利要求19所述的處理器,其特征在于,還包括: 源寄存器,用于存儲 所述第一數(shù)據(jù)元素;以及 目的地寄存器,用于存儲所廣播的數(shù)據(jù)元素。
【文檔編號】G06F9/305GK104011663SQ201180075791
【公開日】2014年8月27日 申請日期:2011年12月22日 優(yōu)先權(quán)日:2011年12月22日
【發(fā)明者】E·烏爾德-阿邁德-瓦爾, M·B·吉爾卡爾, R·C·凡倫天, S·賽爾, J·考博爾圣阿德里安 申請人:英特爾公司