嵌入式片上存儲(chǔ)器有效使用的方法
①兩變量位于DARAM塊內(nèi)或者兩變量位于不同的塊內(nèi),記為條件A(這是由SARAM塊或者DARAM塊訪問能力產(chǎn)生的限制);②兩變量位于不同的塊內(nèi),記為條件B(這是由CPU總線的特殊結(jié)構(gòu)產(chǎn)生的限制)。其中條件A中的兩變量可在同一DARAM塊內(nèi);或者不同的SARAM塊內(nèi);或者一個(gè)變量在DARAM內(nèi),另一個(gè)在SARAM內(nèi)。條件B指的是兩變量在不同的DARAM塊內(nèi);或者在不同的SARAM塊內(nèi);或者一個(gè)變量在DARAM塊內(nèi),另一個(gè)在SARAM塊內(nèi)。條件A可看成是兩種條件的邏輯“或”關(guān)系:
A=B Or C
其中,條件C定義為兩變量都位于DARAM塊內(nèi)。循環(huán)中的操作數(shù)一般表現(xiàn)為矩陣的一個(gè)元素,在一個(gè)應(yīng)用程序中,通常有多個(gè)矩陣,矩陣中的元素應(yīng)同時(shí)滿足多個(gè)上述基本條件。當(dāng)矩陣較多,限制條件復(fù)雜時(shí)??梢?a class="contentlabel" href="http://2s4d.com/news/listbylabel/label/使用">使用計(jì)算機(jī)求解數(shù)據(jù)存儲(chǔ)器分配,以滿足矩陣訪問不產(chǎn)生延遲的條件。在這里,只需要求出滿足條件的一個(gè)解,并不需要求出所有可能的解,因而對(duì)求解問題做一定的簡(jiǎn)化。
設(shè)x、y分別是矩陣X、Y的某一個(gè)元素,X、Y位于不同的塊內(nèi)是x、y位于不同的塊內(nèi)的充分條件;同樣X、Y都位于DARAM內(nèi)或者不同的塊內(nèi)是x、y都位于DARAM內(nèi)或者不同的塊內(nèi)的充分條件。例如,X位于DARAM塊,Y矩陣部分位于與X相同的DARAM內(nèi),其余位于SARAM內(nèi),也能使x、y滿足條件A。
例如:N個(gè)矩陣需要同時(shí)滿足N1個(gè)A類條件和N2個(gè)B類條件。從每個(gè)A類條件中任選一個(gè)條件(B或者C),最多有2N1個(gè)組合。每種組合與N2個(gè)B類條件聯(lián)立求解,其中某些組合可能沒有解,任意一個(gè)解都能滿足不產(chǎn)生延遲的條件。這時(shí)任何一種組合中可能包含M(O≤M≤N1)個(gè)C類條件,其余的為B類條件。
C類條件是兩個(gè)矩陣必須在DARAM塊,將需要滿足C類條件的所有矩陣存儲(chǔ)器的大小相加,相同的矩陣不重復(fù)累加,結(jié)果為需要分配到DARAM的矩陣總數(shù)量。當(dāng)結(jié)果超過可得到的片上DARAM數(shù)量時(shí),這種條件組合下就沒有解。
每個(gè)B類條件要求某兩個(gè)矩陣必須在不同的塊內(nèi),由于存在多個(gè)B類條件,事實(shí)上可能要求多個(gè)矩陣相互不在同一個(gè)塊內(nèi)。例如,要求矩陣A1和A2不在同一塊內(nèi),矩陣A3和A1不在同一塊內(nèi),矩陣A3和A2不在同一塊內(nèi),這實(shí)際上是要求A1、A2、A3相互不在同一塊內(nèi)。若有一組矩陣,其中任何兩個(gè)矩陣都必須分配在不同的存儲(chǔ)器塊內(nèi),稱為“B類約束矩陣組”。若不存在一個(gè)矩陣,要求與某個(gè)B類約束矩陣組中的所有矩陣都存在B類約束關(guān)系,則稱這個(gè)組為“最大B類約束矩陣組”。最大B類約束條件矩陣組中的矩陣數(shù)目就是分配這些矩陣所需的最少的存儲(chǔ)器塊數(shù)。把矩陣數(shù)最多的最大組中的各個(gè)矩陣分配到不同的存儲(chǔ)器塊中,然后按照B類約束矩陣組中矩陣數(shù)從多到少的順序分配這個(gè)組中尚未分配的矩陣,對(duì)于具有相同矩陣數(shù)的組,則先分配未分配矩陣較少的B類約束矩陣組中的矩陣,若B類約束的矩陣同時(shí)存在C類限制,則分配到DARAM上;否則優(yōu)先分配到SARAM上。若SARAM上沒有足夠的空間,再分配到DARAM上。最后在DARAM 上分配C類約束條件中的尚未分配的矩陣。
3 總結(jié)
上述數(shù)據(jù)存儲(chǔ)器的分配方法只考慮了C55x中數(shù)據(jù)分配的主要方面,還有一些因素尚未涉及。例如長(zhǎng)整型數(shù)據(jù)的分配就必須考慮數(shù)據(jù)存儲(chǔ)器地址的對(duì)齊問題,這時(shí)數(shù)據(jù)分配的求解變得更加復(fù)雜??梢詫⒕仃嚩陶偷膫€(gè)數(shù)規(guī)定為偶數(shù),以簡(jiǎn)化對(duì)齊問題,所以卜述求解方法仍具有普遍的實(shí)用意義。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論