計算機資源控制器以及控制方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明是關(guān)于資源配置用的仲裁器(arbiter)。
【背景技術(shù)】
[0002]仲裁器(arbiter)是一種電子裝置,配置多個設(shè)備對共享資源(shared resource)的存取權(quán)。
[0003]以總線應(yīng)用為例,總線仲裁器(busarbiter)用于決定各總線周期(bus cycle)間允許使用總線資源的設(shè)備。存儲器仲裁器(memory arbiter)則用于配置多個設(shè)備對共享的存儲器的存取權(quán)。另外,芯片一如圖形用戶界面芯片(GUI chip)—的共享也需要用到仲裁器。
[0004]如何提高仲裁器效能為本技術(shù)領(lǐng)域一項重要課題。
【發(fā)明內(nèi)容】
[0005]根據(jù)本發(fā)明一種實施方式實現(xiàn)的一種計算機資源控制器具有仲裁器、監(jiān)測模塊、仲裁策略控制中心以及仲裁器參數(shù)更新模塊。仲裁器用于仲裁多個設(shè)備對一共享資源的使用權(quán)。監(jiān)測模塊用于監(jiān)測多個設(shè)備對該共享資源的需求。根據(jù)該監(jiān)測模塊的監(jiān)測結(jié)果,仲裁策略控制中心為該仲裁器判斷出合適的仲裁策略,使仲裁器參數(shù)更新模塊據(jù)以設(shè)定該仲裁器的參數(shù),令該仲裁器依照新設(shè)定的上述參數(shù)仲裁多個設(shè)備對該共享資源的使用權(quán)。如此一來,該仲裁器的參數(shù)是根據(jù)多個設(shè)備對該共享資源的需求作動態(tài)調(diào)適。
[0006]本發(fā)明另一種實施方式揭露一種控制方法,使多個設(shè)備共享一共享資源。該控制方法包括:提供一仲裁器,仲裁多個設(shè)備對該共享資源的使用權(quán);提供一監(jiān)測模塊,監(jiān)測多個設(shè)備對該共享資源的需求;且根據(jù)該監(jiān)測模塊的監(jiān)測結(jié)果,為該仲裁器判斷出合適的仲裁策略,據(jù)以設(shè)定該仲裁器的參數(shù),使該仲裁器依照新設(shè)定的上述參數(shù)仲裁多個設(shè)備對該共享資源的使用權(quán)。
[0007]下文特舉實施例,并配合所附圖示,詳細說明本
【發(fā)明內(nèi)容】
。
【附圖說明】
[0008]圖1根據(jù)一種實施方式圖解一種計算機資源控制器,使多個設(shè)備(engineS)102共早一共早資源104;
[0009]圖2根據(jù)本發(fā)明另一種實施方式圖解一計算機資源控制器,用于控制多個設(shè)備E1、E2…En對一動態(tài)隨機存取存儲器(DRAM)202的存取;以及
[0010]圖3為流程圖,根據(jù)圖1說明本發(fā)明計算機資源控制器的運作流程。
【具體實施方式】
[0011]以下敘述列舉本發(fā)明的多種實施例。以下敘述介紹本發(fā)明的基本概念,且并非意圖限制本
【發(fā)明內(nèi)容】
。實際發(fā)明范圍應(yīng)依照權(quán)利要求書的范圍界定之。
[0012]圖1根據(jù)一種實施方式圖解一種計算機資源控制器,使多個設(shè)備(engineS)102共享一共享資源104。所揭露的計算機資源控制器包括一仲裁器(arbiter)112、一監(jiān)測模塊114、一仲裁策略控制中心116以及一仲裁器參數(shù)更新模塊118。
[0013]仲裁器112用于仲裁多個設(shè)備102對該共享資源104的使用權(quán)。監(jiān)測模塊114用于監(jiān)測多個設(shè)備102對該共享資源104的需求。根據(jù)該監(jiān)測模塊114的監(jiān)測結(jié)果,仲裁策略控制中心116為該仲裁器112判斷出合適的仲裁策略。依據(jù)該仲裁策略控制中心116判斷出的仲裁策略,仲裁器參數(shù)更新模塊118設(shè)定該仲裁器112的參數(shù),使仲裁器112依照新設(shè)定的上述參數(shù)仲裁多個設(shè)備102對該共享資源104的使用權(quán)。如此一來,該仲裁器112的參數(shù)系根據(jù)多個設(shè)備102對該共享資源104的需求作動態(tài)調(diào)適。
[0014]多個設(shè)備102對該共享資源104的需求可由設(shè)備102端監(jiān)測獲得。一種實施方式中,監(jiān)測模塊114包括監(jiān)測多個設(shè)備102因無法獲得該共享資源104的使用權(quán)而發(fā)生的滯行事件(即設(shè)備102端的反壓(back pressure)程度)。
[0015]多個設(shè)備102對該共享資源104的需求也可由仲裁器112端監(jiān)測獲得。一種實施方式中,仲裁器112包括多個隊列120,排列多個設(shè)備102對該共享資源104發(fā)出的要求(requests)。監(jiān)測模塊114包括:監(jiān)測上述隊列120積累的要求的數(shù)量或/以及監(jiān)測上述隊列120積累的要求對該共享資源104指示通信的數(shù)據(jù)量(即工作量(workload)監(jiān)測);或/以及監(jiān)測上述隊列120的擁塞程度(即仲裁器112的隊列120的反壓(back pressure)程度)。
[0016]—種實施方式中,該仲裁器參數(shù)更新模塊118是在該仲裁器112完成多個設(shè)備102的一第一仲裁循環(huán)后,依據(jù)該仲裁策略控制中心116判斷出的仲裁策略設(shè)定該仲裁器112的參數(shù),使該仲裁器112對多個設(shè)備102的一第二仲裁循環(huán)是依照新設(shè)定的上述參數(shù)仲裁多個設(shè)備102對該共享資源104的使用權(quán)。該仲裁器112依照更新前的參數(shù)配置給多個設(shè)備102的工作周期的總和可視為該第一仲裁循環(huán)。該仲裁器112依照更新后的參數(shù)配置給多個設(shè)備102的工作周期的總和可視為該第二仲裁循環(huán)。
[0017]此外,監(jiān)測模塊114更監(jiān)測該共享資源104,使該仲裁器112得以根據(jù)該共享資源104的運作仲裁多個設(shè)備102對該共享資源104的使用權(quán)。
[0018]圖2根據(jù)本發(fā)明另一種實施方式圖解一計算機資源控制器,用于控制多個設(shè)備E1、E2…En對一動態(tài)隨機存取存儲器(DRAM)202的存取。
[0019]如圖2所示,針對該動態(tài)隨機存取存儲器202設(shè)計的仲裁器200包括三層結(jié)構(gòu)204、206與208。第一層結(jié)構(gòu)204包括對應(yīng)多個設(shè)備Ε1、Ε2...Εη的多個寫入要求隊列Q1W、Q2W...QnW、對應(yīng)多個設(shè)備Ε1、Ε2...Εη的多個讀取要求隊列QlR、Q2R"_QnR、一多設(shè)備寫入仲裁器210以及一多設(shè)備讀取仲裁器212。第二層結(jié)構(gòu)206包括一寫入要求總隊列胃_0、一讀取要求總隊列尺_0、以及一讀寫仲裁器214。第三層結(jié)構(gòu)208包括一指令隊列(command queue)C_Q。多個設(shè)備El、Ε2...Εη對該動態(tài)隨機存取存儲器202發(fā)出的寫入要求(write requests)是分設(shè)備排列至多個寫入要求隊列QlW、Q2W"_QnW。多個設(shè)備Ε1、Ε2...Εη對該動態(tài)隨機存取存儲器202發(fā)出的讀取要求(read requests)是分設(shè)備排列至多個讀取要求隊列QlR、Q2R‘"QnR。多設(shè)備寫入仲裁器210用于仲裁多個寫入要求隊列QlW、Q2W-_QnW內(nèi)的寫入要求如何排列至該寫入要求總隊列W_Q。多設(shè)備讀取仲裁器212用于仲裁多個讀取要求隊列QlR、Q2R"_QnR內(nèi)的讀取要求如何排列至該讀取要求總隊列1?_9。讀寫仲裁器214用于仲裁該寫入要求總隊列W_Q內(nèi)的寫入要求以及該讀取要求總隊列R_Q內(nèi)的讀取要求如何排列至該指令隊列(:_0。動態(tài)隨機存取存儲器202的存取是依循該指令隊列C_Q的內(nèi)容。
[0020 ] 圖2的監(jiān)測模塊包括模塊BP0_M、WL_M、BP 1_M以及R_M。模塊BP0_M用于監(jiān)測多個設(shè)備Ε1、Ε2...Εη因無法存取該動態(tài)隨機存取存儲器202而發(fā)生的滯行事件(engine backpressure)。舉例說明之,某設(shè)備因為無法存取該動態(tài)隨機存取存儲器202而無法進行后續(xù)動作,此可視為滯行事件。另一種實施方式更將讀取/寫入要求無法推入相關(guān)隊列的設(shè)備視為發(fā)生滯行。模塊WL_M用于工作量(workload)監(jiān)測。模塊WL_Mi測上述寫入要求隊列Q1W、Q2W…QnW各自積累的寫入要求的數(shù)量或/以及對該動態(tài)隨機存取存儲器202所指示的寫入數(shù)據(jù)量(burst length)。模塊WL_M更監(jiān)測上述讀取要求隊列QlR、Q2R‘"QnR各自積累的讀取要求的數(shù)量或/以及對該動態(tài)隨機存取存儲器202所指示的讀取數(shù)據(jù)量(burst length)。模塊BP1_M監(jiān)測該寫入要求總隊列W_Q以及該讀取要求總隊列R_Q的擁塞程度。模塊R_M監(jiān)測該動態(tài)隨機存取存儲器202中各記憶庫(bank)的自更新(self-refresh)操作。
[0021]此段落討論仲裁策略控制中心116。模塊BP0_M、WL_M、BP 1_M以及R_M監(jiān)測到的結(jié)果將輸入仲裁策略控制中心116。依據(jù)模塊ΒΡ0_Μ監(jiān)測到的多個設(shè)備Ε1、Ε2...Εη滯行事件、或/以及模塊寫入要求隊列QlW、Q2W-_QnW做的工作量監(jiān)測,仲裁策略控制中心116判斷出合適該多設(shè)備寫入仲裁器210的仲裁策略。依據(jù)模塊ΒΡ0_Μ監(jiān)測到的多個設(shè)備Ε1、Ε2...Εη滯行事件、或/以及模塊讀取要求隊列QlR、Q2R-_QnR做的工作量監(jiān)測,仲裁策略控制中心116判斷出合適該多設(shè)備讀取仲裁器212的仲裁策略。依據(jù)模塊BP1_M對寫入要求總隊列W_Q以及該讀取要求總隊列R_Q做的擁塞程度監(jiān)測,仲裁策略控制中心116判斷出合適該讀寫仲裁器214的仲裁策略。依據(jù)模塊R_M的記憶庫自更新監(jiān)測,仲裁策略控制中心116提供自更新提示信號R_S給仲裁器200,使仲裁器200得以根據(jù)該動態(tài)隨機存取存儲器202的自更新操作仲裁多個設(shè)備Ε1、Ε2...Εη對該動態(tài)隨機存取存儲器202的存取。
[0022]如圖所示,仲裁策略控制中心116對合適的仲裁策略的判斷將驅(qū)動該仲裁器參數(shù)更新模塊118做該仲裁器200的參數(shù)調(diào)整。仲裁策略控制中心116是在該仲裁器200完成多個設(shè)備Ε1、Ε2...Εη的一第一仲裁循環(huán)后,方根據(jù)第一仲裁循環(huán)的監(jiān)測結(jié)果對應(yīng)的合適仲裁策略更新仲裁器200的參數(shù)。仲裁器200是在第二仲裁循環(huán)方以新設(shè)定的參數(shù)仲裁多個設(shè)備Ε1、Ε2...Εη對該動態(tài)隨機存取存儲器202的使用權(quán)。
[0023]圖3為流程圖,根據(jù)圖1說明本發(fā)明計算機資源控制器的運作流程。步驟S302,仲裁器112仲裁多個設(shè)備102對該共享資源104的使用權(quán)。步驟S304,監(jiān)測模塊114監(jiān)測多個設(shè)備102對該共享資源104的需求。步驟S306判斷一仲裁循環(huán)是否結(jié)束。若一仲裁循環(huán)尚未結(jié)束,流程持續(xù)進行步驟S304,仲裁器112不更新參數(shù)持續(xù)運作。若步驟S306判斷一仲裁循環(huán)結(jié)束,流程持續(xù)進行步驟S308判斷出合適的仲裁策略。步驟S310更新仲裁器112參數(shù)。步驟S312中,仲裁器112仲裁多個設(shè)備102對該共享資源104的使用權(quán)。
[0024]基于以上揭露概念,本發(fā)明另有實施方式是關(guān)