可編程片上存儲器接口的nor快閃記憶體讀取加速控制的方法
2023-10-11 10:40:24 1
專利名稱:可編程片上存儲器接口的nor快閃記憶體讀取加速控制的方法
技術領域:
本發明涉及的是一種電子工程技術領域存儲器接口的控制方法,具體是一種 可編程片上存儲器接口的NOR快閃記憶體讀取加速控制的方法。
技術背景NOR (或非)快閃記憶體存儲器在系統級晶片及手持行動裝置中得到了廣泛的應用。 但是NOR快閃記憶體所需的讀取時間相對於系統級晶片及手持行動裝置的時鐘頻率仍 過於緩慢。以前對於NOR快閃記憶體讀取加速的研究很多,諸如歷史緩衝區、預讀取、 多塊快閃記憶體並行讀取機制等,從硬體角度來分析,不斷地提高其讀取速度,但是對 於NOR快閃記憶體讀取加速的研究多數對速度的提升有限或代價過大,而從軟硬體協同 設計的角度研究提高NOR快閃記憶體的不多,而隨著多媒體技術及圖像處理的應用,這 部分的研究越來越重要,它直接決定了指令的執行速度。經對現有技術文獻的檢索發現,Oren Avissar等在《ACM Transactions on Embedded Computing Systems》(美國計算機協會嵌入式計算系統彙刊)2002年, 第1期第6_26頁發表的"An Optimal Memory Allocation Scheme for Scratch-Pad-Based Embedded Systems"(—種基於嵌入式片上存儲器的優化 存儲分配機制)中針對片上存儲器提出了一種選擇元素放入片上存儲器的分配策 略,使用固定大小的片上存儲器,通過分配策略選取數據放入高速片上存儲器, 從而達到提高讀取速度的目的。但是,該方法的不足之處在於片上存儲器需要相 對複雜分配策略來選取合適數據,這一定程度上增加了軟硬體協同設計中軟體部 分的任務量,對於不同的應用程式,需要不同的分配策略,降低了設計的易用性, 這在實際應用中是不能接受的。發明內容本發明針對現有技術中的不足,提供一種可編程片上存儲器接口的NOR快閃記憶體 讀取加速控制的方法,使其在執行存儲在NOR快閃記憶體中的嵌入式應用程式時,為了 消除因讀取NOR快閃記憶體而增加的時鐘周期,利用可編程片上存儲器,通過分析需加速執行的目標程序及特定的加速要求,進而通過硬體編程選擇合適片上存儲器與 NOR快閃記憶體的接口,將與接口對應的NOR快閃記憶體的數據放入片上存儲器,減少讀取NOR 快閃記憶體的次數,明顯提高了執行效率。本發明是通過以下技術方案實現的,本發明具體如下首先,在NOR快閃記憶體所需執行的目標程序指令中,根據目標程序在NOR快閃記憶體中 的地址空間情況對NOR快閃記憶體與片上存儲器的接口進行配置;如果目標程序的指令集中位於NOR快閃記憶體的地址空間時,通過硬體接口編程將 待加速地址空間與片上存儲器相對應;如果目標程序的指令分散於NOR快閃記憶體中的地址空間時,則將這些分散的待加 速地址空間通過硬體接口編程與片上存儲器上不同的地址空間相對應。然後,在第一次執行目標程序時,讀取NOR快閃記憶體中的目標程序指令,同時把 讀取的指令通過接口傳入片上存儲器;在隨後執行目標程序的過程中,系統直接 讀取片上存儲器中的目標程序指令執行,而不需要讀取NOR快閃記憶體中的目標程序指 令,而系統在執行其他指令時,依然讀取NOR快閃記憶體中的指令執行。所述目標程序,是指嵌入式系統所執行的應用程式,該應用程式在系統運 行的過程中需要多次重複使用,因此需要加速該程序的執行過程,以提高系統執 行效率。所述NOR快閃記憶體,是指用於存儲指令的非易失性存儲器,負責存儲嵌入式系 統執行的所有指令,包括目標程序的指令,NOR快閃記憶體的數據讀取速度一般較慢, 讀取一條指令一般需要4個系統時鐘周期。所述片上存儲器,是指用於加速目標程序的高速片上存儲器,其讀取一條指 令只需要1個系統時鐘周期,片上存儲器的存儲空間小於NOR快閃記憶體。所述地址空間,是指目標程序指令在NOR快閃記憶體中所有地址範圍的集合。所述待加速地址空間,是指目標程序在NOR快閃記憶體中的地址空間。地址空間 可以是集中位於NOR快閃記憶體的某部分地址空間,也可以是一組分散在NOR快閃記憶體的地 址空間中。所述硬體接口編程,對於集中位於NOR快閃記憶體中的待加速地址空間,具體為 把待加速地址空間的起始地址Al對應於片上存儲器的起始地址0地址,待加速 地址空間的其他地址通過其與起始地址的偏差對應到片上存儲器,在編程時,將待加速地址空間的起始地址Al及待加速地址空間的長度Ll存儲,通過這2個數 據進行接口對應,在讀取NOR快閃記憶體中的指令時,如果這個指令的地址AS在待加 速地址空間之中,即A1《AS《A1+L-1,即表明該指令的地址通過硬體接口編程 對應於片上存儲器的地址BS, BS=0+AS-A1;所述硬體接口編程,對於一組分散在NOR快閃記憶體中的待加速地址空間,具體為 把每個待加速地址空間的起始地址對應於當前未被對應的片上存儲器的起始地 址,待加速地址空間的其他地址通過其與起始地址的偏差對應到片上存儲器,在 編程時,首先將待加速地址空間從1到N編號,N為分散在NOR快閃記憶體中的待加速 地址空間數量,再將每個待加速地址空間的起始地址Ai及待加速地址空間的長 度Li存儲,1《i《N,通過這2N個數據進行接口對應,在讀取N0R快閃記憶體中的指 令時,如果這個指令的地址AS在某個待加速地址空間之中,即Ax《AS《Ax+Lx-l, 1《x《N,表明該指令的地址通過硬體接口編程對應於片上存儲器的地址BS, BS=0+Ll+L2+...+bcx+AS-Ax, xx=x-l 。與現有技術相比,本發明具有如下有益效果本發明不但引入了片上存儲器 加速的機制,提高了讀取速度,而且通過硬體接口編程,避免了複雜的軟體分配 策略的使用,同時可靈活支持不同大小的片上存儲器。本發明沒有兼容性問題, 應用程式無需針對本發明做任何修改即可使用。本發明的應用程式執行中可以最 多減少75%的指令讀取時間。
圖1為可編程片上存儲器接口 N0R快閃記憶體讀取加速數據流向圖;圖2為硬體接口編程示意圖。
具體實施方式
下面結合附圖對本發明的實施例作詳細說明本實施例在以本發明技術方案 為前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發明的保護 範圍不限於下述的實施例。本實施例中以基於NOR快閃記憶體執行的高級加密標準(AES)加密解密加速執行 中的應用為例。AES加密包含一個常用的S變換操作,該操作需要1024個字節的地址空間 用於存放常量數據;AES解密包含一個常用的S反變換操作,該操作同樣需要1024個字節的地址空間用於存放常量數據。每個S變換操作根據加密數據的不同需要 在1024個字節的S變換常量空間中讀取16個常量數據,每次AES加密至少需要 48個S變換操作;每個S反變換操作根據解密數據的不同需要在1024個字節的 S反變換常量空間中讀取16個常量數據,每次AES解密至少需要48個S反變換 操作。本實施例中對S變換及S反變換進行加速,即將1024+1024= 2048個字節的數據存入片上存儲器進行讀取加速,處理過程如下如圖1,首先通過數據輸入將外部接口傳輸過來的AES加密解密代碼全部寫 入NOR快閃記憶體中。其次分析AES指令,確定待加速地址空間,其中S變換操作的 地址空間位於N0R快閃記憶體上地址0xl720-0xlB19,S反變換操作的地址空間位於N0R 快閃記憶體上地址0xlD20-0x2119。然後,如圖2,待加速地址空間已經確定,待加速地址空間1的起始地址A1 為0x1720,長度Ll為0x400;待加速地址空間2的起始地址A2為0xlD20,長 度L2為0x400。再通過硬體接口編程將待加速地址空間與片上存儲器對應,對 應待加速地址空間1的對應地址空間1位於片上存儲器上地址0x000-0x399 (L1-1);對應待加速地址空間2的對應地址空間2位於片上存儲器上地址0x400 (Ll) -0x799 (Ll+L2-1)。在執行AES加密解密指令AS (AS為該指令在NOR快閃記憶體中的地址)時,首先 根據己經存儲的加速地址空間的起始地址Al, A2及待加速地址空間的長度Ll, L2判斷該指令是否為可加速的指令。如果A1《AS《A1+L1-1,則AS為可加速指 令,其對應的片上存儲器地址為AS-Al;如果A2《AS《A2+L1-1,則AS為可加速 指令,器對應的片上存儲器地址為L1+AS-A2;如果為其他情況,則AS為不可加 速指令,由圖1中的低速數據輸出給出指令。如果AS為可加速指令,則由圖1中的高速輸出控制判斷是否為第一次指令 讀取。如果為第一次指令讀取,則由低速數據輸出給出指令並將指令存儲到指令 AS對應的片上存儲器地址中;如果不是第一次指令讀取,則直接從片上存儲器 將指令AS對應的片上存儲器中讀出指令。本實施例在不考慮第一次加速指令讀取的低速數據輸出時,可以將多個時鐘 周期的單條指令讀取減少至一個時鐘周期,對於讀取一條指令一般需要4個系統 時鐘周期的NOR快閃記憶體,可以達到4倍讀取的加速效果。
權利要求
1、一種可編程片上存儲器接口的NOR快閃記憶體讀取加速控制的方法,其特徵在於,首先,在NOR快閃記憶體所需執行的目標程序指令中,根據目標程序在NOR快閃記憶體中的地址空間情況對NOR快閃記憶體與片上存儲器的接口進行配置,具體如下如果目標程序的指令集中位於NOR快閃記憶體的地址空間時,通過硬體接口編程將待加速地址空間與片上存儲器相對應;如果目標程序的指令分散於NOR快閃記憶體中的地址空間時,則將這些分散的待加速地址空間通過硬體接口編程與片上存儲器上不同的地址空間相對應;然後,在第一次執行目標程序時,讀取NOR快閃記憶體中的目標程序指令,同時把讀取的指令通過接口傳入片上存儲器;在隨後執行目標程序的過程中,系統直接讀取片上存儲器中的目標程序指令執行,不需要讀取NOR快閃記憶體中的目標程序指令,而系統在執行其他指令時,依然讀取NOR快閃記憶體中的指令執行。
2、 根據權利要求1所述的可編程片上存儲器接口的NOR快閃記憶體讀取加速控制 的方法,其特徵是,所述N0R快閃記憶體,是指用於存儲指令的非易失性存儲器,負 責存儲嵌入式系統執行的所有指令,包括目標程序的指令。
3、 根據權利要求1或2所述的可編程片上存儲器接口的NOR快閃記憶體讀取加速 控制的方法,其特徵是,所述NOR快閃記憶體,其讀取一條指令需要4個系統時鐘周期。
4、 根據權利要求1所述的可編程片上存儲器接口的NOR快閃記憶體讀取加速控制 的方法,其特徵是,所述片上存儲器,其存儲空間小於N0R快閃記憶體。
5、 根據權利要求1或4所述的可編程片上存儲器接口的N0R快閃記憶體讀取加速 控制的方法,其特徵是,所述片上存儲器,其讀取一條指令需要1個系統時鐘周 期。
6、 根據權利要求1所述的可編程片上存儲器接口的N0R快閃記憶體讀取加速控制 的方法,其特徵是,所述硬體接口編程,對於集中位於NOR快閃記憶體中的待加速地址 空間,具體為把待加速地址空間的起始地址A1對應於片上存儲器的起始地址 0地址,待加速地址空間的其他地址通過其與起始地址的偏差對應到片上存儲 器,在編程時,將待加速地址空間的起始地址Al及待加速地址空間的長度Ll 存儲,通過這2個數據進行接口對應,在讀取N0R快閃記憶體中的指令時,如果這個指令的地址AS在待加速地址空間之中,即A1《AS《A1+L-1,表明該指令的地址通 過硬體接口編程對應於片上存儲器的地址BS, BS=0+AS-A1。
7、根據權利要求1所述的可編程片上存儲器接口的NOR快閃記憶體讀取加速控制 的方法,其特徵是,所述硬體接口編程,對於一組分散在NOR快閃記憶體中的待加速地 址空間,具體為把每個待加速地址空間的起始地址對應於當前未被對應的片上 存儲器的起始地址,待加速地址空間的其他地址通過其與起始地址的偏差對應到 片上存儲器,在編程時,首先將待加速地址空間從1到N編號,N為分散在NOR 快閃記憶體中的待加速地址空間數量,再將每個待加速地址空間的起始地址Ai及待加 速地址空間的長度Li存儲,1《i《N,通過這2N個數據進行接口對應,在讀取 N0R快閃記憶體中的指令時,如果這個指令的地址AS在某個待加速地址空間之中,即 Ax《AS《Ax+Lx-l, 1《x《N,表明該指令的地址通過硬體接口編程對應於片上存 儲器的地址BS, BS:0+Ll+L2+…+Lxx+AS-Ax, xx=x—1。
全文摘要
一種嵌入式存儲技術領域的可編程片上存儲器接口的NOR快閃記憶體讀取加速控制的方法,首先,在NOR快閃記憶體所需執行的目標程序指令中,根據目標程序在NOR快閃記憶體中的地址空間情況對NOR快閃記憶體與片上存儲器的接口進行配置;然後,在第一次執行目標程序時,讀取NOR快閃記憶體中的目標程序指令,同時把讀取的指令通過接口傳入片上存儲器;在隨後執行目標程序的過程中,系統直接讀取片上存儲器中的目標程序指令執行,而不需要讀取NOR快閃記憶體中的目標程序指令,而系統在執行其他指令時,依然讀取NOR快閃記憶體中的指令執行。本發明提高了讀取速度,而且通過硬體接口編程,可靈活支持不同大小的片上存儲器,避免了兼容性問題。
文檔編號G06F12/08GK101266577SQ200810035210
公開日2008年9月17日 申請日期2008年3月27日 優先權日2008年3月27日
發明者劉文江, 戎蒙恬, 王子維, 王永棟, 強 韓 申請人:上海交通大學