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

對條件循環(huán)進(jìn)行矢量化的指令和邏輯的制作方法

文檔序號:6526955閱讀:314來源:國知局
對條件循環(huán)進(jìn)行矢量化的指令和邏輯的制作方法
【專利摘要】指令和邏輯提供了對條件循環(huán)的矢量化。矢量擴(kuò)展指令具有:用于指定源矢量的參數(shù);用于指定條件掩碼寄存器的參數(shù);以及用于指定保持n個(gè)連續(xù)矢量元素的目的地矢量的目的地參數(shù),n個(gè)連續(xù)矢量元素中的每個(gè)矢量都具有大小為m個(gè)字節(jié)的相同可變分段大小。響應(yīng)于處理器指令,從源矢量的連續(xù)矢量元素中復(fù)制出數(shù)據(jù),擴(kuò)展入指定的目的地矢量的未掩碼矢量元素中,而不將數(shù)據(jù)復(fù)制入目的地矢量的經(jīng)掩碼矢量元素中,其中n響應(yīng)于所執(zhí)行的處理器指令而發(fā)生變化。源矢量可以是寄存器,而目的地矢量可以是在存儲器內(nèi)。一些實(shí)施例存儲條件判決的計(jì)數(shù)。其他實(shí)施例可存儲其他數(shù)據(jù),例如,目標(biāo)地址、表偏移、或處理指令的指示符,等等。
【專利說明】對條件循環(huán)進(jìn)行矢量化的指令和邏輯
【技術(shù)領(lǐng)域】
[0001]本公開涉及處理邏輯、微處理器以及相關(guān)的指令集體系結(jié)構(gòu)的領(lǐng)域,當(dāng)這些指令集體系結(jié)構(gòu)被處理器或其他處理邏輯所執(zhí)行時(shí)運(yùn)行邏輯、數(shù)學(xué)或其他功能性操作。特別是,本公開涉及提供用于條件循環(huán)的SIMD矢量化功能的指令和邏輯。
【背景技術(shù)】
[0002]目前的諸多處理器通常包括用于提供計(jì)算密集型操作但提供高度數(shù)據(jù)并行性的指令,這些指令可通過使用多種數(shù)據(jù)存儲設(shè)備的高效實(shí)現(xiàn)來使用,這些數(shù)據(jù)存儲設(shè)備諸如:單指令多數(shù)據(jù)(SMD)矢量寄存器。在SMD執(zhí)行中,單指令同時(shí)在多個(gè)數(shù)據(jù)元素上操作。這通常是通過擴(kuò)展諸如寄存器和算術(shù)邏輯單元(ALU)之類的多個(gè)資源的寬度從而允許它們分別保持或操作多個(gè)數(shù)據(jù)元素來實(shí)現(xiàn)的。
[0003]中央處理單元(CPU)可提供這類并行硬件以支持SMD矢量處理。矢量是保持若干連續(xù)數(shù)據(jù)元素的數(shù)據(jù)結(jié)構(gòu)。大小為L的矢量寄存器可包含N個(gè)矢量元素,該矢量元素的大小為M,其中N=L/M。例如,64字節(jié)矢量寄存器可被劃分為:(a)64個(gè)矢量元素,每個(gè)元素保持占用I字節(jié)的數(shù)據(jù)項(xiàng);(b)32個(gè)矢量元素,每個(gè)元素保持占用2字節(jié)(或稱為:“字”)的數(shù)據(jù)項(xiàng);(c) 16個(gè)矢量元素,每個(gè)元素保持占用4字節(jié)(或稱為:“雙字”)的數(shù)據(jù)項(xiàng);或((1)8個(gè)矢量元素,每個(gè)元素保持占用8字節(jié)(或稱為:“四字”)的數(shù)據(jù)項(xiàng)。
[0004]許多應(yīng)用具有大量的數(shù)據(jù)級并行性,并且能夠受益于SMD支持。為了維持SMD效率,一些體系結(jié)構(gòu)不僅僅允許SMD算是操作,也允許SMD存儲器讀取和寫入操作以及SMD混洗和置換操作。然而,一些應(yīng)用花費(fèi)了極其多的時(shí)間用于對一組稀疏位置的操作。此外,有時(shí)候執(zhí)行順序和/或條件操作,這些操作僅僅從具有SIMD操作中獲得了有限的優(yōu)勢。
[0005]例如,普林斯頓共享存儲器計(jì)算機(jī)的應(yīng)用程序庫(Princeton ApplicationRepository for Shared-Memory Computers, PARSEC)是包含有多線程程序的基準(zhǔn)套件。該套件關(guān)注于新興的工作負(fù)載,并被設(shè)計(jì)為代表了芯片多處理器的下代共享存儲器程序。PARSEC程序之一是streamcluster,用于通過尋找預(yù)定量的中間件使得每個(gè)點(diǎn)可被指派給其最近的中央點(diǎn)而解決線上群集問題。該程序花費(fèi)其大部分時(shí)間用于評價(jià)開設(shè)新群集的增益。并行增益計(jì)算被一稱為Pgain的函數(shù)所執(zhí)行,該函數(shù)包括如下循環(huán):
[0006]
【權(quán)利要求】
1.一種用于對條件循環(huán)進(jìn)行矢量化的計(jì)算機(jī)執(zhí)行方法,所述方法包括: 將計(jì)數(shù)矢量的元素設(shè)置為η個(gè)計(jì)數(shù)值; 獲取判決矢量; 根據(jù)判決矢量來生成矢量掩碼; 將矢量掩碼存儲在掩碼寄存器中; 接收處理器指令,所述處理器指令具有:源參數(shù),用于指定計(jì)數(shù)矢量作為源矢量;掩碼參數(shù),用于指定掩碼寄存器;以及目的地參數(shù),用于指定保持η個(gè)連續(xù)矢量元素的目的地矢量,η個(gè)連續(xù)矢量元素中的每個(gè)矢量都具有大小為m個(gè)字節(jié)的相同可變矢量分段;以及 響應(yīng)于接收到所述處理器指令,從源矢量的連續(xù)矢量元素中復(fù)制出數(shù)據(jù),復(fù)制入指定的目的地矢量的未掩碼矢量元素中,而不將數(shù)據(jù)從源矢量復(fù)制入指定的目的地矢量的經(jīng)掩碼矢量元素中,其中η響應(yīng)于所接收的處理器指令而發(fā)生變化。
2.如權(quán)利要求1所述的方法,其特征在于,源參數(shù)指定計(jì)數(shù)矢量作為源矢量寄存器。
3.如權(quán)利要求2所述的方法,其特征在于,所述目的地參數(shù)指定目的地矢量寄存器。
4.如權(quán)利要求3所述的方法,其特征在于,將數(shù)據(jù)復(fù)制入目的地矢量的未掩碼矢量元素,并且目的地矢量的任意經(jīng)掩碼的矢量元素被設(shè)置為零值。
5.如權(quán)利要求2所述的方法,其特征在于,將數(shù)據(jù)復(fù)制入目的地矢量的未掩碼矢量元素,而不修改目的地矢量的任意經(jīng)掩碼的矢量元素。
6.如權(quán)利要求5所述的方法,其特征在于,所述目的地參數(shù)指定位于存儲器中的目的地矢量部分。
7.如權(quán)利要求1所述的方法,其特征在于,所述源參數(shù)指定計(jì)數(shù)矢量作為位于存儲器中的源矢量部分。
8.一種機(jī)器可讀介質(zhì),記錄有包括一個(gè)或多個(gè)可執(zhí)行指令的功能描述資料,其中當(dāng)代表機(jī)器的一個(gè)或多個(gè)硬件線程執(zhí)行時(shí)使得機(jī)器: 將計(jì)數(shù)矢量的元素設(shè)置為η個(gè)計(jì)數(shù)值; 獲取判決矢量; 根據(jù)判決矢量來生成矢量掩碼; 將矢量掩碼存儲在掩碼寄存器中;以及 響應(yīng)于執(zhí)行一個(gè)或多個(gè)可執(zhí)行指令中的單指令多數(shù)據(jù)(SIMD)擴(kuò)展指令,使得所述機(jī)器將來自源矢量中的連續(xù)矢量元素的數(shù)據(jù)復(fù)制到指定的目的地矢量的未掩碼矢量元素中,而不將來自源矢量的數(shù)據(jù)復(fù)制到指定的目的地矢量的經(jīng)掩碼矢量元素中,所述SMD擴(kuò)展指令具有:源參數(shù),將計(jì)數(shù)矢量指定為源矢量;掩碼參數(shù),指定掩碼寄存器;目的地參數(shù),指定保持η個(gè)連續(xù)矢量元素的目的地矢量,η個(gè)連續(xù)矢量元素的每一個(gè)都具有大小為m個(gè)字節(jié)的相同可變分段大小,其中η響應(yīng)于所執(zhí)行的SMD擴(kuò)展指令而發(fā)生變換。
9.如權(quán)利要求8所述的機(jī)器可讀介質(zhì),其特征在于,所述源參數(shù)指定計(jì)數(shù)矢量作為源矢量寄存器。
10.如權(quán)利要求9所述的機(jī)器可讀介質(zhì),其特征在于,所述目的地參數(shù)指定目的地矢量寄存器。
11.如權(quán)利要求10所述的機(jī)器可讀介質(zhì),其特征在于,將數(shù)據(jù)復(fù)制入目的地矢量的未掩碼矢量元素,并且目的地矢量的任意經(jīng)掩碼的矢量元素被設(shè)置為零值。
12.如權(quán)利要求9所述的機(jī)器可讀介質(zhì),其特征在于,將數(shù)據(jù)復(fù)制入目的地矢量的未掩碼矢量元素,而不修改目的地矢量的任意經(jīng)掩碼的矢量元素。
13.如權(quán)利要求12所述的機(jī)器可讀介質(zhì),其特征在于,所述目的地參數(shù)指定位于存儲器中的目的地矢量部分。
14.如權(quán)利要求8所述的機(jī)器可讀介質(zhì),其特征在于,所述源參數(shù)指定計(jì)數(shù)矢量作為位于存儲器中的源矢量部分。
15.如權(quán)利要求8所述的機(jī)器可讀介質(zhì),其特征在于,當(dāng)所執(zhí)行的SIMD擴(kuò)展指令擴(kuò)展32位整數(shù)時(shí),η是從包含4、8、16的組中所選擇的值。
16.如權(quán)利要求8所述的機(jī)器可讀介質(zhì),其特征在于,當(dāng)所執(zhí)行的SIMD擴(kuò)展指令擴(kuò)展64位整數(shù)時(shí),η是從包含2、4、8的組中所選擇的值。
17.一種處理器,包括: 源矢量,包括第一多個(gè)η個(gè)數(shù)據(jù)字段,其中源矢量中的第一多個(gè)η個(gè)數(shù)據(jù)字段中的每一個(gè)都用于存儲具有m字節(jié)的相同可變分段大小的元素; 目的地矢量,包括第二多個(gè)數(shù)據(jù)字段,所述第二多個(gè)數(shù)據(jù)字段對應(yīng)于第一多個(gè)數(shù)據(jù)字段,其中目的地矢量中的第二多個(gè)數(shù)據(jù)字段中的每一個(gè)都對應(yīng)于矢量條件掩碼中的掩碼值; 解碼級,解碼處理器 指令,所述處理器指令指定矢量擴(kuò)展操作和數(shù)據(jù)分段大?。灰约? 一個(gè)或多個(gè)執(zhí)行單元,響應(yīng)于經(jīng)解碼的處理器指令,用于: 從源矢量的連續(xù)矢量元素中復(fù)制出數(shù)據(jù),復(fù)制入目的地矢量的未掩碼矢量元素中,而不將數(shù)據(jù)從源矢量復(fù)制入目的地矢量的經(jīng)掩碼矢量元素中,其中η響應(yīng)于所接收的處理器指令而發(fā)生變化。
18.如權(quán)利要求17所述的處理器,其特征在于,源矢量是矢量寄存器。
19.如權(quán)利要求18所述的處理器,其特征在于,目的地矢量是另一個(gè)矢量寄存器。
20.如權(quán)利要求19所述的處理器,其特征在于,響應(yīng)于經(jīng)解碼的處理器指令,將目的地矢量中的經(jīng)掩碼的矢量元素設(shè)置為零值。
21.如權(quán)利要求18所述的處理器,其特征在于,將數(shù)據(jù)復(fù)制入目的地矢量的未掩碼矢量元素,而不修改目的地矢量的任意經(jīng)掩碼的矢量元素。
22.如權(quán)利要求21所述的處理器,其特征在于,所述目的地矢量是位于存儲器中的矢量部分。
23.如權(quán)利要求17所述的處理器,其特征在于,所述源矢量是位于存儲器中的矢量部分。
24.如權(quán)利要求17所述的處理器,其特征在于,當(dāng)處理器指令指定矢量擴(kuò)展操作和4字節(jié)雙字的數(shù)據(jù)分段大小時(shí),η是從4、8、16的組中所選擇的值。
25.如權(quán)利要求17所述的處理器,其特征在于,當(dāng)處理器指令指定矢量擴(kuò)展操作和8字節(jié)四字的數(shù)據(jù)分段大小時(shí),η是從2、4、8的組中所選擇的值。
26.—種處理系統(tǒng),包括: 存儲器;以及 多個(gè)處理器,包括第一處理器核心和第二處理器核心,每個(gè)處理器包括: 源矢量,具有第一多個(gè)η個(gè)數(shù)據(jù)字段,其中源矢量中的第一多個(gè)η個(gè)數(shù)據(jù)字段中的每一個(gè)都用于存儲具有m字節(jié)的相同可變分段大小的元素; 目的地矢量,包括第二多個(gè)數(shù)據(jù)字段,所述第二多個(gè)數(shù)據(jù)字段對應(yīng)于第一多個(gè)數(shù)據(jù)字段,其中目的地矢量中的第二多個(gè)數(shù)據(jù)字段中的每一個(gè)都對應(yīng)于矢量條件掩碼中的掩碼值; 解碼級,解碼處理器指令,所述處理器指令指定矢量擴(kuò)展操作和數(shù)據(jù)分段大??;以及 一個(gè)或多個(gè)執(zhí)行單元,響應(yīng)于經(jīng)解碼的處理器指令,用于: 從源矢量的連續(xù)矢量元素中復(fù)制出數(shù)據(jù),復(fù)制入目的地矢量的未掩碼矢量元素中,而不將數(shù)據(jù)從源矢量復(fù)制入目的地矢量的經(jīng)掩碼矢量元素中,其中η響應(yīng)于所接收的處理器指令而發(fā)生變化。
27.如權(quán)利要求26所述的處理系統(tǒng),其特征在于,所述源矢量是位于存儲器中的矢量部分。
28.如權(quán)利要求26所述的處理系統(tǒng),其特征在于,當(dāng)處理器指令指定矢量擴(kuò)展操作和4字節(jié)雙字的數(shù)據(jù)分段大小時(shí),η是從4、8、16的組中所選擇的值。
29.如權(quán)利要求26所述的處理系統(tǒng),其特征在于,當(dāng)處理器指令指定矢量擴(kuò)展操作和8字節(jié)四字的數(shù)據(jù)分段大小時(shí),η是從2、4、8的組中所選擇的值。
30.一種機(jī)器可讀介質(zhì),用于記錄包括可執(zhí)行SIMD擴(kuò)展指令的功能描述資料,其特征在于: 所述SIMD擴(kuò)展指令 包括:目標(biāo)自變量和掩碼自變量,用于指定目標(biāo)矢量和掩碼寄存器以用于分別保持η個(gè)連續(xù)矢量元素以及η個(gè)相關(guān)聯(lián)的條件掩碼元素;以及源自變量,用于標(biāo)識源矢量; 其中如果代表機(jī)器的執(zhí)行線程執(zhí)行可執(zhí)行的SIMD擴(kuò)展指令,使得機(jī)器: 從源矢量的連續(xù)矢量元素中復(fù)制出數(shù)據(jù),復(fù)制入目標(biāo)矢量的未掩碼矢量元素中,并將目標(biāo)矢量的經(jīng)掩碼的矢量元素設(shè)置為預(yù)定值,其中η響應(yīng)于所執(zhí)行的SMD擴(kuò)展指令而發(fā)生變化。
31.如權(quán)利要求30所述的機(jī)器可讀介質(zhì),其特征在于,所述預(yù)定值是零。
32.如權(quán)利要求30所述的機(jī)器可讀介質(zhì),其特征在于,所述源自變量標(biāo)識了源矢量寄存器。
33.如權(quán)利要求30所述的機(jī)器可讀介質(zhì),其特征在于,所述源自變量標(biāo)識存儲器中的源矢量位置。
34.如權(quán)利要求30所述的機(jī)器可讀介質(zhì),其特征在于,當(dāng)所執(zhí)行的SIMD擴(kuò)展指令擴(kuò)展32位整數(shù)時(shí),η是從包含4、8、16的組中所選擇的值。
35.如權(quán)利要求30所述的機(jī)器可讀介質(zhì),其特征在于,當(dāng)所執(zhí)行的SIMD擴(kuò)展指令擴(kuò)展64位整數(shù)時(shí),η是從包含2、4、8的組中所選擇的值。
36.一種機(jī)器可讀介質(zhì),用于記錄包括可執(zhí)行SMD擴(kuò)展指令的功能描述資料,其特征在于: 所述SIMD擴(kuò)展指令包括:目標(biāo)自變量和掩碼自變量,用于指定目標(biāo)矢量和掩碼寄存器以用于分別保持η個(gè)連續(xù)矢量元素以及η個(gè)相關(guān)聯(lián)的條件掩碼元素;以及源自變量,用于標(biāo)識源矢量; 其中如果可執(zhí)行的SIMD擴(kuò)展指令被機(jī)器執(zhí)行時(shí),使得機(jī)器:從源矢量的連續(xù)矢量元素中復(fù)制出數(shù)據(jù),復(fù)制入目標(biāo)矢量的未掩碼矢量元素中,其中η響應(yīng)于所執(zhí)行的SMD擴(kuò)展指令而發(fā)生變化。
37.如權(quán)利要求36所述的機(jī)器可讀介質(zhì),其特征在于,所述源自變量標(biāo)識了源矢量寄存器。
38.如權(quán)利要求37所述的機(jī)器可讀介質(zhì),其特征在于,所述目標(biāo)自變量標(biāo)識了目標(biāo)矢量寄存器。
39.如權(quán)利要求38所述的機(jī)器可讀介質(zhì),其特征在于,所述可執(zhí)行的SIMD擴(kuò)展指令如果由機(jī)器執(zhí)行時(shí),進(jìn)一步使得機(jī)器將目標(biāo)矢量的經(jīng)掩碼矢量元素設(shè)置為零值。
40.如權(quán)利要求37所述的機(jī)器可讀介質(zhì),其特征在于,將數(shù)據(jù)復(fù)制入目標(biāo)矢量的未掩碼矢量元素,而不修改目標(biāo)矢量的任意經(jīng)掩碼的矢量元素。
41.如權(quán)利要求40所述的機(jī)器可讀介質(zhì),其特征在于,所述目標(biāo)自變量標(biāo)識了存儲器中的目標(biāo)矢量位置。
42.如權(quán)利要求36所述的機(jī)器可讀介質(zhì),其特征在于,所述源自變量標(biāo)識存儲器中的源矢量位置。
43.一種計(jì)算機(jī)執(zhí)行的方法,包括: 接收處理器指令,所述處理器指令具有:源參數(shù),用于指定源矢量;掩碼參數(shù),用于指定條件掩碼寄存器;以及目的地參數(shù),用于指定保持η個(gè)連續(xù)矢量元素的目的地矢量,η個(gè)連續(xù)矢量元素中的每個(gè)矢量都具有大小為m個(gè)字節(jié)的相同可變分段;以及 響應(yīng)于接收到所述處理器指令,從源矢量的連續(xù)矢量元素中復(fù)制出數(shù)據(jù),復(fù)制入指定的目的地矢量的未掩碼矢量元素中,而不將數(shù)據(jù)復(fù)制入指定的目的地矢量的經(jīng)掩碼矢量元素中,其中η響應(yīng)于所接收到的處理器指令而發(fā)生變化。
44.如權(quán)利要求43所述的方法,其特征在于,所述源參數(shù)指定了源矢量寄存器。
45.如權(quán)利要求44所述的方法,其特征在于,所述目的地參數(shù)指定目的地矢量寄存器。
46.如權(quán)利要求45所述的方法,其特征在于,將數(shù)據(jù)復(fù)制入目的地矢量的未掩碼矢量元素,并且目的地矢量的任意經(jīng)掩碼的矢量元素被設(shè)置為零值。
47.如權(quán)利要求44所述的方法,其特征在于,將數(shù)據(jù)復(fù)制入目的地矢量的未掩碼矢量元素,而不修改目的地矢量的任意經(jīng)掩碼的矢量元素。
48.如權(quán)利要求47所述 的方法,其特征在于,所述目的地參數(shù)指定位于存儲器中的目的地矢量部分。
49.如權(quán)利要求43所述的方法,其特征在于,所述源參數(shù)指定位于存儲器中的源矢量部分。
【文檔編號】G06F9/38GK103970509SQ201310751526
【公開日】2014年8月6日 申請日期:2013年12月31日 優(yōu)先權(quán)日:2012年12月31日
【發(fā)明者】T·尤里爾, E·烏爾德-阿邁德-瓦爾, B·L·托爾 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
德惠市| 利辛县| 夹江县| 丹东市| 惠水县| 蕉岭县| 德令哈市| 鹤庆县| 兰坪| 金华市| 华蓥市| 防城港市| 福鼎市| 天长市| 紫金县| 呼玛县| 建阳市| 乳源| 浦北县| 高淳县| 梅州市| 廉江市| 大安市| 连山| 恩平市| 雷山县| 紫云| 红桥区| 湄潭县| 洛隆县| 平顶山市| 新泰市| 疏附县| 鹤山市| 临泽县| 瑞丽市| 宣汉县| 兴国县| 永清县| 密山市| 鹰潭市|