欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

接口延時(shí)保護(hù)方法、協(xié)處理器及數(shù)據(jù)處理系統(tǒng)的制作方法

文檔序號(hào):6338788閱讀:196來源:國知局
專利名稱:接口延時(shí)保護(hù)方法、協(xié)處理器及數(shù)據(jù)處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)的數(shù)據(jù)處理技術(shù)領(lǐng)域,更具體地說,涉及一種接口延時(shí)保護(hù)方法、協(xié)處理器及一種數(shù)據(jù)處理系統(tǒng)。
背景技術(shù)
計(jì)算機(jī)中用于數(shù)據(jù)處理的構(gòu)件主要為處理器,如各種CPU (Central Processing Unit,中央處理器)、NP (Network Processor,網(wǎng)絡(luò)處理器)等,但是,在某些情況下,處理器并不適合完成所有的功能,對(duì)于一些不適合處理器實(shí)現(xiàn)的功能,就需要外接協(xié)處理器來實(shí)現(xiàn)。處理器用于完成整個(gè)系統(tǒng)的主要處理工作,處理器接收網(wǎng)絡(luò)接口的報(bào)文并進(jìn)行處理,將處理內(nèi)容緩存至內(nèi)存,當(dāng)出現(xiàn)某些處理器不能單獨(dú)完成的信息處理的情況時(shí),由協(xié)處理器協(xié)助處理器對(duì)相應(yīng)信息進(jìn)行處理。處理器通過某種接口與協(xié)處理器連接,通過該接口,處理器可以把需要協(xié)處理器處理的數(shù)據(jù)發(fā)送給協(xié)處理器處理,同理,協(xié)處理器完成相應(yīng)的數(shù)據(jù)處理后,再通過該接口將處理結(jié)果返回給處理器。通常情況下,使用處理器上的QDR (Quard Date Rate,四倍數(shù)據(jù)倍率接口)、 LA-I (Look Aside Interface, LAf^^hS^n ) NSE (Network Search Engines, N^g 找引擎接口)等接口連接協(xié)處理器,這類接口的共同點(diǎn)是對(duì)于一次訪問操作有最大延時(shí)要求,即規(guī)定了從處理器向協(xié)處理器發(fā)出訪問請(qǐng)求,到協(xié)處理器返回結(jié)果的時(shí)間(以下簡稱總協(xié)處理延時(shí))不能超過該最大延時(shí),如果超過該最大時(shí)間后,處理器還沒有收到協(xié)處理器的處理結(jié)果,處理器就會(huì)發(fā)生異常,進(jìn)而導(dǎo)致整個(gè)系統(tǒng)的不可靠,因此,必須避免這種情況的發(fā)生。現(xiàn)有技術(shù)中為了使協(xié)處理器的總協(xié)處理延時(shí)不超過處理器接口的最大延時(shí),在設(shè)計(jì)協(xié)處理器時(shí),將協(xié)處理時(shí)間設(shè)計(jì)的盡量小,以使得協(xié)處理的時(shí)間不會(huì)超過接口的要求。但是,這種方法并不能適用于所有情況,由于系統(tǒng)設(shè)計(jì)方案的問題,或者突發(fā)情況,處理器發(fā)出請(qǐng)求的速度可能會(huì)超過協(xié)處理器的處理性能時(shí),這時(shí)協(xié)處理器的處理時(shí)間很可能超時(shí)。 從而導(dǎo)致處理器不能在接口允許的延時(shí)范圍內(nèi)接收到處理結(jié)果,使得處理器和系統(tǒng)的穩(wěn)定性沒有保證。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種接口延時(shí)保護(hù)方法,解決現(xiàn)有技術(shù)中的問題,使得處理器能夠在接口允許的延時(shí)范圍內(nèi),接收到協(xié)處理器的處理結(jié)果,保證了處理器和系統(tǒng)的穩(wěn)定。本發(fā)明還提供了一種協(xié)處理器,可以在接口允許的延時(shí)范圍內(nèi),將處理結(jié)果返回給處理器,以保證處理器和系統(tǒng)的穩(wěn)定。為實(shí)現(xiàn)上述目的,本發(fā)明提供了如下技術(shù)方案一種接口延時(shí)保護(hù)方法,包括協(xié)處理器接收處理器的操作指令;
記錄接收所述操作指令的時(shí)間;將所述操作指令寫入指令緩存先入先出隊(duì)列FIFO中;讀取所述指令緩存FIFO中的操作指令并進(jìn)行協(xié)處理,將處理結(jié)果發(fā)送給結(jié)果 FIFO ;當(dāng)協(xié)處理時(shí)間未達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中有處理結(jié)果時(shí),返回所述處理結(jié)果給所述CPU ;當(dāng)協(xié)處理時(shí)間達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中沒有處理結(jié)果時(shí),返回指示協(xié)處理超時(shí)的處理結(jié)果給所述CPU。一種協(xié)處理器,包括接收單元,用于接收處理器發(fā)送的操作指令;計(jì)時(shí)單元,用于記錄接收所述操作指令的時(shí)間;指令緩存FIFO,用于緩存所述操作指令,并將所述操作指令提供給內(nèi)部處理單元;內(nèi)部處理單元,用于讀取指令緩存FIFO中的操作指令,對(duì)所述操作指令進(jìn)行協(xié)處理,并發(fā)送處理結(jié)果;結(jié)果FIFO,用于接收并存儲(chǔ)內(nèi)部處理單元對(duì)所述操作指令的處理結(jié)果;判斷單元,用于將當(dāng)前時(shí)間與記錄的最早接收所述操作指令的時(shí)間相比較,判斷協(xié)處理時(shí)間是否到達(dá)接口的最大延時(shí)時(shí)間;第一發(fā)送單元,用于當(dāng)協(xié)處理時(shí)間未達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中有處理結(jié)果時(shí),返回所述處理結(jié)果給所述CPU ;第二發(fā)送單元,用于當(dāng)協(xié)處理時(shí)間達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中沒有處理結(jié)果時(shí),返回指示協(xié)處理超時(shí)的處理結(jié)果給所述CPU。一種數(shù)據(jù)處理系統(tǒng),包括處理器、內(nèi)存以及協(xié)處理器,所述協(xié)處理器,用于接收所述處理器的操作指令,記錄接收所述操作指令的時(shí)間,并將所述操作指令寫入指令緩存FIFO中,讀取所述指令緩存FIFO中的操作指令并進(jìn)行協(xié)處理,將處理結(jié)果發(fā)送給結(jié)果 FIFO,當(dāng)協(xié)處理時(shí)間達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中沒有處理結(jié)果時(shí),返回指示協(xié)處理超時(shí)的處理結(jié)果,當(dāng)協(xié)處理時(shí)間未達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中有處理結(jié)果時(shí), 返回所述處理結(jié)果;所述內(nèi)存,用于緩存所述處理器的處理數(shù)據(jù)。從上述的技術(shù)方案可以看出,本發(fā)明實(shí)施例增加了記錄接收操作指令時(shí)間的步驟,以便在協(xié)處理的過程中,判斷系統(tǒng)內(nèi)部協(xié)處理的時(shí)間是否到達(dá)接口的最大延時(shí)時(shí)間,然后判斷所述結(jié)果FIFO中是否有處理結(jié)果,如果所述結(jié)果FIFO中有處理結(jié)果,則不論協(xié)處理時(shí)間是否到達(dá)接口的最大延時(shí)時(shí)間,都返回相應(yīng)的處理結(jié)果;當(dāng)系統(tǒng)內(nèi)部的協(xié)處理時(shí)間到達(dá)接口的最大延時(shí)時(shí)間時(shí),結(jié)果FIFO中仍沒有處理結(jié)果,則返回指示協(xié)處理延時(shí)超過接口要求的處理結(jié)果。本發(fā)明實(shí)施例在系統(tǒng)內(nèi)部的總協(xié)處理延時(shí)超過接口的最大延時(shí)時(shí),返回指示協(xié)處理延時(shí)超過接口要求的處理結(jié)果,進(jìn)而不會(huì)出現(xiàn)因協(xié)處理器的協(xié)處理超時(shí),而導(dǎo)致的處理器在超過接口的最大延時(shí)時(shí)接收不到處理結(jié)果的情況,從而避免了處理器因無結(jié)果返回而發(fā)生異常,提高了處理器和整個(gè)系統(tǒng)的穩(wěn)定性。


