專利名稱:微控制器系統(tǒng)的制作方法
技術領域:
本實用新型的標的物一般來說涉及電子裝置,且更具體來說涉及用于微控制器的通信總線。
背景技術:
微控制器可包含使用系統(tǒng)總線相互通信的各種模塊(例如處理器、存儲器控制器、顯示器控制器等等)。舉例來說,主控模塊通過提供地址和控制信息來起始總線上的總線存取一讀取及寫入操作。受控模塊對來自主控模塊的讀取或?qū)懭氩僮髯鞒鲰憫?。解碼器選擇對應于由主控模塊提供的地址的特定受控模塊。一般來說,在任何給定時間僅有一個主控模塊在總線上通信。仲裁器管理總線存取以確保僅有一個主控模塊正使用總線。仲裁器可使用各種仲裁方案(例如,循環(huán)法、時分多址(TDMA)等等)中的任一者。
實用新型內(nèi)容本實用新型所要解決的技術問題是改進因突發(fā)中斷造成的低效率。本實用新型的特定實施例可經(jīng)實施以實現(xiàn)以下優(yōu)勢中的一個或一個以上優(yōu)勢(I)系統(tǒng)總線調(diào)度器和多端口受控仲裁器可有效滿足總線主控器的帶寬和延遲約束,同時保留內(nèi)部多端口受控器最優(yōu)化;(2)調(diào)度信息允許預期突發(fā)跟蹤以及有效的突發(fā)中斷和恢復;以及(3)調(diào)度信息允許多端口受控模塊預測適當命令的啟動,避免命令和數(shù)據(jù)的取消以及使延遲隱藏和到可用輸出的數(shù)據(jù)路由最大化。在一個實施例中,本實用新型提供一種微控制器系統(tǒng),其特征在于包括多個主控器;多端口受控器,所述多端口受控器包含多個受控器端口以及一多端口受控仲裁器,其中所述多端口受控仲裁器經(jīng)配置以在所述受控器端口之間作出仲裁;系統(tǒng)總線,其使所述主控器與所述多端口受控器連接;以及調(diào)度器,其經(jīng)配置以向獲勝主控器準予總線存取以在所述獲勝主控器與所述多端口受控器之間傳遞數(shù)據(jù)突發(fā);其中所述調(diào)度器經(jīng)配置以向所述多端口受控仲裁器提供調(diào)度信息,所述調(diào)度信息包含主控器分類信息以及預期突發(fā)信息,所述預期突發(fā)信息是基于調(diào)度器對于預期主控器對所述多端口受控器的預期總線存取的確定,所述主控器分類信息將所述預期主控器分類。在另一個實施例中,所述多端口受控仲裁器經(jīng)配置以接收所述調(diào)度信息且使用所述調(diào)度信息在所述受控器端口之間作出仲裁。在另一個實施例中,所述多端口受控器為管線式存儲器模塊。在另一個實施例中,所述主控器分類信息是基于所述主控器的帶寬和/或延遲要求,且其中所述多端口受控仲裁器和所述調(diào)度器經(jīng)配置以使用所述主控器分類信息確定總線存取的優(yōu)先級。在另一個實施例中,來自所述調(diào)度器的所述調(diào)度信息包含當前突發(fā)的所要求中斷的指示。在另一個實施例中,所述調(diào)度器經(jīng)配置以通過中止當前受控器端口上的所述當前突發(fā)來中斷所述當前突發(fā)且在所述當前受控器端口上起始新的突發(fā)。在另一個實施例中,來自所述調(diào)度器的所述調(diào)度信息包含先前受控器端口上的先前已中斷突發(fā)的所要求突發(fā)恢復的指示。在另一個實施例中,調(diào)度器經(jīng)配置以恢復所述先前受控器端口上的所述先前已中斷突發(fā)。在另一個實施例中,所述多端口受控器經(jīng)配置以向所述調(diào)度器發(fā)送確認以承諾恢復所述先前已中斷突發(fā),且其中所述調(diào)度器經(jīng)配置以響應于接收到所述確認而針對所述先前已中斷突發(fā)向先前主控器準予恢復總線存取。在另一個實施例中,所述預期突發(fā)信息包含用于所述預期主控器的差動識別標簽,所述差動識別標簽指示所述預期主控器是否不同于當前主控器。
圖I是實例性微控制器的框圖。圖2是展示實例性系統(tǒng)總線矩陣的示意圖。圖3是圖解說明在調(diào)度器與多端口受控模塊之間調(diào)度信息的流程的示意圖。圖4至圖6是圖解說明系統(tǒng)總線調(diào)度器與多端口受控模塊之間調(diào)度信息的通信的實例性場景的時序圖。圖7是為使用調(diào)度信息而由多端口受控模塊執(zhí)行的實例性過程的流程圖。
具體實施方式
系統(tǒng)概述圖I是實例性微控制器100的框圖。微控制器100包含一個或一個以上主控模塊101-105,總量高達M個模塊。主控模塊包含微控制器101、直接存儲器存取(DMA)控制器、顯示器控制器103以及高速外圍設備總線主控器104。微控制器100還包含一個或一個以上受控模塊120-124,總量高達S個受控模塊。受控模塊包含多端口受控模塊(例如存儲器控制器)120、芯片上存儲器121、低速外圍設備總線橋122以及高速外圍設備總線受控器123。模塊使用系統(tǒng)總線矩陣111相互通信。模塊可由襯墊150-157連接到微控制器外的裝置。舉例來說,顯示器控制器103可由襯墊150和151連接到顯示器,高速外圍設備總線主控器可由襯墊152和153連接到高速外圍設備總線,多端口存儲器控制器120可由襯墊154和155連接到存儲器裝置,以及高速外圍設備總線受控器123可由襯墊156和157連接到高速外圍設備總線。多端口受控模塊120使用調(diào)度信息在其端口之間作出仲裁。調(diào)度信息可包含主控器分類信息以及預期突發(fā)信息。所示模塊為實例,且各種類型的主控模塊和受控模塊中的任一者均可包含在微控制器100中。微控制器100可包含一個或一個以上主控模塊以及一個或一個以上受控模塊,且至少一個受控模塊為多端口受控模塊。實例性系統(tǒng)總線矩陣圖2是展示實例性系統(tǒng)總線矩陣110的示意圖。三個實例性主控模塊200-202使用系統(tǒng)總線矩陣Iio通信。一個實例性多端口受控模塊120使用系統(tǒng)總線矩陣110通信。多%5 口受控t旲塊120可為(例如)多〗而口存儲器t旲塊??偩€層為經(jīng)配置以載送地址“A”、控制“C”以及數(shù)據(jù)“D”信息的連接。數(shù)據(jù)信號可以是雙向的。利用三個受控總線層260-262圖解說明多端口受控模塊120。多端口受控模塊120可具有較多或較少的層。以三個總線主控層240-242來圖解說明主控模塊200-202,
每一主控模塊使用一個總線主控層。系統(tǒng)總線矩陣110將總線主控層240-242動態(tài)路由到總線受控層260-262。系統(tǒng)總線矩陣Iio可使用由主控模塊200-202提供的地址和控制信號路由所述層??刂菩盘柨呻[含地或明確地指示各種傳遞特性,例如數(shù)據(jù)方向;每一數(shù)據(jù)總線循環(huán)的字節(jié)數(shù);傳遞突發(fā)的類型和長度;數(shù)據(jù)的類型、保護和安全屬性;請求者識別;受控器可用性;以及其它的常規(guī)總線傳遞特性信息。主控模塊200-202中的任一者均可使用地址和控制信息的特定組合來起始總線存取。對應的解碼器(解碼器210-212中的一者)將地址信息解碼以選擇受控總線層·260-262中的一者。隨后,對應的系統(tǒng)總線仲裁器(系統(tǒng)總線仲裁器220-222中的一者)使用仲裁方案來確定獲勝的主控模塊。隨后,系統(tǒng)總線矩陣110使獲勝主控模塊的總線主控層連接到獲勝主控模塊的目標總線受控層。系統(tǒng)總線矩陣110通過驅(qū)動開關選擇器230-232來連接所述層以使矩陣開關250-252來回切換。任何其它請求主控器模塊均等待,直到新的仲裁發(fā)生。由于目標總線受控層屬于多端口受控模塊120的多個端口中的一者,因此在多端口受控仲裁器280處發(fā)生另一仲裁。多端口受控仲裁器280從總線受控層260-262上的主控模塊中確定同時發(fā)生的請求間的獲勝主控模塊。在多端口受控仲裁器280確定獲勝的主控模塊后,主控模塊和受控模塊可交換數(shù)據(jù)。舉例來說,可在多端口受控模塊120上的物理接口 290上進行數(shù)據(jù)交換??梢罁?jù)多端口受控模塊120的內(nèi)部狀態(tài)延遲數(shù)據(jù)交換。調(diào)度器225協(xié)調(diào)總線存取以滿足對系統(tǒng)總線矩陣110上的各種模塊的帶寬和/或延遲約束。調(diào)度器225向系統(tǒng)總線仲裁器220-222發(fā)送指令以向主控模塊200-202準予足夠總線存取從而滿足對主控模塊的帶寬和/或延遲約束。為滿足所述帶寬和/或延遲約束,調(diào)度器225將總線受控層260-262看作用于對多端口受控器處的已經(jīng)過的存取計數(shù)的單個層。可將數(shù)據(jù)交換壓縮成指定長度的突發(fā)。舉例來說,可在下一次仲裁(例如,由系統(tǒng)總線仲裁器220-222或多端口受控仲裁器280進行)選擇新的主控層或多端口受控層前傳遞一定數(shù)量的數(shù)據(jù)字(例如,4、8、16或更多)。在一些情況下(例如,在顯著工作負荷下),如果多端口受控仲裁器280以公平風格的仲裁選擇總線受控層,那么即使調(diào)度器225試圖協(xié)調(diào)總線存取,模塊的帶寬和/或延遲約束也可能不會得到滿足。一般來說,來自起始主控模塊的總線受控層上的突發(fā)越長,起始主控模塊將傾向于消耗的受控層帶寬就越多。多端口受控模塊120的物理接口 290處的突發(fā)越長,起始主控模塊將傾向于消耗的多端口受控器帶寬就越多。主控模塊起始總線存取越頻繁,其將傾向于消耗的帶寬就越多。考慮實例性場景,其中第一主控模塊200存取用于長突發(fā)的多端口受控模塊120。在長突發(fā)期間,第二主控模塊201試圖存取多端口受控模塊120。調(diào)度器225確定第二主控模塊201為關鍵主控模塊(例如)以使得延遲第二主控模塊的存取會導致某個系統(tǒng)故障。調(diào)度器225確定第一主控模塊200并不是關鍵的且一般來說已滿足其帶寬和延遲的要求。調(diào)度器225可中斷第一主控模塊220的突發(fā)以允許第二主控模塊201存取多端口受控模塊120。稍后可接著恢復第一主控模塊220的突發(fā)。中斷突發(fā)允許主控模塊200和201兩者均滿足其帶寬和延遲的要求;然而,多端口受控模塊120可能受到所述突發(fā)中斷的干擾。舉例來說,多端口受控模塊120可請求若干系統(tǒng)總線時鐘循環(huán)以進行某些操作,例如取消命令,終止已在物理接口 290處開始的突發(fā)或開始新的突發(fā)。突發(fā)中斷還可能會導致在多端口受控模塊120的物理接口 290未能同時執(zhí)行當前的數(shù)據(jù)突發(fā)以及用于下個數(shù)據(jù)突發(fā)的命令。舉例來說,在多端口受控模塊120為管線式多端口存儲器模塊的情況下,存儲器請求的管線化可能如上所述受到干擾。調(diào)度器225向多端口受控仲裁器280提供調(diào)度信息。調(diào)度信息有助于(例如)使可能由突發(fā)中斷引起的干擾減輕。調(diào)度器225可使用額外的通信信道270-272向多端口受控仲裁器280提供調(diào)度信息。對于總線受控層260-262中的每一者來說均可存在一個額外的通信信道。多端口受控仲裁器280使用調(diào)度信息進行總線受控層260-262間的仲裁。調(diào)度信息可包含主控器分類信息以及預期突發(fā)信息。預期突發(fā)信息可指示(例如)針對總線受控層上當前突發(fā)的請求突發(fā)中斷或總線受控層上先前已中斷突發(fā)的請求突發(fā)恢復。主控器分類信息基于(例如)帶寬和/或延遲的要求將主控模塊分類。主控器分類信息可能是靜態(tài)或動態(tài)的。主控器分類信息可將特定的主控模塊(且因此由所述主控器進行的每個總線存取)或由主控模塊進行的特定總線存取分類。下文中參考表I和表2對調(diào)度信息的實例進行描述。表I展示用于主控器分類信息的實例性類別以及對應的實例性符號和值。所述類別標記有“下個突發(fā)主控器關鍵性等級”(NMCC)。一般來說,所述類別指示用于主控模塊的系統(tǒng)操作(或由主控模塊進行的特定總線存取)的關鍵性級別。
下個突發(fā)主控器關鍵性等級NMCC符號二進制編碼—
延遲關鍵_ LC111
帶寬關鍵—BC110
延遲敏感,自限吞吐量_ LSL101
延遲敏感,無限吞吐量_ LSU100
帶寬敏感,自限吞吐量—BSL011
帶寬敏感,無限吞吐量—BSU010
不敏感,自限吞吐量_ NSL001
敏感,無限吞吐量NSU000表I所示NMCC類別不需要與任一特定優(yōu)先級相關聯(lián)。在一些實施方案中,隱含的原生優(yōu)先級可在等級對之間對應。調(diào)度器225和多端口受控仲裁器280可經(jīng)編程以一致的方法響應不同的NMCC類別。舉例來說,調(diào)度器225和多端口受控仲裁器280的NMCC類別的優(yōu)先排序可能相同(例如,使得具有較高優(yōu)先級的主控模塊能夠?qū)е戮哂休^低優(yōu)先級的主控模塊的突發(fā)發(fā)生突發(fā)中斷)。延遲關鍵主控模塊可為要求在指定時間量(例如,可能短于調(diào)度器225的最長周轉(zhuǎn)時間的時間)內(nèi)存取多端口受控模塊120以完成僅僅對帶寬關鍵主控模塊的整個仲裁循環(huán)的主控模塊。如果延遲關鍵主控模塊不能在指定時間量內(nèi)存取多端口受控模塊120,則應用程序或系統(tǒng)產(chǎn)生故障。舉例來說,在經(jīng)由外部接口要求實時高響應性的情況下,系統(tǒng)可包含延遲關鍵主控器。[0043]帶寬關鍵主控模塊可為經(jīng)由多端口受控模塊120上的某些端口要求最小平均數(shù)據(jù)帶寬的主控模塊。可在可取決于調(diào)度器225編程的任意時期內(nèi)指定帶寬以使得調(diào)度器225能夠執(zhí)行動作以達到要求。如果帶寬關鍵主控器不能得到其最小帶寬,則應用程序或系統(tǒng)產(chǎn)生故障。舉例來說,在一些應用程序中,圖I的顯示器控制器103可屬于此類別。延遲敏感主控模塊可為當對多端口受控模塊120的平均存取時間增加時其性能降低的主控模塊。舉例來說,在一些應用程序中,圖I的微處理器核心101可屬于此類別。帶寬敏感主控模塊可為當通過多端口受控模塊120的端口的平均帶寬減小時其性能降低的主控模塊。舉例來說,圖I的高速外圍設備總線主控器104可屬于此類別。對數(shù)據(jù)流時序不敏感的主控模塊可為不顯示出對用戶有任何可見影響的主控模塊。一般來說,調(diào)度器225和多端口受控仲裁器280經(jīng)配置以中斷來自不敏感主控模塊的突發(fā)從而有利于來自時序敏感的主控模塊的突發(fā)。還可依據(jù)流量控制區(qū)別主控模塊。自限吞吐量主控模塊具有本質(zhì)有限的系統(tǒng)總線請求率。舉例來說,鏈接到外部收發(fā)器的主控模塊可受到其波特率的限制。無限吞吐量主控模塊僅僅為系統(tǒng)有限的且能夠潛在地使系統(tǒng)總線矩陣Iio和多端口受控仲裁器280中的請求達到飽和。因此,當向自限主控模塊準予存取時,很快會出現(xiàn)新的請求的可能性較低。依據(jù)性能目標,為主控模塊請求排序時,調(diào)度器225和多端口受控仲裁器280能夠首先或最后向自限主控器準予存取。在操作中,調(diào)度器225能夠向多端口受控仲裁器280提供更新的主控器分類信息以反映出下個突發(fā)主控器請求的主控器分類。在斷言用于當前突發(fā)的地址和控制信息后,調(diào)度器225能夠提供用于下個突發(fā)的更新的主控器分類信息。舉例來說,根據(jù)對來自主控模塊的新的請求進行評估時由調(diào)度器225進行的新的調(diào)度仲裁,在當前突發(fā)期間的任何時候,調(diào)度器225都能夠提供用于下個突發(fā)的經(jīng)更新的主控器分類信息。表2展示用于預期突發(fā)信息的實例性類別以及對應的實例性符號和值。所述類別標記有“下個主控器突發(fā)請求”(NMBR)。一般來說,調(diào)度器225發(fā)送預期下個突發(fā)信息以通知多端口受控模塊120與當前或過去主控模塊及突發(fā)相關的即將到來的主控模塊及突發(fā)。所述類別指示起始突發(fā)中斷的時間或起始已中斷突發(fā)的突發(fā)恢復的時間??赏瑫r發(fā)送預期突發(fā)信息且將相同的時鐘時序看作主控器分類信息。
權利要求1.一種微控制器系統(tǒng),其特征在于包括 多個主控器; 多端口受控器,所述多端口受控器包含多個受控器端口以及一多端口受控仲裁器,其中所述多端口受控仲裁器經(jīng)配置以在所述受控器端口之間作出仲裁; 系統(tǒng)總線,其使所述主控器與所述多端口受控器連接;以及 調(diào)度器,其經(jīng)配置以向獲勝主控器準予總線存取以在所述獲勝主控器與所述多端口受控器之間傳遞數(shù)據(jù)突發(fā); 其中所述調(diào)度器經(jīng)配置以向所述多端口受控仲裁器提供調(diào)度信息,所述調(diào)度信息包含主控器分類信息以及預期突發(fā)信息,所述預期突發(fā)信息是基于調(diào)度器對于預期主控器對所述多端口受控器的預期總線存取的確定,所述主控器分類信息將所述預期主控器分類。
2.根據(jù)權利要求I所述的微控制器系統(tǒng),其特征在于所述多端口受控仲裁器經(jīng)配置以接收所述調(diào)度信息且使用所述調(diào)度信息在所述受控器端口之間作出仲裁。
3.根據(jù)權利要求I所述的微控制器系統(tǒng),其特征在于所述多端口受控器為管線式存儲器模塊。
4.根據(jù)權利要求I所述的微控制器系統(tǒng),其特征在于所述主控器分類信息是基于所述主控器的帶寬和/或延遲要求,且其中所述多端口受控仲裁器和所述調(diào)度器經(jīng)配置以使用所述主控器分類信息確定總線存取的優(yōu)先級。
5.根據(jù)權利要求I所述的微控制器系統(tǒng),其特征在于所述調(diào)度器經(jīng)配置以通過中止當前受控器端口上的所述當前突發(fā)來中斷所述當前突發(fā)且在所述當前受控器端口上起始新的突發(fā)。
6.根據(jù)權利要求I所述的微控制器系統(tǒng),其特征在于調(diào)度器經(jīng)配置以恢復所述先前受控器端口上的所述先前已中斷突發(fā)。
7.根據(jù)權利要求I所述的微控制器系統(tǒng),其特征在于所述多端口受控器經(jīng)配置以向所述調(diào)度器發(fā)送確認以承諾恢復所述先前已中斷突發(fā),且其中所述調(diào)度器經(jīng)配置以響應于接收到所述確認而針對所述先前已中斷突發(fā)向先前主控器準予恢復總線存取。
專利摘要本實用新型提供一種微控制器系統(tǒng),其特征在于包括多個主控器;多端口受控器,所述多端口受控器包含多個受控器端口以及一多端口受控仲裁器,其中所述多端口受控仲裁器經(jīng)配置以在所述受控器端口之間作出仲裁;系統(tǒng)總線,其使所述主控器與所述多端口受控器連接;以及調(diào)度器,其經(jīng)配置以向獲勝主控器準予總線存取以在所述獲勝主控器與所述多端口受控器之間傳遞數(shù)據(jù)突發(fā);其中所述調(diào)度器經(jīng)配置以向所述多端口受控仲裁器提供調(diào)度信息,所述調(diào)度信息包含主控器分類信息以及預期突發(fā)信息,所述預期突發(fā)信息是基于調(diào)度器對于預期主控器對所述多端口受控器的預期總線存取的確定,所述主控器分類信息將所述預期主控器分類。
文檔編號G06F13/24GK202815824SQ201120543840
公開日2013年3月20日 申請日期2011年12月12日 優(yōu)先權日2011年8月3日
發(fā)明者弗蘭克·盧納迪爾 申請人:愛特梅爾公司