專利名稱:一種應(yīng)用于多接口sram帶權(quán)重的優(yōu)先級調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明涉及靜態(tài)隨機(jī)存儲器控制領(lǐng)域,尤其涉及一種應(yīng)用于多接口 SRAM的優(yōu)先級調(diào)度方法。
背景技術(shù):
SRAM (Static Random-Access Memory,靜態(tài)隨機(jī)存儲器)是一種具有靜態(tài)存取功能的內(nèi)存,由于不需要刷新電路即能保存其內(nèi)部存儲的數(shù)據(jù),SRAM已經(jīng)成為目前主流的存儲器,并在嵌入式SOC芯片(System on Chip,系統(tǒng)級芯片)中廣泛應(yīng)用。然而,隨著集成電路產(chǎn)業(yè)的發(fā)展,SOC系統(tǒng)內(nèi)部集成的模塊越來越多,這些模塊經(jīng)常需要訪問SRAM,當(dāng)這些模塊進(jìn)行一些并行操作時(shí),由于SRAM同時(shí)只能被一個(gè)模塊訪問,所以這些模塊必須交替訪問SRAM,傳統(tǒng)的方法是通過軟件協(xié)調(diào)的方式讓它們進(jìn)行交替訪問,這種方法既耗費(fèi)大量軟件資源,又無法實(shí)現(xiàn)模塊交替時(shí)連續(xù)訪問SRAM,使得SRAM存在等待訪問的空閑時(shí)間,大大影響了 SRAM的訪問效率。中國專利CN103049408A公開了一件名稱為《一種多接口 SRAM讀寫控制電路及方法》的發(fā)明專利申請。該發(fā)明專利申請公開了一種多接口 SRAM的讀寫控制方法,該控制方法對每個(gè)訪問SRAM的模塊接口采用固定優(yōu)先級的方法,硬件定義好優(yōu)先級,控制電路中的選擇單元選擇請求訪問的模塊接口中優(yōu)先級最高的對SRAM進(jìn)行訪問,還設(shè)置有用于記錄各模塊接口訪問SRAM失敗次數(shù)的計(jì)數(shù)器,當(dāng)失敗次數(shù)達(dá)到一設(shè)定數(shù)值時(shí),臨時(shí)提高該模塊接口的優(yōu)先級,直至該模塊接口成功訪問一次SRAM后,再將其恢復(fù)至初始優(yōu)先級。該方法的優(yōu)點(diǎn)在于由于各模塊接口的優(yōu)先級為硬件設(shè)定好的,故電路結(jié)構(gòu)簡單;由該申請實(shí)施例可見,所述控制方法中各模塊的優(yōu)先級由高到低依次為USB、DMA、數(shù)據(jù)加解密控制器、CPU,這種情況特別適用于U盤控制器,其原因在于U盤中的USB接口對數(shù)據(jù)實(shí)時(shí)性的要求比較嚴(yán)格,故將USB接口訪問SRAM的優(yōu)先級設(shè)為最高;當(dāng)需要大量存儲或讀取數(shù)據(jù)與Nandflash存儲器進(jìn)行交互時(shí),需要使用DMA完成SRAM與Nandflash之間的數(shù)據(jù)傳輸操作,故DMA訪問SRAM的優(yōu)先級設(shè)為次高;數(shù)據(jù)加解密控制器只有在需要對數(shù)據(jù)進(jìn)行加解密操作時(shí)才用,故其優(yōu)先級低于DMA ;而CPU僅用于存放一些變量信息,會偶爾訪問SRAM,使用頻率比前三者低,故優(yōu)先級最低??傊?,對于一個(gè)模塊接口而言,一般都是根據(jù)其使用頻率和使用要求來設(shè)定模塊接口的優(yōu)先級。這樣的方法靈活性較差,若優(yōu)先級高的接口長時(shí)間占用SRAM或出現(xiàn)故障時(shí),就會造成低優(yōu)先級的模塊接口無法訪問SRAM,出現(xiàn)設(shè)備“撐死”和“餓死”的現(xiàn)象,從而導(dǎo)致系統(tǒng)的整體性能下降。
發(fā)明內(nèi)容
本發(fā)明目的是提供一種公平的應(yīng)用于多接口 SRAM帶權(quán)重的優(yōu)先級調(diào)度方法。為達(dá)到上述目的,本發(fā)明采用的技術(shù)方案是:一種應(yīng)用于多接口 SRAM帶權(quán)重的優(yōu)先級調(diào)度方法,根據(jù)每個(gè)模塊接口對SRAM的訪問頻率以及訪問要求對各模塊接口分別賦予一權(quán)重值,該權(quán)重值為大于I的整數(shù),對應(yīng)于每一個(gè)模塊接口均設(shè)有用于記錄其訪問SRAM成功次數(shù)的計(jì)數(shù)器;
在初始狀態(tài)下,對各模塊接口設(shè)置一初始優(yōu)先級,各模塊接口按照初始優(yōu)先級從高到低排序;
在任一狀態(tài)下,當(dāng)多個(gè)模塊接口同時(shí)對SRAM發(fā)起訪問請求時(shí),允許當(dāng)前優(yōu)先級較高的模塊接口訪問SRAM,訪問成功的同時(shí)模塊接口對應(yīng)的計(jì)數(shù)器記錄其訪問成功的次數(shù),若訪問成功次數(shù)未達(dá)到該模塊接口的權(quán)重值,則各模塊接口的優(yōu)先級排序保持不變,若訪問成功次數(shù)達(dá)到該模塊接口的權(quán)重值時(shí),將該模塊接口的優(yōu)先級降為最低,同時(shí)將其對應(yīng)的計(jì)
數(shù)器清零。上述技術(shù)方案中的有關(guān)內(nèi)容解釋如下:
1、上述方案中,在任一狀態(tài)下,若當(dāng)前優(yōu)先級最低的模塊接口訪問成功的次數(shù)小于或等于其權(quán)重值,并且其余模塊接口的訪問成功次數(shù)小于其權(quán)重值時(shí),各模塊接口的優(yōu)先級排序保持不變。2、上述方案中,各模塊接口的權(quán)重值通過軟件配制,權(quán)重值的最大值由硬件寄存器設(shè)置的范圍決定。由于上述技術(shù)方案運(yùn)用,本發(fā)明與現(xiàn)有技術(shù)相比具有下列優(yōu)點(diǎn)和效果:
1、本發(fā)明使用靈活,一方面對于不同的應(yīng)用場合配置不同的權(quán)重值即可,不用改變硬件,另外在同一種應(yīng)用中也可以隨時(shí)`通過軟件改變其權(quán)重值。2、本發(fā)明提高了系統(tǒng)的吞吐量、縮短了平均處理時(shí)間、提升了系統(tǒng)的整體性能。
附圖1為本發(fā)明實(shí)施例一狀態(tài)機(jī)跳轉(zhuǎn)示意 附圖2為本發(fā)明實(shí)施例二狀態(tài)機(jī)中初始狀態(tài)的狀態(tài)跳轉(zhuǎn)示意 附圖3為本發(fā)明實(shí)施例二狀態(tài)機(jī)中狀態(tài)S5的狀態(tài)跳轉(zhuǎn)示意圖。上述附圖中:W1、模塊接口 Ml的權(quán)重值;N1、模塊接口 Ml訪問SRAM的成功次數(shù);W2、模塊接口 M2的權(quán)重值;N2、模塊接口 M2訪問SRAM的成功次數(shù);W3、模塊接口 M3的權(quán)重值;N3、模塊接口 M3訪問SRAM的成功次數(shù);W4、模塊接口 M4的權(quán)重值;N4、模塊接口 M4訪問SRAM的成功次數(shù)。
具體實(shí)施例方式下面結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步描述:
實(shí)施例一:
參見附圖1所示,一種應(yīng)用于多接口 SRAM帶權(quán)重的優(yōu)先級調(diào)度方法,有三個(gè)模塊接口Ml、M2和M3對SRAM發(fā)起訪問請求,根據(jù)每個(gè)模塊接口對SRAM的訪問頻率以及訪問要求對各模塊接口分別賦予一權(quán)重值,該權(quán)重值為大于I的整數(shù),設(shè)Ml的權(quán)重值為Wl,M2的權(quán)重值為W2,M3的權(quán)重值為W3,假設(shè)Ml對SRAM的訪問頻率和訪問要求最高,M2對SRAM的訪問頻率和訪問要求次高,M3對SRAM的訪問頻率和訪問要求最低,則則設(shè)置權(quán)重值排序?yàn)閒fl>W2>W3o對應(yīng)于每一個(gè)模塊接口均設(shè)有用于記錄其訪問SRAM成功次數(shù)的計(jì)數(shù)器,分別記錄Ml訪問SRAM的成功次數(shù)為NI,M2訪問SRAM的成功次數(shù)為N2,M3訪問SRAM的成功次數(shù)為N3。在初始狀態(tài)SI下,對各模塊接口設(shè)置一初始優(yōu)先級,各模塊接口按照初始優(yōu)先級從高到低排序,設(shè)Ml的優(yōu)先級最高,M2的優(yōu)先級次高,M3的優(yōu)先級最低,即附圖1中SI狀態(tài)下的M1>M2>M3。在初始狀態(tài)SI下,當(dāng)Ml訪問SRAM的成功次數(shù)NI達(dá)到Ml的權(quán)重值Wl,而M2訪問SRAM的成功次數(shù)N2未達(dá)到M2的權(quán)重值W2,M3訪問SRAM的成功次數(shù)N3也未達(dá)到M3的權(quán)重值W3時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到S2狀態(tài),在S2狀態(tài)下,Ml的優(yōu)先級降為最低,同時(shí)將Ml訪問SRAM的成功次數(shù)NI清零,M2和M3的優(yōu)先級順移,即M2>M3>M1 ;在S2狀態(tài)下,當(dāng)M2訪問SRAM的成功次數(shù)N2達(dá)到M2的權(quán)重值W2,而Ml訪問SRAM的成功次數(shù)NI未達(dá)到Ml的權(quán)重值Wl,M3訪問SRAM的成功次數(shù)N3也未達(dá)到M3的權(quán)重值W3時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到S3狀態(tài);在S3狀態(tài)下,M2的優(yōu)先級降為最低,同時(shí)將M2訪問SRAM的成功次數(shù)N2清零,Ml和M3的優(yōu)先級順移,即M3>M1>M2 ;在S3狀態(tài)下,當(dāng)M3訪問SRAM的成功次數(shù)N3達(dá)到M3的權(quán)重值W3,而Ml訪問SRAM的成功 次數(shù)NI未達(dá)到Ml的權(quán)重值W1,M2訪問SRAM的成功次數(shù)N2也未達(dá)到M2的權(quán)重值W2時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到SI狀態(tài);在SI狀態(tài)下,M3的優(yōu)先級降為最低,同時(shí)將M3訪問SRAM的成功次數(shù)N3清零,Ml和M2的優(yōu)先級順移,即M1>M2>M3。在初始狀態(tài)SI下,當(dāng)Ml訪問SRAM的成功次數(shù)NI未達(dá)到Ml的權(quán)重值Wl,M3訪問SRAM的成功次數(shù)N3未達(dá)到M3的權(quán)重值W3,而M2訪問SRAM的成功次數(shù)N2達(dá)到M2的權(quán)重值W2時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到S4狀態(tài);在S4狀態(tài)下,M2的優(yōu)先級降為最低,同時(shí)將M2訪問SRAM的成功次數(shù)N2清零,Ml和M3的優(yōu)先級順移,即M1>M3>M2。在初始狀態(tài)SI下,當(dāng)Ml訪問SRAM的成功次數(shù)NI未達(dá)到Ml的權(quán)重值Wl,M2訪問SRAM的成功次數(shù)N2未達(dá)到M2的權(quán)重值W2,而M3訪問SRAM的成功次數(shù)N3無論是否達(dá)到M3的權(quán)重值W3,狀態(tài)機(jī)都保持在SI狀態(tài),因?yàn)镸3的優(yōu)先級原來就是最低的。下面以狀態(tài)S4為例,描述S4的狀態(tài)跳轉(zhuǎn):
在狀態(tài)S4下,Ml的優(yōu)先級最高,M3的優(yōu)先級次高,M2的優(yōu)先級最低,即附圖1中S4狀態(tài)下的M1>M3>M2。在狀態(tài)S4下,當(dāng)Ml訪問SRAM的成功次數(shù)NI達(dá)到Ml的權(quán)重值Wl,而M2訪問SRAM的成功次數(shù)N2未達(dá)到M2的權(quán)重值W2,M3訪問SRAM的成功次數(shù)N3也未達(dá)到M3的權(quán)重值W3時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到S5狀態(tài);在S5狀態(tài)下,Ml的優(yōu)先級降為最低,同時(shí)將Ml訪問SRAM的成功次數(shù)NI清零,M2和M3的優(yōu)先級順移,即優(yōu)先級排序?yàn)镸3>M2>M1。在狀態(tài)S4下,當(dāng)Ml訪問SRAM的成功次數(shù)NI未達(dá)到Ml的權(quán)重值Wl,M2訪問SRAM的成功次數(shù)N2未達(dá)到M2的權(quán)重值W2,而M3訪問SRAM的成功次數(shù)N3達(dá)到M3的權(quán)重值W3時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到SI狀態(tài);在SI狀態(tài)下,M3的優(yōu)先級降為最低,同時(shí)將M3訪問SRAM的成功次數(shù)N3清零,Ml和M2的優(yōu)先級順移,即優(yōu)先級排序?yàn)镸1>M2>M3。 在狀態(tài)S4下,當(dāng)Ml訪問SRAM的成功次數(shù)NI未達(dá)到Ml的權(quán)重值Wl,M3訪問SRAM的成功次數(shù)N3也未達(dá)到M3的權(quán)重值W3,而M2訪問SRAM的成功次數(shù)N2無論是否達(dá)到M2的權(quán)重值W2,狀態(tài)機(jī)都保持在S4狀態(tài),即優(yōu)先級排序?yàn)镸1>M3>M2,因?yàn)镸2的優(yōu)先級原來就是最低的。以此類推,附圖1中每種狀態(tài)均有三種狀態(tài)跳轉(zhuǎn)可能,根據(jù)各模塊接口訪問SRAM的成功次數(shù)決定狀態(tài)機(jī)的跳轉(zhuǎn)。
舉例說明,例如SRAM外接有USB控制器、DMA控制器和CPU三個(gè)模塊接口,根據(jù)USB控制器、DMA控制器和CPU對SRAM的訪問頻率和訪問要求設(shè)置USB控制器的權(quán)重值為16,DMA控制器的權(quán)重值為8,CPU的權(quán)重值為2。初始狀態(tài)下,USB控制器的優(yōu)先級最高,DMA控制器的優(yōu)先級次高,CPU的優(yōu)先級最低。當(dāng)USB控制器訪問SRAM的成功次數(shù)達(dá)到16次時(shí),USB控制器的優(yōu)先級降為最低,當(dāng)DMA控制器訪問SRAM的成功次數(shù)達(dá)到8次時(shí),DMA控制器的優(yōu)先級降為最低,當(dāng)CPU訪問SRAM的成功次數(shù)達(dá)到2次時(shí),CPU的優(yōu)先級降為最低,三者的優(yōu)先級根據(jù)其訪問SRAM的成功次數(shù),進(jìn)行了輪轉(zhuǎn),輪流為最高,同時(shí)也輪流為最低。上述舉例對應(yīng)于附圖1中狀態(tài)機(jī)從S1-S2-S3-S1的跳轉(zhuǎn)情況,以此類推,根據(jù)三者訪問SRAM的情況,優(yōu)先級還有不同的輪轉(zhuǎn)順序。實(shí)施例二:
參見附圖2所示,一種應(yīng)用于多接口 SRAM帶權(quán)重的優(yōu)先級調(diào)度方法,有四個(gè)模塊接口Ml、M2、M3和M4對SRAM發(fā)起訪問請求,根據(jù)每個(gè)模塊接口對SRAM的訪問頻率以及訪問要求對各模塊接口分別賦予一權(quán)重值,該權(quán)重值為大于I的整數(shù),設(shè)Ml的權(quán)重值為Wl,M2的權(quán)重值為W2,M3的權(quán)重值為W3,M4的權(quán)重值為W4,假設(shè)Ml對SRAM的訪問頻率和訪問要求最高,M2對SRAM的訪問頻率和訪問要求次高,M3對SRAM的訪問頻率和訪問要求第三高,M4對SRAM的訪問頻率和訪問要求最低,則設(shè)置權(quán)重值排序?yàn)閃1>W2>W3>W4。對應(yīng)于每一個(gè)模塊接口均設(shè)有用于記錄其訪問SRAM成功次數(shù)的計(jì)數(shù)器,分別記錄Ml訪問SRAM的成功次數(shù)為NI,M2訪問SRAM的成功次數(shù)為N2,M3訪問SRAM的成功次數(shù)為N3,M4訪問SRAM的成功次數(shù)為N4。在初始狀態(tài)SI下,對各模塊接口設(shè)置一初始優(yōu)先級,各模塊接口按照初始優(yōu)先級從高到低排序,設(shè)Ml的優(yōu)先級最高,M2的優(yōu)先級次高,M3的優(yōu)先級第三,M4的優(yōu)先級最低,即附圖2中SI狀態(tài)下的優(yōu)先級 排序M1>M2>M3>M4。在初始狀態(tài)SI下,當(dāng)Ml訪問SRAM的成功次數(shù)NI達(dá)到Ml的權(quán)重值Wl,而M2訪問SRAM的成功次數(shù)N2未達(dá)到M2的權(quán)重值W2,M3訪問SRAM的成功次數(shù)N3未達(dá)到M3的權(quán)重值W3,M4訪問SRAM的成功次數(shù)N4也未達(dá)到M4的權(quán)重值W4時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到S2狀態(tài),在S2狀態(tài)下,Ml的優(yōu)先級降為最低,同時(shí)將Ml訪問SRAM的成功次數(shù)NI清零,M2、M3和M4的優(yōu)先級順移,即優(yōu)先級排序?yàn)镸2>M3>M4>M1 ;在S2狀態(tài)下,當(dāng)M2訪問SRAM的成功次數(shù)達(dá)到M2的權(quán)重值W2,而Ml訪問SRAM的成功次數(shù)NI未達(dá)到Ml的權(quán)重值W1,M3訪問SRAM的成功次數(shù)N3未達(dá)到M3的權(quán)重值W3,M4訪問SRAM的成功次數(shù)N4也未達(dá)到M4的權(quán)重值W4時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到S3狀態(tài),在S3狀態(tài)下,M2的優(yōu)先級降為最低,同時(shí)將M2訪問SRAM的成功次數(shù)N2清零,Ml、M3和M4的優(yōu)先級順移,即優(yōu)先級排序?yàn)镸3>M4>M1>M2 ;在S3狀態(tài)下,當(dāng)M3訪問SRAM的成功次數(shù)N3達(dá)到M3的權(quán)重值W3,而Ml訪問SRAM的成功次數(shù)NI未達(dá)到Ml的權(quán)重值Wl,M2訪問SRAM的成功次數(shù)N2未達(dá)到M2的權(quán)重值W2,M4訪問SRAM的成功次數(shù)N4也未達(dá)到M4的權(quán)重值W4時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到S4狀態(tài),在S4狀態(tài)下,M3的優(yōu)先級降為最低,同時(shí)將M3訪問SRAM的成功次數(shù)清零,M1、M2和M4的優(yōu)先級順移,即優(yōu)先級排序?yàn)镸4>M1>M2>M3 ;在S4狀態(tài)下,當(dāng)M4訪問SRAM的成功次數(shù)N4達(dá)到M4的權(quán)重值W4時(shí),而Ml訪問SRAM的成功次數(shù)NI未達(dá)到Ml的權(quán)重值W1,M2訪問SRAM的成功次數(shù)N2未達(dá)到M2的權(quán)重值W2,M3訪問SRAM的成功次數(shù)N3也未達(dá)到M3的權(quán)重值W3時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到SI狀態(tài),在SI狀態(tài)下,M4的優(yōu)先級降為最低,同時(shí)將M4訪問SRAM的成功次數(shù)清零,M1、M2和M3的優(yōu)先級順移,即優(yōu)先級排序?yàn)镸1>M2>M3>M4。。在初始狀態(tài)SI下,當(dāng)M2訪問SRAM的成功次數(shù)N2達(dá)到M2的權(quán)重值W2,而Ml訪問SRAM的成功次數(shù)NI未達(dá)到Ml的權(quán)重值W1,M3訪問SRAM的成功次數(shù)N3未達(dá)到M3的權(quán)重值W3,M4訪問SRAM的成功次數(shù)N4也未達(dá)到M4的權(quán)重值W4時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到S5狀態(tài),在S5狀態(tài)下,M2的優(yōu)先級降為最低,同時(shí)將M2訪問SRAM的成功次數(shù)N2清零,M1、M3和M4的優(yōu)先級順移,即優(yōu)先級排序?yàn)镸1>M3>M4>M2。在初始狀態(tài)SI下,當(dāng)M3訪問SRAM的成功次數(shù)N3達(dá)到M3的權(quán)重值W3,而Ml訪問SRAM的成功次數(shù)NI未達(dá)到Ml的權(quán)重值W1,M2訪問SRAM的成功次數(shù)N2未達(dá)到M2的權(quán)重值WZ, M4訪問SRAM的成功次數(shù)N4也未達(dá)到M4的權(quán)重值W4時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到S6狀態(tài),在S6狀態(tài)下,M3的優(yōu)先級降為最低,同時(shí)將M3訪問SRAM的成功次數(shù)清零,Ml、M2和M4的優(yōu)先級順移,即優(yōu)先級排序?yàn)镸1>M2>M4>M3。在初始狀態(tài)SI下,當(dāng)Ml訪問SRAM的成功次數(shù)NI未達(dá)到Ml的權(quán)重值Wl,M2訪問SRAM的成功次數(shù)N2未達(dá)到M2的權(quán)重值W2,M3訪問SRAM的成功次數(shù)N3也未達(dá)到M3的權(quán)重值W3時(shí),而M4訪問SRAM的成功次數(shù)無論是否達(dá)到M4的權(quán)重值W4,狀態(tài)機(jī)都保持在SI狀態(tài),即優(yōu)先級排序?yàn)镸1>M2>M3>M4,因?yàn)镸4的優(yōu)先級原來就是最低的。參見附圖3所示,下面以S5狀態(tài)為例,描述S5狀態(tài)的跳轉(zhuǎn):
在S5狀態(tài)下,各模塊接口的優(yōu)先級排序?yàn)镸1>M3>M4>M2。在S5狀態(tài)下,當(dāng)Ml訪問SRAM的成功次數(shù)NI達(dá)到Ml的權(quán)重值Wl,而M2訪問SRAM的成功次數(shù)N2未達(dá)到M2的權(quán)重值W2,M3訪問SRAM的成功次數(shù)N3未達(dá)到M3的權(quán)重值W3,M4訪問SRAM的成功次數(shù)N4也未達(dá)到M4的權(quán)重值W4時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到S7狀態(tài),在S7狀態(tài)下,Ml的優(yōu)先級降為最低,同時(shí)將Ml訪問SRAM的成功次數(shù)清零,M2、M3和M4的優(yōu)先級順移,即優(yōu)先級排序?yàn)镸3>M4>M2>M1。
·
在S5狀態(tài)下,當(dāng)M3訪問SRAM的成功次數(shù)N3達(dá)到M3的權(quán)重值W3,而Ml訪問SRAM的成功次數(shù)NI未達(dá)到Ml的權(quán)重值Wl,M2訪問SRAM的成功次數(shù)N2未達(dá)到M2的權(quán)重值W2,M4訪問SRAM的成功次數(shù)N4也未達(dá)到M4的權(quán)重值W4時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到S8狀態(tài),在S8狀態(tài)下,M3的優(yōu)先級降為最低,同時(shí)將M3訪問SRAM的成功次數(shù)N3清零,MUM2和M4的優(yōu)先級順移,即優(yōu)先級排序?yàn)镸1>M4>M2>M3。在S5狀態(tài)下,當(dāng)M4訪問SRAM的成功次數(shù)達(dá)到M4的權(quán)重值W4,而Ml訪問SRAM的成功次數(shù)NI未達(dá)到Ml的權(quán)重值Wl,M2訪問SRAM的成功次數(shù)N2未達(dá)到M2的權(quán)重值W2,M3訪問SRAM的成功次數(shù)N3也未達(dá)到M3的權(quán)重值W3時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到S9狀態(tài),在S9狀態(tài)下,M4的優(yōu)先級降為最低,同時(shí)將M4訪問SRAM的成功次數(shù)N4清零,MUM2和M3的優(yōu)先級順移,即優(yōu)先級排序?yàn)镸1>M3>M2>M4。在S5狀態(tài)下,Ml訪問SRAM的成功次數(shù)NI未達(dá)到Ml的權(quán)重值Wl,M3訪問SRAM的成功次數(shù)N3未達(dá)到M3的權(quán)重值W3時(shí),M4訪問SRAM的成功次數(shù)N4也未達(dá)到M4的權(quán)重值W4時(shí),而M2訪問SRAM的成功次數(shù)N2無論是否達(dá)到M2的權(quán)重值W2,狀態(tài)機(jī)都保持S5狀態(tài),即優(yōu)先級排序?yàn)镸1>M3>M4>M2,因?yàn)镸2的優(yōu)先級原來就是最低的。以此類推,附圖2和附圖3中每種狀態(tài)均有四種狀態(tài)跳轉(zhuǎn)可能,根據(jù)各模塊接口訪問SRAM的成功次數(shù)決定狀態(tài)機(jī)的跳轉(zhuǎn)。舉例說明,例如SRAM外接有USB控制器、DMA控制器、數(shù)據(jù)加解密模塊和CPU四個(gè)模塊接口,根據(jù)USB控制器、DMA控制器、數(shù)據(jù)加解密模塊和CPU對SRAM的訪問頻率和訪問要求設(shè)置USB控制器的權(quán)重值為16,DMA控制器的權(quán)重值為8,數(shù)據(jù)加解密模塊的權(quán)重值為4,CPU的權(quán)重值為2。初始狀態(tài)下,USB控制器的優(yōu)先級最高,DMA控制器的優(yōu)先級次高,數(shù)據(jù)加解密模塊的優(yōu)先級第三高,CPU的優(yōu)先級最低。則當(dāng)USB控制器訪問SRAM的成功次數(shù)達(dá)到16次時(shí),USB控制器的優(yōu)先級降為最低,當(dāng)DMA控制器訪問SRAM的成功次數(shù)達(dá)到8次時(shí),DMA控制器的優(yōu)先級降為最低,當(dāng)數(shù)據(jù)加解密模塊訪問SRAM的成功次數(shù)達(dá)到4此時(shí),數(shù)據(jù)加解密模塊的優(yōu)先級降為最低,當(dāng)CPU訪問SRAM的成功次數(shù)達(dá)到2次時(shí),CPU的優(yōu)先級降為最低。四者的優(yōu)先級根據(jù)其訪問SRAM的成功次數(shù),進(jìn)行了輪轉(zhuǎn),輪流為最高,同時(shí)也輪流為最低。上述舉例對應(yīng)于附圖2中狀態(tài)機(jī)從S1-S2-S3-S4-S1的跳轉(zhuǎn)情況,以此類推,根據(jù)四者訪問SRAM的情況,優(yōu)先級還有不同的輪轉(zhuǎn)順序。上述實(shí)施例中各模塊接口的權(quán)重值可根據(jù)實(shí)際需要通過軟件配制。本發(fā)明在任一狀態(tài)下,當(dāng)多個(gè)模塊接口同時(shí)對SRAM發(fā)起訪問請求時(shí),允許當(dāng)前優(yōu)先級較高的模塊接口訪問SRAM,訪問成功的同時(shí)模塊接口對應(yīng)的計(jì)數(shù)器記錄其訪問成功的次數(shù),若訪問成功次數(shù)未達(dá)到該模塊接口的權(quán)重值,則各模塊接口的優(yōu)先級排序保持不變,若訪問成功次數(shù)達(dá)到該模塊接口的權(quán)重值時(shí),將該模塊接口的優(yōu)先級降為最低,同時(shí)將其對應(yīng)的計(jì)數(shù)器清零。本發(fā)明使用靈活,一方面對于不同的應(yīng)用場合配置不同的權(quán)重值即可,不用改變硬件,另外在同一種應(yīng)用中也可以隨時(shí)通過軟件改變其權(quán)重值;提高了系統(tǒng)的吞吐量、縮短了平均處理時(shí)間、提升了系統(tǒng)的整體性能。上述實(shí)施例分別舉例說明了三個(gè)模塊接口和四個(gè)模塊接口訪問SRAM的情況,在實(shí)際應(yīng)用中,模塊接口為兩個(gè)、五個(gè)、六個(gè)甚至更多時(shí),本發(fā)明的方法也適用。上述實(shí)施例只為說明本發(fā)明的技術(shù)構(gòu)思及特點(diǎn),其目的在于讓熟悉此項(xiàng)技術(shù)的人士能夠了解本發(fā)明的內(nèi)容并據(jù)以實(shí)施,并不能以此限制本發(fā)明的保護(hù)范圍。凡根據(jù)本發(fā)明精神實(shí)質(zhì)所作的等效變化或修 飾,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種應(yīng)用于多接口 SRAM帶權(quán)重的優(yōu)先級調(diào)度方法,其特征在于:根據(jù)每個(gè)模塊接口對SRAM的訪問頻率以及訪問要求對各模塊接口分別賦予一權(quán)重值,該權(quán)重值為大于I的整數(shù),對應(yīng)于每一個(gè)模塊接口均設(shè)有用于記錄其訪問SRAM成功次數(shù)的計(jì)數(shù)器; 在初始狀態(tài)下,對各模塊接口設(shè)置一初始優(yōu)先級,各模塊接口按照初始優(yōu)先級從高到低排序; 在任一狀態(tài)下,當(dāng)多個(gè)模塊接口同時(shí)對SRAM發(fā)起訪問請求時(shí),允許當(dāng)前優(yōu)先級較高的模塊接口訪問SRAM,訪問成功的同時(shí)模塊接口對應(yīng)的計(jì)數(shù)器記錄其訪問成功的次數(shù),若訪問成功次數(shù)未達(dá)到該模塊接口的權(quán)重值,則各模塊接口的優(yōu)先級排序保持不變,若訪問成功次數(shù)達(dá)到該模塊接口的權(quán)重值時(shí),將該模塊接口的優(yōu)先級降為最低,同時(shí)將其對應(yīng)的計(jì)數(shù)器清零。
2.根據(jù)權(quán)利要求1所述的優(yōu)先級調(diào)度方法,其特征在于:在任一狀態(tài)下,若當(dāng)前優(yōu)先級最低的模塊接口訪問成功的次數(shù)小于或等于其權(quán)重值,并且其余模塊接口的訪問成功次數(shù)小于其權(quán)重值時(shí) ,各模塊接口的優(yōu)先級排序保持不變。
3.根據(jù)權(quán)利要求1所述的優(yōu)先級調(diào)度方法,其特征在于:各模塊接口的權(quán)重值通過軟件配制。
全文摘要
一種應(yīng)用于多接口SRAM帶權(quán)重的優(yōu)先級調(diào)度方法,其特征在于對各模塊接口分別賦予一權(quán)重值,對應(yīng)于每一個(gè)模塊接口均設(shè)有用于記錄其訪問SRAM成功次數(shù)的計(jì)數(shù)器;在初始狀態(tài)下,各模塊接口按照初始優(yōu)先級從高到低排序;在任一狀態(tài)下,當(dāng)多個(gè)模塊接口同時(shí)對SRAM發(fā)起訪問請求時(shí),允許當(dāng)前優(yōu)先級較高的模塊接口訪問SRAM,訪問成功的同時(shí)模塊接口對應(yīng)的計(jì)數(shù)器記錄其訪問成功的次數(shù),若訪問成功次數(shù)未達(dá)到該模塊接口的權(quán)重值,則各模塊接口的優(yōu)先級排序保持不變,若訪問成功次數(shù)達(dá)到該模塊接口的權(quán)重值時(shí),將該模塊接口的優(yōu)先級降為最低,同時(shí)將其對應(yīng)的計(jì)數(shù)器清零。本發(fā)明使用靈活,同時(shí)提高了系統(tǒng)的吞吐量、縮短了平均處理時(shí)間、提升了系統(tǒng)的整體性能。
文檔編號G06F13/16GK103246624SQ20131019252
公開日2013年8月14日 申請日期2013年5月22日 優(yōu)先權(quán)日2013年5月22日
發(fā)明者鄭茳, 肖佐楠, 匡啟和, 林雄鑫, 張文婷 申請人:蘇州國芯科技有限公司