為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例一公開的接口延時(shí)保護(hù)方法流程圖;圖2為本發(fā)明實(shí)施例二公開的接口延時(shí)保護(hù)方法流程圖;圖3為本發(fā)明實(shí)施例三公開的接口延時(shí)保護(hù)方法流程圖;圖4為本發(fā)明實(shí)施例四公開的接口延時(shí)保護(hù)方法的部分流程圖;圖5為本發(fā)明實(shí)施例一公開的一種協(xié)處理器的結(jié)構(gòu)圖;圖6為本發(fā)明實(shí)施例二公開的一種協(xié)處理器的結(jié)構(gòu)圖;圖7為本發(fā)明實(shí)施例三公開的一種協(xié)處理器的結(jié)構(gòu)圖;圖8為本發(fā)明實(shí)施例四公開的一種協(xié)處理器的結(jié)構(gòu)圖;圖9為本發(fā)明實(shí)施例五公開的一種數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。為了引用和清楚起見,文中使用的技術(shù)名詞、簡寫或縮寫總結(jié)如下CPU =Central Processing Unit,中央處理器;NP :Network Processor,網(wǎng)絡(luò)處理器;QDR =Quard Date Rate,四倍數(shù)據(jù)倍率接口 ;LA-I =Look Aside Interface,LA 協(xié)處理接口 ;NSE =Network Search Engines,網(wǎng)絡(luò)查找引擎接口 ;FIFO =First-In First-Out,先入先出隊(duì)列?,F(xiàn)有技術(shù)中,為了盡量避免接口帶寬大于協(xié)處理器處理性能而導(dǎo)致的處理器和系統(tǒng)的不穩(wěn)定,在協(xié)處理器中必須使用一個(gè)指令緩存FIFO (First-In First-Out,先入先出隊(duì)列)以暫時(shí)緩存超過協(xié)處理器處理性能的指令。此時(shí),總協(xié)處理延時(shí)就是兩部分時(shí)間之和, 一部分是指令在指令緩存FIFO中等待的時(shí)間,一部分是處理器內(nèi)部對(duì)指令的真正的協(xié)處理延時(shí)。雖然,處理器內(nèi)部真正的協(xié)處理延時(shí)是固定的,即處理器設(shè)計(jì)時(shí)已經(jīng)確定的協(xié)處理時(shí)間,但是,指令在FIFO中的等待時(shí)間卻是不固定的,因?yàn)橹噶钤谥噶罹彺鍲IFO中等待的時(shí)間與指令所在隊(duì)列的位置是相關(guān)的,指令在隊(duì)列的前面,等待的時(shí)間就較短,反之,時(shí)間就較長。當(dāng)接口帶寬大于協(xié)處理器處理性能時(shí),協(xié)處理器處理指令的速度較慢,使得指令在指令緩存FIFO中累積,進(jìn)而導(dǎo)致指令在指令緩存FIFO中的等待時(shí)間隨著指令緩存FIFO中指令數(shù)量的增多而變長。因此,當(dāng)突發(fā)指令數(shù)量較多時(shí),總協(xié)處理延時(shí)也隨之變長,在某種大的突發(fā)情況下,總協(xié)處理延時(shí)也可能會(huì)超過接口的最大延時(shí)要求,進(jìn)而引起處理器和系統(tǒng)的不穩(wěn)定。實(shí)施例一本實(shí)施例提供的接口延時(shí)保護(hù)方法基本上包括三個(gè)處理過程指令接收過程、協(xié)處理過程和處理結(jié)果發(fā)送過程,這三個(gè)過程實(shí)際上可以由三個(gè)獨(dú)立的進(jìn)程完成。為了描述方便,本實(shí)施例將這三個(gè)處理過程融合成一體,基本流程如圖1所示,包括以下步驟步驟S101、接收處理器發(fā)送的操作指令。步驟S102、記錄接收到所述操作指令的時(shí)間。步驟S103、將該操作指令寫入指令緩存先入先出隊(duì)列FIFO。其中,將操作指令寫入指令緩存FIFO中,以便系統(tǒng)內(nèi)部的指令處理模塊讀取相應(yīng)操作指令。步驟S104、讀取所述指令緩存FIFO中的操作指令,并對(duì)該操作指令進(jìn)行協(xié)處理, 將協(xié)處理結(jié)果發(fā)送給結(jié)果FIFO。本步驟中,協(xié)處理的具體過程屬于現(xiàn)有技術(shù),在此不對(duì)其進(jìn)行詳細(xì)描述。步驟S105、當(dāng)協(xié)處理時(shí)間未達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中有處理結(jié)果時(shí), 返回該處理結(jié)果。步驟S106、當(dāng)協(xié)處理時(shí)間達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中沒有處理結(jié)果時(shí), 返回指示協(xié)處理超時(shí)的處理結(jié)果。需要說明的是,上述步驟S105和步驟S106之間可以同時(shí)進(jìn)行,也可以以任意順序執(zhí)行。不一定要等到達(dá)到最大延時(shí)時(shí)才判斷所述結(jié)果FIFO中是否有結(jié)果,判斷所述結(jié)果 FIFO中是否有結(jié)果這個(gè)操作可以在達(dá)到最大延時(shí)前任意時(shí)刻執(zhí)行。可以看出,上述步驟S101-步驟S102屬于指令接收過程,步驟S203為協(xié)處理過程,步驟S104-步驟S106屬于處理結(jié)果發(fā)送過程。步驟S105-步驟S106的具體實(shí)現(xiàn)方式可以是先判斷處理時(shí)間是否超過接口的最大延時(shí),再判斷結(jié)果FIFO中是否有處理結(jié)果。從而保證后續(xù)在在處理時(shí)間達(dá)到接口的最大延時(shí)時(shí)能給CPU返回一個(gè)處理結(jié)果,包括協(xié)處理結(jié)果或指示協(xié)處理延時(shí)超過接口要求的處理結(jié)果(即指示協(xié)處理超時(shí)的處理結(jié)果)。判斷處理時(shí)間是否達(dá)到接口的最大延時(shí)的具體方式可以是計(jì)算根據(jù)接收操作指令的最早時(shí)間tl(這里指的是未返回處理結(jié)果的操作指令中,指令FI FO最先接收的操作指令的接收時(shí)間)及判斷處理時(shí)間時(shí)的時(shí)間t2之間的差值(t2-tl),將該差值與已知的接口的最大延時(shí)進(jìn)行比較,若兩者相等,則意味著處理時(shí)間已達(dá)到接口的最大延時(shí)。本實(shí)施例公開的接口延時(shí)保護(hù)方法,在正常情況下,即對(duì)于一次訪問,協(xié)處理器能夠在接口允許的最大延時(shí)時(shí)間內(nèi)完成協(xié)處理操作的情況下,返回正常的協(xié)處理結(jié)果,而不管得到該處理結(jié)果的時(shí)間是否到達(dá)接口允許的最大延時(shí)時(shí)間,只要結(jié)果FIFO中有結(jié)果,就會(huì)立即返回該結(jié)果給處理器;在協(xié)處理器處理超時(shí)的情況下,本實(shí)施例公開的方法也會(huì)在協(xié)處理時(shí)間到達(dá)接口允許的最大延時(shí)時(shí),返回一個(gè)處理結(jié)果給處理器,該處理結(jié)果用以表示協(xié)處理延時(shí)超過接口允許的最大延時(shí)時(shí)間,從而解決了現(xiàn)有技術(shù)中因協(xié)處理器處理超時(shí)而導(dǎo)致的處理器在接口允許的最大延時(shí)時(shí)間范圍內(nèi)不能接收到相應(yīng)的處理結(jié)果,進(jìn)而導(dǎo)致處理器異常的問題。實(shí)施例二
本實(shí)施例公開的接口延時(shí)保護(hù)方法如圖2所示,其中步驟S201、S202、S203、 S205-S207與實(shí)施例一的步驟S101、S102、S103、S104-S106依次對(duì)應(yīng)相同,所不同的是,增加了步驟S304,將接收到的操作指令和記錄的接收該指令的時(shí)間.緩存至預(yù)設(shè)容器。本實(shí)施例增加了預(yù)設(shè)容器,用于緩存接收到的操作指令和接收時(shí)間,與實(shí)施例一不同的是,判斷是否到達(dá)接口的最大延時(shí)的方式,本實(shí)施例中將此刻的時(shí)間與預(yù)設(shè)容器中緩存的最早接收的操作指令的時(shí)間相比較,進(jìn)而判斷是否到達(dá)接口的最大延時(shí),其它步驟的處理方式和實(shí)施例一相同,這里不再贅述。實(shí)施例三本實(shí)施例公開的接口延時(shí)保護(hù)方法如圖3所示,包括以下步驟步驟S301,在接口輸入處,控制操作指令向系統(tǒng)內(nèi)部數(shù)據(jù)處理模塊發(fā)送的速度,使其符合系統(tǒng)內(nèi)部處理性能的要求,具體操作為,調(diào)整讀取指令緩存FIFO對(duì)所述操作指令的讀取速度,使指令緩存FIFO的讀取速度不超過所述內(nèi)部處理單元的協(xié)處理性能,和/或控制所述指令緩存FIFO的大小,使操作指令在所述指令緩存FIFO中的緩存時(shí)間不超過所述內(nèi)部處理單元的協(xié)處理延時(shí)的裕量;步驟S302、接收處理器發(fā)送的操作指令;步驟S303、判斷指令緩存FIFO是否已滿,若指令緩存FIFO已滿,進(jìn)入步驟S304, 否則,進(jìn)入步驟S306 ;步驟S304、在該操作指令上打上表示協(xié)處理超時(shí)的標(biāo)識(shí),并將其緩存至預(yù)設(shè)容器, 表示沒有真正發(fā)起內(nèi)部處理操作;步驟S305、讀取預(yù)設(shè)容器中緩存的指令時(shí),判斷是否讀取到帶有超時(shí)標(biāo)識(shí)的操作指令,若是,進(jìn)入步驟S311,否則,進(jìn)入步驟S308 ;步驟S306、記錄接收到所述操作指令的時(shí)間,并將該操作指令寫入指令緩存先入先出隊(duì)列FIFO,以便系統(tǒng)內(nèi)部的指令處理模塊讀取相應(yīng)操作指令;步驟S307、將接收到的操作指令和記錄的接收該操作指令的時(shí)間緩存至預(yù)設(shè)容器 FIFO ;步驟S308、讀取所述指令緩存FIFO中的操作指令,并對(duì)該操作指令進(jìn)行協(xié)處理, 將協(xié)處理結(jié)果發(fā)送給結(jié)果FIFO ;步驟S309、判斷處理時(shí)間T是否達(dá)到最大延時(shí)Δ T及結(jié)果FIFO中是否有處理結(jié)果,若T彡八1~且結(jié)果?正0中有結(jié)果,則進(jìn)入步驟5310;若11< Δ T且結(jié)果FIFO中無結(jié)果, 則繼續(xù)判斷;若T = Δ T且結(jié)果FIFO中無結(jié)果,則進(jìn)入步驟S311 ;判斷處理時(shí)間T是否達(dá)到最大延時(shí)Δ T的具體方式可以是依據(jù)當(dāng)前時(shí)間與所述預(yù)設(shè)容器中緩存的最早接收操作指令的時(shí)間的差值確定處理時(shí)間Τ,將T與最大延時(shí)ΔΤ相比,判斷處理時(shí)間是否到達(dá)接口的最大延時(shí)時(shí)間。步驟S310、向處理器返回該處理結(jié)果;步驟S311、向處理器返回指示協(xié)處理超時(shí)的處理結(jié)果。本實(shí)施例公開的接口延時(shí)保護(hù)方法,能夠調(diào)整指令緩存FIFO的讀取速度和/或大小,使其符合系統(tǒng)內(nèi)部的處理性能。具體的,控制指令緩存FIFO對(duì)接收的操作指令的讀取速度,使指令緩存FIFO的讀取速度不超過所述內(nèi)部處理單元的協(xié)處理性能,進(jìn)而使得操作指令的等待時(shí)間只是在指令緩存FIFO中緩存的時(shí)間;控制所述指令緩存FIFO的大小,使操作指令在指令緩存FIFO中的緩存時(shí)間不超過所述內(nèi)部處理單元的協(xié)處理延時(shí)的裕量,進(jìn)而保證了所有存入指令緩存FIFO的操作指令,都能夠在接口允許的最大延時(shí)時(shí)間范圍內(nèi)被處理完成。由于設(shè)置了指令緩存FIFO的大小,就會(huì)出現(xiàn)接收的操作指令過多而超過指令緩存FIFO的容量的情況,當(dāng)指令緩存FIFO已滿時(shí),如果還有操作指令需要寫入指令緩存 FIFO,就寫不進(jìn)去了,本發(fā)明實(shí)施例這種情況下,在操作指令上打上表示協(xié)處理超時(shí)的標(biāo)識(shí)并存入預(yù)設(shè)容器,后續(xù)在結(jié)果發(fā)送過程中當(dāng)讀取到帶有超時(shí)標(biāo)識(shí)的操作指令后,就表示此次訪問肯定會(huì)超時(shí),就不去判斷結(jié)果FIFO中是否有處理結(jié)果,也不去判斷是否到達(dá)接口最大延時(shí)時(shí)間,直接返回指示協(xié)處理延時(shí)超過接口要求的結(jié)果。需要說明的是,無論操作指令是否寫入到指令緩存FIFO中,都要寫入預(yù)設(shè)容器中,所不同的是,沒有寫入指令緩存FIFO中的操作指令會(huì)有一個(gè)表示協(xié)處理超時(shí)的標(biāo)識(shí), 以便后續(xù)步驟的處理。實(shí)施例四上述實(shí)施例二、三和四在接收操作指令時(shí)指令尚未超時(shí),但是在協(xié)處理時(shí)間達(dá)到最大延時(shí)時(shí)間時(shí)結(jié)果FIFO中沒有結(jié)果的情況下,發(fā)送指示協(xié)處理超時(shí)的處理結(jié)果。于是, 在對(duì)應(yīng)操作指令的處理結(jié)果存進(jìn)結(jié)果FIFO時(shí),如不進(jìn)行相應(yīng)處理,則會(huì)導(dǎo)致返回結(jié)果混亂。針對(duì)此情況,本實(shí)施例在因協(xié)處理時(shí)間達(dá)到最大延時(shí)時(shí)間而結(jié)果FIFO中沒有結(jié)果而發(fā)送指示協(xié)處理超時(shí)的處理結(jié)果之后,增加了后續(xù)處理步驟,即丟棄所述結(jié)果FIFO中存進(jìn)的協(xié)處理超時(shí)的處理結(jié)果,圖4示出了一種具體實(shí)現(xiàn)過程,包括以下步驟步驟S401、返回指示協(xié)處理延時(shí)超過接口要求的處理結(jié)果;步驟S402、記錄返回指示協(xié)處理延時(shí)超過接口要求的處理結(jié)果的數(shù)量,為步驟 S403做準(zhǔn)備工作;步驟S403、當(dāng)確定結(jié)果FIFO中存進(jìn)有處理結(jié)果時(shí),丟棄排在最前面的處理結(jié)果, 以避免返回結(jié)果的混亂;步驟S404、將記錄的數(shù)量減1 ;步驟S405、判斷該記錄的數(shù)量是否為0,若是,則進(jìn)入步驟S506,否則,返回步驟 S403 ;步驟S406、開始按照正常流程返回處理結(jié)果。下面以一個(gè)實(shí)例說明,正如前文實(shí)施例一所述,協(xié)處理器的工作包括三個(gè)獨(dú)立的工作流程,即指令接收過程、協(xié)處理過程和處理結(jié)果發(fā)送過程,其中,指令接收過程中,指令緩存FIFO中依據(jù)先后順序依次存儲(chǔ)有操作指令a、操作指令b、操作指令C、操作指令d、操作指令e和操作指令f等6個(gè)操作指令。協(xié)處理過程中,指令緩存FIFO將這些指令依據(jù)順序提供給協(xié)處理器的內(nèi)部處理單元,內(nèi)部處理單元進(jìn)行協(xié)處理后會(huì)將處理結(jié)果按照順序存儲(chǔ)進(jìn)結(jié)果FIFO中,協(xié)處理器首先接收操作指令a并進(jìn)行協(xié)處理,并把處理結(jié)果A存儲(chǔ)進(jìn)結(jié)
果FIFO,然后接收操作指令b并進(jìn)行協(xié)處理,并把處理結(jié)果B存儲(chǔ)進(jìn)結(jié)果FIFO,......,以
此類推,直到把最后一個(gè)操作指令完成為止。處理結(jié)果發(fā)送過程中,協(xié)處理器實(shí)時(shí)判斷結(jié)果 FIFO中是否有結(jié)果,若有結(jié)果且處理時(shí)間未達(dá)到或已達(dá)到最大延時(shí),則將所述處理結(jié)果返回給處理器,若已達(dá)到最大延時(shí)但FIFO中無結(jié)果,則返回指示協(xié)處理超時(shí)的處理結(jié)果。
當(dāng)協(xié)處理器對(duì)某操作指令(如操作指令d)進(jìn)行協(xié)處理過程中,協(xié)處理時(shí)間超過最大延時(shí),則向處理器發(fā)送指示協(xié)處理超時(shí)的處理結(jié)果,并繼續(xù)等待,在對(duì)應(yīng)所述操作指令d 的處理結(jié)果D存進(jìn)結(jié)果FIFO時(shí),將該處理結(jié)果D丟棄。需要說明的是,由于對(duì)應(yīng)操作指令 c的處理結(jié)果C已經(jīng)被發(fā)送出去了,因此,該處理結(jié)果D位于結(jié)果FIFO中的最前面,因此直接將該位于結(jié)果FIFO最前面的處理結(jié)果丟棄即可。當(dāng)?shù)却^一定時(shí)間時(shí),對(duì)應(yīng)操作指令 e的處理時(shí)間也超過最大延時(shí),也需要返回指示協(xié)處理超時(shí)的處理結(jié)果,而由于協(xié)處理器一般是順序指令操作指令,因此,對(duì)應(yīng)操作指令e的操作結(jié)果E在結(jié)果FIFO中的位置會(huì)在操作結(jié)果D之后。針對(duì)此特點(diǎn),本實(shí)施例利用計(jì)數(shù)器記錄返回所述指示協(xié)處理超時(shí)的處理結(jié)果的數(shù)量(本例中,數(shù)量為幻,依據(jù)該數(shù)量丟棄后續(xù)存入結(jié)果FIFO中的兩個(gè)處理結(jié)果,并將計(jì)數(shù)器清零,然后按照正常程序處理操作指令f。本實(shí)施例增加的后續(xù)處理步驟,可以避免返回結(jié)果的混亂,提高協(xié)處理器的可靠性。當(dāng)所述結(jié)果FIFO中有處理結(jié)果時(shí),丟棄相應(yīng)數(shù)量的指示協(xié)處理延時(shí)超過結(jié)果要求的處理結(jié)果。此外,在記錄的指示協(xié)處理延時(shí)超過接口要求的處理結(jié)果丟棄完之前,還有操作指令需要返回處理結(jié)果,則繼續(xù)返回指示協(xié)處理超時(shí)的處理結(jié)果,并記錄返回指示協(xié)處理延時(shí)超時(shí)的處理結(jié)果的數(shù)量,直到把所有沒有返回的處理結(jié)果讀取出來為止。本領(lǐng)域技術(shù)人員可以理解,本實(shí)施例公開的后續(xù)處理步驟,可以和上述三個(gè)實(shí)施例配合使用,不僅可以避免處理器不能及時(shí)接收到協(xié)處理結(jié)果而發(fā)生異常的情況,同時(shí)也可避免返回結(jié)果的混亂。參見圖5,為本實(shí)施例公開的方法所對(duì)應(yīng)的協(xié)處理器,包括接收單元502、計(jì)時(shí)單元503、發(fā)送單元504、判斷單元505、指令緩存FIF0506、內(nèi)部處理單元507和結(jié)果FIF0508。發(fā)送單元504包括第一發(fā)送單元5041和第二發(fā)送單元5042。本實(shí)施例公開的協(xié)處理器的工作原理為接收單元502接收由處理器501發(fā)送的操作指令,記錄收到該操作指令的時(shí)間,并將該操作指令寫入指令緩存FIF0506,內(nèi)部處理單元507從指令緩存FIF0506中讀取相應(yīng)的操作指令,并對(duì)其進(jìn)行協(xié)處理,將協(xié)處理結(jié)果發(fā)送給結(jié)果FIF0508,計(jì)時(shí)單元503為接收單元502和發(fā)送單元504提供時(shí)間,判斷單元505 用于將當(dāng)前的時(shí)間與最早接收操作指令的時(shí)間相比較,判斷此時(shí)的時(shí)間是否到達(dá)接口的最大延時(shí)時(shí)間,第一發(fā)送單元5041和第二發(fā)送單元5042獲取所述判斷單元505的判斷結(jié)果, 在沒有超過接口的最大延時(shí)的情況下,實(shí)時(shí)地向結(jié)果FIF0508取結(jié)果,如結(jié)果FIF0508存在處理結(jié)果,則第一發(fā)送單元5041向處理器501返回該結(jié)果,當(dāng)?shù)竭_(dá)接口的最大延時(shí)時(shí)間時(shí), 結(jié)果FIF0508還沒有處理結(jié)果,第二發(fā)送單元5042則向處理器501返回指示協(xié)處理延時(shí)超過接口要求的處理結(jié)果,由處理器5601決定下一步如何處理。圖6為本實(shí)施公開的接口延時(shí)保護(hù)方法所對(duì)應(yīng)的協(xié)處理器,結(jié)構(gòu)與圖5所示協(xié)處理器基本相同,不同的是,增加了預(yù)設(shè)容器FIF0609,用于緩存接收單元602接收到的操作指令和記錄的接收該指令的時(shí)間,判斷單元605用于將當(dāng)前的時(shí)間與預(yù)設(shè)容器FIF0609中緩存的最早接收操作指令的時(shí)間相比較,判斷此時(shí)的時(shí)間是否到達(dá)接口的最大延時(shí)時(shí)間, 當(dāng)?shù)竭_(dá)接口的最大延時(shí)時(shí)間時(shí),若結(jié)果FIF0608還沒有處理結(jié)果,第二發(fā)送單元6042則向處理器601返回指示協(xié)處理延時(shí)超過接口要求的處理結(jié)果,由處理器601決定下一步如何處理。其它各單元的功能和連接關(guān)系參見圖5,不再贅述。本領(lǐng)域技術(shù)人員可以理解,由預(yù)設(shè)容器FIFO的本身特征決定,判斷是否到達(dá)接口的最大延時(shí)時(shí)間的方法為,判斷單元先讀取預(yù)設(shè)容器FIFO中存儲(chǔ)的位于隊(duì)列最前面的一個(gè)操作指令的接收時(shí)間,與計(jì)時(shí)單元提供的當(dāng)前時(shí)間相比較,進(jìn)而判斷是否到達(dá)應(yīng)該返回結(jié)果的時(shí)間。圖7為本實(shí)施例公開的接口延時(shí)保護(hù)方法所對(duì)應(yīng)的協(xié)處理器,與實(shí)施例二不同的是增加了指令緩存FIFO控制單元710,用于控制所述指令緩存FIFO讀取所述操作指令的速度,使所述指令緩存FIFO的讀取速度不超過所述內(nèi)部處理單元的協(xié)處理性能;和/或控制所述指令緩存FIFO的大小,使所述操作指令在所述指令緩存FIFO中的緩存時(shí)間不超過所述內(nèi)部處理單元的協(xié)處理延時(shí)的裕量。相應(yīng)的,根據(jù)本實(shí)施例所述的方法,預(yù)設(shè)容器 FIF0709中存儲(chǔ)有接收單元702接收的所有操作指令及其接收時(shí)間,其中包括因指令緩存 FIF0706已滿而被打上表示協(xié)處理超時(shí)標(biāo)識(shí)的操作指令,發(fā)送單元704由新增的第三發(fā)送單元(圖中未示出)實(shí)時(shí)的讀取預(yù)設(shè)容器FIF0709中的操作指令,如果讀取到帶有超時(shí)標(biāo)識(shí)的操作指令,就直接向處理器701返回指示協(xié)處理延時(shí)超過接口要求的處理結(jié)果,而不去判斷結(jié)果FIF0708中是否有處理結(jié)果以及是否到達(dá)接口的最大延時(shí)。其他單元的功能與圖5、圖6中的同名單元基本相同,在此不再贅述。下面僅以實(shí)施例三與本實(shí)施例相結(jié)合為例,公開了一種協(xié)處理器,如圖8所示。本實(shí)施例在實(shí)施例三的基礎(chǔ)上,增加了丟棄單元811,所述丟棄單元811用于在所述第二發(fā)送單元8042返回所述指示協(xié)處理延時(shí)的處理結(jié)果之后,丟棄所述結(jié)果FIF0808中存進(jìn)的與帶有超時(shí)標(biāo)識(shí)的操作指令相應(yīng)的處理結(jié)果。其他單元的功能與圖5、圖6和圖7中的同名單元基本相同,在此不再贅述。具體的,所述丟棄單元811可以包括計(jì)數(shù)器和刪除單元,棄計(jì)數(shù)器用于記錄返回指示協(xié)處理延時(shí)超過接口要求的處理結(jié)果的數(shù)量,刪除單元用于與計(jì)數(shù)器相配合,配合完成下列工作當(dāng)結(jié)果FIF0808中有結(jié)果時(shí),刪除單元?jiǎng)h除與所述計(jì)數(shù)器記錄的數(shù)量相應(yīng)數(shù)量的處理結(jié)果,計(jì)數(shù)器清理完之前,如果還有操作指令需要返回結(jié)果,則由發(fā)送單元 804(具體由第二發(fā)送單元804 返回指示協(xié)處理延時(shí)超過結(jié)果要求的處理結(jié)果,同時(shí)計(jì)數(shù)器記錄返回該結(jié)果的數(shù)量,直到計(jì)數(shù)器被清理完,即所有需要處理的操作指令均處理完成之后,發(fā)送單元804按照正常的處理流程向處理器801返回結(jié)果FIF0808中存儲(chǔ)的處理結(jié)
果。
本領(lǐng)域技術(shù)人員可以理解,本發(fā)明各實(shí)施例所公開的接口延時(shí)保護(hù)方法,不僅可以應(yīng)用中協(xié)處理器上,只要是有延時(shí)限制的接口連接器件,均可以采用本發(fā)明的思想進(jìn)行相應(yīng)的處理。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能, 但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。實(shí)施例五本發(fā)明實(shí)施例還公開了一種數(shù)據(jù)處理系統(tǒng),該系統(tǒng)的結(jié)構(gòu)圖如圖9所示,包括處理器910、協(xié)處理器911以及內(nèi)存912。其中,處理器910用于完成整個(gè)系統(tǒng)的主要處理工作,協(xié)處理器911用于協(xié)助處理器910進(jìn)行數(shù)據(jù)處理。系統(tǒng)整體工作方式為處理器910接收?qǐng)?bào)文并進(jìn)行處理,將處理內(nèi)容緩存至內(nèi)存912,當(dāng)出現(xiàn)某些處理器 910不能單獨(dú)完成的信息處理的情況時(shí),由協(xié)處理器911協(xié)助處理器910對(duì)相應(yīng)信息進(jìn)行處理。處理器通過QDR、LA-I或NSE等接口與協(xié)處理器連接,通過該接口,處理器可以把需要協(xié)處理器處理的數(shù)據(jù)發(fā)送給協(xié)處理器處理,同理,協(xié)處理器完成相應(yīng)的數(shù)據(jù)處理后,再通過該接口將處理結(jié)果返回給處理器;所述內(nèi)存912緩存所述處理器的處理數(shù)據(jù)。本發(fā)明實(shí)施例所公開的數(shù)據(jù)處理系統(tǒng)中的協(xié)處理器可為上述四個(gè)實(shí)施例所公開的協(xié)處理器中的任意一種,其主要功能為接收所述處理器910的操作指令,記錄接收所述操作指令的時(shí)間,并將所述操作指令寫入指令緩存FIFO中,讀取所述指令緩存FIFO中的操作指令并進(jìn)行協(xié)處理,將處理結(jié)果發(fā)送給結(jié)果FIFO ;當(dāng)協(xié)處理時(shí)間達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中沒有處理結(jié)果時(shí),返回指示協(xié)處理超時(shí)的處理結(jié)果給處理器910,當(dāng)協(xié)處理時(shí)間未達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中有處理結(jié)果時(shí),返回該處理結(jié)果給處理器 910。本實(shí)施例所公開的數(shù)據(jù)處理系統(tǒng),在協(xié)處理器912內(nèi)部的總協(xié)處理延時(shí)超過接口的最大延時(shí)時(shí),返回指示協(xié)處理延時(shí)超過接口要求的處理結(jié)果,進(jìn)而不會(huì)出現(xiàn)因協(xié)處理器的協(xié)處理超時(shí),而導(dǎo)致的處理器910在超過接口的最大延時(shí)時(shí)接收不到處理結(jié)果的情況, 從而避免了處理器910因此而發(fā)生異常,處理器910和整個(gè)系統(tǒng)的穩(wěn)定性較現(xiàn)有技術(shù)中有所提高。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以全部通過硬件來實(shí)施,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案對(duì)背景技術(shù)做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如 ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。以上對(duì)本發(fā)明進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種接口延時(shí)保護(hù)方法,其特征在于,包括 協(xié)處理器接收處理器的操作指令;記錄接收所述操作指令的時(shí)間; 將所述操作指令寫入指令緩存先入先出隊(duì)列FIFO中;讀取所述指令緩存FIFO中的操作指令并進(jìn)行協(xié)處理,將處理結(jié)果發(fā)送給結(jié)果FIFO ; 當(dāng)協(xié)處理時(shí)間未達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中有處理結(jié)果時(shí),返回所述處理結(jié)果給所述CPU ;當(dāng)協(xié)處理時(shí)間達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中沒有處理結(jié)果時(shí),返回指示協(xié)處理超時(shí)的處理結(jié)果給所述CPU。
2.根據(jù)權(quán)利要求1所述的接口延時(shí)保護(hù)方法,其特征在于,還包括將接收到的操作指令和記錄的接收所述指令的時(shí)間緩存至預(yù)設(shè)容器。
3.根據(jù)權(quán)利要求2所述接口延時(shí)保護(hù)方法,其特征在于,接收所述操作指令之后,將所述操作指令寫入指令緩存FIFO之前,還包括當(dāng)所述指令緩存FIFO已滿時(shí),在所述操作指令上打上表示協(xié)處理超時(shí)的標(biāo)識(shí),并將此帶有超時(shí)標(biāo)識(shí)的操作指令緩存至所述預(yù)設(shè)容器。
4.根據(jù)權(quán)利要求3所述接口延時(shí)保護(hù)方法,其特征在于,還包括讀取所述預(yù)設(shè)容器中緩存的操作指令,若讀取到所述帶有超時(shí)標(biāo)識(shí)的操作指令后,則返回指示協(xié)處理延時(shí)的處理結(jié)果。
5.根據(jù)權(quán)利要求1或2所述接口延時(shí)保護(hù)方法,其特征在于,返回所述指示協(xié)處理超時(shí)的處理結(jié)果之后,還包括丟棄所述結(jié)果FIFO中存進(jìn)的協(xié)處理超時(shí)的處理結(jié)果。
6.一種協(xié)處理器,其特征在于,包括接收單元,用于接收處理器發(fā)送的操作指令; 計(jì)時(shí)單元,用于記錄接收所述操作指令的時(shí)間;指令緩存FIFO,用于緩存所述操作指令,并將所述操作指令提供給內(nèi)部處理單元; 內(nèi)部處理單元,用于讀取指令緩存FIFO中的操作指令,對(duì)所述操作指令進(jìn)行協(xié)處理, 并發(fā)送處理結(jié)果;結(jié)果FIFO,用于接收并存儲(chǔ)內(nèi)部處理單元對(duì)所述操作指令的處理結(jié)果; 判斷單元,用于將當(dāng)前時(shí)間與記錄的最早接收所述操作指令的時(shí)間相比較,判斷協(xié)處理時(shí)間是否到達(dá)接口的最大延時(shí)時(shí)間;第一發(fā)送單元,用于當(dāng)協(xié)處理時(shí)間未達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中有處理結(jié)果時(shí),返回所述處理結(jié)果給所述CPU ;第二發(fā)送單元,用于當(dāng)協(xié)處理時(shí)間達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中沒有處理結(jié)果時(shí),返回指示協(xié)處理超時(shí)的處理結(jié)果給所述CPU。
7.根據(jù)權(quán)利要求6所述協(xié)處理器,其特征在于,還包括,預(yù)設(shè)容器,用于緩存接收到的操作指令和記錄的接收所述指令的時(shí)間。
8.根據(jù)權(quán)利要求7所述協(xié)處理器,其特征在于,還包括丟棄單元,用于在所述第二發(fā)送單元返回所述指示協(xié)處理超時(shí)的處理結(jié)果之后,丟棄所述結(jié)果FIFO中存進(jìn)的協(xié)處理超時(shí)的處理結(jié)果。
9.一種數(shù)據(jù)處理系統(tǒng),包括處理器、內(nèi)存以及協(xié)處理器,其特征在于,所述協(xié)處理器,用于接收所述處理器的操作指令,記錄接收所述操作指令的時(shí)間,并將所述操作指令寫入指令緩存FIFO中,讀取所述指令緩存FIFO中的操作指令并進(jìn)行協(xié)處理, 將處理結(jié)果發(fā)送給結(jié)果FIFO,當(dāng)協(xié)處理時(shí)間達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中沒有處理結(jié)果時(shí),返回指示協(xié)處理超時(shí)的處理結(jié)果,當(dāng)協(xié)處理時(shí)間未達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中有處理結(jié)果時(shí),返回所述處理結(jié)果; 所述內(nèi)存,用于緩存所述處理器的處理數(shù)據(jù)。
全文摘要
本發(fā)明實(shí)施例公開了一種接口延時(shí)保護(hù)方法,包括協(xié)處理器接收處理器的操作指令,記錄接收所述操作指令的時(shí)間,將所述操作指令寫入指令緩存先入先出隊(duì)列FIFO中,讀取所述指令緩存FIFO中的操作指令并進(jìn)行協(xié)處理,將處理結(jié)果發(fā)送給結(jié)果FIFO,當(dāng)協(xié)處理時(shí)間未達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中有處理結(jié)果時(shí),返回所述處理結(jié)果給所述CPU,當(dāng)協(xié)處理時(shí)間達(dá)到最大處理延時(shí)且所述結(jié)果FIFO中沒有處理結(jié)果時(shí),返回指示協(xié)處理超時(shí)的處理結(jié)果給所述CPU。本發(fā)明解決了現(xiàn)有技術(shù)的問題,在接口允許的延時(shí)范圍內(nèi),將處理結(jié)果返回給處理器,避免了處理器因此發(fā)生異常,提高了處理器和整個(gè)系統(tǒng)的穩(wěn)定性。
文檔編號(hào)G06F15/167GK102156684SQ201010590049
公開日2011年8月17日 申請(qǐng)日期2010年12月15日 優(yōu)先權(quán)日2010年12月15日
發(fā)明者張君秋, 曹學(xué)成, 王建文, 顧堃 申請(qǐng)人:成都市華為賽門鐵克科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
内江市| 探索| 泽普县| 辉县市| 望谟县| 穆棱市| 张家港市| 呼玛县| 汝城县| 西安市| 通许县| 宁安市| 潮州市| 高碑店市| 化隆| 穆棱市| 新丰县| 凤庆县| 钟祥市| 濮阳市| 丽江市| 凤山县| 海城市| 彰化县| 军事| 子洲县| 靖西县| 托里县| 海淀区| 定日县| 祁门县| 德保县| 英超| 三都| 元江| 陆河县| 阿坝县| 南漳县| 中宁县| 远安县| 桂平市|