專利名稱:一種突破非易失性存儲器件速度瓶頸的裝置的制作方法
技術領域:
本發(fā)明涉及集成電路(IC, Integrated Chip)設計領域,具體涉及一種 突破非易失性存儲器件速度瓶頸的裝置。
背景技術:
隨著半導體工藝的發(fā)展,邏輯器件的延時越來越小,從而微處理器CPU等 由邏輯電路組成的功能單元的運行速度可以越來越快; 一些非易失性存儲器 件,如Flash或者EEPROM等單元不是由邏輯器件組成,其訪問速度卻不能同 步提升?,F有的技術狀況是大部分片上系統(tǒng)SOC (System On Chip)芯片都需 要用到非易失性存儲器來存儲執(zhí)行代碼或數據,這樣就會出現非易失性存儲器 件訪問速度無法匹配微處理器的運行速度的問題,由于非易失性存儲器件的允 許的訪問速度太慢而造成微處理器核以及整個芯片的處理能力無法隨著工藝 的發(fā)展同步提高。
針對此問題的現有的解決辦法是采用CACHE緩存技術,即通過預取的方式
先把非易失性存儲器件中預期要用到的一些數據預先取出存放在一些高速隨 機存儲器件(RAM)中,然后由微處理器單元來通過訪問這個高速隨機存儲器 件來消除非易失性存儲器件訪問帶來的瓶頸?,F有技術的缺點是引入CACHE以 后的工作機制十分復雜,實現電路規(guī)模龐大, 一般用在復雜結構(如基于32位 CPU核)的片上系統(tǒng)SOC (System On Chip)中,不太適合簡單結構(如基于8 位CPU核)的片上系統(tǒng)。如目前許多32位芯片系統(tǒng)如Intel的奔騰CPU都帶有 CACHE,而基于8位或16位CPU核的智能卡芯片系統(tǒng)如Infineon的SLE66系列、 ATMEL的AT90系列等等均不具備CACHE緩存器。這些智能卡芯片一般都只能運行 在20MHz以內;或者采用多指令周期的MCU核來實現更高的主頻,但其微處理器 單元的真實處理能力并不能與主頻相匹配。
發(fā)明內容
針對以上問題,本發(fā)明提供一種突破非易失性存儲器件速度瓶頸的裝
置,以克服引入嵌入式非易失性存儲器f牛(如嵌入式Flash)帶來的速度瓶頸, 同時避免采用傳統(tǒng)CACHE緩存器這類復雜技術。
本發(fā)明所要解決的問題可以通過以下技術方案來解決
本發(fā)明通過一種突破非易失性存儲器件速度瓶頸的裝置來解決由于引入 非易失性存儲器件而引起的速度瓶頸。
非易失性存儲器件訪問總線帶寬取決于訪問總線頻率X訪問總線位寬, 而微處理器CPU的讀取指令帶寬取決于指令頻率X指令位寬;如果微處理器 CPU指令頻率遠大于非易失性存儲器件訪問總線頻率時,可以在不改變訪問總 線頻率、指令頻率以及指令位寬的情況下,僅僅通過提高非易失性存儲器件訪 問總線位寬來提高非易失性存儲器件訪問總線帶寬,從而可以達到匹配微處理 器CPU的指令帶寬的目的。
先擴展非易失性存儲器件訪問總線位寬,使該位寬是實際使用的訪問總線 位寬的數倍(例如4倍),再設計一個相應的突破非易失性存儲器件速度瓶頸的 裝置,使得對該高位寬的非易失性存儲器件的一次訪問能夠得到并存儲數倍于 當前微處理器CPU實際需要的指令和數據信息;這些存儲的指令和數據信息可 以滿足當前和后續(xù)指令周期的高速運轉CPU的指令和數據的需要,存儲的數據 信息可作為后續(xù)多個微處理器CPU指令周期內的指令代碼和數據信息;即一個 微處理器CPU指令周期訪問非易失性存儲器件獲得的數據,可供CPU運行多個指 令周期。這樣就直接突破了非易失性存儲器件訪問總線帶寬限制,從而使整個 芯片的性能得到大幅提升。
一種突破非易失性存儲器件速度瓶頸的裝置,包括緩沖裝置、指令總線以 及非易失性存儲器件訪問總線;其中緩沖裝置處于微處理器CPU和非易失性存 儲器件之間,指令總線連接緩沖裝置和微處理器CPU,非易失性存儲器件訪問 總線連接緩沖裝置和非易失性存儲器件,擴展與緩沖裝置相連接的非易失性存 儲器件訪問總線的位寬。
對于微處理器CPU,其運行效率取決于工作頻率,當微處理器CPU的工作
頻率提高時,其指令總線的工作頻率也相應提高;而對于非易失性存儲器件, 由于受限于物理特性,其非易失性存儲器件訪問總線的工作頻率存在上限,例 如Flash的工作頻率一般為10MHz左右,遠低于當今工藝下的微處理器CPU指 令總線所需要的訪問頻率。而通過擴展非易失性存儲器件訪問總線的位寬以
后,非易失性存儲器件訪問總線的帶寬也隨之提高,從而可以達到與指令總線 的帶寬相當。
位于指令總線與非易失性存儲器件訪問總線之間的緩沖裝置,其主要功能 是將非易失性存儲器件訪問總線每次訪問所取得的數據緩存起來,以供指令總 線使用,從而實現兩條帶寬相當總線的數據訪問和交換。
指令總線包括狀態(tài)總線、指令地址信息總線以及指令代碼總線;非易失性 存儲器件訪問總線包括非易失性存儲器件地址總線和非易失性存儲器件數據 總線;緩沖裝置包括緩沖控制器和緩沖單元,其中緩沖控制器通過控制總線來 控制緩沖單元。
緩沖裝置的核心是緩沖控制器,其主要工作過程包括正常工作過程、處理 微處理器CPU跳轉指令的工作過程、處理微處理器CPU訪問過快的工作過程以 及處理微處理器CPU訪問過慢的工作過程。
緩沖控制器的正常工作過程是緩沖控制器將根據微處理器CPU指令地址 信息總線上的地址信息預測微處理器CPU的指令訪問地址,由非易失性存儲器 件地址總線輸出至非易失性存儲器件;非易失性存儲器件將根據非易失性存儲 器件地址總線返回相應的數據,由非易失性存儲器件數據總線送至緩存單元; 緩存單元將根據緩沖控制器的控制總線來選擇緩存非易失性存儲器件數據總 線上送來的數據;緩存控制器同時根據指令地址信息總線上的地址信息,從緩 存單元中選擇相應的數據,并通過指令代碼總線返回給微處理器CPU。
緩沖控制器處理微處理器CPU跳轉指令的工作過程是當緩沖控制器通過 CPU指令地址信息總線上的指令信息檢測到微處理器CPU的跳轉指令時,其執(zhí) 行緩存單元中數據無效的操作。
緩沖控制器處理微處理器CPU訪問過快的工作過程是當緩沖控制器檢測
到緩存單元為空,意味著微處理器CPU訪問過快,則緩沖控制器將當前狀態(tài)通 過狀態(tài)總線返還給微處理器CPU,使得微處理器CPU停止訪問以等待緩存單元 中數據有效。
緩沖控制器處理微處理器CPU訪問過慢的工作過程是當緩沖控制器檢測
到緩存單元為滿,意味著微處理器CPU訪問過慢,則緩沖控制器將會停止訪問 非易失性存儲器件直至緩存單元中有空余空間再繼續(xù)訪問。
同時,為了能夠更好地改善非易失性存儲器件的速度瓶頸,還可以建立兩 個非易失性存儲器件的緩存單元,實現乒乓切換。
與現有技術相比,解決了引入Flash等嵌入式非易失性存儲器件帶來的速 度瓶頸;與傳統(tǒng)CACHE解決方案相比大大降低了電路的復雜度,避免了實現 CACHE的復雜機制。本發(fā)明特別適合簡單芯片系統(tǒng),尤其適合基于8位或16 位單指令周期CPU核的芯片系統(tǒng),基于本發(fā)明的芯片系統(tǒng)其工作頻率能運行在 60MHz甚至更高。
圖l是本發(fā)明中裝置的整體方案示意圖; 圖2是本發(fā)明中裝置的詳細方案示意圖。
具體實施例方式
下面結合附圖和具體實施方式
對本發(fā)明作進一步詳細的描述。
非易失性存儲器件訪問總線帶寬取決于訪問總線頻率X訪問總線位寬, 而微處理器CPU的讀取指令帶寬取決于指令頻率X指令位寬;如果微處理器 CPU指令頻率遠大于非易失性存儲器件訪問總線頻率時,可以在不改變訪問總 線頻率、指令頻率以及指令位寬的情況下,僅僅通過提高非易失性存儲器件訪 問總線位寬來提高非易失性存儲器件訪問總線帶寬,從而可以達到匹配微處理 器CPU的指令帶寬的目的。
先擴展非易失性存儲器件訪問總線位寬,使該位寬是實際使用的訪問總線 位寬的數倍(例如4倍),再設計一個相應的突破非易失性存儲器件速度瓶頸的 裝置,使得對該高位寬的非易失性存儲器件的一次訪問能夠得到并存儲數倍于 當前微處理器CPU實際需要的指令和數據信息;這些存儲的指令和數據信息可 以滿足當前和后續(xù)指令周期的高速運轉CPU的指令和數據的需要,存儲的數據 信息可作為后續(xù)多個微處理器CPU指令周期內的指令代碼和數據信息;即一個 微處理器CPU指令周期訪問非易失性存儲器件獲得的數據,可供CPU運行多個指 令周期。這樣就直接突破了非易失性存儲器件訪問總線帶寬限制,從而使整個 芯片的性能得到大幅提升。
如圖1所示,本發(fā)明所提供的一種突破非易失性存儲器件速度瓶頸的裝置, 包括緩沖裝置103、指令總線102以及非易失性存儲器件訪問總線104;其中 緩沖裝置103處于高速器件微處理器CPU101和非易失性存儲器件105之間,
指令總線102連接緩沖裝置103和微處理器CPU101,非易失性存儲器件訪問總 線104連接緩沖裝置103和非易失性存儲器件105。擴展與緩存裝置相連接的 非易失性存儲器件訪問總線104的位寬。
對于微處理器CPU101,其運行效率取決于工作頻率,當微處理器CPU101 的工作頻率提高時,其指令總線102的工作頻率也相應提高;而對于非易失性 存儲器件105,由于受限于物理特性,其非易失性存儲器件訪問總線104的工 作頻率存在上限,例如Flash的工作頻率一般為10MHz左右,遠低于當今工藝 下的微處理器CPU指令總線102所需要的訪問頻率。而通過擴展非易失性存儲 器件105的訪問總線的位寬以后,非易失性存儲器件訪問總線104的帶寬也隨 之提高,從而可以達到與指令總線102的帶寬相當。
位于指令總線102與非易失性存儲器件訪問總線104之間的緩沖裝置103, 其主要功能是將非易失性存儲器件訪問總線104每次訪問所取得的數據緩存起 來,以供指令總線102使用,從而實現兩條帶寬相當總線的數據訪問和交換。
指令總線102、非易失性存儲器件訪問總線104以及緩沖裝置103的組成 如圖2所示。其中指令總線102包括狀態(tài)總線201、指令地址信息總線202以 及指令代碼總線203;非易失性存儲器件訪問總線104包括非易失性存儲器件 地址總線207和非易失性存儲器件數據總線208;緩沖裝置103包括緩沖控制 器204和緩沖單元206,其中緩沖控制器204通過控制總線205來控制緩沖單 元206。
緩沖裝置103的核心是緩沖控制器204,其主要工作過程包括正常工作過 程、處理微處理器CPU101跳轉指令的工作過程、處理微處理器CPU101訪問過 快的工作過程以及處理微處理器CPU101訪問過慢的工作過程。
緩沖控制器204的正常工作過程是緩沖控制器204將根據微處理器CPU 指令地址信息總線202上的地址信息預測微處理器CPU101的指令訪問地址, 由非易失性存儲器件地址總線207輸出至非易失性存儲器件105;非易失性存 儲器件105將根據非易失性存儲器件地址總線207返回相應的數據,由非易失 性存儲器件數據總線208送至緩存單元206;緩存單元206將根據緩沖控制器 204的控制總線205來選擇緩存非易失性存儲器件數據總線208上送來的數據; 緩存控制器204同時根據指令地址信息總線202上的地址信息,從緩存單元206 中選擇相應的數據,并通過指令代碼總線203返回給微處理器CPUIOI。
緩沖控制器204處理微處理器CPU101跳轉指令的工作過程是當緩沖控
制器204通過CPU指令地址信息總線202上的指令信息檢測到微處理器CPUlOl 的跳轉指令時,其執(zhí)行緩存單元206中數據無效的操作。
緩沖控制器204處理微處理器CPUlOl訪問過快的工作過程是當緩沖控 制器204檢測到緩存單元206為空,意味著微處理器CPUlOl訪問過快,則緩 沖控制器204將當前狀態(tài)通過狀態(tài)總線201返還給微處理器CPUlOl ,使得微處 理器CPUlOl停止訪問以等待緩存單元206中數據有效。
緩沖控制器204處理微處理器CPUlOl訪問過慢的工作過程是當緩沖控 制器204檢測到緩存單元206為滿,意味著微處理器CPUlOl訪問過慢,則緩 沖控制器204將會停止訪問非易失性存儲器件105直至緩存單元206中有空余 空間再繼續(xù)訪問。
另外,為了能夠更好地改善非易失性存儲器件的速度瓶頸,還可以建立兩 個非易失性存儲器件的緩存單元,實現乒乓切換。
權利要求
1.一種突破非易失性存儲器件速度瓶頸的裝置,其特征在于所述裝置包括緩沖裝置、指令總線以及非易失性存儲器件訪問總線;其中緩沖裝置處于微處理器CPU和非易失性存儲器件之間,指令總線連接緩沖裝置和微處理器CPU,非易失性存儲器件訪問總線連接緩沖裝置和非易失性存儲器件。
2. 如權利要求1所述的突破非易失性存儲器件速度瓶頸的裝置,其特征 在于擴展與緩存裝置相連接的非易失性存儲器件訪問總線的位寬。
3. 如權利要求1所述的突破非易失性存儲器件速度瓶頸的裝置,其特征 在于所述指令總線包括狀態(tài)總線、指令地址信息總線以及指令代碼總線;所 述非易失性存儲器件訪問總線包括非易失性存儲器件地址總線和非易失性存 儲器件數據總線;所述緩沖裝置包括緩沖控制器和緩沖單元,其中緩沖控制器 通過控制總線來控制緩沖單元。
4. 如權利要求3所述的突破非易失性存儲器件速度瓶頸的裝置,其特征 在于所述緩沖裝置根據微處理器CPU的每一次訪問請求都實現一次對非易失 性器件的一次訪問,而每一次針對非易失性器件的訪問都能夠獲得并存儲數倍 于當前實際需要的數據信息,這些信息可供微處理器CPU運行多個指令周期。
5. 如權利要求3所述的突破非易失性存儲器件速度瓶頸的裝置,其特征 在于所述緩沖控制器,在正常工作過程中將根據微處理器CPU指令地址信息總線預測微處理器CPU的指令訪問地址,由非易失性存儲器件地址總線輸出至 非易失性存儲器件;非易失性存儲器件將根據非易失性存儲器件地址總線返回 相應的數據,由非易失性存儲器件數據總線送至緩存單元;緩存單元將根據緩 沖控制器的控制總線來選擇緩存非易失性存儲器件數據總線上送來的數據;緩 存控制器同時根據指令地址信息總線的信息,從緩存單元)中選擇相應的數據, 并通過指令代碼總線返回給微處理器CPU。 6. 如權利要求3所述的突破非易失性存儲器件速度瓶頸的裝置,其特征在于所述的緩沖控制器當其檢測到指令地址信息總線傳來的微處理器CPU的跳轉指令時,執(zhí)行緩存單元中的數據無效處理。7. 如權利要求3所述的突破非易失性存儲器件速度瓶頸的裝置,其特征在于:所述的緩沖控制器當其檢測到執(zhí)行緩存單元為空,即意味著微處理器CPU訪問過快,此時由緩存控制器將其當前狀態(tài)通過狀態(tài)總線返還給微處理器CPU, 微處理器CPU此時將停止訪問以等待緩存單元中數據有效。8. 如權利要求3所述的突破非易失性存儲器件速度瓶頸的裝置,其特征 在于:所述的緩沖控制器當其檢測到執(zhí)行緩存單元為滿,即意味著微處理器CPU 訪問過慢,此時緩存控制器將會停止訪問非易失性存儲器件直至緩存單元中有 空余空間再繼續(xù)訪問。
全文摘要
一種突破非易失性存儲器件速度瓶頸的裝置,包括緩沖裝置、指令總線以及非易失性存儲器件訪問總線;其中緩沖裝置處于微處理器CPU和非易失性存儲器件之間,指令總線連接緩沖裝置和微處理器CPU,非易失性存儲器件訪問總線連接緩沖裝置和非易失性存儲器件,擴展與緩沖裝置相連接的非易失性存儲器件訪問總線的位寬;指令總線包括狀態(tài)總線、指令地址信息總線以及指令代碼總線;非易失性存儲器件訪問總線包括非易失性存儲器件地址總線和非易失性存儲器件數據總線;緩沖裝置包括緩沖控制器和緩沖單元,其中緩沖控制器通過控制總線來控制緩沖單元。
文檔編號G06F12/08GK101097562SQ20061003609
公開日2008年1月2日 申請日期2006年6月27日 優(yōu)先權日2006年6月27日
發(fā)明者余運波, 軍 劉, 波 彭, 華 謝 申請人:深圳市中興集成電路設計有限責任公司