[發(fā)明專(zhuān)利]一種用于對(duì)硬件加速器的請(qǐng)求隊(duì)列維護(hù)狀態(tài)的方法和系統(tǒng)無(wú)效
| 申請(qǐng)?zhí)枺?/td> | 201010244498.8 | 申請(qǐng)日: | 2010-07-30 |
| 公開(kāi)(公告)號(hào): | CN102346661A | 公開(kāi)(公告)日: | 2012-02-08 |
| 發(fā)明(設(shè)計(jì))人: | 常曉濤;梅小露;李獲鼎;張茹云 | 申請(qǐng)(專(zhuān)利權(quán))人: | 國(guó)際商業(yè)機(jī)器公司 |
| 主分類(lèi)號(hào): | G06F5/06 | 分類(lèi)號(hào): | G06F5/06 |
| 代理公司: | 北京市中咨律師事務(wù)所 11247 | 代理人: | 于靜;楊曉光 |
| 地址: | 美國(guó)*** | 國(guó)省代碼: | 美國(guó);US |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 用于 硬件 加速器 請(qǐng)求 隊(duì)列 維護(hù) 狀態(tài) 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明一般涉及信號(hào)處理涉及,更具體地,一種用于對(duì)硬件加速器的請(qǐng)求隊(duì)列維護(hù)狀態(tài)的方法和系統(tǒng)。
背景技術(shù)
CMP(單芯片多處理器)的構(gòu)成分成同構(gòu)和異構(gòu)兩類(lèi),同構(gòu)是指內(nèi)部核的結(jié)構(gòu)是相同的,而異構(gòu)是指內(nèi)部的核結(jié)構(gòu)是不同的。
圖1示出了一個(gè)異構(gòu)多核處理器芯片100的模塊化結(jié)構(gòu),圖1中,CPU為一個(gè)通用處理器,以太網(wǎng)媒體訪問(wèn)控制器(Ethernet?Media?AccessController,簡(jiǎn)稱EMAC),包括EMAC0,EMAC1,EMAC2,均為網(wǎng)絡(luò)加速處理器,與硬件加速器(Accelerator)一起,是專(zhuān)用處理器。多核處理器中廣泛使用硬件加速器,尤其對(duì)于計(jì)算密集型的應(yīng)用,例如通信、金融服務(wù)、能源、制造業(yè)、化學(xué)等產(chǎn)業(yè)。目前一些多核處理器芯片中集成的硬件加速器主要包括壓縮/解壓縮加速器,加密/解密加速器,模式匹配加速器,XML解析加速器,等等。圖1的存儲(chǔ)控制器(Memory?controller)用于控制該芯片和存儲(chǔ)器之間的協(xié)同工作,請(qǐng)求隊(duì)列(Request?Queue)用于保存接收的,加速器還來(lái)不及處理的請(qǐng)求。
下面以電信數(shù)據(jù)中虛擬專(zhuān)用網(wǎng)絡(luò)VPN(Virtual?Private?Network)的應(yīng)用為例,來(lái)說(shuō)明圖1所示的芯片中數(shù)據(jù)流以及各模塊如何協(xié)同工作。本領(lǐng)域技術(shù)人員可以知道,在其它消息需要快速處理應(yīng)用中,例如金融服務(wù)、能源、制造業(yè)、化學(xué)等產(chǎn)業(yè)的應(yīng)用中,問(wèn)題是類(lèi)似的。在電信數(shù)據(jù)中VPN應(yīng)用中,一個(gè)或多個(gè)電信服務(wù)器用于處理接收的原始或被加密的數(shù)據(jù)包,將數(shù)據(jù)包加密或者解密后將數(shù)據(jù)包發(fā)送出去。具體在服務(wù)器中多核處理器芯片的EMAC模塊接收多個(gè)要被加密或解密的數(shù)據(jù)包(pocket),然后CPU將每個(gè)數(shù)據(jù)包的網(wǎng)絡(luò)協(xié)議相關(guān)信息去除后,重新包裝成協(xié)處理器請(qǐng)求塊(Coprocessor?Request?Block,簡(jiǎn)稱CRB),CRB本身不是數(shù)據(jù)包,它包含指定數(shù)據(jù)的相關(guān)位置等信息,CRB被置于請(qǐng)求隊(duì)列中,要求硬件加速器對(duì)該CRB指定的數(shù)據(jù)的進(jìn)行加密或者解密。硬件加速器接收到該請(qǐng)求后,對(duì)該CRB指定的數(shù)據(jù)塊加密或者解密,并把加密或者解密的結(jié)果返回給CPU,從而CPU可以將該數(shù)據(jù)塊轉(zhuǎn)發(fā)給相應(yīng)的用戶。
電信數(shù)據(jù)中對(duì)VPN應(yīng)用要接收無(wú)數(shù)的加密或者解密請(qǐng)求,因此,對(duì)消息的處理速度需要非???,一般來(lái)說(shuō),軟件的處理速度雖然已經(jīng)很快,但是需要專(zhuān)用處理器,成本較高;并且,軟件速度有時(shí)還是很難滿足電信應(yīng)用的實(shí)時(shí)性要求,因此,電信可以采用圖1所示的多核處理器芯片上的硬件加速器來(lái)完成加密或者解密的。但是,對(duì)于這類(lèi)應(yīng)用,硬件加速器在加密或者解密下一個(gè)CRB指定的數(shù)據(jù)時(shí),需要前一個(gè)CRB指定的數(shù)據(jù)的狀態(tài),因此,除一個(gè)消息的最后一個(gè)CRB的狀態(tài)外,該消息的其它CRB的狀態(tài),以及所有CRB指定的數(shù)據(jù)都要存儲(chǔ)在存儲(chǔ)器中。
這樣,硬件加速器在處理請(qǐng)求隊(duì)列的CRB時(shí),除了需要從存儲(chǔ)器獲得CRB指定的數(shù)據(jù)外,還要反復(fù)向存儲(chǔ)器存儲(chǔ)CRB指定的數(shù)據(jù)的狀態(tài),以及獲得已經(jīng)存儲(chǔ)的CRB指定的數(shù)據(jù)的狀態(tài),造成整個(gè)芯片的處理速度慢,效率低。
發(fā)明內(nèi)容
現(xiàn)有技術(shù)中硬件加速器需要頻繁訪問(wèn)存儲(chǔ)器,相對(duì)于CPU的處理時(shí)間,訪問(wèn)存儲(chǔ)器的時(shí)間是很長(zhǎng)的,造成整個(gè)芯片,乃至服務(wù)器系統(tǒng)處理效率低下,并且還消耗了更多的能源。因此,需要一種方法和系統(tǒng),能夠提高上述硬件加速器的處理效率。
根據(jù)本發(fā)明的一個(gè)方面提供了用于對(duì)硬件加速器的請(qǐng)求隊(duì)列維護(hù)狀態(tài)的系統(tǒng),其中,請(qǐng)求隊(duì)列中存儲(chǔ)著將要輸入到硬件加速器中的至少一個(gè)協(xié)處理器請(qǐng)求塊CRB,該系統(tǒng)包括:
內(nèi)容可尋址存儲(chǔ)器,與請(qǐng)求隊(duì)列相連,響應(yīng)于請(qǐng)求隊(duì)列指定的CRB要進(jìn)入到硬件加速器中,接收所述指定的CRB的狀態(tài)指針,并將該內(nèi)容可尋址存儲(chǔ)器中存儲(chǔ)的、與所述指定的CRB的狀態(tài)指針相同的其它CRB在請(qǐng)求隊(duì)列中的物理存儲(chǔ)位置輸出,其中該內(nèi)容可尋址存儲(chǔ)器與請(qǐng)求隊(duì)列以相同的物理存儲(chǔ)位置存儲(chǔ)請(qǐng)求隊(duì)列中的每個(gè)CRB的狀態(tài)指針;
狀態(tài)緩存器,該狀態(tài)緩存器與請(qǐng)求隊(duì)列大小相同,每個(gè)位置存儲(chǔ)處理請(qǐng)求隊(duì)列中相同位置的CRB所需要的狀態(tài)信息;以及
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于國(guó)際商業(yè)機(jī)器公司,未經(jīng)國(guó)際商業(yè)機(jī)器公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010244498.8/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F5-00 無(wú)須改變所處理的數(shù)據(jù)的位數(shù)或內(nèi)容的數(shù)據(jù)變換的方法或裝置
G06F5-01 .用于移位,例如調(diào)整、定標(biāo)、規(guī)格化
G06F5-06 .用于改變數(shù)據(jù)流速度的,即速度調(diào)整的
G06F5-08 ..具有存儲(chǔ)位置序列,中間位置不能進(jìn)行入列或出列操作,例如使用位移寄存器
G06F5-10 ..具有每個(gè)位置都可以單獨(dú)進(jìn)行入列或出列操作的存儲(chǔ)位置序列,例如用隨機(jī)存取存儲(chǔ)器
G06F5-16 ..多元系統(tǒng),即,使用為進(jìn)行入列或出列操作可以交替存取的兩個(gè)或多個(gè)類(lèi)似的裝置,例如,乒乓緩沖寄存器





