專利名稱:包括用于測(cè)量連接其構(gòu)件塊的通信總線的利用率的測(cè)量單元的集成電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種包括數(shù)據(jù)處理系統(tǒng)的集成電路,該數(shù)據(jù)處理系統(tǒng)包括多個(gè)處理單元和由至少兩個(gè)處理單元共享的資源。本發(fā)明還涉及包括這樣的集成電路的視頻處理單元。
背景技術(shù):
集成電路上的數(shù)據(jù)處理系統(tǒng),也被稱為片上系統(tǒng)(systems-on-silicon),常用于多媒體應(yīng)用。例如,在數(shù)據(jù)處理系統(tǒng)中,圖像和視頻處理單元能夠放在一起,以獲得一個(gè)完整的圖像或視頻處理系統(tǒng)。這樣的數(shù)據(jù)處理系統(tǒng)通常包括一個(gè)或多個(gè)中央處理單元(CPU’s)和許多的專用處理單元,例如圖像處理單元。于是,一個(gè)CPU管理必須被系統(tǒng)執(zhí)行的任務(wù),執(zhí)行通用的任務(wù)和控制系統(tǒng)的總體行為;這個(gè)CPU被稱為控制CPU。所述專用處理單元從控制CPU取得輸入,執(zhí)行特定的圖像處理任務(wù)并把它們的輸出返回到該控制CPU。所述專用處理單元也被稱為協(xié)處理器。其它的CPU能夠進(jìn)行執(zhí)行計(jì)算任務(wù)并且使它們的處理和該控制CPU同步。
US 5,287,511給出了集成電路上的數(shù)據(jù)處理單元的一個(gè)實(shí)施例,其中公開的體系結(jié)構(gòu)和方法用于把一個(gè)處理任務(wù)分成決策微處理器的任務(wù)和可編程實(shí)時(shí)信號(hào)處理器的任務(wù)。由Santanu Dutta,RuneJensen和Alf Rieckmann,在IEEE Design and test of computer,Sept/Oct2001上發(fā)表的文章“ViperA Multiprocessor SOC for Advanced Set-topBox and Digital TV systems”中公開了這樣的數(shù)據(jù)處理單元的另一個(gè)集成電路上的數(shù)據(jù)處理系統(tǒng)還包括由處理單元共享的通信資源,例如共享總線。該通信資源也可以是縱橫交換機(jī)(crossbar switch)、具有不同層次上的高速緩存的分級(jí)系統(tǒng)(hierarchical system)、或者包括路由器的網(wǎng)絡(luò)。共享存儲(chǔ)器典型地為處理單元之間流動(dòng)的數(shù)據(jù)充當(dāng)中央儲(chǔ)存庫。以上的例子中,CPU分配共享存儲(chǔ)器中的緩沖區(qū),并且為將要執(zhí)行的任務(wù),給圖像處理單元編寫恰當(dāng)?shù)膮?shù),包括設(shè)置將要使用的緩沖區(qū)的地址。開始執(zhí)行后,圖像處理單元自動(dòng)地從共享存儲(chǔ)器中的緩沖區(qū)中取回圖像數(shù)據(jù),執(zhí)行它們的處理任務(wù)并且把結(jié)果存儲(chǔ)到共享存儲(chǔ)器中的輸出緩沖區(qū)中。一個(gè)圖像處理單元的結(jié)果能夠被另一個(gè)圖像處理單元使用、被CPU使用或者它們能夠被發(fā)送到系統(tǒng)輸出端。
在擁有共享存儲(chǔ)器的數(shù)據(jù)處理系統(tǒng)中,總線利用率和總線帶寬非常重要。為了優(yōu)化系統(tǒng)的效率,和共享存儲(chǔ)器的交互通常以64或128字節(jié)的連續(xù)數(shù)據(jù)的總線傳輸執(zhí)行。這樣的話,只需要為整個(gè)傳輸而不是單個(gè)的數(shù)據(jù)項(xiàng)進(jìn)行存儲(chǔ)器尋址。此外,整個(gè)系統(tǒng)能夠被流水線化,并且總線協(xié)議能夠被從像存儲(chǔ)器總帶寬這樣的特定系統(tǒng)選擇中去耦。例如,共享存儲(chǔ)器可以是不影響總線協(xié)議的單數(shù)據(jù)速率SDRAM或是雙數(shù)據(jù)速率SDRAM。
對(duì)于提出的數(shù)據(jù)處理系統(tǒng)的變化是可能的。數(shù)據(jù)總線可以是網(wǎng)絡(luò),由通過集線器或路由器耦合的總線的分級(jí)結(jié)構(gòu)組成。在這樣的總線分級(jí)結(jié)構(gòu)中,高速緩存可以被應(yīng)用于各種層次。此外,共享存儲(chǔ)器可能是片內(nèi)的、片外的或二者的混合,并且它典型地需要一組物理上分布式的片內(nèi)存儲(chǔ)塊。
除了共享存儲(chǔ)器,其它的數(shù)據(jù)處理系統(tǒng)的元件可以在多個(gè)任務(wù)之間共享。例如,一個(gè)或多個(gè)中央處理單元(CPU’s)執(zhí)行多個(gè)軟件程序,并且在所述CPU的控制下,協(xié)處理器能夠處理多個(gè)數(shù)據(jù)流。如上所述,CPU和協(xié)處理器共享該總線。對(duì)于CPU的共享和任務(wù)切換的記錄,已知有很多技術(shù),這是因?yàn)榇蟛糠諧PU支持使這樣的記錄更容易的多任務(wù)操作系統(tǒng)。根據(jù)本領(lǐng)域的現(xiàn)狀,通常通過使用控制軟件,也能夠記錄多處理器系統(tǒng)中協(xié)處理器的活動(dòng)。
已經(jīng)發(fā)現(xiàn)的是,盡管像CPU、協(xié)處理器和存儲(chǔ)單元這樣的系統(tǒng)的單獨(dú)的構(gòu)件塊(building block)的性能被正確地設(shè)計(jì),但是集成電路上的數(shù)據(jù)處理系統(tǒng)可能不會(huì)符合要求地運(yùn)行。已經(jīng)發(fā)現(xiàn),對(duì)于系統(tǒng)性能的分析,特別是分析在某些時(shí)間段上不符合要求的性能的原因是極端困難的。然而,對(duì)于其目標(biāo)是實(shí)時(shí)保證系統(tǒng)響應(yīng)的動(dòng)態(tài)系統(tǒng)控制,需要適當(dāng)?shù)南到y(tǒng)性能分析。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種包括數(shù)據(jù)處理系統(tǒng)的集成電路,當(dāng)把單獨(dú)的構(gòu)件塊集成到該數(shù)據(jù)處理系統(tǒng)后,該數(shù)據(jù)處理系統(tǒng)符合要求地運(yùn)行。為了達(dá)到所述目的,該集成電路的特征在于權(quán)利要求1的特征部分。
本發(fā)明依靠此領(lǐng)悟,即數(shù)據(jù)處理系統(tǒng)的性能不僅僅依賴于單獨(dú)的構(gòu)件塊(處理單元、存儲(chǔ)單元等)的性能,還依賴于該數(shù)據(jù)處理系統(tǒng)的通信結(jié)構(gòu)。在集成電路上的大型的和復(fù)雜的數(shù)據(jù)處理系統(tǒng)中,通信結(jié)構(gòu)是整個(gè)系統(tǒng)的重要的組成部分。尤其在這些系統(tǒng)中,通信結(jié)構(gòu)越來越變成主要的性能瓶頸。為了提高數(shù)據(jù)處理系統(tǒng)的性能,必須使用重視通信結(jié)構(gòu)的性能的開發(fā)方法。
在根據(jù)本發(fā)明的數(shù)據(jù)通信系統(tǒng)中,通信結(jié)構(gòu)配備有測(cè)量單元。這些測(cè)量單元通過觀察通信信道中的通信負(fù)載的特性和通過對(duì)這些特性執(zhí)行統(tǒng)計(jì)操作,從通信結(jié)構(gòu)收集性能相關(guān)的數(shù)據(jù)。這樣,獲得性能相關(guān)的測(cè)量結(jié)果。軟件開發(fā)者,為數(shù)據(jù)處理系統(tǒng)的各個(gè)組件編寫程序,然后能夠讀取測(cè)量結(jié)果并且使用它們來優(yōu)化程序。具體地說,程序?qū)νㄐ沤Y(jié)構(gòu)的利用率的作用能夠被改變和優(yōu)化。此外,為了提高數(shù)據(jù)處理系統(tǒng)的實(shí)時(shí)行為,性能相關(guān)的數(shù)據(jù)能夠用來動(dòng)態(tài)地修改系統(tǒng)和任務(wù)參數(shù)設(shè)置。本發(fā)明的一個(gè)附加方面是測(cè)量軟件可以被安裝在一個(gè)處理單元中或者一個(gè)控制處理器中,這就允許軟件開發(fā)者從測(cè)量單元取回測(cè)量數(shù)據(jù),并且支持軟件開發(fā)者解釋該測(cè)量數(shù)據(jù)。
根據(jù)本發(fā)明的集成電路和方法的一個(gè)附加的優(yōu)點(diǎn)是便利了開發(fā)過程中的軟件開發(fā)和軟件調(diào)試。軟件工程師能夠使用反映數(shù)據(jù)處理系統(tǒng)中的共享通信資源的利用率的測(cè)量數(shù)據(jù),來改善和微調(diào)運(yùn)行在處理單元上的軟件。改進(jìn)的軟件開發(fā)過程將導(dǎo)致軟件產(chǎn)品的更短的上市時(shí)間、可預(yù)測(cè)的開發(fā)時(shí)間和更高效的系統(tǒng)。
注意的是,WO 02/28027公開了一種用于依靠分布式判優(yōu)算法來均衡共享總線中的數(shù)據(jù)傳輸?shù)姆椒āT摲椒ǖ哪繕?biāo)是在業(yè)務(wù)量堵塞的情況下,在系統(tǒng)的多個(gè)模塊之間達(dá)到公平地共享的資源使用。該方法使用一個(gè)分布式判優(yōu)算法,該算法能夠在系統(tǒng)的不同模塊的軟件和硬件上實(shí)現(xiàn),以及/或者在涉及對(duì)共享總線的判優(yōu)的硬件機(jī)制上實(shí)現(xiàn)。由模塊產(chǎn)生的數(shù)據(jù)對(duì)共享總線的訪問是被加權(quán)的,并且通過標(biāo)記對(duì)每個(gè)模型/數(shù)據(jù)流相關(guān)的權(quán)值進(jìn)行監(jiān)測(cè)。盡管這種方法通過記住對(duì)共享總線的授權(quán)訪問和通過把新的訪問(再次)列入優(yōu)先位置,而提供了由數(shù)據(jù)處理系統(tǒng)的模塊加權(quán)地訪問共享總線的一種機(jī)制,但是沒有提供手段來分析在這些訪問過程中總線的利用率。
權(quán)利要求2中定義了集成電路的一個(gè)實(shí)施例,其中測(cè)量單元通過觀察處理單元和通信資源之間的連接上的通信業(yè)務(wù)量,來測(cè)量通信負(fù)載的特性。權(quán)利要求3中定義了另一個(gè)實(shí)施例,其中測(cè)量單元通過觀察通信資源的多個(gè)部分之間的連接上的通信業(yè)務(wù)量,來測(cè)量通信負(fù)載的特性。依賴于環(huán)境,可以使用這兩個(gè)途徑中的一個(gè)或者兩者的組合。
在根據(jù)權(quán)利要求4的一個(gè)實(shí)施例中,包括在測(cè)量單元內(nèi)的測(cè)量控制器對(duì)所觀察到的特性執(zhí)行統(tǒng)計(jì)操作,并且把結(jié)果存儲(chǔ)到多個(gè)測(cè)量數(shù)據(jù)緩沖區(qū)中。
依賴于環(huán)境,區(qū)分通信業(yè)務(wù)量的不同種類并且測(cè)量一個(gè)或多個(gè)這些種類的通信負(fù)載的特性可以是有用的。如果那樣的話,根據(jù)權(quán)利要求5的實(shí)施例是有利的;該測(cè)量控制器用于把通信負(fù)載的特性劃分成不同的種類,并且分別地對(duì)不同的種類中的至少一種執(zhí)行統(tǒng)計(jì)操作。這樣的種類的例子是指令業(yè)務(wù)量類和數(shù)據(jù)業(yè)務(wù)量類。
權(quán)利要求6中定義了該集成電路的另一個(gè)實(shí)施例。如果要分析數(shù)據(jù)處理系統(tǒng)的動(dòng)態(tài)行為,例如在CPU執(zhí)行多個(gè)任務(wù)的情況下,這個(gè)實(shí)施例尤其有利。測(cè)量控制器用于對(duì)多個(gè)時(shí)間單位上的通信負(fù)載的特性執(zhí)行統(tǒng)計(jì)操作;這些單位形成時(shí)間間隔的一部分,其上生成統(tǒng)計(jì)。該測(cè)量控制器為每個(gè)時(shí)間單位產(chǎn)生一個(gè)統(tǒng)計(jì),例如一個(gè)最大值、最小值或平均值。這樣,能夠生成時(shí)間上的紀(jì)錄(trace over time)。
權(quán)利要求7定義了一個(gè)包括控制處理器的實(shí)施例,該控制處理器用于和測(cè)量控制器通信,其中該測(cè)量控制器配備有一個(gè)程序(測(cè)量軟件)。該程序能夠被運(yùn)用以配置測(cè)量單元。權(quán)利要求8定義了另一個(gè)實(shí)施例,其中該程序能夠被運(yùn)用以從測(cè)量單元中取回測(cè)量結(jié)果。根據(jù)權(quán)利要求9的程序也能夠被應(yīng)用以使得控制處理器能夠控制通信資源的操作或者處理單元的操作。這樣能夠?qū)崿F(xiàn)自適應(yīng)控制。
權(quán)利要求10、11和12規(guī)定了能夠被測(cè)量單元測(cè)量的通信負(fù)載的各種特性。根據(jù)權(quán)利要求10的測(cè)量單元用于測(cè)量在一個(gè)連接上傳輸?shù)臄?shù)據(jù)量。根據(jù)權(quán)利要求11的測(cè)量單元用于測(cè)量向資源的數(shù)據(jù)傳輸請(qǐng)求的等待時(shí)間。根據(jù)權(quán)利要求12的測(cè)量單元用于測(cè)量對(duì)于這樣一個(gè)請(qǐng)求的數(shù)據(jù)傳輸時(shí)間。
根據(jù)權(quán)利要求13的實(shí)施例提供了對(duì)觀察到的特性的多個(gè)統(tǒng)計(jì)操作,這能夠由測(cè)量單元執(zhí)行。其中,可以提供所觀察到的特性的平均值、所觀察到的特性的最小值或者所觀察到的特性的最大值。如同權(quán)利要求14中定義的那樣,也可以生成所觀察到的特性的值的出現(xiàn)幾率的直方圖。
根據(jù)本發(fā)明的集成電路能夠被有利的運(yùn)用在諸如機(jī)頂盒、DVD錄像機(jī)或者TV這樣的視頻處理單元中,如權(quán)利要求15中所定義的。該視頻處理單元能夠以較低的成本生產(chǎn),同時(shí)能夠保持它的質(zhì)量。
參考附圖,本發(fā)明被更詳細(xì)地描述,其中圖1說明了一種包括數(shù)據(jù)處理系統(tǒng)的集成電路,該數(shù)據(jù)處理系統(tǒng)包括多個(gè)處理單元和由處理單元共享的通信資源;圖2說明了如圖1所示的數(shù)據(jù)處理系統(tǒng)的一個(gè)例子;圖3說明了根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng);圖4說明了根據(jù)本發(fā)明的測(cè)量單元;圖5說明了根據(jù)本發(fā)明的通信資源。
具體實(shí)施例方式
圖1說明了包含數(shù)據(jù)處理系統(tǒng)102的集成電路100,該數(shù)據(jù)處理系統(tǒng)102包括多個(gè)處理單元104、106、108和由處理單元共享的通信資源110。例如通信資源110是一個(gè)總線。處理單元104、106、108可以包括一個(gè)或多個(gè)中央處理單元(CPU’s),其執(zhí)行通用任務(wù)并控制任務(wù)的實(shí)現(xiàn),支持適合多任務(wù)的操作系統(tǒng)。處理單元104、106、108還可以包括一個(gè)或多個(gè)專用處理單元,也被稱為協(xié)處理器,其執(zhí)行諸如圖像或視頻數(shù)據(jù)流的處理這樣的特定任務(wù)。這些CPU與其它的CPU或者與協(xié)處理器通過該通信資源進(jìn)行通信,該通信資源典型地被實(shí)現(xiàn)為總線。
圖2說明了如圖1所示的數(shù)據(jù)處理系統(tǒng)的一個(gè)例子。數(shù)據(jù)處理系統(tǒng)102包括CPU 104和兩個(gè)協(xié)處理器106、108,這和如圖1所示的處理單元相對(duì)應(yīng)。CPU 104和協(xié)處理器106、108通過總線110進(jìn)行通信。此外,提供了另一個(gè)協(xié)處理器200,以及由處理單元104、106、108、200共享的存儲(chǔ)單元204和被用作存儲(chǔ)單元204和總線110之間的接口的存儲(chǔ)接口MI。在這個(gè)例子中,存儲(chǔ)單元204是片內(nèi)的,但是也可以擁有片外的存儲(chǔ)單元。協(xié)處理器106、108、200包括總線接口BI,其被用作協(xié)處理器和總線110之間的接口。總線110包括一個(gè)判優(yōu)器部件(未示出),該判優(yōu)器部件對(duì)來自處理單元104、106、108、200的總線訪問請(qǐng)求進(jìn)行判優(yōu)。
在這樣的數(shù)據(jù)處理系統(tǒng)中,CPU 104典型地分配存儲(chǔ)單元204中的緩沖區(qū),并且為將要執(zhí)行的任務(wù),給協(xié)處理器106、108、200編寫合適的參數(shù)。這包括設(shè)置應(yīng)被用到的緩沖區(qū)的地址。當(dāng)開始執(zhí)行后,協(xié)處理器自動(dòng)地從存儲(chǔ)單元204的緩沖區(qū)中取回它們的輸入數(shù)據(jù),執(zhí)行它們的處理并且把結(jié)果存儲(chǔ)到存儲(chǔ)單元204的輸出緩沖區(qū)中。系統(tǒng)輸入數(shù)據(jù)典型地被從外部(未示出)取回。一個(gè)協(xié)處理器產(chǎn)生的結(jié)果能夠被另一個(gè)協(xié)處理器使用、被CPU 104使用或者被送到系統(tǒng)輸出端(未示出)。在這個(gè)也被稱為共享存儲(chǔ)器系統(tǒng)的數(shù)據(jù)處理系統(tǒng)中,總線利用率和總線帶寬是非常重要的。
為了優(yōu)化共享存儲(chǔ)器系統(tǒng)的效率,處理單元104、106、108、200和存儲(chǔ)單元204的交互典型地以64或者128個(gè)字節(jié)的連續(xù)數(shù)據(jù)的總線傳輸執(zhí)行。這種總線傳輸?shù)拈L(zhǎng)度也被稱為脈沖串長(zhǎng)度或者數(shù)據(jù)包的大?。辉撻L(zhǎng)度可以根據(jù)應(yīng)該被傳輸?shù)臄?shù)據(jù)的大小而變化。對(duì)于小的數(shù)據(jù),數(shù)據(jù)包優(yōu)選地也很小,這是因?yàn)榉駝t的話該包的一大部分也不會(huì)被用到。為了減輕總線協(xié)議的損失,數(shù)據(jù)包的大小應(yīng)該盡可能的大,因此要合理的選擇數(shù)據(jù)包的大小。
如果使用總線傳輸,那么只需要為整個(gè)傳輸進(jìn)行一次存儲(chǔ)器尋址,并且降低了對(duì)于周期延遲的總線協(xié)議損失。然而,這個(gè)共享存儲(chǔ)器系統(tǒng)的效率不僅僅依賴于單個(gè)的處理單元104、106、108、200以及它們的尋址機(jī)制的效率,或者獨(dú)立地考慮的存儲(chǔ)單元204的效率,還依賴于形成處理單元和存儲(chǔ)單元之間的通信結(jié)構(gòu)的總線的有效利用。另外,整個(gè)系統(tǒng)的性能依賴于對(duì)單獨(dú)的任務(wù)的調(diào)度,因?yàn)樗鼈兊耐ㄐ判枨罂赡軇?dòng)態(tài)的變化。盡管這方面可能對(duì)整個(gè)系統(tǒng)的性能有主要的影響,但是在軟件開發(fā)和調(diào)試期間很少考慮它。在處理單元訪問總線的優(yōu)先級(jí)的增加或減少依賴于授權(quán)訪問的數(shù)目這個(gè)意義上,存在這樣的方法和體系結(jié)構(gòu),其旨在記錄某一處理單元對(duì)總線的授權(quán)訪問。然而,處理單元對(duì)通信資源施加的負(fù)載沒有被測(cè)量。
圖3說明了根據(jù)本發(fā)明的一個(gè)數(shù)據(jù)處理系統(tǒng)。該數(shù)據(jù)處理系統(tǒng)102再次包括處理單元104、106、108和由處理單元共享的通信資源110。假若這樣,通信資源是一個(gè)總線,其配備了能夠?qū)Ω鱾€(gè)處理單元之間的請(qǐng)求進(jìn)行判優(yōu)的判優(yōu)器(未示出)。該數(shù)據(jù)處理系統(tǒng)102進(jìn)一步配備了測(cè)量單元300、302、304,所述測(cè)量單元測(cè)量處理單元104、106、108對(duì)通信資源110施加的通信負(fù)載的特性。特別地,在這個(gè)例子中測(cè)量單元包括-測(cè)量單元300,測(cè)量第一處理單元104和總線110之間的通信負(fù)載;-測(cè)量單元302,測(cè)量第二處理單元106和總線110之間的通信負(fù)載;-測(cè)量單元304,測(cè)量第三處理單元108和總線110之間的通信負(fù)載。
在圖3說明的方案中,測(cè)量單元300、302、304被連接到處理單元104、106、108和總線110之間的通信信道上。作為選擇,測(cè)量單元可以被包括在通信資源中,以在通信資源自身之內(nèi)分析信道的利用率,如將參考圖5所解釋的。假使那樣,測(cè)量單元優(yōu)選地位于通信資源的“瓶頸”附近,也就是,通信基礎(chǔ)設(shè)施中預(yù)期出現(xiàn)性能相關(guān)的問題的位置。
能夠被取回的測(cè)量信息的例子有-在一個(gè)時(shí)間單位內(nèi)在通信資源110上從處理單元104、106、108傳輸?shù)暮蛡鬏數(shù)竭@些處理單元的數(shù)據(jù)量;-向通信資源110的數(shù)據(jù)傳輸請(qǐng)求的等待時(shí)間,被定義為請(qǐng)求數(shù)據(jù)傳輸(通過處理單元104、106、108)的時(shí)刻和判優(yōu)器授權(quán)總線訪問的時(shí)刻之間經(jīng)過的時(shí)間;-數(shù)據(jù)傳輸請(qǐng)求的數(shù)據(jù)傳輸時(shí)間,被定義為判優(yōu)器授權(quán)總線訪問的時(shí)刻和完成數(shù)據(jù)傳輸并且總線占用結(jié)束的時(shí)刻之間經(jīng)過的時(shí)間。
這些例子并不詳盡。依賴于數(shù)據(jù)處理系統(tǒng)和它的通信結(jié)構(gòu)的特性,獲得其它測(cè)量數(shù)據(jù)也許是有利的。
根據(jù)本發(fā)明的一個(gè)方面,通過觀察通信資源和處理單元之間的連接上的通信業(yè)務(wù)量,測(cè)量單元測(cè)量由處理單元施加到通信資源上的通信負(fù)載的特性。根據(jù)本發(fā)明的另外一個(gè)方面,通過觀察通信資源內(nèi)部也就是該資源的不同部分之間的連接上的通信業(yè)務(wù)量,該測(cè)量單元也可以測(cè)量通信負(fù)載的特性。例如,在包括總線的分級(jí)結(jié)構(gòu)的資源內(nèi)部,觀察總線之間的通信業(yè)務(wù)量也許是有用的。
該測(cè)量單元能夠生成測(cè)量結(jié)果,這些測(cè)量結(jié)果能夠被存儲(chǔ)以及以后被通過軟件取回或者被運(yùn)用在其它方面。這些測(cè)量結(jié)果是對(duì)某一時(shí)間間隔內(nèi)觀察到的通信負(fù)載的特性的進(jìn)行統(tǒng)計(jì)操作的輸出。統(tǒng)計(jì)操作優(yōu)選地由測(cè)量控制器執(zhí)行,并且測(cè)量結(jié)果被存儲(chǔ)在緩沖區(qū)中,例如被存儲(chǔ)在測(cè)量單元的內(nèi)部寄存器中。例如,統(tǒng)計(jì)結(jié)果可以提供所觀察到的特性的最小值或者最大值、平均值或者所有值的出現(xiàn)幾率的完整直方圖。
本發(fā)明的一個(gè)附加的方面是,能夠生成時(shí)間上的記錄。為了這個(gè)目的,時(shí)間間隔被分成多個(gè)單位并且測(cè)量控制器能夠?qū)γ總€(gè)單位上的通信負(fù)載的特性執(zhí)行統(tǒng)計(jì)操作。例如,結(jié)果可以是所觀察到的特性的平均值的記錄。時(shí)間上的記錄允許分析通信負(fù)載和系統(tǒng)的活動(dòng)之間的相關(guān)性,但是在它能夠被測(cè)量軟件取回前,需要一個(gè)大的緩沖區(qū)來存儲(chǔ)信息。
也可以把通信負(fù)載的特性分類。這樣,能夠區(qū)分幾種類型的業(yè)務(wù)量;例如,包含指令的業(yè)務(wù)量能夠區(qū)別于包含數(shù)據(jù)的業(yè)務(wù)量。其它分類標(biāo)準(zhǔn)可以區(qū)分通信同級(jí)(communicateon peers)(舉例來說,目標(biāo)是片內(nèi)還是片外)或者區(qū)分讀寫業(yè)務(wù)量。通過檢查與總線傳輸相關(guān)聯(lián)的地址的值是否屬于特定的地址范圍,各個(gè)種類也能夠相互區(qū)別。在優(yōu)選的實(shí)施例中,與感興趣的測(cè)量種類相對(duì)應(yīng)的地址范圍的邊界的值被本地存儲(chǔ)在測(cè)量單元的寄存器中,并且通過測(cè)量軟件配置它們的值。對(duì)于每個(gè)通信種類,能夠單獨(dú)地計(jì)算統(tǒng)計(jì)。如果數(shù)據(jù)記錄被收集,那么該分類可以被作為部分的記錄取樣來存儲(chǔ)。當(dāng)時(shí)間上的測(cè)量記錄被收集時(shí),這些記錄將典型地由通信資源上的負(fù)載的統(tǒng)計(jì)組成。然后在時(shí)隙上收集統(tǒng)計(jì),這些時(shí)隙比記錄本身的持續(xù)時(shí)間短得多。
測(cè)量結(jié)果能夠被存儲(chǔ)在不同的地點(diǎn),例如-在測(cè)量單元內(nèi)部或與其接近的硬件的本地緩沖區(qū)中,這適合于少量測(cè)量數(shù)據(jù);-在后臺(tái)存儲(chǔ)器或共享存儲(chǔ)器中,這適合于大量的數(shù)據(jù),但是這增加了存儲(chǔ)器的帶寬需求。
這些測(cè)量單元能夠由硬件在數(shù)據(jù)處理系統(tǒng)的體系結(jié)構(gòu)中的各種位置處實(shí)現(xiàn),例如在總線接口處。
一旦測(cè)量結(jié)果可用,那么程序員能夠通過程序(測(cè)量軟件)取回測(cè)量結(jié)果并且使用它們進(jìn)行調(diào)試和進(jìn)一步的開發(fā)。作為選擇,測(cè)量結(jié)果能夠被控制CPU使用來自動(dòng)地修改系統(tǒng)和任務(wù)參數(shù)設(shè)置,其目的是提高數(shù)據(jù)處理系統(tǒng)的實(shí)時(shí)行為。
本領(lǐng)域的技術(shù)人員將意識(shí)到,測(cè)量需要的數(shù)據(jù)量典型地是比正在被監(jiān)測(cè)的通信負(fù)載小的一些數(shù)量級(jí)。結(jié)果,存儲(chǔ)和處理測(cè)量將只給系統(tǒng)增加邊緣成本(marginal cost)。此外,即便測(cè)量結(jié)果被通過被測(cè)量單元觀察的通信資源進(jìn)行傳遞時(shí),額外的測(cè)量通信負(fù)載對(duì)整個(gè)系統(tǒng)操作的影響是不重要的。這導(dǎo)致幾乎是非侵入式(non-intrusive)實(shí)時(shí)測(cè)量。作為選擇,專用的測(cè)量存儲(chǔ)、通信和分析手段可能存在于系統(tǒng)中,以方便完全的非侵入式實(shí)時(shí)系統(tǒng)觀察。
圖4說明了根據(jù)本發(fā)明的測(cè)量單元。在這個(gè)例子中,測(cè)量單元300測(cè)量處理單元104和總線110之間的通信負(fù)載。該測(cè)量單元300包括測(cè)量控制器400,其用于對(duì)所觀察到的由處理單元104施加于資源110上的通信負(fù)載的特性執(zhí)行統(tǒng)計(jì)操作;這樣,測(cè)量控制器400產(chǎn)生各種測(cè)量結(jié)果。測(cè)量控制器400還控制測(cè)量數(shù)據(jù)緩沖區(qū)404a、404b、404c、404d、404e(被實(shí)現(xiàn)為內(nèi)部寄存器)的使用來存儲(chǔ)各種測(cè)量結(jié)果。該測(cè)量控制器400和測(cè)量單元300外部的控制處理器402交互。
控制處理器402配備了能夠配置測(cè)量單元300的測(cè)量軟件。注意的是,該測(cè)量軟件可能包括一個(gè)單個(gè)的程序、多個(gè)交互模塊或者許多獨(dú)立的程序的集合。該測(cè)量軟件也能夠取回由測(cè)量單元300產(chǎn)生的測(cè)量結(jié)果。作為選擇,該測(cè)量軟件能夠被安裝在處理單元104中或者系統(tǒng)的任意其它CPU中。在另一個(gè)實(shí)施例中,該測(cè)量軟件也能夠控制通信資源110的操作,例如通過修改判優(yōu)器的設(shè)置。作為選擇,該測(cè)量軟件能夠控制處理單元104或者系統(tǒng)中任何其它的處理單元的操作,例如通過重新調(diào)度軟件任務(wù)(改變操作系統(tǒng)任務(wù)的優(yōu)先級(jí))或者通過降低軟件的質(zhì)量和/或硬件功能以減少資源利用。能夠通過數(shù)據(jù)處理系統(tǒng)的通信結(jié)構(gòu)或者通過獨(dú)立的通信信道/資源取回測(cè)量數(shù)據(jù)??刂铺幚砥?02還可以被配置成自動(dòng)地修改系統(tǒng)和任務(wù)參數(shù)設(shè)置,而不是為這個(gè)目的被配置的處理單元104。
圖4描繪了一個(gè)實(shí)施例,其中測(cè)量單元300僅僅觀察處理單元104和總線110之間的總線連接。由于測(cè)量單元300不影響數(shù)據(jù)處理系統(tǒng)的行為,所以這是一個(gè)優(yōu)選的實(shí)施例。然而,一個(gè)不同的實(shí)施例(未示出)可以使用一個(gè)直接連接到處理單元和總線上的測(cè)量單元。于是處理單元和總線之間的通信經(jīng)過該測(cè)量單元。這樣的實(shí)施例能夠有益于獲得更好和更快的實(shí)現(xiàn)。此外,這樣的實(shí)施例允許測(cè)量單元被集成為(例如)總線協(xié)議適配器單元的一部分。
圖5說明了根據(jù)本發(fā)明的通信資源110;所示出的例子是一個(gè)包括多個(gè)總線502、504、506和總線之間的連接的總線系統(tǒng)。假若這樣,處理單元104、106、108不僅僅在它們自身和總線502、504、506之間的連接上施加了通信負(fù)載,而且分別地對(duì)總線502和506之間的連接、總線504和506之間的連接施加了通信負(fù)載。測(cè)量單元300、302能夠被用于觀察這些連接上的通信負(fù)載的特性;能夠?yàn)樘幚韱卧?04、106、108和總線502、504、506之間的連接產(chǎn)生同樣的統(tǒng)計(jì)。
根據(jù)本發(fā)明的集成電路能夠被有利地運(yùn)用在諸如機(jī)頂盒、DVD錄像機(jī)、TV等這樣的視頻處理單元中。該集成電路以低成本提供了同樣的可靠性和質(zhì)量,因此視頻處理單元的生產(chǎn)更便宜,同時(shí)能夠保證同樣的質(zhì)量。
注意的是,本發(fā)明的保護(hù)范圍并不限于這里描述的實(shí)施例。本發(fā)明的保護(hù)范圍也不受限于權(quán)利要求中的參考符號(hào)?!鞍ā币辉~并不排除存在權(quán)利要求中提到的這些部分以外的其它部分。元件之前的“一個(gè)”一詞不排除存在多個(gè)這樣的元件。構(gòu)成部分本發(fā)明的裝置可以被以專用硬件的形式或者可編程的通用處理器的形式二者來實(shí)現(xiàn)。本發(fā)明存在于每個(gè)新特征或多個(gè)特征的組合之中。
權(quán)利要求
1.一種包括數(shù)據(jù)處理系統(tǒng)(102)的集成電路(100),所述數(shù)據(jù)處理系統(tǒng)(102)包括多個(gè)處理單元(104、106、108)和由所述處理單元(104、106、108)中的至少兩個(gè)共享的資源(110),其特征在于至少一個(gè)測(cè)量單元(300、302、304),所述測(cè)量單元(300、302、304)用于測(cè)量在一段時(shí)間間隔上由所述處理單元(104、106、108)施加在所述資源(110)上的通信負(fù)載的特性,所述測(cè)量單元(300、302、304)也用于對(duì)所述通信負(fù)載的特性執(zhí)行統(tǒng)計(jì)操作,其中所述統(tǒng)計(jì)操作提供測(cè)量結(jié)果。
2.如權(quán)利要求1所述的集成電路(100),其中所述測(cè)量單元(300、302、304)通過觀察第一連接上的通信業(yè)務(wù)量來測(cè)量所述通信負(fù)載的特性,所述第一連接建立在處理單元(104、106、108)和所述資源(110)之間。
3.如權(quán)利要求1所述的集成電路(100),其中所述測(cè)量單元(300、302、304)通過觀察第二連接上的通信業(yè)務(wù)量來測(cè)量所述通信負(fù)載的特性,所述第二連接建立在所述資源(110)的多個(gè)部分之間。
4.如權(quán)利要求1所述的集成電路(100),其中所述測(cè)量單元(300、302、304)包括測(cè)量控制器(400)和多個(gè)測(cè)量數(shù)據(jù)緩沖區(qū)(404a、404b、404c、404d、404e),所述測(cè)量控制器(400)用于執(zhí)行所述統(tǒng)計(jì)操作以及把所述測(cè)量結(jié)果存儲(chǔ)到所述測(cè)量數(shù)據(jù)緩沖區(qū)(404a、404b、404c、404d、404e)中。
5.如權(quán)利要求4所述的集成電路(100),其中所述測(cè)量控制器(400)還用于把所述通信負(fù)載的特性劃分成不同的種類以及對(duì)所述不同的種類中的至少一種單獨(dú)地執(zhí)行所述統(tǒng)計(jì)操作。
6.如權(quán)利要求4所述的集成電路(100),所述時(shí)間間隔被分成多個(gè)單位,其中所述測(cè)量控制器(400)還用于對(duì)每個(gè)單位上的所述通信負(fù)載的特性執(zhí)行統(tǒng)計(jì)操作以及提供所述測(cè)量結(jié)果作為時(shí)間記錄。
7.如權(quán)利要求4所述的集成電路(100),其中所述測(cè)量控制器(400)還用于與控制處理器(402)進(jìn)行通信,所述控制處理器(402)配備有程序,所述程序被用來配置所述測(cè)量單元(300、302、304)。
8.如權(quán)利要求7所述的集成電路(100),其中所述程序還被用來使所述控制處理器(402)能夠從所述測(cè)量單元(300、302、304)中取回所述測(cè)量結(jié)果。
9.如權(quán)利要求7所述的集成電路(100),其中所述程序還被用來使所述控制處理器(402)能夠控制所述資源(110)的操作或者控制所述處理單元(104、106、108)的操作。
10.如權(quán)利要求2或3所述的集成電路(100),其中所述測(cè)量單元(300、302、304)用于測(cè)量在所述第一連接上或者在所述第二連接上傳輸?shù)臄?shù)據(jù)量,所述傳輸?shù)臄?shù)據(jù)量是所述通信負(fù)載的特性之一。
11.如權(quán)利要求2或3所述的集成電路(100),其中所述測(cè)量單元(300、302、304)用于測(cè)量在所述第一連接上或者在所述第二連接上向所述資源(110)的數(shù)據(jù)傳輸請(qǐng)求的等待時(shí)間,所述數(shù)據(jù)傳輸請(qǐng)求的等待時(shí)間是所述通信負(fù)載的特性之一。
12.如權(quán)利要求2或3所述的集成電路(100),其中所述測(cè)量單元(300、302、304)用于測(cè)量在所述第一連接上或者在所述第二連接上向所述資源(110)的數(shù)據(jù)傳輸時(shí)間,所述數(shù)據(jù)傳輸時(shí)間是所述通信負(fù)載的特性之一。
13.如權(quán)利要求1所述的集成電路(100),其中所述統(tǒng)計(jì)操作包括平均值操作、最小值操作或者最大值操作。
14.如權(quán)利要求1所述的集成電路(100),其中所述統(tǒng)計(jì)操作包括創(chuàng)建一組值的操作,該組值構(gòu)成出現(xiàn)幾率的直方圖。
15.一種視頻處理單元,包括如任一前述權(quán)利要求所述的集成電路(100)。
全文摘要
本發(fā)明提供了一種包括數(shù)據(jù)處理系統(tǒng)的集成電路,當(dāng)把諸如主處理器和協(xié)處理器這樣的單獨(dú)的構(gòu)件塊集成到該數(shù)據(jù)處理系統(tǒng)中后,該數(shù)據(jù)處理系統(tǒng)符合要求地運(yùn)行。這是通過測(cè)量單獨(dú)的構(gòu)件塊之間建立的通信結(jié)構(gòu)的利用率獲得的。測(cè)量單元通過觀察處理單元和通信資源之間的連接或者通信資源之內(nèi)的連接上的通信業(yè)務(wù)量來測(cè)量通信負(fù)載的特性。該測(cè)量單元對(duì)所觀察到的特性執(zhí)行統(tǒng)計(jì)操作并產(chǎn)生測(cè)量結(jié)果。所述測(cè)量結(jié)果能夠由測(cè)量軟件取回,并且能夠被用于例如通過調(diào)試或者通過自適應(yīng)控制來修改該數(shù)據(jù)處理系統(tǒng)。
文檔編號(hào)G06F15/80GK1875350SQ200480031621
公開日2006年12月6日 申請(qǐng)日期2004年10月20日 優(yōu)先權(quán)日2003年10月27日
發(fā)明者亞伯拉罕·K·里門斯, 約瑟夫斯·T·J·范埃及恩德霍恩 申請(qǐng)人:皇家飛利浦電子股份有限公司