專利名稱:一種嵌入式系統(tǒng)中基于spm的輸入輸出緩沖實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于嵌入式系統(tǒng)技術(shù)領(lǐng)域。具體涉及一種嵌入式系統(tǒng)中基于SPM的輸入輸出緩沖實(shí)現(xiàn)方法。
背景技術(shù):
SRAM的英文全稱是“Static RAM”,翻譯過(guò)來(lái)就是“靜態(tài)隨機(jī)存儲(chǔ)器”,主要用于制造高速緩沖存儲(chǔ)器(cache)。這種靜態(tài)隨機(jī)存儲(chǔ)器不需要通過(guò)定時(shí)的刷新電路,就可以保證其存儲(chǔ)的內(nèi)容。與其相對(duì)應(yīng)的DRAM,即“Dynamic RAM”(動(dòng)態(tài)隨機(jī)存儲(chǔ)器)常被用作內(nèi)存,需要通過(guò)定時(shí)的刷新電路每隔一段時(shí)間對(duì)其進(jìn)行刷新充電,才能保證其內(nèi)保存的數(shù)據(jù)不會(huì)丟失。但是靜態(tài)隨機(jī)存儲(chǔ)器的造價(jià)和集成度都是限制其大小和使用的因素。
·
由于靜態(tài)隨機(jī)存儲(chǔ)器具備較好的讀寫(xiě)性能,所以在計(jì)算機(jī)系統(tǒng)內(nèi)有它的特定用途。目前靜態(tài)隨機(jī)存儲(chǔ)器有幾種用法一種是置于中央處理器與主存之間的高速緩存,即為通常所說(shuō)的高速緩沖存儲(chǔ)器;另一種是插在卡槽上作為擴(kuò)充用的高速緩存。還有為了加速中央處理器內(nèi)部數(shù)據(jù)的傳送,在中央處理器的內(nèi)部也設(shè)計(jì)有高速緩存,所以在奔騰處理器就有一級(jí)高速緩存和二級(jí)高速緩存的概念,一般一級(jí)緩存是建在中央處理器的內(nèi)部,二級(jí)緩存是集成在中央處理器的外部。顯然,速度快和不需要定時(shí)刷新是靜態(tài)隨機(jī)存儲(chǔ)器最大的優(yōu)點(diǎn),但是也有相應(yīng)的缺點(diǎn),就是價(jià)格高和體積大,所以在主板上還不能作為用量較大的主存。由于Cache體系結(jié)構(gòu)的設(shè)計(jì)主要是為了一般的計(jì)算機(jī)系統(tǒng),為提高系統(tǒng)運(yùn)行表現(xiàn)而設(shè)計(jì)的。Cache對(duì)于傳統(tǒng)的多媒體應(yīng)用程序的數(shù)據(jù)存取模式的表現(xiàn)非常不盡如人意。在嵌入式計(jì)算為目的的很多設(shè)計(jì)中,人們?cè)絹?lái)越多的傾向于采用軟件管理片內(nèi)的內(nèi)存。我們所知道的Scratchpad Memory (簡(jiǎn)稱SPM)存儲(chǔ)單元就是軟件管理的片內(nèi)靜態(tài)隨機(jī)即存儲(chǔ)器單元的一個(gè)例子。其次,雖說(shuō)Cache和SPM都是用靜態(tài)隨機(jī)存儲(chǔ)器元件制造而成的,它們的運(yùn)行行為差異比較大。高速緩沖存儲(chǔ)器運(yùn)行時(shí)需要對(duì)地址標(biāo)記位作比較,因此需要消耗大量的片上空間和能耗。為了減少或者避免這種比較過(guò)程帶來(lái)的能耗,引入SPM在節(jié)能方面有其先天的優(yōu)勢(shì),因?yàn)镾PM是軟件可編程的,它的行為是由開(kāi)發(fā)人員自行定義的,可以給嵌入式系統(tǒng)降低一定量的能耗。Scratchpad SRAM存儲(chǔ)器作為集成于中央處理器核心上的一類存儲(chǔ)器,其讀取數(shù)據(jù)的速度快,可用作處理一些臨時(shí)的小量的但又會(huì)反復(fù)“讀”和“寫(xiě)”的數(shù)據(jù)的這么一類存儲(chǔ)器。其位于片內(nèi)(on-chip),相對(duì)于位于片外(off-chip)的“內(nèi)存”而言,讀寫(xiě)速度是它的優(yōu)勢(shì);而相對(duì)于同樣位于片內(nèi)的高速緩沖存儲(chǔ)器(Cache)而言,其軟件可控制,用戶可控制,是它的特征。目前市場(chǎng)上的高端處理器芯片很多都集成著這樣的片內(nèi)存儲(chǔ)器,它們都用靜態(tài)隨機(jī)存儲(chǔ)器制成,或作為L(zhǎng)I L2 Cache,或作為SPM,提供給用戶開(kāi)發(fā)和使用。比較常見(jiàn)的芯片如英特爾公司的PXA27x系列,就集成了這樣的片內(nèi)存儲(chǔ)器,大小一般是256k左右。
SPM 一般都是分塊(bank)的,而塊與塊之間的電源管理是相對(duì)獨(dú)立的,即SPM的各塊運(yùn)行時(shí)態(tài)可能是以下的幾種狀態(tài)
1.都保持運(yùn)行狀態(tài);
2.某一個(gè)塊保持運(yùn)行狀態(tài),另外的塊保持休眠狀態(tài);
3.若干個(gè)塊保持運(yùn)行狀態(tài),另外的塊保持休眠狀態(tài);
4.都保持休眠狀態(tài)。而對(duì)于SPM的電源管理可以通過(guò)設(shè)置相應(yīng)寄存器的位來(lái)簡(jiǎn)單的完成,以此達(dá)到盡量的節(jié)約運(yùn)行著的嵌入式系統(tǒng)的能耗,這個(gè)設(shè)計(jì)也是動(dòng)態(tài)隨機(jī)存儲(chǔ)器所達(dá)不到的,因?yàn)閯?dòng) 態(tài)隨機(jī)存儲(chǔ)器需要保證其刷新才能保證存儲(chǔ)在其中的內(nèi)容,無(wú)法進(jìn)入休眠狀態(tài)。在嵌入式系統(tǒng)的輸入輸出子系統(tǒng)中,一般是使用內(nèi)存作為輸入輸出數(shù)據(jù)處理的緩沖,由于內(nèi)存采用動(dòng)態(tài)隨機(jī)存儲(chǔ)器或者其他慢速外部存儲(chǔ)制造,內(nèi)存的訪問(wèn)速度較慢,能耗也較聞。
發(fā)明內(nèi)容
本發(fā)明旨在克服現(xiàn)有技術(shù)缺陷,目的在于提供一種能提高輸入輸出處理速度和降低輸入輸出處理過(guò)程中的存儲(chǔ)訪問(wèn)功耗的嵌入式系統(tǒng)中基于SPM的輸入輸出緩沖實(shí)現(xiàn)方法。為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下
O SPM空間劃分
SPM空間為M,每個(gè)輸入輸出請(qǐng)求區(qū)域的大小為S,則劃分完成后形成的輸入輸出請(qǐng)求區(qū)域的個(gè)數(shù)η為n=M/S
輸入輸出請(qǐng)求區(qū)域Si被劃分成輸入輸出請(qǐng)求信息區(qū)RRi和輸入輸出緩沖區(qū)RBi,i均為I到η的自然數(shù)。2)嵌入式操作系統(tǒng)改造
在嵌入式操作系統(tǒng)中,將輸入輸出請(qǐng)求處理代碼中原指向內(nèi)存空間作為輸入輸出緩沖的地址空間改為指向經(jīng)過(guò)劃分的SPM空間。3)輸入輸出請(qǐng)求處理
輸入輸出請(qǐng)求Ri到達(dá)嵌入式操作系統(tǒng)后,這些請(qǐng)求信息被存放于SPM空間當(dāng)輸入輸出請(qǐng)求Ri被分配到對(duì)應(yīng)的輸入輸出請(qǐng)求區(qū)域Si,則輸入輸出請(qǐng)求Ri的請(qǐng)求信息存放在輸入輸出請(qǐng)求區(qū)域Si中的輸入輸出請(qǐng)求信息區(qū)RRi。4)輸入輸出數(shù)據(jù)緩沖
輸入輸出的處理過(guò)程中,輸入輸出數(shù)據(jù)被存放在輸入輸出請(qǐng)求區(qū)域Si的輸入輸出緩沖區(qū)RBi :輸入輸出請(qǐng)求Ri被分配到對(duì)應(yīng)的輸入輸出請(qǐng)求區(qū)域Si,則輸入輸出請(qǐng)求Ri的輸入輸出數(shù)據(jù)被存放在輸入輸出請(qǐng)求區(qū)域Si的輸入輸出緩沖區(qū)RBi。5)溢出輸入輸出數(shù)據(jù)處理
當(dāng)SPM空間容量不足,到達(dá)的輸入輸出請(qǐng)求Ri不能被分配到SPM空間時(shí),這樣的輸入輸出請(qǐng)求Ri將被分配到內(nèi)存空間上;分配到內(nèi)存空間上的輸入輸出請(qǐng)求Ri的處理與以內(nèi)存空間為輸入輸出請(qǐng)求區(qū)域的輸入輸出處理方法相同;所述以內(nèi)存空間為輸入輸出請(qǐng)求區(qū)域的輸入輸出處理方法是指采用未經(jīng)過(guò)改造的嵌入式操作系統(tǒng)的嵌入式系統(tǒng)在處理輸入輸出請(qǐng)求Ri時(shí),以內(nèi)存空間作為輸入輸出緩沖區(qū)RBi,當(dāng)輸入輸出請(qǐng)求Ri到達(dá)時(shí)被分配到內(nèi)存空間并進(jìn)行處理的方法。
由于采用上述技術(shù)方案,本發(fā)明與現(xiàn)有技術(shù)相比,具有如下有益效果
本發(fā)明是一種嵌入式系統(tǒng)中基于SPM的輸入輸出緩沖實(shí)現(xiàn)方法,其主要功能是結(jié)合SPM位于嵌入式處理器片上的特點(diǎn),將SPM空間作為輸入輸出的緩沖。本方法實(shí)現(xiàn)了對(duì)SPM的有效使用,充分利用了 SPM速度快的特點(diǎn),提高了輸入輸出的效率。本發(fā)明對(duì)SPM的使用,有利于在運(yùn)行時(shí)減少嵌入式系統(tǒng)中由于輸入輸出對(duì)存儲(chǔ)的訪問(wèn)帶來(lái)的能耗,具有如下積極效果
(I)速度快。本發(fā)明充分利用了 SPM速度快的特點(diǎn),提高了嵌入式系統(tǒng)中輸入輸出的效率;本發(fā)明實(shí)現(xiàn)了對(duì)SPM的有效使用,由于SPM較之DRAM訪問(wèn)速度更快,速度差距達(dá)到10倍以上。(2)能耗低。本發(fā)明對(duì)SPM的使用,是通過(guò)SPM來(lái)進(jìn)行輸入輸出的緩沖,相較DRAM的輸入輸出緩沖方法,SPM的訪問(wèn)能耗更低,有利于降低輸入輸出對(duì)存儲(chǔ)的訪問(wèn)帶來(lái)的能耗。因此,本發(fā)明具有能提高嵌入式系統(tǒng)輸入輸出處理速度和降低輸入輸出處理過(guò)程中的存儲(chǔ)訪問(wèn)功耗的特點(diǎn)。
圖I為本發(fā)明的一種方法框圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步的描述,并非對(duì)其保護(hù)范圍的限制。實(shí)施例I
一種嵌入式系統(tǒng)中基于SPM的輸入輸出緩沖實(shí)現(xiàn)方法。其具體方法如圖I所示
SPM是Scratchpad Memory的簡(jiǎn)稱,是一種片上存儲(chǔ)器,該存儲(chǔ)器在嵌入式系統(tǒng)中常被集成到嵌入式處理器上,用作快速存儲(chǔ)器。SPM具有訪問(wèn)速度快,能耗低的特點(diǎn)。根據(jù)SPM的特點(diǎn),對(duì)SPM空間進(jìn)行劃分。SPM空間為M,每個(gè)輸入輸出請(qǐng)求區(qū)域的大小為S,則劃分完成后形成的輸入輸出請(qǐng)求區(qū)域的個(gè)數(shù)η為n=M/S
輸入輸出請(qǐng)求區(qū)域Si被劃分成輸入輸出請(qǐng)求信息區(qū)RRi和輸入輸出緩沖區(qū)RBi,i均為I到η的自然數(shù),本實(shí)施例中,取n=8。因此,SI、S2、S3、……和S8表示SPM空間被劃分后所形成的8個(gè)輸入輸出請(qǐng)求區(qū)域中依次所對(duì)應(yīng)的第一個(gè)到第八個(gè)輸入輸出請(qǐng)求區(qū)域。輸入輸出請(qǐng)求區(qū)域Si被劃分成輸入輸出請(qǐng)求信息區(qū)域(Request Region,簡(jiǎn)稱RR)RRi和輸入輸出緩沖區(qū)域(Request Buffer,簡(jiǎn)稱RB)RBi。因此,輸入輸出請(qǐng)求區(qū)Si分成兩個(gè)部分輸入輸出請(qǐng)求信息區(qū)RRi和輸入輸出緩沖區(qū)RBi。這樣,對(duì)于下標(biāo)為i的輸入輸出請(qǐng)求信息區(qū)RRi和輸入輸出緩沖區(qū)RBi,它們屬于共同的輸入輸出請(qǐng)求區(qū)Si。
當(dāng)n=8時(shí),有8個(gè)輸入輸出請(qǐng)求區(qū)域,即為第一輸入輸出請(qǐng)求區(qū)域SI、第二輸入輸出請(qǐng)求區(qū)域S2、……和第八輸入輸出請(qǐng)求區(qū)域S8。其中第一輸入輸出請(qǐng)求區(qū)域SI的輸入輸出請(qǐng)求信息區(qū)域?yàn)镽R1,第一輸入輸出請(qǐng)求區(qū)域SI的輸入輸出緩沖區(qū)域?yàn)镽Bl ;第二輸入輸出請(qǐng)求區(qū)域S2的輸入輸出請(qǐng)求信息區(qū)域?yàn)镽R2,第二輸入輸出請(qǐng)求區(qū)域S2的輸入輸出緩沖區(qū)域?yàn)镽B2,……,第八輸入輸出請(qǐng)求區(qū)域S8的輸入輸出請(qǐng)求信息區(qū)域?yàn)镽R8,第八輸入輸出請(qǐng)求區(qū)域S8輸入輸出緩沖區(qū)域?yàn)镽B8。2)嵌入式操作系統(tǒng)改造
在嵌入式操作系統(tǒng)中,將輸入輸出請(qǐng)求處理代碼中原指向內(nèi)存空間作為輸入輸出緩沖的地址空間改為指向經(jīng)過(guò)劃分的SPM空間。在嵌入式操作系統(tǒng)中,通用的方法是將I/O緩沖到內(nèi)存中,如果要利用SPM空間進(jìn)行輸入輸出緩沖,需要對(duì)嵌入式操作系統(tǒng)進(jìn)行改造
首先,根據(jù)嵌入式操作系統(tǒng)的不同,從嵌入式操作系統(tǒng)的輸入輸出部分中找到緩沖區(qū)設(shè)置的部分;然后將原指向內(nèi)存空間作為輸入輸出緩沖的地址空間改為指向經(jīng)過(guò)劃分的SPM空間。在未經(jīng)過(guò)改造的嵌入式操作系統(tǒng)中,是以內(nèi)存空間作為輸入輸出緩沖區(qū),因此,其對(duì)應(yīng)的代碼也是指向劃分為輸入輸出緩沖區(qū)的內(nèi)存空間的。改造時(shí),需要改為指向經(jīng)過(guò)劃分的SPM空間。3)輸入輸出請(qǐng)求處理
對(duì)于嵌入式系統(tǒng),到達(dá)的輸入輸出請(qǐng)求是一個(gè)輸入輸出請(qǐng)求隊(duì)列R。輸入輸出請(qǐng)求Ri到達(dá)嵌入式操作系統(tǒng)后,這些請(qǐng)求信息被存放于SPM空間當(dāng)輸入輸出請(qǐng)求Ri被分配到對(duì)應(yīng)的輸入輸出請(qǐng)求區(qū)域Si,則輸入輸出請(qǐng)求Ri的請(qǐng)求信息存放在輸入輸出請(qǐng)求區(qū)域Si中的輸入輸出請(qǐng)求信息區(qū)RRi。具體的分配過(guò)程如下
(1)從輸入輸出請(qǐng)求區(qū)域中,查找出下標(biāo)最小的一個(gè)空閑輸入輸出請(qǐng)求區(qū)域Si分配給輸入輸出請(qǐng)求Ri ;
(2)輸入輸出請(qǐng)求Ri的請(qǐng)求信息被存放到輸入輸出請(qǐng)求信息區(qū)RRi;
在本實(shí)施例中,當(dāng)?shù)谒膫€(gè)輸入輸出請(qǐng)求R4到達(dá)后,分配到輸入輸出請(qǐng)求Si中按下標(biāo)最小的空閑輸入輸出請(qǐng)求區(qū)域S4。其中,第四個(gè)輸入輸出請(qǐng)求R4所具有的請(qǐng)求信息被存放到輸入輸出請(qǐng)求信息區(qū)RR4。4)輸入輸出數(shù)據(jù)緩沖
輸入輸出的處理過(guò)程中,輸入輸出數(shù)據(jù)被存放在輸入輸出請(qǐng)求區(qū)域Si的輸入輸出緩沖區(qū)RBi :輸入輸出請(qǐng)求Ri被分配到對(duì)應(yīng)的輸入輸出請(qǐng)求區(qū)域Si,則輸入輸出請(qǐng)求Ri的輸入輸出數(shù)據(jù)被存放在輸入輸出請(qǐng)求區(qū)域Si的輸入輸出緩沖區(qū)RBi。具體的分配過(guò)程如下
(1)通過(guò)輸入輸出請(qǐng)求信息區(qū)RRi找到輸入輸出請(qǐng)求Ri的輸入輸出緩沖區(qū)RBi;
(2)將輸入輸出請(qǐng)求Rm的輸入輸出數(shù)據(jù)存放到輸入輸出緩沖區(qū)RBi。通過(guò)這樣的過(guò)程,輸入輸出數(shù)據(jù)被緩沖到SPM空間,即SPM空間是輸入輸出數(shù)據(jù)的緩沖。在本實(shí)施例中,當(dāng)?shù)谒妮斎胼敵稣?qǐng)求R4到達(dá)后,通過(guò)第四輸入輸出請(qǐng)求信息區(qū)RR4找到第四輸入輸出請(qǐng)求R4的第四個(gè)輸入輸出緩沖區(qū)RB4,然后將第四輸入輸出請(qǐng)求R4的輸入輸出數(shù)據(jù)存放到第四輸入輸出緩沖區(qū)RB4。5)溢出輸入輸出數(shù)據(jù)處理
在嵌入式系統(tǒng)中,SPM是被集成在嵌入式處理器上的,由于物理?xiàng)l件的限制,SPM空間有限,當(dāng)?shù)竭_(dá)的輸入輸出請(qǐng)求數(shù)量大于輸入輸出請(qǐng)求區(qū)域個(gè)數(shù)8時(shí),就會(huì)產(chǎn)生溢出,即輸入輸出請(qǐng)求不能使用SPM空間作為緩沖,這樣的輸入輸出被稱作溢出的輸入輸出數(shù)據(jù)。當(dāng)SPM空間容量不足,到達(dá)的輸入輸出請(qǐng)求Ri不能被分配到SPM空間時(shí),這樣的輸入輸出請(qǐng)求Ri將被分配到內(nèi)存空間上;分配到內(nèi)存空間上的輸入輸出請(qǐng)求Ri的處理與以內(nèi)存空間為輸入輸出請(qǐng)求區(qū)域的輸入輸出處理方法相同;所述的以內(nèi)存空間為輸入輸出 請(qǐng)求區(qū)域的輸入輸出處理方法是指采用未經(jīng)過(guò)改造的嵌入式操作系統(tǒng)的嵌入式系統(tǒng)在處理輸入輸出請(qǐng)求Ri時(shí),以內(nèi)存空間作為輸入輸出緩沖區(qū)RBi,當(dāng)輸入輸出請(qǐng)求Ri到達(dá)時(shí)被分配到內(nèi)存空間并進(jìn)行處理的方法。在本實(shí)施例中,當(dāng)?shù)谑畟€(gè)輸入輸出請(qǐng)求RlO到達(dá)嵌入式操作系統(tǒng)后,通過(guò)對(duì)輸入輸出請(qǐng)求區(qū)域的查找,發(fā)現(xiàn)第一個(gè)輸入輸出請(qǐng)求區(qū)域SI到第八個(gè)輸入輸出請(qǐng)求區(qū)域S8均已被占用,說(shuō)明已經(jīng)沒(méi)有空閑的輸入輸出請(qǐng)求區(qū)域;此時(shí),嵌入式操作系統(tǒng)的處理程序從內(nèi)存空間中開(kāi)辟一塊空間,作為第十個(gè)輸入輸出請(qǐng)求RlO的緩沖區(qū),存放第十個(gè)輸入輸出請(qǐng)求RlO的請(qǐng)求信息和具體數(shù)據(jù),以提供給程序使用。實(shí)施例2
一種嵌入式系統(tǒng)中基于SPM的輸入輸出緩沖實(shí)現(xiàn)方法。其具體方法如圖I所示。I) SPM空間劃分
SPM是Scratchpad Memory的簡(jiǎn)稱,是一種片上存儲(chǔ)器,該存儲(chǔ)器在嵌入式系統(tǒng)中常被集成到嵌入式處理器上,用作快速存儲(chǔ)器。SPM具有訪問(wèn)速度快,能耗低的特點(diǎn)。根據(jù)SPM的特點(diǎn),對(duì)SPM空間進(jìn)行劃分。SPM空間為M,每個(gè)輸入輸出請(qǐng)求區(qū)域的大小為S,則劃分完成后形成的輸入輸出請(qǐng)求區(qū)域的個(gè)數(shù)η為n=M/S
輸入輸出請(qǐng)求區(qū)域Si被劃分成輸入輸出請(qǐng)求信息區(qū)RRi和輸入輸出緩沖區(qū)RBi,i均為I到η的自然數(shù),本實(shí)施例中,取n=256。因此,SI、S2、S3、……、S255和S256表示SPM空間被劃分后所形成的256個(gè)輸入輸出請(qǐng)求區(qū)域中依次所對(duì)應(yīng)的第一個(gè)到第二百五十六個(gè)輸入輸出請(qǐng)求區(qū)域。輸入輸出請(qǐng)求區(qū)域Si被劃分成輸入輸出請(qǐng)求信息區(qū)域(Request Region,簡(jiǎn)稱RR)RRi和輸入輸出緩沖區(qū)域(Request Buffer,簡(jiǎn)稱RB)RBi。因此,輸入輸出請(qǐng)求區(qū)Si分成兩個(gè)部分輸入輸出請(qǐng)求信息區(qū)RRi和輸入輸出緩沖區(qū)RBi。這樣,對(duì)于下標(biāo)為i的輸入輸出請(qǐng)求信息區(qū)RRi和輸入輸出緩沖區(qū)RBi,它們屬于共同的輸入輸出請(qǐng)求區(qū)Si。當(dāng)n=256時(shí),有256個(gè)輸入輸出請(qǐng)求區(qū)域,即為第一輸入輸出請(qǐng)求區(qū)域SI、第二輸
入輸出請(qǐng)求區(qū)域S2、......和第二百五十六輸入輸出請(qǐng)求區(qū)域S256。其中第一輸入輸出請(qǐng)
求區(qū)域SI的輸入輸出請(qǐng)求信息區(qū)域?yàn)镽Rl,第一輸入輸出請(qǐng)求區(qū)域SI輸入輸出緩沖區(qū)域?yàn)镽Bl ;第二輸入輸出請(qǐng)求區(qū)域S2的輸入輸出請(qǐng)求信息區(qū)域?yàn)镽R2,第二輸入輸出請(qǐng)求區(qū)域S2的輸入輸出緩沖區(qū)域?yàn)镽B2,……,第二百五十六輸入輸出請(qǐng)求區(qū)域S256的輸入輸出請(qǐng)求信息區(qū)域?yàn)镽R256,第二百五十六輸入輸出請(qǐng)求區(qū)域S256的輸入輸出緩沖區(qū)域?yàn)镽B256。2)嵌入式操作系統(tǒng)改造與實(shí)施例I中的“2)嵌入式操作系統(tǒng)改造”相同。3)輸入輸出請(qǐng)求處理
對(duì)于嵌入式系統(tǒng),到達(dá)的輸入輸出請(qǐng)求是一個(gè)輸入輸出請(qǐng)求隊(duì)列R。輸入輸出請(qǐng)求Ri到達(dá)嵌入式操作系統(tǒng)后,這些請(qǐng)求信息被存放于SPM空間當(dāng)輸入輸出請(qǐng)求Ri被分配到對(duì)應(yīng)的輸入輸出請(qǐng)求區(qū)域Si,則輸入輸出請(qǐng)求Ri的請(qǐng)求信息存放在輸入輸出請(qǐng)求區(qū)域Si中的輸入輸出請(qǐng)求信息區(qū)RRi。具體的分配過(guò)程如下
(1)從輸入輸出請(qǐng)求區(qū)域中,查找出下標(biāo)最小的一個(gè)空閑輸入輸出請(qǐng)求區(qū)域Si分配給輸入輸出請(qǐng)求Ri ;
(2)輸入輸出請(qǐng)求Ri的請(qǐng)求信息被存放到輸入輸出請(qǐng)求信息區(qū)RRi;
在本實(shí)施例中,當(dāng)輸入輸出請(qǐng)求R128到達(dá)后,分配到Si中按下標(biāo)最小的空閑輸入輸出·請(qǐng)求區(qū)域S128。其中,R128所具有的請(qǐng)求信息被存放到輸入輸出請(qǐng)求信息區(qū)RR128。4)輸入輸出數(shù)據(jù)緩沖
輸入輸出的處理過(guò)程中,輸入輸出數(shù)據(jù)被存放在輸入輸出請(qǐng)求區(qū)域Si的輸入輸出緩沖區(qū)RBi :輸入輸出請(qǐng)求Ri被分配到對(duì)應(yīng)的輸入輸出請(qǐng)求區(qū)域Si,則輸入輸出請(qǐng)求Ri的輸入輸出數(shù)據(jù)被存放在輸入輸出請(qǐng)求區(qū)域Si的輸入輸出緩沖區(qū)RBi。具體的分配過(guò)程如下
(1)通過(guò)輸入輸出請(qǐng)求信息區(qū)RRi找到輸入輸出請(qǐng)求Ri的輸入輸出緩沖區(qū)RBi;
(2)將輸入輸出請(qǐng)求Ri的輸入輸出數(shù)據(jù)存放到輸入輸出緩沖區(qū)RBi。通過(guò)這樣的過(guò)程,輸入輸出數(shù)據(jù)被緩沖到SPM空間,即SPM空間是輸入輸出數(shù)據(jù)的緩沖。在本實(shí)施例中,當(dāng)輸入輸出請(qǐng)求R128到達(dá)后,通過(guò)輸入輸出請(qǐng)求信息區(qū)RR128找到Rl 28的輸入輸出緩沖區(qū)RB 128,然后將Rl 28的輸入輸出數(shù)據(jù)存放到RB 128。5)溢出輸入輸出數(shù)據(jù)處理
在嵌入式系統(tǒng)中,SPM是被集成在嵌入式處理器上的,由于物理?xiàng)l件的限制,SPM空間有限,當(dāng)?shù)竭_(dá)的輸入輸出請(qǐng)求數(shù)量大于輸入輸出請(qǐng)求區(qū)域個(gè)數(shù)8時(shí),就會(huì)產(chǎn)生溢出,即輸入輸出請(qǐng)求不能使用SPM空間作為緩沖,這樣的輸入輸出被稱作溢出的輸入輸出數(shù)據(jù)。當(dāng)SPM空間容量不足,到達(dá)的輸入輸出請(qǐng)求Ri不能被分配到SPM空間時(shí),這樣的輸入輸出請(qǐng)求Ri將被分配到內(nèi)存空間上;分配到內(nèi)存空間上的輸入輸出請(qǐng)求Ri的處理與以內(nèi)存空間為輸入輸出請(qǐng)求區(qū)域的輸入輸出處理方法相同;所述的以內(nèi)存空間為輸入輸出請(qǐng)求區(qū)域的輸入輸出處理方法是指采用未經(jīng)過(guò)改造的嵌入式操作系統(tǒng)的嵌入式系統(tǒng)在處理輸入輸出請(qǐng)求Ri時(shí),以內(nèi)存空間作為輸入輸出緩沖區(qū)RBi,當(dāng)輸入輸出請(qǐng)求Ri到達(dá)時(shí)被分配到內(nèi)存空間并進(jìn)行處理的方法。在本實(shí)施例中,當(dāng)?shù)谌倨呤膫€(gè)輸入輸出請(qǐng)求R374到達(dá)嵌入式操作系統(tǒng)后,通過(guò)對(duì)輸入輸出請(qǐng)求區(qū)域的查找,發(fā)現(xiàn)發(fā)現(xiàn)第一輸入輸出請(qǐng)求區(qū)域Si到第二百五十六輸入輸出請(qǐng)求區(qū)域S256均已被占用,說(shuō)明已經(jīng)沒(méi)有空閑的輸入輸出請(qǐng)求區(qū)域;此時(shí),嵌入式操作系統(tǒng)的處理程序從內(nèi)存空間中開(kāi)辟一塊空間,作為R374的緩沖區(qū),存放第三百七十四個(gè)輸入輸出請(qǐng)求R374的請(qǐng)求信息和具體數(shù)據(jù),提供給程序使用。本具體實(shí)施方式
是一種嵌入式系統(tǒng)中基于SPM的輸入輸出緩沖實(shí)現(xiàn)方法,其主要功能是結(jié)合SPM位于嵌入式處理器片上的特點(diǎn),將SPM空間作為輸入輸出的緩沖。本方法實(shí)現(xiàn)了對(duì)SPM的有效使用,充分利用了 SPM速度快的特點(diǎn),提高了輸入輸出的效率。本具體實(shí)施方式
對(duì)SPM的使用,有利于在運(yùn)行時(shí)減少嵌入式系統(tǒng)中由于輸入輸出對(duì)存儲(chǔ)的訪問(wèn)帶來(lái)的能耗,具有如下積極效果
(I)速度快。本具體實(shí)施方式
充分利用了 SPM速度快的特點(diǎn),提高了嵌入式系統(tǒng)中輸入輸出的效率;本具體實(shí)施方式
實(shí)現(xiàn)了對(duì)SPM的有效使用,由于SPM較之DRAM訪問(wèn)速度更快,速度差距達(dá)到10倍以上。(2)能耗低。本具體實(shí)施方式
對(duì)SPM的使用,是通過(guò)SPM來(lái)進(jìn)行輸入輸出的緩沖,相較DRAM的輸入輸出緩沖方法,SPM的訪問(wèn)能耗更低,有利于降低輸入輸出對(duì)存儲(chǔ)的訪問(wèn)帶來(lái)的能耗。因此,本具體實(shí)施方式
具有能提高嵌入式系統(tǒng)輸入輸出處理速度和降低輸入輸出 處理過(guò)程中的存儲(chǔ)訪問(wèn)功耗的特點(diǎn)。
權(quán)利要求
1.一種嵌入式系統(tǒng)中基于SPM的輸入輸出緩沖實(shí)現(xiàn)方法,其特征在于 O SPM空間劃分 SPM空間為M,每個(gè)輸入輸出請(qǐng)求區(qū)域的大小為S,則劃分完成后形成的輸入輸出請(qǐng)求區(qū)域的個(gè)數(shù)η為n=M/S 輸入輸出請(qǐng)求區(qū)域Si被劃分成輸入輸出請(qǐng)求信息區(qū)RRi和輸入輸出緩沖區(qū)RBi,i均為I到η的自然數(shù); 2)嵌入式操作系統(tǒng)改造 在嵌入式操作系統(tǒng)中,將輸入輸出請(qǐng)求處理代碼中原指向內(nèi)存空間作為輸入輸出緩沖的地址空間改為指向經(jīng)過(guò)劃分的SPM空間; 3)輸入輸出請(qǐng)求處理 輸入輸出請(qǐng)求Ri到達(dá)嵌入式操作系統(tǒng)后,這些請(qǐng)求信息被存放于SPM空間當(dāng)輸入輸出請(qǐng)求Ri被分配到對(duì)應(yīng)的輸入輸出請(qǐng)求區(qū)域Si,則輸入輸出請(qǐng)求Ri的請(qǐng)求信息存放在輸入輸出請(qǐng)求區(qū)域Si中的輸入輸出請(qǐng)求信息區(qū)RRi ; 4)輸入輸出數(shù)據(jù)緩沖 輸入輸出的處理過(guò)程中,輸入輸出數(shù)據(jù)被存放在輸入輸出請(qǐng)求區(qū)域Si的輸入輸出緩沖區(qū)RBi :輸入輸出請(qǐng)求Ri被分配到對(duì)應(yīng)的輸入輸出請(qǐng)求區(qū)域Si,則輸入輸出請(qǐng)求Ri的輸入輸出數(shù)據(jù)被存放在輸入輸出請(qǐng)求區(qū)域Si的輸入輸出緩沖區(qū)RBi ; 5)溢出輸入輸出數(shù)據(jù)處理 當(dāng)SPM空間容量不足,到達(dá)的輸入輸出請(qǐng)求Ri不能被分配到SPM空間時(shí),這樣的輸入輸出請(qǐng)求Ri將被分配到內(nèi)存空間上;分配到內(nèi)存空間上的輸入輸出請(qǐng)求Ri的處理與以內(nèi)存空間為輸入輸出請(qǐng)求區(qū)域的輸入輸出處理方法相同;所述以內(nèi)存空間為輸入輸出請(qǐng)求區(qū)域的輸入輸出處理方法是指采用未經(jīng)過(guò)改造的嵌入式操作系統(tǒng)的嵌入式系統(tǒng)在處理輸入輸出請(qǐng)求Ri時(shí),以內(nèi)存空間作為輸入輸出緩沖區(qū)RBi,當(dāng)輸入輸出請(qǐng)求Ri到達(dá)時(shí)被分配到內(nèi)存空間并進(jìn)行處理的方法。
全文摘要
本發(fā)明涉及一種嵌入式系統(tǒng)中基于SPM的輸入輸出緩沖實(shí)現(xiàn)方法。其技術(shù)方案是對(duì)SPM空間劃分成n個(gè)輸入輸出請(qǐng)求區(qū)域;再對(duì)嵌入式操作系統(tǒng)進(jìn)行改造,將輸入輸出請(qǐng)求Ri處理代碼中原指向內(nèi)存空間作為輸入輸出緩沖的地址空間改為指向經(jīng)劃分的SPM空間。當(dāng)輸入輸出請(qǐng)求Ri達(dá)到嵌入式操作系統(tǒng),請(qǐng)求信息被存放于SPM空間中對(duì)應(yīng)的輸入輸出請(qǐng)求信息區(qū)RRi,輸入輸出數(shù)據(jù)被存放于對(duì)應(yīng)的輸入輸出緩沖區(qū)RBi;當(dāng)存在輸入輸出數(shù)據(jù)溢出時(shí),輸入輸出請(qǐng)求Ri被分配到內(nèi)存空間上,其處理方法與以內(nèi)存空間為輸入輸出請(qǐng)求區(qū)域的輸入輸出處理方法相同。本發(fā)明能提高嵌入式系統(tǒng)輸入輸出處理速度和降低輸入輸出處理過(guò)程中的存儲(chǔ)訪問(wèn)功耗。
文檔編號(hào)G06F1/32GK102890658SQ20121044057
公開(kāi)日2013年1月23日 申請(qǐng)日期2012年11月7日 優(yōu)先權(quán)日2012年11月7日
發(fā)明者胡威, 張凱, 陳建勛, 劉小明, 劉俊, 郭宏, 鄒代坤, 袁知輝, 彭智偉, 李寧 申請(qǐng)人:武漢科技大學(xué)