亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置及方法

文檔序號:6575489閱讀:214來源:國知局
專利名稱:一種根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置及方法
技術(shù)領(lǐng)域
本發(fā)明涉及--種對動(dòng)態(tài)內(nèi)存調(diào)度的裝置及方法,尤其涉及一種應(yīng)用于計(jì) 黨機(jī)或片上系統(tǒng)的根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置及應(yīng)用該裝置 進(jìn)行調(diào)度的方法。
背景技術(shù)
現(xiàn)代計(jì)算機(jī)系統(tǒng)中,存儲子系統(tǒng)是多種設(shè)備共享的資源。 來自不同設(shè)備的請求在發(fā)送給內(nèi)存芯片前,內(nèi)存控制器需要根據(jù)系統(tǒng)的
服務(wù)質(zhì)量要求進(jìn)行調(diào)度,以從中選出符合要求的請求并將該選出的請求發(fā)送
至內(nèi)存芯片。
為滿足系統(tǒng)的服務(wù)質(zhì)量,內(nèi)存控制器通常采用的調(diào)度方式有靜態(tài)調(diào)度、 動(dòng)態(tài)調(diào)度、和混合調(diào)度三大類。其中,靜態(tài)調(diào)度往往采用固定級優(yōu)先的方法, 低優(yōu)先級請求總是可以被搶先執(zhí)行。而動(dòng)態(tài)調(diào)度方法則是根據(jù)帶寬要求以配
額輪詢的方式進(jìn)行調(diào)度;還有些動(dòng)態(tài)調(diào)度方法是基于訪問延時(shí)進(jìn)行處理,比 如,選擇訪存延時(shí)最小的請求發(fā)送給內(nèi)存芯片;或者,將多設(shè)備的訪問延遲 分成輪詢周期、訪存延遲、緩存時(shí)間三部分,將緩存時(shí)間和輪詢周期與訪存 延遲相比較作為判斷依據(jù)。所述混合調(diào)度則結(jié)合了靜態(tài)調(diào)度和動(dòng)態(tài)調(diào)度,將 訪存請求分為兩到三個(gè)優(yōu)先級,優(yōu)先級之間按照靜態(tài)設(shè)置調(diào)度,優(yōu)先級內(nèi)采 用輪詢等動(dòng)態(tài)調(diào)度方式。
現(xiàn)代計(jì)算機(jī)系統(tǒng)的動(dòng)態(tài)隨機(jī)存儲器的性能對系統(tǒng)的服務(wù)質(zhì)量有很大影 響,其訪存延遲和實(shí)際可用帶寬高度依賴于具體訪存序列。而訪存調(diào)度正是 通過對不同訪存源的訪存請求序列進(jìn)行重新排序而對存儲子系統(tǒng)的訪存帶寬 和服務(wù)質(zhì)量發(fā)生影響。
對于復(fù)雜的計(jì)算機(jī)系統(tǒng)和片上系統(tǒng)而言,單純的靜態(tài)調(diào)度方法無法滿足 動(dòng)態(tài)負(fù)載情況下的服務(wù)質(zhì)量要求,而基于帶寬輪詢的動(dòng)態(tài)調(diào)度由于服務(wù)率與延吋緊耦合的關(guān)系,對于低帶寬、低延遲的設(shè)備需要進(jìn)行帶寬的過分配。基 于訪存延時(shí)的方法雖然是動(dòng)態(tài)控制,但是其判定依據(jù)與系統(tǒng)任務(wù)的服務(wù)質(zhì)量
沒冇:ft接關(guān)系,由于動(dòng)態(tài)隨機(jī)存儲器的狀態(tài)依賴和調(diào)度復(fù)雜性,如果訪存延 吋的排序小能與系統(tǒng)應(yīng)用的延時(shí)性能要求相關(guān),那么,所謂訪存服務(wù)質(zhì)量控 制尤其是延時(shí)控制并不能為對應(yīng)的系統(tǒng)應(yīng)用提供延時(shí)保證,有時(shí)反而會損害 冇強(qiáng)制性能要求的設(shè)備的服務(wù)質(zhì)量。

