TWI336840B - Code swapping in embedded dsp systems - Google Patents

Code swapping in embedded dsp systems Download PDF

Info

Publication number
TWI336840B
TWI336840B TW095101314A TW95101314A TWI336840B TW I336840 B TWI336840 B TW I336840B TW 095101314 A TW095101314 A TW 095101314A TW 95101314 A TW95101314 A TW 95101314A TW I336840 B TWI336840 B TW I336840B
Authority
TW
Taiwan
Prior art keywords
code
memory
digital signal
signal processor
internal memory
Prior art date
Application number
TW095101314A
Other languages
English (en)
Other versions
TW200627146A (en
Inventor
Goyan Khalid
Original Assignee
Via Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Tech Inc filed Critical Via Tech Inc
Publication of TW200627146A publication Critical patent/TW200627146A/zh
Application granted granted Critical
Publication of TWI336840B publication Critical patent/TWI336840B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)

Description

1336840
1 I :丨 , 九、發明說明: ί【發明所屬之技術領域】 :· 本發明係有關於數位信號處理,特別是有關於在嵌入式 數位仏號處理系統内的碼調換彳⑺如swapping)。 · ! 1 【先前技術】 數位彳§號處理(Digital Signal Processing; DSP)係有關於電 ,信號之數位表現的檢查與處理。制數位錢處理所處理的 數位信號經常是真實世界音訊及/或視訊的數位表現。 數位信號處理往往涉及在時域、空間域、頻域、自我相 關域及/或小波(wavelet)域内檢查數位信號。在 數位信號-般鱗涉顺麵數料算。-但表 ,内時,則數位信號可能已執行了額外的數學計^上的 f種滤波可適用於數位錢。數位織亦有 壓縮/解_以及加密/解密的演算法則。做供…各種 所以贼雜倾财錄獅音駭/或視訊, 經常即時動作。因此,對數位信號所執 订的數予计异必須僅有少許或不顯著的延遲。這些數 ίίΐ:般用途的電腦系統(例如:桌上型電腦或Γ工作站)ίί 專Η的數位信號處理器(其英文縮寫亦是Dsp)所執行。)次疋 數位信號處理H係已被最佳姻以_數位 3 Ϊ微fi11 ^數位信號處理器―般係設計用“時處3 位仏谠,例如.透過使用—即時操作系統(慧伽
sy’RTOS)。即時操作系統係一似乎可以 P J 序處理任務,並—且==權= 務中斷低優先_任務。即_作系統—般管觀憶體^ 5 1336840 ί被特定ΐ務鎖住之單元記憶體的時間最小化,並且 取相同區塊記髓的齡最小鱗,允雜務_步1行時存 數位信號處理器―般制在I人式系統内。 係,整合到-較大裝置内的特殊用途電腦。嵌 係使用-已為特殊用途而客製化的小型(smaU f ^ f作系統。數位信號處理經常使_嵌式$ = 處理器以及-即時操作系統。 數位域 數位錢處理H與—細途電麟可使肖直接記 取(chrect memory access; DMA)存取可用的記憶體 = 用- DMA驅動器。DMA允許電腦系] 獨的微處理器)直接連到可用的記憶體。個耕(例如·早 數位信號處理器可能包含—微處理器與—些 (=tP men卿;亦被稱為内部或程式記憶體)。數 理器亦可制數位錢處理透過—外部資 == 部記憶體。外部 憶體、EEPROM等)。内部記憶體係具有許多超匕 如内二記憶體一般較快速且允許多項同時 記;r為了彌補這種限 1 == 沒有使用時’外部讀體可能被用來储存它們。 t被用以從外部記憶體將碼轉換二 5己隐體而14些技術經常被稱為碼調換(c〇de歸卯㈣)。 本技藝所熟知_調換技術-般係要求額外的硬體(例 6 =取記憶體(cache)以及記憶體管理單元)以 或對it號處理器的指令集執行額外擴充。額外的硬體及/ t 能ί增加數位信號處理器的複雜度及/或 數位信號處理額外硬體及/或對指令集擴充的 【發明内容】 是出位錢處理如顺碼的方法,包含:測定碼 出ϊ=ίί理器内的一内部記憶體中;以及並當碼被測定是 記憶體内時,將碼從此外部記憶體複製到此内部 5己憶體的一調換範圍區段。 在數位信號處理器内調換碼的系統,包含:一在此 内的理料的外部記紐;以及—在此數位信號處理器 、σ °己憶體。此内部記憶體包含:一低延遲碼區段(low ==0tesection)用以儲存低延遲碼;以及一調換範圍區段 用以儲存從此外部記憶體複製的碼。 一電腦系統,包含:一處理器;以及一此電腦系統可 =程式儲存裝置,此電腦系統内嵌-此處理ϋ可執行程式的 土了以,行一種在數位信號處理器内調換碼的方法。此方法包 3 ^則定碼是出現在此數位信號處理器外的一外部記憶體中, 在此數位k號處理器内的一内部記憶體中;以及當碼被測 定是出現在此外部記憶體内時,將碼從此外部記憶體複製到此 内部記憶體的一調換範圍區段。 【實施方式】 本發明的一些實施例會詳細描述如下。然而,除了詳細 描述外,本發明還可以廣泛地在其他的實施例施行,且本發明 1336840 的範圍不受限定,其以之後的專利範圍為準。並且,為提供更 清楚的描述及更容易理解本發明’圖示内各部分並沒有依^其 相對尺寸_,某些尺寸與其他糊尺度之比例已經被誇 不相關之細節部分也未完全繪出,以求圖示的簡潔。 為了清楚說明的理由,特殊的專門術語係被用於描述本 發明之圖示所圖解的較佳實施例中。然而,本發 特殊專門術語所限制,並且所應了解的是每—特定 所有以相同方式操作的技術均等物。 千係匕3 巧_實施_企圖在—沒有要求額外硬體及/或對數 號處理H齡紐充紐健航條行碼調換。請 參=「圖’其為本發明之—較佳數位信號處理器執行碼調^ 之實施例的方塊圖。一數位信號處理器10可能是一設叶用 信號處理的—般用途電腦,或是—已最佳化肋處理 的特殊用途微處理器。例如:數位信號處理器10可 此疋-单微晶片或一單整合電子電路(或稱積體電路(IC))。 本發_描述有特殊賤微處理㈣數位信號處 虚ΐ Π所應了解岐,本發明亦可適用於一執行數位信號 處理的一般用途電腦。 々廢信號處理器10可能包含内部記憶體13。例如:内部 可缺建立在數位錢處理11微晶片或1c内的記憶 號處理器1G可透過—内部匯流排17與内部記憶體 信號處理器⑴可能具有—提供連接到内部記憶 开π。1 ^過内部匯流排17)的直接記憶體存取(DMA)單 虚理H魅料12可以是由實體電路歧-可在數位信號 處理1§ 10執行的軟體元件所組成。 位信號處理n 10可具有中斷指令集的能力。數位 :二即時操作系統I (real-tune operatmg system; RT〇s))。例如:rt〇s 可能是一小 8 型(small-f0〇tprint)的操作系統。RT〇s 16係與數位信號處理器 ;1〇的指令集相容。 ° 數位信號處理器10可連接外部記憶體u。外部記憶體 11可能位於數位信號處理器微晶片或IC旁。外部記憶體 了藉由一外部資料匯流排18連接數位信號處理器1〇β 一 DMa ;,70可提供數位信號處理器10對外部記憶體的存取。此DMA 單元可能和被用以提供對内部記憶體13存取的DMA單元12 是相同的DMA單元。 ,位信號處理器1〇可能具有一連結器(linker)(未繪出)。 連結器可以是-程式元件(例如:—具有齡各種單^碼執行 所要求的碼的程序、背景程式(daem〇n)或服務)。連結器可能 藉由放置定義未定義符號的碼而解決未定義符號的參考資 例如.藉由獲得碼的起始位址以及碼的長度與碼對未定義 ,號的連結(例如:藉由定義未定義符號的碼替換未定義符 連結H亦可重新放置各種單元的碼於-記憶體空間使 ^當碼在執行時,各種單元_可以財與其它單元相關的正 確位置而使得碼成功執行。 根據本發明之實施例,程式記憶體13可能安排至少兩個 品#又。程式β己憶體π可被劃分成一低延遲瑪區段μ 〇〇w lately code section)。低延遲碼區段14的記憶體可能放置對數 =號處理H緊急的碼。例如:這些碼可能是被要求低延遲及 頻寬的碼。低延遲碼區段14可以是固定大小或者是可
Si例ΐ :低延遲碼區段14可能佔有將近内部記憶體13之 王邵的一半。 程式記憶體13亦可被劃分成一調換範圍區段15。調 =5的記憶體可放置對數位信號處理器較不緊急的碼。這此 =歧比數位信號處理H緊急碼要求較少頻寬 ^
思些碼可能是控制碼或是要求使用者互_ J 1336840 15可以是固定大小或者是可變大小。例如:調換範圍ι5可能 佔有將近内部記憶體13之全部的一半。 如以上所述,低延遲碼區段14和調換範圍15的大小是 可變的。例如:低延遲碼區段14的大小和調換範圍15的大小 係可依據數位信號處理器1〇的需求而改變。例如:假設數位 信號處理器10要求額外的低延遲碼區段14,則一部分原本分 配給調換範圍15的記憶體可能被重新分配給低延遲碼區段 14。又例如:假設數位信號處理器1〇要求額外的調換範圍15, 則一部分原本分配給低延遲碼區段14的記憶體可能被重新分 配給調換範圍15。然而,低延遲碼區段14與調換範圍15所 組合而成的大小可能不能超出内部記憶體13的大小。 調換範圍15可由RTOS 16控制。數位信號處理器1〇可 藉由使用^TOS Ιό及/或已被程式設計用吨行本發明之實施 例的連結H,執行本發明實侧的碼職。例如: 處理器可能藉由更新RT0S 16及/或連結器而轉 g 本發明之-❹缝_。,不 10的指令集,就可實施本發明之實施例。 ;π ' 如果必要時,RT〇S 16則可利用DMA 12從外部印揞舻 (調,)記憶體區塊的碼到調換範圍15。例如:一二: 號處理器10執行的數位信號處理應用式 : 行。當應用;= i的内之區塊的碼時,則所要求 丨1==!::;:範圍丨―可藉由 不需制止數位信號處理器同時『急碼的調換 急碼正在調換時,緊急碼及/或已出 急碼可能被執行以符合其他的任務。 根據本發明之一實施例’一“執行查看,,技術可能被用以調 換碼到調換範圍15内。請參照第二圖,其為本發明之一較^ 碼調換技術的示意圖。 , 例如:執行查看技術可能藉由修改聯結器的程式設計而 =施。例如:額外的指令集可被加到連結器以實施執行查看技 ,。根據本發明之一較佳實施例,一執行查看係一限定g排的 s己憶體區塊駐留在程式記憶體内一段特定期間(例如:直到一 丨執$亍,應用程式結束)。而包含一特定執行查看的記憶體區塊 可能是以一特定順序及/或記憶體位置(例如:相對於其他記憶 ,區塊)安置。包含一特定執行查看的記憶體區塊可能被連續 ;安置在程式記憶體内,或是在他們之間含有一或多個未使用或 其他應用程式所使用的記憶體間隙(gap)e每一執行查看可包含 希望執行一特殊元件碼的記憶體區塊。例如:一執行查看可能 包含執行一特定應用程式全部所需的記憶體區塊。當此元件的 =將被執行時,適當的執行查看將被載入程式記憶體的調換 i圍區段内。 此外,一特定元件的碼,例如:一應用程式可能要求連 ,多項的執行查看,在此情況下,—第—執行查看(RV1)可能 (列如·,時間T1)被載入程式記憶體的調換範圍區段内。在時 ,丁2’當應用程式要求不同組(set)的記憶體區塊時第一執行 —看(RV1)可能被從調換範圍區段清除,且一第二執行查看 (fV2)可能在時間T3被载入調換記憶體内。同理,在時間&, 备應用程式要求不同組的記憶體區塊時,第二執行查看(Rv 被從雛範圍區段清除,且—第三執行查看(RV3)可能在 時間丁5被載入記憶體内。 古# ΐ^執行查看(RV1、RV2以及RV3)可能包含一或多個含 有肩望執行之部分特定元件碼的記憶體區塊。此使得多項執行 1336840
查看可能包含-或多個姻的記憶體區塊。例如 f(RH和第二執行查看(RV2)均含有記憶體區塊1 _以^ S己憶體區塊2 (B2)。因此,當第—執行杳看识 塊5(B5)以及記憶體區塊6_覆寫替換時,U 體£塊1 (B1)以及記憶體區塊2 (B2)可能依舊留在記憶體内:
邮1_B6)可能全棘留在外部記憶體内時, 其等不需讀存當餘行查看。各種執行查看在必要時 ,由連結器將其在程式記憶體内組合,藉此相較於—次在外^ 記憶體内,更加最小化儲存相同記憶體區塊的需求。此外,^ >一執行查看在外部記憶體内可被預先歸類以加快複製到程式 S己憶體中。 ί 如以上所述,連結器可也被用以組合從外部記憶體到程
式記憶體之各種期望的記憶體區塊以形成所期望的執行查 看。連結器在連結期間可能完成(例如:藉由測定碼)一特定碼 兀件執行之下一階段所要求的定義與符號,並將此資訊插入一 表格中。此表格則可能在即時程式化DMA控制器的執行期間 被RTOS或其他軟體使用以完成碼調換。由連結器所產生的表 格可能駐留在資料記憶體且包含RT0S重要的資訊,例如:一 區塊的大小、區塊在外部記憶體内的起始位址、映射(mapping) 到&域程式記憶體的起始位址以及在一區塊内其他功能的來 !考資料。例如:對每一區塊而言,下列的項目可能是由連結器 所建立’並且可能駐留在資料記憶體内: ° 區塊序號:5 大小:1024 在外部記憶體内的起始位址:0xffi3335 在區域程式記憶體内的起始位址:0xl23ab 12 536840 參考資料· get data,start_counting,decode my image 參考資料可能是與一定義在可執行和可連結格式(ELF) 之值相關的符號。一符號可能對照一函數(亦稱功能)(例如: get_data)或一任務(例如:decode myjmage^)。 當要呼叫一函數或執行一任務時,如果參考資料不是在 區域程式記憶體内時,則RT0S可能先檢查參考資料然後使用 此表格執行碼調換。 根據本發狀-賴實麵,健任舰接,,技術係被 用以調換碼到調換範圍區段。請參閱第三圖,其為本發明之一 較)圭碼調_之技術的輕圖。根據此實關,單元的可 執行碼(例如:單元的任務)可能被儲存在外部記憶體内。然 RTOS可驗據轉呼叫科管此任敍齡在外部記憶體内 或内部記龍内(步驟S31)。例如:此可能藉由程式設計RT〇s 以識別儲存在外部記舰内之任務的可執行任務(例如 憶體内的任務實際被儲存在程式記憶體内時 糾•務衫儲存在程式記憶體内 務被縱战存在料記髓内時(是, 步驟S32),則此任務可以被執行(步·33)。如果此任務不 ,存在程歧舰β ’ ^是贿在外部記紐㈣(否,步驟 3巴^入所有執行此任務所需的記 述之執行查看技術㈣結n而加以實施。紐執2 務切換(步驟S35)。任務切換是當RT〇 塊被載入調換範圍區段時,執行另—任務(= 權的任務)。除了任務正載人的記鐘, g 時’除了即將執行任務所使用程i記憶體的=== 的 記麵的記嶋可_取當成程式記憶體 執ΐ(_S37)。如果啦沒有較高優“的ίί
,任務正在執行’壯在執行的任f ,的任務可被執行(步驟S33)。如果測定2 梵則成功載入的任務必須等較高優先權的任務S sfs) 5 雍了 ί,337及38係源於以優先權絲準之排程的範例。所 ,了解的疋,本發明之實施例係可利用除了步驟37及38 其他以優先權為基準之排程的實施替代步驟37及38。 卜 根據本發明之另-較佳實施例,一“伺候函數呼叫,,技術可 被用以調換碼到調換範圍區仙。此健 於上述之伺候任務連接技術。請參閲第四圖,其二 較佳碼調換所使用之“伺候函數呼叫,,技術的流程圖。 根據此實施例,可執行函數的函數庫可能儲存在 憶體内。絲RTOS可依據絲呼叫科管此聽的函數^ 儲存在外部記憶體内或内部記憶體内(步驟S41)。然後測^ 呼叫函數的函數庫是否儲存在程式記憶體内(步驟S42)。如 所呼叫函數的函數庫被測定是儲存在程式記憶體内時(是井 驟S42) ’則此函數可從函數庫被執行(步驟S43)。如果所呼^ 的函數不是儲存在程式記憶體内,而是儲存在外部記憶體内 (否,步驟S42),則RTOS可能命令DMA載入所有g行此函 數之必要的記憶體區塊到調換範圍區段(步驟S44)。例如:可
y是整體函數庫或單獨的函數被載入程 ,行-任細婦卿5)。錄行任務赠 =。广3 RTOS 甲’除了函數及/ 於程式記憶體中 多項存取單一記 :或,數庫載入的記憶體排,有必要執行另一位
同理’所應了解的是,本發明之實施例係可利 |驟47及48以外其他以優先權為基準之排程的實施替代步ς 47 及 48。 請參閱第五圖,其為一可實施本發明之方法與系統之 佳電腦系統的方塊圖。本發明之系統及方法可用軟體應用程= 的型式在一電腦系統(例如:大型電腦、個人電腦、手持^ 腦、伺服器等)執行。此軟體應用程式可能被儲存在一可藉由 電系統區域存取的§己錄媒體’及/或一可藉由硬體線路咬益 線連接網路(例如:區域網路或網際網路)存取的記錄媒體。…' 電腦系統一般參照如系統1000可能包含,例如:—中央 處理單元1001 (CPU)、隨機存取記憶體1004 (RAM)、一列^ 機介面1010、一顯示單元1011、一區域網路(LAN)資料傳送 控制器1005、一 LAN介面1006、一網路控制器1〇〇3、—内 部匯流排1002以及一或多個輸入裝置1009 (例如:一鍵盤、 15 滑鼠等)。如圖所系、統獅可能連接一資料儲存裝置(例 如··經由一連接器1007連接一硬碟1008)。 以上所述僅為本發明之較佳實施例而已,並非用以限定 本發明之申4專概圍;凡其他為麟本發_揭示之精神下 所完成之較改變祕飾,均應包含在τ狀巾請專利範圍。 【圖式簡單說明】 宭你發明之-祕數健號處理錄行碼調換之 實施例的方塊圖; 第一圖係本發明之一較佳碼調換技術的示意圖; 接,,技發明之-較佳碼調換所使用之“伺候任務連 叫,,技-較佳碼調換所使用之“伺候函數^ 的方圖係—可實施本發明之方法與线之較佳電腦系統 【主要元件符號說明】 10 數位信號處理器 11 外部記憶體 12 直接記憶體存取單元 13 内部記憶體 14 低延遲碼區段 15 調換範圍區段 16 .即時操作系統 17 内部匯流排 18 S31- 外部資料匯流排 •S38本發明之一較佳實施方法的流程步驟 S41-S48本㈣之較佳實施方法的流程步驟 1336840 1000 電腦糸統 1001 中央處理單元 1002 内部匯流排 1003 網路控制器 1004 隨機存取記憶體 1005 區域網路資料傳送控制器 1006 區域網路介面 1007 連接器 1008 硬碟 1009 輸入裝置 1010 列表機介面 1011 顯示單元
17

