[發(fā)明專利]響應(yīng)于用戶級(jí)指令進(jìn)行循環(huán)冗余校驗(yàn)和運(yùn)算有效
| 申請(qǐng)?zhí)枺?/td> | 201210041335.9 | 申請(qǐng)日: | 2006-12-07 |
| 公開(kāi)(公告)號(hào): | CN102708022A | 公開(kāi)(公告)日: | 2012-10-03 |
| 發(fā)明(設(shè)計(jì))人: | S·R·金;F·貝里;M·E·科納維斯 | 申請(qǐng)(專利權(quán))人: | 英特爾公司 |
| 主分類號(hào): | G06F11/10 | 分類號(hào): | G06F11/10 |
| 代理公司: | 永新專利商標(biāo)代理有限公司 72002 | 代理人: | 劉瑜;王英 |
| 地址: | 美國(guó)加*** | 國(guó)省代碼: | 美國(guó);US |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 響應(yīng) 用戶 指令 進(jìn)行 循環(huán) 冗余 校驗(yàn) 運(yùn)算 | ||
本申請(qǐng)是申請(qǐng)日為2006年12月7日、申請(qǐng)?zhí)枮?00680042242.0的同名專利申請(qǐng)的分案申請(qǐng)。
技術(shù)領(lǐng)域
本發(fā)明各實(shí)施例涉及數(shù)據(jù)處理,更具體地,涉及確定諸如循環(huán)冗余校驗(yàn)(CRC)的校驗(yàn)和。
背景技術(shù)
在數(shù)據(jù)處理系統(tǒng)中,期望準(zhǔn)確地接收第一地點(diǎn)與第二地點(diǎn)之間傳輸?shù)臄?shù)據(jù),使得在第二地點(diǎn)也能準(zhǔn)確地對(duì)所述數(shù)據(jù)進(jìn)行額外處理。此外,為了能夠檢測(cè)數(shù)據(jù)傳輸中的錯(cuò)誤,常在要發(fā)送的數(shù)據(jù)包上附加校驗(yàn)和。例如,發(fā)送源可以產(chǎn)生CRC和,并將其附加在要傳輸?shù)臄?shù)據(jù)上。可以根據(jù)多個(gè)不同算法之一計(jì)算該校驗(yàn)和,然后可以將該校驗(yàn)和與接收端處從接收數(shù)據(jù)產(chǎn)生的相應(yīng)校驗(yàn)和進(jìn)行比較。如果兩個(gè)校驗(yàn)和相同,則所傳輸?shù)臄?shù)據(jù)正確。但是如果所產(chǎn)生的校驗(yàn)和與所傳輸?shù)男r?yàn)和不同,則表示出現(xiàn)錯(cuò)誤。這種校驗(yàn)和用在網(wǎng)絡(luò)技術(shù)中來(lái)檢測(cè)傳輸錯(cuò)誤。
在不同應(yīng)用中,會(huì)有實(shí)現(xiàn)CRC信息的不同方式。例如,可以以硬件或軟件來(lái)進(jìn)行CRC計(jì)算。為了以硬件實(shí)現(xiàn)CRC計(jì)算,通常在系統(tǒng)中提供專用的硬件引擎來(lái)進(jìn)行CRC計(jì)算。因此,將要經(jīng)受這種CRC計(jì)算的數(shù)據(jù)發(fā)送給該硬件引擎來(lái)計(jì)算CRC,然后將CRC附加在數(shù)據(jù)上,以便例如從該系統(tǒng)發(fā)送出去。使用這種卸載(offload)引擎會(huì)有各種缺點(diǎn),包括發(fā)送數(shù)據(jù)到該引擎的開(kāi)銷。此外,進(jìn)行無(wú)狀態(tài)(stateless)的硬件卸載是很困難的。也就是說(shuō),通常還需要傳輸額外的基于狀態(tài)的開(kāi)銷數(shù)據(jù),增加了復(fù)雜度并減緩了有用工作的進(jìn)程。
因?yàn)楹芏嘞到y(tǒng)缺乏這種卸載引擎,所以通常以軟件進(jìn)行CRC計(jì)算。為了以軟件實(shí)現(xiàn)CRC計(jì)算,通常使用查找表方案。然而,CRC值的這種軟件計(jì)算是出了名的緩慢、計(jì)算密集的運(yùn)算。此外,查找表的存儲(chǔ)占用量可能很大,影響性能。因此,這些緩慢的計(jì)算會(huì)降低網(wǎng)絡(luò)性能,并且還進(jìn)一步耗費(fèi)處理資源。例如,可能采取5到15個(gè)循環(huán)來(lái)進(jìn)行每個(gè)數(shù)據(jù)字節(jié)的CRC計(jì)算。結(jié)果是,對(duì)于高速網(wǎng)絡(luò)中的一般用途,軟件CRC性能太低。
附圖說(shuō)明
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的方法的流程圖。
圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的處理器的方框圖。
圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例進(jìn)行校驗(yàn)和運(yùn)算的處理器一部分的方框圖。
圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的處理器另一部分的方框圖。
圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的系統(tǒng)的方框圖。
具體實(shí)施方式
在各種實(shí)施例中,將指令集架構(gòu)(ISA)擴(kuò)展用于計(jì)算校驗(yàn)和值可以影響校驗(yàn)和運(yùn)算。更具體地,可以在ISA中提供一條用戶級(jí)指令,使程序員能通過(guò)該指令在通用處理器(例如,中央處理器單元(CPU))中直接進(jìn)行期望的、諸如CRC運(yùn)算的校驗(yàn)和運(yùn)算。CRC運(yùn)算可以是32位CRC運(yùn)算(即,產(chǎn)生32位運(yùn)行余數(shù)(running?remainder)的CRC32運(yùn)算,下面進(jìn)一步討論),并且,在不同的實(shí)施例中,該CRC運(yùn)算可以對(duì)應(yīng)于例如電氣和電子工程協(xié)會(huì)(IEEE)802.3以太網(wǎng)協(xié)議(2002年出版)或其它協(xié)議中使用的CRC。
在不同的實(shí)現(xiàn)中,可以提供各種操作碼指令來(lái)對(duì)不同數(shù)據(jù)分組進(jìn)行CRC計(jì)算。雖然本發(fā)明的范圍并非如此局限,但在某些實(shí)施例中,例如,可以用不同的操作碼來(lái)支持在8、16、32和64位分組上的CRC計(jì)算。通過(guò)這種方式,可以無(wú)需查找表或諸如此類,以硬件方式快速進(jìn)行CRC計(jì)算。此外,可以通過(guò)根據(jù)不同操作碼進(jìn)行的整數(shù)運(yùn)算,使用通用的、架構(gòu)可視的處理器進(jìn)行這些計(jì)算。結(jié)果是,可以無(wú)需諸如網(wǎng)絡(luò)卸載硬件的卸載硬件的開(kāi)銷和復(fù)雜度,在處理器中計(jì)算CRC。因此,可以出現(xiàn)更大數(shù)目的數(shù)據(jù)傳輸(例如,就每秒輸入/輸出(I/O)而言的數(shù)據(jù)傳輸)。注意,雖然這里主要結(jié)合CRC運(yùn)算進(jìn)行說(shuō)明,但本發(fā)明的實(shí)施例也可以用于進(jìn)行其它校驗(yàn)和運(yùn)算。
現(xiàn)在參考圖1,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的方法的流程圖。可以將方法100用于使用處理器硬件(例如,CPU的執(zhí)行單元)上實(shí)現(xiàn)的用戶級(jí)指令來(lái)獲得校驗(yàn)和。如圖1所示,方法100可以開(kāi)始于在源或目的寄存器中對(duì)數(shù)據(jù)進(jìn)行一系列異或(XOR)運(yùn)算(方框110)。注意,XOR運(yùn)算可以對(duì)應(yīng)于多項(xiàng)式算術(shù)運(yùn)算,并且更具體地對(duì)應(yīng)于多項(xiàng)式除法運(yùn)算。例如,源寄存器中的數(shù)據(jù)可以對(duì)應(yīng)于處理器已接收的或者要從處理器發(fā)送的處理器流水線中出現(xiàn)的數(shù)據(jù)。作為一個(gè)示例,可以為源寄存器提供對(duì)應(yīng)于期望分組尺寸(例如,16位、32位或諸如此類)的緩存器中的數(shù)據(jù)分組,源寄存器可以是處理器的通用寄存器。可替換地,在某些實(shí)施例中,可以從存儲(chǔ)器中獲得源數(shù)據(jù)。目的寄存器可以對(duì)應(yīng)于從XOR運(yùn)算獲得運(yùn)行余數(shù)的存儲(chǔ)位置。目的寄存器也可以是處理器的通用寄存器。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于英特爾公司,未經(jīng)英特爾公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210041335.9/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 時(shí)刻響應(yīng)
- 第一響應(yīng)和第二響應(yīng)
- 需求響應(yīng)方法和需求響應(yīng)系統(tǒng)
- 響應(yīng)裝置及其集成電路、響應(yīng)方法及響應(yīng)系統(tǒng)
- 響應(yīng)處理方法及響應(yīng)處理裝置
- 響應(yīng)裝置及網(wǎng)絡(luò)響應(yīng)方法
- 響應(yīng)生成方法、響應(yīng)生成裝置和響應(yīng)生成程序
- 響應(yīng)車輛、響應(yīng)車輛管理系統(tǒng)和響應(yīng)車輛控制系統(tǒng)
- 斷電響應(yīng)
- 響應(yīng)裝置、響應(yīng)方法及存儲(chǔ)介質(zhì)
- 請(qǐng)求沒(méi)有進(jìn)行IMS注冊(cè)的用戶進(jìn)行注冊(cè)的方法
- 對(duì)要進(jìn)行紋理操作的像素進(jìn)行分組
- 對(duì)餐盤(pán)進(jìn)行溫度調(diào)節(jié)和進(jìn)行分配的獨(dú)立小車
- 對(duì)圖像進(jìn)行編碼
- 對(duì)任務(wù)進(jìn)行調(diào)度
- 對(duì)任務(wù)進(jìn)行調(diào)度
- 蛋糕(甜蜜進(jìn)行時(shí))
- 對(duì)定位輔助數(shù)據(jù)進(jìn)行分級(jí)和分組以進(jìn)行廣播
- 對(duì)物體進(jìn)行分離和定向以進(jìn)行供料
- 對(duì)工件進(jìn)行評(píng)價(jià)以進(jìn)行加工的方法