發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)中的缺陷,提供一種適用于計(jì)算機(jī)系統(tǒng)及片上系統(tǒng) 的根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置及方法,根據(jù)訪存隊(duì)列中調(diào)度 單位項(xiàng)的時(shí)間裕量在動(dòng)態(tài)隨機(jī)存儲器上進(jìn)行服務(wù)質(zhì)量調(diào)度,以滿足系統(tǒng)應(yīng)用 延吋要求的同時(shí)實(shí)現(xiàn)存儲器內(nèi)存訪問帶寬的提高。
本發(fā)明所述的根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置,用于接收多 個(gè)設(shè)備的訪存請求并將這些訪存請求發(fā)送至內(nèi)存芯片,其包括對應(yīng)于所述多 個(gè)設(shè)備的訪存端口隊(duì)列模塊,以及與內(nèi)存芯片連接的內(nèi)存后端調(diào)度器和內(nèi)存 狀態(tài)模塊,所述內(nèi)存狀態(tài)模塊用于表征當(dāng)前內(nèi)存芯片的工作狀態(tài),所述內(nèi)存 后端調(diào)度器用于根據(jù)內(nèi)存狀態(tài)模塊的狀態(tài)指示選取中級調(diào)度單位項(xiàng)中適合的
訪存請求發(fā)送至對應(yīng)的調(diào)度單位項(xiàng),還包括
裕量寄存器模塊,用于保存訪存請求隊(duì)列中每個(gè)調(diào)度單位項(xiàng)的時(shí)間裕量
裕量控制器模塊,用于根據(jù)預(yù)定算法對裕量寄存器模塊中的每個(gè)調(diào)度單 位項(xiàng)的時(shí)間裕量值進(jìn)行設(shè)置;
裕量比較器模塊,用于根據(jù)預(yù)定規(guī)則比較裕量寄存器模塊中的每個(gè)調(diào)度 單位項(xiàng)的時(shí)間裕量值,以選取出符合預(yù)定規(guī)則的初級調(diào)度單位項(xiàng);
多路選擇器,根據(jù)內(nèi)存狀態(tài)模塊的狀態(tài)指示自裕量比較器模塊選取出的 初級調(diào)度單位項(xiàng)中進(jìn)一步選取中級調(diào)度單位項(xiàng)發(fā)送至內(nèi)存后端調(diào)度器。
本發(fā)明還提供一種應(yīng)用上述裝置進(jìn)行動(dòng)態(tài)內(nèi)存調(diào)度的方法,其將應(yīng)用任 務(wù)級的時(shí)間界和執(zhí)行時(shí)間轉(zhuǎn)化為訪存操作級的時(shí)間界,同時(shí)生成訪存請求隊(duì) 列,并根據(jù)應(yīng)用的時(shí)間裕量為訪存請求隊(duì)列配置反映衰減力度的權(quán)重值,在個(gè)時(shí)鐘周期內(nèi)由裕量控制器模塊對裕量寄存器模塊中的訪存請求隊(duì)列屮調(diào)皮單位項(xiàng)的時(shí)間裕量值進(jìn)行更新;
并執(zhí)行如F步驟,
歩驟 ,在當(dāng)前調(diào)度周期內(nèi),裕量比較器模塊比較當(dāng)前每個(gè)訪存請求隊(duì)
列中調(diào)度單位項(xiàng)的時(shí)間裕量值,以選取出符合預(yù)定規(guī)則的初級調(diào)度單位項(xiàng);再根據(jù)內(nèi)存狀態(tài)自上述初級調(diào)度單位項(xiàng)中進(jìn)一步選取出中級調(diào)度單位項(xiàng);
歩驟二 ,根據(jù)內(nèi)存狀態(tài)選取中級調(diào)度單位項(xiàng)中適合的訪存請求發(fā)送^內(nèi)存芯片。
本發(fā)明所述裝置和方法以轉(zhuǎn)換生成的訪存操作時(shí)間裕量為判據(jù),以訪存裕量最小者優(yōu)先為原則實(shí)現(xiàn)了訪存操作的實(shí)時(shí)調(diào)度,有利于保證合理的訪存延遲,而非追求最小延遲,從而為帶寬調(diào)度擴(kuò)大了空間。所述方法基于延遲來滿足帶寬需求,能夠根據(jù)訪存請求自動(dòng)動(dòng)態(tài)調(diào)整調(diào)度的優(yōu)先級,在保證延遲基礎(chǔ)上能夠提高訪存帶寬的調(diào)度空間。本發(fā)明避免了靜態(tài)調(diào)度不能適應(yīng)動(dòng)態(tài)負(fù)載的問題,也避免了現(xiàn)有帶寬輪循方法中時(shí)間片的過分配問題。
總的來說,本發(fā)明綜合考慮了請求的優(yōu)先級和帶寬和系統(tǒng)延時(shí)要求等l大l素,既能保證應(yīng)用延遲要求,又能提供更大的訪存帶寬。


