[發(fā)明專利]由讀和寫掩碼控制的向量移動(dòng)指令有效
| 申請(qǐng)?zhí)枺?/td> | 201380045550.9 | 申請(qǐng)日: | 2013-06-12 |
| 公開(公告)號(hào): | CN104603746B | 公開(公告)日: | 2018-03-02 |
| 發(fā)明(設(shè)計(jì))人: | M·普羅特尼科夫;A·納賴金;C·休斯 | 申請(qǐng)(專利權(quán))人: | 英特爾公司 |
| 主分類號(hào): | G06F9/30 | 分類號(hào): | G06F9/30;G06F9/06 |
| 代理公司: | 上海專利商標(biāo)事務(wù)所有限公司31100 | 代理人: | 姬利永 |
| 地址: | 美國(guó)加利*** | 國(guó)省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 掩碼 控制 向量 移動(dòng) 指令 | ||
技術(shù)領(lǐng)域
本公開涉及處理邏輯、微處理器以及相關(guān)聯(lián)的指令集架構(gòu)的領(lǐng)域,該指令集架構(gòu)在被處理器或其他處理邏輯所執(zhí)行時(shí)運(yùn)行邏輯、數(shù)學(xué)或其他功能性操作。
背景技術(shù)
指令集或指令集架構(gòu)(ISA)是計(jì)算機(jī)架構(gòu)中與編程有關(guān)的部分,并且可包括原生數(shù)據(jù)類型、指令、寄存器架構(gòu)、尋址模式、存儲(chǔ)器架構(gòu)、中斷和異常處理、以及外部輸入和輸出(I/O)。術(shù)語指令在本申請(qǐng)中一般表示宏指令——宏指令是被提供給處理器(或指令轉(zhuǎn)換器,該指令轉(zhuǎn)換器(例如利用靜態(tài)二進(jìn)制轉(zhuǎn)換、包括動(dòng)態(tài)編譯的動(dòng)態(tài)二進(jìn)制轉(zhuǎn)換)轉(zhuǎn)換、變形、仿真或以其他方式將指令轉(zhuǎn)換成將由處理器處理的一個(gè)或多個(gè)其他指令)以供執(zhí)行的指令——作為對(duì)比,微指令或微操作(微ops)是處理器的解碼器解碼宏指令的結(jié)果。
ISA與微架構(gòu)不同,微架構(gòu)是實(shí)現(xiàn)該指令集的處理器的內(nèi)部設(shè)計(jì)。具有不同微架構(gòu)的處理器可共享共同的指令集。例如,酷睿(CoreTM)處理器、以及來自加利福尼亞州桑尼威爾(Sunnyvale)的超微半導(dǎo)體有限公司(Advanced Micro Devices,Inc.)的諸多處理器執(zhí)行幾乎相同版本的x86指令集(在更新的版本中加入了一些擴(kuò)展),但具有不同的內(nèi)部設(shè)計(jì)。例如,可利用公知技術(shù)(包括專用物理寄存器、利用寄存器重命名機(jī)制的一個(gè)或多個(gè)動(dòng)態(tài)分配的物理寄存器)在不同微架構(gòu)中以不同方式實(shí)現(xiàn)該ISA的同一寄存器架構(gòu)。
許多現(xiàn)代ISA支持單指令多數(shù)據(jù)(SIMD)操作。取代僅對(duì)一個(gè)或兩個(gè)數(shù)據(jù)元素進(jìn)行操作的標(biāo)量指令,向量指令(也稱為緊縮數(shù)據(jù)指令或SIMD指令)可同時(shí)或并行地對(duì)多個(gè)數(shù)據(jù)元素或多對(duì)數(shù)據(jù)元素進(jìn)行操作。處理器可具有并行的執(zhí)行硬件,以響應(yīng)于該向量指令同時(shí)或并行地執(zhí)行多個(gè)操作。SIMD操作在一個(gè)操作中對(duì)緊縮在一個(gè)向量寄存器或存儲(chǔ)器位置之內(nèi)的多個(gè)數(shù)據(jù)元素進(jìn)行操作。這些數(shù)據(jù)元素被稱為緊縮數(shù)據(jù)或向量數(shù)據(jù)。向量元素中的每一個(gè)可表示獨(dú)立的單條數(shù)據(jù)(例如像素的顏色,等等),可單獨(dú)或與其它數(shù)據(jù)無關(guān)地操作該單條數(shù)據(jù)。
在一些情況下,SIMD操作可以以遞歸方式對(duì)獨(dú)立向量數(shù)據(jù)元素進(jìn)行操作,其中對(duì)于不同數(shù)據(jù)元素,迭代的數(shù)量不同。因此,一些數(shù)據(jù)元素的計(jì)算可能完成,而一些其它數(shù)據(jù)元素仍需要更多迭代。遞歸計(jì)算的一個(gè)示例是WHILE循環(huán)操作。在本示例中,在條件(X[i])為真(滿足)時(shí),對(duì)N元素的數(shù)組X[i](i=0,...,N-l)進(jìn)行遞歸計(jì)算。當(dāng)條件(X[i])變?yōu)榧贂r(shí),X[i]的計(jì)算停止。該條件的示例可以是X[i]>0。
for(i=0;i<N;i++){
while(條件(X[i])){
X[i]=計(jì)算(X[i]);}}
如果對(duì)于X[i]的不同數(shù)據(jù)元素,WHILE循環(huán)迭代的數(shù)量不同,則以上計(jì)算無法被輕易向量化。一種可能的方法是用處理器在不滿足條件的那些元素上執(zhí)行計(jì)算,然后丟棄從這些元素導(dǎo)出的結(jié)果。然而,該方法具有低效率,因?yàn)樘幚砥鞑粌H在這些元素上執(zhí)行不必要的計(jì)算,而且還無法利用由這些元素占據(jù)的向量寄存器槽口。
附圖說明
在附圖中的諸個(gè)圖中通過示例而非限制地示出各個(gè)實(shí)施例:
圖1是根據(jù)一個(gè)實(shí)施例的包括向量寄存器和掩碼寄存器的指令處理裝置的框圖。
圖2是根據(jù)一個(gè)實(shí)施例的寄存器架構(gòu)的框圖。
圖3示出根據(jù)一個(gè)實(shí)施例的向量操作序列的示例。
圖4A示出根據(jù)一個(gè)實(shí)施例的使處理器在向量寄存器和掩碼寄存器上執(zhí)行操作的指令的偽代碼示例。
圖4B示出根據(jù)一個(gè)實(shí)施例的使用圖4A的指令的代碼段示例。
圖5A是根據(jù)一個(gè)實(shí)施例的示出響應(yīng)于使用掩碼更新指令和向量移動(dòng)指令的代碼段而執(zhí)行的操作的流程圖。
圖5B是示出根據(jù)一個(gè)實(shí)施例的響應(yīng)于掩碼更新指令而執(zhí)行的操作的流程圖。
圖5C是示出根據(jù)一個(gè)實(shí)施例的響應(yīng)于向量移動(dòng)指令而執(zhí)行的操作的流程圖。
圖6是示出根據(jù)一個(gè)實(shí)施例的使用軟件指令轉(zhuǎn)換器將源指令集中的二進(jìn)制指令轉(zhuǎn)換成目標(biāo)指令集中的二進(jìn)制指令的框圖。
圖7A是根據(jù)一個(gè)實(shí)施例的有序和無序流水線的框圖。
圖7B是根據(jù)一個(gè)實(shí)施例的有序和無序核的框圖。
圖8A-B是根據(jù)一個(gè)實(shí)施例的更具體的示例性有序核架構(gòu)的框圖。
圖9是根據(jù)一個(gè)實(shí)施例的處理器的框圖。
圖10是根據(jù)一個(gè)實(shí)施例的系統(tǒng)的框圖。
圖11是根據(jù)一個(gè)實(shí)施例的第二系統(tǒng)的框圖。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于英特爾公司,未經(jīng)英特爾公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201380045550.9/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種集群系統(tǒng)中長(zhǎng)碼掩碼的生成方法
- 正交掩碼生成裝置和方法及正交掩碼映射裝置和方法
- 打包數(shù)據(jù)操作掩碼比較處理器、方法、系統(tǒng)
- 用于獨(dú)立數(shù)據(jù)上遞歸計(jì)算的向量化的讀和寫掩碼更新指令
- 用于合并操作掩碼的未經(jīng)掩碼元素的裝置、方法、系統(tǒng)和制品
- 一種掩碼處理方法及客戶端
- DES軟件防DPA攻擊的方法及裝置
- 一種對(duì)數(shù)據(jù)庫(kù)信息進(jìn)行動(dòng)態(tài)掩碼的方法及系統(tǒng)
- 用于獨(dú)立數(shù)據(jù)上遞歸計(jì)算的向量化的讀和寫掩碼更新指令
- 聯(lián)邦學(xué)習(xí)隱私數(shù)據(jù)處理方法、設(shè)備、系統(tǒng)及存儲(chǔ)介質(zhì)
- 移動(dòng)向量解碼方法和移動(dòng)向量解碼裝置
- 一種用于支持向量機(jī)的在線向量選取方法
- 用于在幀序列中執(zhí)行運(yùn)動(dòng)估計(jì)的數(shù)據(jù)處理系統(tǒng)和方法
- 神經(jīng)網(wǎng)絡(luò)的處理方法及裝置、存儲(chǔ)介質(zhì)、電子設(shè)備
- 字符序列處理方法及設(shè)備
- 向量獲取方法、裝置、電子設(shè)備以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 向量獲取方法、裝置、電子設(shè)備以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 近鄰向量的召回方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 一種向量運(yùn)算裝置及運(yùn)算方法
- 生成類別向量的方法和裝置
- 移動(dòng)臺(tái),基站,移動(dòng)通信系統(tǒng),移動(dòng)通信與移動(dòng)通信程序
- 移動(dòng)通信系統(tǒng)、移動(dòng)終端以及移動(dòng)通信方法
- 移動(dòng)支付裝置、移動(dòng)終端POS以及移動(dòng)終端
- 移動(dòng)控制裝置、移動(dòng)體、移動(dòng)體系統(tǒng)、移動(dòng)控制方法及程序
- 移動(dòng)終端后蓋、移動(dòng)終端殼體及移動(dòng)終端
- 移動(dòng)平臺(tái)的輔助移動(dòng)方法、移動(dòng)裝置及移動(dòng)平臺(tái)
- 自移動(dòng)設(shè)備移動(dòng)方法及自移動(dòng)設(shè)備
- 移動(dòng)輪(支撐移動(dòng))
- 移動(dòng)房屋(移動(dòng)酒店)
- 移動(dòng)控制方法、移動(dòng)裝置及移動(dòng)平臺(tái)