Claims (1)

1336840
' 攸止1 公告未 索號095101314 99年9月8日 十、申請專利範圍: 1.種在數位k號處理器内調換碼的方法,該在數位信 號處理器内調換竭的方法包含: 測疋碼疋出現在數位信號處理器外的一外部記憶體 中,或是出現在數位信號處理器内的一内部記憶體中;以 及 當碼被測定是出現在該外部記憶體中時,從該外部記憶 • 體將碼複製到該内部記憶體的一調換範圍區段内, 其中該内部記憶體包含一低延遲碼區段及該調換範圍 區段,該低延遲碼區段放置對數位信號處理器緊急的碼, 而該調換範圍放置對數位信號處理器較不緊急的碼; 其中碼從該内部記憶體被執行係依據以優先權為基準 的排程。 2·如申請專利範圍第1項所述之在數位信號處理器内 籲調換碼的方法,更包含當碼被測定是出現在該内部記憶體 中時,從該内部記憶體執行碼。 3. 如申請專利範圍第2項所述之在數位信號處理器内 調換碼的方法’其巾碼從_部記憶體被執行係依據以優 先權為基準的排程。 4. 如申請專利範圍第2項所述之在數位信號處理器内 調換碼的方法,更包含當碼已被從該外部記憶體複製到該 内部圮憶體内的調換範圍區段時,執行來自該内部記憶體 18 1336840 内該調換範圍區段的碼。 5. 如申請專利範圍第1項所述之在數位信號處理器内 調換碼的方法’其中碼是一較大應用程式之部分的記憶體 區塊碼。 6. 如申請專利範圍第5項所述之在數位信號處理器内 調換媽的方法,其中低延遲碼係出現在該内部記憶體的一 低延遲碼區段内’以及非低延遲碼係出現在外部記憶體内。 7·如申請專利範圍第6項所述之在數位信號處理器内 調換碼的方法,其中該内部記憶體的該低延遲碼區段係包 含該内部記憶體的一第一區段,以及該内部記憶體的該調 換範圍區段係包含該内部記憶體的一第二區段。 8. 如申請專利範圍第7項所述之在數位信號處理器内 調換碼的方法,其中該内部記憶體的該第一區段係佔據將 近一半的該内部記憶體,以及該内部記憶體的該第二區段 係佔據將近一半的該内部記憶體。 9. 如申請專利範圍第8項所述之在數位信號處理器内 調換碼的方法,其中該内部記憶體的該第一區段的大小與 該内部記憶體的該第二區段的大小係可依據該數位信號處 理器的需求而改變,以使得該内部記憶體的該第一區段與 »亥内δ己憶體的該第二區段所組合而成的大小不超出該内 部記憶體的大小。 1336840 10, 如申請專利範圍第5項所述之在數位信號處理器 内調換碼的方法,其中複數個記憶體區塊的碼係包含—較 大應用程式,並且對每一記憶體區塊的碼: 測定記憶體區塊的碼是出現在該外部記憶體中,或是 出現在該内部記憶體中;以及 當碼被測定是出現在該外部記憶體中,且當該數位信 波處理器要求每—該記憶體區塊時,該外部記憶體的碼係 被複製到該内部記憶體的該調換範圍區段内。 11. 如申請專利範圍第10項所述之在數位信號處理器 内調換碼的方法’其中—或多個該些記Μ區塊係執行該 較大應用程式之原本所需。 =.々申π專利範圍第1 1項所述之在數位信號處理器 内調換碼的方法’其中當該較大顧程式執行時,係需要 一或多個額外記憶體區塊。 =13.如申請專利範圍第η項所述之在數位信號處理器 内調換碼的方法,其中該—或多個該些執行該較大應用程 原本所鴻的s己憶體區塊係包含一執行查看。 14·如申請專利範圍第12摘叙在數純號處理器 “、馬的方法’其中該一或多個該些執行該較大應用程 ^本所需的記憶體區塊係包含—第—執行查看;以及一 °個額外έ己憶體區塊包含一或多個額外執行查看。 20 1336840 15. 如申請專利範圍第14項所述之在數位信號處理器 内調換碼的方法,其中多項執行查看可能具有一或多個共 同的記憶體區塊。 16. 如申請專利範圍第14項所述之在數位信號處理器 内調換碼的方法,其中每一該第一執行查看與額外的執行 查看係依序被複製到該内部記憶體的該調換範圍區段,以 使得在一下一執行查看被複製到該内部記憶體的該調換範 • 圍區段的一先前執行查看的範圍之前,該先前執行查看被 從該内部記憶體的該調換範圍區段移除。 17. 如申請專利範圍第10項所述之在數位信號處理器 内調換碼的方法,其中該較大應用程式係一可執行任務, 並且每一該些記憶體區塊的碼係一單元的可執行任務,並 且該數位信號處理器可執行該可執行任務,無論該些單元 的可執行任務是位於該外部記憶體内或該内部記憶體内。 # 18.如申請專利範圍第17項所述之在數位信號處理器 内調換碼的方法,其中當單元的可執行任務正被複製到該 内部記憶體的該調換範圍區段時,另一可執行任務可能被 執行。 : 19.如申請專利範圍第10項所述之在數位信號處理器 ·' 内調換碼的方法,其中該較大應用程式係一函數庫的可執 行函數,並且每一該些記憶體區塊的碼係一可執行的函 21 1336840 數,並且該數位信號處理器可執行該可執行函數,無論該 函數庫的可執行任務是位於該外部記憶體内或該内部記憶 體内。 20. 如申請專利範圍第19項所述之在數位信號處理器 内調換碼的方法,其中當一可執行函數正被複製到該内部 記憶體的該調換範圍區段時,另一可執行函數可能被執行。 21. —種在數位信號處理器内調換碼的系統,該在數位 • 信號處理器内調換碼的系統包含數位信號處理器外的一外 部記憶體,以及數位信號處理器内的一内部記憶體,該内 部記憶體包含一低延遲碼區段以及一調換範圍區段用以儲 存已從該外部記憶體複製的碼,該低延遲碼區段放置對數 位信號處理器緊急的碼,而該調換範圍放置對數位信號處 理器較不緊急的碼;其中來自該内部記憶體的碼係依據以 優先權為基準的排程執行。 • 22.如申請專利範圍第21項所述之在數位信號處理器 内調換碼的系統,其中位於該内部記憶體的碼係由數位信 •號處理器執行,位於該外部記憶體的碼係從該外部記憶體 被複製到該内部記憶體的該調換範圍區段,並且由數位信 '號處理器執行。 ' 23.如申請專利範圍第22項所述之在數位信號處理器 内調換碼的系統,其中一連結器單元將位於該外部記憶體 22 的焉複1到仙部記憶體的該調換範圍區段。 : 申味專利範圍第22項所述之在數位信號處理器 内調換碼的系統,其中—ΜΑ單元將位於該外部記憶體的 碼稷製到該内部記憶體的該職範圍區段。 二25.如申請專利範圍第22項所述之在數位信號處理器 内》 周換瑪的系統’其中—即時操作系統將位於該外部記憶 體的碼複製到該内部記憶體的該調換範圍區段。 26. 如申請專利範圍第22項所述之在數位信號處理器 周換媽的系統’其中位於該外部記憶體的碼係—記憶體 區塊碼H較大應峰式之部分的碼。 27. 如申請專利範圍第22項所述之在數位信號處理器 内調換碼的系統’其巾位於該内部記憶體的該低延遲碼區 段的碼係低延遲碼,位於該外部記憶體的碼係非低延遲碼。 28. 如申請專利範圍第22項所述之在數位信號處理器 内調換碼的系統,其中該内部記憶體的該低延遲碼區段係 包s該内部記憶體的一第一區段,該内部記憶體的該調換 範圍區段係包含該内部記憶體的一第二區段。 29. 如申請專利範圍第28項所述之在數位信號處理器 内調換碼的系統,其中該内部記憶體的該第一區段係佔有 將近一半的該内部記憶體,該内部記憶體的該第二區段係 佔有將近一半的該内部記憶體。 23 :30.如申凊專利範圍第28項所述之在數位信號處理器 内調換码的系統,其中該内部記憶體的該第一區段的大小 "、内。卩°己憶體的該第二區段的大小係可依據該數位信號 處理器的需求而改變,以使得該内部記憶體的該第—區段 〜内。己憶體的該第二區段所組合而成的大小不超出該 内部記憶體的大小。 ▲ 31_如中請專利範㈣26項所述之在數位信號處理器 鲁内調換碼的系統,其中複數個記憶體區塊的碼係包含—較 大應用程式,並且對每一記憶體區塊的碼: 一即時操作系統測定記憶體區塊的碼是出現在該外部 記憶體中,或是出現在該内部記憶體中;以及 虽6己憶體區塊的碼被測定是出現在該外部記憶體,且 當該數位信號處理器要求每一或多個該些記憶體區塊時, 該記憶體區塊的瑪係被複製到該内部記憶體的該調換範圍 • 區段。 32.如申請專鄕圍第31顧叙錢位信號處理器 _換碼的系統’其中一或多個該些記憶體區塊係執行該 較大應用程式之原本所需。 33·如申請專利範圍第31項所述之在數位信號處理器 内調換碼的系統,其中當該較大應用程式執行時,係需要 一或多個額外記憶體區塊。 24 1336840 34. 如申請專利範圍第32項所述之在數位信號處理器 内調換碼的系統,其中該一或多個該些執行該較大應用程 式原本所需的記憶體區塊係包含一執行查看。 35. 如申請專利範圍第33項所述之在數位信號處理器 内調換碼的系統,其中該一或多個該些執行該較大應用程 式原本所需的記憶體區塊係包含一第一執行查看,該一或 多個額外記憶體區塊係包含一或多個額外執行查看。 φ 36.如申請專利範圍第35項所述之在數位信號處理器 内調換碼的系統,其中多項執行查看可能具有一或多個共 同的記憶體區塊。 37. 如申請專利範圍第35項所述之在數位信號處理器 内調換碼的系統,其中每一該第一執行查看與額外的執行 查看係依序被複製到該内部記憶體的該調換範圍區段,以 使得在一下一執行查看被複製到該内部記憶體的該調換範 • 圍區段的一先前執行查看的範圍之前,該先前執行查看被 從該内部記憶體的該調換範圍區段移除。 38. 如申請專利範圍第31項所述之在數位信號處理器 内調換碼的系統,其中該較大應用程式係一可執行任務, : 並且每一該些記憶體區塊的碼係一單元的可執行任務,並 • 且該數位信號處理器可執行該可執行任務,無論該些單元 的可執行任務是位於該外部記憶體内或該内部記憶體内。 25 1336840 39. 如申請專利範圍第38項所述之在數位信號處理器 内調換碼的系統,其中當單元的可執行任務正被複製到該 内部記憶體的該調換範圍區段時,另一可執行任務可能被 執行。 40. 如申請專利範圍第31項所述之在數位信號處理器 内調換碼的系統,其令該較大應用程式係一函數庫的可執 行函數,並且每一該些記憶體區塊的碼係一可執行的函 • 數,並且該數位信號處理器可執行該可執行函數,無論該 函數庫的可執行任務是位於該外部記憶體内或該内部記憶 體内。 41. 如申請專利範圍第40項所述之在數位信號處理器 内調換碼的系統,其中當一可執行函數正被複製到該内部 記憶體的該調換範圍區段時,另一可執行函數可能被執行。 42. —電腦系統,該電腦系統包含: • 一處理器;以及 一可藉由該電腦系統讀取的程式儲存裝置,該程式儲 存裝置内嵌一該處理器可執行程式的指令以執行在數位信 號處理器内調換碼的步驟,該步驟包含: : 測定碼是出現在數位信號處理器外的一外部記憶體 中,或是出現在數位信號處理器内的一内部記憶體中;以 及 26 1336840 當碼被測定是出現在該外部記憶體十時,從該外部記 憶體將碼複製到該内部記憶體的一調換範圍區段内, 其中該内部記憶體包含一低延遲碼區段及該調換範圍 區段,該低延遲碼區段可能放置對數位信號處理器緊急的 碼,而該調換範圍可放置對數位信號處理器較不緊急的碼; 其中來自該内部記憶體的碼係依據以優先權為基準的 排程執行。 ^
27
TW095101314A 2005-01-19 2006-01-13 Code swapping in embedded dsp systems TWI336840B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/039,521 US20060225060A1 (en) 2005-01-19 2005-01-19 Code swapping in embedded DSP systems

