1.一種處理器,包括:
多個(gè)128位單指令多數(shù)據(jù)(SIMD)寄存器;
用于解碼指令的解碼單元,所述指令包括安全散列算法(SHA)256調(diào)度指令,所述SHA256指令具有:
第一字段,用于指定所述128位SIMD寄存器中的第一128位SIMD源寄存器,所述第一128位SIMD源寄存器用于存儲(chǔ)第一操作數(shù),所述第一操作數(shù)用于在位[31:0]中包括第一32位數(shù)據(jù)元素,在位[63:32]中包括第二32位數(shù)據(jù)元素,在位[95:64]中包括第三32位數(shù)據(jù)元素,在位[127:96]中包括第四32位數(shù)據(jù)元素;
第二字段,用于指定所述128位SIMD寄存器中的第二128位SIMD源寄存器,所述第二128位SIMD源寄存器用于存儲(chǔ)第二操作數(shù),所述第二操作數(shù)用于在位[31:0]中包括第五32位數(shù)據(jù)元素,在位[63:32]中包括第六32位數(shù)據(jù)元素,在位[95:64]中包括第七32位數(shù)據(jù)元素,在位[127:96]中包括第八32位數(shù)據(jù)元素;以及
第三字段,用于指定所述128位SIMD寄存器中的第三128位SIMD源寄存器,所述第三128位SIMD源寄存器用于存儲(chǔ)第三操作數(shù),所述第三操作數(shù)用于在位[31:0]中包括第九32位數(shù)據(jù)元素,在位[63:32]中包括第十32位數(shù)據(jù)元素,在位[95:64]中包括第十一32位數(shù)據(jù)元素,在位[127:96]中包括第十二32位數(shù)據(jù)元素;
以及
執(zhí)行單元,其耦合到所述解碼單元,并耦合到所述128位SIMD寄存器,所述執(zhí)行單元用于執(zhí)行所述SHA256調(diào)度指令,并存儲(chǔ)結(jié)果,所述結(jié)果將會(huì)包括:
在位[31:0]中的第一32位結(jié)果數(shù)據(jù)元素,其等于以下項(xiàng)的總和:(a)一個(gè)值,其等于第十一32位數(shù)據(jù)元素循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的第十一32位數(shù)據(jù)元素相異或,并和向右移位10個(gè)位的第十一數(shù)據(jù)元素相異或;(b)第一32位數(shù)據(jù)元素;和(c)第六32位數(shù)據(jù)元素;
在位[63:32]中的第二32位結(jié)果數(shù)據(jù)元素,其等于以下項(xiàng)的總和:(a)一個(gè)值,其等于第十二32位數(shù)據(jù)元素循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的第十二32位數(shù)據(jù)元素相異或,并和向右移位10個(gè)位的第十二數(shù)據(jù)元素相異或;(b)第二32位數(shù)據(jù)元素;和(c)第七32位數(shù)據(jù)元素;
在位[95:64]中的第三32位結(jié)果數(shù)據(jù)元素,其中第一值等于所述第一32位結(jié)果素具元素,所述第三32位結(jié)果數(shù)據(jù)元素等于以下項(xiàng)的總和:(a)一個(gè)值,其等于所述第一值循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的所述第一值相異或,并和向右移位10個(gè)位的所述第一值相異或;(b)第三32位數(shù)據(jù)元素;和(c)第八32位數(shù)據(jù)元素;
在位[127:96]中的第四32位結(jié)果數(shù)據(jù)元素,其中第二值等于所述第二32位結(jié)果素具元素,所述第四32位結(jié)果數(shù)據(jù)元素等于以下項(xiàng)的總和:(a)一個(gè)值,其等于所述第二值循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的所述第二值相異或,并和向右移位10個(gè)位的所述第二值相異或;(b)第四32位數(shù)據(jù)元素;和(c)第九32位數(shù)據(jù)元素。
2.如權(quán)利要求1所述的處理器,其特征在于,所述解碼單元用于解碼第二SHA256調(diào)度指令,該第二SHA256調(diào)度指令用于執(zhí)行SHA256調(diào)度的另一部分。
3.如權(quán)利要求1所述的處理器,其特征在于,所述第一128位SIMD源寄存器還用作目的地寄存器以存儲(chǔ)所述結(jié)果。
4.如權(quán)利要求1所述的處理器,其特征在于,所述處理器是精簡(jiǎn)指令集計(jì)算(RISC)處理器。
5.如權(quán)利要求1所述的處理器,還包括:
多個(gè)64位通用寄存器;
數(shù)據(jù)高速緩存;
指令高速緩存;
二級(jí)(L2)高速緩存,其耦合到所述數(shù)據(jù)高速緩存并耦合到所述指令高速緩存;
分支預(yù)測(cè)單元;
指令轉(zhuǎn)換后備緩沖器(TLB),其耦合到所述指令高速緩存;以及
指令獲取單元,其耦合到所述解碼單元。
6.如權(quán)利要求1所述的處理器,還包括重排序緩沖器。
7.如權(quán)利要求1所述的處理器,還包括寄存器重命名單元。
8.一種制品,包括非瞬態(tài)機(jī)器可讀存儲(chǔ)介質(zhì),所述非瞬態(tài)機(jī)器可讀存儲(chǔ)介質(zhì)存儲(chǔ)多個(gè)指令,所述多個(gè)指令包括安全散列算法(SHA)256調(diào)度指令,該指令被機(jī)器執(zhí)行時(shí)用于使所述機(jī)器執(zhí)行操作,包括:
解碼所述SHA256調(diào)度指令,所述SHA256調(diào)度指令具有:
第一字段,用于指定所述128位SIMD寄存器中的第一128位SIMD源寄存器,所述第一128位SIMD源寄存器用于存儲(chǔ)第一操作數(shù),所述第一操作數(shù)用于在位[31:0]中包括第一32位數(shù)據(jù)元素,在位[63:32]中包括第二32位數(shù)據(jù)元素,在位[95:64]中包括第三32位數(shù)據(jù)元素,在位[127:96]中包括第四32位數(shù)據(jù)元素;
第二字段,用于指定所述128位SIMD寄存器中的第二128位SIMD源寄存器,所述第二128位SIMD源寄存器用于存儲(chǔ)第二操作數(shù),所述第二操作數(shù)用于在位[31:0]中包括第五32位數(shù)據(jù)元素,在位[63:32]中包括第六32位數(shù)據(jù)元素,在位[95:64]中包括第七32位數(shù)據(jù)元素,在位[127:96]中包括第八32位數(shù)據(jù)元素;以及
第三字段,用于指定所述128位SIMD寄存器中的第三128位SIMD源寄存器,所述第三128位SIMD源寄存器用于存儲(chǔ)第三操作數(shù),所述第三操作數(shù)用于在位[31:0]中包括第九32位數(shù)據(jù)元素,在位[63:32]中包括第十32位數(shù)據(jù)元素,在位[95:64]中包括第十一32位數(shù)據(jù)元素,在位[127:96]中包括第十二32位數(shù)據(jù)元素;
以及
執(zhí)行所述SHA256調(diào)度指令,并存儲(chǔ)結(jié)果,所述結(jié)果將會(huì)包括:
在位[31:0]中的第一32位結(jié)果數(shù)據(jù)元素,其等于以下項(xiàng)的總和:(a)一個(gè)值,其等于第十一32位數(shù)據(jù)元素循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的第十一32位數(shù)據(jù)元素相異或,并和向右移位10個(gè)位的第十一數(shù)據(jù)元素相異或;(b)第一32位數(shù)據(jù)元素;和(c)第六32位數(shù)據(jù)元素;
在位[63:32]中的第二32位結(jié)果數(shù)據(jù)元素,其等于以下項(xiàng)的總和:(a)一個(gè)值,其等于第十二32位數(shù)據(jù)元素循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的第十二32位數(shù)據(jù)元素相異或,并和向右移位10個(gè)位的第十二數(shù)據(jù)元素相異或;(b)第二32位數(shù)據(jù)元素;和(c)第七32位數(shù)據(jù)元素;
在位[95:64]中的第三32位結(jié)果數(shù)據(jù)元素,其中第一值等于所述第一32位結(jié)果素具元素,所述第三32位結(jié)果數(shù)據(jù)元素等于以下項(xiàng)的總和:(a)一個(gè)值,其等于所述第一值循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的所述第一值相異或,并和向右移位10個(gè)位的所述第一值相異或;(b)第三32位數(shù)據(jù)元素;和(c)第八32位數(shù)據(jù)元素;
在位[127:96]中的第四32位結(jié)果數(shù)據(jù)元素,其中第二值等于所述第二32位結(jié)果素具元素,所述第四32位結(jié)果數(shù)據(jù)元素等于以下項(xiàng)的總和:(a)一個(gè)值,其等于所述第二值循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的所述第二值相異或,并和向右移位10個(gè)位的所述第二值相異或;(b)第四32位數(shù)據(jù)元素;和(c)第九32位數(shù)據(jù)元素。
9.一種片上系統(tǒng)(SoC),包括:
集成存儲(chǔ)器控制器單元;以及
處理器核,所述處理器核包括:
多個(gè)128位單指令多數(shù)據(jù)(SIMD)寄存器;
用于解碼指令的解碼單元,所述指令包括安全散列算法(SHA)256調(diào)度指令,所述SHA256指令具有:
第一字段,用于指定所述128位SIMD寄存器中的第一128位SIMD源寄存器,所述第一128位SIMD源寄存器用于存儲(chǔ)第一操作數(shù),所述第一操作數(shù)用于在位[31:0]中包括第一32位數(shù)據(jù)元素,在位[63:32]中包括第二32位數(shù)據(jù)元素,在位[95:64]中包括第三32位數(shù)據(jù)元素,在位[127:96]中包括第四32位數(shù)據(jù)元素;
第二字段,用于指定所述128位SIMD寄存器中的第二128位SIMD源寄存器,所述第二128位SIMD源寄存器用于存儲(chǔ)第二操作數(shù),所述第二操作數(shù)用于在位[31:0]中包括第五32位數(shù)據(jù)元素,在位[63:32]中包括第六32位數(shù)據(jù)元素,在位[95:64]中包括第七32位數(shù)據(jù)元素,在位[127:96]中包括第八32位數(shù)據(jù)元素;以及
第三字段,用于指定所述128位SIMD寄存器中的第三128位SIMD源寄存器,所述第三128位SIMD源寄存器用于存儲(chǔ)第三操作數(shù),所述第三操作數(shù)用于在位[31:0]中包括第九32位數(shù)據(jù)元素,在位[63:32]中包括第十32位數(shù)據(jù)元素,在位[95:64]中包括第十一32位數(shù)據(jù)元素,在位[127:96]中包括第十二32位數(shù)據(jù)元素;
以及
執(zhí)行單元,其耦合到所述解碼單元,并耦合到所述128位SIMD寄存器,所述執(zhí)行單元用于執(zhí)行所述SHA256調(diào)度指令,并存儲(chǔ)結(jié)果,所述結(jié)果將會(huì)包括:
在位[31:0]中的第一32位結(jié)果數(shù)據(jù)元素,其等于以下項(xiàng)的總和:(a)一個(gè)值,其等于第十一32位數(shù)據(jù)元素循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的第十一32位數(shù)據(jù)元素相異或,并和向右移位10個(gè)位的第十一數(shù)據(jù)元素相異或;(b)第一32位數(shù)據(jù)元素;和(c)第六32位數(shù)據(jù)元素;
在位[63:32]中的第二32位結(jié)果數(shù)據(jù)元素,其等于以下項(xiàng)的總和:(a)一個(gè)值,其等于第十二32位數(shù)據(jù)元素循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的第十二32位數(shù)據(jù)元素相異或,并和向右移位10個(gè)位的第十二數(shù)據(jù)元素相異或;(b)第二32位數(shù)據(jù)元素;和(c)第七32位數(shù)據(jù)元素;
在位[95:64]中的第三32位結(jié)果數(shù)據(jù)元素,其中第一值等于所述第一32位結(jié)果素具元素,所述第三32位結(jié)果數(shù)據(jù)元素等于以下項(xiàng)的總和:(a)一個(gè)值,其等于所述第一值循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的所述第一值相異或,并和向右移位10個(gè)位的所述第一值相異或;(b)第三32位數(shù)據(jù)元素;和(c)第八32位數(shù)據(jù)元素;
在位[127:96]中的第四32位結(jié)果數(shù)據(jù)元素,其中第二值等于所述第二32位結(jié)果素具元素,所述第四32位結(jié)果數(shù)據(jù)元素等于以下項(xiàng)的總和:(a)一個(gè)值,其等于所述第二值循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的所述第二值相異或,并和向右移位10個(gè)位的所述第二值相異或;(b)第四32位數(shù)據(jù)元素;和(c)第九32位數(shù)據(jù)元素。
10.如權(quán)利要求9所述的SoC,其特征在于,所述解碼單元用于解碼第二SHA256調(diào)度指令,該第二SHA256調(diào)度指令用于執(zhí)行SHA256調(diào)度的另一部分。
11.如權(quán)利要求9所述的SoC,其特征在于,所述第一128位SIMD源寄存器還用作目的地寄存器以存儲(chǔ)所述結(jié)果。
12.如權(quán)利要求9所述的SoC,其特征在于,所述處理器核是精簡(jiǎn)指令集計(jì)算(RISC)處理器核。
13.如權(quán)利要求9所述的SoC,其特征在于,所述處理器核還包括:
多個(gè)64位通用寄存器;
數(shù)據(jù)高速緩存;
指令高速緩存;
分支預(yù)測(cè)單元;
指令轉(zhuǎn)換后備緩沖器(TLB),其耦合到所述指令高速緩存;以及
指令獲取單元,其耦合到所述解碼單元。
14.如權(quán)利要求13所述的SoC,還包括二級(jí)(L2)高速緩存,其耦合到所述數(shù)據(jù)高速緩存并耦合到所述指令高速緩存。
15.如權(quán)利要求9所述的SoC,其特征在于,所述處理器核還包括重排序緩沖器。
16.如權(quán)利要求9所述的SoC,其特征在于,所述處理器核還包括寄存器重命名單元。
17.如權(quán)利要求9所述的SoC,還包括通過至少一個(gè)互連同所述處理器核耦合的圖像處理器。
18.如權(quán)利要求9所述的SoC,還包括和所述處理器核耦合的顯示單元,所述顯示單元用于耦合至一個(gè)或多個(gè)顯示器。
19.如權(quán)利要求9所述的SoC,還包括通過至少一個(gè)互連同所述處理器核耦合的通信設(shè)備。
20.如權(quán)利要求9所述的SoC,還包括同所述處理器核耦合的圖形處理單元(GPU)。
21.如權(quán)利要求9所述的SoC,還包括通過至少一個(gè)互連和所述處理器核耦合的網(wǎng)絡(luò)處理器。
22.如權(quán)利要求9所述的SoC,還包括和所述處理器核耦合的直接存儲(chǔ)器訪問(DMA)單元。
23.如權(quán)利要求9所述的SoC,還包括和所述處理器核耦合的通信處理器。
24.一種數(shù)據(jù)處理系統(tǒng),包括:
存儲(chǔ)器;
和所述存儲(chǔ)器耦合的處理器,所述處理器包括:
多個(gè)128位單指令多數(shù)據(jù)(SIMD)寄存器;
用于解碼指令的解碼單元,所述指令包括安全散列算法(SHA)256調(diào)度指令,所述SHA256指令具有:
第一字段,用于指定所述128位SIMD寄存器中的第一128位SIMD源寄存器,所述第一128位SIMD源寄存器用于存儲(chǔ)第一操作數(shù),所述第一操作數(shù)用于在位[31:0]中包括第一32位數(shù)據(jù)元素,在位[63:32]中包括第二32位數(shù)據(jù)元素,在位[95:64]中包括第三32位數(shù)據(jù)元素,在位[127:96]中包括第四32位數(shù)據(jù)元素;
第二字段,用于指定所述128位SIMD寄存器中的第二128位SIMD源寄存器,所述第二128位SIMD源寄存器用于存儲(chǔ)第二操作數(shù),所述第二操作數(shù)用于在位[31:0]中包括第五32位數(shù)據(jù)元素,在位[63:32]中包括第六32位數(shù)據(jù)元素,在位[95:64]中包括第七32位數(shù)據(jù)元素,在位[127:96]中包括第八32位數(shù)據(jù)元素;以及
第三字段,用于指定所述128位SIMD寄存器中的第三128位SIMD源寄存器,所述第三128位SIMD源寄存器用于存儲(chǔ)第三操作數(shù),所述第三操作數(shù)用于在位[31:0]中包括第九32位數(shù)據(jù)元素,在位[63:32]中包括第十32位數(shù)據(jù)元素,在位[95:64]中包括第十一32位數(shù)據(jù)元素,在位[127:96]中包括第十二32位數(shù)據(jù)元素;
以及
執(zhí)行單元,其耦合到所述解碼單元,并耦合到所述128位SIMD寄存器,所述執(zhí)行單元用于執(zhí)行所述SHA256調(diào)度指令,并存儲(chǔ)結(jié)果,所述結(jié)果將會(huì)包括:
在位[31:0]中的第一32位結(jié)果數(shù)據(jù)元素,其等于以下項(xiàng)的總和:(a)一個(gè)值,其等于第十一32位數(shù)據(jù)元素循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的第十一32位數(shù)據(jù)元素相異或,并和向右移位10個(gè)位的第十一數(shù)據(jù)元素相異或;(b)第一32位數(shù)據(jù)元素;和(c)第六32位數(shù)據(jù)元素;
在位[63:32]中的第二32位結(jié)果數(shù)據(jù)元素,其等于以下項(xiàng)的總和:(a)一個(gè)值,其等于第十二32位數(shù)據(jù)元素循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的第十二32位數(shù)據(jù)元素相異或,并和向右移位10個(gè)位的第十二數(shù)據(jù)元素相異或;(b)第二32位數(shù)據(jù)元素;和(c)第七32位數(shù)據(jù)元素;
在位[95:64]中的第三32位結(jié)果數(shù)據(jù)元素,其中第一值等于所述第一32位結(jié)果素具元素,所述第三32位結(jié)果數(shù)據(jù)元素等于以下項(xiàng)的總和:(a)一個(gè)值,其等于所述第一值循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的所述第一值相異或,并和向右移位10個(gè)位的所述第一值相異或;(b)第三32位數(shù)據(jù)元素;和(c)第八32位數(shù)據(jù)元素;
在位[127:96]中的第四32位結(jié)果數(shù)據(jù)元素,其中第二值等于所述第二32位結(jié)果素具元素,所述第四32位結(jié)果數(shù)據(jù)元素等于以下項(xiàng)的總和:(a)一個(gè)值,其等于所述第二值循環(huán)右移17個(gè)位,并和循環(huán)右移19個(gè)位的所述第二值相異或,并和向右移位10個(gè)位的所述第二值相異或;(b)第四32位數(shù)據(jù)元素;和(c)第九32位數(shù)據(jù)元素。
25.如權(quán)利要求24所述的數(shù)據(jù)處理系統(tǒng),其特征在于,所述解碼單元用于解碼第二SHA256調(diào)度指令,該第二SHA256調(diào)度指令用于執(zhí)行SHA256調(diào)度的另一部分。
26.如權(quán)利要求24所述的數(shù)據(jù)處理系統(tǒng),其特征在于,所述第一128位SIMD源寄存器還用作目的地寄存器以存儲(chǔ)所述結(jié)果。
27.如權(quán)利要求24所述的數(shù)據(jù)處理系統(tǒng),其特征在于,所述處理器是精簡(jiǎn)指令集計(jì)算(RISC)處理器。
28.如權(quán)利要求24所述的數(shù)據(jù)處理系統(tǒng),其特征在于,所述處理器還包括:
多個(gè)64位通用寄存器;
數(shù)據(jù)高速緩存;
指令高速緩存;
分支預(yù)測(cè)單元;
指令轉(zhuǎn)換后備緩沖器(TLB),其耦合到所述指令高速緩存;以及
指令獲取單元,其耦合到所述解碼單元。
29.如權(quán)利要求28所述的數(shù)據(jù)處理系統(tǒng),還包括二級(jí)(L2)高速緩存,其耦合到所述數(shù)據(jù)高速緩存并耦合到所述指令高速緩存。
30.如權(quán)利要求24所述的數(shù)據(jù)處理系統(tǒng),其特征在于,所述處理器還包括重排序緩沖器。
31.如權(quán)利要求24所述的數(shù)據(jù)處理系統(tǒng),其特征在于,所述處理器還包括寄存器重命名單元。
32.如權(quán)利要求24所述的數(shù)據(jù)處理系統(tǒng),還包括和所述處理器耦合的音頻I/O。
33.如權(quán)利要求24所述的數(shù)據(jù)處理系統(tǒng),還包括和所述處理器耦合的圖形處理單元(GPU)。
34.如權(quán)利要求24所述的數(shù)據(jù)處理系統(tǒng),還包括和所述處理器耦合的通信處理器。
35.如權(quán)利要求24所述的數(shù)據(jù)處理系統(tǒng),還包括和所述處理器耦合的顯示器。
36.如權(quán)利要求24所述的數(shù)據(jù)處理系統(tǒng),還包括和所述處理器耦合的外圍組件互連(PCI)Express互連。
37.如權(quán)利要求24所述的數(shù)據(jù)處理系統(tǒng),其特征在于,所述數(shù)據(jù)處理系統(tǒng)包括蜂窩電話。