專利名稱:一種soc內(nèi)的系統(tǒng)架構(gòu)內(nèi)的硬件資源的復(fù)用方法
技術(shù)領(lǐng)域:
本發(fā)明涉及SOC集成電路設(shè)計領(lǐng)域,主要是一種SOC內(nèi)的系統(tǒng)架構(gòu)內(nèi)的硬件資源的復(fù)用方法。
背景技術(shù):
目前市場上的SOC相關(guān)芯片越來越多,競爭比較激烈,市場也比較多變,用戶的需求也各不相同,SOC設(shè)計的廠家在定義芯片要求的時候,都在追求在降低芯片成本的情況下,滿足更多的用戶需求,基于此點,要求設(shè)計人員更好的利于好SOC內(nèi)部的硬件資源(內(nèi)部資源的擴大,對應(yīng)的是芯片成本的增大),利用SOC內(nèi)嵌的處理器的架構(gòu)特點,做出更好的滿足市場需求的芯片。SOC芯片的存儲器資源一般包括R0M,RAM, SDRAM, flash等。 從系統(tǒng)的機構(gòu)上來說,如果這些存儲單元通過cache機制來實現(xiàn)和CPU的交互,每次cache的更新對應(yīng)的操作時I個或者幾個cache-line的操作,總線的速度也會限制和CPU之間交互的速度。這些存儲器單元中,ROM (只能夠讀),RAM的讀寫速度最高,SDRAM和flash的速度都要慢一些,所以用戶使用的時候?qū)λ俣纫蟊容^高的代碼放在ROM或者是RAM(ICCM)中,ROM是在芯片生產(chǎn)的時候就固定了,用戶在基于芯片做開發(fā)的時候不能修改,只能調(diào)用ROM里面的程序。數(shù)據(jù)放在系統(tǒng)總線上的flash或者RAM等其他存儲單元,CPU對其操作的速度更慢。COrdis5+處理器是的架構(gòu)提供了一種數(shù)據(jù)和程序的快速訪問通道,訪問程序(RAM或者是ROM作為程序存儲空間)和數(shù)據(jù)(RAM作為數(shù)據(jù)存儲空間)都可以在一個時鐘周期內(nèi)送到CPU的流水線上.對應(yīng)的代碼和數(shù)據(jù)的位置分別在ICCM和DCCM中,對速度要求不高的可以通過cache來實現(xiàn)CPU和住存儲器之間的數(shù)據(jù)交互。目前市場上根據(jù)現(xiàn)有的存儲器的結(jié)構(gòu)方法,用戶可以構(gòu)建適合自己產(chǎn)品的SOC的存儲器體系,指令系統(tǒng)和數(shù)據(jù)系統(tǒng)里面的RAM,CPU對其訪問周期都是一個時鐘,根據(jù)芯片的應(yīng)用對速度的要求程度可以靈活配置。常用的配置有配置一沒有指令系統(tǒng)和數(shù)據(jù)系統(tǒng),所有的取指和對數(shù)據(jù)的訪問都通過總線接口對外部存儲器的訪問來操作。配置二 指令系統(tǒng)中搭配Ι-Cache,數(shù)據(jù)系統(tǒng)中搭配D-Cache,相關(guān)的訪問都是通過總線來訪問外部存儲器;對應(yīng)的Cache的size的大小可以更具應(yīng)用的需要配置。配置三指令系統(tǒng)中搭配ICCM ;數(shù)據(jù)系統(tǒng)中配置DCCM ;對應(yīng)的CCM的size的大小可以更具應(yīng)用的需要配置。配置四指令系統(tǒng)中搭配I-Cache,ICCM ;數(shù)據(jù)系統(tǒng)中配置D-Cache,DCCM ;對應(yīng)的Cache和CCM的size的大小可以更具應(yīng)用的需要配置。上述的幾種配置方法是一些比較典型的配置方法,用戶可以根據(jù)需求靈活的選取CCM或者Cache,對應(yīng)的size的大小也可以靈活配置。但此架構(gòu)中ICCM只能夠存放指令代碼,DCCM只能作為數(shù)據(jù)空間使用,這樣限制了用戶對內(nèi)部硬件資源的使用。這種結(jié)構(gòu)能夠很好的滿足對速度要求高的應(yīng)用,但是對應(yīng)用速度比較低的應(yīng)用,這種配置比較浪費,如何能否合理的利用這些內(nèi)部資源就是本發(fā)明研究的重點。例如對指令的運行速度要求不高,利用I-Cache能滿足要求,但是對數(shù)據(jù)空間的size要求比較大,同時期望對CPU的數(shù)據(jù)空間的訪問要快,如果采用現(xiàn)在的結(jié)構(gòu),發(fā)現(xiàn)ICCM可以不用,SOC自帶的D-Cache和DCCM都不能滿足要求,D-Cache刷新cache-line的時間比較長,DCCM的size有限,不能夠滿足應(yīng)用要求,這些就給系統(tǒng)應(yīng)用帶來了麻煩。本發(fā)明正是基于這些應(yīng)用,靈活的調(diào)整內(nèi)部的硬件資源來更好的滿足應(yīng)用的需求。不同的應(yīng)用開發(fā),對CPU性能的要求有區(qū)別對速度要求低的用戶,程序可以靈活的安排位置,可以放在外部的flash中;對速度要求高的應(yīng)用,程序就必須要放在內(nèi)部的RAM中.不同的應(yīng)用,對CPU的內(nèi)部的資源安排有區(qū)別,為了協(xié)調(diào)這些應(yīng)用,同時為了避免SOC芯片內(nèi)部存儲器資源的浪費,本發(fā)明采用系統(tǒng)架構(gòu)中資源復(fù)用的方法來實現(xiàn)用戶靈活的調(diào)配SOC內(nèi)部的資源。
發(fā)明內(nèi)容
本發(fā)明的目的是克服上述技術(shù)的不足,而提供一種SOC內(nèi)的系統(tǒng)架構(gòu)內(nèi)的硬件資源的復(fù)用方法,本發(fā)明通過信號的控制來實現(xiàn)轉(zhuǎn)換系統(tǒng)默認的存儲器的架構(gòu),以達到在對應(yīng)用速度比較低的情況下,可以有效地合理利用內(nèi)部的硬件資源,滿足系統(tǒng)的應(yīng)用需求的目的。本發(fā)明采用的技術(shù)方案這種SOC內(nèi)的系統(tǒng)架構(gòu)內(nèi)的硬件資源的復(fù)用方法,主要包含下列步驟(I)、SOC存儲器體系架構(gòu)在I-cache已經(jīng)能滿足應(yīng)用需求,但是DCCM空間不足的情況時,通過控制信號的選擇,把本作為代碼空間的ICCM完整的合并到數(shù)據(jù)系統(tǒng)的DCCM的空間,地址能夠和DCCM完整的對接上,不出現(xiàn)地址的不連續(xù);(2)、SOC存儲器體系架構(gòu)在D-cache已經(jīng)能滿足應(yīng)用需求,但是ICCM空間不足的情況時,通過控制信號的選擇,把本作為數(shù)據(jù)空間的DCCM完整的合并到指令系統(tǒng)的ICCM的空間,地址能夠和ICCM完整的對接上,不出現(xiàn)地址的不連續(xù);(3)、SOC存儲器體系架構(gòu)在I-cache和D-cache已經(jīng)能滿足應(yīng)用需求,通過控制信號把ICCM和DCCM的地址空間實現(xiàn)和Memory controller下面的RAM完整對接,地址連續(xù);這樣用戶可以靈活的在這樣一個大的RAM上分配代碼或者數(shù)據(jù)空間,方便應(yīng)用開發(fā)。(4)、當(dāng)系統(tǒng)對指令或者數(shù)據(jù)訪問有特殊的速度需求時,也能夠只把ICCM的RAM復(fù)用到Memory controller下面的RAM位置;(5)、當(dāng)系統(tǒng)對指令或者數(shù)據(jù)訪問有特殊的速度需求時,也能夠只把DCCM的RAM復(fù)用到Memory controller下面的RAM位置。所述的系統(tǒng)默認的SOC存儲器體系架構(gòu),主要包括CPU(c0rdis5+),指令系統(tǒng)和數(shù)據(jù)系統(tǒng),總線接口,內(nèi)存控制器,RAM及其他存儲器。所述的控制信號能夠?qū)崿F(xiàn)系統(tǒng)默認的存儲器的架構(gòu)轉(zhuǎn)換,能夠用寄存器信號控制或者芯片外部的引腳控制。本發(fā)明有益的效果本發(fā)明通過上述步驟可以靈活的調(diào)整內(nèi)部的硬件資源來更好的滿足系統(tǒng)應(yīng)用的需求,提供了一種可復(fù)用的系統(tǒng)架構(gòu)調(diào)制機制。采用這種系統(tǒng)架構(gòu)調(diào)制機制,可以減少CPU內(nèi)部資源的浪費,更有效地利用系統(tǒng)資源。
圖I是系統(tǒng)默認SOC存儲器體系架構(gòu)。圖2是本發(fā)明方法的步驟I存儲器架構(gòu)轉(zhuǎn)換圖。圖3是本發(fā)明方法的步驟2存儲器架構(gòu)轉(zhuǎn)換圖。圖4是本發(fā)明方法的步驟3存儲器架構(gòu)轉(zhuǎn)換圖。圖5是本發(fā)明方法的步驟4存儲器架構(gòu)轉(zhuǎn)換圖。
圖6是本發(fā)明方法的步驟5存儲器架構(gòu)轉(zhuǎn)換圖。
具體實施例方式下面結(jié)合附圖和實施例作進一步的說明。圖I是本發(fā)明所述的系統(tǒng)默認的SOC存儲器體系架構(gòu),主要包括CPU(cordiS5+),指令系統(tǒng)和數(shù)據(jù)系統(tǒng),總線接口,內(nèi)存控制器,RAM及其他存儲器。圖2是系統(tǒng)在I-cache已經(jīng)能滿足應(yīng)用需求,但是DCCM空間不足的情況時,通過控制信號的選擇,把本作為代碼空間的ICCM完整的合并到數(shù)據(jù)系統(tǒng)的DCCM的空間(地址能夠和DCCM完整的對接上,不出現(xiàn)地址的不連續(xù))的存儲器架構(gòu)轉(zhuǎn)換圖。圖3是系統(tǒng)在D-cache已經(jīng)能滿足應(yīng)用需求,但是ICCM空間不足的情況時,通過控制信號的選擇,把本作為數(shù)據(jù)空間的DCCM可以完整的合并到指令系統(tǒng)的ICCM的空間(地址能夠和ICCM完整的對接上,不出現(xiàn)地址的不連續(xù))的存儲器架構(gòu)轉(zhuǎn)換圖。圖4是系統(tǒng)在I-cache和D-cache已經(jīng)能滿足應(yīng)用需求,通過控制彳目號把ICCM和DCCM的地址空間實現(xiàn)和Memory controller下面的RAM完整對接(地址連續(xù))的存儲器架構(gòu)轉(zhuǎn)換圖,這樣用戶可以靈活的在這樣一個大的RAM上分配代碼或者數(shù)據(jù)空間,方便應(yīng)用開發(fā)。圖5是在系統(tǒng)對指令或者數(shù)據(jù)訪問有特殊的速度需求時,只將ICCM的RAM復(fù)用到Memory controller下面的RAM位置的存儲器架構(gòu)轉(zhuǎn)換圖。圖6是在系統(tǒng)對指令或者數(shù)據(jù)訪問有特殊的速度需求時,只將DCCM的RAM復(fù)用到Memory controller下面的RAM位置的存儲器架構(gòu)轉(zhuǎn)換圖。本發(fā)明上述幾種硬件資源的調(diào)配方法的控制信號可以用寄存器信號控制或者是芯片外部的引腳控制。本發(fā)明利用芯片內(nèi)部寄存器控制,設(shè)置寄存器SYS_MEM_C0NFIG[2:0]BIT[2:0] 0x0:系統(tǒng)默認的配置方法,如圖I對應(yīng)的配置結(jié)構(gòu)0x1:系統(tǒng)的存儲器的配置按照圖2對應(yīng)的結(jié)構(gòu)調(diào)整0x2:系統(tǒng)的存儲器的配置按照圖3對應(yīng)的結(jié)構(gòu)調(diào)整0x3:系統(tǒng)的存儲器的配置按照圖4對應(yīng)的結(jié)構(gòu)調(diào)整0x4:系統(tǒng)的存儲器的配置按照圖5對應(yīng)的結(jié)構(gòu)調(diào)整0x5:系統(tǒng)的存儲器的配置按照圖6對應(yīng)的結(jié)構(gòu)調(diào)整本發(fā)明也可以利用外部不同的PAD來控制配置內(nèi)部不同的RAM,這樣可以封裝成不同的芯片。利用芯片外部的控制引腳P_C0NFIG[2:0]P_C0NFIG[2:0] 0x0:系統(tǒng)默認的配置方法,如圖I對應(yīng)的配置結(jié)構(gòu)0x1:系統(tǒng)的存儲器的配置按照圖2對應(yīng)的結(jié)構(gòu)調(diào)整0x2:系統(tǒng)的存儲器的配置按照圖3對應(yīng)的結(jié)構(gòu)調(diào)整0x3:系統(tǒng)的存儲器的配置按照圖4對應(yīng)的結(jié)構(gòu)調(diào)整0x4:系統(tǒng)的存儲器的配置按照圖5對應(yīng)的結(jié)構(gòu)調(diào)整0x5:系統(tǒng)的存儲器的配置按照圖6對應(yīng)的結(jié)構(gòu)調(diào)整術(shù)語解釋S0C:片上系統(tǒng),片上系統(tǒng)內(nèi)部包含CPU,存儲器,控制器接口等資源。ROM:只讀存儲器,一種只能讀出事先所存數(shù)據(jù)的固態(tài)半導(dǎo)體存儲器。RAM :隨機存取存儲器,可以在一個時鐘周期內(nèi)實現(xiàn)讀寫操作。數(shù)據(jù)緩存(D-Cache):嵌入式芯片中的系統(tǒng)架構(gòu)中一般會有帶數(shù)據(jù)緩存,數(shù)據(jù)緩存是介于處理器和內(nèi)存之間的臨時數(shù)據(jù)存儲器,一般容量比較小,但是數(shù)據(jù)訪問速度快,當(dāng)處理器需要大量的訪問系統(tǒng)總線下掛接的數(shù)據(jù)內(nèi)存的時候,處理器會根據(jù)數(shù)據(jù)緩存中存儲的數(shù)據(jù)狀況決定是否需要每次都訪問內(nèi)存,如果內(nèi)存中的數(shù)據(jù)已經(jīng)在數(shù)據(jù)緩存中會直接讀取數(shù)據(jù)緩存中的數(shù)據(jù)。指令緩存(I-Cache):指令緩存的位置和作用基本等同于數(shù)據(jù)緩存,不同之處是指令緩存是用來存儲指令代碼的。ICCM:用于存儲指令代碼,和CPU的流水線緊密結(jié)合,到CPU需要一個時鐘周期,CPU不能直接對其執(zhí)行寫操作,在SOC的芯片中以RAM的形式存在。DCCM:用于存儲數(shù)據(jù),不能用作代碼空間,和CPU的流水線緊密結(jié)合,到CPU需要一個時鐘周期,在SOC的芯片中以RAM的形式存在。Cordis 5+:32位的精簡指令處理器。哈佛結(jié)構(gòu)一種將程序指令存儲和數(shù)據(jù)存儲分開的存儲器結(jié)構(gòu)。CPU的流水線CPU的命令執(zhí)行分成多個步驟,嵌入式處理器采用的流水的步驟差別不大,主要要取指,解碼,取數(shù),執(zhí)行,寫回等步驟。Cache-line:主存和cache之間數(shù)據(jù)傳輸?shù)淖钚挝?。每次CPU訪問內(nèi)存時,以Cache Line為單位,請求一個或多個Cache Line。除上述實施例外,凡采用等同替換或等效變換形成的技術(shù)方案,均落在本發(fā)明要求的保護范圍。
權(quán)利要求
1.一種SOC內(nèi)的系統(tǒng)架構(gòu)內(nèi)的硬件資源的復(fù)用方法,其特征在于主要包含下列步驟 (1)、SOC存儲器體系架構(gòu)在I-cache已經(jīng)能滿足應(yīng)用需求,但是DCCM空間不足的情況時,通過控制信號的選擇,把本作為代碼空間的ICCM完整的合并到數(shù)據(jù)系統(tǒng)的DCCM的空間,地址能夠和DCCM完整的對接上,不出現(xiàn)地址的不連續(xù); (2)、SOC存儲器體系架構(gòu)在D-cache已經(jīng)能滿足應(yīng)用需求,但是ICCM空間不足的情況時,通過控制信號的選擇,把本作為數(shù)據(jù)空間的DCCM完整的合并到指令系統(tǒng)的ICCM的空間,地址能夠和ICCM完整的對接上,不出現(xiàn)地址的不連續(xù); (3)、SOC存儲器體系架構(gòu)在I-cache和D-cache已經(jīng)能滿足應(yīng)用需求,通過控制信號把ICCM和DCCM的地址空間實現(xiàn)和Memory controller下面的RAM完整對接,地址連續(xù); (4)、當(dāng)系統(tǒng)對指令或者數(shù)據(jù)訪問有特殊的速度需求時,也能夠只把ICCM的RAM復(fù)用到Memory controller 下面的 RAM 位置; (5)、當(dāng)系統(tǒng)對指令或者數(shù)據(jù)訪問有特殊的速度需求時,也能夠只把DCCM的RAM復(fù)用到Memory controller 下面的 RAM 位置。
2.根據(jù)權(quán)利要求I所述的SOC內(nèi)的系統(tǒng)架構(gòu)內(nèi)的硬件資源的復(fù)用方法,其特征在于所述的系統(tǒng)默認的SOC存儲器體系架構(gòu),主要包括CPU,指令系統(tǒng)和數(shù)據(jù)系統(tǒng),總線接口,內(nèi)存控制器,RAM及其他存儲器。
3.根據(jù)權(quán)利要求I所述的SOC內(nèi)的系統(tǒng)架構(gòu)內(nèi)的硬件資源的復(fù)用方法,其特征在于所述的控制信號能夠?qū)崿F(xiàn)系統(tǒng)默認的存儲器的架構(gòu)轉(zhuǎn)換,能夠用寄存器信號控制或者芯片外部的引腳控制。
全文摘要
本發(fā)明涉及一種SOC內(nèi)的系統(tǒng)架構(gòu)內(nèi)的硬件資源的復(fù)用方法,SOC存儲器體系架構(gòu)在I-cache已經(jīng)能滿足應(yīng)用需求,把本作為代碼空間的ICCM完整的合并到數(shù)據(jù)系統(tǒng)的DCCM的空間;SOC存儲器體系架構(gòu)在D-cache已經(jīng)能滿足應(yīng)用需求,把本作為數(shù)據(jù)空間的DCCM完整的合并到指令系統(tǒng)的ICCM的空間;SOC存儲器體系架構(gòu)在I-cache和D-cache已經(jīng)能滿足應(yīng)用需求,通過控制信號把ICCM和DCCM的地址空間實現(xiàn)和Memory controller下面的RAM完整對接,地址連續(xù)。本發(fā)明的有益效果是本發(fā)明通過上述步驟可以靈活的調(diào)整內(nèi)部的硬件資源來更好的滿足系統(tǒng)應(yīng)用的需求,提供了一種可復(fù)用的系統(tǒng)架構(gòu)調(diào)制機制。采用這種系統(tǒng)架構(gòu)調(diào)制機制,可以減少CPU內(nèi)部資源的浪費,更有效地利用系統(tǒng)資源。
文檔編號G06F15/76GK102915293SQ201210314998
公開日2013年2月6日 申請日期2012年8月30日 優(yōu)先權(quán)日2012年8月30日
發(fā)明者夏軍虎 申請人:杭州晟元芯片技術(shù)有限公司