報(bào)文處理方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明實(shí)施例涉及計(jì)算機(jī)技術(shù),尤其涉及一種報(bào)文處理方法和裝置。
【背景技術(shù)】
[0002]中央處理器(英文:Central Processing Unit,簡(jiǎn)稱CPU)包括多個(gè)處理器核,可以并發(fā)處理多個(gè)報(bào)文,對(duì)于多個(gè)不同的流報(bào)文一般使用保序控制單元進(jìn)行多個(gè)報(bào)文的處理順序的控制。
[0003]現(xiàn)有技術(shù)中,對(duì)于多個(gè)流的報(bào)文的處理方式為順序處理。例如:在任務(wù)緩存中包括兩個(gè)緩存隊(duì)列Q0、Ql,隊(duì)列QO中依次加入了 T流報(bào)文Tl、T2以及K流報(bào)文Kl、K2 ;隊(duì)列Ql中依次加入了 G流報(bào)文G1、G2,在當(dāng)前保序控制單元的保序模式配置為原子操作(英文:ATOMIC)時(shí),隊(duì)列QO中的報(bào)文Tl被取出給其中一個(gè)處理器核進(jìn)行處理,并將處理信息記錄在保序隊(duì)列中,在報(bào)文Tl沒(méi)有被處理完成時(shí),保序隊(duì)列會(huì)阻止報(bào)文T2被其他處理器核進(jìn)行處理,進(jìn)而導(dǎo)致后續(xù)報(bào)文K1、K2不能被別的處理器核進(jìn)行處理,另外,若隊(duì)列QO和隊(duì)列Ql配置了嚴(yán)格的優(yōu)先級(jí)關(guān)系,則在隊(duì)列QO的所有報(bào)文沒(méi)有全部處理完成時(shí),隊(duì)列Ql中的G流的報(bào)文也不能被處理。
[0004]但是,上述的處理方法中,處理器核對(duì)報(bào)文Tl沒(méi)有處理完成時(shí),同一隊(duì)列中的其他流的報(bào)文不能進(jìn)行處理,且在隊(duì)列之間有優(yōu)先級(jí)關(guān)系時(shí),別的隊(duì)列中的報(bào)文也不能進(jìn)行處理,導(dǎo)致調(diào)度處理的阻塞,造成整個(gè)CPU對(duì)報(bào)文的處理的效率較低。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種報(bào)文處理方法和裝置,以克服報(bào)文的處理過(guò)程中調(diào)度的阻塞,造成整個(gè)CPU對(duì)報(bào)文的處理的效率較低的問(wèn)題。
[0006]本發(fā)明實(shí)施例第一方面提供一種報(bào)文處理方法,包括:
[0007]將緩存隊(duì)列中的待處理的報(bào)文按照所述報(bào)文的流類別將所述報(bào)文分別存入不同的預(yù)取緩存隊(duì)列;其中,所述預(yù)取緩存隊(duì)列為在任務(wù)緩存和保序隊(duì)列之間預(yù)先建立的緩存;
[0008]將每個(gè)所述預(yù)取緩存隊(duì)列中的報(bào)文分別分配給不同的處理器核進(jìn)行處理。
[0009]結(jié)合第一方面,在第一方面的第一種可能的實(shí)施方式中,所述將每個(gè)所述預(yù)取緩存隊(duì)列中的報(bào)文分別分配給不同的處理器核進(jìn)行處理之后,還包括:
[0010]在所述保序隊(duì)列中分別記錄每個(gè)所述預(yù)取緩存隊(duì)列中的報(bào)文的處理信息。
[0011]結(jié)合第一方面的第一種可能的實(shí)施方式,在第一方面的第二種可能的實(shí)施方式中,所述預(yù)取緩存隊(duì)列的數(shù)量大于或等于一個(gè)。
[0012]結(jié)合第一方面、第一方面的第一種和第二種中的任一種可能的實(shí)施方式,在第一方面的第三種可能的實(shí)施方式中,所述待處理的報(bào)文的流類別包括第一類流和第二類流,則所述將緩存隊(duì)列中的待處理的報(bào)文取出并按照所述報(bào)文的流類別將所述報(bào)文分別放入不同的預(yù)取緩存隊(duì)列,包括:
[0013]將所述緩存隊(duì)列中的報(bào)文取出;
[0014]將流類別為所述第一類流的所有報(bào)文放入一個(gè)所述預(yù)取緩存隊(duì)列中,將流類別為所述第二類流的所有報(bào)文放入與所述第一類流不同的另一所述預(yù)取緩存隊(duì)列。
[0015]結(jié)合第一方面的第三種可能的實(shí)施方式,在第一方面的第四種可能的實(shí)施方式中,所述將每個(gè)所述預(yù)取緩存隊(duì)列中的報(bào)文分別分配不同的處理器核進(jìn)行處理,并在所述保序隊(duì)列中分別記錄每個(gè)所述預(yù)取緩存隊(duì)列中的報(bào)文的處理信息,包括:
[0016]將所述預(yù)取緩存隊(duì)列中所述第一類流的報(bào)文分配給第一處理器核進(jìn)行處理,在所述保序隊(duì)列中記錄所述第一類流的報(bào)文處理信息,并將另一所述預(yù)取緩存隊(duì)列中第二類流的報(bào)文分配給第二處理器核進(jìn)行處理,在所述保序隊(duì)列中記錄所述第二類流的報(bào)文處理信肩、O
[0017]本發(fā)明實(shí)施例第二方面提供一種報(bào)文處理裝置,包括:
[0018]處理模塊,用于將緩存隊(duì)列中的待處理的報(bào)文按照所述報(bào)文的流類別將所述報(bào)文分別存入不同的預(yù)取緩存隊(duì)列,所述預(yù)取緩存隊(duì)列為在任務(wù)緩存和保序隊(duì)列之間預(yù)先建立的緩存;
[0019]分配模塊,用于將每個(gè)所述預(yù)取緩存隊(duì)列中的報(bào)文分別分配給不同的處理器核進(jìn)行處理。
[0020]結(jié)合第二方面,在第二方面的第一種可能的實(shí)施方式中,還包括:
[0021]記錄模塊,用于在所述保序隊(duì)列中分別記錄每個(gè)所述預(yù)取緩存隊(duì)列中的報(bào)文的處理信息。
[0022]結(jié)合第二方面的第一種可能的實(shí)施方式,在第二方面的第二種可能的實(shí)施方式中,所述處理模塊建立的所述預(yù)取緩存隊(duì)列的數(shù)量大于等于一個(gè)。
[0023]結(jié)合第二方面、第二方面的第一種和第二種中的任一種可能的實(shí)施方式,在第二方面的第三種可能的實(shí)施方式中,所述待處理的報(bào)文的流類別包括第一類流和第二類流,則所述處理模塊具體用于:
[0024]將所述緩存隊(duì)列中的報(bào)文取出;
[0025]將流類別為所述第一類流的所有報(bào)文放入一個(gè)所述預(yù)取緩存隊(duì)列中,并將流類別為所述第二類流的所有報(bào)文放入與所述第一類流不同的另一所述預(yù)取緩存隊(duì)列。
[0026]結(jié)合第二方面的第三種可能的實(shí)施方式,在第二方面的第四種可能的實(shí)施方式中,包括:
[0027]所述分配模塊還用于將所述預(yù)取緩存隊(duì)列中所述第一類流的報(bào)文分配給第一處理器核進(jìn)行處理,所述記錄模塊在所述保序隊(duì)列中記錄所述第一類流的報(bào)文處理信息;
[0028]所述分配模塊還用于將另一所述預(yù)取緩存隊(duì)列中第二類流的報(bào)文分配給第二處理器核進(jìn)行處理,所述記錄模塊在所述保序隊(duì)列中記錄所述第二類流的報(bào)文處理信息。
[0029]本發(fā)明實(shí)施例第三方面提供一種中央處理器CPU,包括:第二方面、第二方面的第一種、第二種、第三種至第四種實(shí)施方式中的任一實(shí)施方式提供的報(bào)文處理裝置和至少兩個(gè)處理器核。
[0030]本發(fā)明實(shí)施例提供的報(bào)文處理方法和裝置,通過(guò)將緩存隊(duì)列中的待處理的報(bào)文取出并按照?qǐng)?bào)文的流類別將報(bào)文分別存入不同的預(yù)取緩存隊(duì)列,再將每個(gè)預(yù)取緩存隊(duì)列中的報(bào)文分別分配給不同的處理器核進(jìn)行處理,相較于現(xiàn)有技術(shù)直接從緩存隊(duì)列中取出報(bào)文處理,在沒(méi)有處理完成上一個(gè)流的報(bào)文時(shí),不能處理同一緩存隊(duì)列的其他流的報(bào)文,通過(guò)預(yù)取緩存隊(duì)列將不同的流報(bào)文分開并分配不同的處理器核并發(fā)處理,解決了報(bào)文的處理過(guò)程中調(diào)度的阻塞,造成整個(gè)CPU對(duì)報(bào)文的處理的效率較低的問(wèn)題,有效提高了 CPU對(duì)報(bào)文的處理的效率。
【附圖說(shuō)明】
[0031]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0032]圖1為本發(fā)明提供的報(bào)文處理方法實(shí)施例一的流程圖;
[0033]圖2為本發(fā)明提供的報(bào)文處理方法實(shí)施例二的流程圖;
[0034]圖3為本發(fā)明提供的報(bào)文處理方法實(shí)施例二的處理示意圖;
[0035]圖4為本發(fā)明提供的報(bào)文處理裝置實(shí)施例一的結(jié)構(gòu)示意圖;
[0036]圖5為本發(fā)明提供的報(bào)文處理裝置實(shí)施例二的結(jié)構(gòu)示意圖;
[0037]圖6為本發(fā)明提供的保序控制單元的實(shí)施例的結(jié)構(gòu)示意圖;
[0038]圖7為本發(fā)明提供的CPU的實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0039]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