專利名稱:數(shù)據(jù)處理系統(tǒng)以及用于存儲(chǔ)仲裁的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)處理系統(tǒng)、存儲(chǔ)控制器以及存儲(chǔ)仲裁的方法。
背景技術(shù):
對(duì)于包括多個(gè)諸如中央處理單元CPU和一些專用處理單元PU的數(shù)據(jù)處理單元的數(shù)據(jù)處理系統(tǒng),通信通常通過總線或互連網(wǎng)絡(luò)執(zhí)行,并且數(shù)據(jù)存儲(chǔ)在中央存儲(chǔ)器。所述中央處理單元CPU可實(shí)現(xiàn)可編程的處理功能。在所述數(shù)據(jù)處理系統(tǒng)中,由于多個(gè)處理單元共享存儲(chǔ)資源,必須執(zhí)行共享資源的仲裁以確定準(zhǔn)予哪個(gè)數(shù)據(jù)處理單元訪問共享存儲(chǔ)器。所述仲裁為訪問共享資源的請(qǐng)求確定進(jìn)度,以保證存儲(chǔ)器只需一次處理一個(gè)請(qǐng)求,并保證來自優(yōu)先級(jí)高的數(shù)據(jù)處理單元的請(qǐng)求比來自其他數(shù)據(jù)處理單元的請(qǐng)求更經(jīng)常被處理。因此,可用存儲(chǔ)總線的容量分成對(duì)每個(gè)處理單元的帶寬限制。如果沒有正確地執(zhí)行仲裁,一些數(shù)據(jù)處理單元可能得等待長時(shí)間來訪問總線。另一方面,必須實(shí)現(xiàn)實(shí)時(shí)處理的數(shù)據(jù)處理單元可能無法執(zhí)行所請(qǐng)求的實(shí)時(shí)處理,導(dǎo)致系統(tǒng)性能的嚴(yán)重惡化或甚至故障。用于仲裁的標(biāo)準(zhǔn)方法包括TDMA、固定優(yōu)先級(jí)訪問、循環(huán)等。這些標(biāo)準(zhǔn)仲裁方案的組合也可使用。
由于單個(gè)芯片上(即片上系統(tǒng)SoC)的可編程或?qū)S玫奶幚韱卧狿U的集成度增加,可存在具有不同類型的流量(traffic)約束的片內(nèi)通信。所述流量約束可包括硬實(shí)時(shí)HRT、軟實(shí)時(shí)SRT、盡力而為(besteffort)BE、等待臨界(latency critical)LC等。在片上系統(tǒng)實(shí)現(xiàn)的存儲(chǔ)器的數(shù)量是關(guān)系到總體成本的重要因素,通常提供共享存儲(chǔ)器。所述存儲(chǔ)器還可以是諸如SDRAM存儲(chǔ)器的外部存儲(chǔ)器。因此,用以實(shí)現(xiàn)實(shí)時(shí)處理的專用處理單元必須與用以實(shí)現(xiàn)等待臨界處理的可編程處理單元共享互連以及共享存儲(chǔ)器。所述系統(tǒng)的挑戰(zhàn)在于將存儲(chǔ)器帶寬分布到用于執(zhí)行硬實(shí)時(shí)處理的數(shù)據(jù)處理單元的代理(agent)以及用于執(zhí)行等待臨界處理的數(shù)據(jù)處理單元的代理。執(zhí)行所述仲裁,使得在實(shí)時(shí)處理的必要保證帶寬得到滿足時(shí),為請(qǐng)求低等待的代理提供低等待訪問。
保證這些保證帶寬的一個(gè)方法是為硬實(shí)時(shí)流量提供固定窗口,在所述窗口,阻塞其他低等待流量并且給予與硬實(shí)時(shí)處理相關(guān)的代理較高優(yōu)先級(jí)。雖然這可以保證保持硬實(shí)時(shí)的保證帶寬,但在硬實(shí)時(shí)處理的固定窗口產(chǎn)生相當(dāng)大的等待用于低等待流量。
進(jìn)一步解決這些需求的方法是限制低等待時(shí)間流量可使用的帶寬,使得低等待流量一旦使用額外帶寬,就阻塞等待臨界流量。然而,所述仲裁方案可能違背硬實(shí)時(shí)的需求,因?yàn)閷?duì)于各種類型的流量,訪問存儲(chǔ)器的效率可能不同。此外,所述仲裁方案需要大量的微調(diào)。
發(fā)明內(nèi)容
因此,本發(fā)明的一個(gè)目的是提供一種數(shù)據(jù)處理系統(tǒng)、存儲(chǔ)控制器以及用于存儲(chǔ)仲裁的方法,所述存儲(chǔ)仲裁能夠在保證實(shí)時(shí)保證帶寬保持的同時(shí),為等待臨界處理提供低等待訪問(low latency access)。
該目的由根據(jù)權(quán)利要求1的數(shù)字處理系統(tǒng)、根據(jù)權(quán)利要求4的存儲(chǔ)控制器以及根據(jù)權(quán)利要求5的存儲(chǔ)仲裁的方法來解決。
因此,提供了一種數(shù)字處理系統(tǒng),所述數(shù)字處理系統(tǒng)包括至少一個(gè)第一處理單元、至少一個(gè)第二處理單元、至少一個(gè)存儲(chǔ)模塊、以及互連。所述存儲(chǔ)模塊用于存儲(chǔ)來自所述至少一個(gè)第一和第二處理單元的數(shù)據(jù)。所述互連裝置將存儲(chǔ)模塊連接到第一和第二處理單元。此外,為執(zhí)行對(duì)于第一和第二處理單元的存儲(chǔ)模塊的仲裁,提供了仲裁單元。所述仲裁在時(shí)間窗口的基礎(chǔ)上執(zhí)行。仲裁單元(AU)監(jiān)控第二處理單元(PU)訪問存儲(chǔ)模塊的第一訪問時(shí)間和在預(yù)定的時(shí)間窗口內(nèi)第二處理單元仍需用以完成處理的第二訪問時(shí)間。所監(jiān)控的第二訪問時(shí)間與時(shí)間窗口內(nèi)的剩余訪問時(shí)間相比,如果剩余的訪問時(shí)間大于第二訪問時(shí)間,仲裁單元允許所述至少一個(gè)第一處理單元在所述時(shí)間窗口訪問存儲(chǔ)模塊。否則,仲裁單元限制至少一個(gè)第一處理單元的訪問,并允許至少一個(gè)第二處理單元訪問存儲(chǔ)模塊。
因此,當(dāng)?shù)谝惶幚韱卧奶幚砭哂休^高的訪問優(yōu)先級(jí)時(shí),只要第二處理單元的處理有足夠的帶寬和訪問時(shí)間,即可保證用于保持第二處理單元的最小帶寬。
根據(jù)本發(fā)明的一個(gè)方面,第一處理單元執(zhí)行等待臨界處理,并且第二處理單元執(zhí)行實(shí)時(shí)處理。因此,雖然等待臨界處理具有低等待訪問,只要不要求過多地訪問存儲(chǔ)器,通過與這些處理的最小帶寬聯(lián)系即可滿足實(shí)時(shí)處理的需要。
根據(jù)本發(fā)明的另一個(gè)方面,可在基于處理單元的流量特性的運(yùn)行時(shí)間期間,預(yù)定義或確定第二訪問時(shí)間。如果所述處理單元易于(“close”)違反其需求,互連必須保證來自特殊PU的訪問請(qǐng)求對(duì)仲裁單元可見。因此,可能執(zhí)行對(duì)于等待臨界和實(shí)時(shí)處理的不同要求的微調(diào)。
本發(fā)明還涉及用于控制對(duì)外部存儲(chǔ)器的訪問的存儲(chǔ)控制器。所述存儲(chǔ)控制器從至少一個(gè)第一和至少一個(gè)第二處理單元接收對(duì)于外部存儲(chǔ)器的請(qǐng)求。所述存儲(chǔ)控制器包括用于執(zhí)行第一和第二處理單元的存儲(chǔ)仲裁的仲裁單元。所述仲裁在時(shí)間窗口的基礎(chǔ)上執(zhí)行。仲裁單元監(jiān)控處理單元已訪問存儲(chǔ)模塊MEM的第一訪問時(shí)間和在預(yù)定義的時(shí)間窗口期間第二處理單元需要用以完成處理的第二訪問時(shí)間。比較所述第二訪問時(shí)間和時(shí)間窗口的剩余訪問時(shí)間,如果剩余訪問時(shí)間大于第二訪問時(shí)間,所述仲裁單元允許所述至少一個(gè)第一處理單元在所述時(shí)間窗口訪問存儲(chǔ)模塊。否則,所述仲裁限制至少一個(gè)第一處理單元的訪問,并且允許至少一個(gè)第二處理單元訪問存儲(chǔ)模塊。
本發(fā)明還涉及用于執(zhí)行從至少一個(gè)第一和至少一個(gè)第二處理單元訪問存儲(chǔ)模塊的仲裁的方法。從至少一個(gè)第一和至少一個(gè)第二處理單元接收對(duì)于外部存儲(chǔ)器的訪問請(qǐng)求。執(zhí)行第一和第二處理單元的存儲(chǔ)仲裁。所述仲裁在時(shí)間窗口的基礎(chǔ)上執(zhí)行。仲裁單元監(jiān)控第二處理單元已訪問存儲(chǔ)器模塊的第一訪問時(shí)間和在預(yù)定義的時(shí)間窗口期間第二處理單元需要用以完成處理的第二訪問時(shí)間。比較所述第二訪問時(shí)間與時(shí)間窗口的剩余訪問時(shí)間,如果剩余訪問時(shí)間大于第二訪問時(shí)間,允許所述至少一個(gè)第一處理單元在所述時(shí)間窗口訪問存儲(chǔ)模塊。否則,限制至少一個(gè)第一處理單元的訪問,并允許第二處理單元訪問存儲(chǔ)模塊。
參照下面描述的實(shí)施例,本發(fā)明的這些和其他方面將變得清楚并且得以闡述。
圖1示出了根據(jù)本發(fā)明的片上系統(tǒng)的基本布置;圖2示出了說明圖1的處理單元的帶寬使用的圖形;圖3示出在根據(jù)圖1的系統(tǒng)中對(duì)共享存儲(chǔ)器的訪問。
具體實(shí)施例方式
根據(jù)本發(fā)明的片上系統(tǒng)的基本布置如圖1所示。所述片上系統(tǒng)包括共享存儲(chǔ)器MEM、可編程處理單元CPU、用于專用處理的處理單元PU以及用于為可編程和專用處理單元CPU和PU執(zhí)行存儲(chǔ)仲裁的仲裁單元AU。所述處理單元PU通過各自的FIFOs FF連接到1級(jí)仲裁單元AU1。所述1級(jí)仲裁單元AU1依次連接到仲裁單元AU??蛇x地,所述處理單元PU還可連接到仲裁單元AU。
所述仲裁單元AU提供了時(shí)間窗口,在所述時(shí)間窗口期間,可基于硬實(shí)時(shí)處理執(zhí)行來自專用處理單元PU之一的處理。所述時(shí)間窗口可以是硬實(shí)時(shí)保護(hù)帶寬的一半。然而,為滿足所需的硬實(shí)時(shí)保護(hù)帶寬,來自專用處理單元PU的可編程數(shù)量的硬實(shí)時(shí)數(shù)據(jù)傳輸必須在所述窗口內(nèi)進(jìn)行。在時(shí)間窗口內(nèi)的每個(gè)周期,仲裁單元AU監(jiān)控來自代理(即HRT代理)、來自執(zhí)行硬實(shí)時(shí)處理的專用處理單元PU的數(shù)據(jù)傳輸量。基于對(duì)此類特殊流量的存儲(chǔ)器接口效率的估計(jì),所述仲裁單元AU計(jì)算HRT代理還需要多少周期來執(zhí)行剩余的傳輸。其后,所述仲裁單元AU將此計(jì)算時(shí)間與現(xiàn)有時(shí)間窗口內(nèi)的剩余時(shí)間比較。如果所述剩余時(shí)間小于或接近所計(jì)算的估計(jì),給予HRT代理訪問總線和存儲(chǔ)模塊MEM的最高優(yōu)先級(jí)。
在操作中,仲裁單元AU首先給予來自可編程處理單元CPU的等待臨界流量高優(yōu)先級(jí)以提供低等待訪問。所述仲裁單元AU嘗試將HRT流量置于無等待臨界流量的任意空時(shí)隙,例如,由于偶爾的處理器緩存遺失。在時(shí)間窗口的處理期間,如果等待臨界流量請(qǐng)求額外訪問存儲(chǔ)模塊MEM,所述仲裁器將優(yōu)先權(quán)級(jí)換到HRT流量,使得仲裁器單元AU檢測已編程的實(shí)時(shí)請(qǐng)求是否易于被違反。因此,根據(jù)本發(fā)明設(shè)計(jì)所述仲裁器單元AU以提供HRT帶寬保護(hù),并在違反實(shí)時(shí)需要的實(shí)際威脅存在時(shí)只產(chǎn)生等待碰撞(latency hit)。
硬實(shí)時(shí)流量的仲裁并不引入大的問題,因?yàn)檫@類流量正是定義的流量類型,這使得實(shí)際流量的精確估計(jì)可防止代理之間過多的切換,所述切換可引起效率降低。
在下文中,描述了根據(jù)本發(fā)明的第二實(shí)施例的存儲(chǔ)控制器。所述存儲(chǔ)控制器包括直接的存儲(chǔ)器訪問DMA端口,專用處理單元PU可連接到所述端口。所述存儲(chǔ)控制器還可連接到外部存儲(chǔ)模塊MEM,并設(shè)計(jì)成控制可編程和專用處理單元CPU和PU訪問存儲(chǔ)模塊。在存儲(chǔ)控制器內(nèi),存在用以將特殊處理需要傳送到仲裁單元的可編程值,即,端口上傳輸?shù)臄?shù)字元素(element)數(shù)、數(shù)字傳輸必須執(zhí)行的周期數(shù)、以及對(duì)于端口傳輸?shù)母鼔那闆r的效率估計(jì)。對(duì)那些存在帶有HRT限制的處理單元PU的端口,這些設(shè)計(jì)值優(yōu)選地存在。
為執(zhí)行根據(jù)第二實(shí)施例的存儲(chǔ)仲裁,在存儲(chǔ)控制器中實(shí)現(xiàn)了三個(gè)寄存器。第一寄存器DMA_AR構(gòu)成程序化寄存器,用于存儲(chǔ)DMA端口所需的訪問數(shù),即,通過可編程或?qū)S锰幚韱卧狢PU、PU之一。第二寄存器DMA_QL為程序化寄存器,也用于存儲(chǔ)必須執(zhí)行第一寄存器DMA_AR傳輸?shù)臅r(shí)間窗口的周期數(shù)。第三寄存器DMA_EE為程序化寄存器,也用于估計(jì)DMA傳輸效率,即,用于帶有HRT限制的PU的流量的存儲(chǔ)器總線效率。其中所述值可選擇0,5,即,50%的效率。
此外,存儲(chǔ)控制器包括兩個(gè)內(nèi)部計(jì)數(shù)器。第一計(jì)數(shù)器DMA_AC用于計(jì)算量程(quantum)或時(shí)間窗口內(nèi)的DMA的傳輸數(shù)量。在每個(gè)DMA命令或來自處理單元PU每個(gè)的命令或傳輸之后,所述計(jì)數(shù)器隨著信息的大小而增加。第二計(jì)數(shù)器DMA_QC用于計(jì)算量程(即時(shí)間窗口)中當(dāng)前執(zhí)行的周期數(shù)。隨著存儲(chǔ)在第二寄存器DMA_QL中作為時(shí)間長度限制的值的每個(gè)周期,所述計(jì)數(shù)器增加1。
因此,如果第一寄存器DMA_AR的值減去第一計(jì)數(shù)器DMA_AC的值大于第二寄存器DMA_QL的值減去第二計(jì)數(shù)器DMA_QC的值再乘以第三寄存器DMA_EE的值,即,DMA_AR-DMA_AC>=(DMA_QL-DMA_QC)*DMA_EE,然后DMA帶寬的保護(hù)可能無法保持,并且沒有空間容納來自可編程處理單元CPU的請(qǐng)求。換句話說,如果在所述量程中,仍需要執(zhí)行的傳輸數(shù)大于或等于所述量程中可執(zhí)行的額外傳輸次數(shù),來自DMA端口的處理分配最高優(yōu)先級(jí)。如果所述條件錯(cuò)誤,仲裁器單元AU確定了DMA帶寬的保護(hù)帶寬可保持,并且CPU流量的帶寬可分配,即,來自CPU的流量具有較高的優(yōu)先級(jí)。優(yōu)選地,檢測每個(gè)仲裁周期。此外,門限可用于給所述計(jì)算添加余量,所以,DMA_AR-DMA_AC+DELTA>=(DMA_QL-DAM_QC)*DMA_EE。
可選且優(yōu)選地,計(jì)算窗口中剩余的仍需要進(jìn)行的傳輸次數(shù),而不是計(jì)算窗口中已進(jìn)行的傳輸。因此,第一計(jì)數(shù)器DMA_AC初始化為DMA_AR,并隨著訪問次數(shù)下降,直到0,而不是從0開始增加。換句話說,計(jì)算量程中剩余的周期數(shù),而不是計(jì)算量程中已進(jìn)行的周期數(shù)。此外,第二計(jì)數(shù)器DMA_QC在時(shí)間窗口的開始初始化為DMA_QL,并且每個(gè)周期減少1直到0。由于從增加到減少的變化,上面方程中的“減號(hào)”不再需要。DMA_AC的值可直接用于此計(jì)算。因此,如果第一寄存器DMA_AC的值大于第二計(jì)數(shù)器DMA_QC的值乘以第三寄存器DMA_EE的值,即,DMA_AC>=(DMA_QC)*DMA_EE,則DMA帶寬保護(hù)無法保持,并且沒有空間容納來自可編程處理單元CPU的請(qǐng)求。此外,可用門限將余量添加到所述計(jì)算中。因此DMA_AC+DELTA>=(DMA_QC)*DMA_EE。
因此,對(duì)每個(gè)時(shí)間窗口,仲裁單元AU將初始化CPU訪問存儲(chǔ)模塊MEM流量,以使能低等待流量。無論在CUP的端口空閑或不發(fā)送請(qǐng)求的時(shí)候,均可從DMA端口轉(zhuǎn)移流量。
然而,如果來自CPU的流量的負(fù)載相對(duì)小,那么所述處理可保持DMA帶寬需求。另一方面,如果來自CPU的流量請(qǐng)求額外訪問存儲(chǔ)器,使得DMA帶寬需求處于被違反的危險(xiǎn)中,所述仲裁器單元AU阻塞來自CPU流量的訪問請(qǐng)求,直至DMA帶寬請(qǐng)求再次保持。
寄存器的設(shè)計(jì)非常簡單并且可基于處理需求而確定。只要CPU的流量不請(qǐng)求額外訪問存儲(chǔ)模塊MEM,則來自CPU的所述處理流量獲得較低的等待訪問,使得DMA帶寬的保護(hù)帶寬不處于危險(xiǎn)中。由于上述仲裁技術(shù)基于根據(jù)數(shù)據(jù)傳輸和周期的帶寬的絕對(duì)值,精確度對(duì)比現(xiàn)有的仲裁方案得到了提高。此外,每量程可提供關(guān)于帶寬的特定帶寬保護(hù),即,網(wǎng)絡(luò)帶寬(基于實(shí)際傳輸數(shù))。根據(jù)本發(fā)明的仲裁技術(shù)更能容忍存儲(chǔ)通信效率的變化,所述存儲(chǔ)通信效率可為兩倍數(shù)據(jù)速率DDR。如果DDR通信的效率變化,還將產(chǎn)生對(duì)DMA流量的不同最小帶寬的需求。換句話說,即使DDR接口效率由于代理的流量而變化,只要用于特殊HRT代理的效率估計(jì)(設(shè)計(jì)為DMA_EE)保持不變,肯定能滿足所述HRT需求。
圖2示出了圖1的不同處理單元的流量。這里,P0_BW表示由存儲(chǔ)控制器的0端口消耗的帶寬。所述0端口構(gòu)成存儲(chǔ)控制器的DMA端口,所述控制器提供給所有的實(shí)時(shí)處理,特別是在第一級(jí)仲裁之后。所述端口可包括軟實(shí)時(shí)(SRT)和硬實(shí)時(shí)(HRT)流量。所述第一級(jí)仲裁保證了HRT流量具有較高的優(yōu)先級(jí),使得當(dāng)HRT流量存在時(shí),SRT流量延遲。P1_BW、P2_BW、P3_BW分別表示端口1、2和3所消耗的帶寬。這三個(gè)端口用于可編程處理單元CPU。所述CPU端口沒有HRT流量限制,但有低等待的需求。
圖2示出將上面提出的方案編碼成仿真環(huán)境并實(shí)施時(shí)的一些仿真結(jié)果。X軸表示應(yīng)用于存儲(chǔ)控制器的不同的流量條件。最左邊的情況在CPU端口上(p1、p2、p3)有低等待。移到右邊的情況,CPU端口的流量逐漸增大。Y軸表示對(duì)應(yīng)的端口所使用的存儲(chǔ)總線帶寬的百分比。在最左邊的情況下,由于CPU的流量很低,0端口(也帶有HRT限制的DMA端口)使用大部分的帶寬。當(dāng)CPU從左到右流量增加時(shí),CUP的帶寬消耗增加,從而減少了DMA端口p0的帶寬消耗。在這些情況下(從左的情況1、2、3),給CPU訪問提供了低等待。如果CPU流量不能威脅DMA的HRT限制,這個(gè)行為始終可見。
最右邊的兩種情況(情況4、5)表示上述帶寬保護(hù)方案提供了對(duì)DMA的HRT最終期限的保護(hù)的情況。在這些情況下,CPU帶寬請(qǐng)求增加,使得DMA的HRT保護(hù)帶寬受到威脅,因此阻塞了CPU的請(qǐng)求。所述結(jié)果表示如果CPU的帶寬請(qǐng)求保持增加,根據(jù)編程在控制器里的值,系統(tǒng)仍能保證HRT代理接收到足夠的帶寬。
圖3示出了對(duì)根據(jù)圖1的系統(tǒng)的共享存儲(chǔ)器的訪問。這里,示出了三個(gè)存儲(chǔ)訪問的示例。最上面的示例示出了CPU的低流量TCPU,可適用于低等待。來自CPU的TCPU訪問均勻地分布,使得具有正常優(yōu)先級(jí)DMA_NP的DMA端口的流量也可均勻地分布。中間的示例示出了具有較高CPU流量TCPU的情況,所述為CPU流量TCPU提供低等待。然而,只保持所述CPU流量TCPU到HRT最終期限受到威脅。然后CPU的流量TCPU被阻塞,并且給DMA提供高優(yōu)先級(jí)DMA_HP。
上面提到的仲裁技術(shù)可應(yīng)用于用于音頻-視頻應(yīng)用的片上系統(tǒng),所述片上系統(tǒng)可包括用于執(zhí)行實(shí)時(shí)處理的專用處理單元以及在可編程處理單元CPU上運(yùn)行的應(yīng)用。可選地,所述仲裁方案還可在移動(dòng)解決方案種實(shí)現(xiàn)。上述方案可用于具有非實(shí)時(shí)等待臨界處理的共享資源的實(shí)時(shí)處理(音頻-視頻等)。
硬實(shí)時(shí)流量HRT涉及DMA代理(即DMA處理)的帶寬需求,所述硬實(shí)時(shí)流量HRT在相對(duì)短的時(shí)間段內(nèi)執(zhí)行。對(duì)此帶寬需求的違反可產(chǎn)生功能性區(qū)域。以視頻和音頻的輸入和輸出作為所述流量的示例。
軟實(shí)時(shí)流量涉及DMA代理的帶寬需求,與硬實(shí)時(shí)流量相比,所述軟實(shí)時(shí)流量在相對(duì)長的時(shí)間段內(nèi)完成。以基于視頻協(xié)處理器的存儲(chǔ)器作為此代理的示例。
硬實(shí)時(shí)流量的最終期限必須保持在每個(gè)時(shí)隙,如果錯(cuò)過一個(gè)時(shí)隙,可能產(chǎn)生嚴(yán)重的后果。軟實(shí)時(shí)流量的最終期限分布在多個(gè)時(shí)隙段。因此,如果軟實(shí)時(shí)流量在一個(gè)時(shí)隙內(nèi)得不到足夠的帶寬,將在隨后的時(shí)隙獲得,這樣整個(gè)系統(tǒng)仍能工作。
本發(fā)明基于為專用處理單元PU的流量提供最小帶寬需求的概念,以區(qū)別于所述處理單元PU的流量。如果沒有提供基于對(duì)專用處理單元PU業(yè)務(wù)流量的帶寬需求的預(yù)測效率,這樣的最小帶寬需求的實(shí)現(xiàn),可導(dǎo)致對(duì)CPU的等待臨界流量的等待延長。如果仲裁單元AU沒有關(guān)于專用處理單元PU的HRT流量延遲多久的信息,為保證不違反實(shí)時(shí)的最終期限,HRT流量將與時(shí)隙或時(shí)間窗口的開始關(guān)聯(lián)。然而,如果CPU的等待臨界流量請(qǐng)求在時(shí)隙的初始部分訪問存儲(chǔ)模塊MEM,將被阻塞,因?yàn)镠RT流量具有更高的優(yōu)先級(jí)。
上述仲裁方案可在帶有SDRAM接口的存儲(chǔ)控制器上實(shí)現(xiàn)。在這樣的存儲(chǔ)控制器中,接口的效率值在30%到90%之間變化,所述變化取決于實(shí)際流量的類型。因?yàn)閷S锰幚韱卧狿U通常具有已定義的流量類型,所述流量類型的效率值可用以預(yù)測實(shí)時(shí)的最終期限以及這個(gè)期限能否保持?;谶@些值,仲裁單元將監(jiān)控在所述流量的實(shí)時(shí)最終期限受到威脅前,專用處理單元PU的哪個(gè)實(shí)時(shí)流量請(qǐng)求延遲了。
換句話說,根據(jù)上述的實(shí)施例的仲裁方案定義了對(duì)于來自專用處理單元PU的流量的最小帶寬限制,而不是定義對(duì)于CPU的等待臨界流量的最大帶寬限制。在來自可編程處理單元CPU的流量比來自專用處理單元PU的流量更不可預(yù)知時(shí),這特別地有利。來自CPU的流量只在那些實(shí)時(shí)需求的提供可能被違反的情況下阻塞?;谛视?jì)算,仲裁器單元AU可確定何時(shí)可能產(chǎn)生這樣的違反。
如果專用處理單元PU,例如,在100個(gè)周期內(nèi)需要10個(gè)數(shù)據(jù)項(xiàng),下面的情況可以發(fā)生周期1-10涉及處理單元的數(shù)據(jù)傳輸,周期11-190涉及其他數(shù)據(jù)傳輸,周期191-290涉及來自處理單元的數(shù)據(jù)傳輸。
這里,在第一個(gè)100個(gè)周期內(nèi)為專用處理單元PU傳輸10個(gè)數(shù)據(jù)項(xiàng),隨后的10個(gè)數(shù)據(jù)項(xiàng)在下一個(gè)100個(gè)周期期間傳輸。然而,在這個(gè)方案中,實(shí)時(shí)需求并不像示例那樣保持,例如在周期50到150這100個(gè)周期內(nèi),沒有數(shù)據(jù)項(xiàng)從專用處理單元傳輸,即,需求被違反。
然而,如果在每50個(gè)周期傳輸5個(gè)數(shù)據(jù)元素,即,實(shí)際需求的一半,那么周期1-5來自處理單元的數(shù)據(jù)傳輸,周期6-95其他數(shù)據(jù)傳輸,以及周期96-100來自處理單元等的數(shù)據(jù)傳輸。
因此,在每100個(gè)周期內(nèi),傳輸10個(gè)數(shù)據(jù)項(xiàng),與所選的100個(gè)周期無關(guān)。
如果為存儲(chǔ)控制器提供DMA處理,DMA傳輸?shù)男时硎維DRAM接口的效率。每個(gè)專用處理單元PU包括自身的流量類型。
DRAM接口無法每周期傳輸一個(gè)數(shù)據(jù)項(xiàng),此外由于處理的總開銷,一個(gè)周期內(nèi)實(shí)際的數(shù)據(jù)傳輸量更少。這樣的費(fèi)用可以是SDRAM更新、激活信號(hào)、預(yù)充電(pre-charge)命令等。對(duì)應(yīng)的數(shù)據(jù)傳輸周期的實(shí)際百分?jǐn)?shù)表示為效率。這樣的接口效率很大程度上取決于存儲(chǔ)控制器所處理的流量。128字節(jié)排列的線性傳輸流量比4字節(jié)未排列的隨機(jī)尋址的流量具有更高的效率,因?yàn)樵谶@樣的情況下,控制器需要用于經(jīng)常地關(guān)閉和開啟行的費(fèi)用。
應(yīng)注意的是,上述的實(shí)施例說明而非限制本發(fā)明,此外本領(lǐng)域的技術(shù)人員可以在不偏離權(quán)利要求的范圍的前提下設(shè)計(jì)許多可選的實(shí)施例。在權(quán)利要求中,括號(hào)中間的參考符號(hào)不應(yīng)用以限制權(quán)利要求?!鞍ā边@個(gè)詞不排除元素(element)或步驟的存在,除了那些權(quán)利要求中所列出的。元素之前的“一”或“一個(gè)”不排除存在多個(gè)該元素。在設(shè)備的權(quán)利要求中所列舉的一些裝置,其中一些裝置可由一種硬件或硬件的相同項(xiàng)實(shí)現(xiàn)。在互不相同的附屬權(quán)利要求中詳述某些方法的起碼的事實(shí)不表示不能有利地利用這些方法的組合。
此外,權(quán)利要求中任意參考符號(hào)不應(yīng)被解釋為為對(duì)權(quán)利要求的范圍的限制。
權(quán)利要求
1.一種數(shù)據(jù)處理系統(tǒng),包括至少一個(gè)第一處理單元(CPU),至少一個(gè)第二處理單元(PU),至少一個(gè)存儲(chǔ)模塊(MEM),用于存儲(chǔ)來自所述至少一個(gè)第一和第二處理單元(CPU、PU)的數(shù)據(jù),互連裝置(B),用于將所述存儲(chǔ)模塊(MEM)連接到第一和第二處理單元(CPU、PU),以及仲裁單元(AU),通過監(jiān)控第二處理單元(PU)訪問存儲(chǔ)模塊(MEM)的第一訪問時(shí)間和在預(yù)定的時(shí)間窗口內(nèi)第二處理單元完成處理所需的第二訪問時(shí)間并比較第二訪問時(shí)間和時(shí)間窗口內(nèi)的剩余訪問時(shí)間,來在時(shí)間窗口的基礎(chǔ)上對(duì)第一和第二處理單元(CPU、PU)訪問存儲(chǔ)模塊(MEM)進(jìn)行仲裁,其中,如果剩余訪問時(shí)間大于第二訪問時(shí)間,所述仲裁單元(AU)允許所述至少一個(gè)第一處理單元(CPU)在所述時(shí)間窗口訪問存儲(chǔ)模塊(MEM),如果剩余訪問時(shí)間不大于第二訪問時(shí)間,允許至少一個(gè)第二處理單元(PU)訪問存儲(chǔ)模塊(MEM)。
2.根據(jù)權(quán)利要求1的數(shù)據(jù)處理系統(tǒng),其中所述第一處理單元(CPU)執(zhí)行等待臨界處理,并且所述第二處理單元(PU)執(zhí)行實(shí)時(shí)處理。
3.根據(jù)權(quán)利要求1或2的數(shù)據(jù)處理系統(tǒng),其中在基于至少第二處理單元(PU)的流量特性的運(yùn)行時(shí)間內(nèi),第二訪問時(shí)間能夠被確定。
4.一種用于控制對(duì)外部存儲(chǔ)器(MEM)的訪問的存儲(chǔ)控制器,其中,存儲(chǔ)控制器從至少一個(gè)第一和至少一個(gè)第二處理單元(CPU、PU)接收對(duì)所述外部存儲(chǔ)器(MEM)的訪問請(qǐng)求,所述存儲(chǔ)控制器包括仲裁單元(AU),通過監(jiān)控第二處理單元(PU)訪問存儲(chǔ)模塊的第一訪問時(shí)間和在預(yù)定的時(shí)間窗口內(nèi)第二處理單元完成處理所需的第二訪問時(shí)間并比較第二訪問時(shí)間和時(shí)間窗口內(nèi)剩余的訪問時(shí)間,來在時(shí)間窗口的基礎(chǔ)上對(duì)第一和第二處理單元(CPU、PU)訪問存儲(chǔ)模塊(MEM)進(jìn)行仲裁,其中,如果剩余訪問時(shí)間大于第二訪問時(shí)間,所述仲裁單元(AU)允許至少一個(gè)第一處理單元在所述時(shí)間窗口內(nèi)訪問存儲(chǔ)模塊(MEM),如果剩余訪問時(shí)間不大于第二訪問時(shí)間,允許至少一個(gè)第二處理單元(PU)訪問存儲(chǔ)模塊(MEM)。
5.一種方法,用于在時(shí)間窗口的基礎(chǔ)上對(duì)至少一個(gè)第一和至少一個(gè)第二處理單元(CPU、PU)訪問存儲(chǔ)模塊(MEM)進(jìn)行仲裁,該方法包括以下步驟監(jiān)控第二處理單元(PU)訪問存儲(chǔ)模塊(MEM)的第一訪問時(shí)間,在預(yù)定的時(shí)間窗口內(nèi),監(jiān)控第二處理單元完成處理所需要的第二訪問時(shí)間,以及在預(yù)定的時(shí)間窗口內(nèi),比較第二訪問時(shí)間和時(shí)間窗口內(nèi)剩余的訪問時(shí)間,其中,如果剩余訪問時(shí)間大于第二訪問時(shí)間,允許所述至少一個(gè)第一處理單元(CPU)訪問存儲(chǔ)模塊(MEM),如果剩余訪問時(shí)間不大于第二訪問時(shí)間,允許至少一個(gè)第二處理單元(PU)訪問存儲(chǔ)模塊(MEM)。
全文摘要
公開了一種數(shù)據(jù)處理系統(tǒng),包括至少一個(gè)第一處理單元、至少一個(gè)第二處理單元、至少一個(gè)存儲(chǔ)模塊以及互連。存儲(chǔ)模塊存儲(chǔ)來自所述至少一個(gè)第一和第二處理單元的數(shù)據(jù)?;ミB裝置將存儲(chǔ)模塊連接到第一和第二處理單元。此外,仲裁單元對(duì)第一和第二處理單元的存儲(chǔ)模塊執(zhí)行仲裁。仲裁在時(shí)間窗口的基礎(chǔ)上執(zhí)行。仲裁單元監(jiān)控第二處理單元訪問存儲(chǔ)模塊的第一訪問時(shí)間和在預(yù)定的時(shí)間窗口內(nèi)第二處理單元仍需用以完成處理的第二訪問時(shí)間。比較第二訪問時(shí)間和時(shí)間窗口中剩余的訪問時(shí)間,如果剩余訪問時(shí)間大于第二訪問時(shí)間,允許第一處理單元在時(shí)間窗口訪問存儲(chǔ)模塊。否則,仲裁單元限制一處理單元的訪問,并允許至少一個(gè)第二處理單元訪問存儲(chǔ)模塊。
文檔編號(hào)G06F13/16GK101065739SQ200580040709
公開日2007年10月31日 申請(qǐng)日期2005年9月19日 優(yōu)先權(quán)日2004年9月28日
發(fā)明者阿克薩耶·薩馬 申請(qǐng)人:皇家飛利浦電子股份有限公司