[發(fā)明專利]用于多精度算術(shù)的SIMD整數(shù)乘法累加指令有效
| 申請?zhí)枺?/td> | 201710330038.9 | 申請日: | 2011-12-19 |
| 公開(公告)號: | CN107368286B | 公開(公告)日: | 2020-11-06 |
| 發(fā)明(設(shè)計)人: | V·戈帕爾;G·M·沃爾里齊;E·奧茲圖科;J·D·吉爾福德;K·S·雅普;S·M·格爾雷;W·K·費格哈利;M·G·迪克森 | 申請(專利權(quán))人: | 英特爾公司 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30;G06F9/38 |
| 代理公司: | 上海專利商標(biāo)事務(wù)所有限公司 31100 | 代理人: | 何焜 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 精度 算術(shù) simd 整數(shù) 乘法 累加 指令 | ||
1.一種機(jī)器可讀介質(zhì),所述機(jī)器可讀介質(zhì)包括指令,所述指令在被執(zhí)行時使機(jī)器用于:
接收用于無符號整數(shù)操作的乘法和累加MAC指令,所述乘法和累加MAC指令指示第一向量寄存器作為第一操作數(shù)、第二向量寄存器作為第二操作數(shù)和第三向量寄存器作為目的地,所述第一向量寄存器存儲第一因數(shù)且所述第二向量寄存器存儲所述乘法和累加MAC指令的部分和;執(zhí)行乘法和累加MAC指令以將第一因數(shù)與隱含的第二因數(shù)相乘以生成乘積,并且將部分和與乘積相加以生成結(jié)果,其中所述第一因數(shù)、所述隱含的第二因數(shù)以及部分和具有相同的數(shù)據(jù)寬度,且所述乘積具有兩倍的數(shù)據(jù)寬度;
將所述結(jié)果的最高有效半部分存儲在第三向量寄存器中;以及
將結(jié)果的最低有效半部分存儲在第二向量寄存器中。
2.如權(quán)利要求1所述的機(jī)器可讀介質(zhì),其特征在于,所述第一向量寄存器存儲多個乘法的多個第一因數(shù),所述第二向量寄存器存儲多個乘法的多個部分和,且其中執(zhí)行所述乘法和累加MAC指令還包括:
執(zhí)行所述乘法和累加MAC指令以并行地執(zhí)行多個乘法。
3.如權(quán)利要求1所述的機(jī)器可讀介質(zhì),其特征在于,所述第一因數(shù)、所述隱含的第二因數(shù)、所述部分和、所述乘積的最高有效半部分和所述乘積的最低有效半部分中的每一個具有相同的數(shù)據(jù)寬度dw,且其中所述第一、第二和第三向量寄存器屬于一組向量寄存器,所述組中的每個向量寄存器具有向量寬度VW且包括通道數(shù)量VW/dw,且每個通道由一個獨立的乘法來使用。
4.如權(quán)利要求1所述的機(jī)器可讀介質(zhì),其特征在于,所述指令在被執(zhí)行時使所述機(jī)器進(jìn)一步用于:
將隱含的第二因數(shù)加載到向量寄存器;以及
執(zhí)行乘法和累加MAC指令序列以將隱含的第二因數(shù)與第一因數(shù)序列相乘。
5.如權(quán)利要求4所述的機(jī)器可讀介質(zhì),其特征在于,所述乘法和累加MAC指令是用于將兩個無符號整數(shù)相乘的乘法和累加MAC指令序列之一,且其中所述第一因數(shù)和隱含的第二因數(shù)分別是兩個無符號的整數(shù)的分?jǐn)?shù)部分,且其中所述乘法和累加MAC指令的輸入獨立于序列中先前乘法和累加的MAC指令的輸出。
6.如權(quán)利要求1所述的機(jī)器可讀介質(zhì),其特征在于,在執(zhí)行乘法和累加MAC指令之后,所述指令在被執(zhí)行時使所述機(jī)器進(jìn)一步用于:
執(zhí)行加法指令,以將所述結(jié)果的最低有效半部分與先前的乘法和累加MAC指令生成的先前結(jié)果的最高有效半部分相加。
7.如權(quán)利要求6所述的機(jī)器可讀介質(zhì),其特征在于,所述加法指令從掩碼寄存器接收進(jìn)位輸入并將進(jìn)位輸出存儲到掩碼寄存器中。
8.一種計算機(jī)實現(xiàn)的系統(tǒng),包括:
用于接收用于無符號整數(shù)操作的乘法和累加MAC指令的裝置,所述乘法和累加MAC指令指示第一向量寄存器作為第一操作數(shù)、第二向量寄存器作為第二操作數(shù)和第三向量寄存器作為目的地,所述第一向量寄存器存儲第一因數(shù)且所述第二向量寄存器存儲所述乘法和累加MAC指令的部分和;用于執(zhí)行乘法和累加MAC指令以將第一因數(shù)與隱含的第二因數(shù)相乘以生成乘積,并且將部分和與乘積相加以生成結(jié)果的裝置,其中所述第一因數(shù)、所述隱含的第二因數(shù)以及部分和具有相同的數(shù)據(jù)寬度,且所述乘積具有兩倍的數(shù)據(jù)寬度;
用于將所述結(jié)果的最高有效半部分存儲在第三向量寄存器中的裝置;以及
用于將結(jié)果的最低有效半部分存儲在第二向量寄存器中的裝置。
9.如權(quán)利要求8所述的計算機(jī)實現(xiàn)的系統(tǒng),其特征在于,所述第一向量寄存器存儲多個乘法的多個第一因數(shù),所述第二向量寄存器存儲多個乘法的多個部分和,且其中用于執(zhí)行所述乘法和累加MAC指令的裝置還包括:
用于執(zhí)行所述乘法和累加MAC指令以并行地執(zhí)行多個乘法的裝置。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于英特爾公司,未經(jīng)英特爾公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710330038.9/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:多線程架構(gòu)
- 下一篇:用于提供軟件更新的系統(tǒng)和方法
- 具有級聯(lián)SIMD結(jié)構(gòu)的數(shù)字信號處理器
- 信息處理裝置以及機(jī)器語言程序變換裝置
- 處理器中的有效并行浮點異常處理
- 在單指令多數(shù)據(jù)多核處理器架構(gòu)上轉(zhuǎn)置矩陣的方法和系統(tǒng)
- 具有單指令多數(shù)據(jù)處理電路的數(shù)據(jù)處理裝置
- 用于單指令多數(shù)據(jù)處理器的高效硬件指令
- 用于改進(jìn)SIMD KNN實現(xiàn)的設(shè)備、方法、系統(tǒng)和機(jī)器可讀介質(zhì)
- 用于單指令多數(shù)據(jù)處理器的高效硬件指令
- 單指令多數(shù)據(jù)處理器與相關(guān)方法
- 一種應(yīng)用于處理器的寄存器控制SIMD指令擴(kuò)展方法