Publications (2)

Publication Number Publication Date
TW200627146A TW200627146A (en) 2006-08-01
TWI336840B true TWI336840B (en) 2011-02-01

Family

ID=37015484

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095101314A TWI336840B (en) 2005-01-19 2006-01-13 Code swapping in embedded dsp systems

Country Status (3)

Country Link
US (1) US20060225060A1 (zh)
CN (1) CN100435102C (zh)
TW (1) TWI336840B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761864B2 (en) * 2005-08-09 2010-07-20 Intermec Ip Corp. Method, apparatus and article to load new instructions on processor based devices, for example, automatic data collection devices
US8151266B2 (en) * 2008-03-31 2012-04-03 Qualcomm Incorporated Operating system fast run command
TWI389030B (zh) * 2008-05-07 2013-03-11 Mstar Semiconductor Inc 於微處理器下載並執行程式碼的方法與電腦程式產品以及包含該微處理器之通訊裝置
KR101663545B1 (ko) * 2009-04-06 2016-10-07 시게이트 테크놀로지 엘엘씨 코드의 동적 재배치 방법 및 이를 이용한 디스크 드라이브
US9235458B2 (en) 2011-01-06 2016-01-12 International Business Machines Corporation Methods and systems for delegating work objects across a mixed computer environment
US8943475B2 (en) * 2011-01-17 2015-01-27 International Business Machines Corporation Methods and systems for interactive debugging in a mixed computer environment
CN106325822A (zh) * 2016-08-25 2017-01-11 江苏绿扬电子仪器集团有限公司 提升dsp运算性能的方法
CN108021392A (zh) * 2016-11-01 2018-05-11 中芯国际集成电路制造(上海)有限公司 处理器及其操作执行方法
US11054878B2 (en) * 2017-08-29 2021-07-06 Texas Instruments Incorporated Synchronous power state control scheme for multi-chip integrated power management solution in embedded systems

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152642A (ja) * 1993-11-29 1995-06-16 Hitachi Ltd データ領域拡張方式
US6044206A (en) * 1997-10-14 2000-03-28 C-Cube Microsystems Out of order instruction processing using dual memory banks
US20020034971A1 (en) * 1999-02-08 2002-03-21 Chienchung Chang Data allocation for multiple applications on a microprocessor or dsp
JP2002175265A (ja) * 2000-09-27 2002-06-21 Texas Instruments Inc 直接メモリ・アクセス・コントローラを有するディジタル信号プロセッサにおける複数の構成素子間での信号群交換装置および方法
US20030126394A1 (en) * 2001-12-27 2003-07-03 Storage Technology Corporation System and method for remote configuration of data storage space
GB2391337B (en) * 2002-04-26 2005-06-15 Motorola Inc Instruction cache and method for reducing memory conflicts
US7039661B1 (en) * 2003-12-29 2006-05-02 Veritas Operating Corporation Coordinated dirty block tracking

