專利名稱:可擴(kuò)展的層次化嵌入式cpu存儲(chǔ)器系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式處理器領(lǐng)域,尤其是一種嵌入式CPU存儲(chǔ)器系統(tǒng)。
背景技術(shù):
儲(chǔ)器系統(tǒng)是計(jì)算機(jī)體系結(jié)構(gòu)的核心組成之一,特別是對(duì)于嵌入式CPU,指令和數(shù)據(jù)的存儲(chǔ)加載過(guò)程已經(jīng)成為嵌入式CPU性能提升的瓶頸之一。近三十年的數(shù)據(jù)表明,以 64KB的DRAM為例,存儲(chǔ)器在時(shí)延方面的性能增長(zhǎng)為年均7 %,而存儲(chǔ)器性能的年均增長(zhǎng)約為41 %。單純從減小存儲(chǔ)器時(shí)延角度來(lái)提升存儲(chǔ)器性能顯然已經(jīng)很難滿足處理器的性能要求。因此,當(dāng)前國(guó)際主流技術(shù)均采用了存儲(chǔ)器層次化設(shè)計(jì)。典型的存儲(chǔ)器系統(tǒng)包括以下四個(gè)層次寄存器(Register)—片內(nèi)高速緩存 (Cache)—主存儲(chǔ)器(Memory)—輔助存儲(chǔ)器(Disk)。與CPU耦合越緊密的存儲(chǔ)設(shè)備速度越快,但每比特存儲(chǔ)成本越高,容量越?。慌cCPU距離越遠(yuǎn)的存儲(chǔ)設(shè)備速度越慢,但每比特存儲(chǔ)成本越低,容量越大。存儲(chǔ)器系統(tǒng)層次化的目的即在于用較低的成本構(gòu)建一個(gè)訪問速度接近于最快層次存儲(chǔ)器的存儲(chǔ)系統(tǒng)?,F(xiàn)有的嵌入式CPU存儲(chǔ)器系統(tǒng)一般包含兩個(gè)層次的存儲(chǔ)器資源,即片內(nèi)高速緩存 (Cache)和系統(tǒng)總線主設(shè)備接口。該技術(shù)的缺陷是,片內(nèi)高速緩存除了存儲(chǔ)數(shù)據(jù)(Data)之外,還必須存儲(chǔ)用于判斷片內(nèi)高速緩存命中的標(biāo)志位(Tag),因此其面積和成本較大;而且每次可高緩的指令或數(shù)據(jù)訪問,都需要同時(shí)開啟所有數(shù)據(jù)路和標(biāo)志路,導(dǎo)致功耗較高,同時(shí)訪問時(shí)延也較大。因此片內(nèi)高速緩存不適用于超低功耗、超低成本的嵌入式系統(tǒng)。另外,還有一些嵌入式CPU存儲(chǔ)器系統(tǒng)使用片內(nèi)緊耦合存儲(chǔ)器(TCM),但現(xiàn)有TCM 技術(shù)的缺陷是,片內(nèi)緊耦合存儲(chǔ)器的基地址和范圍固定,不能根據(jù)系統(tǒng)需要靈活配置。
發(fā)明內(nèi)容
為了克服已有嵌入式CPU存儲(chǔ)器系統(tǒng)面積大、成本和功耗高、不能靈活配置,不適應(yīng)超低功耗、超低成本的應(yīng)用領(lǐng)域的缺陷,本發(fā)明提供一種低成本下實(shí)現(xiàn)靈活配置、功耗較低、提升嵌入式CPU的性能的可擴(kuò)展的層次化嵌入式CPU存儲(chǔ)器系統(tǒng)。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是一種可擴(kuò)展的層次化嵌入式CPU存儲(chǔ)器系統(tǒng),包括嵌入式CPU存儲(chǔ)器、系統(tǒng)總線主設(shè)備接口和系統(tǒng)總線從設(shè)備接口,所述嵌入式CPU存儲(chǔ)器包括指令片內(nèi)存儲(chǔ)器、指令片外存儲(chǔ)器、數(shù)據(jù)片內(nèi)存儲(chǔ)器和數(shù)據(jù)片外存儲(chǔ)器;所述系統(tǒng)總線主設(shè)備接口和系統(tǒng)總線從設(shè)備接口與系統(tǒng)總線連接;所述指令總線與所述指令片內(nèi)存儲(chǔ)器、指令片外存儲(chǔ)器接口連接,所述指令片外存儲(chǔ)器接口與所述指令片外存儲(chǔ)器連接,所述指令片外存儲(chǔ)器與指令片外從設(shè)備接口連接,所述指令片外從設(shè)備接口與所述系統(tǒng)總線連接;所述數(shù)據(jù)總線與所述數(shù)據(jù)片內(nèi)存儲(chǔ)器、數(shù)據(jù)片外存儲(chǔ)器接口連接,所述數(shù)據(jù)片外存儲(chǔ)器接口與所述數(shù)據(jù)片外存儲(chǔ)器連接,所述數(shù)據(jù)片外存儲(chǔ)器與數(shù)據(jù)片外從設(shè)備接口連接,所述數(shù)據(jù)片外從設(shè)備接口與所述系統(tǒng)總線連接;所述嵌入式CPU存儲(chǔ)器系統(tǒng)還包括存儲(chǔ)器資源訪問仲裁器,所述存儲(chǔ)器資源訪問仲裁器通過(guò)內(nèi)部總線與處理器連接,所述存儲(chǔ)器資源訪問仲裁器同時(shí)通過(guò)指令總線和數(shù)據(jù)總線與系統(tǒng)總線主設(shè)備接口連接,所述存儲(chǔ)器資源訪問仲裁器還與所述系統(tǒng)總線從設(shè)備接口連接;所述存儲(chǔ)器資源訪問仲裁器通過(guò)對(duì)指令總線和數(shù)據(jù)總線上的訪問地址進(jìn)行判別, 將訪問請(qǐng)求發(fā)送到指令片內(nèi)存儲(chǔ)器、數(shù)據(jù)片內(nèi)存儲(chǔ)器、指令片外存儲(chǔ)器接口、數(shù)據(jù)片外存儲(chǔ)器接口或系統(tǒng)總線主設(shè)備接口上。進(jìn)一步,所述嵌入式CPU存儲(chǔ)器系統(tǒng)中,以訪問優(yōu)先級(jí)依次從高到低分為三個(gè)層次存儲(chǔ)器資源,其中,第一層次存儲(chǔ)器資源為指令片內(nèi)存儲(chǔ)器和數(shù)據(jù)片內(nèi)存儲(chǔ)器,第二層次存儲(chǔ)器資源為指令片外存儲(chǔ)器和數(shù)據(jù)片外存儲(chǔ)器,第三層次存儲(chǔ)器資源為系統(tǒng)總線主設(shè)備接口。當(dāng)然,也可以選擇其他的分層方式。再進(jìn)一步,所述第一層次存儲(chǔ)器資源、第二層次存儲(chǔ)器資源為可配置資源,第三層次存儲(chǔ)器資源為不可配置的系統(tǒng)必備資源。所述指令片內(nèi)存儲(chǔ)器和數(shù)據(jù)片內(nèi)存儲(chǔ)器均與所述系統(tǒng)總線從設(shè)備接口連接,系統(tǒng)總線從設(shè)備接口內(nèi)設(shè)有指令片內(nèi)存儲(chǔ)器基地址與范圍寄存器、數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址與范圍寄存器,該兩個(gè)寄存器動(dòng)態(tài)可配置,存儲(chǔ)器資源訪問仲裁器與指令片內(nèi)存儲(chǔ)器基地址與范圍寄存器、數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址與范圍寄存器相連,存儲(chǔ)器資源訪問仲裁器根據(jù)指令片內(nèi)存儲(chǔ)器基地址與范圍寄存器的基地址與范圍判斷總線請(qǐng)求是否落在指令片內(nèi)存儲(chǔ)器上,以及根據(jù)數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址與范圍寄存器的基地址與范圍判斷總線請(qǐng)求是否落在數(shù)據(jù)片內(nèi)存儲(chǔ)器上。所述指令片外存儲(chǔ)器接口與指令片外從設(shè)備接口相連,由指令片外存儲(chǔ)器接口向存儲(chǔ)器資源訪問仲裁器輸入指令片外存儲(chǔ)器基地址、地址比較掩碼和指令片外存儲(chǔ)器使能位,存儲(chǔ)器資源訪問仲裁器根據(jù)指令片外存儲(chǔ)器接口輸入信息判斷總線請(qǐng)求是否落在指令片外存儲(chǔ)器接口上,指令片外存儲(chǔ)器基地址、地址比較掩碼和指令片外存儲(chǔ)器使能位由用戶靈活產(chǎn)生;所述數(shù)據(jù)片外存儲(chǔ)器接口與數(shù)據(jù)片外從設(shè)備接口相連,由數(shù)據(jù)片外存儲(chǔ)器接口向存儲(chǔ)器資源訪問仲裁器輸入數(shù)據(jù)片外存儲(chǔ)器基地址、地址比較掩碼和數(shù)據(jù)片外存儲(chǔ)器使能位,存儲(chǔ)器資源訪問仲裁器根據(jù)數(shù)據(jù)片外存儲(chǔ)器接口輸入信息判斷總線請(qǐng)求是否落在數(shù)據(jù)片外存儲(chǔ)器接口上,數(shù)據(jù)片外存儲(chǔ)器基地址、地址比較掩碼和數(shù)據(jù)片外存儲(chǔ)器使能位由用戶靈活產(chǎn)生。所述存儲(chǔ)器資源訪問仲裁器中,對(duì)于那些沒有落入數(shù)據(jù)片內(nèi)存儲(chǔ)器、指令片內(nèi)存儲(chǔ)器、數(shù)據(jù)片外存儲(chǔ)器接口與指令片外存儲(chǔ)器接口的訪問請(qǐng)求,其訪問均通過(guò)系統(tǒng)總線主設(shè)備接口實(shí)現(xiàn)對(duì)系統(tǒng)總線的訪問。本發(fā)明的技術(shù)構(gòu)思為在嵌入式CPU存儲(chǔ)器系統(tǒng)中,引進(jìn)存儲(chǔ)器資源訪問仲裁器判斷訪問請(qǐng)求,將不同訪問請(qǐng)求精確發(fā)送到相應(yīng)存儲(chǔ)器資源上;引進(jìn)系統(tǒng)總線從設(shè)備接口, 設(shè)計(jì)指令片內(nèi)存儲(chǔ)器基地址和范圍寄存器用于實(shí)現(xiàn)指令片內(nèi)存儲(chǔ)器基地址和范圍的靈活配置,設(shè)計(jì)數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址和范圍寄存器用于實(shí)現(xiàn)數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址和范圍的靈活配置;引進(jìn)指令片外存儲(chǔ)器接口,實(shí)現(xiàn)指令片外存儲(chǔ)器的靈活擴(kuò)展;引進(jìn)數(shù)據(jù)片外存儲(chǔ)器接口,實(shí)現(xiàn)數(shù)據(jù)片外存儲(chǔ)器的靈活擴(kuò)展。本發(fā)明的有益效果主要表現(xiàn)在低成本下實(shí)現(xiàn)存儲(chǔ)器系統(tǒng)靈活配置、功耗較低、提升嵌入式CPU的性能。
圖1是本發(fā)明提出的易擴(kuò)展的層次化嵌入式CPU存儲(chǔ)器系統(tǒng)裝置的示意圖。圖2是存儲(chǔ)器資源訪問仲裁器的總線網(wǎng)絡(luò)裝置的示意圖。圖3是存儲(chǔ)器資源訪問仲裁器的地址比較器裝置以及仲裁機(jī)制的示意圖。圖4是片內(nèi)存儲(chǔ)器基址動(dòng)態(tài)可調(diào)和容量動(dòng)態(tài)可調(diào)的實(shí)現(xiàn)裝置的示意圖。圖5是一個(gè)具體實(shí)施例中片內(nèi)存儲(chǔ)器容量、片內(nèi)存儲(chǔ)器基址和地址掩碼的對(duì)應(yīng)關(guān)系的示意圖。圖6是一種用于支持片外存儲(chǔ)器基地址動(dòng)態(tài)可調(diào)的用戶自定義存儲(chǔ)器裝置的示意圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。參照?qǐng)D1 圖6,一種可擴(kuò)展的層次化嵌入式CPU存儲(chǔ)器系統(tǒng),包括嵌入式CPU存儲(chǔ)器、系統(tǒng)總線主設(shè)備接口和系統(tǒng)總線從設(shè)備接口,所述嵌入式CPU存儲(chǔ)器包括指令片內(nèi)存儲(chǔ)器、指令片外存儲(chǔ)器、數(shù)據(jù)片內(nèi)存儲(chǔ)器和數(shù)據(jù)片外存儲(chǔ)器;所述系統(tǒng)總線主設(shè)備接口和系統(tǒng)總線從設(shè)備接口與系統(tǒng)總線連接;所述指令總線與所述指令片內(nèi)存儲(chǔ)器、指令片外存儲(chǔ)器接口連接,所述指令片外存儲(chǔ)器接口與所述指令片外存儲(chǔ)器連接,所述指令片外存儲(chǔ)器與指令片外從設(shè)備接口連接,所述指令片外從設(shè)備接口與所述系統(tǒng)總線連接;所述數(shù)據(jù)總線與所述數(shù)據(jù)片內(nèi)存儲(chǔ)器、數(shù)據(jù)片外存儲(chǔ)器接口連接,所述數(shù)據(jù)片外存儲(chǔ)器接口與所述數(shù)據(jù)片外存儲(chǔ)器連接,所述數(shù)據(jù)片外存儲(chǔ)器與數(shù)據(jù)片外從設(shè)備接口連接,所述數(shù)據(jù)片外從設(shè)備接口與所述系統(tǒng)總線連接;所述嵌入式CPU存儲(chǔ)器系統(tǒng)還包括存儲(chǔ)器資源訪問仲裁器,所述存儲(chǔ)器資源訪問仲裁器通過(guò)內(nèi)部總線與處理器連接,所述存儲(chǔ)器資源訪問仲裁器同時(shí)通過(guò)指令總線和數(shù)據(jù)總線與系統(tǒng)總線主設(shè)備接口連接,所述存儲(chǔ)器資源訪問仲裁器還與所述系統(tǒng)總線從設(shè)備接口連接;所述存儲(chǔ)器資源訪問仲裁器通過(guò)對(duì)指令總線和數(shù)據(jù)總線上的訪問地址進(jìn)行判別, 將訪問請(qǐng)求發(fā)送到指令片內(nèi)存儲(chǔ)器、數(shù)據(jù)片內(nèi)存儲(chǔ)器、指令片外存儲(chǔ)器接口、數(shù)據(jù)片外存儲(chǔ)器接口或系統(tǒng)總線主設(shè)備接口上。所述嵌入式CPU存儲(chǔ)器系統(tǒng)中,以訪問優(yōu)先級(jí)依次從高到低分為三個(gè)層次存儲(chǔ)器資源,其中,第一層次存儲(chǔ)器資源為指令片內(nèi)存儲(chǔ)器和數(shù)據(jù)片內(nèi)存儲(chǔ)器,第二層次存儲(chǔ)器資源為指令片外存儲(chǔ)器和數(shù)據(jù)片外存儲(chǔ)器,第三層次存儲(chǔ)器資源為系統(tǒng)總線主設(shè)備接口。當(dāng)然,也可以選擇其他的分層方式。所述第一層次存儲(chǔ)器資源、第二層次存儲(chǔ)器資源為可配置資源,第三層次存儲(chǔ)器資源為不可配置的系統(tǒng)必備資源。
所述指令片內(nèi)存儲(chǔ)器和數(shù)據(jù)片內(nèi)存儲(chǔ)器均與所述系統(tǒng)總線從設(shè)備接口連接,系統(tǒng)總線從設(shè)備接口內(nèi)設(shè)有指令片內(nèi)存儲(chǔ)器基地址與范圍寄存器、數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址與范圍寄存器,該兩個(gè)寄存器動(dòng)態(tài)可配置,存儲(chǔ)器資源訪問仲裁器與指令片內(nèi)存儲(chǔ)器基地址與范圍寄存器、數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址與范圍寄存器相連,存儲(chǔ)器資源訪問仲裁器根據(jù)指令片內(nèi)存儲(chǔ)器基地址與范圍寄存器的基地址與范圍判斷總線請(qǐng)求是否落在指令片內(nèi)存儲(chǔ)器上,以及根據(jù)數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址與范圍寄存器的基地址與范圍判斷總線請(qǐng)求是否落在數(shù)據(jù)片內(nèi)存儲(chǔ)器上。所述指令片外存儲(chǔ)器接口與指令片外從設(shè)備接口相連,由指令片外存儲(chǔ)器接口向存儲(chǔ)器資源訪問仲裁器輸入指令片外存儲(chǔ)器基地址、地址比較掩碼和指令片外存儲(chǔ)器使能位,存儲(chǔ)器資源訪問仲裁器根據(jù)指令片外存儲(chǔ)器接口輸入信息判斷總線請(qǐng)求是否落在指令片外存儲(chǔ)器接口上,指令片外存儲(chǔ)器基地址、地址比較掩碼和指令片外存儲(chǔ)器使能位由用戶靈活產(chǎn)生;所述數(shù)據(jù)片外存儲(chǔ)器接口與數(shù)據(jù)片外從設(shè)備接口相連,由數(shù)據(jù)片外存儲(chǔ)器接口向存儲(chǔ)器資源訪問仲裁器輸入數(shù)據(jù)片外存儲(chǔ)器基地址、地址比較掩碼和數(shù)據(jù)片外存儲(chǔ)器使能位,存儲(chǔ)器資源訪問仲裁器根據(jù)數(shù)據(jù)片外存儲(chǔ)器接口輸入信息判斷總線請(qǐng)求是否落在數(shù)據(jù)片外存儲(chǔ)器接口上,數(shù)據(jù)片外存儲(chǔ)器基地址、地址比較掩碼和數(shù)據(jù)片外存儲(chǔ)器使能位由用戶靈活產(chǎn)生。所述存儲(chǔ)器資源訪問仲裁器中,對(duì)于那些沒有落入數(shù)據(jù)片內(nèi)存儲(chǔ)器、指令片內(nèi)存儲(chǔ)器、數(shù)據(jù)片外存儲(chǔ)器接口與指令片外存儲(chǔ)器接口的訪問請(qǐng)求,其訪問均通過(guò)系統(tǒng)總線主設(shè)備接口實(shí)現(xiàn)對(duì)系統(tǒng)總線的訪問。圖1示出了本發(fā)明提出的可擴(kuò)展的層次化嵌入式CPU存儲(chǔ)器系統(tǒng)裝置的一個(gè)具體實(shí)施例。本嵌入式CPU存儲(chǔ)器系統(tǒng)117包含以下組成圖1示出的連接整個(gè)系統(tǒng)的獨(dú)立的指令總線13和數(shù)據(jù)總線14。指令總線13上傳遞指令的取指請(qǐng)求、地址、指令長(zhǎng)度信息、指令碼,以及內(nèi)存區(qū)域保護(hù)相關(guān)信息。數(shù)據(jù)總線 14上傳遞數(shù)據(jù)訪問的請(qǐng)求、地址、讀寫標(biāo)志、寫出的數(shù)據(jù)及其長(zhǎng)度信息,讀入的數(shù)據(jù)及其有效位標(biāo)志,以及內(nèi)存區(qū)域保護(hù)相關(guān)信息。圖1示出的作為整個(gè)存儲(chǔ)器系統(tǒng)裝置控制核心的存儲(chǔ)器資源訪問仲裁器12。仲裁器12通過(guò)內(nèi)部總線1(118)和內(nèi)部總線2(119)與處理器核心進(jìn)行雙向通信。仲裁器接受內(nèi)部總線1和內(nèi)部總線2上的訪問請(qǐng)求和訪問地址,通過(guò)地址比較,向相應(yīng)的存儲(chǔ)器資源發(fā)送訪問請(qǐng)求。內(nèi)部總線1和內(nèi)部總線2是處理器核心與存儲(chǔ)器系統(tǒng)的通信接口,其實(shí)現(xiàn)可以有多種協(xié)議。其中一種按照哈佛結(jié)構(gòu)的組織原則,指令總線和數(shù)據(jù)總線相分離,則內(nèi)部總線1可以實(shí)例化為指令總線,內(nèi)部總線2可以實(shí)例化為數(shù)據(jù)總線。圖1示出的位于本存儲(chǔ)器系統(tǒng)設(shè)備第一層次的片內(nèi)存儲(chǔ)器15、16及其系統(tǒng)總線從設(shè)備接口 17。片內(nèi)存儲(chǔ)器15、16可以實(shí)現(xiàn)指令和數(shù)據(jù)的單周期訪問。類似的,在一種實(shí)施例中,可以按照哈佛結(jié)構(gòu)的組織原則,片內(nèi)存儲(chǔ)器可以劃分為指令片內(nèi)存儲(chǔ)器15和數(shù)據(jù)片內(nèi)存儲(chǔ)器16,其中指令片內(nèi)存儲(chǔ)器15只連接于指令總線13上,數(shù)據(jù)片內(nèi)存儲(chǔ)器16只連接于數(shù)據(jù)總線14上。系統(tǒng)總線從設(shè)備接口 17負(fù)責(zé)接收系統(tǒng)DMA的讀寫請(qǐng)求,向片內(nèi)存儲(chǔ)器 15、16寫入或讀出指令和數(shù)據(jù)。系統(tǒng)總線從設(shè)備接口 17同時(shí)負(fù)責(zé)實(shí)現(xiàn)片內(nèi)存儲(chǔ)器基地址的動(dòng)態(tài)可調(diào)。
圖1示出的位于本存儲(chǔ)器系統(tǒng)設(shè)備第二層次的片外存儲(chǔ)器接口 18、19。片外存儲(chǔ)器接口為用戶提供了一種自主擴(kuò)展存儲(chǔ)器的選擇。用戶自定義的片外擴(kuò)展存儲(chǔ)器110、111 位于系統(tǒng)時(shí)鐘域,由片外存儲(chǔ)器接口 18、19負(fù)責(zé)處理器時(shí)鐘域與系統(tǒng)時(shí)鐘域之間的轉(zhuǎn)換。 片外從設(shè)備接口 112、113負(fù)責(zé)向片外擴(kuò)展的存儲(chǔ)器寫入或讀出指令和數(shù)據(jù),同時(shí)實(shí)現(xiàn)片外存儲(chǔ)器基地址的動(dòng)態(tài)可調(diào)。類似的,在一種實(shí)施例中,也可以按照哈佛結(jié)構(gòu)的組織原則,將片外存儲(chǔ)器劃分為指令片外存儲(chǔ)器110和數(shù)據(jù)片外存儲(chǔ)器111。圖1示出的位于本存儲(chǔ)器系統(tǒng)設(shè)備第三層次的系統(tǒng)總線主設(shè)備接口 114。經(jīng)仲裁器仲裁后,若指令或數(shù)據(jù)的請(qǐng)求均不命中在片內(nèi)存儲(chǔ)器和片外存儲(chǔ)器接口上,則仲裁器將本次請(qǐng)求通過(guò)系統(tǒng)總線主設(shè)備接口 114向系統(tǒng)總線發(fā)起請(qǐng)求,從系統(tǒng)內(nèi)存中讀寫數(shù)據(jù)。圖1示出的三個(gè)層次的存儲(chǔ)器資源訪問優(yōu)先級(jí)順序依次從高到低,訪問速度依次從快到慢。片內(nèi)存儲(chǔ)器15、16的訪問優(yōu)先級(jí)高于片外存儲(chǔ)器接口 18、19,片外存儲(chǔ)器接口 18、19的訪問優(yōu)先級(jí)高于系統(tǒng)總線主設(shè)備接口 114 ;片內(nèi)存儲(chǔ)器15、16的訪問速度快于片外存儲(chǔ)器接口 18、19,片外存儲(chǔ)器接口 18、19的訪問速度快于系統(tǒng)總線主設(shè)備接口 114。圖1示出的第一、第二層次的存儲(chǔ)器設(shè)備資源為可配置資源,可根據(jù)應(yīng)用的實(shí)際需求進(jìn)行靈活配置;第三層次存儲(chǔ)器設(shè)備資源為系統(tǒng)必備資源,不可配置。位于第一層次的指令片內(nèi)存儲(chǔ)器15、數(shù)據(jù)片內(nèi)存儲(chǔ)器16和位于第二層次的指令片外存儲(chǔ)器接口 18、數(shù)據(jù)片外存儲(chǔ)器接口 19均為可配置資源,而位于第三層次的系統(tǒng)總線主設(shè)備接口為系統(tǒng)必備資源。圖2示出了本發(fā)明提出的總線網(wǎng)絡(luò),用于連接處理器核心和存儲(chǔ)器系統(tǒng)。在處理器核心一側(cè),處理器核心通過(guò)η條內(nèi)部總線(21、22)連接到總線網(wǎng)絡(luò)上。在存儲(chǔ)器系統(tǒng)一側(cè),由存儲(chǔ)器資源訪問仲裁器控制的數(shù)據(jù)選擇器,選擇相應(yīng)的內(nèi)部總線Κ21)或內(nèi)部總線 2(22)連接到指令總線(23)和數(shù)據(jù)總線(24)上。如圖2所示,在一種典型的實(shí)施例中,處理器的內(nèi)部總線數(shù)η = 2,即處理器核心通過(guò)兩條內(nèi)部總線連接到總線網(wǎng)絡(luò)上,其中一條為內(nèi)部指令總線,另一條為內(nèi)部數(shù)據(jù)總線。 對(duì)于嚴(yán)格的哈佛結(jié)構(gòu)處理器來(lái)說(shuō),總線網(wǎng)絡(luò)將內(nèi)部指令總線唯一的連接到存儲(chǔ)器系統(tǒng)指令總線03)上,將內(nèi)部數(shù)據(jù)總線02)唯一的連接到存儲(chǔ)器系統(tǒng)數(shù)據(jù)總線04)上。這樣,取指過(guò)程只能訪問系統(tǒng)內(nèi)存的指令區(qū),而數(shù)據(jù)讀寫過(guò)程只能訪問系統(tǒng)內(nèi)存的數(shù)據(jù)區(qū)。如圖2所示,在另一種特殊的實(shí)施例中,嵌入式處理器指令集通常包含程序計(jì)數(shù)器(PC)相對(duì)尋址的指令,用于加載大范圍立即數(shù)(例如加載一個(gè)32位的數(shù)據(jù))。這類指令的本質(zhì)是將需加載的大范圍立即數(shù)存放在指令區(qū),通過(guò)程序計(jì)數(shù)器相對(duì)尋址的方式,從指令區(qū)中讀出相應(yīng)的數(shù)據(jù)。這類處理器架構(gòu)屬于非嚴(yán)格的哈佛結(jié)構(gòu),對(duì)于該類型處理器,內(nèi)部指令總線和內(nèi)部數(shù)據(jù)總線02)都需連接到存儲(chǔ)器系統(tǒng)指令總線03)上,并通過(guò)一個(gè)數(shù)據(jù)選擇器選擇相應(yīng)的訪問源。如圖3示出了本發(fā)明提出的存儲(chǔ)器資源訪問仲裁器的地址比較器裝置以及仲裁機(jī)制。系統(tǒng)總線從設(shè)備接口 17設(shè)計(jì)有指令片內(nèi)存儲(chǔ)器基地址和范圍寄存器32和數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址和范圍寄存器33。指令片內(nèi)存儲(chǔ)器基地址和范圍寄存器32的片內(nèi)存儲(chǔ)器容量控制位,用于產(chǎn)生指令訪問的地址掩碼;數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址和范圍寄存器33的片內(nèi)存儲(chǔ)器容量控制位,用于產(chǎn)生數(shù)據(jù)訪問的地址掩碼。當(dāng)前存儲(chǔ)器訪問地址經(jīng)過(guò)一個(gè)與門34 和地址掩碼進(jìn)行“按位與”操作,然后送入地址比較器35與片內(nèi)存儲(chǔ)器基地址進(jìn)行比較。若比較結(jié)果相等,且片內(nèi)存儲(chǔ)器使能位有效,則表示當(dāng)前訪問命中在片內(nèi)存儲(chǔ)器上,仲裁器會(huì)將本次訪問請(qǐng)求和相關(guān)訪問信息發(fā)送到片內(nèi)存儲(chǔ)器上;若比較結(jié)果不相等,則表示當(dāng)前訪問不在片內(nèi)存儲(chǔ)器中,仲裁器會(huì)將本次訪問請(qǐng)求和相關(guān)訪問信息發(fā)送到其他相應(yīng)的存儲(chǔ)器資源上;若片內(nèi)存儲(chǔ)器使能位無(wú)效,則表示當(dāng)前片內(nèi)存儲(chǔ)器不可用,仲裁器會(huì)將本次訪問請(qǐng)求發(fā)送到其他相應(yīng)的存儲(chǔ)器資源上。 如圖4示出了片內(nèi)存儲(chǔ)器基地址動(dòng)態(tài)可調(diào)和容量動(dòng)態(tài)可調(diào)的實(shí)現(xiàn)裝置。處理器通過(guò)系統(tǒng)總線,向系統(tǒng)總線從設(shè)備接口 17上的指令片內(nèi)存儲(chǔ)器基地址和范圍寄存器寫入指令片內(nèi)存儲(chǔ)器基地址、指令片內(nèi)存儲(chǔ)器容量以及指令片內(nèi)存儲(chǔ)器使能位;向系統(tǒng)總線從設(shè)備接口 17上的數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址和范圍寄存器寫入數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址、數(shù)據(jù)片內(nèi)存儲(chǔ)器容量以及數(shù)據(jù)片內(nèi)存儲(chǔ)器使能位。如圖4示出的實(shí)現(xiàn)裝置,在一個(gè)具體實(shí)施例中,片內(nèi)存儲(chǔ)器基地址43、片內(nèi)存儲(chǔ)器容量控制位44、片內(nèi)存儲(chǔ)器使能位45可以位于同一片內(nèi)存儲(chǔ)器基地址和范圍寄存器的不同位上,由軟件按照特定的格式,通過(guò)系統(tǒng)總線從設(shè)備接口一并寫入。。在另一個(gè)實(shí)施例中, 片內(nèi)存儲(chǔ)器基地址43、片內(nèi)存儲(chǔ)器容量控制位44、片內(nèi)存儲(chǔ)器使能位45可以各自對(duì)應(yīng)一個(gè)專門的寄存器,由軟件通過(guò)系統(tǒng)總線從設(shè)備接口對(duì)各個(gè)寄存器分別進(jìn)行讀寫。如圖4示出的實(shí)現(xiàn)裝置,可以通過(guò)修改位于系統(tǒng)總線從設(shè)備接口 17上的片內(nèi)存儲(chǔ)器基地址和范圍寄存器的片內(nèi)存儲(chǔ)器基地址段43實(shí)現(xiàn)片內(nèi)存儲(chǔ)器的重定位;可以通過(guò)修改位于系統(tǒng)總線從設(shè)備接口 17上的片內(nèi)存儲(chǔ)器基地址和范圍寄存器的片內(nèi)存儲(chǔ)器容量控制位44實(shí)現(xiàn)片內(nèi)存儲(chǔ)器容量大小的動(dòng)態(tài)配置。片內(nèi)存儲(chǔ)器容量控制位對(duì)應(yīng)的容量大小應(yīng)小于或等于實(shí)際的片內(nèi)存儲(chǔ)器大小。如圖4示出的實(shí)現(xiàn)裝置,使用片內(nèi)存儲(chǔ)器容量控制位44控制的數(shù)據(jù)選擇器46產(chǎn)生地址掩碼,用于存儲(chǔ)器資源訪問仲裁器地址比較器的部分地址比較屏蔽。如圖5示出了一個(gè)具體實(shí)施例中片內(nèi)存儲(chǔ)器容量、片內(nèi)存儲(chǔ)器基地址和地址掩碼的對(duì)應(yīng)關(guān)系。在這個(gè)具體實(shí)施例中,實(shí)現(xiàn)了片內(nèi)存儲(chǔ)器容量1KB、2KB、4KB、8KB、16KB、32KB、 64KB,128KB,256KB,512KB的動(dòng)態(tài)可調(diào),則片內(nèi)存儲(chǔ)器基址的寬度范圍是22比特到13比特,相應(yīng)的,需要產(chǎn)生9比特寬度的地址掩碼用于存儲(chǔ)器資源訪問仲裁器的部分地址比較屏蔽。如圖6示出了一種用于支持片外存儲(chǔ)器基地址動(dòng)態(tài)可調(diào)的用戶自定義存儲(chǔ)器擴(kuò)展裝置。片外存儲(chǔ)器位于系統(tǒng)時(shí)鐘域,因此片外存儲(chǔ)器接口 61包含系統(tǒng)時(shí)鐘域和處理器時(shí)鐘域兩個(gè)時(shí)鐘域。兩個(gè)時(shí)鐘域之間的信號(hào)傳遞需要專門的控制邏輯保證信號(hào)的正確采樣。如圖6示出的一種用于支持片外存儲(chǔ)器基地址動(dòng)態(tài)可調(diào)的用戶自定義存儲(chǔ)器裝置包含5條邏輯通路 從處理器時(shí)鐘域到系統(tǒng)時(shí)鐘域的控制通路(62),傳遞片外存儲(chǔ)器訪問請(qǐng)求。 從處理器時(shí)鐘域到系統(tǒng)時(shí)鐘域的數(shù)據(jù)通路(63),傳遞片外存儲(chǔ)器訪問地址、數(shù)據(jù)讀寫信息、數(shù)據(jù)大小信息和存儲(chǔ)到片外存儲(chǔ)器的目標(biāo)數(shù)據(jù)。 從系統(tǒng)時(shí)鐘域到處理器時(shí)鐘域的控制通路(64),傳遞片外存儲(chǔ)器傳輸完成信號(hào)。 從系統(tǒng)時(shí)鐘域到處理器時(shí)鐘域的數(shù)據(jù)通路(65),傳遞從片外存儲(chǔ)器讀入的數(shù)據(jù)、數(shù)據(jù)的有效性信息以及訪問錯(cuò)誤信息。
從系統(tǒng)時(shí)鐘域到處理器時(shí)鐘域的片外存儲(chǔ)器擴(kuò)展通路(66),傳遞片外存儲(chǔ)器基址、地址掩碼和片外存儲(chǔ)器使能位信號(hào)。如圖6示出的一種片外存儲(chǔ)器基地址動(dòng)態(tài)可調(diào)存儲(chǔ)器擴(kuò)展裝置中的前四條邏輯通路62、63、64、65是片外存儲(chǔ)器的數(shù)據(jù)訪問通路,第五條通路66是片外存儲(chǔ)器配置通路。如圖6示出的一種存儲(chǔ)器擴(kuò)展裝置中的片外存儲(chǔ)器配置通路66用于實(shí)現(xiàn)片外存儲(chǔ)器基地址動(dòng)態(tài)可調(diào)和容量動(dòng)態(tài)可調(diào),其實(shí)現(xiàn)原理與片內(nèi)存儲(chǔ)器相同。片外存儲(chǔ)器基地址、 地址比較掩碼和片外存儲(chǔ)器使能位由用戶靈活產(chǎn)生,本發(fā)明提出的存儲(chǔ)器系統(tǒng)裝置不對(duì)片外存儲(chǔ)器基址、地址比較掩碼和片外存儲(chǔ)器使能位的產(chǎn)生方式做任何限制。地址比較掩碼用于在仲裁器中與當(dāng)前訪問請(qǐng)求的地址信號(hào)進(jìn)行“按位與”運(yùn)算后進(jìn)入仲裁器地址比較器與片外存儲(chǔ)器基地址進(jìn)行比較。若地址比較器比較結(jié)果相等,且片外存儲(chǔ)器使能位有效,則表示當(dāng)前訪問命中在片外存儲(chǔ)器上,仲裁器會(huì)將本次訪問請(qǐng)求發(fā)送到片外存儲(chǔ)器接口上; 若比較結(jié)果不相等,則表示當(dāng)前訪問不在片外存儲(chǔ)器上,仲裁器會(huì)將本次訪問請(qǐng)求發(fā)送到其他相應(yīng)的存儲(chǔ)器資源上;若片外存儲(chǔ)器使能位無(wú)效,則表示當(dāng)前片外存儲(chǔ)器不可用,仲裁器會(huì)將本次訪問請(qǐng)求發(fā)送到其他相應(yīng)的存儲(chǔ)器資源上。
權(quán)利要求
1.一種可擴(kuò)展的層次化嵌入式CPU存儲(chǔ)器系統(tǒng),其特征在于包括嵌入式CPU存儲(chǔ)器、 系統(tǒng)總線主設(shè)備接口和系統(tǒng)總線從設(shè)備接口,所述嵌入式CPU存儲(chǔ)器包括指令片內(nèi)存儲(chǔ)器、指令片外存儲(chǔ)器、數(shù)據(jù)片內(nèi)存儲(chǔ)器和數(shù)據(jù)片外存儲(chǔ)器;所述系統(tǒng)總線主設(shè)備接口和系統(tǒng)總線從設(shè)備接口與系統(tǒng)總線連接;所述指令總線與所述指令片內(nèi)存儲(chǔ)器、指令片外存儲(chǔ)器接口連接,所述指令片外存儲(chǔ)器接口與所述指令片外存儲(chǔ)器連接,所述指令片外存儲(chǔ)器與指令片外從設(shè)備接口連接,所述指令片外從設(shè)備接口與所述系統(tǒng)總線連接;所述數(shù)據(jù)總線與所述數(shù)據(jù)片內(nèi)存儲(chǔ)器、數(shù)據(jù)片外存儲(chǔ)器接口連接,所述數(shù)據(jù)片外存儲(chǔ)器接口與所述數(shù)據(jù)片外存儲(chǔ)器連接,所述數(shù)據(jù)片外存儲(chǔ)器與數(shù)據(jù)片外從設(shè)備接口連接,所述數(shù)據(jù)片外從設(shè)備接口與所述系統(tǒng)總線連接;其特征在于所述嵌入式CPU存儲(chǔ)器系統(tǒng)還包括存儲(chǔ)器資源訪問仲裁器,所述存儲(chǔ)器資源訪問仲裁器通過(guò)內(nèi)部總線與處理器連接,所述存儲(chǔ)器資源訪問仲裁器同時(shí)通過(guò)指令總線和數(shù)據(jù)總線與系統(tǒng)總線主設(shè)備接口連接,所述存儲(chǔ)器資源訪問仲裁器還與所述系統(tǒng)總線從設(shè)備接口連接;所述存儲(chǔ)器資源訪問仲裁器通過(guò)對(duì)指令總線和數(shù)據(jù)總線上的訪問地址進(jìn)行判別,將訪問請(qǐng)求發(fā)送到指令片內(nèi)存儲(chǔ)器、數(shù)據(jù)片內(nèi)存儲(chǔ)器、指令片外存儲(chǔ)器接口、數(shù)據(jù)片外存儲(chǔ)器接口或系統(tǒng)總線主設(shè)備接口上。
2.如權(quán)利要求1所述的可擴(kuò)展的層次化嵌入式CPU存儲(chǔ)器系統(tǒng),其特征在于所述嵌入式CPU存儲(chǔ)器系統(tǒng)中,以訪問優(yōu)先級(jí)依次從高到低分為三個(gè)層次存儲(chǔ)器資源,其中,第一層次存儲(chǔ)器資源為指令片內(nèi)存儲(chǔ)器和數(shù)據(jù)片內(nèi)存儲(chǔ)器,第二層次存儲(chǔ)器資源為指令片外存儲(chǔ)器和數(shù)據(jù)片外存儲(chǔ)器,第三層次存儲(chǔ)器資源為系統(tǒng)總線主設(shè)備接口。
3.如權(quán)利要求2所述的可擴(kuò)展的層次化嵌入式CPU存儲(chǔ)器系統(tǒng),其特征在于所述第一層次存儲(chǔ)器資源、第二層次存儲(chǔ)器資源為可配置資源,第三層次存儲(chǔ)器資源為不可配置的系統(tǒng)必備資源。
4.如權(quán)利要求1 3之一所述的可擴(kuò)展的層次化嵌入式CPU存儲(chǔ)器系統(tǒng),其特征在于所述指令片內(nèi)存儲(chǔ)器和數(shù)據(jù)片內(nèi)存儲(chǔ)器均與所述系統(tǒng)總線從設(shè)備接口連接,系統(tǒng)總線從設(shè)備接口內(nèi)設(shè)有指令片內(nèi)存儲(chǔ)器基地址與范圍寄存器、數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址與范圍寄存器,該兩個(gè)寄存器動(dòng)態(tài)可配置,存儲(chǔ)器資源訪問仲裁器與指令片內(nèi)存儲(chǔ)器基地址與范圍寄存器、數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址與范圍寄存器相連,存儲(chǔ)器資源訪問仲裁器根據(jù)指令片內(nèi)存儲(chǔ)器基地址與范圍寄存器的基地址與范圍判斷總線請(qǐng)求是否落在指令片內(nèi)存儲(chǔ)器上,以及根據(jù)數(shù)據(jù)片內(nèi)存儲(chǔ)器基地址與范圍寄存器的基地址與范圍判斷總線請(qǐng)求是否落在數(shù)據(jù)片內(nèi)存儲(chǔ)器上。
5.如權(quán)利要求1 3之一所述的可擴(kuò)展的層次化嵌入式CPU存儲(chǔ)器系統(tǒng),其特征在于 所述指令片外存儲(chǔ)器接口與指令片外從設(shè)備接口相連,由指令片外存儲(chǔ)器接口向存儲(chǔ)器資源訪問仲裁器輸入指令片外存儲(chǔ)器基地址、地址比較掩碼和指令片外存儲(chǔ)器使能位,存儲(chǔ)器資源訪問仲裁器根據(jù)指令片外存儲(chǔ)器接口輸入信息判斷總線請(qǐng)求是否落在指令片外存儲(chǔ)器接口上,指令片外存儲(chǔ)器基地址、地址比較掩碼和指令片外存儲(chǔ)器使能位由用戶靈活產(chǎn)生;所述數(shù)據(jù)片外存儲(chǔ)器接口與數(shù)據(jù)片外從設(shè)備接口相連,由數(shù)據(jù)片外存儲(chǔ)器接口向存儲(chǔ)器資源訪問仲裁器輸入數(shù)據(jù)片外存儲(chǔ)器基地址、地址比較掩碼和數(shù)據(jù)片外存儲(chǔ)器使能位, 存儲(chǔ)器資源訪問仲裁器根據(jù)數(shù)據(jù)片外存儲(chǔ)器接口輸入信息判斷總線請(qǐng)求是否落在數(shù)據(jù)片外存儲(chǔ)器接口上,數(shù)據(jù)片外存儲(chǔ)器基地址、地址比較掩碼和數(shù)據(jù)片外存儲(chǔ)器使能位由用戶靈活產(chǎn)生。
6.如權(quán)利要求1 3之一所述的可擴(kuò)展的層次化嵌入式CPU存儲(chǔ)器系統(tǒng),其特征在于 所述存儲(chǔ)器資源訪問仲裁器中,對(duì)于那些沒有落入數(shù)據(jù)片內(nèi)存儲(chǔ)器、指令片內(nèi)存儲(chǔ)器、數(shù)據(jù)片外存儲(chǔ)器接口與指令片外存儲(chǔ)器接口的訪問請(qǐng)求,其訪問均通過(guò)系統(tǒng)總線主設(shè)備接口實(shí)現(xiàn)對(duì)系統(tǒng)總線的訪問。
全文摘要
一種可擴(kuò)展的層次化嵌入式CPU存儲(chǔ)器系統(tǒng),包括嵌入式CPU存儲(chǔ)器、系統(tǒng)總線主設(shè)備接口和系統(tǒng)總線從設(shè)備接口,還包括存儲(chǔ)器資源訪問仲裁器,所述存儲(chǔ)器資源訪問仲裁器通過(guò)內(nèi)部總線與處理器連接,所述存儲(chǔ)器資源訪問仲裁器同時(shí)通過(guò)指令總線和數(shù)據(jù)總線與系統(tǒng)總線主設(shè)備接口連接,所述存儲(chǔ)器資源訪問仲裁器還與所述系統(tǒng)總線從設(shè)備接口連接;所述存儲(chǔ)器資源訪問仲裁器通過(guò)對(duì)指令總線和數(shù)據(jù)總線上的訪問地址進(jìn)行判別,將訪問請(qǐng)求發(fā)送到指令片內(nèi)存儲(chǔ)器、數(shù)據(jù)片內(nèi)存儲(chǔ)器、指令片外存儲(chǔ)器接口、數(shù)據(jù)片外存儲(chǔ)器接口或系統(tǒng)總線主設(shè)備接口上。本發(fā)明能使嵌入式CPU存儲(chǔ)器系統(tǒng)靈活配置,適應(yīng)多種應(yīng)用需求,并提升嵌入式CPU的性能。
文檔編號(hào)G06F13/18GK102200952SQ20111007553
公開日2011年9月28日 申請(qǐng)日期2011年3月28日 優(yōu)先權(quán)日2011年3月28日
發(fā)明者馮炯, 劉兵, 孟建熠, 李春強(qiáng), 楊軍, 高金加 申請(qǐng)人:杭州中天微系統(tǒng)有限公司