圖1為本發(fā)明所述根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置的結(jié)構(gòu)示意圖2為本發(fā)明所述應(yīng)用上述根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置進(jìn)行調(diào)度的方法流程示意圖3為本發(fā)明所述調(diào)度方法中選取初級調(diào)度單位項(xiàng)的流程示意圖4為本發(fā)明所述調(diào)度方法中選取初級調(diào)度單位項(xiàng)的另一種流程不意圖。
具體實(shí)施例方式
下面結(jié)合附圖對本發(fā)明做進(jìn)一步的詳細(xì)說明,以令本領(lǐng)域技術(shù)人員參照說明書文字能夠據(jù)以實(shí)施。本發(fā)明所述的根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置是應(yīng)用于計(jì)算機(jī)或片上系統(tǒng),其根據(jù)應(yīng)用時(shí)間裕量在動(dòng)態(tài)隨機(jī)存儲器上進(jìn)行服務(wù)質(zhì)量的調(diào)度,以支持多設(shè)備的訪存請求并將這些訪存請求發(fā)送至內(nèi)存芯片。
如圖1所示,本發(fā)明所述的根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置包括對應(yīng)于多個(gè)訪存設(shè)備的訪存端口隊(duì)列模塊110,以及與內(nèi)存芯片連接的
內(nèi)存后端調(diào)度器160和內(nèi)存狀態(tài)模塊170,還包括裕量寄存器模塊130、裕量控制器模塊120、裕量比較器模塊140、多路選擇器150。
其中,所述訪存端口隊(duì)列模塊110包括多個(gè)端口隊(duì)列,每個(gè)訪存設(shè)備端l:l或線程都對應(yīng)一個(gè)端口隊(duì)列,訪存線程或設(shè)備所發(fā)出的訪存請求都發(fā)送到對應(yīng)的端口隊(duì)列中。所述訪存端口隊(duì)列模塊110將訪存請求按照調(diào)度單位分組,隊(duì)列內(nèi)部根據(jù)隊(duì)列控制策略自行管理請求項(xiàng)的進(jìn)出隊(duì)列。所述隊(duì)列控制策略包括但不限于先進(jìn)先出的順序策略、亂序出入的亂序策略等。隊(duì)列可以讀寫操作分別為兩個(gè)隊(duì)列,也可以讀寫操作共用一個(gè)隊(duì)列。
所述裕量寄存器模塊130用于保存訪存請求隊(duì)列中每個(gè)調(diào)度單位項(xiàng)的時(shí)間裕量值。該裕量寄存器模塊130與每個(gè)訪存請求隊(duì)列的調(diào)度單位相對應(yīng),所述裕量寄存器模塊130可以設(shè)置為集中式,也可以設(shè)置為分布式。所述調(diào)度單位項(xiàng)可以是以訪存請求為單位,也可以內(nèi)存芯片設(shè)定的突發(fā)長度為單位。
所述裕量控制器模塊120用于根據(jù)預(yù)定調(diào)度算法對裕量寄存器模塊屮的每個(gè)調(diào)度單位項(xiàng)的時(shí)間裕量值進(jìn)行設(shè)置。例如,確定每個(gè)調(diào)度單位項(xiàng)的時(shí)間裕量初始值,以及每個(gè)時(shí)鐘周期內(nèi)的每個(gè)調(diào)度單位項(xiàng)的時(shí)間裕量值。該裕量控制器模塊120可以是集中式設(shè)置,也可以設(shè)置為分布式。具體而言,所述裕量控制器模塊120以訪存操作級的時(shí)間界為每個(gè)調(diào)度單位項(xiàng)的時(shí)間裕量初始值,以其在上一時(shí)鐘周期值基礎(chǔ)上減去其當(dāng)前所在隊(duì)列的權(quán)重值作為對應(yīng)單位項(xiàng)裕量寄存器的更新值。
所述裕量比較器模塊140用于根據(jù)預(yù)定的規(guī)則比較裕量寄存器模塊130中的每個(gè)調(diào)度單位項(xiàng)的時(shí)間裕量值,以選取出符合該預(yù)定規(guī)則的初級調(diào)度單位項(xiàng)。所述裕量比較器模塊140比較調(diào)度單位項(xiàng)的時(shí)間裕量值的預(yù)定規(guī)則為以時(shí)間裕量值的大小進(jìn)行比較,其依據(jù)時(shí)間裕量值的大小選擇裕量值最小的調(diào)度單位項(xiàng)為初級調(diào)度項(xiàng)。所述多路選擇器150根據(jù)內(nèi)存狀態(tài)模塊170的狀態(tài)指示自裕量比較器模塊140選取出的初級調(diào)度單位項(xiàng)中進(jìn)一步選取中級調(diào)度單位項(xiàng),并將該中級調(diào)度單位項(xiàng)發(fā)送至內(nèi)存后端調(diào)度器160?;蛘?,所述多路選擇器進(jìn)一歩選取bank命屮或者page命中可以馬上被處理的調(diào)度單位項(xiàng)發(fā)送至內(nèi)存后端調(diào)皮器。
所述內(nèi)存后端調(diào)度器160用于接收從多路選擇器150傳來的中級調(diào)度單位項(xiàng)的訪存請求,并根據(jù)此時(shí)內(nèi)存狀態(tài)模塊170的狀態(tài)指示選擇適合的訪存請求,并轉(zhuǎn)換為存儲器命令發(fā)送給對應(yīng)的訪存命令隊(duì)列。所述后端調(diào)度器160和多路選擇器150可以是集成一體的緊耦合關(guān)系,也可以是級聯(lián)的松耦合關(guān)
所述內(nèi)存狀態(tài)模塊170用于表征當(dāng)前內(nèi)存芯片的工作狀態(tài),其根據(jù)內(nèi)存后端調(diào)度器的命令實(shí)時(shí)更新、維護(hù)訪存命令隊(duì)列的狀態(tài),提供在之前的侖令序列作用下存儲器的工作狀態(tài)信息,信息包括但不限于bank信息、page信息等。
本發(fā)明所述根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置根據(jù)應(yīng)用情況設(shè)定隊(duì)列的裕量寄存器初值和相關(guān)參數(shù),在每個(gè)調(diào)度周期通過裕量控制器模塊對每個(gè)有效的調(diào)度單位項(xiàng)對應(yīng)的裕量寄存器進(jìn)行控制,裝置根據(jù)隊(duì)列裕量寄存器的值及其內(nèi)存狀態(tài)模塊的狀態(tài)信息按照一定的選擇策略選擇某個(gè)請求項(xiàng)的操作發(fā)送到后端調(diào)度器,最終到達(dá)隨機(jī)存儲器。整個(gè)裝置以訪存時(shí)間裕量為調(diào)度判據(jù),達(dá)到滿足應(yīng)用延遲要求的同時(shí)增加帶寬的效果。
本發(fā)明還提供一種應(yīng)用上述調(diào)度的裝置對動(dòng)態(tài)內(nèi)存調(diào)度的方法,所述方
法包括將應(yīng)用任務(wù)級的時(shí)間界和執(zhí)行時(shí)間轉(zhuǎn)化為訪存操作級的時(shí)間界,同時(shí)生成訪存請求隊(duì)列,并根據(jù)應(yīng)用的時(shí)間裕量為訪存請求隊(duì)列配置反映衰減力度的權(quán)重值,在每個(gè)時(shí)鐘周期內(nèi)由裕量控制器模塊對裕量寄存器模塊中的訪存請求隊(duì)列中調(diào)度單位項(xiàng)的時(shí)間裕量值進(jìn)行更新;并執(zhí)行如下步驟,
在當(dāng)前調(diào)度周期內(nèi),裕量比較器模塊比較當(dāng)前每個(gè)訪存請求隊(duì)列中調(diào)度
單位項(xiàng)的時(shí)間裕量值,以選取出符合預(yù)定規(guī)則的初級調(diào)度單位項(xiàng);再根據(jù)內(nèi)存狀態(tài)自上述初級調(diào)度單位項(xiàng)中進(jìn)一步選取出中級調(diào)度單位項(xiàng);根據(jù)內(nèi)存狀態(tài)選取中級調(diào)度單位項(xiàng)中適合的訪存請求發(fā)送至對應(yīng)的訪存命令隊(duì)列。
具體而言,如圖2所示,包括如下步驟
歩驟210,根據(jù)隊(duì)列對應(yīng)的應(yīng)用要求確定隊(duì)列訪存操作的時(shí)間界DM和
權(quán)承:,即將應(yīng)用任務(wù)級的時(shí)間界與執(zhí)行時(shí)間轉(zhuǎn)化為訪存操作級的時(shí)間界。
其中,所述轉(zhuǎn)化訪存操作級的時(shí)間界DM的歩驟包括
歩驟a,根據(jù)端口或線程的實(shí)時(shí)任務(wù)要求得到該端口的時(shí)間界D,并進(jìn)-歩將任務(wù)的總執(zhí)行時(shí)間劃分為訪存時(shí)間EM和非訪存時(shí)間EC,同時(shí)得到訪存的個(gè)數(shù)N。本歩驟中,可通過對實(shí)時(shí)任務(wù)進(jìn)行模擬方針而將任務(wù)的總執(zhí)行時(shí)間劃分為訪存時(shí)間和非訪存時(shí)間。
步驟b,由端口的時(shí)間界D、訪存時(shí)間EM、訪存的個(gè)數(shù)N確定平均訪存時(shí)間限D(zhuǎn)M,,由內(nèi)存芯片的參數(shù)確定芯片的訪存時(shí)間估值TM。本歩驟中,所述平均訪存時(shí)間限D(zhuǎn)M'^ (D-EC) /N。
歩驟c,所述訪存操作級的時(shí)間界DM即為平均訪存時(shí)間限D(zhuǎn)M'與訪存吋間估值TM之差。即D1VNDM,-TM。
所述權(quán)重的選擇一般為1即可,對于延遲的敏感的應(yīng)用,權(quán)重可大于l,般取值小于10; DM和權(quán)重的數(shù)值值可以離線計(jì)算或者在線計(jì)算,可以但不限于以硬件或者軟件設(shè)置相應(yīng)寄存器的方式應(yīng)用到調(diào)度裝置中。
歩驟220,在時(shí)鐘上升沿,裕量控制器模塊對每個(gè)訪存請求項(xiàng)的裕量寄存器模塊進(jìn)行維護(hù)和更新。
本步驟中,在每個(gè)時(shí)鐘周期內(nèi),對訪存請求隊(duì)列中調(diào)度單位項(xiàng)的時(shí)間裕量進(jìn)行更新的步驟包括
歩驟x,當(dāng)前時(shí)鐘周期內(nèi),若有新請求進(jìn)入訪存隊(duì)列,則裕量控制器校塊將該請求對應(yīng)的裕量寄存器模塊中的時(shí)間裕量初始值置為該請求對應(yīng)端口隊(duì)列的訪存時(shí)間界,并將該請求對應(yīng)的裕量寄存器模塊置為有效;
歩驟y,當(dāng)前時(shí)鐘周期內(nèi),對于當(dāng)前有效的裕量寄存器模塊,裕量控制器模塊將其在上一時(shí)鐘周期值基礎(chǔ)上減去其當(dāng)前所在隊(duì)列的權(quán)重值作為裕量寄存器模塊的更新值;
歩驟z,在下一時(shí)鐘沿,裕量控制器模塊將上述得到的更新值存入有效的裕量寄存器模塊,作為該裕量寄存器模塊中時(shí)間裕量的更新值。
步驟230,裕量比較器模塊對不同隊(duì)列的裕量寄存器模塊中的時(shí)間裕量
姐進(jìn)行比較,選取時(shí)間裕量值最小的調(diào)度單位項(xiàng)為初級調(diào)度單位項(xiàng);進(jìn)而,多路選擇器根據(jù)內(nèi)存狀態(tài)自上述初級調(diào)度單位項(xiàng)中進(jìn) -歩選取出中級調(diào)度單位項(xiàng)。或者,多路選擇器依據(jù)預(yù)定策略進(jìn)一步選擇出對應(yīng)的調(diào)度單位項(xiàng)。此
處所述預(yù)定策略, 一種是以page策略調(diào)度, 一種是以bank策略調(diào)度,本發(fā)明的具體實(shí)施方式
包括但不限于這兩種方式。
按page策略時(shí),先在所有隊(duì)列中選擇一個(gè)時(shí)間裕量最小的請求,然后根據(jù)內(nèi)存的反饋狀態(tài)來判斷請求能否被馬上處理,若可以則選取該請求,不能則繼續(xù);根據(jù)內(nèi)存的反饋狀態(tài),選擇一個(gè)page命中且可以馬上被接受且時(shí)間裕量最小的請求,若存在則選取該請求,不能則繼續(xù);根據(jù)內(nèi)存的反饋狀態(tài),選擇一個(gè)可以馬上被接受且時(shí)間裕量最小的請求,若存在則選取該請求,否則為找不到滿足條件的請求。圖3是本發(fā)明按照page的方式調(diào)度的流程圖,具體歩驟為-
步驟310:在所有隊(duì)列中選擇一個(gè)時(shí)間裕量最小的請求Rl;歩驟320:如果根據(jù)內(nèi)存的反饋狀態(tài),Rl可以馬上被接受,則返回R,否則轉(zhuǎn)步驟330;
歩驟330:根據(jù)按內(nèi)存的反饋狀態(tài),選擇一個(gè)page命中且可以馬上被接受且時(shí)間裕量最小的請求R2;
步驟340:查看R2查找是否成功,如果R2存在,則返回R2,否則轉(zhuǎn)步
驟350;
步驟350:根據(jù)按內(nèi)存的反饋狀態(tài),選擇一個(gè)可以馬上被接受且時(shí)間最
小的i青求R3;
歩驟360:如果R3存在,則返回R3,否則返回空。
按bank策略時(shí),每次選擇的請求盡量要能馬上被處理。假設(shè)動(dòng)態(tài)隨機(jī)內(nèi)
存系統(tǒng)有N個(gè)bank,則請求將按地址落在bank0, bankl, bank2, bank3,......,
bankN-l的順序發(fā)送。若地址為bankn的請求不能馬上被處理,則跳過,判斷地址為bankn+l的請求能否被立即處理。判斷請求能否被馬上處理是根據(jù)內(nèi)存當(dāng)時(shí)的反饋狀態(tài)決定的。如果當(dāng)前調(diào)度的請求的地址落在bank N-l,或者當(dāng)前調(diào)度找不到能發(fā)送的請求,則下次調(diào)度從bankO開始。也就是說,發(fā)送的請求所在的bank順序是可變的。比如,若一個(gè)內(nèi)存有4個(gè)bank,則請求可以按地址落在bank0, bankl, bank2, bank3的順序發(fā)送;發(fā)送請求的順序也n」以為bank0, bankl, bank3或者bank0, bank3;這樣的若千個(gè)請求都可以稱為一個(gè)服務(wù)周期。圖4是本發(fā)明按照bank的方式調(diào)度的流程圖,具體歩
驟為
歩驟410:選擇地址落在bankn且馬上能被處理且slack最小的請求R;
歩驟420:如果請求R存在,則返回請求R,否則轉(zhuǎn)歩驟430;
歩驟430:如果n為最后一個(gè)bank,則返回空,否則詞+1,轉(zhuǎn)步驟410。
本發(fā)明的具體實(shí)施方式
包括但不限于上述兩種方式。
歩驟240,如果步驟230找到滿足條件的請求,裕量多路選擇器將該請求發(fā)送給后端調(diào)度器,如果沒有找到滿足條件的請求,裕量選擇器發(fā)送空命令指示給后端調(diào)度器。
步驟250,每個(gè)時(shí)鐘周期,如果步驟230找到了滿足條件的訪存請求,那么后端調(diào)度器根據(jù)內(nèi)存狀態(tài)和請求情況處理所接收請求,并將相應(yīng)操作翻譯為存儲器相應(yīng)命令,內(nèi)存狀態(tài)模塊據(jù)此命令序列更新內(nèi)部狀態(tài)。同時(shí)訪存隊(duì)列根據(jù)請求進(jìn)出隊(duì)列的情況,按照一定的控制策略進(jìn)行隊(duì)列指針的維護(hù)和史新。
至此,本發(fā)明所述裝置和方法以轉(zhuǎn)換生成的訪存操作時(shí)間裕量為判據(jù),以訪存裕量最小者優(yōu)先為原則實(shí)現(xiàn)了訪存操作的實(shí)時(shí)調(diào)度,有利于保證合理的訪存延遲,而非追求最小延遲,從而為帶寬調(diào)度擴(kuò)大了空間。所述方法基于延遲來滿足帶寬需求,能夠根據(jù)訪存請求自動(dòng)動(dòng)態(tài)調(diào)整調(diào)度的優(yōu)先級,在保證延遲基礎(chǔ)上能夠提高訪存帶寬的調(diào)度空間。本發(fā)明避免了靜態(tài)調(diào)度不能適應(yīng)動(dòng)態(tài)負(fù)載的問題,也避免了現(xiàn)有帶寬輪循方法中時(shí)間片的過分配問題。
總的來說,本發(fā)明綜合考慮了請求的優(yōu)先級和帶寬和系統(tǒng)延時(shí)要求等因素,既能保證應(yīng)用延遲要求,又能提供更大的訪存帶寬。
盡管本發(fā)明的實(shí)施方案已公開如上,但其并不僅僅限于說明書和實(shí)施方式屮所列運(yùn)用,它完全可以被適用于各種適合本發(fā)明的領(lǐng)域,對于熟悉本領(lǐng)域的人員而言,可容易地實(shí)現(xiàn)另外的修改,因此在不背離權(quán)利要求及等同范|書|所限定的一般概念下,本發(fā)明并不限于特定的細(xì)節(jié)和這里示出與描述的圖例。
權(quán)利要求
1.一種根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置,用于接收多個(gè)設(shè)備的訪存請求并將這些訪存請求發(fā)送至內(nèi)存芯片,其包括對應(yīng)于所述多個(gè)設(shè)備的訪存端口隊(duì)列模塊,以及與內(nèi)存芯片連接的內(nèi)存后端調(diào)度器和內(nèi)存狀態(tài)模塊,所述內(nèi)存狀態(tài)模塊用于表征當(dāng)前內(nèi)存芯片的工作狀態(tài),所述內(nèi)存后端調(diào)度器用于根據(jù)內(nèi)存狀態(tài)模塊的狀態(tài)指示選取中級調(diào)度單位項(xiàng)中適合的訪存請求發(fā)送至對應(yīng)的調(diào)度單位項(xiàng),其特征在于,還包括裕量寄存器模塊,用于保存訪存請求隊(duì)列中每個(gè)調(diào)度單位項(xiàng)的時(shí)間裕量值;裕量控制器模塊,用于根據(jù)預(yù)定算法對裕量寄存器模塊中的每個(gè)調(diào)度單位項(xiàng)的時(shí)間裕量值進(jìn)行設(shè)置;裕量比較器模塊,用于根據(jù)預(yù)定規(guī)則比較裕量寄存器模塊中的每個(gè)調(diào)度單位項(xiàng)的時(shí)間裕量值,以選取出符合預(yù)定規(guī)則的初級調(diào)度單位項(xiàng);多路選擇器,根據(jù)內(nèi)存狀態(tài)模塊的狀態(tài)指示自裕量比較器模塊選取出的初級調(diào)度單位項(xiàng)中進(jìn)一步選取中級調(diào)度單位項(xiàng)發(fā)送至內(nèi)存后端調(diào)度器。
2. 如權(quán)利要求l所述的根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置,其特征在于,所述裕量控制器模塊以訪存操作級的時(shí)間界為每個(gè)調(diào)度單位項(xiàng)的時(shí)間裕量初始值,以其在上- 時(shí)鐘周期值基礎(chǔ)上減去其當(dāng)前所在隊(duì)列的權(quán)重值作為對應(yīng)單位項(xiàng)裕量寄存器的更新值。
3. 如權(quán)利要求l所述的根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置,其特征在于,所述裕量比較器模塊比較調(diào)度單位項(xiàng)的時(shí)間裕量值的預(yù)定規(guī)則為以時(shí)間裕量值的大小進(jìn)行比較。
4. 如權(quán)利要求3所述的根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置,其特征在于,所述裕量比較器模塊依據(jù)時(shí)間裕量值的大小選擇裕量值最小的調(diào)度單位項(xiàng)為初級調(diào)度項(xiàng)。
5. 如權(quán)利要求3所述的根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置,其特征在于,所述多路選擇器進(jìn)一步選取bank命中或者page命中可以馬上被處現(xiàn)的調(diào)度單位項(xiàng)發(fā)送至內(nèi)存后端調(diào)度器。
6. 種應(yīng)用權(quán)利要求1所述裝置進(jìn)行動(dòng)態(tài)內(nèi)存調(diào)度的方法,其特征在于,將應(yīng)用任務(wù)級的時(shí)間界和執(zhí)行時(shí)間轉(zhuǎn)化為訪存操作級的時(shí)間界,同時(shí)卞成訪存請求隊(duì)列,并根據(jù)應(yīng)用的時(shí)間裕量為訪存請求隊(duì)列配置反映衰減力皮的權(quán)覓值,在每個(gè)時(shí)鐘周期內(nèi)由裕量控制器模塊對裕量寄存器模塊屮的訪存請求隊(duì)列中調(diào)度單位項(xiàng)的時(shí)間裕量值進(jìn)行更新;并執(zhí)行如下歩驟,歩驟 ,在當(dāng)前調(diào)度周期內(nèi),裕量比較器模塊比較當(dāng)前每個(gè)訪存請求隊(duì)列111調(diào)度單位項(xiàng)的時(shí)間裕量值,以選取出符合預(yù)定規(guī)則的初級調(diào)度單位項(xiàng);冉根據(jù)內(nèi)存狀態(tài)自上述初級調(diào)度單位項(xiàng)中進(jìn)一步選取出中級調(diào)度單位項(xiàng);步驟二 ,根據(jù)內(nèi)存狀態(tài)選取中級調(diào)度單位項(xiàng)中適合的訪存請求發(fā)送:爭內(nèi)存芯片。
7. 如權(quán)利要求6所述的進(jìn)行動(dòng)態(tài)內(nèi)存調(diào)度的方法,其特征在于,所述轉(zhuǎn)化訪存操作級的時(shí)間界的歩驟包括歩驟101,根據(jù)端口或線程的實(shí)時(shí)仟?jiǎng)?wù)要求得到該端口的時(shí)間界,并進(jìn)歩將任務(wù)的總執(zhí)行時(shí)間劃分為訪存時(shí)間和非訪存時(shí)間,同時(shí)得到訪存的個(gè)數(shù)步驟102,由端口的時(shí)間界、訪存時(shí)間、訪存的個(gè)數(shù)確定平均訪存時(shí)間限,山內(nèi)存芯片的參數(shù)確定芯片的訪存時(shí)間估值; '歩驟103,所述訪存操作級的時(shí)間界即為平均訪存時(shí)間限與訪存時(shí)間估值之差。
8. 如權(quán)利要求7所述的進(jìn)行動(dòng)態(tài)內(nèi)存調(diào)度的方法,其特征在于,所述平均訪存時(shí)間限為端口的時(shí)間界與訪存時(shí)間之差再除以訪存的個(gè)數(shù)而得到。
9. 如權(quán)利要求7所述的進(jìn)行動(dòng)態(tài)內(nèi)存調(diào)度的方法,其特征在于,所述每個(gè)時(shí)鐘周期內(nèi)對訪存請求隊(duì)列中調(diào)度單位項(xiàng)的時(shí)間裕量進(jìn)行更新的歩驟包括歩驟201,當(dāng)前時(shí)鐘周期內(nèi),若有新請求進(jìn)入訪存隊(duì)列,則裕量控制器模塊將該請求對應(yīng)的裕量寄存器模塊中的時(shí)間裕量初始值置為該請求對應(yīng)端口隊(duì)列的訪存時(shí)間界,并將該請求對應(yīng)的裕量寄存器模塊置為有效;歩驟202,當(dāng)前時(shí)鐘周期內(nèi),對于當(dāng)前有效的裕量寄存器模塊,裕量控制器模塊將其在上一時(shí)鐘周期值基礎(chǔ)上減去其當(dāng)前所在隊(duì)列的權(quán)重值作為裕量寄存器模塊的更新值;歩驟203,在下一時(shí)鐘沿,裕量控制器模塊將上述得到的更新值存入冇效的裕量寄存器模塊,作為該裕量寄存器模塊中時(shí)間裕量的更新值。
10. 如權(quán)利要求6所述的進(jìn)行動(dòng)態(tài)內(nèi)存調(diào)度的方法,其特征在于,所述歩驟"1',裕量比較器模塊選取時(shí)間裕量值最小的調(diào)度單位項(xiàng)為初級調(diào)度單位項(xiàng)。
11. 如權(quán)利要求6所述的進(jìn)行動(dòng)態(tài)內(nèi)存調(diào)度的方法,其特征在于,所述歩驟 一中,選取初級調(diào)度單位項(xiàng)的步驟包括步驟301,在所有隊(duì)列中選擇一個(gè)時(shí)間裕量最小的請求Rl;歩驟302,根據(jù)內(nèi)存的反饋狀態(tài),若R1可以馬上被接受,則返回R1;否則,執(zhí)行歩驟303;歩驟303,根據(jù)內(nèi)存的反饋狀態(tài),選擇一個(gè)page命中且可以馬上被接受T丄吋間裕量值最小的請求R2;歩驟304,査看R2是否選擇成功,若R2存在,則返回該R2;否則,執(zhí)行歩驟305;步驟305,根據(jù)內(nèi)存的反饋狀態(tài),選擇一個(gè)可以馬上被接受且時(shí)間裕量值最小的請求R3;歩驟306,若R3存在,則返回該R3;否則,返回為空。
12. 如權(quán)利要求6所述的進(jìn)行動(dòng)態(tài)內(nèi)存調(diào)度的方法,其特征在于,所述歩驟 中,選取初級調(diào)度單位項(xiàng)的步驟包括歩驟401,選擇地址落在bank n且馬上能被處理且時(shí)間裕量值最小的請求R;步驟402,若該請求R存在,則返回該請求R;否則,執(zhí)行歩驟403;歩驟403,若n為最后- -個(gè)bank,則返回空;否則,另n=n+l,轉(zhuǎn)問執(zhí)行步驟401。
全文摘要
本發(fā)明公開了一種根據(jù)應(yīng)用的時(shí)間裕量對動(dòng)態(tài)內(nèi)存調(diào)度的裝置及方法,其中,所述裝置包括訪存端口隊(duì)列模塊,以及內(nèi)存后端調(diào)度器和內(nèi)存狀態(tài)模塊,還包括裕量寄存器模塊,用于保存訪存請求隊(duì)列中每個(gè)調(diào)度單位項(xiàng)的時(shí)間裕量值;裕量控制器模塊,用于根據(jù)預(yù)定算法對裕量寄存器模塊中的每個(gè)調(diào)度單位項(xiàng)的時(shí)間裕量值進(jìn)行設(shè)置;裕量比較器模塊,用于根據(jù)預(yù)定規(guī)則比較裕量寄存器模塊中的每個(gè)調(diào)度單位項(xiàng)的時(shí)間裕量值,以選取出符合預(yù)定規(guī)則的初級調(diào)度單位項(xiàng);多路選擇器,根據(jù)內(nèi)存狀態(tài)模塊的狀態(tài)指示自裕量比較器模塊選取出的初級調(diào)度單位項(xiàng)中進(jìn)一步選取中級調(diào)度單位項(xiàng)發(fā)送至內(nèi)存后端調(diào)度器。
文檔編號G06F13/16GK101685427SQ200910092108
公開日2010年3月31日 申請日期2009年9月2日 優(yōu)先權(quán)日2009年9月2日
發(fā)明者張廣飛, 汪文祥, 彤 許, 敏 陸 申請人:北京龍芯中科技術(shù)服務(wù)中心有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1