嵌入式系統及其管理方法
2023-10-30 04:36:22 4
專利名稱:嵌入式系統及其管理方法
技術領域:
本發明有關於嵌入式系統(embedded system),且特別有關於一種用於管理嵌入 式系統以增強其性能的方法及相關的嵌入式系統。
背景技術:
嵌入式系統被用在許多電子設備中,諸如行動電話及個人數字助理 (personaldigital assistant,以下簡稱PDA)。典型地,嵌入式系統的硬體資源 (hardwareresource)受到緊湊設計(compact design)的限制。由於嵌入式系統的硬體資 源將嚴格受限,因而對於渴望降低成本的製造商而言情形將會更糟。因此,幾乎所有低成本 嵌入式系統均存在性能退化的現象。舉例來說,運行速度慢,以及存儲器帶寬時常不足。因 此,需要一種用於增強嵌入式系統性能的方法。
發明內容
有鑑於此,特提供以下技術方案本發明實施例提供一種嵌入式系統管理方法,包含依據至少一個標準選取第一存 儲器及第二存儲器中的一個,其中選定的存儲器作為源,嵌入式系統自源中讀取至少一個 程序的多個指令,且第一存儲器的存取速度不同於第二存儲器的存取速度;以及控制嵌入 式系統通過利用選定的存儲器作為源以執行至少一個程序。本發明實施例另提供一種嵌入式系統,包含高速緩存及處理器。高速緩存高速存 取用於嵌入式系統的信息;處理器控制嵌入式系統的多個操作,其中處理器依據至少一個 標準選取第一存儲器及第二存儲器中的一個,選定的存儲器作為源,嵌入式系統自源讀取 至少一個程序的多個指令,且第一存儲器的存取速度不同於第二存儲器的存取速度;其中 處理器控制嵌入式系統通過利用選定的存儲器作為源以執行至少一個程序。以上所述的嵌入式系統管理方法及嵌入式系統可以以最佳方式管理嵌入式系統 及存儲器之間的存儲器帶寬,從而增強嵌入式系統的性能。
圖1是依據本發明第一實施例的嵌入式系統的示意圖。圖2是依據本發明實施例的嵌入式系統管理方法的流程圖。圖3是依據本發明實施例的控制程序。圖4是依據本發明另一個實施例的控制程序。圖5是依據本發明第二實施例的嵌入式系統的示意圖。圖6是依據本發明實施例的多個程序的範例的示意圖。
具體實施例方式在說明書及權利要求書當中使用了某些詞彙來指稱特定的組件。所屬領域中的技術人員應可理解,製造商可能會用不同的名詞來稱呼同樣的組件。本說明書及權利要求 書並不以名稱的差異來作為區分組件的方式,而是以組件在功能上的差異來作為區分的基 準。在通篇說明書及權利要求書當中所提及的「包含」是開放式的用語,故應解釋成「包含 但不限定於」。另外,「耦接」一詞在此包含任何直接及間接的電氣連接手段。因此,若文中 描述第一裝置耦接於第二裝置,則代表第一裝置可直接電氣連接於第二裝置,或透過其它 裝置或連接手段間接地電氣連接至第二裝置。圖1是依據本發明第一實施例的嵌入式系統100的示意圖。嵌入式系統100包含 處理器112、高速緩存(cache) 114以及帶寬測量單元116,且更包含第一存儲器及第二存儲 器,其中第二存儲器是易失性存儲器(volatile memory),例如動態隨機存儲器(dynamic random access memory,以下簡稱DRAM) 120,而第一存儲器是非易失性存儲器,例如快閃記憶體 130。依據本實施例,處理器112、高速緩存114以及帶寬測量單元116集成在嵌入式系統 100的集成電路(例如嵌入式系統晶片110)中,而DRAM 120及快閃記憶體130被視為嵌入式系統 100的一部分。應注意,上述描述僅用於說明的目的,其並非本發明的限制。依據另一個實 施例,DRAM 120或快閃記憶體130也可以被視為放置在嵌入式系統100之外的組件。依據本實施例,在程序代碼(program code)(例如圖1中的代碼112C,代碼112C 也可以是改變形式的代碼112C』或代碼112C」,其中代碼112C』及代碼112C」沒有顯示在 圖1中)的控制下,處理器112控制嵌入式系統100的操作,而高速緩存114自第一存儲器 或第二存儲器為嵌入式系統100高速存取信息,其中第一存儲器(例如快閃記憶體130)儲存嵌入 式系統100 (且更確切地說,藉由處理器112)待執行的多個程序。進一步,在代碼112C的 控制下,處理器112能夠依據至少一個標準自第一存儲器(例如,快閃記憶體130)或第二存儲器 (例如,DRAM 120)中選取一個存儲器,其中選定的存儲器作為源(source),嵌入式系統100 自源中可讀取至少一個程序的多個指令。因此,處理器112可控制嵌入式系統100通過利 用選定的存儲器作為源以執行所述程序。典型地,第一存儲器的存取速度不同於第二存儲器的存取速度。具體地說,第二存 儲器的存取速度比第一存儲器的存取速度高。當選定的存儲器是第二存儲器時,處理器112 預先將程序的多個指令自第一存儲器拷貝至第二存儲器,以便控制嵌入式系統通過利用第 二存儲器作為源以執行所述程序。舉例來說,在DRAM 120的存取速度比快閃記憶體130的存取速 度快的情形下,當選定的存儲器是DRAM 120時,處理器112預先將程序的多個指令從快閃記憶體 130拷貝至DRAM120,以便控制嵌入式系統100通過利用DRAM 120作為源以執行所述程序。依據本實施例,通過偵測DRAM 120的某些特性,帶寬測量單元116可產生至少一 個存儲器帶寬測量結果,並且當需要時,處理器112可獲取由帶寬測量單元116產生的存儲 器帶寬測量結果。可選地,DRAM 120可經由帶寬測量單元116發送中斷(interrupt)到處 理器112。此外,處理器112可以使能(enable)或禁能(disable)帶寬測量單元116的操 作。處理器112也可以按要求配置帶寬測量單元116。下面將參考圖2做進一步的解釋。圖2是依據本發明實施例的增強嵌入式系統性能的嵌入式系統管理方法910的流 程圖。嵌入式系統管理方法910可被應用於嵌入式系統100,其詳細描述如下。在步驟912中,在代碼112C的控制下,處理器112依據至少一個標準選取第一存 儲器(例如快閃記憶體130)及第二存儲器(例如DRAM 120)中的一個,其中選定的存儲器作為 源,嵌入式系統100自源中讀取至少一個程序的多個指令。在一個實施例中,上述標準對應於所述程序的一個程序類型。在另一個實施例中,上述標準對應於第一存儲器及第二存 儲器中的一個的至少一個存儲器帶寬測量結果,其中存儲器帶寬測量結果由帶寬測量單元 116產生。因此,處理器112可自帶寬測量單元116獲取第一存儲器及第二存儲器中的一個 的至少一個存儲器帶寬測量結果。隨後,處理器112決定所述至少一個存儲器帶寬測量結 果是否比存儲器帶寬測量閾值大,以及依據決定結果選取第一存儲器及第二存儲器中的一 個。在又一個實施例中,所述至少一個標準包含由第一標準及第二標準組成的多個標準,其 中第一標準對應於第一存儲器及第二存儲器中的一個的至少一個存儲器帶寬測量結果,而 第二標準對應於程序的一個程序類型。在步驟914中,在代碼112C的控制下,處理器112控制嵌入式系統100通過利用選 定的存儲器作為源以執行程序。舉例來說,當第一存儲器被選定時,處理器112利用高速緩 存114自第一存儲器(例如快閃記憶體130)中為嵌入式系統100高速存取第一程序的多個命令, 以及控制嵌入式系統100通過利用快閃記憶體130作為源以執行第一程序。此外,在處理器112 預先將第二程序的多個指令自第一存儲器拷貝至第二存儲器的情形下,處理器112利用高 速緩存114自第二存儲器(例如DRAM 120)中為嵌入式系統100高速存取第二程序的多個 指令,以及控制嵌入式系統100通過利用DRAM 120作為源以執行第二程序。請注意,因為用於執行第一程序及第二程序的處理器112及用於高速存取第一程 序及第二程序的多個指令的高速緩存114集成在嵌入式系統晶片110中,並且因為第一存 儲器及第二存儲器未集成在嵌入式系統晶片110中,因此在執行第一程序及第二程序期 間,高速緩存114是嵌入式系統100的唯一高速緩存。依據本實施例,通過適當選取第一 存儲器及第二存儲器中的一個作為源,處理器112可以以最佳方式管理嵌入式系統100及 DRAM 120之間的存儲器帶寬,以便增強嵌入式系統100的性能。圖3是依據本發明實施例包含圖2所示嵌入式系統管理方法910的實施細節的控 製程序920,其中本實施例是圖2所示的實施例的操作方案(operationalscenario)。控制 程序920的詳細描述如下。在步驟922中,在程序代碼(例如代碼112C的變形,代碼112C』 )的控制下,處理 器112獲取至少一個存儲器帶寬測量結果BW。在本實施例中,存儲器帶寬測量結果BW指示 用於嵌入式系統100的DRAM的傳輸能力。在步驟924中,在代碼112C,的控制下,處理器112決定存儲器帶寬測量結果BW 是否比存儲器帶寬測量閾值BWth大。若處理器112決定存儲器帶寬測量結果BW比存儲器 帶寬測量閾值BWth大,控制程序920轉至步驟926 ;否則,控制程序920轉至步驟928。在步驟926中,在代碼112C』的控制下,處理器112控制嵌入式系統100以利用 DRAM 120作為源。在步驟928中,在代碼112C』的控制下,處理器112控制嵌入式系統100以利用閃 存130作為源。請注意,快閃記憶體130中儲存有多個程序。通過動態選取第一存儲器(例如快閃記憶體130) 及第二存儲器(例如DRAM 120)中的一個作為源,處理器112可以以最佳方式管理嵌入式 系統100及DRAM 120之間的存儲器帶寬,以便增強嵌入式系統100的整體性能。舉例來說, 當程序是音頻回放(playback)程序或視頻回放程序時,由於大量的音頻/視頻資料,嵌入 式系統100及DRAM 120之間的存儲器帶寬可能不足。在所述困難情況下,處理器112可控制嵌入式系統100以利用快閃記憶體130作為源,以便消除DRAM存取的瓶頸(bottleneck)。在另 一個範例中,當所述程序是初始化程序(initialization program)或不佔用大量存儲器帶 寬的某一程序,而非音頻回放程序或視頻回放程序時,嵌入式系統100及DRAM 120之間的 存儲器帶寬通常將是充足的,故而處理器112可控制嵌入式系統100以利用DRAM 120作為 源,以便節省用於提取程序的多個指令的時間。圖4是依據本發明另一個實施例包含圖2所示嵌入式系統管理方法910的實施細 節的控制程序930,其中本實施例是圖2所示實施例的另一操作方案。控制程序930的詳細 描述如下。在步驟932中,在程序代碼(例如代碼112C的變形,代碼112C」)的控制下,處理 器112依據程序的程序類型選取DRAM 120及快閃記憶體130中的一個。舉例來說,當程序類型 指示程序是需要大量存儲器帶寬的音頻回放程序或視頻回放程序時,處理器112選取快閃記憶體 130作為源。在另一個範例中,當程序類型指示程序是初始化程序或不要求大量存儲器帶寬 的某一程序時,處理器112選取DRAM120作為源。在步驟934中,在代碼112C」的控制下,處理器112控制嵌入式系統100以利用選 定的存儲器(也就是說,在步驟932中選定的快閃記憶體130或DRAM 120)作為源。在實施中,通過 將至少一個控制寄存器(register)設置為對應於選定的存儲器的預設值(predetermined value),處理器112可控制嵌入式系統100以利用選定的存儲器作為源。依據另一個實施例,步驟912中所述的至少一個標準包含多個標準,例如分別作 為控制程序920及作為控制程序930實施的第一標準及第二標準。舉例來說,控制程序930 及控制程序920可順序(in serial)執行,其中步驟922接著步驟934執行。換句話說,本實 施例的組合控制程序自包含步驟932及步驟934的第一子程序(sub-procedure)開始,由 第二子程序繼續執行,其中第二子程序包含由圖3所示步驟922、步驟924、步驟926及步驟 928組成的迴路(loop)。在實施中,處理器112可依據程序的程序類型設定預設(default) 存儲器選取,以及隨後依據最新的存儲器帶寬測量結果動態選取第一存儲器及第二存儲器 中的一個。應注意,以上描述僅用於說明的目的,並非為本發明的限制。可選地,處理器112 可依據第一標準及第二標準選取第一存儲器及第二存儲器中的一個作為預設存儲器選取。在實施中,處理器112依據程序的程序類型以及至少一個存儲器帶寬測量結果選 取第一存儲器及第二存儲器中的一個作為預設存儲器選取,以及隨後依據最新的存儲器帶 寬測量結果動態選取一個存儲器。舉例來說,對應於程序的程序類型的第一標準及對應於 存儲器帶寬測量結果的第二標準的優先級(priority)可被預先設定。若第一標準的優先 級比第二標準的優先級高,處理器112首先依據第一標準,隨後依據第二標準選取第一存 儲器及第二存儲器中的一個。圖5是依據本發明的第二實施例的嵌入式系統200的示意圖,其中嵌入式系統200 包含處理器212以及高速緩存114,並且處理器212執行代碼212C。嵌入式系統200更包 含第一存儲器及第二存儲器,其中第二存儲器是易失性存儲器,例如DRAM 120,而第一存儲 器是非易失性存儲器,例如快閃記憶體130。依據本實施例,處理器212以及高速緩存114集成在 嵌入式系統200的集成電路(例如嵌入式系統晶片210)中,而DRAM 120及快閃記憶體130被視 為嵌入式系統200的一部分。其中除了不包含帶寬測量單元116以外,嵌入式系統200的 組成元件及功能類似於圖1所示嵌入式系統100中對應組成元件及功能。
7
請注意,嵌入式系統管理方法910及控制程序930也可以應用於嵌入式系統200。 基於以上對於嵌入式系統100的描述,本領域相關的技術人員能夠了解嵌入式系統200如 何執行上述操作及實現上述功能。因此,為簡潔起見,此處不對其作進一步描述。圖6是依據本發明的一個實施例的多個程序的範例,其中所述多個程序是被儲存 在快閃記憶體130內的不同存儲體(memory bank)中,所述存儲體例如存儲體0_3。當控制程序930應用於本實施例時,由於各個程序類型的程序已被分別儲存在預 設存儲體(例如圖6中所示的存儲體0、存儲體1、存儲體2及存儲體3)中,因此所述標準 可被簡化。舉例來說,至少一個初始化程序被儲存在存儲體0中。此外,視頻回放程序及視 頻處理程序(在圖6中被標記為「應用程式視頻」)被儲存在存儲體1中,而音頻回放程序 及音頻處理程序(在圖6中被標記為「應用程式音頻」)被儲存在存儲體2中。進一步地, 一些其他程序被儲存在存儲體3中。因此,通過預先分析存儲體0、存儲體1、存儲體2及存 儲體3中程序的程序類型以獲取分析結果來作為參考,本實施例的處理器可依據分析結果 及存儲體編號簡單地選取一個存儲器作為源。應注意,以上描述僅用於說明的目的,而並非 本發明的限制。依據本實施例的一種變化實施例,處理器不需要預先分析存儲體0、存儲體 1、存儲體2及存儲體3中程序的程序類型。在此變化實施例中,預設表被提供,其中預設表 包含存儲體編號與對應存儲器之間的關係。因此,處理器可依據預設表及儲存程序的存儲 體的存儲體編號簡單地選取一個存儲器作為源。綜上所述,以上例示的嵌入式系統及用於管理嵌入式系統的方法可以以最佳方式 管理嵌入式系統及DRAM 120之間的存儲器帶寬,從而增強嵌入式系統的性能。以上所述僅為本發明的較佳實施例,本領域相關的技術人員依據本發明的精神所 做的等效變化與修改,都應當涵蓋在權利要求書內。
權利要求
一種嵌入式系統管理方法,包含依據至少一個標準選取第一存儲器及第二存儲器中的一個,其中該選定的存儲器作為源,該嵌入式系統自該源中讀取至少一個程序的多個指令,且該第一存儲器的存取速度不同於該第二存儲器的存取速度;以及控制該嵌入式系統通過利用該選定的存儲器作為該源以執行該至少一個程序。
2.根據權利要求1所述的嵌入式系統管理方法,更包含自該選定的存儲器中高速存取該至少一個程序的該多個指令。
3.根據權利要求2所述的嵌入式系統管理方法,其特徵在於,用於執行該至少一個程 序的處理器及用於高速存取該至少一個程序的該多個指令的高速緩存被集成在該嵌入式 系統的集成電路中。
4.根據權利要求1所述的嵌入式系統管理方法,其特徵在於,該第二存儲器的該存取 速度比該第一存儲器的該存取速度高;以及該嵌入式系統管理方法更包含當該選定的存儲器是該第二存儲器時,預先將該至少一個程序的該多個指令自該第一 存儲器拷貝至該第二存儲器,以便控制該嵌入式系統通過利用該第二存儲器作為該源以執 行該至少一個程序。
5.根據權利要求4所述的嵌入式系統管理方法,其特徵在於,該第二存儲器是易失性 存儲器,該第一存儲器是非易失性存儲器,以及該至少一個標準中的一個對應於該第二存 儲器的至少一個存儲器帶寬測量結果。
6.根據權利要求1所述的嵌入式系統管理方法,其特徵在於,該至少一個標準中的一 個對應於該第一存儲器及該第二存儲器中的一個的至少一個存儲器帶寬測量結果,以及該 嵌入式系統管理方法更包含獲取該第一存儲器及該第二存儲器中的一個的該至少一個存儲器帶寬測量結果。
7.根據權利要求6所述的嵌入式系統管理方法,其特徵在於,獲取該至少一個存儲器 帶寬測量結果的步驟包含決定該至少一個存儲器帶寬測量結果是否比存儲器帶寬測量閾 值大,以及依據該至少一個標準選取該第一存儲器及該第二存儲器中的一個的步驟包含依 據該決定步驟的決定結果選取該第一存儲器及該第二存儲器中的一個。
8.根據權利要求1所述的嵌入式系統管理方法,其特徵在於,該至少一個標準中的一 個對應於該至少一個程序的一個程序類型。
9.一種嵌入式系統,包含高速緩存,高速存取用於該嵌入式系統的信息;以及處理器,控制該嵌入式系統的多個操作,其中該處理器依據至少一個標準選取第一存 儲器及第二存儲器中的一個,該選定的存儲器作為源,該嵌入式系統自該源讀取至少一個 程序的多個指令,且該第一存儲器的存取速度不同於該第二存儲器的存取速度;其中該處理器控制該嵌入式系統通過利用該選定的存儲器作為該源以執行該至少一 個程序。
10.根據權利要求9所述的嵌入式系統,其特徵在於,該處理器利用該高速緩存自該選 定的存儲器高速存取該至少一個程序的該多個指令。
11.根據權利要求10所述的嵌入式系統,其特徵在於,該處理器及該高速緩存集成在 該嵌入式系統的集成電路中。
12.根據權利要求9所述的嵌入式系統,其特徵在於,該第二存儲器的該存取速度比該 第一存儲器的該存取速度高;以及當該選定的存儲器是該第二存儲器時,該處理器預先將 該至少一個程序的該多個指令自該第一存儲器拷貝至該第二存儲器,以便控制該嵌入式系 統通過利用該第二存儲器作為該源以執行該至少一個程序。
13.根據權利要求12所述的嵌入式系統,其特徵在於,該第二存儲器是易失性存儲器, 該第一存儲器是非易失性存儲器,該至少一個標準中的一個對應於該第二存儲器的至少一 個存儲器帶寬測量結果;以及該嵌入式系統更包含帶寬測量單元,產生該第二存儲器的該至少一個存儲器帶寬測量結果。
14.根據權利要求9所述的嵌入式系統,其特徵在於,該至少一個標準中的一個對應於 該第一存儲器及該第二存儲器中的一個的至少一個存儲器帶寬測量結果;以及該嵌入式系 統更包含帶寬測量單元,產生該至少一個存儲器帶寬測量結果,其中該處理器自該帶寬測量單 元獲取該第一存儲器及該第二存儲器中的一個的該至少一個存儲器測量結果,決定該至少 一個存儲器測量結果是否比存儲器帶寬測量閾值大,以及依據該決定的決定結果選取該第 一存儲器及該第二存儲器中的一個。
15.根據權利要求9所述的嵌入式系統,其特徵在於,該至少一個標準中的一個對應於 該至少一個程序的一個程序類型。
全文摘要
本發明提供一種嵌入式系統管理方法及嵌入式系統。嵌入式系統管理方法包含依據至少一個標準選取第一存儲器及第二存儲器中的一個,其中選定的存儲器作為源,嵌入式系統自源中讀取至少一個程序的多個指令,且第一存儲器的存取速度不同於第二存儲器的存取速度;以及控制嵌入式系統通過利用選定的存儲器作為源以執行至少一個程序。以上所述的嵌入式系統管理方法及嵌入式系統可以以最佳方式管理嵌入式系統及存儲器之間的帶寬,從而增強嵌入式系統的性能。
文檔編號G06F13/16GK101986286SQ201010149929
公開日2011年3月16日 申請日期2010年4月19日 優先權日2009年7月28日
發明者林威憲, 江英傑 申請人:聯發科技股份有限公司