專利名稱:數(shù)據(jù)空間仲裁器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字處理器,且更特定來說涉及數(shù)字處理器中的數(shù)據(jù)仲裁器優(yōu)先級控制系統(tǒng)。
背景技術(shù):
在使用具有多個外圍裝置及一中央處理單元(CPU)的數(shù)字處理器(例如,微控制器)的嵌入式系統(tǒng)中,在CPU與外圍設(shè)備中的至少一些之間共享某些功能單元,例如直接存儲器存取(DMA)控制器或內(nèi)部電路調(diào)試(ICD)控制器。因此,使用數(shù)據(jù)空間仲裁器來確定對所共享的存儲器或特殊功能寄存器的存取權(quán)利。在用于多主控器系統(tǒng)的數(shù)據(jù)空間仲裁器中,CPU通常為最高優(yōu)先級總線主控器。典型的數(shù)據(jù)空間仲裁器由一優(yōu)先級編碼器及一組數(shù)據(jù)總線多路復(fù)用器組成。常規(guī)可編程數(shù)據(jù)空間仲裁器在優(yōu)先級編碼器中實施可編程能力, 但使用預(yù)定優(yōu)先級,其中CPU通常具有最高優(yōu)先級。因此,每當(dāng)CPU正在存取存儲器時,通常使其它外圍設(shè)備停轉(zhuǎn)。然而,在嵌入式系統(tǒng)中,舉例來說,有時僅僅是臨時地由外圍設(shè)備對外部事件做出響應(yīng)因而確保高CPU吞吐量可更重要。因此,需要一種經(jīng)改善的更靈活數(shù)據(jù)空間仲裁器。
發(fā)明內(nèi)容
根據(jù)一實施例,一種數(shù)字處理器可包含在默認模式中具有最高優(yōu)先級的默認總線主控器;具有相關(guān)聯(lián)優(yōu)先級的多個次級總線主控器,其中所述多個次級總線主控器彼此具有預(yù)定優(yōu)先級關(guān)系;及數(shù)據(jù)空間仲裁器,其中所述數(shù)據(jù)空間仲裁器可編程以在非默認模式中將所述次級總線主控器中的任一者的優(yōu)先級升高為具有高于所述默認總線主控器的所述優(yōu)先級的優(yōu)先級,同時僅與也已將其所述優(yōu)先級等級升高為高于所述默認總線主控器的所述優(yōu)先級的那些次級總線主控器維持所述預(yù)定優(yōu)先級關(guān)系。根據(jù)其它實施例,所述數(shù)據(jù)空間仲裁器可準予對數(shù)據(jù)存儲器的存取且所述數(shù)據(jù)存儲器可包含隨機存取存儲器、雙端口存儲器、特殊功能寄存器中的至少一者。根據(jù)其它實施例,所述數(shù)字處理器可進一步包含具有優(yōu)先級超馳位的總線主控器優(yōu)先級寄存器,所述次級總線主控器中的至少一者被指派到所述優(yōu)先級超馳位中的一者,其中所述總線主控器優(yōu)先級寄存器以可編程方式指定所述多個次級總線主控器中的哪些次級總線主控器具有高于或低于所述默認總線主控器優(yōu)先級的優(yōu)先級。根據(jù)其它實施例,設(shè)定優(yōu)先級超馳位可致使將相關(guān)聯(lián)次級總線主控器的優(yōu)先級等級升高為高于所述默認總線主控器的所述優(yōu)先級等級。根據(jù)其它實施例,所述數(shù)據(jù)空間仲裁器可包含用于讀取及寫入存取的單獨仲裁器單
4元。根據(jù)其它實施例,所述數(shù)據(jù)空間仲裁器包含用于存儲器及特殊功能寄存器存取的單獨仲裁器單元。根據(jù)其它實施例,所述數(shù)據(jù)空間仲裁器可包含用于存儲器及特殊功能寄存器存取的單獨仲裁器單元。根據(jù)其它實施例,所述數(shù)字處理器可進一步包含耦合于所述數(shù)據(jù)空間仲裁器與所述數(shù)據(jù)存儲器之間的地址解碼器。根據(jù)其它實施例,所述數(shù)字處理器可進一步包含耦合于所述數(shù)據(jù)空間仲裁器與所述默認總線主控器或次級總線主控器之間的粗略地址解碼器。根據(jù)其它實施例,所述數(shù)字處理器可為數(shù)字信號處理器且所述隨機存取存儲器可分裂成X存儲器與Y存儲器。根據(jù)其它實施例,所述默認總線主控器可為中央處理單元(CPU)。根據(jù)另一實施例,一種用于在數(shù)字處理器中仲裁數(shù)據(jù)空間存取的方法可包含給一默認總線主控器及多個次級總線主控器指派優(yōu)先級,其中所述默認總線主控器在默認模式中具有最高優(yōu)先級且其中所述多個次級總線主控器彼此具有預(yù)定優(yōu)先級關(guān)系;及對數(shù)據(jù)空間仲裁器進行編程以在非默認模式中將所述次級總線主控器中的任一者的優(yōu)先級升高為具有高于所述默認總線主控器的所述優(yōu)先級的優(yōu)先級,同時僅與也已將其所述優(yōu)先級等級升高為高于所述默認總線主控器的所述優(yōu)先級的那些次級總線主控器維持所述預(yù)定優(yōu)先級關(guān)系。根據(jù)所述方法的其它實施例,所述方法可進一步包含當(dāng)所述默認總線主控器能存取數(shù)據(jù)空間時由次級總線主控器請求對所述數(shù)據(jù)空間的存取,且在所述次級總線主控器的所述優(yōu)先級高于所述默認總線主控器的所述優(yōu)先級的情況下,準予對所述數(shù)據(jù)空間的存取,否則使所述次級總線主控器停轉(zhuǎn)。根據(jù)所述方法的其它實施例,所述數(shù)據(jù)空間可為數(shù)據(jù)存儲器,所述數(shù)據(jù)存儲器包含隨機存取存儲器、雙端口存儲器、特殊功能寄存器中的至少一者。根據(jù)所述方法的其它實施例,編程數(shù)據(jù)空間仲裁器以升高所述次級總線主控器的優(yōu)先級的所述步驟可包含設(shè)定總線主控器優(yōu)先級寄存器中的位的步驟。根據(jù)所述方法的其它實施例,所述次級總線主控器中的至少一者可在所述總線主控器優(yōu)先級寄存器中具有相關(guān)聯(lián)位。根據(jù)所述方法的其它實施例,所述數(shù)據(jù)空間仲裁器可包含用于讀取及寫入存取的單獨仲裁器單元。根據(jù)所述方法其它實施例,所述數(shù)據(jù)空間仲裁器可包含用于存儲器及特殊功能寄存器存取的單獨仲裁器單元。根據(jù)所述方法其它實施例,所述數(shù)據(jù)空間仲裁器可包含用于存儲器及特殊功能寄存器存取的單獨仲裁器單元。根據(jù)又一實施例,一種用于在數(shù)字處理器中仲裁數(shù)據(jù)空間存取的方法可包含在默認模式中給中央處理單元(CPU)指派最高優(yōu)先級且給多個非CPU總線主控器指派其它優(yōu)先級,其中所述多個非CPU總線主控器彼此具有預(yù)定固定優(yōu)先級關(guān)系;通過設(shè)定總線主控器優(yōu)先級寄存器中的位來編程數(shù)據(jù)空間仲裁器以將所述非CPU總線主控器中的一者的優(yōu)先級升高為具有高于所述CPU的所述優(yōu)先級的優(yōu)先級,同時僅與也已將其所述優(yōu)先級等級升高為高于所述CPU的所述優(yōu)先級的那些非CPU總線主控器維持所述預(yù)定優(yōu)先級關(guān)系;及當(dāng)所述CPU能存取數(shù)據(jù)空間時請求由總線主控器對所述數(shù)據(jù)空間的存取,且在所述總線主控器的所述優(yōu)先級高于所述CPU的所述優(yōu)先級的情況下,準予對所述數(shù)據(jù)空間的存取,否則使所述總線主控器停轉(zhuǎn),其中所述數(shù)據(jù)空間為數(shù)據(jù)存儲器,所述數(shù)據(jù)存儲器包含隨機存取存儲器、雙端口存儲器、特殊功能寄存器中的至少一者。
通過結(jié)合附圖參照下文說明可獲得對本發(fā)明及其優(yōu)點的更全面理解,附圖中圖1展示微控制器系統(tǒng)中的數(shù)據(jù)空間仲裁器、總線多路復(fù)用器及地址解碼器的框圖;圖2展示根據(jù)一實施例的數(shù)個總線主控器的總線仲裁器優(yōu)先級表;圖3展示根據(jù)一實施例的仲裁器讀取框圖;圖4展示根據(jù)一實施例的仲裁器寫入框圖;圖5展示根據(jù)一實施例的仲裁器互連框圖;圖6及圖7展示根據(jù)一實施例的四個總線主控器的RAM仲裁器實例性真值表;圖8展示RAM仲裁器時序?qū)嵗?,其中CPU具有最高優(yōu)先級;圖9展示RAM仲裁器時序?qū)嵗?,其中CPU不具有最高優(yōu)先級;圖10展示根據(jù)一實施例的SFR仲裁器互連框圖;及圖11展示SFR仲裁器時序?qū)嵗渲蠧PU具有最高優(yōu)先級。雖然已參照本發(fā)明的實例性實施例來描繪、描述及界定本發(fā)明的各實施例,但此類參考并不意味著限制本發(fā)明,且不應(yīng)推斷出存在此限制。所揭示的標(biāo)的物能夠在形式及功能上具有大量修改、替代及等效形式,所屬領(lǐng)域的技術(shù)人員根據(jù)本發(fā)明將會聯(lián)想到這些修改、替代及等效形式并受益于本發(fā)明。所描繪及所描述的本發(fā)明實施例僅作為實例,而并非是對本發(fā)明的范圍的窮盡性說明。
具體實施例方式根據(jù)各種實施例,數(shù)據(jù)空間仲裁器經(jīng)設(shè)計以允許相對于在默認模式中具有最高優(yōu)先級的總線主控器(在下文中稱為“默認主控器”)的優(yōu)先級升高任何總線主控器的優(yōu)先級,從而增加數(shù)字處理器系統(tǒng)中的實時響應(yīng)靈活性。此可通過維持經(jīng)升高總線主控器僅與也已將其優(yōu)先級等級升高為高于默認主控器的優(yōu)先級的那些總線主控器之間的預(yù)定優(yōu)先級關(guān)系而以簡易方式完成。因此,每一總線主控器的優(yōu)先級等級的復(fù)雜重新指派是不必要的。根據(jù)本發(fā)明的教示,每一總線主控器(除默認主控器以外)可選擇超馳此優(yōu)先級。如果默認主控器為CPU,那么因此可(舉例來說)通過用戶定義的可編程優(yōu)先級超馳位來將任何(非CPU)總線主控器優(yōu)先級定義為高于或低于CPU的優(yōu)先級。然而,高于默認主控器的優(yōu)先級群組內(nèi)的所有總線主控器的相對優(yōu)先級經(jīng)設(shè)計而不改變。類似地,低于默認主控器的優(yōu)先級群組內(nèi)的所有總線主控器的相對優(yōu)先級不改變。舉例來說,通過使用多路復(fù)用器基于優(yōu)先級超馳位的狀態(tài)來將傳入總線主控器請求簡單地重新排序。接著將其發(fā)送到簡單的固定優(yōu)先級編碼器且像往常一樣排定優(yōu)先級。接著(舉例來說)再次使用優(yōu)先級超馳位的狀態(tài)將所得總線準予信號重映射回到其原始次序,且準予獲勝總線主控器進行總線存取。使所有其它總線主控器停轉(zhuǎn)。圖1展示具有三個不同總線主控器(CPU 110、內(nèi)部電路調(diào)試器(I⑶)單元105及直接存儲器存取(DMA)控制器11 的數(shù)字信號處理器100的原理性框圖。然而,如所屬領(lǐng)域的技術(shù)人員將了解,具有通用處理器及不同總線主控器的其它配置可適用。粗略地址解碼器120與這些總線主控器耦合以決定請求命中隨機存取存儲器(RAM)還是特殊功能寄存器(SFR)。此粗略地址解碼器產(chǎn)生多個輸出信號,其與相應(yīng)專用讀取仲裁器130及140以及專用寫入仲裁器135及145耦合。RAM仲裁器130、135與面板級地址解碼器耦合以存取兩個單獨靜態(tài)隨機存取存儲器(SRAM) 170及175。另外,提供雙端口(DP)SRAM 180,其一方面與地址解碼器160的輸出耦合且另一方面與特殊粗略地址解碼器190耦合,特殊粗略地址解碼器190可為粗略地址解碼器120的部分或與其相關(guān)聯(lián)。所有存儲器裝置170、175 及180的輸出經(jīng)由各個多路復(fù)用器125、150、155及185與不同總線主控器110、105、115耦合。外圍裝置接口 165可直接經(jīng)由多路復(fù)用器185與I⑶單元105耦合。然而,如上文所提及,根據(jù)各種實施例可使用其它存儲器配置,舉例來說,可將單個存儲器與通用處理器一同使用。此外,在數(shù)字信號處理器或微控制器的此特定實施例中,提供用于RAM及SFR的單獨仲裁器。此外,在每一仲裁器內(nèi),提供單獨的仲裁器或讀取130、140及寫入存取135、145。 然而,可使用其它設(shè)計且實際仲裁器的數(shù)目可變化。舉例來說,可使用單個仲裁器來提供相同功能性。根據(jù)各種實施例,仲裁器可由不同總線主控器配置。此可“在飛行中”進行,換句話說,用戶程序可根據(jù)裝置嵌入于其中的系統(tǒng)的相應(yīng)需要來更改配置。圖2展示在其中數(shù)字處理器與(舉例來說)五個總線主控器(例如,在默認模式中為最高優(yōu)先級總線主控器的CPU及多個次級總線主控器,例如以太網(wǎng)單元、USB單元、DMA控制器及I⑶單元)相關(guān)聯(lián)的可能實施方案的情況下的表。此簡單方案易于擴展以添加更多總線主控器或使用更少總線主控器,且不依賴于較大、可能較慢的可編程優(yōu)先級編碼器。根據(jù)一個實施例,所述系統(tǒng)可并非為完全可編程解決方案,因為每一群組內(nèi)的總線主控器相對優(yōu)先級可保持固定。舉例來說,此可通過設(shè)定如圖1中所示與仲裁器130、135、140及145耦合的特殊功能寄存器 MSTRPR 195中的相應(yīng)位來完成。MSTRPR寄存器195可配置如下上半部
權(quán)利要求
1.一種數(shù)字處理器,其包含在默認模式中具有最高優(yōu)先級的默認總線主控器;具有相關(guān)聯(lián)優(yōu)先級的多個次級總線主控器,其中所述多個次級總線主控器彼此具有預(yù)定優(yōu)先級關(guān)系;及數(shù)據(jù)空間仲裁器,其中所述數(shù)據(jù)空間仲裁器可編程以在非默認模式中將所述次級總線主控器中的任一者的優(yōu)先級升高為具有高于所述默認總線主控器的所述優(yōu)先級的優(yōu)先級, 同時僅與也已將其所述優(yōu)先級等級升高為高于所述默認總線主控器的所述優(yōu)先級的那些次級總線主控器維持所述預(yù)定優(yōu)先級關(guān)系。
2.根據(jù)權(quán)利要求1所述的數(shù)字處理器,其中所述數(shù)據(jù)空間仲裁器準予對數(shù)據(jù)存儲器的存取,且其中所述數(shù)據(jù)存儲器包含隨機存取存儲器、雙端口存儲器及特殊功能寄存器中的至少一者。
3.根據(jù)權(quán)利要求1所述的數(shù)字處理器,其進一步包含具有優(yōu)先級超馳位的總線主控器優(yōu)先級寄存器,所述次級總線主控器中的至少一者被指派到所述優(yōu)先級超馳位中的一者, 其中所述總線主控器優(yōu)先級寄存器以可編程方式指定所述多個次級總線主控器中的哪些次級總線主控器具有高于或低于所述默認總線主控器優(yōu)先級的優(yōu)先級。
4.根據(jù)權(quán)利要求3所述的數(shù)字處理器,其中設(shè)定優(yōu)先級超馳位致使將相關(guān)聯(lián)次級總線主控器的優(yōu)先級等級升高為高于所述默認總線主控器的所述優(yōu)先級等級。
5.根據(jù)權(quán)利要求1所述的數(shù)字處理器,其中所述數(shù)據(jù)空間仲裁器包含用于讀取及寫入存取的單獨仲裁器單元。
6.根據(jù)權(quán)利要求1所述的數(shù)字處理器,其中所述數(shù)據(jù)空間仲裁器包含用于存儲器及特殊功能寄存器存取的單獨仲裁器單元。
7.根據(jù)權(quán)利要求5所述的數(shù)字處理器,其中所述數(shù)據(jù)空間仲裁器包含用于存儲器及特殊功能寄存器存取的單獨仲裁器單元。
8.根據(jù)權(quán)利要求2所述的數(shù)字處理器,其進一步包含耦合于所述數(shù)據(jù)空間仲裁器與所述數(shù)據(jù)存儲器之間的地址解碼器。
9.根據(jù)權(quán)利要求1所述的數(shù)字處理器,其進一步包含耦合于所述數(shù)據(jù)空間仲裁器與所述默認總線主控器或次級總線主控器之間的粗略地址解碼器。
10.根據(jù)權(quán)利要求2所述的數(shù)字處理器,其中所述數(shù)字處理器為數(shù)字信號處理器,且所述隨機存取存儲器分裂成X存儲器與Y存儲器。
11.根據(jù)權(quán)利要求1所述的數(shù)字處理器,其中所述默認總線主控器為中央處理單元CPU。
12.一種用于在數(shù)字處理器中仲裁數(shù)據(jù)空間存取的方法,其包含給一默認總線主控器及多個次級總線主控器指派優(yōu)先級,其中所述默認總線主控器在默認模式中具有最高優(yōu)先級,且其中所述多個次級總線主控器彼此具有預(yù)定優(yōu)先級關(guān)系; 及對數(shù)據(jù)空間仲裁器進行編程以在非默認模式中將所述次級總線主控器中的任一者的優(yōu)先級升高為具有高于所述默認總線主控器的所述優(yōu)先級的優(yōu)先級,同時僅與也已將其所述優(yōu)先級等級升高為高于所述默認總線主控器的所述優(yōu)先級的那些次級總線主控器維持所述預(yù)定優(yōu)先級關(guān)系。
13.根據(jù)權(quán)利要求12所述的方法,其進一步包含當(dāng)所述默認總線主控器能存取數(shù)據(jù)空間時請求由次級總線主控器對所述數(shù)據(jù)空間的存取,且在所述次級總線主控器的所述優(yōu)先級高于所述默認總線主控器的所述優(yōu)先級的情況下,準予對所述數(shù)據(jù)空間的存取,否則使所述次級總線主控器停轉(zhuǎn)。
14.根據(jù)權(quán)利要求12所述的方法,其中所述數(shù)據(jù)空間為數(shù)據(jù)存儲器,所述數(shù)據(jù)存儲器包含隨機存取存儲器、雙端口存儲器及特殊功能寄存器中的至少一者。
15.根據(jù)權(quán)利要求12所述的方法,其中所述對數(shù)據(jù)空間仲裁器進行編程以升高所述次級總線主控器的優(yōu)先級的步驟包含設(shè)定總線主控器優(yōu)先級寄存器中的位的步驟。
16.根據(jù)權(quán)利要求15所述的方法,其中所述次級總線主控器中的至少一者在所述總線主控器優(yōu)先級寄存器中具有相關(guān)聯(lián)位。
17.根據(jù)權(quán)利要求12所述的方法,其中所述數(shù)據(jù)空間仲裁器包含用于讀取及寫入存取的單獨仲裁器單元。
18.根據(jù)權(quán)利要求12所述的方法,其中所述數(shù)據(jù)空間仲裁器包含用于存儲器及特殊功能寄存器存取的單獨仲裁器單元。
19.根據(jù)權(quán)利要求17所述的方法,其中所述數(shù)據(jù)空間仲裁器包含用于存儲器及特殊功能寄存器存取的單獨仲裁器單元。
20.一種用于在數(shù)字處理器中仲裁數(shù)據(jù)空間存取的方法,其包含在默認模式中給中央處理單元CPU指派最高優(yōu)先級且給多個非CPU總線主控器指派其它優(yōu)先級,其中所述多個非CPU總線主控器彼此具有預(yù)定固定優(yōu)先級關(guān)系;通過設(shè)定總線主控器優(yōu)先級寄存器中的位來對數(shù)據(jù)空間仲裁器進行編程以將所述非 CPU總線主控器中的一者的優(yōu)先級升高為具有高于所述CPU的所述優(yōu)先級的優(yōu)先級,同時僅與也已將其所述優(yōu)先級等級升高為高于所述CPU的所述優(yōu)先級的那些非CPU總線主控器維持所述預(yù)定優(yōu)先級關(guān)系;及當(dāng)所述CPU能存取數(shù)據(jù)空間時請求由總線主控器對所述數(shù)據(jù)空間的存取,且在所述總線主控器的所述優(yōu)先級高于所述CPU的所述優(yōu)先級的情況下,準予對所述數(shù)據(jù)空間的存取,否則使所述總線主控器停轉(zhuǎn),其中所述數(shù)據(jù)空間為數(shù)據(jù)存儲器,所述數(shù)據(jù)存儲器包含隨機存取存儲器、雙端口存儲器、特殊功能寄存器中的至少一者。
全文摘要
本發(fā)明揭示一種數(shù)字處理器,其具有在默認模式中具有最高優(yōu)先級的默認總線主控器;具有相關(guān)聯(lián)優(yōu)先級的多個次級總線主控器,其中所述多個次級總線主控器彼此具有預(yù)定優(yōu)先級關(guān)系;及數(shù)據(jù)空間仲裁器。所述數(shù)據(jù)空間仲裁器可編程以在非默認模式中將所述次級總線主控器中的任一者的優(yōu)先級升高為具有高于所述默認總線主控器的所述優(yōu)先級的優(yōu)先級,同時僅與也已將其所述優(yōu)先級等級升高為高于所述默認總線主控器的所述優(yōu)先級的那些次級總線主控器維持所述預(yù)定優(yōu)先級關(guān)系。
文檔編號G06F13/362GK102449612SQ201080024326
公開日2012年5月9日 申請日期2010年7月20日 優(yōu)先權(quán)日2009年7月21日
發(fā)明者邁克爾·I·卡瑟伍德, 阿希什·德賽 申請人:密克羅奇普技術(shù)公司