專利名稱:對公共資源的訪問的制作方法
技術領域:
本發(fā)明涉及由一組功能部件對公共資源的訪問。本發(fā)明可用于例如包含若干個要訪問公共資源的處理器的數(shù)據(jù)處理系統(tǒng)。這種系統(tǒng)的一個例子是MPEG解碼器(MPEG是運動圖形專家組的簡寫)。
對公共資源的訪問可以通過接口來控制。接口使用訪問方案,功能部件能按照訪問方案來訪問公共資源。
一種可能的訪問方案的特征在于重復的訪問模式。該訪問模式包含若干個時間片。每個時間片被分配給一定的功能部件。這意味著有關功能部件能在這個時間片中訪問公共資源。假設某功能系統(tǒng)有三個功能部件A、B和C,某訪問模式可以在兩個時間單位期間將訪問權給予功能部件A,隨后在一個時間單位期間給予功能部件B,最后在三個時間單位期間給予功能部件C。這種模式于是包含總共6個時間單位,每6個時間單位就重復。以下將把這種訪問方案稱為固定訪問方案。
另一個可能的訪問方案的特征在于優(yōu)先級順序。功能部件應當提交使用訪問公共資源的請求。接口接收所有請求。它允許有等待處理的請求的功能部件中的具有最高優(yōu)先級的功能部件訪問公共資源。再次假設某功能系統(tǒng)有三個功能部件A、B和C。優(yōu)先級順序為A、B、C。在這種情況下,功能部件A將能獲得對公共資源的訪問,而不管事實上功能部件B或C有等待處理的請求。如果沒有來自功能部件A的等待處理的請求,則功能部件B將能獲得對公共資源的訪問。如果沒有來自功能部件A或B的等待處理的請求,則功能部件C將能獲得對公共資源的訪問。以下將把這種訪問方案稱為優(yōu)先訪問方案。
以上所述兩種訪問方案在公開號WO95/31874公開的國際專利申請中有介紹。該申請涉及MPEG解碼器。
本發(fā)明的一個目的是能實現(xiàn)成本降低。
本發(fā)明考慮了下列方面。原則上,每個功能部件都應能滿意地獲得對公共資源的訪問,以便使該功能部件能正確地得到執(zhí)行。任何功能部件對公共資源的訪問,是由兩個因素確定的第一,公共資源所提供的訪問能力(access capacity);第二,所采用的訪問方案。
原則上,通過給予公共資源較高的訪問能力,就有可能保障任何功能部件的滿意訪問。然而一般來說,公共資源將隨著公共資源所提供的訪問能力的增加而變得更加昂貴。假設公共資源例如是存儲器。存儲器所提供的存取能力一般是以傳送頻帶或速度來表示的。一般來說,存儲器的速度越高,存儲器就越貴。
固定訪問方案實際上是以預定方式在不同功能部件之間劃分公共資源所提供的訪問能力。所以,只要保證訪問能力和對這種能力的劃分使得公共資源能被每個功能部件滿意地訪問就足夠了。
功能部件所要求的訪問在時間上可能是不同的。有可能某個功能部件在一定的時段內(nèi)要密集地訪問公共資源,而在另一個時段內(nèi),該功能部件則不要求這種密集的訪問。
對于每個功能部件,固定訪問方案要對訪問要求作最壞的打算。這意味著,如果有一個或多個功能部件,其訪問要求在時間上的變化相當大,則公共資源所提供的訪問能力在多數(shù)時間里將會利用不足。換言之,公共資源將得不到非常有效的使用。就成本而言,固定訪問方案僅僅提供對公共資源投資的適度回報。
優(yōu)先訪問方案按請求賦予對公共資源的訪問權。這種方案因此具有靈活性,因此對公共資源的使用效率更高。這意味著,原則上,優(yōu)先訪問方案對公共資源要求的訪問能力比固定訪問方案的更小。其結(jié)果是,優(yōu)先訪問方案原則上使得有可能取得對公共資源的成本降低。
然而,優(yōu)先訪問方案有一些缺點。一般來說,要確定是否每個功能部件都能滿意地獲得對公共資源的訪問是困難的。此外,要驗證某功能部件是否總是在請求后的臨界時間里取得訪問權一般也是困難的。該驗證問題的起因是,某功能部件的訪問操作的時間跨度以及請求與由此引起的訪問之間的時間,與不同功能部件在它們的請求方面的行為有關。因此,為了驗證某個優(yōu)先訪問方案是否能實現(xiàn)正確的操作,需要對統(tǒng)計特性(statistical nature)的精密計算或模擬。這本身就已經(jīng)在開發(fā)階段牽涉到一定的費用。
下面的例子說明的是在優(yōu)先方案的情況中會可能出現(xiàn)的鎖定問題。有按優(yōu)先順序的三個功能部件A、B和C。在給定時刻,功能部件A獲得公共資源。在這個訪問期間功能部件B和C提交請求。當由功能部件A進行的訪問完成時,功能部件B將被授權訪問公共資源。來自功能部件C的請求保持在等待處理的狀態(tài)。在功能部件B對公共資源的訪問期間,功能部件A提交請求。當由功能部件B進行的訪問完成時,功能部件A將再次被授權訪問公共資源。如果這種情況繼續(xù)下去,即功能部件A在由功能部件B進行的訪問期間提交請求,然后功能部件B在由功能部件A進行的訪問期間提交請求,則功能部件C對公共資源的訪問實際上被鎖定。這種鎖定一直持續(xù),直到功能部件A或B或二者以更低的頻率提交它們的請求。
以上所述的鎖定是可以避免的,方法是留意讓最高優(yōu)先級的功能部件進行的訪問操作有較長的長度。這樣,在訪問過公共資源之后,這種功能部件將只在較長的時間后才需要進行新的訪問。這樣,長時間的訪問保證功能部件受到這樣的照顧,以至它在較長的時間都保持沉默。結(jié)果,最高優(yōu)先級的功能部件發(fā)出請求的頻率就將較低。這為讓較低優(yōu)先級的功能部件訪問公共資源提供了機會。
然而,對前面段落中所述的鎖定問題的該解決方案有一些缺點。對于低優(yōu)先級的功能部件來說,請求與由此引起的訪問之間的時間較長。此外,該解決方案要求最高優(yōu)先級的功能部件要有較高的存儲容量,用于暫時存儲構(gòu)成對公共資源的一次訪問的對象的項目。這些存儲容量招致一定的費用。對前面段落中所述的鎖定問題的另一個解決方案將是增加公共資源的訪問能力。然而,這也招致一定的費用。
按照本發(fā)明,如開篇段落中所定義的系統(tǒng)包含一個適合實現(xiàn)一個訪問方案的接口,特征在于要以預定方式經(jīng)歷若干個狀態(tài),一個狀態(tài)構(gòu)成一定長度的訪問的一個可能并定義功能部件能據(jù)以訪問公共資源的優(yōu)先順序。
本發(fā)明這樣就為處于一個或多個狀態(tài)中的任何具有最高優(yōu)先級的功能部件保障對公共資源的某種最小程度的訪問。此外,本發(fā)明還為這類功能部件保障在請求與由此引起的訪問之間的某種最長時間。這就方便了系統(tǒng)的設計,也使各功能部件能有比較適中的存儲容量。因此與以上所述的優(yōu)先方案相比使用本發(fā)明能實現(xiàn)成本的降低。
同時,本發(fā)明在一定的功能部件能在需要的情況下在一定時段內(nèi)密集地訪問公共資源的意義上,具有靈活性。所以,與給定訪問方案相比,公共資源將更有效地得到使用。所以,公共資源具有的訪問能力與固定訪問方案的訪問能力相比可以降低。所以本發(fā)明與固定訪問方案相比能降低成本。
現(xiàn)在將結(jié)合附圖來更詳細地說明本發(fā)明。
圖1表示按照本發(fā)明的數(shù)據(jù)處理系統(tǒng);圖2表示系統(tǒng)的存儲器接口的操作;圖3表示系統(tǒng)的信號處理單元;圖4表示系統(tǒng)的存儲器接口;圖5表示由某單元進行的讀訪問;圖6A和6B表示為對公共存儲器訪問的仲裁;圖7表示存儲器接口的存取接口;圖8表示存儲器接口的緩沖存儲器;圖9表示讀緩沖存儲器電路;圖10表示如權利要求1所定義的本發(fā)明的基本特征;圖11表示用于管理不同進程對公共資源的訪問的仲裁器;圖12表示在圖11中所示仲裁器中選擇進程的方案。
以下說明涉及標注符。在所有附圖中類同的部件具有相同的標注字母。在一個附圖中可能出現(xiàn)若干個類同的部件。在該情況下將數(shù)字后綴到標注字母,以區(qū)分類同的部件。為方便計可以省略數(shù)字或后綴。這適用于說明書和權利要求二者。
圖1表示一個數(shù)據(jù)處理系統(tǒng)。該設備包含公共存儲器SDRAM、存儲器接口INT和三個信號處理單元B1、B2和B3。以下將稱這些數(shù)據(jù)處理單元為“單元”。每個單元B通過專用讀總線BBR和專用寫總線BBW與存儲器接口INT相連。每個專用讀總線BBR和每個專用寫總線BBW都專用于給定單元B。存儲器接口INT通過公共總線BM與公共存儲器SDRAM相連。
數(shù)據(jù)處理設備的一般操作如下。單元B應請求接收要被處理并在公共存儲器SDRAM中存儲的數(shù)據(jù)。處理過數(shù)據(jù)后,單元B將處理過的數(shù)據(jù)通過存儲器接口NT施加到公共存儲器SDRAM。存儲器接口INT控制由各種單元B對公共存儲器SDRAM的存取。
存儲器接口INT有兩個基本功能。第一,它在對公共存儲器SDRAM的存取的層次在各種單元B之間進行仲裁(arbitration)。單一的單元B能訪問公共存儲器SDRAM,要么讀一次要么寫一次。這意味著單元B只能以成組方式(burst mode)訪問存儲器。第二,就讀而言,存儲器接口INT將來自公共存儲器SDRAM的、去往給定單元B的數(shù)據(jù)組串(data bursts)轉(zhuǎn)換成基本穩(wěn)定的數(shù)據(jù)流。該數(shù)據(jù)流就是這樣通過相應的專用讀總線BBR被傳輸?shù)絾卧狟的。就寫而言,存儲器接口INT將來自給定單元B的基本穩(wěn)定的數(shù)據(jù)流轉(zhuǎn)換成要寫入公共存儲器SDRAM的數(shù)據(jù)組串。
圖2表示存儲器接口INT的操作。T(BM)代表公共存儲器SDRAM與存儲器接口INT之間通過公共總線BM的數(shù)據(jù)傳輸。T(BBR1)、T(BBR2)和T(BBR3)代表存儲器接口INT與單元B1、B2和B3之間分別通過相應的專用讀總線BBR1、BBR2和BBR3的數(shù)據(jù)傳輸。T(BBW1)、T(BBW2)和T(BBW3)代表存儲器接口INT與單元B1、B2和B3之間分別通過相應的專用寫總線BBW1、BBW2和BBW3的數(shù)據(jù)傳輸。
數(shù)據(jù)傳輸T(BM)由數(shù)據(jù)組串DB組成。每個數(shù)據(jù)組串DB對應于由單元B或者以讀方式或者以寫方式對公共存儲器SDRAM進行的一個存取操作。DB后括號內(nèi)的標注,指出組串(burst)中的數(shù)據(jù)屬于哪個單元B,也指出存取的類型是寫(W)還是讀(R)。例如DB1(B1/R)指出數(shù)據(jù)組串DB1涉及B1以讀方式對公共存儲器SDRAM的存取。
圖2顯示,存儲器接口INT對來自公共存儲器SDRAM的、屬于某單元B的數(shù)據(jù)組串進行“平滑”(smoothing)。相反地,該圖也顯示存儲器接口INT對從單元B接收的數(shù)據(jù)進行時間集中(timeconcentration),以便將數(shù)據(jù)以組串的形式寫入公共存儲器SDRAM(數(shù)據(jù)壓縮)。這樣就實現(xiàn)以較低的速率通過專用讀總線BBR和專用寫總線進行數(shù)據(jù)的傳輸。因此這就使得專用讀總線BBR和專用寫總線BBW有可能具有相對較窄的傳輸(bands),因而具有較小的寬度。對此要注意的是,總線的大小不必非要相應于由該總線傳輸?shù)臄?shù)據(jù)的位數(shù)。例如,可以將16位的字分裂成4位的字。這樣,該數(shù)據(jù)就能以4個字的序列的形式通過4位的總線傳輸。
圖3表示單元B。單元B包含處理器P和通用尋址電路AGA。處理器P發(fā)出邏輯請求LRQ。假設單元B處理視頻數(shù)據(jù),在這種情況下邏輯請求LRQ例如可以是請求當前圖象的給定行中的像素。通用尋址電路AGA將邏輯請求LRQ轉(zhuǎn)換成物理請求PRQ。物理請求PRQ定義被請求數(shù)據(jù)被存儲在公共存儲器SDRAM中的位置的物理地址。物理請求PRQ可以有下列形式起始地址、從所述地址開始要被檢索的地址的數(shù)目以及-適合的話-在數(shù)據(jù)檢索期間要采用的方案。該方案可以以下列形式定義要讀取的連續(xù)地址的數(shù)目,要被跳過的地址的數(shù)目和“讀并跳過”循環(huán)的次數(shù)。AGA可以以用翻譯參數(shù)定義邏輯請求LRQ向物理請求PRQ的翻譯的方式可編程。這就能實現(xiàn)在公共存儲器SDRAM中數(shù)據(jù)存儲的靈活性。
圖4表示存儲器接口INT。存儲器接口INT包含仲裁器(arbiter)從B,存取接口SIF、緩沖存儲器BUF和尋址與宏命令電路AGB。每個單元B有個對應的尋址與宏命令電路AGB。
總的來說,存儲器接口INT的操作如下。每個尋址與宏命令電路AGB將來自其相關單元B的物理請求劃分成宏命令。一個宏命令代表一個訪問存儲器中給定行的請求。宏命令被提交給仲裁器ARB之前,尋址與宏命令電路AGB查驗緩沖存儲器BUF是否有足夠的空間。為此,它首先將宏命令施加到緩沖存儲器BUF。如果緩沖存儲器BUF確認有空間用于存儲由宏命令所定義的數(shù)據(jù)的數(shù)量,尋址與宏命令電路AGB就將宏命令提交給仲裁器ARB。仲裁器ARB接收來自各種尋址與宏命令電路AGB的宏命令并選擇一個要被施加到存取接口SIF的宏命令。這種選擇是按照以下所述的仲裁方案作出的。存取接口SIF按接收順序處理從仲裁器ARB接收的宏命令。然后,存取接口SIF提供對公共存儲器SDRAM的存取,存取操作是由被處理的宏命令定義的。
宏命令使X組地址能被訪問,其中每組包含Y個地址,各地址組由Z個字分隔,X、Y和Z為整數(shù)。所以,宏命令含有下列信息-要被訪問的首地址;-在一組地址中的首地址后要被訪問的地址的數(shù)目(Y-1);-要在兩組連續(xù)地址之間跳過的地址的數(shù)目(Z);-除第一組外還要訪問的地址組的數(shù)目(X-1);
-存取類型讀或?qū)憽?br>
一個在位層次的宏命令的例子如下。假設在公共存儲器SDRAM中存儲的數(shù)據(jù)的寬度是32位,公共存儲器SDRAM的最大存儲容量是256兆位。這意味著地址是以23位表達的。進一步假設存取操作被限制在大小最多16個地址。鑒于延遲,這種限制是可取的。所以X-1和Y-1最大為15,因此能用4個位編碼。最后,按照公共存儲器SDRAM的配置,一行含有最多512個地址。所以,要被跳過的地址的數(shù)目不可超過511,因此這個數(shù)目可以用9個位編碼。因此,宏命令的大小為23+2*4+9+1=41位。地址可以在位40至18中編碼,存取類型在位17中編碼,要被讀取的字的數(shù)目(Y-1)在位16至13中編碼,要被跳過的字的數(shù)目(Z)在位12至4中編碼,字組的數(shù)目(X-1)在位3至0中編碼。
圖5表示由給定單元B以讀方式對公共存儲器SDRAM的存取的過程。橫向代表時間。圖中的縱向代表涉及的不同功能部件。圖中含有箭頭。這些箭頭代表在對接口存儲器SRAM的存取的過程中的各種步驟S。
S1=有關單元B的處理器P向通用尋址電路AGA提交邏輯請求LRQ。該邏輯請求規(guī)定一個數(shù)據(jù)子集,例如待處理數(shù)據(jù)的集合(例如圖象)中某行的亮度像素(1uminance pixels)。
S2=通用尋址電路AGA將邏輯請求LRQ轉(zhuǎn)換成物理請求PRQ。
S3=通用尋址電路AGA向宏命令尋址電路AGB提交物理請求PRQ。
S4==宏命令尋址電路AGB將物理請求PRQ轉(zhuǎn)換成宏命令S5=宏命令尋址電路AGB將從物理請求PRQ導出的第一個宏命令提交給緩沖存儲器BUF。
S6=緩沖存儲器BUF檢驗是否有足夠的空間用于存儲由宏命令所定義的數(shù)據(jù)的數(shù)量。
S7=緩沖存儲器BUF向宏命令尋址電路AGB發(fā)送表示有空間的應答。
S8=代表一定的延遲。
S9=宏命令尋址電路AGB將宏命令提交給仲裁器ARB。
S10=仲裁器ARB按照適用于任何由單元(以讀方式和寫方式)進行的對公共存儲器SDRAM的存取的仲裁方案來處理請求存取公共存儲器SDRAM的宏命令。
S11=仲裁器ARB將宏命令提交給存取接口SIF。
S11a=仲裁器ARB向緩沖存儲器BUF發(fā)送表示已經(jīng)將宏命令提交給存取接口SIF的應答。
S12=宏命令在存取接口SIF中排隊,存取接口SIF先處理以前收到的宏命令。
S13=存取接口SIF根據(jù)該宏命令為公共存儲器SDRAM生成控制信號。這些控制信號導致位于由宏命令指定地址的數(shù)據(jù)被連續(xù)讀出。
S14=從公共存儲器SDRAM連續(xù)讀出的數(shù)據(jù)被傳送到緩沖存儲器BUF。
S15=緩沖存儲器BUF暫時存儲數(shù)據(jù)。
S16=緩沖存儲器BUF以基本穩(wěn)定的方式將數(shù)據(jù)傳送到處理器P。
對于步驟S1中提出的邏輯請求以后的每個宏命令,重復步驟S5-S15。
下一步在圖5中沒有表示。在執(zhí)行步驟S1時,通用尋址電路AGA向處理器P發(fā)送一個應答信號,該信號指出邏輯請求LRQ已經(jīng)被接受,將要被處理。處理器P響應該應答信號,提出新的邏輯請求并保持它,直到進一步通知。當宏命令尋址電路AGB應邏輯請求LRQ提交最后一個宏命令時,邏輯請求LRQ的處理就結(jié)束。在這種情況下宏命令尋址電路AGB向通用尋址電路AGA發(fā)送一個應答,向后者指出對邏輯請求LRQ的處理已經(jīng)完成。據(jù)此,通用尋址電路AGA以與步驟1中啟動的對邏輯請求LRQ的處理的類似方式開始處理新的邏輯請求LRQ。換言之,重復該過程。
圖6a和6b表示仲裁器ARB的一個仲裁方案。圖6a中以圓圈的形式表示8個狀態(tài)ST1-ST8。這些狀態(tài)ST以循環(huán)的方式一個接著另一個發(fā)生。每個狀態(tài)ST代表向存取接口發(fā)送宏命令的一個可能。所以,每個狀態(tài)代表訪問存儲器的一個可能。每個狀態(tài)對應于一定的處理器P。某狀態(tài)對應的處理器P在代表該狀態(tài)的圓圈中確定。
圖6b表示與圖6a對應的仲裁過程。這個過程包含多個步驟SA1-SA4,對圖6a中的每個狀態(tài)而執(zhí)行。步驟SA1是狀態(tài)跳轉(zhuǎn)之后執(zhí)行的第一個步驟。在步驟SA1中,仲裁器ARB查驗是否有由宏命令尋址電路AGB提交的、緊接著來自狀態(tài)S[i]對應的處理器P[j]的邏輯請求LRQ的宏命令在等待執(zhí)行。如果有這種宏命令在等待執(zhí)行,則在步驟SA1后進行步驟SA2。在步驟SA2中,仲裁器ARB將有關宏命令發(fā)送給存取接口SIF。這個步驟的作用是,在一定的延遲后,公共存儲器SDRAM將被該宏命令所確定的有關處理器P存取。在宏命令已經(jīng)被發(fā)送后,仲裁器跳轉(zhuǎn)到下一個狀態(tài),這意味著重復圖6b中所表示的過程。然而,如果在步驟SA1中仲裁器ARB檢測到?jīng)]有與狀態(tài)S[i]對應的處理器P相關的等待執(zhí)行的宏命令,則在步驟SA1后進行步驟SA3。在步驟SA3中,仲裁器ARB檢驗是否有其它宏命令在等待。如果沒有其它宏命令在等待,仲裁器ARB就跳轉(zhuǎn)到下一個狀態(tài),重復圖6b中所表示的過程。如果有其它宏命令在等待,仲裁器ARB就執(zhí)行步驟SA4,在步驟SA4中,仲裁器ARB按優(yōu)先順序選擇一個宏命令。每個宏命令都有一定的優(yōu)先級。優(yōu)先級是由該宏命令來自的處理器P確定的。仲裁器ARB于是選擇具有最高優(yōu)先級的宏命令并將這個宏命令發(fā)送給存取接口SIF。發(fā)送宏命令后,ARB跳轉(zhuǎn)到下一個狀態(tài),這意味著重復圖6b中所表示的過程。
關于圖6a和6b要注意的是,沒有必要每個狀態(tài)對應一個處理器P。引入一個或多個不與任何處理器P對應的狀態(tài)是可能的,這意味著引入自由狀態(tài)是可能的。就自由狀態(tài)的情況來說,仲裁器ARB僅僅根據(jù)優(yōu)先級順序來選擇宏命令。在數(shù)據(jù)處理系統(tǒng)包含一個在存取公共存儲器SDRAM的層次上對延遲時間和傳送頻帶(pass band)的約束比較適中的處理器P的情況中,這種自由狀態(tài)可以是有用的。所以,為了避免這種處理器P不被賦予足夠的訪問權(access),可以引入自由狀態(tài)。處理器P利用這些自由狀態(tài)來訪問公共存儲器SDRAM。
圖7表示一例存取接口SIF。存取接口SIF包含宏命令緩沖存儲器FIFO_MC、列發(fā)生器CAGU、命令發(fā)生器CGU、控制信號發(fā)生器IF_SDRAM、數(shù)據(jù)緩沖存儲器IF_D。
存取接口SIF的一般操作如下。宏命令緩沖存儲器FIF0_MC從仲裁器ARB接收宏命令。該存儲器暫時存儲這些宏命令并按它們的到達順序?qū)⑺鼈儼l(fā)送給列發(fā)生器CAGU。如果宏命令緩沖存儲器FIFO-MC已滿,因此不能接受新的宏命令,它就向仲裁器ARB報告這個情況。由于來自存取接口SIF的這個指出其“FIFO已滿”的信號,仲裁器ARB就推遲傳送當前選擇的宏命令,直到宏命令緩沖存儲器FIF0_MC報告它能接受新的宏命令。實際上,來自存取接口SIF的“FIFO已滿”的信號“凍結(jié)”仲裁器ARB一定的時間。
列發(fā)生器CAGU在根據(jù)前一個宏命令進行的存儲器存取操作已經(jīng)被執(zhí)行后從宏命令緩沖存儲器FIFO_MC請求一個新的宏命令。事實上,列發(fā)生器CAGU配合命令發(fā)生器CGU將宏命令翻譯成一系列地址。公共存儲器SDRAM的地址是由公共存儲器SDRAM的存儲體號、行號和列號定義的。本文已經(jīng)指出宏命令涉及對接口存儲器SRAM的單一行的存取,這自然意味著存取發(fā)生在單一的存儲體中。因此,為根據(jù)宏命令而定義一系列地址,列發(fā)生器CAGU根據(jù)宏命令生成一系列的列就足夠了。列發(fā)生器CAGU的一個實現(xiàn)例如可包含一些計數(shù)器和一些邏輯電路。在這種實現(xiàn)中,宏命令的內(nèi)容的作用是編程設置各計數(shù)器。
命令發(fā)生器CGU連續(xù)接收公共存儲器SDRAM的另一個列號。命令發(fā)生器CGU另外從宏命令緩沖存儲器FIFO_MC接收由宏命令所定義的存儲體號和行號。該信息使列發(fā)生器CAGU能定義一系列用于存取公共存儲器SDRAM的命令,其中每個命令定義一個地址。此外,命令發(fā)生器CGU還生成將公共存儲器SDRAM設置成允許宏命令所定義的存取操作的正確狀態(tài)而必需的命令。這些命令涉及公共存儲器SDRAM的適當過程,諸如預加載和啟動。此外,命令發(fā)生器CGU還確保公共存儲器SDRAM每隔一定時間就被刷新并生成進行這種刷新操作所必需的命令。
控制信號發(fā)生器IF_SDRAM根據(jù)從命令發(fā)生器CGU接收的命令生成控制信號。例如,控制信號發(fā)生器IF_SDRAM生成縮寫名為RAS、CAS的信號??刂菩盘柊l(fā)生器IF_SDRAM保證,在一系列控制信號中,遵守公共存儲器SDRAM的一定等待時間。這些等待時間可能因所使用SDRAM的類型而不同。所以,控制信號發(fā)生器IF_SDRAM是特定于所使用的公共存儲器SDRAM的類型的。如果要使用另一種類型的公共存儲器SDRAM,只要修改-即重新編程設置-控制信號發(fā)生器IF_SDRAM就足夠了。原則上,存取接口的其它部件不需要作任何修改。
數(shù)據(jù)緩沖存儲器IF_D的作用,就讀數(shù)據(jù)而言,是從公共存儲器SDRAM向如圖4所示的緩沖存儲器傳送數(shù)據(jù);就寫數(shù)據(jù)而言,是從緩沖存儲器BUF向公共存儲器SDRAM傳送數(shù)據(jù)。為此,數(shù)據(jù)緩沖存儲器IF_D將公共存儲器SDRAM提供的數(shù)據(jù)(讀)或向公共存儲器SDRAM的施加的數(shù)據(jù)(寫)同步。此外,數(shù)據(jù)緩沖存儲器IF_D構(gòu)成了一個具有單位深度的FIFO。這意味著,如果一定的時鐘脈沖導致從公共存儲器SDRAM讀取數(shù)據(jù),該數(shù)據(jù)將在下一個時鐘脈沖被傳送到緩沖存儲器BUF。就寫操作而言,次序相反。
圖8表示構(gòu)成圖4中所示存儲器接口INT的一部分的緩沖存儲器BUF的例子。緩沖存儲器BUF包含讀緩沖存儲器BUFR及寫緩沖存儲器BUFW和應答信號緩沖存儲器FIFO_ACK。如圖1中所示,讀緩沖存儲器BUFR和寫緩沖存儲器BUFW通過存取接口SIF和公共總線BM與公共存儲器SDRAM相連。讀緩沖存儲器BUFR分別通過專用讀總線BBR1、BBR2和BBR3與單元B1、B2和B3相連。寫緩沖存儲器電路BUFW分別通過專用寫總線BBW1、BBW2和BBW3與單元B1、B2和B3相連。應答信號緩沖存儲器FIFO_ACK與仲裁器ARB相連。
緩沖存儲器BUF的一般操作如下。讀緩沖存儲器BUFR暫時存儲從公共存儲器SDRAM接收的數(shù)據(jù),而寫緩沖存儲器BUFW則存儲從不同單元B接收的、要被寫入公共存儲器SDRAM的數(shù)據(jù)。應答信號緩沖存儲器FIFO_ACK接收來自仲裁器ARB的應答信號,這種應答信號指出仲裁器已經(jīng)將宏命令施加到存取接口INF。
應答信號緩沖存儲器FIFO_ACK與圖7中所示的存取接口SIF的宏命令緩沖存儲器FIFO_MC有相同的深度。所以,當宏命令離開宏命令緩沖存儲器FIFO_MC時,其結(jié)果是,按照宏命令啟動存儲器訪問,對應這個宏命令的應答信號離開應答信號緩沖存儲器FIFO_ACK。該信號指示有關存取操作是讀訪問還是寫訪問。在前一種情況中,讀緩沖存儲器BUFR被激活,以便接收來自公共存儲器SDRAM的數(shù)據(jù),而在后一種情況中,寫緩沖存儲器BUFW被激活,以便向公共存儲器SDRAM發(fā)送數(shù)據(jù)。由應答信號緩沖存儲器FIFO_ACK提供的應答信號進一步指示宏命令所定義的、存取操作中涉及的數(shù)據(jù)的數(shù)量。該指示由緩沖存儲器BUF分別在讀或?qū)懙那闆r中用于“在哪里存儲數(shù)據(jù)或從哪里提取數(shù)據(jù)“的內(nèi)部管理。
圖9表示一例讀緩沖存儲器BUFR。讀緩沖存儲器BUFR包含一個輸入緩沖存儲器IB、一個接口存儲器SRAM、一個包含多個輸出緩沖存儲器OB的裝置,一個控制電路CON的裝置,以及一個接口存儲器存取仲裁器ARBBR。輸入緩沖存儲器IB通過已經(jīng)在圖4中表示過的存取接口SIF與公共存儲器SDRAM相連。輸出緩沖存儲器OB1、OB2和OB3分別通過專用讀總線BBR1、BBR2和BBR3與處理器P1、P2和P3相連,其中各專用讀總線在圖2和3中表示。控制電路CON1、CON2和CON3分別連接到宏命令尋址電路AGB1、宏命令尋址電路AGB2和宏命令尋址電路AGB3,也連接到存取接口SIF。
讀緩沖存儲器BUFR以如下方式操作。從公共存儲器SDRAM接收的數(shù)據(jù)寬度為N位(N是整數(shù)),以頻率F到達。接口存儲器SRAM的寬度為2N位(這意味著一個地址可含有2N個位)并以頻率F操作。輸入緩沖存儲器IB將來自公共存儲器SDRAM的數(shù)據(jù)組成一對對的兩個連續(xù)數(shù)據(jù),然后這些數(shù)據(jù)對裝入接口存儲器SRAM。組成一對要花費兩個時鐘周期。如果假設能將從公共存儲器SDRAM接收的所有連續(xù)數(shù)據(jù)組成數(shù)據(jù)對,則每兩個時鐘周期啟動一次對接口存儲器SRAM的寫訪問。訪問一個地址只要求一個時鐘周期。所以,在兩個寫訪問操作之間有一個時鐘周期可用來訪問接口存儲器SRAM,進行讀數(shù)據(jù),以便將從公共存儲器SDRAM讀取的數(shù)據(jù)傳送到單元B。所以,原則上,對接口存儲器SRAM的寫訪問和讀訪問可以交替地、一個接著另一個地啟動。以下將更詳細地說明對接口存儲器SRAM的存取。
接口存儲器SRAM實際上被劃分成三個存儲區(qū)Z1、Z2和Z3。存儲區(qū)Z1、Z2和Z3分別含有要用于處理器P1、P2和P3的數(shù)據(jù)。來自公共存儲器SDRAM的數(shù)據(jù),是根據(jù)發(fā)生當前宏命令的處理器P而通過IB被寫入存儲區(qū)Z1、Z2或Z3的。存儲區(qū)Z1、Z2和Z3中出現(xiàn)的數(shù)據(jù)是以基本穩(wěn)定的方式和按照基本固定的方案分別被傳送到輸出緩沖存儲器OB1、OB2和OB3的。輸出緩沖存儲器0B實際上將數(shù)據(jù)分離成若干部分并一部分一部分地將有關數(shù)據(jù)施加到相應的處理器P。例如,輸出緩沖存儲器OB可以將16位的數(shù)據(jù)分離成4位的各部分。這樣,就不用在一個時鐘周期傳送該數(shù)據(jù)(這需要16位的總線),而是在4個時鐘周期中一部分一部分地傳送該數(shù)據(jù),這只需要4位的總線。
控制電路CON1、CON2和CON3分別控制存儲區(qū)Z1、Z2和Z3。為此每個控制電路CON控制一組參數(shù)。這些參數(shù)包括一個寫指針、一個讀指針和一個存儲區(qū)占用值(occupancy value)。寫指針定義來自公共存儲器SDRAM的數(shù)據(jù)要被寫入的地址。讀指針定義要向有關輸出緩沖存儲器0B傳送的數(shù)據(jù)的地址。占用值指示仍然可用于存儲從公共存儲器SDRAM接收的數(shù)據(jù)的地址的數(shù)量??刂齐娐稢ON1、CON2和CON3分別控制輸出緩沖存儲器OB1、OB2和OB3。為此,每個控制電路CON控制一個表示相應輸出緩沖存儲器OB的占用狀態(tài)的參數(shù)。
現(xiàn)在將說明由控制電路CON進行的控制過程-假設公共存儲器SDRAM是以圖5所示的方式被訪問的。在步驟S5中,宏命令尋址電路AGB向緩沖存儲器BUF提交宏命令。該宏命令被對應于發(fā)生該宏命令的處理器P的控制電路CON處理。控制電路CON將宏命令所定義的數(shù)據(jù)的數(shù)目與占用值作比較。這樣,控制電路CON查驗有關存儲區(qū)Z中是否有足夠的空間用于存儲所需的數(shù)據(jù)。如果有足夠的空間,控制電路CON就將這個情況報告給宏命令尋址電路AGB,此外還更新占用參數(shù)。這意味著,它將該數(shù)據(jù)視為已經(jīng)存儲在有關存儲區(qū)-盡管數(shù)據(jù)尚待存入。所以,可以將對占用參數(shù)的更新看作是在相關存儲區(qū)中的預定。
現(xiàn)在將描述在圖5中所示的步驟S12期間發(fā)生什么事情。步驟S12代表按照有關宏命令進行公共存儲器SDRAM的讀出。已經(jīng)解釋過,在存取接口SIF開始處理宏命令并因此啟動該讀出的時刻,該有關宏命令相關的應答信號離開圖7中所示的應答信號緩沖存儲器FIFO_ACK。該應答信號指出該訪問是個寫操作,此外,該信號還指明宏命令來自的處理器P。這樣,與該處理器P相應的控制電路CON就知道它應當提供數(shù)據(jù)應當在公共存儲器SDRAM中存儲的位置的地址。此外,控制電路CON還接收關于根據(jù)該宏命令在該存取操作中涉及的數(shù)據(jù)的數(shù)量的標志,該標志構(gòu)成應答信號的一部分。
來自公共存儲器SDRAM的一個數(shù)據(jù)對每次被寫入有關存儲區(qū)Z時,控制電路CON就遞增寫指針。此外,它還更新占用值??刂齐娐稢ON繼續(xù)這樣的操作,一直到由宏命令所定義的對公共存儲器SDRAM的讀訪問已經(jīng)完成。控制電路CON借助存取操作中所涉及數(shù)據(jù)的數(shù)量(該數(shù)量由應答信號指示)和對寫入接口存儲器SRAM的數(shù)據(jù)的計數(shù)來檢測存取操作的完成。
每從一定的存儲區(qū)Z讀出一個數(shù)據(jù)對后,控制該存儲區(qū)的控制電路CON就遞增讀指針。此外,它還更新占用值。
接口存儲器存取仲裁器ARBBR控制對接口存儲器SRAM的存取。有不同存取類型(1)由存取接口SIF將來自公共存儲器SDRAM的數(shù)據(jù)寫入接口存儲器SRAM的存取,(2)由輸出緩沖存儲器OB1進行的存取操作,(3)由輸出緩沖存儲器OB2進行的存取操作,(4)由輸出緩沖存儲器OB3進行的存取操作。后三種存取操作的作用分別將接口存儲器SRAM中含有的數(shù)據(jù)傳送到處理器P1、P2和P3。
任何對接口存儲器SRAM的存取,都是響應向接口存儲器存取仲裁器ARBBR提交的請求而啟動的。接口存儲器存取仲裁器ARBBR從當前的各請求中選擇具有最高優(yōu)先級的請求。寫訪問請求(通過存取接口SIF的訪問)具有最高的優(yōu)先級。由于數(shù)據(jù)是成對被寫的,所以-正如前文所解釋的那樣,這種請求一般每兩個時鐘周期只發(fā)生一次。寫操作只需要一個時鐘周期。因此在讀方式中將足夠的機會來訪問接口存儲器SRAM,以便向各種處理器P傳送數(shù)據(jù)。
讀訪問請求是由一定的輸出緩沖存儲器0B視輸出緩沖存儲器0B與單元B之間的專用讀總線的大小情況而作出的。例如假設總線的大小是N/2位。這意味著在每個時鐘周期能從輸出緩沖存儲器0B向單元B傳送N/2位的部分。接口存儲器SRAM的讀是按數(shù)據(jù)對進行的。一個數(shù)據(jù)對包含2N個位。因此,要向單元B發(fā)送一個數(shù)據(jù)對就需要4個時鐘周期。傳送一個數(shù)據(jù)對涉及以讀方式訪問接口存儲器SRAM的請求。所以在本例中,輸出緩沖存儲器OB將每四個時鐘周期提交一個訪問請求。本例說明,與單元B相連的總線的大小,決定了各種輸出緩沖存儲器OB的訪問請求的頻率。如果專用讀總線BBR是N/4位的,將每隔8個時鐘周期有一個訪問請求。
以下說明涉及一例對訪問接口存儲器SRAM的仲裁。假設專用讀總線BBR1的大小是N/2位的,專用讀總線BBR2和專用讀總線BBR3的大小是N/4位的。存取接口SIF的存取操作具有最高優(yōu)先級,按照優(yōu)先級的順序,接著依次為輸出緩沖存儲器OB1、OB2和OB3的存取操作。最后,假設所有類型的存取(SIF、OB1、OB2、OB3)的請求都是在第一時鐘周期同時提交的。
周期1所有請求同時被提出;等待處理的請求存取接口SIF、輸出緩沖存儲器OB1、OB2和OB3。
周期2具有最高優(yōu)先級的接口存取SIF在首位,于是投入其請求;輸出緩沖存儲器OB1、OB2和OB3維持它們的請求;等待處理的請求輸出緩沖存儲器OB1、OB2和OB3。
周期3具有第二最高優(yōu)先級的輸出緩沖存儲器OB1在首位,于是投入其請求;存取接口SIF提交新請求;等待處理的請求存取接口SIF、輸出緩沖存儲器OB2和OB3。
周期4具有最高優(yōu)先級的存取接口SIF在首位,于是投入其請求;輸出緩沖存儲器OB2和OB3維持它們的請求;等待處理的請求輸出緩沖存儲器OB2和OB3。
周期5具有第三最高優(yōu)先級的輸出緩沖存儲器OB2在首位,于是投入其請求;存取接口SIF提交新請求;等待處理的請求存取接口SIF和輸出緩沖存儲器OB3。
周期6具有最高優(yōu)先級的存取接口SIF在首位,于是投入其請求;輸出緩沖存儲器OB1用光緩沖器的容量,于是再次提出請求;等待處理的請求存取接口SIF、輸出緩沖存儲器OB1和OB3。
周期7具有第二最高優(yōu)先級的輸出緩沖存儲器OB1在首位,于是投入其請求;存取接口SIF提交新請求;等待處理的請求存取接口SIF、輸出緩沖存儲器OB3。
周期8具有最高優(yōu)先級的存取接口SIF在首位,于是投入其請求;輸出緩沖存儲器OB3維持其請求;等待處理的請求輸出緩沖存儲器OB3。
周期9具有第四最高優(yōu)先級的輸出緩沖存儲器OB3在首位,于是投入其請求;存取接口SIF提交新請求;等待處理的請求存取接口SIF。
周期10具有最高優(yōu)先級的存取接口SIF在首位,于是投入其請求;輸出緩沖存儲器OB1用光緩沖器的容量,于是再次提出請求;等待處理的請求輸出緩沖存儲器OB1。
周期11具有第二最高優(yōu)先級的輸出緩沖存儲器OB1在首位,于是投入其請求;存取接口SIF提交新請求;等待處理的請求存取接口SIF。
周期12具有最高優(yōu)先級的存取接口SIF在首位,于是投入其請求;輸出緩沖存儲器OB2用光緩沖器的容量,于是再次提出請求;等待處理的請求輸出緩沖存儲器OB2。
周期13具有第三最高優(yōu)先級的輸出緩沖存儲器OB2在首位,于是投入其請求;存取接口SIF提交新請求;等待處理的請求存取接口SIF。
周期14具有最高優(yōu)先級的存取接口SIF在首位,于是投入其請求;輸出緩沖存儲器OB1用光緩沖器的容量,于是再次提出請求;等待處理的請求輸出緩沖存儲器OB1。
周期15具有第二最高優(yōu)先級的輸出緩沖存儲器OB1在首位,于是投入其請求;存取接口SIF提交新請求;等待處理的請求存取接口SIF。
周期16具有最高優(yōu)先級的存取接口SIF在首位,于是投入其請求;輸出緩沖存儲器OB3用光緩沖器的容量,于是再次提出請求;等待處理的請求輸出緩沖存儲器OB3。
周期17具有第四最高優(yōu)先級的輸出緩沖存儲器OB3在首位,于是投入其請求;存取接口SIF提交新請求;等待處理的請求存取接口SIF。
周期18具有最高優(yōu)先級的存取接口SIF在首位,于是投入其請求;輸出緩沖存儲器OB1用光緩沖器的容量,于是再次提出請求;等待處理的請求輸出緩沖存儲器OB1。
周期19具有第二最高優(yōu)先級的輸出緩沖存儲器OB1在首位,于是投入其請求;存取接口SIF提交新請求;等待處理的請求存取接口SIF。
周期20具有最高優(yōu)先級的存取接口SIF在首位,于是投入其請求;輸出緩沖存儲器OB2用光緩沖器的容量,于是再次提出請求;等待處理的請求輸出緩沖存儲器OB2。
周期21具有第三最高優(yōu)先級的輸出緩沖存儲器OB2在首位,于是投入其請求;存取接口SIF提交新請求;等待處理的請求存取接口SIF。
周期22具有最高優(yōu)先級的存取接口SIF在首位,于是投入其請求;輸出緩沖存儲器OB1用光緩沖器的容量,于是再次提出請求;等待處理的請求輸出緩沖存儲器OB1。
周期23具有第二最高優(yōu)先級的輸出緩沖存儲器OB1在首位,于是投入其請求;存取接口SIF提交新請求;等待處理的請求存取接口SIF。
周期24具有最高優(yōu)先級的存取接口SIF在首位,于是投入其請求;輸出緩沖存儲器OB3用光緩沖器的容量,于是再次提出請求;等待處理的請求輸出緩沖存儲器OB3。
周期25具有第四最高優(yōu)先級的輸出緩沖存儲器OB3在首位,于是投入其請求;存取接口SIF提交新請求;等待處理的請求存取接口SIF。
周期26具有最高優(yōu)先級的存取接口SIF在首位,于是投入其請求;輸出緩沖存儲器OB1用光緩沖器的容量,于是再次提出請求;等待處理的請求輸出緩沖存儲器OB1。
如此等等。
以上所述的存取操作具有8個時鐘周期的周期性。仲裁就像是由一個有8個狀態(tài)的循環(huán)機(cyclic machine)進行的一樣。這是由于在本例中假設所有單元B都按一定規(guī)律處理它們的數(shù)據(jù)。
此外,還假設由存取接口SIF進行的存取請求是有規(guī)律地每隔兩個時鐘周期提交一次的。實際中,這些假設未必正確。由于這個原因,借助仲裁器并按優(yōu)先級順序而不是借助循環(huán)機來控制對接口存儲器SRAM的訪問,是可取的。仲裁器對于對接口存儲器SRAM的訪問有一定程度的靈活性,因此它便于更好地利用可用帶寬來進行數(shù)據(jù)傳送。
下面是規(guī)則的一個例外的例子,這個例外是,每兩個時鐘周期只有一個對接口存儲器SRAM的寫訪問(=由存取接口SIF進行的訪問)。當根據(jù)涉及奇數(shù)個數(shù)據(jù)的宏命令對公共存儲器SDRAM進行存取時,這個例外發(fā)生。這種存取中所涉及的所有數(shù)據(jù),除最后一個數(shù)據(jù)單元外,都有一個相配的數(shù)據(jù)單元并由此形成要被寫入接口存儲器SRAM的數(shù)據(jù)對。最后一個數(shù)據(jù)單元沒有相配的數(shù)據(jù)單元。不可能用下一個數(shù)據(jù)單元來構(gòu)成數(shù)據(jù)對,這是因為,下一個數(shù)據(jù)單元是另一個存取操作的第一個數(shù)據(jù)單元,因此是要用于另一個處理器P的。所以應當將另一個存取操作的第一個數(shù)據(jù)單元存儲在接口存儲器SRAM的另一個存儲區(qū)中。這樣,當涉及奇數(shù)個數(shù)據(jù)單元的訪問的最后一個數(shù)據(jù)單元到達IB中時,該數(shù)據(jù)在緊接對該存取操作中所包含的最后的數(shù)據(jù)對的寫操作之后的一個時鐘周期中被裝入接口存儲器SRAM,而沒有與之相配的數(shù)據(jù)單元。所以,將會有不中斷一個時鐘周期的連續(xù)兩個寫訪問操作,這一個時鐘周期否則會使得能在兩個寫訪問操作之間進行一次讀訪問。
圖5和9涉及存儲器接口INT在讀方式中的操作。寫方式中的操作基本上是對稱的。這意味著寫緩沖存儲器BUFW是與以上所述的讀緩沖存儲器BUFR類似的。所以,寫緩沖存儲器BUFW包含一個被劃分成各存儲區(qū)的接口存儲器,每個存儲區(qū)與不同的單元B相關聯(lián)。各單元B能在指示應當在何處存儲這一數(shù)據(jù)的宏命令之前或之后提供要被寫入公共存儲器的數(shù)據(jù)。實際上,存儲區(qū)的對應單元B一提供要在公共存儲器中存儲的數(shù)據(jù),該存儲區(qū)就將被填入數(shù)據(jù)。這種填入例如會一直繼續(xù)到存儲區(qū)完全充滿數(shù)據(jù)。在這種情況下,存儲器接口INT將向有關單元B指出不再有任何空間用于存儲新的數(shù)據(jù)。這將阻止單元B提供新的數(shù)據(jù),直到有關存儲區(qū)中開始有空間可用。從存儲區(qū)Z向公共存儲器的數(shù)據(jù)傳送,導致騰出可用的空間。只有當宏命令被仲裁器ARB接收并被存取接口SIF,這種轉(zhuǎn)儲就可能立即發(fā)生。同樣也可能在有關單元B提供該數(shù)據(jù)之前就發(fā)出宏命令。在任何情況下,只要寫緩沖存儲器BUFW不指出有關存儲區(qū)的足夠填充水平,就不向仲裁器ARB施加宏命令。
圖10表示如“發(fā)明綜述”一節(jié)中所概括的本發(fā)明的基本特點。功能系統(tǒng)包含一組要訪問公共資源RSRC的功能部件F。系統(tǒng)包含一個適合實現(xiàn)一個訪問方案AS的接口INT,特征在于要以預定方式經(jīng)歷若干個狀態(tài)S,一個狀態(tài)S構(gòu)成一定長度的訪問的一個可能并定義功能部件F能據(jù)以訪問公共資源RSRC的優(yōu)先順序。
圖1所示數(shù)據(jù)處理系統(tǒng)是圖10中所示基本特征功能的實現(xiàn)的例子。圖10中的公共資源RSRC在圖1中采用的形式是公共存儲器SDRAM。圖10中的功能部件F在圖1中采用的形式是數(shù)據(jù)處理單元B。圖1中所示的數(shù)據(jù)處理系統(tǒng)的接口INT實現(xiàn)圖6a和6b中所示的訪問方案。該訪問方案的特征在于圖6a中所示的若干個狀態(tài)ST。每個狀態(tài)ST構(gòu)成通過宏命令進行訪問的一個可能。由宏命令定義的訪問操作具有16個地址的大小(長度)。圖6a中所示的每個狀態(tài)ST定義了數(shù)據(jù)處理單元能根據(jù)其訪問公共存儲器SDRAM的優(yōu)先順序。標注符出現(xiàn)在表示狀態(tài)ST的圓圈中的數(shù)據(jù)處理單元對該狀態(tài)ST來說具有最高優(yōu)先級。
接下來的例子說明了本發(fā)明如何能被應用于包含MPEG解碼器的集成電路和用于處理和顯示圖象的其它電路中。在這種集成電路中,發(fā)生各種過程,一個過程相當于一個功能部件。下面是一例要訪問SDRAM類型的公共存儲器(以下稱為SDRAM)的過程PP1DISP(顯示)P2OSD(在屏顯示)P3BCKGND(背景)P4CCIR656P5VMIX(視頻混合器)P6VFW(視頻FIFO寫)P7VFR(視頻FIFO讀)P8AUDIOFIFO(音頻FIFO讀和寫)P9AUDIOBUF(音頻緩沖器讀和寫)P10MC(運動補償)P11DMUP12INTERP過程P1(DISP)涉及被解碼圖象的顯示。過程P2(OSD)涉及在所顯示的解碼圖象上疊加的圖像數(shù)據(jù)的顯示。過程P3(BCKGND)涉及作為背景或透過解碼過和處理過的圖象顯示的靜止圖象。過程P4(CCIR656)涉及已經(jīng)被解碼的圖象能通過其被接收并在存儲器中存儲的集成電路的一個輸入。這些圖象能通過過程P1(DISP)取代來自MPEG解碼器的圖象并在其位置上被顯示。過程P5(VMIX)涉及對過程P1(DISP)、P2(OSD)和P3(BCKGND)產(chǎn)生的三個數(shù)據(jù)流的混合。過程P6(VFW)、P7(VFR)和P8(AUDIOFIFO)涉及對通過解擾/信號分離電路從一個MPEG數(shù)據(jù)流提取的編碼音頻和視頻數(shù)據(jù)的寫和讀。過程P9(AUDIOBUF)涉及對來自音頻處理器的中間結(jié)果的讀和寫。過程P10(MC)涉及運動補償,這是MPEG視頻解碼中的一個步驟。過程P11(DMU)涉及一種加速電路,其作用是對SDRAM中的數(shù)據(jù)進行比較復雜的操作,諸如移動一個或多個數(shù)據(jù)塊或過濾操作。過程P12(INTERP)涉及MPEG解碼的最后部分-提供要裝入SDRAM中的解碼圖象,以便顯示它們或用它們作為參考圖象,或者既顯示也用作參考圖象。
圖11表示用于管理上述各種過程P進行的對SDRAM的存取的仲裁器。仲裁器接收來自所有過程的訪問請求并選擇其中之一。被選定的請求使提交該請求的過程向SDRAM寫入或從SDRAM讀取32位的字。在這個對SDRAM的存取之后,仲裁器選擇另一個請求。
仲裁器包含一個過程選擇器MPS和一個有四個輸入端1-4的固定優(yōu)先級選擇器FPS。過程選擇器MPS接收來自過程P1-P9的存取SDRAM的請求。它從這些過程中選擇一個過程P。這種選擇是按照以下將更詳細作說明的方案作出的。如果選定過程P提交了一個請求,該請求就被傳送級到固定優(yōu)先級選擇器FPS的輸入端1。如果沒有提交過請求就不向該輸入端傳送請求。過程P10(MC)的請求被傳送到固定優(yōu)先級選擇器FPS的輸入端2。過程P11(DMU)的請求被傳送到輸入端3。過程P12(INTERP)的請求被傳送到輸入端4。
固定優(yōu)先級選擇器FPS從輸入端1-4的請求中選擇號碼最小的輸入端處的請求(如果有的話)。這樣,如果過程選擇器MSP所選擇的過程P已經(jīng)提交了一個請求,該請求就將被選擇。如果沒有這種請求,固定優(yōu)先級選擇器FPS將選擇來自過程P10(MC)的請求。如果沒有這種請求,它就選擇過程P11(DMU)的請求。如果沒有這種請求,固定優(yōu)先級選擇器FPS就選擇過程P12(INTERP)的請求。如果固定優(yōu)先級選擇器FPS的輸入端1-4上沒有請求,過程選擇器MPS就選擇在其方案中出現(xiàn)的下一個過程。
圖12表示過程選擇器MPS能根據(jù)其選擇過程的方案。該方案可通過狀態(tài)機實現(xiàn)。在這種情況下,圖12中的每個圓圈表示一個狀態(tài)。圓圈中所示的過程P可以說具有該圓圈所表示的狀態(tài)。狀態(tài)構(gòu)成了向SDRAM寫入或從SDRAM讀出32位字的一個可能。這個可能是按照以上所述的優(yōu)先順序為具有該狀態(tài)的過程和為過程P1O-P12保留的。有一個圓圈中沒有顯示過程P,是“空”圓圈。由該圓圈表示的狀態(tài)可以被稱為自由狀態(tài);自由狀態(tài)沒有所有者。在該狀態(tài)中,只為過程P1O-P12保留對SDRAM的訪問權。
確實,每個圓圈或狀態(tài)都定義了能訪問SDRAM的過程的一個子集以及這些過程之間的優(yōu)先順序。該子集包含圓圈中所示的過程(如果有的話)和過程P11-P12。如果該子集中的一個過程提交了一個請求,訪問權就被授予該過程。如果該子集中的多個過程提交了請求,訪問權就被授予具有最高優(yōu)先級的過程。當訪問完成后,仲裁器跳轉(zhuǎn)到下一個狀態(tài)。如果該子集中沒有過程提交過請求,仲裁器就直接跳轉(zhuǎn)到下一個狀態(tài)。
圖12所示的方案構(gòu)成了一個64個狀態(tài)的圓。在這一方面,要注意的是屬于過程P8(AUDIOFIFO)和F9(AUDIOBUF)的各個狀態(tài)的下列特殊特征。由這些過程進行的訪問操作從一個周期到另一個周期在寫和讀之間交替。這意味著如果過程P8或過程P9在一個給定周期已經(jīng)執(zhí)行了一次讀訪問,則該過程在下一周期將執(zhí)行一次寫訪問,或者相反。
以上附圖和它們的說明具體解釋而不是限制了本發(fā)明。在后附的權利要求的范圍內(nèi)顯然有許多另外的形式或方案。最后,就此指出幾點。
本發(fā)明可以應用于任何類型的功能系統(tǒng)中。圖1只是表示了本發(fā)明在數(shù)據(jù)處理系統(tǒng)中應用的一種可能。也可能將本發(fā)明應用于例如包含中央服務器和多個用戶終端的通信系統(tǒng)中。本發(fā)明能被用來以有益的方式管理用戶終端對中央服務器的訪問。
各功能單位或功能可以以許多不同方式分配。對此,要注意的是,各附圖是高度示意性的,每個附圖只表示本發(fā)明的一個實施例。所以,盡管某附圖以單獨的方框的形式來表示不同的功能實體,這并不排除以一個物理實體的形式來表達若干個功能實體。
最后,在權項中的括號中給出的任何標注符不應被解釋為是對該權項的限制。動詞“包含”的使用,并不排除出現(xiàn)權項中所定義之外的部件或步驟的存在。部件或步驟前的不定冠詞“a”的使用,并不排除出現(xiàn)若干個這些部件或步驟的存在。
權利要求
1.一種包含一組要求訪問公共資源(RSRC)的功能部件(F)的功能系統(tǒng),該系統(tǒng)包含一個適合實現(xiàn)一個訪問方案(AS)的接口(INT),特征在于要以預定方式經(jīng)歷若干個狀態(tài)(S),一個狀態(tài)(S)構(gòu)成一定長度的訪問的一個可能并定義一個功能部件(F)能據(jù)以訪問公共資源(RSRC)的優(yōu)先順序。
2.如權利要求1中所要求的功能系統(tǒng),特征在于,至少有一個狀態(tài)(S)只為功能部件的一個子集(SUB)定義一個優(yōu)先順序(PS)。
3.如權利要求2中所要求的功能系統(tǒng),特征在于,該接口適合在功能部件的子集(SUB)中沒有功能部件有等待處理的請求時跳轉(zhuǎn)到下一個狀態(tài)。
4.一種管理包含一組功能部件(F)和功能部件(F)要求訪問的公共資源(RSRC)的功能系統(tǒng)的方法,特征在于該方法包含以下步驟以預定方式經(jīng)歷若干個狀態(tài)(S),一個狀態(tài)(S)構(gòu)成一定長度的訪問的一個可能并定義功能部件(F)能據(jù)以訪問公共資源(RSRC)的一個優(yōu)先順序(PS)。
5.一種包含一組要求訪問公共存儲器(MEM)的處理器(P)的數(shù)據(jù)處理系統(tǒng),該數(shù)據(jù)處理系統(tǒng)包含一個適合實現(xiàn)一個訪問方案(AS)的存儲器接口(INT),特征在于要以預定方式經(jīng)歷若干個狀態(tài)(S),一個狀態(tài)(S)構(gòu)成一定長度的訪問的一個可能并定義一個處理器(P)能據(jù)以訪問公共存儲器(MEM)的優(yōu)先順序(PS)。
6.一種用于包含一組功能部件(F)和功能部件(F)要求訪問的公共資源(RSRC)的功能系統(tǒng)的“計算機程序”產(chǎn)品,特征在于該“計算機程序”產(chǎn)品包含一組指令,當裝入這種功能系統(tǒng)中時,該組指令導致功能系統(tǒng)執(zhí)行權利要求4中要求的方法。
全文摘要
一個功能系統(tǒng)包含一組要求訪問公共資源(RSRC)的功能部件(F)。這種系統(tǒng)例如可以是一個包含若干個要求訪問公共存儲器的處理器的數(shù)據(jù)處理系統(tǒng)。由于成本的原因,希望為一個或多個功能部件保障對公共資源的某種最小程度的訪問,同時對訪問保持一種程度的靈活性。為此,該系統(tǒng)包含一個適合實現(xiàn)一個訪問方案(AS)的接口(INT),特征在于要以預定方式經(jīng)歷若干個狀態(tài)(S),一個狀態(tài)(S)構(gòu)成一定長度的訪問的一個可能并定義一個功能部件(F)能據(jù)以訪問公共資源(RSRC)的一個優(yōu)先順序。
文檔編號G06F15/177GK1286435SQ00126079
公開日2001年3月7日 申請日期2000年8月28日 優(yōu)先權日1999年8月31日
發(fā)明者T·諾維特, S·穆茨, M·格尼 申請人:皇家菲利浦電子有限公司