專利名稱:資源控制的制作方法
技術(shù)領(lǐng)域:
本申請(qǐng)涉及用于資源控制的方法。更具體地,本申請(qǐng)涉及用于以下資源控制的方法,所述資源控制包括控制對(duì)具有第一優(yōu)先級(jí)的第一類請(qǐng)求的處理和控制對(duì)具有第二優(yōu)先級(jí)的第二類請(qǐng)求的處理,其中第一優(yōu)先級(jí)被設(shè)置為使得處理第一類請(qǐng)求的優(yōu)先級(jí)高于處理第二類請(qǐng)求的優(yōu)先級(jí)。本申請(qǐng)還涉及資源控制器、包括所述資源控制器的片上系統(tǒng)、包括所述片上系統(tǒng)的消費(fèi)性電子裝置、以及包括可操作來(lái)使處理器執(zhí)行所述方法的指令的計(jì)算機(jī)程序。
背景技術(shù):
現(xiàn)在,諸如電視機(jī)、PC、移動(dòng)電話等之類的消費(fèi)性電子裝置都包括片上系統(tǒng)(SoC) 多處理器。SoC的優(yōu)勢(shì)在于其高性能、大靈活性以及低成本。此外,通過(guò)采用SoC可以減小可編程硬件對(duì)總的硅面積的影響以及消費(fèi)性電子裝置中的功耗。SoC的基本問(wèn)題是SoC上的處理單元與一個(gè)或多個(gè)外部資源(例如,外部存儲(chǔ)器或類似單元)之間的通信。更具體地,資源必須在SoC上實(shí)施的幾個(gè)處理單元或代理之間共享。一般關(guān)注的是資源利用率必須高。從而,使用資源的開(kāi)銷可能取決于請(qǐng)求的順序。一種方法是將處理單元發(fā)送的請(qǐng)求分成至少兩類,并且為這些類中的一類分配最高優(yōu)先級(jí)。例如,可以將請(qǐng)求分為一方面是低延遲傳輸請(qǐng)求以及另一方面是恒定帶寬傳輸請(qǐng)求。通常,低延遲傳輸請(qǐng)求包括較高的優(yōu)先級(jí)。為了防止較低優(yōu)先級(jí)的傳輸請(qǐng)求饑餓,低延遲請(qǐng)求必須受限。根據(jù)現(xiàn)有技術(shù),根據(jù)低延遲請(qǐng)求自身的帶寬使用來(lái)限制低延遲請(qǐng)求的處理。
發(fā)明內(nèi)容
本申請(qǐng)的一個(gè)目的是提供一種改進(jìn)資源控制的方法。另一個(gè)目的是防止多個(gè)低延遲請(qǐng)求的不必要長(zhǎng)的平均延遲。再一個(gè)目的是使得能夠容易地確定準(zhǔn)確的傳輸預(yù)算。另一個(gè)目的是為恒定帶寬請(qǐng)求確保足夠的帶寬。另一個(gè)目的是提供一種特別適合于控制SoC與快速存儲(chǔ)器裝置之間的數(shù)據(jù)傳輸?shù)姆椒?。這些和其他目的通過(guò)一種包括控制具有第一優(yōu)先級(jí)的第一類請(qǐng)求的處理的資源控制方法來(lái)解決。所述方法包括控制具有第二優(yōu)先級(jí)的第二類請(qǐng)求的處理,其中第一優(yōu)先級(jí)被設(shè)置為使得處理第一類請(qǐng)求優(yōu)先于處理第二類請(qǐng)求。所述方法包括通過(guò)檢測(cè)何時(shí)滿足關(guān)于提供給第二類請(qǐng)求的服務(wù)的預(yù)定條件的機(jī)構(gòu)來(lái)阻塞第一類請(qǐng)求。本方法通??梢杂糜诳刂浦辽僖粋€(gè)處理單元或代理與資源(例如,存儲(chǔ)器)之間的數(shù)據(jù)傳輸。特別地,本方法可以用于控制布置在片上系統(tǒng)上的多個(gè)處理單元或代理與一個(gè)或多個(gè)外部資源(諸如存儲(chǔ)器,特別是快速外部存儲(chǔ)器)之間的數(shù)據(jù)傳輸。由至少一個(gè)處理單元發(fā)送的請(qǐng)求或數(shù)據(jù)傳輸請(qǐng)求被劃分成至少兩個(gè)不同的類。通常,可以考慮不同的系統(tǒng)參數(shù)或使用者的期望來(lái)確定所述至少兩個(gè)類。例如,可以根據(jù)所要求的帶寬、最大可允許的延遲、數(shù)據(jù)大小、產(chǎn)生請(qǐng)求的處理單元等來(lái)將請(qǐng)求劃分成至少兩個(gè)類別或類型。該劃分應(yīng)該被執(zhí)行為使得能夠確保資源控制(例如,存儲(chǔ)器控制)的高性能。特別地,該劃分可以被執(zhí)行為使得這些類請(qǐng)求中的一類請(qǐng)求更重要或者應(yīng)該比其他類請(qǐng)求優(yōu)先處理。該類可以比其他類具有較高的優(yōu)先級(jí)(第一優(yōu)先級(jí))。換句話說(shuō),正常處理具有較高優(yōu)先級(jí)的第一類請(qǐng)求。根據(jù)本申請(qǐng),如果在滿足關(guān)于提供給第二類請(qǐng)求的服務(wù)的預(yù)定條件時(shí)處理等待的第二類請(qǐng)求,可以以充足的方式確保對(duì)第二類請(qǐng)求的處理,而第一類請(qǐng)求等待。與預(yù)期相反,可以在滿足所述預(yù)定條件時(shí)通過(guò)阻塞高優(yōu)先級(jí)請(qǐng)求來(lái)保護(hù)處理第二類請(qǐng)求所需要的帶寬。例如,可以在檢測(cè)到滿足預(yù)定條件后的有限時(shí)間內(nèi)處理第二類請(qǐng)求。應(yīng)該理解的是,也可以在檢測(cè)到所述預(yù)定條件滿足后立即處理第二類請(qǐng)求。本申請(qǐng)為改進(jìn)的資源控制(諸如,存儲(chǔ)器控制)而提供。防止了高優(yōu)先級(jí)請(qǐng)求的不必要的高平均延遲,并且同時(shí)為具有低優(yōu)先級(jí)的請(qǐng)求確保了足夠的帶寬。根據(jù)本申請(qǐng)的另一個(gè)實(shí)施例,當(dāng)關(guān)于提供給第二類請(qǐng)求的服務(wù)的預(yù)定條件滿足時(shí),阻塞第一類請(qǐng)求以允許至少一個(gè)第二類請(qǐng)求被處理。另外,根據(jù)另一個(gè)實(shí)施例,所述預(yù)定條件可以是帶寬和延遲服務(wù)保證即將被違反。處理第二類請(qǐng)求而第一類請(qǐng)求等待可以通過(guò)明確地阻塞來(lái)自第一類的請(qǐng)求來(lái)實(shí)現(xiàn)。例如,可以通過(guò)計(jì)數(shù)機(jī)構(gòu)來(lái)控制第一類請(qǐng)求的阻塞。此外,根據(jù)另一個(gè)實(shí)施例,可以通過(guò)雙向計(jì)數(shù)器達(dá)到預(yù)定閾值來(lái)檢測(cè)帶寬和延遲服務(wù)保證的即將違反,其中雙向計(jì)數(shù)器記錄第二類請(qǐng)求接收到的服務(wù)。雙向計(jì)數(shù)器可以實(shí)現(xiàn)在計(jì)算(accounting)機(jī)構(gòu)內(nèi)。雙向計(jì)數(shù)器可以算出第二類請(qǐng)求服務(wù)周期的總數(shù),并且遞減計(jì)數(shù)非第二類請(qǐng)求的服務(wù)周期,或者反之。例如,在凈值計(jì)算的情況下,傳輸周期是傳輸周期,而在總值計(jì)算的情況下,傳輸周期是傳輸或準(zhǔn)備周期。根據(jù)另一個(gè)實(shí)施例,可以在總值周期或凈值周期的至少一方面限定對(duì)第二類請(qǐng)求的服務(wù)。例如,服務(wù)周期可以僅包括數(shù)據(jù)在接口上傳輸?shù)闹芷?。這被稱為凈值計(jì)算。另一種選擇是,服務(wù)周期包括數(shù)據(jù)傳輸周期以及準(zhǔn)備周期。這被稱為總值計(jì)算。例如,為了滿足預(yù)定條件所必須經(jīng)過(guò)的周期是凈值周期或數(shù)據(jù)傳輸周期。根據(jù)本申請(qǐng)的另一個(gè)實(shí)施例,第一類請(qǐng)求是低延遲傳輸?shù)恼?qǐng)求。低延遲傳輸可能需要平均低延遲。但是,其可能不需要關(guān)于延遲或帶寬的任何保證。可能有利的是,為這種傳輸請(qǐng)求分配最高的優(yōu)先級(jí)。此外,根據(jù)另一個(gè)實(shí)施例,第二類請(qǐng)求是恒定帶寬傳輸?shù)恼?qǐng)求。恒定帶寬傳輸可能需要保證最小帶寬和保證最大延遲。在另一個(gè)實(shí)施例中,可以設(shè)置預(yù)定閾值,可以設(shè)置雙向計(jì)數(shù)器的初始值,以及可以設(shè)置雙向計(jì)數(shù)器的遞增值和遞減值。另外,如果實(shí)施了計(jì)算機(jī)構(gòu),則檢測(cè)何時(shí)滿足預(yù)定條件可以以容易的方式實(shí)現(xiàn),例如通過(guò)雙向計(jì)數(shù)器達(dá)到預(yù)定閾值。在另一個(gè)實(shí)施例中,如果沒(méi)有第二類請(qǐng)求被處理,可以通過(guò)第一預(yù)定改變值來(lái)改變計(jì)算值。換句話說(shuō),計(jì)算值與導(dǎo)致第二類請(qǐng)求的直接保護(hù)的第二類請(qǐng)求(諸如恒定帶寬請(qǐng)求)相關(guān)。第一預(yù)定改變值可以表示特定數(shù)量的周期。在至少一個(gè)第二類請(qǐng)求等待而沒(méi)有被處理的情況下,可以通過(guò)第一預(yù)定改變值來(lái)改變計(jì)算值??赡苡欣氖?,周期性地改變計(jì)算值,例如每個(gè)時(shí)鐘周期改變一次計(jì)算值。換句話說(shuō),為了確保精確的計(jì)算機(jī)構(gòu)和準(zhǔn)確檢測(cè)的可能性,可以每個(gè)時(shí)鐘周期更新一次計(jì)算值。更新計(jì)算值包括如果沒(méi)有第二類請(qǐng)求等待時(shí)將計(jì)算值重置為初始值。根據(jù)本申請(qǐng)的另一個(gè)實(shí)施例,第一預(yù)定改變值可以是遞增值或遞減值。換句話說(shuō), 計(jì)算值可以遞增和/或遞減。在另一個(gè)實(shí)施例中,如果沒(méi)有第二類請(qǐng)求被處理,可以通過(guò)第一預(yù)定改變值來(lái)改變計(jì)算值。換句話說(shuō),計(jì)算值與導(dǎo)致第二類請(qǐng)求的直接保護(hù)的第二類請(qǐng)求(諸如恒定帶寬請(qǐng)求)相關(guān)。在至少一個(gè)第二類請(qǐng)求等待而沒(méi)有被處理的情況下,可以通過(guò)第一預(yù)定改變值來(lái)改變計(jì)算值。可能有利的是,周期性地改變計(jì)算值,例如每個(gè)時(shí)鐘周期改變一次計(jì)算值。換句話說(shuō),為了確保精確的計(jì)算機(jī)構(gòu)和準(zhǔn)確檢測(cè)的可能性,每個(gè)時(shí)鐘周期更新一次計(jì)算值。更新計(jì)算值包括如果沒(méi)有第二類請(qǐng)求等待時(shí)將計(jì)算值重置為初始值。根據(jù)本申請(qǐng)的另一個(gè)實(shí)施例,如果第二類請(qǐng)求被處理,可以通過(guò)第二預(yù)定改變值來(lái)改變計(jì)算值。第二預(yù)定改變值也可以是遞增值或遞減值。可能有利的是,如果第二預(yù)定值為相反的值,即,如果第一改變值為遞增值,則第二改變值為遞減值,或者反之。此外,計(jì)算機(jī)構(gòu)可以通過(guò)定義閾值來(lái)容易地實(shí)現(xiàn)。該閾值可以是第二類請(qǐng)求等待處理到期的界限。換句話說(shuō),滿足了預(yù)定條件。更具體地,根據(jù)另一個(gè)實(shí)施例,可以設(shè)置預(yù)定閾值,其在計(jì)算值被一個(gè)改變值改變以使得達(dá)到預(yù)定閾值時(shí)被檢測(cè)到。然后,可以阻塞第一類請(qǐng)求。例如,當(dāng)計(jì)算值達(dá)到預(yù)定閾值時(shí),通過(guò)阻塞第一類請(qǐng)求來(lái)促進(jìn)第二類請(qǐng)求。應(yīng)該理解的是,檢測(cè)到閾值達(dá)到之后,在阻塞第一類請(qǐng)求之前可能會(huì)經(jīng)過(guò)幾個(gè)周期,以允許首先處理第一類請(qǐng)求的剩余數(shù)據(jù)??梢愿鶕?jù)初始計(jì)算值來(lái)選擇閾值。通過(guò)示例的方式,初始計(jì)算值可以被設(shè)置為小于使第一改變值為遞增值的閾值。否則,第一改變值為遞減值。通過(guò)使用根據(jù)本申請(qǐng)的方法,由于將傳輸周期用作相關(guān)索引而提供了精確的計(jì)算,從而可以防止低延遲請(qǐng)求的不必要的長(zhǎng)平均延遲,以及可以確保恒定帶寬請(qǐng)求的足夠帶寬。此外,在另一個(gè)實(shí)施例中,如果沒(méi)有第一類請(qǐng)求等待,則可以處理至少一個(gè)第二類請(qǐng)求。如果除了第二類請(qǐng)求之外沒(méi)有其他請(qǐng)求等待,則這些請(qǐng)求可以在預(yù)定條件不滿足時(shí)被處理。從而可以最佳地使用可用帶寬和處理時(shí)間。還可以定義多于兩類的請(qǐng)求。根據(jù)另一個(gè)實(shí)施例,可以控制具有第三優(yōu)先級(jí)的第三類請(qǐng)求的處理。第三優(yōu)先級(jí)可以更高、更低、或者為前述優(yōu)先級(jí)之間的值。例如,第三類請(qǐng)求可以是內(nèi)部命令,例如刷新命令。這些請(qǐng)求可以類似于上述請(qǐng)求被處理。本申請(qǐng)的另一方面是一種資源控制器,其包括第一緩沖器,配置來(lái)存儲(chǔ)包括第一優(yōu)先級(jí)的第一預(yù)定類請(qǐng)求。所述資源控制器包括至少一個(gè)第二緩沖器,配置來(lái)存儲(chǔ)包括第二優(yōu)先級(jí)的第二預(yù)定類請(qǐng)求,其中第一優(yōu)先級(jí)被設(shè)置為使得第一類請(qǐng)求的處理具有優(yōu)先權(quán)。所述資源控制器包括配置來(lái)在滿足預(yù)定條件時(shí)阻塞第一類請(qǐng)求的機(jī)構(gòu)。所述資源控制器包括配置來(lái)在關(guān)于第二類請(qǐng)求的預(yù)定條件滿足時(shí)在緩沖器的入口處阻塞第一類請(qǐng)求的機(jī)構(gòu)。例如,所述資源控制器可以是存儲(chǔ)器控制器或者用于管理多個(gè)客戶端與至少一個(gè)共享資源之間的數(shù)據(jù)傳輸?shù)娜魏纹渌N類的控制器。根據(jù)本申請(qǐng)的另一個(gè)實(shí)施例,至少一個(gè)緩沖器可以作為FIFO緩沖器來(lái)形成。低延遲傳輸請(qǐng)求(traffic request)和/或恒定帶寬傳輸請(qǐng)求可以在單獨(dú)的隊(duì)列中處理。應(yīng)該理解的是,根據(jù)本申請(qǐng)的其他改變,所有實(shí)施的緩沖器都可以作為FIFO緩沖器來(lái)形成。緩沖器單元可以通過(guò)不同的接口連接到處理單元。更具體地,不同類的請(qǐng)求可以到達(dá)不同的接口。在只提供了一個(gè)接口的情況下,資源控制器可以包括檢測(cè)器。為了檢測(cè)所接收到得請(qǐng)求的類別以及為了將請(qǐng)求置入各緩沖器中,可以布置檢測(cè)器來(lái)檢測(cè)所接收到的請(qǐng)求的類別。可以簡(jiǎn)單地分類通過(guò)一個(gè)或多個(gè)處理單元或代理發(fā)送的不同請(qǐng)求。此外,根據(jù)本申請(qǐng)的另一個(gè)實(shí)施例的資源控制器可以包括連接到諸如外部存儲(chǔ)器之類的至少一個(gè)共享資源的至少一個(gè)輸出端。該輸出端或存儲(chǔ)器接口可以提供恒定或可變的帶寬。應(yīng)該理解的是,也可以提供兩個(gè)或更多個(gè)端口以及兩個(gè)或更多個(gè)諸如外部存儲(chǔ)器之類的共享資源。根據(jù)另一個(gè)實(shí)施例,所述機(jī)構(gòu)可以包括配置來(lái)阻塞第一類請(qǐng)求的至少一個(gè)阻塞開(kāi)關(guān)。阻塞開(kāi)關(guān)可以是閉合的(即,第一類請(qǐng)求可以被處理),或者其可以是斷開(kāi)的(即,第一類請(qǐng)求被阻塞而第二類請(qǐng)求可以被處理)。另外,根據(jù)另一個(gè)實(shí)施例,資源控制器還可以包括比較器,配置來(lái)通過(guò)計(jì)算機(jī)構(gòu)檢測(cè)是否達(dá)到預(yù)定閾值。該比較器可以與雙向計(jì)數(shù)器相鄰定位或者可以位于阻塞開(kāi)關(guān)中。在另一個(gè)實(shí)施例中,資源控制器可以包括觀察單元,其檢測(cè)是否向第二類請(qǐng)求提供了服務(wù)。此外,根據(jù)另一個(gè)實(shí)施例,觀察單元可以被配置為以下至少一種將傳輸和準(zhǔn)備周期看作第二類請(qǐng)求的服務(wù);或者僅將傳輸周期看作第二類請(qǐng)求的服務(wù)。本申請(qǐng)的另一方面是片上系統(tǒng),其包括至少一個(gè)上述資源控制器和至少一個(gè)處理單元。應(yīng)該理解的是,所述片上系統(tǒng)可以包括一個(gè)或多個(gè)處理單元,諸如數(shù)字信號(hào)處理器、 中央處理單元、加速器、知識(shí)產(chǎn)權(quán)核等。此外,所述片上系統(tǒng)可以包括或可以連接到至少一個(gè)共享資源,例如經(jīng)過(guò)資源控制器(例如,存儲(chǔ)器控制器)的外部存儲(chǔ)器。應(yīng)該理解的是,根據(jù)本申請(qǐng)的進(jìn)一步改變,所述片上系統(tǒng)可以包括其他部件,例如存儲(chǔ)器訪問(wèn)網(wǎng)絡(luò)、控制網(wǎng)絡(luò)等。本申請(qǐng)的另一方面是包括上述片上系統(tǒng)的消費(fèi)性電子裝置。例如,所述消費(fèi)性電子裝置可以是電視機(jī)裝置、PC、移動(dòng)電話等。本申請(qǐng)的另一方面是包括上述片上系統(tǒng)和片外存儲(chǔ)器的封裝件。本申請(qǐng)的另一方面是其上存儲(chǔ)有計(jì)算機(jī)程序的計(jì)算機(jī)可讀介質(zhì)。該計(jì)算機(jī)可讀介質(zhì)包括可操作來(lái)使處理器執(zhí)行上述方法的指令。本專利申請(qǐng)的這些和其他方面通過(guò)參考以下
而變得顯而易見(jiàn)。應(yīng)該理解的是,以上所呈現(xiàn)的本申請(qǐng)的特征及其示例實(shí)施例可以以任意形式相互組合。
附圖中圖1示出了根據(jù)本申請(qǐng)的片上系統(tǒng)的實(shí)施例。圖2示出了根據(jù)本申請(qǐng)的資源控制器的實(shí)施例。圖3示出了根據(jù)本申請(qǐng)的資源控制方法的實(shí)施例的第一流程圖。圖4示出了根據(jù)本申請(qǐng)的資源控制方法的實(shí)施例的第二流程圖。圖5示出了根據(jù)本申請(qǐng)的資源控制方法的實(shí)施例的第三流程圖。
7
附圖中相同的參考標(biāo)號(hào)表示相同的元件。
具體實(shí)施例方式以下對(duì)本申請(qǐng)的詳細(xì)描述中,本申請(qǐng)的示例實(shí)施例將描述和指出特別適合于使用快速外部資源(諸如快速外部存儲(chǔ)器)的增強(qiáng)型資源控制器和資源控制方法,其防止第一類請(qǐng)求的不必要的長(zhǎng)平均延遲,同時(shí)確保第二類請(qǐng)求的足夠帶寬。在以下的詳細(xì)描述中,為了更好地證明,通過(guò)僅考慮數(shù)據(jù)傳輸周期的存儲(chǔ)器控制器來(lái)說(shuō)明本申請(qǐng)。應(yīng)該理解的是,本申請(qǐng)可以包括任意資源控制器,以及也可以考慮總的周期。還應(yīng)該理解的是,可以考慮總的周期而不僅僅考慮數(shù)據(jù)傳輸周期。圖1示意性示出了根據(jù)本申請(qǐng)的片上系統(tǒng)(SoC)的實(shí)施例。如從圖1可以看出, 所示SoC 2連接到外部存儲(chǔ)器16。通過(guò)示例的方式,可以采用SDRAM作為外部存儲(chǔ)器芯片 16。特別地,可以使用快速存儲(chǔ)器裝置,諸如DDR2-1066或DDR3-1600。本實(shí)施例的SoC 2可以使用適當(dāng)?shù)拇鎯?chǔ)器控制器4通過(guò)適當(dāng)?shù)妮敵龆?7與外部存儲(chǔ)器裝置16通信。例如,輸出端17可以是提供高帶寬的接口裝置。除了存儲(chǔ)器控制器 4之外,SoC 2包括多個(gè)處理單元8、10. 1、10. 2和14。在本實(shí)施例中,SoC 2包括第一和第二數(shù)字信號(hào)處理器(DSP) 10. 1和10. 2、中央處理單元(CPU)S和多個(gè)加速器14,例如知識(shí)產(chǎn)權(quán)(IP)核等。所有這些處理單元8、10. 1、10. 2和14均與控制網(wǎng)絡(luò)6通信。此外,加速器14連接到存儲(chǔ)器訪問(wèn)網(wǎng)絡(luò)12,存儲(chǔ)器訪問(wèn)網(wǎng)絡(luò)12又連接到存儲(chǔ)器控制器4。另外,CPU 8以及 DSP 10. 2和10. 2與控制網(wǎng)絡(luò)6和存儲(chǔ)器控制器4通信。此外,處理單元8、10. 1、10. 2通過(guò)端子1連接到存儲(chǔ)器控制器4,而存儲(chǔ)器訪問(wèn)網(wǎng)絡(luò)12通過(guò)端子24. 2連接到存儲(chǔ)器控制器4。應(yīng)該理解的是,根據(jù)其他變型,SoC 2還可以包括更少的以及其他的部件,還可以提供兩個(gè)或多個(gè)外部存儲(chǔ)器。存儲(chǔ)器控制器4被配置為控制至少一個(gè)外部存儲(chǔ)器16與SoC 2的處理單元或代理8、10. 1、10.2和14之間的數(shù)據(jù)傳輸。更具體地,存儲(chǔ)器控制器4可以在來(lái)自不同代理的請(qǐng)求之間進(jìn)行仲裁。圖2中示出了根據(jù)本申請(qǐng)的存儲(chǔ)器控制器4. 1的實(shí)施例的更詳細(xì)的表示。存儲(chǔ)器控制器4. 1通過(guò)端子24. 1接收不同處理單元發(fā)送的數(shù)據(jù)傳輸請(qǐng)求。在僅為存儲(chǔ)器控制器 4. 1提供了一個(gè)端子的情況下,可以布置檢測(cè)器(未示出)。該檢測(cè)器可以被配置為檢測(cè)所接收到的請(qǐng)求的類別。通過(guò)示例的方式,可以根據(jù)預(yù)定參數(shù)(諸如帶寬要求、延遲要求、數(shù)據(jù)大小等)將不同請(qǐng)求劃分為至少兩個(gè)不同的類別。在本實(shí)施例中,請(qǐng)求被劃分為表示低延遲傳輸請(qǐng)求的第一類和表示恒定帶寬傳輸請(qǐng)求的第二類。不同類別的請(qǐng)求到達(dá)不同的端子24. 1和 24. 2。來(lái)自要求低平均延遲的處理單元的請(qǐng)求屬于低延遲類別。來(lái)自其他處理單元的請(qǐng)求屬于恒定帶寬類別。恒定帶寬傳輸要求在從恒定帶寬傳輸?shù)目臻e周期后的第一個(gè)恒定帶寬類別的請(qǐng)求到達(dá)開(kāi)始延遲初始延遲之后的保證最小帶寬。例如,可以根據(jù)應(yīng)該滿足的平均低延遲來(lái)定義低延遲傳輸。從而,無(wú)需保證特定的延遲或帶寬。恒定帶寬傳輸要求保證每個(gè)請(qǐng)求的保證最小帶寬和保證最大延遲。在所示實(shí)施例中,提供了四個(gè)端子1和對(duì).2,其中端子1可以提供為傳輸?shù)谝活愓?qǐng)求,而第二類請(qǐng)求可以通過(guò)端子24. 2傳輸。此外,布置多路復(fù)用器18來(lái)管理三個(gè)輸入端子24. 1。與多路復(fù)用器18相關(guān)的仲裁算法不屬于本發(fā)明的范圍??梢允褂肍IFO緩沖器來(lái)存儲(chǔ)和預(yù)處理各類請(qǐng)求。預(yù)處理可以包括將端子24. 1和 2上的請(qǐng)求轉(zhuǎn)換為內(nèi)部存儲(chǔ)器控制器請(qǐng)求。預(yù)處理還可以包括SDRAM的準(zhǔn)備命令的命令
產(chǎn)生。緩沖器的內(nèi)部組織不是本發(fā)明的部分。盡管緩沖器20. 2可以包括計(jì)算機(jī)構(gòu)26. 2,但是緩沖器20. 1可以包括阻塞開(kāi)關(guān) 26. 1。更具體地,被配置為阻塞第一類請(qǐng)求的處理的阻塞開(kāi)關(guān)26. 1可以由計(jì)算機(jī)構(gòu)26. 2 控制。以下將進(jìn)行更詳細(xì)的說(shuō)明。此外,存儲(chǔ)器控制器4. 1包括多路復(fù)用器22,其被配置為選擇要處理的請(qǐng)求。更具體地,如果緩沖器20. 1中存在請(qǐng)求,多路復(fù)用器可以選擇來(lái)自緩沖器20. 1的請(qǐng)求。否則, 多路復(fù)用器可以選擇來(lái)自緩沖器20. 2的請(qǐng)求??梢砸勒战涌?17的定時(shí)規(guī)范來(lái)進(jìn)行選擇。 根據(jù)接口 17的定時(shí)規(guī)范以及最近服務(wù)的請(qǐng)求,存在幾個(gè)這樣的時(shí)鐘周期,其中盡管存在等待的請(qǐng)求,但是沒(méi)有請(qǐng)求可以被處理。這些周期被稱為準(zhǔn)備周期。此外,存儲(chǔ)器控制器4. 1可以包括觀察單元23,其檢測(cè)什么類型的請(qǐng)求被處理。通過(guò)示例的方式,觀察單元23可以觀察多路復(fù)用器22以及多路復(fù)用器選擇的請(qǐng)求。在該特定示例中,觀察單元向計(jì)算機(jī)構(gòu)發(fā)送當(dāng)前周期是否提供給第二類請(qǐng)求的信號(hào)。觀察單元可以以以下兩種模式中的一種操作,以規(guī)定如何分配準(zhǔn)備周期。在第一種模式(總值模式) 中,準(zhǔn)備周期分配給第二類別,在第二種模式(凈值模式)中,根本不分配準(zhǔn)備周期。觀察單元也可以動(dòng)態(tài)配置為這兩種模式中的一種。根據(jù)觀察結(jié)果,雙向計(jì)數(shù)器沈.2可以遞增或遞減。以下將詳細(xì)描述存儲(chǔ)器控制的方法。應(yīng)該理解的是,根據(jù)本申請(qǐng)的進(jìn)一步變型,可以定義多于兩個(gè)的不同請(qǐng)求類別,例如第三類別表示內(nèi)部刷新命令。另外,可以提供三個(gè)或更多緩沖器。圖3示出了根據(jù)本申請(qǐng)的方法的實(shí)施例的第一簡(jiǎn)化流程圖。在詳細(xì)說(shuō)明圖3之前,指出可以在任意時(shí)間設(shè)置預(yù)定值。更具體地,可以將鉗位值clip_cb以及閾值b00St_cb 設(shè)置為各預(yù)定值,其中鉗位值clip_cb是計(jì)算值aCCoimt_Cb的最大值,閾值b00St_cb表示應(yīng)該阻塞第一類請(qǐng)求的值,其中在該值或者該值以下應(yīng)該阻塞第一類請(qǐng)求。該值被定義為使得可以在阻塞第一類請(qǐng)求之后直到可以服務(wù)第二類請(qǐng)求為止經(jīng)過(guò)幾個(gè)時(shí)鐘周期。如上所述,鉗位值clip_cb也可以被設(shè)置為最低值,以及閾值b00St_cb可以表示應(yīng)該阻塞第一類請(qǐng)求的值,其中在該值或該值以上應(yīng)該阻塞第一類請(qǐng)求。此外,恒定帶寬計(jì)算值account cb被設(shè)置為鉗位值clip_cb,其也可以被稱為初始計(jì)算值。而且,根據(jù)本實(shí)施例,可以對(duì)第一改變值(即,遞減值num_cb)和第二改變值(即,遞增值inc_cb = den_cb-num_cb)進(jìn)行編程。通常,可以根據(jù)片上系統(tǒng)的要求、使用者的期望等來(lái)定義前述值。下文中,指出了示例的值及其推導(dǎo)。分配給恒定帶寬傳輸?shù)膸捠?br>
權(quán)利要求
1.一種資源控制方法,包括控制具有第一優(yōu)先級(jí)的第一類請(qǐng)求的處理; 控制具有第二優(yōu)先級(jí)的第二類請(qǐng)求的處理,其中第一優(yōu)先級(jí)被設(shè)置為使得處理第一類請(qǐng)求優(yōu)先于處理第二類請(qǐng)求,以及通過(guò)檢測(cè)何時(shí)滿足關(guān)于提供給第二類請(qǐng)求的服務(wù)的預(yù)定條件的機(jī)構(gòu)來(lái)阻塞第一類請(qǐng)求。
2.根據(jù)權(quán)利要求1所述的方法,其中當(dāng)滿足關(guān)于提供給第二類請(qǐng)求的服務(wù)的預(yù)定條件時(shí),阻塞第一類請(qǐng)求以允許至少一個(gè)第二類請(qǐng)求被處理。
3.根據(jù)權(quán)利要求1所述的方法,其中預(yù)定條件是帶寬和延遲服務(wù)保證即將被違反。
4.根據(jù)權(quán)利要求3所述的方法,其中通過(guò)雙向計(jì)數(shù)器達(dá)到預(yù)定閾值來(lái)檢測(cè)帶寬和延遲服務(wù)保證的即將違反,其中雙向計(jì)數(shù)器記錄第二類請(qǐng)求接收到的服務(wù)。
5.根據(jù)權(quán)利要求3所述的方法,其中在以下的至少一方面限定第二類請(qǐng)求的服務(wù)A)在總值周期方面,B)在凈值周期方面。
6.根據(jù)權(quán)利要求4所述的方法,還包括 設(shè)置預(yù)定閾值;設(shè)置雙向計(jì)數(shù)器的初始值;以及設(shè)置雙向計(jì)數(shù)器的遞增值和遞減值。
7.根據(jù)權(quán)利要求1所述的方法,還包括控制具有第三優(yōu)先級(jí)的第三類請(qǐng)求的處理。
8.一種資源控制器(4,4. 1),其包括第一緩沖器1),配置來(lái)存儲(chǔ)具有第一優(yōu)先級(jí)的第一預(yù)定類請(qǐng)求; 至少一個(gè)第二緩沖器OO.幻,配置來(lái)存儲(chǔ)具有第二優(yōu)先級(jí)的第二預(yù)定類請(qǐng)求; 其中第一優(yōu)先級(jí)被設(shè)置為使得處理第一類請(qǐng)求優(yōu)先于處理第二類請(qǐng)求;以及第一類請(qǐng)求阻塞機(jī)構(gòu),配置來(lái)在滿足預(yù)定條件時(shí)阻塞第一類請(qǐng)求。
9.根據(jù)權(quán)利要求8所述的資源控制器,其中所述第一類請(qǐng)求阻塞機(jī)構(gòu)包括至少一個(gè)阻塞開(kāi)關(guān)1),該至少一個(gè)阻塞開(kāi)關(guān)配置來(lái)阻塞第一類請(qǐng)求。
10.根據(jù)權(quán)利要求8所述的資源控制器,還包括比較器,配置來(lái)通過(guò)計(jì)算機(jī)構(gòu)2)檢測(cè)是否達(dá)到預(yù)定閾值。
11.根據(jù)權(quán)利要求8所述的資源控制器,還包括觀察單元(23),其檢測(cè)是否向第二類請(qǐng)求提供了服務(wù)。
12.根據(jù)權(quán)利要求11所述的資源控制器,其中觀察單元被配置為考慮以下至少一種情況A)將傳輸和準(zhǔn)備周期看作第二類請(qǐng)求的服務(wù),B)僅將傳輸周期看作第二類請(qǐng)求的服務(wù)。
13.一種片上系統(tǒng),其包括至少一個(gè)根據(jù)權(quán)利要求8所述的資源控制器;以及至少一個(gè)處理單元(8,10. 1,10. 2,14)。
14.一種封裝件,包括根據(jù)權(quán)利要求13所述的片上系統(tǒng);以及片外存儲(chǔ)器。
15.一種消費(fèi)性電子裝置,包括根據(jù)權(quán)利要求13所述的片上系統(tǒng)。
16.一種其上存儲(chǔ)有計(jì)算機(jī)程序的計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)程序包括 可操作來(lái)使處理器執(zhí)行根據(jù)權(quán)利要求1所述的方法的指令。
全文摘要
本發(fā)明涉及一種資源控制方法,包括控制具有第一優(yōu)先級(jí)的第一類請(qǐng)求的處理。所述方法包括控制具有第二優(yōu)先級(jí)的第二類請(qǐng)求的處理,其中第一優(yōu)先級(jí)被設(shè)置為使得處理第一類請(qǐng)求優(yōu)先于處理第二類請(qǐng)求。所述方法包括通過(guò)檢測(cè)何時(shí)滿足關(guān)于提供給第二類請(qǐng)求的服務(wù)的預(yù)定條件的機(jī)構(gòu)來(lái)阻塞第一類請(qǐng)求。
文檔編號(hào)G06F13/16GK102282546SQ200980153669
公開(kāi)日2011年12月14日 申請(qǐng)日期2009年11月9日 優(yōu)先權(quán)日2008年11月10日
發(fā)明者伊麗莎白·弗朗西斯卡·瑪麗亞·斯特芬斯, 托馬斯·亨里克松 申請(qǐng)人:維爾基邏輯公司