本申請涉及計算機,特別是涉及一種報文處理裝置、方法和芯片。
背景技術(shù):
1、目前加速引擎通常采用pipeline框架,在該框架下,報文處理完全由硬件實現(xiàn),硬件按照業(yè)務(wù)的處理流程將報文處理分多級流水進行處理,每一級流水線由一個協(xié)處理器實現(xiàn)。
2、加速引擎在接收到報文時通常需要進行協(xié)議處理,同時輸入的報文可能存在各種異常,比如報文頭格式異常,另外報文在pipeline內(nèi)的流水級處理時也可能發(fā)現(xiàn)異常,比如處理過程中出現(xiàn)總線錯誤,在硬件實現(xiàn)的pipeline框架中,這些異常都是由硬件進行處理,容易出錯并且不夠靈活。另外,由于硬件沒辦法跳過一個流水級去往下一流水級進行處理,一旦pipeline內(nèi)某個流水級出現(xiàn)bug時,則會造成整個加速引擎不可用,給芯片的商用帶來致命的影響。
技術(shù)實現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種能夠提高數(shù)據(jù)處理靈活性的報文處理裝置、方法和芯片。
2、第一方面,本申請?zhí)峁┝艘环N報文處理裝置,包括協(xié)處理器集群和至少一核心處理器,協(xié)處理器集群包括至少兩個協(xié)處理器,至少兩個協(xié)處理器以流水線的方式進行報文處理;
3、核心處理器用于接收當(dāng)前級協(xié)處理器發(fā)送的錯誤信息,根據(jù)錯誤信息向報文處理請求方發(fā)送提示信息;
4、和/或,用于接收當(dāng)前級協(xié)處理器發(fā)送的待處理信息,運行軟件以對待處理信息進行處理,以實現(xiàn)當(dāng)前級協(xié)處理器的下一級協(xié)處理器的功能。
5、在其中一個實施例中,核心處理器還用于確定再一級協(xié)處理器,以及在確定再一級協(xié)處理器不存在硬件異常的情況下,控制向再一級協(xié)處理器輸入待處理信息,以使得再一級協(xié)處理器進行報文處理;再一級協(xié)處理器為下一級協(xié)處理器的下一級協(xié)處理器。
6、在其中一個實施例中,當(dāng)前級協(xié)處理器,用于接收輸入其中的待處理信息,并對待處理信息進行處理,若在處理的過程中存在數(shù)據(jù)異常,則當(dāng)前級協(xié)處理器向核心處理器上報錯誤信息;相應(yīng)地,核心處理器根據(jù)錯誤信息向報文處理請求方發(fā)送提示信息;
7、若不存在數(shù)據(jù)異常,且當(dāng)前級協(xié)處理器根據(jù)配置信息確定其下一級協(xié)處理器存在硬件異常,則當(dāng)前級協(xié)處理器控制將輸入給下一級協(xié)處理器的待處理信息輸入給核心處理器;相應(yīng)地,核心處理器用于運行軟件以對待處理信息進行處理,以實現(xiàn)下一級協(xié)處理器的功能,以繼續(xù)進行報文處理。
8、在其中一個實施例中,待處理信息包括伴隨信息和qpc信息,報文處理裝置還包括緩存單元;
9、緩存單元用于緩存qpc信息和伴隨信息,以及用于響應(yīng)上一級協(xié)處理器輸出的qpc讀取請求,以向當(dāng)前級協(xié)處理器輸出qpc信息以及對應(yīng)的伴隨信息;
10、相應(yīng)地,當(dāng)前級協(xié)處理器用于接收qpc信息和伴隨信息,并對qpc信息和伴隨信息進行處理,若在處理的過程中存在數(shù)據(jù)異常,則當(dāng)前級協(xié)處理器向核心處理器上報錯誤信息,核心處理器根據(jù)錯誤信息向報文處理請求方發(fā)送提示信息;
11、若不存在數(shù)據(jù)異常,且當(dāng)前級協(xié)處理器根據(jù)配置信息確定其下一級協(xié)處理器存在硬件異常的情況下,控制將伴隨信息以及qpc信息發(fā)送給核心處理器;核心處理器還用于運行軟件以對接收的qpc信息以及伴隨信息進行處理,以實現(xiàn)下一級協(xié)處理器的功能,以繼續(xù)進行報文處理。
12、在其中一個實施例中,緩存單元包括qpc緩存單元、伴隨信息緩存單元和控制單元;
13、qpc緩存單元用于緩存qpc信息;
14、伴隨信息緩存單元用于緩存伴隨信息;
15、控制單元用于根據(jù)接收的qpc讀取請求讀取qpc信息,根據(jù)qpc讀取請求中的伴隨信息索引從伴隨信息緩存單元中讀取伴隨信息,并將qpc信息和伴隨信息發(fā)送給核心處理器。
16、在其中一個實施例中,若不存在數(shù)據(jù)異常,且當(dāng)前級協(xié)處理器根據(jù)配置信息確定其下一級協(xié)處理器不存在硬件異常的情況下,當(dāng)前級協(xié)處理器控制將伴隨信息以及qpc信息發(fā)送給下一級協(xié)處理器,下一級協(xié)處理器根據(jù)接收的qpc信息和伴隨信息繼續(xù)進行報文處理。
17、在其中一個實施例中,報文處理裝置包括報文處理請求接收模塊;
18、報文處理請求接收模塊,用于接收報文處理請求方發(fā)送的報文處理請求,并為報文處理請求分配線程id,并將分配線程id后的報文處理請求發(fā)送給核心處理器,線程id為伴隨信息索引;
19、相應(yīng)地,核心處理器用于接收報文處理請求接收模塊發(fā)送的報文處理請求,解析報文頭,獲得報文處理請求的第一級協(xié)處理器以及伴隨信息,向伴隨信息緩存單元發(fā)送伴隨信息,并向控制單元發(fā)送qpc讀取請求;
20、控制單元,用于根據(jù)qpc讀取請求讀取qpc信息,以及根據(jù)qpc讀取請求中的伴隨信息索引從伴隨信息緩存單元中讀取對應(yīng)的伴隨信息,將qpc信息和伴隨信息發(fā)送給第一級協(xié)處理器。
21、在其中一個實施例中,每一級協(xié)處理器對其接收的qpc信息和伴隨信息采用流水線的方式進行處理,協(xié)處理器集群中的至少兩個協(xié)處理器共享流水線,并且在流水線的一個流水級中,只有一個協(xié)處理器進行工作。
22、第二方面,本申請還提供了一種報文處理方法,應(yīng)用于第一方面提供的任一種報文處理裝置,該方法包括:
23、核心處理器接收當(dāng)前級協(xié)處理器發(fā)送的錯誤信息,根據(jù)錯誤信息向報文處理請求方發(fā)送提示信息;
24、和/或,接收當(dāng)前級協(xié)處理器發(fā)送的待處理信息,運行軟件以對待處理信息進行處理,以實現(xiàn)當(dāng)前級協(xié)處理器的下一級協(xié)處理器的功能。
25、第三方面,本申請還提供了一種芯片,包括第一方面提供的任一種報文處理裝置。
26、上述報文處理裝置、方法和芯片,由于在當(dāng)前級協(xié)處理器進行數(shù)據(jù)處理時出現(xiàn)數(shù)據(jù)異常的情況下,可以由當(dāng)前級協(xié)處理器向核心處理器發(fā)送錯誤信息,而接收到錯誤信息的核心處理器,可以接管下一級流水,根據(jù)錯誤信息向報文處理請求方發(fā)送提示信息,從而實現(xiàn)了通過軟件處理異常。而在當(dāng)前級協(xié)處理器的下一級協(xié)處理器出現(xiàn)硬件異常的情況下,可以由核心處理器作為逃生通道,通過運行軟件代替下一級協(xié)處理器,實現(xiàn)相應(yīng)的功能。由此,可以增加報文處理的靈活性,同時因只在協(xié)處理器出現(xiàn)硬件異常的情況下,由核心處理器通過運行軟件代為實現(xiàn)功能,從而可以降低處理時延。另外,因可以根據(jù)需求添加協(xié)處理器,從而可以支持更豐富的業(yè)務(wù)。
1.一種報文處理裝置,其特征在于,包括協(xié)處理器集群和至少一核心處理器,所述協(xié)處理器集群包括至少兩個協(xié)處理器,所述至少兩個協(xié)處理器以流水線的方式進行報文處理;
2.根據(jù)權(quán)利要求1所述的報文處理裝置,其特征在于,所述核心處理器還用于確定再一級協(xié)處理器,以及在確定所述再一級協(xié)處理器不存在硬件異常的情況下,控制向所述再一級協(xié)處理器輸入待處理信息,以使得所述再一級協(xié)處理器進行報文處理;所述再一級協(xié)處理器為所述下一級協(xié)處理器的下一級協(xié)處理器。
3.根據(jù)權(quán)利要求2所述的報文處理裝置,其特征在于,所述當(dāng)前級協(xié)處理器,用于接收輸入其中的待處理信息,并對所述待處理信息進行處理,若在處理的過程中存在數(shù)據(jù)異常,則所述當(dāng)前級協(xié)處理器向所述核心處理器上報錯誤信息;相應(yīng)地,所述核心處理器根據(jù)所述錯誤信息向報文處理請求方發(fā)送提示信息;
4.根據(jù)權(quán)利要求3所述的報文處理裝置,其特征在于,所述待處理信息包括伴隨信息和qpc信息,所述報文處理裝置還包括緩存單元;
5.根據(jù)權(quán)利要求4所述的報文處理裝置,其特征在于,所述緩存單元包括qpc緩存單元、伴隨信息緩存單元和控制單元;
6.根據(jù)權(quán)利要求5所述的報文處理裝置,其特征在于,若不存在數(shù)據(jù)異常,且所述當(dāng)前級協(xié)處理器根據(jù)配置信息確定其下一級協(xié)處理器不存在硬件異常的情況下,所述當(dāng)前級協(xié)處理器控制將伴隨信息以及qpc信息發(fā)送給所述下一級協(xié)處理器,所述下一級協(xié)處理器根據(jù)接收的qpc信息和伴隨信息繼續(xù)進行報文處理。
7.根據(jù)權(quán)利要求5或6所述的報文處理裝置,其特征在于,所述報文處理裝置包括報文處理請求接收模塊;
8.根據(jù)權(quán)利要求7所述的報文處理裝置,其特征在于,每一級協(xié)處理器對其接收的qpc信息和伴隨信息采用流水線的方式進行處理,所述協(xié)處理器集群中的所述至少兩個協(xié)處理器共享所述流水線,并且在所述流水線的一個流水級中,只有一個所述協(xié)處理器進行工作。
9.一種報文處理方法,應(yīng)用于如權(quán)利要求1-8任一項所述的報文處理裝置,其特征在于,包括:
10.一種芯片,其特征在于,包括如權(quán)利要求1-8任一項所述的報文處理裝置。