訪存調(diào)度方法、裝置和系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明提供一種訪存調(diào)度方法、裝置和系統(tǒng),包括:接收與各訪存模塊對(duì)應(yīng)的各訪存窗口信息;根據(jù)各訪存窗口信息,確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間,并在對(duì)應(yīng)的啟閉時(shí)間內(nèi)開(kāi)啟各訪存窗口;接收訪存模塊發(fā)送的訪存請(qǐng)求,所述訪存請(qǐng)求中攜帶所述訪存模塊的標(biāo)識(shí);根據(jù)所述訪存模塊的標(biāo)識(shí),確定與所述訪存模塊的標(biāo)識(shí)對(duì)應(yīng)的訪存窗口是否處于開(kāi)啟狀態(tài);若所述訪存模塊的標(biāo)識(shí)對(duì)應(yīng)的訪存窗口處于開(kāi)啟狀態(tài),則對(duì)所述訪存請(qǐng)求進(jìn)行訪存調(diào)度。通過(guò)在調(diào)度周期對(duì)應(yīng)的啟閉時(shí)間內(nèi)打開(kāi)訪存窗口,并僅對(duì)訪存窗口開(kāi)啟的訪存模塊的訪存請(qǐng)求進(jìn)行訪存調(diào)度,降低了多個(gè)訪存模塊同時(shí)進(jìn)行訪存請(qǐng)求,訪存帶寬發(fā)生沖突的概率,同時(shí)提高了訪存性能和訪存服務(wù)質(zhì)量。
【專(zhuān)利說(shuō)明】訪存調(diào)度方法、裝置和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及集成電路邏輯設(shè)計(jì)領(lǐng)域,尤其涉及一種訪存調(diào)度方法、裝置和系統(tǒng)。
【背景技術(shù)】
[0002]隨著半導(dǎo)體技術(shù)的發(fā)展,越來(lái)越多的功能模塊被集成到同一塊芯片中。芯片內(nèi)功能模塊的增加使芯片的功能越來(lái)越強(qiáng)大,這就導(dǎo)致了芯片的訪存壓力越來(lái)越大。
[0003]通常,訪存調(diào)度器用來(lái)處理訪存模塊的訪存調(diào)度請(qǐng)求。訪存調(diào)度器將訪存模塊分為帶寬敏感型和延遲敏感型,對(duì)帶寬敏感型的訪存模塊采用配置足夠帶寬的調(diào)度策略,對(duì)延遲敏感型的訪存模塊采用配置高優(yōu)先級(jí)的調(diào)度策略,來(lái)保證各模塊的訪存服務(wù)質(zhì)量。
[0004]上述訪存調(diào)度方法中,隨著訪存壓力的增大,多個(gè)訪存模塊同時(shí)發(fā)送訪存請(qǐng)求,為各訪存模塊分配的訪存帶寬發(fā)生沖突的概率逐漸增加,訪存的性能會(huì)逐漸降低,從而也就降低了訪存的服務(wù)質(zhì)量。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種訪存調(diào)度方法、裝置和系統(tǒng),用于解決訪存壓力較大時(shí),訪存帶寬發(fā)生沖突的概率增加,訪存性能和訪存服務(wù)質(zhì)量會(huì)降低的問(wèn)題。
[0006]本發(fā)明提供一種訪存調(diào)度方法,包括:
[0007]接收與各訪存模塊對(duì)應(yīng)的各訪存窗口信息,所述各訪存窗口信息包括:各訪存窗口的長(zhǎng)度,所述各訪存窗口的長(zhǎng)度代表對(duì)應(yīng)的各訪存模塊占用訪存總線的時(shí)長(zhǎng);
[0008]根據(jù)所述各訪存窗口信息,確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間,并在對(duì)應(yīng)的啟閉時(shí)間內(nèi)開(kāi)啟所述各訪存窗口,所述調(diào)度周期指所有訪存窗口各執(zhí)行一次訪存調(diào)度所需的時(shí)間;
[0009]接收訪存模塊發(fā)送的訪存請(qǐng)求,所述訪存請(qǐng)求中攜帶所述訪存模塊標(biāo)識(shí);
[0010]根據(jù)所述訪存模塊標(biāo)識(shí),確定與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口是否開(kāi)啟;
[0011]若所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口已開(kāi)啟,則對(duì)所述訪存請(qǐng)求進(jìn)行訪存調(diào)度。
[0012]本發(fā)明提供一種訪存調(diào)度裝置,包括:
[0013]第一接收單元,接收與各訪存模塊對(duì)應(yīng)的各訪存窗口信息,所述各訪存窗口信息包括各訪存窗口的長(zhǎng)度,所述各訪存窗口的長(zhǎng)度代表對(duì)應(yīng)的各訪存模塊占用訪存總線的時(shí)長(zhǎng);
[0014]第一確定單元,根據(jù)所述各訪存窗口信息,確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間,并在對(duì)應(yīng)的啟閉時(shí)間內(nèi)開(kāi)啟所述各訪存窗口,所述調(diào)度周期指所有訪存窗口各執(zhí)行一次訪存調(diào)度所需的時(shí)間;
[0015]第二接收單元,用于接收訪存模塊發(fā)送的訪存請(qǐng)求,所述訪存請(qǐng)求中攜帶所述訪存模塊標(biāo)識(shí);
[0016]第二確定單元,用于根據(jù)所述訪存模塊標(biāo)識(shí),確定與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口是否開(kāi)啟;[0017]處理單元,用于若所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口已開(kāi)啟,則對(duì)所述訪存請(qǐng)求進(jìn)行訪存調(diào)度。
[0018]本發(fā)明提供一種訪存調(diào)度系統(tǒng),包括:訪存模塊和如上所述的訪存調(diào)度裝置。
[0019]本發(fā)明提供的訪存調(diào)度方法、裝置和系統(tǒng),通過(guò)根據(jù)各訪存模塊對(duì)應(yīng)的各訪存窗口信息,在調(diào)度周期對(duì)應(yīng)的啟閉時(shí)間內(nèi)打開(kāi)訪存窗口,并僅對(duì)訪存窗口開(kāi)啟的訪存模塊的訪存請(qǐng)求進(jìn)行訪存調(diào)度,降低了多個(gè)訪存模塊同時(shí)進(jìn)行訪存請(qǐng)求,訪存帶寬發(fā)生沖突的概率,優(yōu)化了訪存壓力較大情況下的訪存性能和服務(wù)質(zhì)量。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0020]圖1為本發(fā)明實(shí)施例提供的訪存調(diào)度方法實(shí)施例一的流程示意圖;
[0021]圖2為本發(fā)明實(shí)施例提供的訪存調(diào)度方法實(shí)施例二的流程示意圖;
[0022]圖3為本發(fā)明提供的訪存調(diào)度裝置實(shí)施例一結(jié)構(gòu)示意圖;
[0023]圖4為本發(fā)明提供的訪存調(diào)度裝置實(shí)施例二結(jié)構(gòu)示意圖;
[0024]圖5為本發(fā)明提供的訪存調(diào)度裝置實(shí)施例三結(jié)構(gòu)示意圖;
[0025]圖6為本發(fā)明提供的訪存調(diào)度系統(tǒng)實(shí)施例結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0026]本發(fā)明中,為盡量減少訪存調(diào)度占用的資源,根據(jù)訪存模塊的實(shí)際功能,為各訪存模塊配置對(duì)應(yīng)的訪存窗口,對(duì)屬于同一訪存模塊的訪存請(qǐng)求集中在該訪存模塊對(duì)應(yīng)的訪存窗口開(kāi)啟時(shí)處理,降低了多個(gè)訪存模塊同時(shí)進(jìn)行訪存請(qǐng)求,帶寬發(fā)生沖突的概率,優(yōu)化了訪存壓力較大情況下的訪存性能和服務(wù)質(zhì)量。
[0027]圖1為本發(fā)明提供的一種訪存調(diào)度方法流程示意圖。如圖1所示,該方法包括:
[0028]S100,接收與各訪存模塊對(duì)應(yīng)的各訪存窗口信息,所述各訪存窗口信息包括各訪存窗口的長(zhǎng)度,所述各訪存窗口的長(zhǎng)度代表對(duì)應(yīng)的各訪存模塊占用訪存總線的時(shí)長(zhǎng)。
[0029]本實(shí)施例訪存調(diào)度方法是由本發(fā)明提供的訪存調(diào)度裝置中的仲裁模塊執(zhí)行的。其中,接收的與各訪存模塊對(duì)應(yīng)的各訪存窗口信息可以初始化配置時(shí)由中央處理器(CentralProcessing Unit,CPU)通過(guò)通信端口發(fā)送給該仲裁模塊的,也可以是該訪存調(diào)度裝置中自適應(yīng)模塊返回給仲裁模塊的各訪存窗口信息,本實(shí)施例對(duì)此不做限定。
[0030]具體的,在訪存調(diào)度裝置初始化時(shí),由CPU根據(jù)待處理的訪存模塊的訪存需求,結(jié)合系統(tǒng)可提供的訪存總線帶寬為各訪存模塊配置對(duì)應(yīng)的訪存窗口,各訪存模塊在對(duì)應(yīng)的訪存窗口長(zhǎng)度內(nèi)可占用訪存總線,對(duì)內(nèi)存進(jìn)行讀出或?qū)懭氩僮鳌?br>
[0031]其中,訪存窗口信息還包括:訪存模塊標(biāo)識(shí)、訪存窗口標(biāo)識(shí)。訪存模塊標(biāo)識(shí)用來(lái)表不不同的訪存模塊,訪存窗口標(biāo)識(shí)用來(lái)表不不同的訪存窗口,訪存模塊標(biāo)識(shí)與訪存窗口標(biāo)識(shí)間 對(duì)應(yīng),舉例來(lái)說(shuō),若某系統(tǒng)中共有10個(gè)訪存模塊,則與各訪存模塊對(duì)應(yīng)的訪存窗口分別可用數(shù)字I?10進(jìn)行標(biāo)識(shí),或者可以用不同的字母表示不同的訪存窗口,或者可以根據(jù)對(duì)應(yīng)的各訪存模塊的特征為各訪存窗口進(jìn)行個(gè)性化的標(biāo)識(shí)。訪存窗口的長(zhǎng)度可以用時(shí)間長(zhǎng)度標(biāo)識(shí),也可以利用系統(tǒng)的時(shí)鐘周期標(biāo)識(shí),本實(shí)施例對(duì)此不做限定。訪存模塊標(biāo)識(shí)、訪存窗口標(biāo)識(shí)與訪存窗口長(zhǎng)度 對(duì)應(yīng),不同的訪存窗口的訪存窗口長(zhǎng)度可能相同。
[0032]SI 10,根據(jù)所述訪存窗口信息,確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間,并在對(duì)應(yīng)的啟閉時(shí)間內(nèi)開(kāi)啟各訪存窗口,所述調(diào)度周期指所有訪存窗口各執(zhí)行一次訪存調(diào)度所需的時(shí)間。
[0033]具體地,所述確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間,包括:
[0034]根據(jù)所述各訪存模塊的優(yōu)先級(jí),確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間。
[0035]各訪存模塊間有一定的優(yōu)先級(jí)順序,初始化時(shí),CPU將各訪存模塊對(duì)應(yīng)的訪存窗口信息發(fā)給仲裁模塊時(shí),可以將各訪存模塊的優(yōu)先級(jí)順序同時(shí)發(fā)給仲裁模塊,由仲裁模塊依據(jù)各訪存模塊的優(yōu)先級(jí)順序確定各訪存窗口的啟閉時(shí)間,或者,CPU直接按各訪存模塊的優(yōu)先級(jí)順序?qū)?duì)應(yīng)的各訪存窗口信息依次發(fā)送給仲裁模塊,使仲裁模塊根據(jù)收到的訪存窗口的先后順序,依次確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間。
[0036]其中,調(diào)度周期反映了訪存調(diào)度的粒度。由于每個(gè)訪存模塊在一個(gè)調(diào)度周期內(nèi)的訪存請(qǐng)求集中于一個(gè)較短的窗口時(shí)間內(nèi),該訪存模塊的緩存(片內(nèi)緩存或內(nèi)存)大小需要保證其在調(diào)度周期內(nèi)不產(chǎn)生數(shù)據(jù)饑餓。由于調(diào)度周期對(duì)所有訪存模塊都相同,所以調(diào)度周期確定時(shí),必須滿足緩存忍耐程度最低的訪存模塊的訪存需求。在片上系統(tǒng)(System on aChip,簡(jiǎn)稱SoC)設(shè)計(jì)中,設(shè)計(jì)者可以對(duì)各訪存模塊的緩存大小進(jìn)行調(diào)整,使其在最壞狀況下的忍耐程序接近,這樣可以最大程度利用緩存空間。
[0037]通常,若調(diào)度周期以Soc內(nèi)的時(shí)鐘周期為單位進(jìn)行劃分,各訪存窗口的長(zhǎng)度也以時(shí)鐘周期為單位,對(duì)應(yīng)的,可用與Soc的時(shí)鐘周期相同周期的第一計(jì)數(shù)器對(duì)各訪存窗口的開(kāi)啟時(shí)間進(jìn)行計(jì)數(shù),假設(shè)某訪存窗口的長(zhǎng)度為100個(gè)時(shí)鐘周期,則第一計(jì)數(shù)器對(duì)開(kāi)啟的訪存窗口的開(kāi)啟時(shí)間進(jìn)行計(jì)數(shù),并在第一計(jì)數(shù)器計(jì)數(shù)為100時(shí),關(guān)閉該訪存窗口,本實(shí)施例中的第一計(jì)數(shù)器可以是加法計(jì)數(shù)器,也可以是減法計(jì)數(shù)器,本實(shí)施例對(duì)此不做限定。或者調(diào)度周期以時(shí)間為單位,則訪存窗口的長(zhǎng)度也以時(shí)間為單位表示。對(duì)應(yīng)的,用計(jì)時(shí)器對(duì)各訪存窗口的開(kāi)啟時(shí)間進(jìn)行計(jì)時(shí),假設(shè)某訪存窗口的長(zhǎng)度為100s,則計(jì)時(shí)器對(duì)開(kāi)啟的訪存窗口的開(kāi)啟時(shí)間進(jìn)行計(jì)時(shí),并在計(jì)時(shí)器計(jì)時(shí)為IOOs時(shí),關(guān)閉該訪存窗口。
[0038]S120,接收訪存模塊發(fā)送的訪存請(qǐng)求,所述訪存請(qǐng)求中攜帶所述訪存模塊標(biāo)識(shí)。
[0039]其中,訪存模塊發(fā)送的訪存請(qǐng)求,可以是寫(xiě)入請(qǐng)求,也可以是讀取請(qǐng)求。
[0040]S130,根據(jù)所述訪存模塊標(biāo)識(shí),確定與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口是否開(kāi)啟O
[0041]具體的,仲裁模塊中保存了各訪存窗口的啟閉狀態(tài),在對(duì)應(yīng)的開(kāi)啟時(shí)間開(kāi)啟該訪存窗口后,將本地該訪存窗口的啟閉狀態(tài)更新為開(kāi)啟,在對(duì)應(yīng)的關(guān)閉時(shí)間關(guān)閉該訪存窗口后,將本地該訪存窗口的啟閉狀態(tài)更新為關(guān)閉。其中,各訪存窗臺(tái)的狀態(tài)信息可以用數(shù)字或字符表示,例如,I表示開(kāi)啟,O表示關(guān)閉,或者OP表示開(kāi)啟,CL表示關(guān)閉等等,本實(shí)施例對(duì)此不做限定。
[0042]S140,若所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口開(kāi)啟,則對(duì)所述訪存請(qǐng)求進(jìn)行訪存調(diào)度。
[0043]具體的,還可將進(jìn)行訪存調(diào)度之后的訪存請(qǐng)求發(fā)送給后級(jí)訪存調(diào)度器進(jìn)行進(jìn)一步訪存調(diào)度,達(dá)到更細(xì)致的訪存調(diào)度效果;后級(jí)訪存調(diào)度器可為通常使用的訪存調(diào)度器,例如可以為輪轉(zhuǎn)式訪存調(diào)度器,也可以是其它方式的調(diào)度器,本實(shí)施例對(duì)此不做限定。
[0044]相應(yīng)地,上述確定與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口是否開(kāi)啟之后,還包括:
[0045]若所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口關(guān)閉,則阻塞所述訪存請(qǐng)求,直至確定所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口開(kāi)啟,再對(duì)所述訪存請(qǐng)求進(jìn)行訪存調(diào)度。
[0046]進(jìn)一步地,上述訪存調(diào)度方法,還包括:接收數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)請(qǐng)求中攜帶訪存模塊標(biāo)識(shí);
[0047]判斷所述數(shù)據(jù)請(qǐng)求的狀態(tài),若所述數(shù)據(jù)請(qǐng)求為有效狀態(tài),則開(kāi)啟與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口,且在所述數(shù)據(jù)請(qǐng)求變?yōu)闊o(wú)效狀態(tài)時(shí),關(guān)閉與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口。
[0048]其中,此處的數(shù)據(jù)請(qǐng)求是訪存模塊發(fā)送的。各訪存模塊的緩存區(qū)在該訪存模塊對(duì)應(yīng)的訪存窗口期,將從內(nèi)存中讀取的數(shù)據(jù)存入該緩存區(qū),或者將該緩存區(qū)的數(shù)據(jù)寫(xiě)入系統(tǒng)內(nèi)存中,在該調(diào)度周期的其它時(shí)間內(nèi),該訪存模塊利用其緩存區(qū)的數(shù)據(jù)進(jìn)行數(shù)據(jù)處理。各訪存模塊可檢測(cè)其緩存區(qū)數(shù)據(jù)的利用率,當(dāng)其出現(xiàn)數(shù)據(jù)饑餓時(shí),即可向訪存調(diào)度器發(fā)起數(shù)據(jù)請(qǐng)求,仲裁模塊收到訪存模塊發(fā)送的數(shù)據(jù)請(qǐng)求后,表明該訪存模塊出現(xiàn)了數(shù)據(jù)饑餓,仲裁模塊隨即打開(kāi)該訪存模塊對(duì)應(yīng)的訪存窗口,使該訪存模塊可進(jìn)行數(shù)據(jù)讀取或?qū)懭?。?shù)據(jù)請(qǐng)求的狀態(tài)為預(yù)先設(shè)定的表明數(shù)據(jù)請(qǐng)求是否有效的狀態(tài),舉例來(lái)說(shuō),若訪存模塊的數(shù)據(jù)請(qǐng)求的狀態(tài)為“0”,表明該數(shù)據(jù)請(qǐng)求無(wú)效,若訪存模塊的數(shù)據(jù)請(qǐng)求的狀態(tài)為“ 1”,表明該數(shù)據(jù)請(qǐng)求有效,仲裁模塊實(shí)時(shí)監(jiān)控各訪存模塊對(duì)應(yīng)的數(shù)據(jù)請(qǐng)求的狀態(tài),實(shí)時(shí)打開(kāi)與數(shù)據(jù)請(qǐng)求有效狀態(tài)對(duì)應(yīng)的訪存窗口,并在數(shù)據(jù)請(qǐng)求無(wú)效時(shí),實(shí)時(shí)關(guān)閉對(duì)應(yīng)的訪存窗口。
[0049]具體地,所述訪存模塊為帶寬敏感型訪存模塊,所述根據(jù)所述各訪存窗口信息,確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間,包括:
[0050]根據(jù)所述訪存窗口信息,確定與所述訪存模塊對(duì)應(yīng)的訪存窗口在調(diào)度周期內(nèi)獨(dú)占的啟閉時(shí)間;
[0051]或者,所述訪存模塊為延遲敏感型訪存模塊,所述根據(jù)所述訪存窗口信息,確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間,包括:
[0052]在調(diào)度周期內(nèi)一直開(kāi)啟與所述訪存模塊對(duì)應(yīng)的訪存窗口。
[0053]其中,根據(jù)訪存模塊的訪存特點(diǎn),可將訪存模塊分為帶寬敏感型和延遲敏感型。對(duì)帶寬敏感型訪存模塊,訪存帶寬是決定該訪存模塊訪存質(zhì)量和性能的主要因素,對(duì)應(yīng)延遲敏感型訪存模塊,訪存延遲時(shí)間是決定該訪存模塊訪存質(zhì)量和性能的主要因素。
[0054]本實(shí)施例中考慮不同類(lèi)型訪存模塊的要求,對(duì)不同的訪存模塊采用不同的訪存窗口分配方法。對(duì)于帶寬敏感型訪存模塊,根據(jù)該訪存模塊的訪存帶寬需求,結(jié)合訪存系統(tǒng)的總帶寬,為該類(lèi)訪存模塊配置獨(dú)占該訪存系統(tǒng)帶寬的訪存窗口長(zhǎng)度,在該訪存窗口內(nèi),使該訪存模塊獨(dú)自占有訪存系統(tǒng)帶寬。舉例來(lái)說(shuō),若為該訪存模塊的帶寬需求為Bn,訪存系統(tǒng)的帶寬為Bt,調(diào)度周期為T(mén)s,則為該訪存模塊配置的訪存窗口的長(zhǎng)度Tw可按Tw=TsX (Bn/Bt)計(jì)算,使該訪存模塊在調(diào)度周期Ts內(nèi)獨(dú)自占有訪存系統(tǒng)帶寬Tw的時(shí)間,仲裁模塊收到該訪存窗口的長(zhǎng)度Tw后,根據(jù)訪存模塊優(yōu)先級(jí)順序確定該訪存窗口在調(diào)度周期Ts內(nèi)的啟閉時(shí)間,在確定的開(kāi)啟時(shí)間開(kāi)啟該訪存窗口,將該訪存窗口的訪存請(qǐng)求傳送給后級(jí)訪存調(diào)度器處理,經(jīng)過(guò)Tw時(shí)間后,關(guān)閉該訪存窗口,相應(yīng)的打開(kāi)另一訪存窗口,開(kāi)始處理另一訪存窗口的訪存請(qǐng)求。
[0055]相應(yīng)的,對(duì)于延遲敏感性訪存模塊,為保證該類(lèi)訪存模塊的訪存請(qǐng)求無(wú)延時(shí),配置該類(lèi)訪存模塊對(duì)應(yīng)的訪存窗口在整個(gè)調(diào)度周期都是開(kāi)啟狀態(tài),使得該訪存模塊的訪存請(qǐng)求在整個(gè)調(diào)度周期內(nèi),都可以無(wú)延時(shí)的直接傳給后級(jí)訪存調(diào)度器。[0056]本實(shí)施例提供的訪存調(diào)度方法,通過(guò)根據(jù)訪存模塊對(duì)應(yīng)的訪存窗口信息,在調(diào)度周期對(duì)應(yīng)的啟閉時(shí)間內(nèi)打開(kāi)訪存窗口,并僅對(duì)訪存窗口開(kāi)啟的訪存請(qǐng)求進(jìn)行訪存調(diào)度,降低了多個(gè)訪存模塊同時(shí)進(jìn)行訪存請(qǐng)求時(shí),帶寬發(fā)生沖突的概率,訪存性能和訪存服務(wù)質(zhì)量同時(shí)得到了提高。另外,通過(guò)為帶寬敏感型訪存模塊分配獨(dú)占訪存總線的訪存窗口,為延遲敏感型訪存模塊分配占用整個(gè)調(diào)度周期的訪存窗口,使帶寬敏感型和延遲敏感型訪存模塊的訪存性能和訪存服務(wù)質(zhì)量同時(shí)得到了保證。
[0057]圖2為本發(fā)明實(shí)施例提供的訪存調(diào)度方法實(shí)施例二的流程示意圖。如圖2所示,在實(shí)施例1的基礎(chǔ)上,該方法還包括:
[0058]S200,接收訪存窗口的調(diào)整信息;
[0059]S210,根據(jù)所述訪存窗口的調(diào)整信息調(diào)整所述訪存窗口,確定所述訪存窗口的信
肩、O
[0060]本實(shí)施例提供的訪存調(diào)度方法的執(zhí)行主體為訪存調(diào)度裝置的回路反饋部分,本實(shí)施例稱為自適應(yīng)模塊。
[0061]在本實(shí)施例一種可能的實(shí)現(xiàn)方式中,上述200,包括:
[0062]接收數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)請(qǐng)求中攜帶訪存模塊標(biāo)識(shí);
[0063]相應(yīng)的,上述201包括:
[0064]根據(jù)所述訪存模塊標(biāo)識(shí),確定與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口 ;
[0065]查詢本地存儲(chǔ)的所述訪存窗口所在總線的信息;
[0066]確定所述訪存總線的空閑時(shí)間;
[0067]根據(jù)預(yù)設(shè)的第一規(guī)則從所述訪存總線的空閑時(shí)間中為所述訪存窗口分配占用訪存總線的時(shí)長(zhǎng)。
[0068]其中,此處的數(shù)據(jù)請(qǐng)求是訪存模塊發(fā)送的。各訪存模塊的緩存區(qū)在該訪存模塊對(duì)應(yīng)的訪存窗口時(shí)間內(nèi),從內(nèi)存中讀取數(shù)據(jù),并存入本地,或者將本地的數(shù)據(jù)寫(xiě)入系統(tǒng)內(nèi)存中,在該調(diào)度周期的其它時(shí)間內(nèi),該訪存模塊利用其緩存區(qū)的數(shù)據(jù)進(jìn)行數(shù)據(jù)處理。各訪存模塊可檢測(cè)其緩存區(qū)數(shù)據(jù)的利用率,當(dāng)其出現(xiàn)數(shù)據(jù)饑餓時(shí),即可向訪存調(diào)度器發(fā)起數(shù)據(jù)請(qǐng)求,相應(yīng)的,仲裁模塊檢測(cè)到該訪存模塊對(duì)應(yīng)的數(shù)據(jù)請(qǐng)求為變?yōu)橛行顟B(tài),則即刻打開(kāi)與發(fā)起該數(shù)據(jù)請(qǐng)求的訪存模塊對(duì)應(yīng)的訪存窗口,然后根據(jù)該訪存窗口所在訪存總線的空閑時(shí)間將該訪存模塊對(duì)應(yīng)的訪存窗口的長(zhǎng)度加長(zhǎng)。
[0069]相應(yīng)的,窗口自適應(yīng)模塊檢測(cè)到有訪存模塊發(fā)來(lái)數(shù)據(jù)請(qǐng)求時(shí),根據(jù)數(shù)據(jù)請(qǐng)求中的訪存模塊標(biāo)識(shí),確定該訪存模塊對(duì)應(yīng)的訪存窗口。自適應(yīng)模塊中保存各訪存窗口及各訪存窗口所在訪存總線的信息,自適應(yīng)模塊根據(jù)上述信息確定該訪存總線的空閑時(shí)間,然后根據(jù)預(yù)設(shè)的第一規(guī)則,將該空閑時(shí)間分配給發(fā)起數(shù)據(jù)請(qǐng)求的訪存模塊對(duì)應(yīng)的訪存窗口。舉例來(lái)說(shuō),若自適應(yīng)模塊收到2個(gè)訪存模塊發(fā)來(lái)的數(shù)據(jù)請(qǐng)求,對(duì)應(yīng)的訪存總線的空閑時(shí)間為20個(gè)時(shí)鐘周期,則可將該20個(gè)時(shí)鐘周期平均分配給這兩個(gè)訪存模塊,或者,可根據(jù)發(fā)起數(shù)據(jù)請(qǐng)求的訪存模塊的優(yōu)先級(jí),為優(yōu)先級(jí)較高的訪存模塊分配15個(gè)時(shí)鐘周期,為優(yōu)先級(jí)較低的訪存模塊分配5個(gè)時(shí)鐘周期等,本實(shí)施例對(duì)此不做限定。
[0070]在本實(shí)施例另一種可能的實(shí)現(xiàn)方式中,上述,S200包括:
[0071]接收檢測(cè)出的訪存總線上各訪存窗口的狀態(tài)。
[0072]具體的,自適應(yīng)模塊檢測(cè)訪存總線上各訪存窗口的數(shù)據(jù)傳輸率確定該訪存窗口是否包括空閑時(shí)間,若發(fā)現(xiàn)某訪存窗口的數(shù)據(jù)傳輸率明顯低于其他訪存窗口,則確定該訪存窗口包括空閑時(shí)間;或者自適應(yīng)模塊檢測(cè)訪存總線上各訪存窗口的“outstanding”值,若在訪存窗口關(guān)閉前該值已經(jīng)等于“0”,則第二計(jì)數(shù)器開(kāi)始計(jì)數(shù),直到該訪存窗口關(guān)閉為止,相應(yīng)的,第二計(jì)數(shù)器的計(jì)數(shù)值即為該訪存窗口的空閑時(shí)間,若該訪存窗口關(guān)閉后,更新的該訪存窗口的該值為“O”,則表不該訪存窗口的長(zhǎng)度合適。
[0073]相應(yīng)的,上述S210,包括:
[0074]根據(jù)所述各訪存窗口的狀態(tài)確定包括空閑時(shí)間的訪存窗口 ;
[0075]根據(jù)預(yù)設(shè)的第二規(guī)則縮小所述包括空閑時(shí)間的訪存窗口的長(zhǎng)度。
[0076]具體的,自適應(yīng)模塊確定包括空閑時(shí)間的訪存窗口后,根據(jù)預(yù)設(shè)的第二規(guī)則縮小該訪存窗口的窗口長(zhǎng)度,所述預(yù)設(shè)的第二規(guī)則可以是按照空閑時(shí)間的一半進(jìn)行縮小訪存窗口長(zhǎng)度,也可以是其他比例進(jìn)行縮小。舉例來(lái)說(shuō),若自適應(yīng)模塊檢測(cè)到訪存窗口包括的空閑時(shí)間長(zhǎng)度為200個(gè)時(shí)鐘周期,則可將下一調(diào)度周期內(nèi)該訪存窗口的長(zhǎng)度縮小100個(gè)時(shí)鐘周期,然后檢測(cè)縮小訪存窗口長(zhǎng)度的下一調(diào)度周期內(nèi)該訪存窗口的狀態(tài),若發(fā)現(xiàn)仍有100個(gè)空閑時(shí)鐘周期,則再次將該訪存窗口的長(zhǎng)度縮小50個(gè)時(shí)鐘周期,直至確定到合適的訪存窗口長(zhǎng)度,或者,按上述過(guò)程,依此縮小該訪存窗口空閑時(shí)間的1/5、1/4、1/3等,本實(shí)施例對(duì)此不做限定。相應(yīng)的,若縮小后的訪存窗口對(duì)應(yīng)的訪存模塊出現(xiàn)數(shù)據(jù)饑餓,則可再次為該訪存窗口增加窗口長(zhǎng)度,直至合適。優(yōu)選的,可以設(shè)定某一閾值,通過(guò)判斷該訪存模塊對(duì)應(yīng)的訪存窗口的空閑時(shí)間與該閾值的比例,適當(dāng)?shù)目s小訪存窗口的長(zhǎng)度。
[0077]本實(shí)施例提供的訪存調(diào)度方法,通過(guò)根據(jù)各訪存窗口的調(diào)整信息,調(diào)整各訪存窗口,提高了訪存總線的帶寬利用率,減小了訪存壓力增大時(shí),訪存帶寬發(fā)生沖突的概率,提高了訪存性能和訪存服務(wù)質(zhì)量。
[0078]圖3為本發(fā)明提供的訪存調(diào)度裝置實(shí)施例一的結(jié)構(gòu)示意圖。如圖3所示,該訪存調(diào)度裝置,包括:第一接收單元300、第一確定單元310、第二接收單元320、第二確定單元330、處理單元340,其中,第一接收單元300,用于接收與各訪存模塊對(duì)應(yīng)的各訪存窗口信息,所述各訪存窗口信息包括各訪存窗口的長(zhǎng)度,所述各訪存窗口的長(zhǎng)度代表對(duì)應(yīng)的各訪存模塊占用訪存總線的時(shí)長(zhǎng);
[0079]第一確定單兀310,用于根據(jù)所述各訪存窗口信息,確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間,并在對(duì)應(yīng)的啟閉時(shí)間內(nèi)開(kāi)啟各訪存窗口,所述調(diào)度周期指所有訪存窗口各執(zhí)行一次訪存調(diào)度所需的時(shí)間;
[0080]第二接收單元320,用于接收訪存模塊發(fā)送的訪存請(qǐng)求,所述訪存請(qǐng)求中攜帶所述訪存模塊標(biāo)識(shí);
[0081]第二確定單元330,用于根據(jù)所述訪存模塊標(biāo)識(shí),確定與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口是否開(kāi)啟;
[0082]處理單元340,用于若所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口開(kāi)啟,則對(duì)所述訪存請(qǐng)求進(jìn)行訪存調(diào)度。
[0083]進(jìn)一步地,所述處理單元,還用于:
[0084]若所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口關(guān)閉,則阻塞所述訪存請(qǐng)求,直至確定所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口開(kāi)啟,再對(duì)所述訪存請(qǐng)求進(jìn)行訪存調(diào)度。
[0085]進(jìn)一步地,所述訪存調(diào)度器,還包括:[0086]第三接收單元,用于接收數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)請(qǐng)求中攜帶訪存模塊標(biāo)識(shí);
[0087]判斷單元,用于判斷所述數(shù)據(jù)請(qǐng)求的狀態(tài),若所述數(shù)據(jù)請(qǐng)求為有效狀態(tài),則開(kāi)啟與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口,且在所述數(shù)據(jù)請(qǐng)求變?yōu)闊o(wú)效狀態(tài)時(shí),關(guān)閉與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口。
[0088]具體的,所述訪存模塊為帶寬敏感型訪存模塊,所述第一確定單元,具體用于:根據(jù)所述訪存窗口信息,確定與所述訪存模塊對(duì)應(yīng)的訪存窗口在調(diào)度周期內(nèi)獨(dú)占的啟閉時(shí)間;
[0089]或者,所述訪存模塊為延遲敏感型訪存模塊,所述第一確定單元,具體用于:確定在調(diào)度周期內(nèi)一直開(kāi)啟與所述訪存模塊對(duì)應(yīng)的訪存窗口。
[0090]進(jìn)一步地,上述第一確定單元,具體用于:
[0091]根據(jù)所述各訪存模塊的優(yōu)先級(jí),確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間。
[0092]本實(shí)施例提供的訪存調(diào)度裝置各單元的具體功能和實(shí)現(xiàn)方式,可參照上述訪存調(diào)度方法實(shí)施例一的詳細(xì)說(shuō)明,此處不再贅述。
[0093]本實(shí)施例提供的訪存調(diào)度裝置,通過(guò)根據(jù)各訪存模塊對(duì)應(yīng)的訪存窗口信息,在調(diào)度周期對(duì)應(yīng)的啟閉時(shí)間內(nèi)打開(kāi)訪存窗口,并僅對(duì)訪存窗口開(kāi)啟的訪存請(qǐng)求進(jìn)行訪存調(diào)度,降低了多個(gè)訪存模塊同時(shí)進(jìn)行訪存請(qǐng)求時(shí),帶寬發(fā)生沖突的概率,使訪存性能和訪存服務(wù)質(zhì)量同時(shí)得到了提高。另外,通過(guò)為帶寬敏感型訪存模塊分配獨(dú)占訪存總線的訪存窗口,為延遲敏感型訪存模塊分配占用整個(gè)調(diào)度周期的訪存窗口,使帶寬敏感型和延遲敏感型訪存模塊的訪存性能和訪存服務(wù)質(zhì)量都能得到保證。
[0094]圖4為本發(fā)明提供的訪存調(diào)度裝置實(shí)施例二結(jié)構(gòu)示意圖。如圖4所示,在圖3的基礎(chǔ)上,該調(diào)度裝置還包括:第四接收單元400、第三確定單元410,其中,第四接收單元400,用于接收訪存窗口的調(diào)整信息;第三確定單元410,用于根據(jù)所述訪存窗口的調(diào)整信息調(diào)整所述訪存窗口,確定所述訪存窗口的信息。
[0095]在一種可能的實(shí)現(xiàn)方式中,所述第四接收單元,具體用于:
[0096]接收數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)請(qǐng)求中攜帶訪存模塊標(biāo)識(shí);
[0097]所述第三確定單元,具體用于:
[0098]根據(jù)所述訪存模塊標(biāo)識(shí),確定與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口 ;
[0099]查詢本地存儲(chǔ)的所述訪存窗口所在總線的信息;
[0100]確定所述訪存總線的空閑時(shí)間;
[0101]根據(jù)預(yù)設(shè)的第一規(guī)則從所述訪存總線的空閑時(shí)間中為所述訪存窗口分配占用訪存總線的時(shí)長(zhǎng)。
[0102]在另一種可能的實(shí)現(xiàn)方式中,所述第四接收單元,具體用于:
[0103]接收檢測(cè)的訪存總線上訪存窗口的狀態(tài);
[0104]所述第三確定單元,具體用于:
[0105]根據(jù)所述各訪存窗口的狀態(tài)確定包括空閑時(shí)間的訪存窗口 ;
[0106]根據(jù)預(yù)設(shè)的第二規(guī)則縮小所述包括空閑時(shí)間的訪存窗口的長(zhǎng)度。
[0107]本實(shí)施例提供的訪存調(diào)度裝置各單元的具體功能和實(shí)現(xiàn)方式,可參照上述訪存調(diào)度方法實(shí)施例二的詳細(xì)說(shuō)明,此處不再贅述。
[0108]本實(shí)施例提供的訪存調(diào)度裝置,通過(guò)根據(jù)各訪存窗口的狀態(tài)信息,調(diào)整各訪存窗口的長(zhǎng)度,提高了訪存總線的帶寬利用率,減小了訪存壓力增大時(shí),訪存帶寬發(fā)生沖突的概率,提高了訪存性能和訪存服務(wù)質(zhì)量。
[0109]圖5為本發(fā)明提供的訪存調(diào)度裝置實(shí)施例三結(jié)構(gòu)示意圖。如圖5所示,該訪存調(diào)度裝置包括,計(jì)數(shù)器500,調(diào)度周期寄存器510,仲裁器520,自適應(yīng)模塊530和總線狀態(tài)監(jiān)視器 540 ;
[0110]其中,計(jì)數(shù)器500,用于記錄當(dāng)前開(kāi)啟的窗口的已開(kāi)啟時(shí)間;
[0111]調(diào)度周期寄存器510,用于存儲(chǔ)預(yù)設(shè)的調(diào)度周期;
[0112]仲裁器520,用于執(zhí)行如上述訪存調(diào)度方法實(shí)施例一的訪存調(diào)度方法;
[0113]自適應(yīng)模塊530和總線狀態(tài)監(jiān)視器540,用于執(zhí)行如上述訪存調(diào)度方法實(shí)施例二的訪存調(diào)度方法。
[0114]本實(shí)施例提供的訪存調(diào)度裝置,根據(jù)各訪存模塊對(duì)應(yīng)的各訪存窗口的狀態(tài)信息,為各訪存模塊確定訪存窗口的在調(diào)度周期內(nèi)的啟閉時(shí)間,僅對(duì)訪存窗口開(kāi)啟的訪存請(qǐng)求進(jìn)行訪存調(diào)度,且根據(jù)各訪存窗口的調(diào)整信息,調(diào)整各訪存窗口的長(zhǎng)度,提高了訪存總線的帶寬利用率,減小了訪存壓力增大時(shí),訪存帶寬發(fā)生沖突的概率,提高了訪存性能和訪存服務(wù)質(zhì)量。
[0115]圖6為本發(fā)明提供的訪存調(diào)度系統(tǒng)實(shí)施例結(jié)構(gòu)示意圖。如圖6所示,該訪存調(diào)度系統(tǒng),包括:訪存模塊600?訪存模塊60η,和訪存調(diào)度裝置610,其中,訪存調(diào)度裝置包括如圖6所示的,由單元300?單元340構(gòu)成的仲裁模塊611,由單元400?單元410構(gòu)成的自適應(yīng)模塊612。
[0116]具體的,仲裁模塊611,執(zhí)行上述訪存調(diào)度方法實(shí)施例一提供的訪存調(diào)度步驟,自適應(yīng)模塊612,執(zhí)行上述訪存調(diào)度方法實(shí)施例二提供的訪存調(diào)度步驟。此處不再贅述。
[0117]進(jìn)一步地,該系統(tǒng)還包括訪存調(diào)度器620,與訪存調(diào)度裝置610連接,用于接收所述訪存調(diào)度裝置610發(fā)送的訪存請(qǐng)求,并對(duì)收到的訪存請(qǐng)求進(jìn)行訪存調(diào)度。
[0118]本實(shí)施例中的,訪存調(diào)度器620可為通常使用的訪存調(diào)度器,例如可以為輪轉(zhuǎn)式訪存調(diào)度器,也可以是其它方式的調(diào)度器,本實(shí)施例對(duì)此不做限定。
[0119]本實(shí)施例提供的訪存調(diào)度系統(tǒng),訪存調(diào)度裝置根據(jù)各訪存模塊對(duì)應(yīng)的各訪存窗口的狀態(tài)信息,為各訪存模塊確定訪存窗口的在調(diào)度周期內(nèi)的啟閉時(shí)間,僅對(duì)訪存窗口開(kāi)啟的訪存請(qǐng)求進(jìn)行訪存調(diào)度,且根據(jù)各訪存窗口的調(diào)整信息,調(diào)整各訪存窗口的長(zhǎng)度,提高了訪存總線的帶寬利用率,減小了訪存壓力增大時(shí),訪存帶寬發(fā)生沖突的概率,提高了訪存性能和訪存服務(wù)質(zhì)量。
[0120]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0121]最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種訪存調(diào)度方法,其特征在于,包括: 接收與各訪存模塊對(duì)應(yīng)的各訪存窗口信息,所述各訪存窗口信息包括各訪存窗口的長(zhǎng)度,所述各訪存窗口的長(zhǎng)度代表對(duì)應(yīng)的各訪存模塊占用訪存總線的時(shí)長(zhǎng); 根據(jù)所述各訪存窗口信息,確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間,并在對(duì)應(yīng)的啟閉時(shí)間內(nèi)開(kāi)啟所述各訪存窗口,所述調(diào)度周期指所有訪存窗口各執(zhí)行一次訪存調(diào)度所需的時(shí)間; 接收訪存模塊發(fā)送的訪存請(qǐng)求,所述訪存請(qǐng)求中攜帶訪存模塊標(biāo)識(shí); 根據(jù)所述訪存模塊標(biāo)識(shí),確定與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口是否開(kāi)啟; 若所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口已開(kāi)啟,則對(duì)所述訪存請(qǐng)求進(jìn)行訪存調(diào)度。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口是否開(kāi)啟之后,還包括: 若所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口關(guān)閉,則阻塞所述訪存請(qǐng)求,直至確定所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口開(kāi)啟,再對(duì)所述訪存請(qǐng)求進(jìn)行訪存調(diào)度。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 接收數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)請(qǐng)求中攜帶訪存模塊標(biāo)識(shí); 判斷所述數(shù)據(jù)請(qǐng)求的狀態(tài),若所述數(shù)據(jù)請(qǐng)求為有效狀態(tài),則開(kāi)啟與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口,且在所述數(shù)據(jù)請(qǐng)求變?yōu)闊o(wú)效狀態(tài)時(shí),關(guān)閉與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述訪存模塊為帶寬敏感型訪存模塊,所述根據(jù)所述各訪存窗口信息,確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間,包括: 根據(jù)所述訪存窗口信息,確定與所述訪存模塊對(duì)應(yīng)的訪存窗口在調(diào)度周期內(nèi)獨(dú)占的啟閉時(shí)間; 或者, 所述訪存模塊為延遲敏感型訪存模塊,所述根據(jù)所述訪存窗口信息,確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間,包括: 在調(diào)度周期內(nèi)一直開(kāi)啟與所述訪存模塊對(duì)應(yīng)的訪存窗口。
5.根據(jù)權(quán)利要求1~4任一所述的方法,其特征在于,所述確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間,包括: 根據(jù)所述各訪存模塊的優(yōu)先級(jí),確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收與各訪存模塊對(duì)應(yīng)的各訪存窗口信息之前,還包括: 接收訪存窗口的調(diào)整信息; 根據(jù)所述訪存窗口的調(diào)整信息調(diào)整所述訪存窗口,確定所述訪存窗口信息。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述接收訪存窗口的調(diào)整信息,包括: 接收數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)請(qǐng)求中攜帶訪存模塊標(biāo)識(shí); 所述根據(jù)所述訪存窗口的調(diào)整信息調(diào)整所述訪存窗口,包括: 根據(jù)所述訪存模塊標(biāo)識(shí),確定與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口 ; 查詢本地存儲(chǔ)的所述訪存窗口所在訪存總線的信息; 確定所述訪存總線的空閑時(shí)間;根據(jù)預(yù)設(shè)的第一規(guī)則從所述訪存總線的空閑時(shí)間中為所述訪存窗口分配占用訪存總線的時(shí)長(zhǎng)。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述接收訪存窗口的調(diào)整信息,包括: 接收檢測(cè)出的訪存總線上各訪存窗口的狀態(tài); 所述根據(jù)所述訪存窗口的調(diào)整信息調(diào)整所述訪存窗口,包括: 根據(jù)所述各訪存窗口的狀態(tài)確定包括空閑時(shí)間的訪存窗口 ; 根據(jù)預(yù)設(shè)的第二規(guī)則縮小所述包括空閑時(shí)間的訪存窗口的長(zhǎng)度。
9.一種訪存調(diào)度裝置,其特征在于,包括: 第一接收單兀,用于接收與各訪存模塊對(duì)應(yīng)的各訪存窗口信息,所述各訪存窗口信息包括各訪存窗口的長(zhǎng)度,所述各訪存窗口的長(zhǎng)度代表對(duì)應(yīng)的各訪存模塊占用訪存總線的時(shí)長(zhǎng); 第一確定單兀,用于根據(jù)所述各訪存窗口信息,確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間,并在對(duì)應(yīng)的啟閉時(shí)間內(nèi)開(kāi)啟所述各訪存窗口,所述調(diào)度周期指所有訪存窗口各執(zhí)行一次訪存調(diào)度所需的時(shí)間; 第二接收單元,用于接收訪存模塊發(fā)送的訪存請(qǐng)求,所述訪存請(qǐng)求中攜帶所述訪存模塊標(biāo)識(shí); 第二確定單元,用于根據(jù)所述訪存模塊標(biāo)識(shí),確定與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口是否開(kāi)啟; 處理單元,用于若所述`訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口已開(kāi)啟,則對(duì)所述訪存請(qǐng)求進(jìn)行訪存調(diào)度。
10.根據(jù)權(quán)利要求9所述的訪存調(diào)度裝置,其特征在于,所述處理單元,還用于: 若所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口關(guān)閉,則阻塞所述訪存請(qǐng)求,直至確定所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口開(kāi)啟,再對(duì)所述訪存請(qǐng)求進(jìn)行訪存調(diào)度。
11.根據(jù)權(quán)利要求9所述的訪存調(diào)度裝置,其特征在于,還包括: 第三接收單元,用于接收數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)請(qǐng)求中攜帶訪存模塊標(biāo)識(shí); 判斷單元,用于判斷所述數(shù)據(jù)請(qǐng)求的狀態(tài),若所述數(shù)據(jù)請(qǐng)求為有效狀態(tài),則開(kāi)啟與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口,且在所述數(shù)據(jù)請(qǐng)求變?yōu)闊o(wú)效狀態(tài)時(shí),關(guān)閉與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口。
12.根據(jù)權(quán)利要求9所述的訪存調(diào)度裝置,其特征在于,所述訪存模塊為帶寬敏感型訪存模塊,所述第一確定單元,具體用于: 根據(jù)所述訪存窗口信息,確定與所述訪存模塊對(duì)應(yīng)的訪存窗口在調(diào)度周期內(nèi)獨(dú)占的啟閉時(shí)間; 或者, 所述訪存模塊為延遲敏感型訪存模塊,所述第一確定單元,具體用于: 確定在調(diào)度周期內(nèi)一直開(kāi)啟與所述訪存模塊對(duì)應(yīng)的訪存窗口。
13.根據(jù)權(quán)利要求9~12任一所述的訪存調(diào)度裝置,其特征在于,第一確定單元,具體用于: 根據(jù)所述各訪存模塊的優(yōu)先級(jí),確定各訪存窗口在調(diào)度周期內(nèi)的啟閉時(shí)間。
14.根據(jù)權(quán)利要求9所述的訪存調(diào)度裝置,其特征在于,所述訪存調(diào)度器,還包括:第四接收單元,用于接收訪存窗口的調(diào)整信息; 第三確定單元,用于根據(jù)所述訪存窗口的調(diào)整信息調(diào)整所述訪存窗口,確定所述訪存窗口的信息。
15.根據(jù)權(quán)利要求14所述的訪存調(diào)度裝置,其特征在于,所述第四接收單元,具體用于: 接收數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)請(qǐng)求中攜帶訪存模塊標(biāo)識(shí); 所述第三確定單元,具體用于: 根據(jù)所述訪存模塊標(biāo)識(shí),確定與所述訪存模塊標(biāo)識(shí)對(duì)應(yīng)的訪存窗口 ; 查詢本地存儲(chǔ)的所述訪存窗口所在訪存總線的信息; 確定所述訪存總線的空閑時(shí)間; 根據(jù)預(yù)設(shè)的第一規(guī)則從所述訪存總線的空閑時(shí)間中為所述訪存窗口分配占用訪存總線的時(shí)長(zhǎng)。
16.根據(jù)權(quán)利要求14所述的訪存調(diào)度裝置,其特征在于,所述第四接收單元,具體用于: 接收檢測(cè)出的訪存總線上各訪存窗口的狀態(tài); 所述第三確定單元,具體用于: 根據(jù)所述各訪存窗口的狀態(tài)確定`包括空閑時(shí)間的訪存窗口 ; 根據(jù)預(yù)設(shè)的第二規(guī)則縮小所述包括空閑時(shí)間的訪存窗口的長(zhǎng)度。
17.—種訪存調(diào)度系統(tǒng),其特征在于,包括:訪存模塊和如權(quán)利要求9~16任一所述的訪存調(diào)度裝置。
18.根據(jù)權(quán)利要求17所述的訪存調(diào)度系統(tǒng),其特征在于,還包括: 訪存調(diào)度器,與所述訪存調(diào)度裝置連接,用于接收所述訪存調(diào)度裝置發(fā)送的訪存請(qǐng)求,并對(duì)收到的訪存請(qǐng)求進(jìn)行訪存調(diào)度。
【文檔編號(hào)】G06F13/16GK103559147SQ201310557156
【公開(kāi)日】2014年2月5日 申請(qǐng)日期:2013年11月11日 優(yōu)先權(quán)日:2013年11月11日
【發(fā)明者】劉蘇, 蘇孟豪, 吳龍 申請(qǐng)人:龍芯中科技術(shù)有限公司