Also Published As

Publication number Publication date
CN100435102C (zh) 2008-11-19
US20060225060A1 (en) 2006-10-05
CN1838078A (zh) 2006-09-27
TW200627146A (en) 2006-08-01

Similar Documents

Publication Publication Date Title
TWI336840B (en) Code swapping in embedded dsp systems
TWI331299B (en) Command parsers, methods therefor, and graphic processing units using the same
TW384433B (en) Simultaneous data transfer through read and write buffers of a DMA controller
EP2241978A1 (en) Computer system, interrupt relay circuit and interrupt relay method
TWI793223B (zh) 支付方法、裝置及設備
JPH10187661A (ja) コンピュータにおけるスカラ値をベクトルに記入する方法
TW200839571A (en) Device and method for access time reduction by speculatively decoding non-memory read commands on a serial interface
CN110648034A (zh) 一种分配客服的方法及装置
TWI285319B (en) Method, device and system to issue message signaled interrupts
JPH0440588A (ja) 携帯可能電子装置
TW200933377A (en) Method and system for enhancing read performance in serial peripheral interface
CN109829811A (zh) 贷款方法和贷款装置
TW200821845A (en) Cache coherent split bus
CN110096355B (zh) 一种共享资源分配方法、装置和设备
CN108962358B (zh) 一种医疗信息处理方法
TWI636431B (zh) 於開戶後依據借款資料自動轉帳之系統及其方法
TW473668B (en) Dynamic I/O allocation in a partitioned computer system
TW384441B (en) Graphics processing method and apparatus thereof
KR102538344B1 (ko) 온라인 공간에서의 가상미용 서비스를 제공하는 장치 및 방법
TWI310516B (en) A method and system for saturating a left shift result using a standard shifter
CN110852731A (zh) 一种基金交易的方法以及相关装置
TW538381B (en) Method and circuits for associating a norm to each component of an input pattern presented to a neural network
TWM550451U (zh) 於開戶後依據借款資料自動轉帳之系統
KR102536025B1 (ko) 헬스케어 서비스를 지원하는 서버 및 그 제어 방법
JP6706708B2 (ja) 情報処理方法、情報処理装置、及びプログラム