TWI394078B - 用於一處理器之方法及一處理器 - Google Patents

用於一處理器之方法及一處理器 Download PDF

Info

Publication number
TWI394078B
TWI394078B TW94132516A TW94132516A TWI394078B TW I394078 B TWI394078 B TW I394078B TW 94132516 A TW94132516 A TW 94132516A TW 94132516 A TW94132516 A TW 94132516A TW I394078 B TWI394078 B TW I394078B
Authority
TW
Taiwan
Prior art keywords
packet
processing pipeline
data packet
cost
processor
Prior art date
Application number
TW94132516A
Other languages
English (en)
Other versions
TW200632741A (en
Inventor
Thomas Boden
Jakob Carlstrom
Original Assignee
Marvell Int Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Marvell Int Ltd filed Critical Marvell Int Ltd
Publication of TW200632741A publication Critical patent/TW200632741A/zh
Application granted granted Critical
Publication of TWI394078B publication Critical patent/TWI394078B/zh

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

用於一處理器之方法及一處理器
本發明係關於一種用於一包含一處理管線及至少一個資料封包介面之處理器的方法。
在管線式網路處理器中,在處理單元或處理元件中處理資料封包,資料封包經由該等處理單元或處理元件順序傳輸。在非同步管線中,對進入某一處理元件之允許係獨立於對進入其他處理元件之允許。在已知管線處理器中,將輸入流量導入處理元件序列,以達到一固定速率,或在無受控制之允許限制的情況下將其盡可能迅速地允許,藉此由處理能力給予限制。在封包具有不同處理要求或具有不同大小之狀況下,由於封包可能會排隊等候較長一段時間以待在隨後之處理元件中完成,故而處理元件之間需有相對較大之緩衝量。換言之,由於最大封包率係取決於管線頻寬(位元/秒)及最小封包大小,故而不同封包可能需要在不同處理元件FIFO(先進先出)中等待,從而使PE FIFO大小之總和很大。
本發明之目標係減小管線處理器中所需之緩衝量。
用一種用於包含一處理管線及至少一個資料封包介面之處理器的方法來實現此目標,該方法包含此步驟:依靠由第一資料封包在該管線之至少一部分中之預期滯留時期決定的成本資訊(cost information)來准許第二資料封包導入該管 線。
本發明尤其適合於與網路處理器之連接中。成本資訊可取決於第一資料封包在處理管線之一處理元件中之最長滯留時期。該成本可以不同方式定義。一種較佳定義如下:假定資料封包D1在時間TM_ENTRY_1時進入一空處理管線且在時間TM_EXIT_1時離開該處理管線。隨後之資料封包D2在時間TM_ENTRY_2時進入該處理管線且在時間TM_EXIT_2時離開該處理管線。資料封包D1之成本C1係基於最小時間差異C1=TM_ENTRY_2-TM_ENTRY_1,該時間差異將使得資料封包D2無需等待處理管線中之任何繁忙處理元件;或係基於一大於或等於該時間差異之近似值。因此,成本C1係基於資料封包D1佔用處理管線中之任何元件而使其無法接受新封包之最長時間,進一步見下文。
本發明將避免在處理中之資料封包後面長時間排隊之情形。由於本發明將減少資料封包必須在管線之任何部分等待之風險,故而本發明可防備管線之儲存量與根據已知技術之管線相比減小。
在一個實施例中,第一資料封包與第二資料封包相同。換言之,資料封包之允許係取決於該資料封包本身之成本。因此,可用所謂嚴格符記桶演算法(strict token bucket algorithm)來准許資料封包導入管線,藉此該桶位準(bucket level)以固定信用量(credit amount)週期性地增加,且當該信用至少大到對應下一依序資料封包之成本時,准許此資料封包導入管線,藉此符記桶位準以對應於 該資料封包之成本之量減小。
然而,在一較佳實施例中,第一與第二資料封包係不同的,且第一資料封包先於第二資料封包進入管線。因此,可用所謂不嚴格符記桶演算法(loose token bucket algorithm)來判定對該管線之允許,藉此該桶位準以固定信用量週期性地增加。較佳無論使用嚴格符記桶演算法或係不嚴格符記桶演算法,每當增加符記桶之信用位準時,信用位準均以預定量增加,例如一位元。當信用已達到預定值(例如當信用為零或正數時),依序之下一資料封包(此處即第一資料封包)允許管線,藉此符記桶位準以對應於第一資料封包之成本之量減小。由於第一資料封包允許後之信用值取決於後者之成本,且下一資料封包(此處即第二資料封包)直至該信用又已達到預定值才被允許,故而第二資料封包之允許取決於第一資料封包之成本。由於資料封包之允許與先前封包之成本間的直接相關將進一步減少任何封包將不得不等待處理元件完成對先前封包之處理的風險,故而此係一優勢。
較佳無論使用嚴格或不嚴格之符記桶演算法,成本資訊均判定為C=N*T/D,其中C係封包之成本,N係封包輸入至處理器之管線之端口或介面的數目,T係管線中之任何處理元件由於處理封包所致之最長封鎖時間,而D係每一介面處之符記桶之信用位準之連續兩次增加之間的時期。
因此,舉例而言,若僅有一個輸入端口供封包進入管線,意即N=1,且亦假設T=1且D=1,則C=1。若存在多於 一個之輸入端口,則較佳用循環排程來共用管線。因此,舉例而言,若存在兩個輸入端口供封包進入管線,意即N=2,且亦假設T=1且D=1,則C=2。
或者,在處理器具備多於一個之輸入端口之狀況下,可在該等輸入端口之間不對稱地共用處理能力。因此,每一輸入端口K=1,2,3...N可具有一相關加權M_K,以使得M_1+M_2+...+M_N=N,且通過輸入端口K所接收之封包之成本係C_K=M_K*N*T/D。
作為替代方案,用CN*T/D來判定成本資訊,意即,將該成本至少設定為N*T/D。在使用者不想或不能利用該管線之全部容量之情況下可使用此方案。
根據一個實施例,由第二資料封包在管線中之至少一部分內之預期滯留時期決定的成本資訊不同於由第一資料封包在管線中之至少一部分內之預期滯留時期決定的成本資訊。換言之,成本資訊係"封包特定的"。結果,由於可獲得關於個別封包之成本資訊,故而可實現高準確度之封包允許控制。較佳藉此將成本資訊儲存於各自資料封包之標頭中。或者,可對成本資訊採用其它儲存形式,例如儲存在各自封包尾部或儲存在一平行於封包輸入緩衝器之單獨控制通道中。
其他或另外,成本資訊對應於預定之"介面特定的"資訊,該資訊由複數個資料封包之成本假設決定。因此,在預先知道(例如)來自一或多個介面之封包具有相似成本之情況下,若進行一大體假設則無需針對個別封包讀取此種 資訊,且因此可簡化封包允許過程。更具體而言,將在一介面處假設複數個或所有封包均具有對應於預定資訊之相同成本,藉此形成介面特定之成本資訊。該介面特定資訊較佳係基於對複數個封包之最大成本的估計。當處理器包含至少兩個用於資料封包之介面時,至少一個該等介面處之封包之成本資訊可不同於至少一個其它介面處之封包之成本資訊,從而能將成本較高之封包分派至具有特定之介面特定成本假設的特定介面,而將成本較低之封包分派至另一具有另一介面特定成本假設的介面。
根據一種替代方案,管線處理器至少包含兩個用於資料封包之介面,藉此第一介面處之資料封包之成本資訊係介面特定的,且不同於第二介面處之資料封包之介面特定的成本資訊。
作為替代方案,該方法包含以下步驟:檢查複數個封包、判定封包成本,且對於成本超過一預定值之封包,將其成本資訊儲存為封包特定成本資訊。
較佳在第一介面處使用符記桶演算法來執行准許第二資料封包導入該管線之步驟,藉此基於成本資訊來調節符記桶之信用,從而將來自第一介面之符記桶的溢位信用轉移至用於在第二介面處允許封包的溢位符記桶(overflow token bucket)。
該溢位桶使得可准許一個較昂貴之封包經第二介面進入管線。因此,可經由第一介面導入普通流量封包(本文中亦稱為轉遞平面封包),且經由第二介面導入昂貴封包。 較佳針對此種昂貴封包之後堆積的佇列來設計該管線中之FIFO緩衝器的大小。或者,針對一或多個此類昂貴封包之後堆積的佇列來設計FIFO緩衝器的大小。較佳在可將新的昂貴封包發送至該管線之前再次填滿該溢位桶。此措施保證在下一昂貴封包到達且使該佇列再次增長之前,管線中堆積之緩衝器已退回到正常位準。此類昂貴封包之一實例係經外部CPU(中央處理單元)傳送至該處理器之用於控制及管理之封包,本文中亦稱為控制及管理封包。
較佳在第二介面處,既准許導入上文所述之成本資訊對應於介面特定預定值之封包,亦准許導入上文所述之具有個別封包特定成本資訊之封包。
亦藉由如請求項11-20中任一項之處理器且藉由如請求項21之路由器或電腦單元來實現本發明之目標。
圖1說明本發明之第一實施例。網路處理器之處理管線1包含一非同步處理管線2,後者又包含複數個處理元件P1、P2...PK。如以引用方式併入本文中之WO 2004/010288中所述,任何該等處理元件P1、P2...PK均可為用於接取一處理裝置或引擎之接取點。在該圖中自左至右地轉遞資料流量。在資料流量之方向中,於每一處理元件P1、P2...PK前方提供FIFO緩衝器形式之處理元件緩衝器B1、B2...BK。在隨後之處理元件P1、P2...PK中正處理先前封包之期間,可將資料封包儲存於每一緩衝器B1、B2...BK中,且一旦完成該處理隨即又准許下一封包導入該隨後之處理元件 P1、P2...PK。
資料封包D1、D2、D3經由一包含輸入端口3之介面進入該處理器,且儲存於輸入緩衝器4中。每一資料封包D1、D2、D3均包含一帶有關於該資料封包成本資訊c1、c2、c3的標頭。(該標頭亦可包括關於該資料封包大小之資訊。)成本資訊c1、c2、c3取決於關於個別資料封包D1、D2、D3佔用處理管線2中之任何處理元件P1、P2...PK而使其無法接受新資料封包之最長時間的資訊。
較佳如上文在"說明內容"部分中所述判定成本資訊c1、c2、c3,例如c1=N*T/D,在此實例中其中N(輸入端口之數目)=1,T係管線2中任何處理元件P1、P2...PK因處理封包D1所致之最長封鎖時間,而D係輸入端口3處之符記桶之連續兩次信用位準增加之間的時期,進一步見下文。
可以多種方式將該成本資訊分配至個別資料封包。舉例而言,如圖1所描述,若使用者預知資料封包之處理成本,則可用資料封包(例如在標頭中)來傳輸成本資訊。或者,可調整該處理器之一分類器,以檢查封包且判定封包成本("預分類")。如將於下文中進一步描述之另一替代方案,可將一介面處之所有封包之成本設置為相同值,意即所有封包之成本均對應於一預定介面特定值。
由封包率整形器5(本文中亦稱為整形器5)來用符記桶演算法判定對管線2之允許。該整形器5經調適以讀取關於該等進入封包D1、D2、D3的成本資訊c1、c2、c3。該整形器較佳使用所謂不嚴格符記桶整形器,意即若該信用為負 值,則該桶位準以固定信用量週期性地(例如以處理器1之每一時脈週期)增加。當該信用為零或正值時,准許輸入緩衝器4中之下一依序封包D1導入管線2,藉此符記桶位準以對應於封包D1之成本c1之量降低。圖1a及1b示意描述此機制。輸入緩衝器4中之下一依序封包D1之成本c1為X,且因為整形器5之桶位準為零,所以准許封包D1導入管線2。因此,該桶位準降低X,且該輸入緩衝器中之下一封包D2將必須等候,直至該桶位準又達到零時才被允許該管線。
或者,使用嚴格符記桶演算法,藉此該桶位準以固定信用量週期性地增加,且當該信用至少大到足以對應下一依序封包D1之成本c1時,才准許此封包D1導入管線2,藉此該符記桶位準以對應於封包D1之成本c1之量降低。然而,由於該不嚴格方案中之唯一封包允許條件係信用位準非負值,故而其所包含之操作步驟少於嚴格方案,且因而不必接著在符記桶之成本與封包之成本之間作對比,因此,較佳使用不嚴格符記桶演算法。
因為成本資訊係基於在該管線中操作封包D1、D2、D3之預測量,且該操作量與該等封包之處理時間成比例,所以為根據本發明之資料封包流整形將導致調整該封包流以符合該等封包之處理要求,而其又將使處理元件緩衝器B1、B2......BK可保持較小尺寸。
進入管線2之後,在經由輸出端口7傳輸封包之前將該等封包儲存於輸出緩衝器6中。
作為讀取儲存在封包D1、D2、D3之標頭中之成本資訊c1、c2、c3的替代方案,整形器5可以一介面特定預定值來調節符記桶之位準。該介面特定值較佳對應於對進入封包之最大成本估算。
亦可能在一介面處將上文所述之成本資訊對應於一介面特定預定值之封包與上文亦已描述之具有個別封包特定成本資訊之封包混合。因此,諸如一個上文所述之分類器可檢查封包、判定封包成本,且對於成本超過一預定值之封包,將其成本資訊儲存為封包特定成本資訊。藉此可實現更強靈活性及更高效率,因為可在介面特定成本資訊無需假設一異常高之值的情況下處理成本異常高的封包。
參看圖2,應注意,該管線可能含有至少一個同步元件8,每一同步元件8之前後有彈性緩衝器(elastic buffering)9、10。然而,此並未改變此處所提出之發明性概念。
參看圖3,圖中說明本發明之第二實施例。網路處理器1包含一類似於如上文參看圖1所述之管線之非同步處理管線2,但其亦包括一如參看圖2所述之帶有彈性緩衝器9、10之同步元件8。
資料封包D11、...、D1M經由各包含一輸入端口31、32、...、3M之介面進入該處理器,且儲存於個別輸入緩衝器41、42、...、4M中。管線判優器(arbiter)11、51、52、...、5M包含一排程器11及複數個整形器51、52、...、5M。特定言之,為每對輸入端口31、32、...、3M及輸入緩衝器41、42、...、4M提供一各根據符記桶演算法進行整 形之整形器51、52、...、5M。在此陳述中,於介面或輸入端口處提供排程器或符記桶,係表示其係由介面或輸入端口實體性提供,或係功能性地連接至介面或輸入端口。由整形器51、52、...、5M及根據循環演算法(Round Robin algorithm)運算之排程器11來判定對管線2之允許,藉此由排程器11以連續輪詢順序准許整形器51、52、...、5M接取該管線。除循環演算法之外,亦可使用其他排程規則,例如加權公平排序、差額循環、差額加權循環、嚴格優先排序及先到先服務。
當一封包D11、...、D1M進入管線2時,根據一個別介面特定預定成本值c1、c2、...、cM來調整(意即,減少)個別符記桶信用。在此實施例中,整形器51、52、...、5M之成本值c1、c2、...、cM彼此不同。因此,由於總體系統性質之緣故,在介面上所接收之封包對於處理有類似需要。例如,一個介面可自線路接收將被分類及轉換的封包,而另一介面自切換結構接收傳輸之前一般需要較少處理的封包。因此,圖3中所說明之實施例提供多個具有每個緩衝器特定之成本的輸入緩衝器,例如每個實體/邏輯介面各一個緩衝器,其中不同介面有不同處理需要。當然,作為替代方案,兩個或兩個以上之整形器可以相同成本值運行。
在此實施例中,對於特定整形器51、52、...、5M用N*T/D確定介面特定成本值c1、c2、...、cM,其中N係輸入端口31、32、...、3M之數目,T係管線中之任何處理元 件因處理由整形器51、52、...、5M所允許之封包所致之最長封鎖時間,且D係整形器51、52、...、5M處之符記桶之信用位準的週期性增量。
如上文所述,圖3中整形器51,52,...5M之符記桶演算法較佳係不嚴格的。若令牌寄存至個別整形器51,52,...5M之循環率高於由排程器11對個別整形器51,52,...5M之輪詢率,則較佳增加每一整形器51,52,...5M之桶位準(若該位準低於叢發大小(burst size)B)。因此,B係排程器11對個別整形器51,52,...5M之連續兩次輪詢之間之時脈週期或令牌寄存之最大數目。結果,在一整形器51,52,...5M準備轉遞封包D11,...D1M但排程器11正為另一整形器51,52,...5M服務之狀況下,不會浪費令牌。當然可結合嚴格符記桶演算法使用相同策略。
進入管線2之後,每一封包D11,...D1M先經過個別輸出緩衝器61,62,...6M,然後經由若干輸出端口71,72,...7M中之一者傳輸。
作為介面特定預定成本值c1,c2,...cM之替代方案,如上文參看圖1所述,整形器51,52,...5M可在每一封包標頭中之成本資訊之基礎上准許轉遞封包D11,...D1M。作為另一替代方案,可使用一種混合策略,其中有一或多個整形器51,52,...5M採用使用介面特定預定成本值的策略,而有一或多個整形器51,52,...5M採用使用封包標頭中之成本資訊的策略。
有些自外部CPU發送之封包(例如用於控制及管理處理 器之封包)在處理元件P1,P2,...PK處引起消耗更多時脈週期之操作,且其因而具有比正常流量封包上之(例如,轉遞平面引擎接取之)常規操作更高的成本。此種控制及管理引擎接取之一實例係寫入特定類型之TCAM(三態內容可尋址記憶體),若處理元件P1,P2,...PK之處理速度係經調適以適合正常流量封包上之常規操作,且管線判優器之封包率整形器51,52,...5M係經組態以匹配此等處理速度,則"消耗較多週期"(cycle-expensive)意即成本較高之處理(例如以控制及管理引擎接取之形式)可在受影響之處理元件之請求FIFO中引起請求堆積。為避免請求FIFO中發生溢位,必須先准許後者排空,然後新的消耗較多週期之控制及管理封包方可插入可程式化之管線2中。
參看圖4,圖中展示一管線判優器PA,其具有五個用於進入資料流量之介面31、32、33、34、3X,該管線判優器經調適以將資料流量轉遞至一如箭頭A所示之處理管線。當然該管線判優器原則上可包括任何數目之介面。為解決上述問題,本發明之一較佳實施例中包括在管線判優器PA中指定一介面,作為用於諸如控制及管理封包之低優先權資料封包之介面3X,本文中亦稱為控制及管理封包介面3X。
在此實例中,四個該等介面31、32、33、34經調適以適合本文中亦稱為轉遞平面封包之普通資料流量。管線判優器PA在每一普通流量介面31、32、33、34處提供一位元率整形器81、82、83、84。位元率整形器81、82、83、84較 佳亦為不嚴格符記桶。其係用於限制資料叢發大小且用於在超額預定之系統中限制與保留每一介面之頻寬。或者,可提供一或多個沒有此種位元率整形器的判優器之介面,例如在有固定封包大小經過一或多個介面之狀況下,比如在ATM或其它基於單元(cell-based)之系統中。
如圖4中可見,控制及管理封包介面3X不具有其它介面所提供之封包率整形器51、52、53、54。該等封包率整形器51、52、53、54各自包括一封包率整形器符記桶T1、T2、T3、T4,用以如上文參看圖3所述以符記桶演算法來修整資料流量。此外,每一封包介面之每一封包率整形器51、52、53、54亦包含一溢位符記桶TX1、TX2、TX3、TX4。如圖4中彎曲箭頭所示,每一溢位符記桶TX1、TX2、TX3、TX4接收當個別封包率整形器符記桶T1、T2、T3、T4充滿時(特定言之,為零或處於其它預定位準)從中溢位之封包起始令牌。較佳封包率整形器符記桶T1、T2、T3、T4以及溢位符記桶TX1、TX2、TX3、TX4為不嚴格符記桶,如上文所述。
類似於圖3中之實施例,圖4中之實施例包含一根據循環演算法運行之排程器11,藉此排程器11按輪詢連續順序准許整形器51、52、53、54接取管線。
根據一個替代方案,排程器11遵循嚴格優先佇列規則,藉此不同佇列可具有不同優先權。因此,當排程器11決定接下來服務哪一佇列時,該規則將服務於一具有封包且優先權不低於其它具有封包之佇列的佇列。
管線判優器PA包括一比較功能裝置12,其用對排程器11所服務之整形器51、52、53、54之溢位符記桶TX1、TX2、TX3、TX4的位準與控制及管理封包標頭資訊進行比較。
較佳提供附加成本資訊,其可提供於封包標頭中,亦或個別封包之尾部中,或一平行於封包輸入緩衝器之單獨控制通道中。附加成本資訊係基於轉遞平面封包與控制及管理封包之間之差異,其係關於管線元件因進行處理所致之最長繁忙時期。亦可認為附加封包間距相對轉遞平面封包來界定控制及管理封包之附加成本資訊。舉例而言,若某一用於控制及管理之封包之最差情況之成本為10個週期,而一轉遞平面封包之成本為2個週期,則附加成本資訊設定為10-2=8。對於成本不大於轉遞平面封包的控制及管理封包,附加成本資訊設定為零。
准許控制及管理封包介面3X中之控制及管理封包導入處理管線之條件較佳係排程器11所服務之介面31、32、33、34中目前無封包。
比較功能裝置12較佳對排程器11所服務之整形器51、52、53、54之溢位符記桶TX1、TX2、TX3、TX4的位準與控制及管理封包之附加成本資訊進行比較。若溢位符記桶TX1、TX2、TX3、TX4之位準為零或正值,則准許控制及管理封包導入管線。因此,排程器11所服務之整形器51、52、53、54之溢位符記桶TX1、TX2、TX3、TX4的位準以對應於附加成本資訊之量降低。同樣,相應之封包率整形 器符記桶T1、T2、T3、T4以對應於轉遞平面封包之成本的量減少。因此,若一轉遞平面封包之成本為2且准許控制及管理封包導入管線之附加成本為8,則封包率整形器符記桶T1、T2、T3、T4降低2,且相應之溢位符記桶TX1、TX2、TX3、TX4降低8。
當然,可能存在其他控制及管理封包之導入程序。舉例而言,控制及管理封包之允許條件可為溢位符記桶TX1、TX2、TX3、TX4中至少有兩者之位準為零或正值,藉此,當允許封包時,該等溢位符記桶中至少有兩者以附加成本之量降低。此外,可指定控制及管理封包之不同允許條件,藉此此種條件之選擇可為封包特定。舉例而言,可為控制及管理封包分配高於普通流量封包的優先權,且此種基於個別封包之優先權決定資訊亦可包含於控制及管理封包之標頭中。
作為另一替代方案,可將嚴格符記桶演算法用於允許控制及管理封包。
用參看圖4所述之所提議之實施例,得以保證處理元件緩衝器或FIFO B1、B2...BK在消耗較多週期之控制及管理封包插入之前排空。此措施防止管線元件FIFO中產生溢位。該發明性解決方案與已知技術之解決方案相比提供對處理能力之有效利用,該等已知技術之解決方案包括控制平面CPU嵌入虛設與增加控制平面負載之無操作控制及管理封包。
處理器1及上述方法適用於路由器或用於防火牆應用之 電腦單元,且亦適用於各種將受益於管線流通之電腦單元。此類電腦單元之實例為諸如開關、閘道器之網路電腦單元,意即在不同類型之網路及應用之間執行協議轉換之電腦單元及用於網路伺服器之負載平衡單元。
本發明亦適用於參與數字訊號處理之電腦單元,意即,參與分析及/或修改來自諸如聲音、氣候衛星及地震監測儀之來源之訊號的電腦單元。在此狀況下,處理器1所接收之資料封包可為模擬訊號序列之數位表示。結合本發明使用數位訊號處理的領域係例如生物醫學、聲納、雷達、地震學、語音及音樂處理、成像、多媒體應用及通信。
1‧‧‧處理器
2‧‧‧管線
3,31,32,3M‧‧‧輸入端口
31,32,33,34,3X‧‧‧介面
4,41,42,4M‧‧‧輸入緩衝器
5,51,52,53,54,5M‧‧‧整形器
6,61,62,6M‧‧‧輸出緩衝器
7,71,72,7M‧‧‧輸出端口
8‧‧‧同步元件
9,10‧‧‧彈性緩衝器
11‧‧‧排程器
12‧‧‧對比功能裝置
81,82,83,84‧‧‧位元率整形器
c1,c2,c3‧‧‧成本資訊
D1,D2,D3,D11,D1M‧‧‧資料封包
B1,B2,BK‧‧‧處理元件緩衝器
P1,P2,PK‧‧‧處理元件
T1,T2,T3,T4‧‧‧封包率整形器符記桶
TX1,TX2,TX3,TX4‧‧‧溢位符記桶
圖1係一對應於一根據本發明之一個實施例之處理器的方塊圖;圖1a及1b係對應於圖1之圖表所對應之處理器之一部分之結構圖;圖2係對應於一根據本發明之另一實施例之處理器之一部分的方塊圖;圖3係對應於一根據本發明之另一實施例之處理器的方塊圖;及圖4係對應於一根據本發明之又一實施例之處理器之一部分的方塊圖。
1‧‧‧處理器
2‧‧‧管線
3‧‧‧輸入端口
4‧‧‧輸入緩衝器
5‧‧‧整形器
6‧‧‧輸出緩衝器
7‧‧‧輸出端口
c1,c2,c3‧‧‧成本資訊
D1,D2,D3‧‧‧資料封包
B1,B2,BK‧‧‧處理元件緩衝器
P1,P2,PK‧‧‧處理元件

Claims (20)

  1. 一種用於一處理器(1)之方法,以減少該處理器(1)中之一緩衝量,該處理器(1)包含一處理管線(2)及至少一個用於資料封包之介面(3),其中該處理管線(2)包含複數個處理元件及複數個處理元件緩衝器,並且其中每一個處理元件緩衝器係優先於該複數個處理元件中之一相對應的處理元件,該方法包含下列步驟:透過該至少一介面准許該複數個資料封包進入該處理器;將該複數個資料封包儲存於至少一輸入緩衝器內;根據一成本資訊控制該複數個資料封包流至該處理管線之流動,其中對於該複數個資料封包流至該處理管線之流動的控制係控制於該複數個資料封包導入該處理管線之前,並且對於該複數個資料封包流至該處理管線之流動的控制係基於該處理管線內的容量限制;准許一第一資料封包(D1)導入該處理管線;根據該成本資訊准許一第二資料封包(D2)導入該處理管線,其中該成本資訊係依靠一第一資料封包(D1)在該處理管線(2)之至少一部分(P1...PK)中之一預期滯留時期所決定;將該複數個資料封包儲存於該複數個處理元件緩衝器內;處理該複數個處理元件內的該複數個資料封包;將該複數個資料封包儲存於該處理器之至少一輸出緩衝 器內;以及透過該處理器之至少一輸出埠傳輸該複數個資料封包。
  2. 如請求項1之方法,其中該第一資料封包(D1)與該第二資料封包相同。
  3. 如請求項1之方法,其中該第一資料封包(D1)先於該第二資料封包(D2)進入該處理管線(2)。
  4. 如請求項3之方法,其中准許該第一資料封包(D1)導入該處理管線(2)之步驟係藉由使用一符記桶演算法來執行,藉此當該符記桶之一信用已達到一預定值時允許該第一資料封包(D1),且藉此該信用以一對應於該第一資料封包(D1)之該成本(c1)之量降低。
  5. 如請求項1-4中任一項之方法,其中由該第二資料封包(D2)在該處理管線中之至少一部分中之預期滯留時期決定的成本資訊(c2)不同於由該第一資料封包(D1)在該處理管線之至少一部分中之預期滯留時期決定的該成本資訊(c1)。
  6. 如請求項5之方法,其中該成本資訊(c1、c2)係儲存於該個別資料封包(D1、D2)之一標頭中。
  7. 如請求項1-4中任一項之方法,其中該成本資訊(c1)對應於由複數個資料封包之成本之一假設決定的介面特定預定資訊。
  8. 如請求項7之方法,其中該介面特定預定資訊對應於複數個封包之一最大成本之一估計。
  9. 如請求項1之方法,其包含檢查複數個封包,判定封包 成本,及對於成本超過一預定值之封包將其成本資訊儲存成封包特定成本資訊。
  10. 如請求項1之方法,其中准許一第二資料封包(D2)導入該處理管線(2)之該步驟係使用一符記桶演算法在一第一介面(31、32、33、34)處執行的,藉此基於該成本資訊(c1)調節該符記桶(T1、T2、T3、T4)之信用,藉此將一來自該第一介面(31、32、33、34)之該符記桶(T1、T2、T3、T4)的信用溢位轉移至一用於在一第二介面(3X)處允許至少一個封包的溢位符記桶(TX1、TX2、TX3、TX4)。
  11. 一種處理器(1),具有一較小的緩衝量,該處理器包含:一處理管線(2),其中該處理管線(2)包含複數個處理元件及複數個處理元件緩衝器,並且其中每一個處理元件緩衝器係優先於該複數個處理元件中之一相對應的處理元件;用於複數個資料封包之至少一介面(3),其中該介面准許該複數個資料封包進入該處理器;一輸入緩衝器,設置於該處理器內,其中該輸入緩衝器儲存該複數個資料封包;一整形器(5),係設置於該處理管線(2)之外,其中該整形器係經調適以根據成本資訊而准許一第二資料封包(D2)導入該處理管線(2),其中該成本資訊係依靠一第一資料封包(D1)在該處理管線之至少一部分(P1...PK)中之一預期滯留時期所決定,其中該整形器根據該成本資訊控制該複數個資料封包流至該處理管線之流動,其中對於該複數個資料封包流至該處理管線之流 動的控制係控制於該複數個資料封包導入該處理管線之前,並且對於該複數個資料封包流至該處理管線之流動的控制係基於該處理管線內的容量限制;一輸出緩衝器,其中該輸出緩衝器儲存該複數個資料封包;以及一輸出埠,用以將該複數個資料封包輸出至該處理器之外。
  12. 如請求項11之處理器,其中該第一資料封包(D1)與該第二資料封包相同。
  13. 如請求項11之處理器,其中該第一資料封包(D1)先於該第二資料封包(D2)進入該處理管線(2)。
  14. 如請求項13之處理器,其中該整形器(5)經調適以藉由使用一符記桶演算法而准許該第一資料封包(D1)導入該處理管線(2),藉此當該符記桶之一信用已達到一預定值時允許該第一資料封包(D1),且藉此該信用以一對應於該第一資料封包(D1)之該成本(c1)之量降低。
  15. 如請求項11-14中任一項之處理器,其中由該第二資料封包(D2)在該處理管線之至少一部分中之預期滯留時期決定的成本資訊(c2)不同於由該第一資料封包(D1)在該處理管線之至少一部分中之預期滯留時期決定的該成本資訊(c1)。
  16. 如請求項15之處理器,其中該成本資訊(c1、c2)係儲存在該個別資料封包(D1、D2)之一標頭中。
  17. 如請求項11-14中任一項之處理器,其中該成本資訊(c1)對應於複數個資料封包之成本之一假設決定的介面特定 預定資訊。
  18. 如請求項17之處理器,其中該介面特定預定資訊對應於對複數個封包之最大成本之一估計。
  19. 如請求項11之處理器,其包含一分類器,其經調適以檢查複數個封包、判定封包成本且對於成本超過一預定值之封包將其成本資訊儲存成封包特定成本資訊。
  20. 如請求項11之處理器,其中該整形器(5)經調適以在一第一介面(31、32、33、34)處使用一符記桶演算法來准許該第二資料封包(D2)導入該處理管線(2),藉此基於該成本資訊(c1)調節該符記桶(T1、T2、T3、T4)之信用,藉此將一來自該第一介面(31、32、33、34)之該符記桶(T1、T2、T3、T4)的信用溢位轉移至一用於在一第二介面(3X)處允許至少一個封包的溢位符記桶(TX1、TX2、TX3、TX4)。
TW94132516A 2004-12-22 2005-09-20 用於一處理器之方法及一處理器 TWI394078B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0403128A SE0403128D0 (sv) 2004-12-22 2004-12-22 A method for a processor, and a processor

Publications (2)

Publication Number Publication Date
TW200632741A TW200632741A (en) 2006-09-16
TWI394078B true TWI394078B (zh) 2013-04-21

Family

ID=34075257

Family Applications (1)

Application Number Title Priority Date Filing Date
TW94132516A TWI394078B (zh) 2004-12-22 2005-09-20 用於一處理器之方法及一處理器

Country Status (3)

Country Link
CN (1) CN100570551C (zh)
SE (1) SE0403128D0 (zh)
TW (1) TWI394078B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3151111B1 (en) * 2014-06-30 2018-10-17 Huawei Technologies Co., Ltd. Data processing method executed by network apparatus, and associated device
CN108628277B (zh) * 2018-08-16 2020-07-24 珠海格力智能装备有限公司 工作站的分配处理方法及装置、系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW475148B (en) * 1999-09-01 2002-02-01 Intel Corp Branch instruction for processor architecture
US20030069970A1 (en) * 2001-10-04 2003-04-10 Kt Corporation Method for controlling traffic flow using token bucket
US6757249B1 (en) * 1999-10-14 2004-06-29 Nokia Inc. Method and apparatus for output rate regulation and control associated with a packet pipeline

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1021143C (zh) * 1985-10-19 1993-06-09 霍尼韦尔布尔公司 多处理机公用的流水线超高速缓冲存储器
JPH11272627A (ja) * 1998-03-23 1999-10-08 Nec Corp パイプライン型マルチプロセッサシステム
US7155570B1 (en) * 2000-09-29 2006-12-26 Intel Corporation FIFO write/LIFO read trace buffer with software and hardware loop compression

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW475148B (en) * 1999-09-01 2002-02-01 Intel Corp Branch instruction for processor architecture
TW559729B (en) * 1999-09-01 2003-11-01 Intel Corp Instruction for multithreaded parallel processor
US6757249B1 (en) * 1999-10-14 2004-06-29 Nokia Inc. Method and apparatus for output rate regulation and control associated with a packet pipeline
US20030069970A1 (en) * 2001-10-04 2003-04-10 Kt Corporation Method for controlling traffic flow using token bucket

Also Published As

Publication number Publication date
CN100570551C (zh) 2009-12-16
SE0403128D0 (sv) 2004-12-22
TW200632741A (en) 2006-09-16
CN101088065A (zh) 2007-12-12

Similar Documents

Publication Publication Date Title
US8250231B2 (en) Method for reducing buffer capacity in a pipeline processor
US10764215B2 (en) Programmable broadband gateway hierarchical output queueing
US9240953B2 (en) Systems and methods for managing traffic in a network using dynamic scheduling priorities
EP1774714B1 (en) Hierarchal scheduler with multiple scheduling lanes
US7843816B1 (en) Systems and methods for limiting low priority traffic from blocking high priority traffic
US8259738B2 (en) Channel service manager with priority queuing
US7391786B1 (en) Centralized memory based packet switching system and method
US7248594B2 (en) Efficient multi-threaded multi-processor scheduling implementation
EP3562110B1 (en) Traffic management for high-bandwidth switching
US8997105B2 (en) Method for packet flow control using credit parameters with a plurality of limits
JP4164771B2 (ja) ロードバランス型スイッチ装置、及びロードバランス型スイッチ方法
TWI394078B (zh) 用於一處理器之方法及一處理器
US7379470B2 (en) Combined and data compressed FIFO based arbitration for a non-blocking switch
JP2015069345A (ja) 情報処理装置,データ転送装置,およびデータ転送方法
Chrysos Design issues of variable-packet-size, multiple-priority buffered crossbars
US20090073968A1 (en) Device with modified round robin arbitration scheme and method for transferring data
Yan et al. A Novel Packet Queuing And Scheduling Algorithm And Its Link Sharing Performance For Home Router
Pronk et al. Transactions Comments_