CN1838078A - 在数字信号处理器内调换码的方法及系统 - Google Patents
在数字信号处理器内调换码的方法及系统 Download PDFInfo
- Publication number
- CN1838078A CN1838078A CNA2006100049278A CN200610004927A CN1838078A CN 1838078 A CN1838078 A CN 1838078A CN A2006100049278 A CNA2006100049278 A CN A2006100049278A CN 200610004927 A CN200610004927 A CN 200610004927A CN 1838078 A CN1838078 A CN 1838078A
- Authority
- CN
- China
- Prior art keywords
- digital signal
- signal processor
- internal storage
- sign indicating
- indicating number
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000003860 storage Methods 0.000 claims description 95
- 230000005055 memory storage Effects 0.000 claims description 48
- 230000006870 function Effects 0.000 claims description 45
- 230000008859 change Effects 0.000 claims description 7
- 230000001934 delay Effects 0.000 claims 2
- 238000005516 engineering process Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program 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)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
- Microcomputers (AREA)
Abstract
一种在数字信号处理器内调换码的方法,此方法包括测定码是出现在此数字信号处理器外的一外部存储器内,或是出现在此数字信号处理器内的一内部存储器内,并且当码被测定是出现在此外部存储器内时,将码从此外部存储器复制到此内部存储器的一调换范围区段。
Description
技术领域
本发明是有关于数字信号处理,特别是有关于在嵌入式数字信号处理系统内的码调换(code swapping)。
背景技术
数字信号处理(Digital Signal Processing;DSP)是有关于电子信号的数字表现的检查与处理。使用数字信号处理所处理的数字信号经常是真实世界音讯及/或视讯的数字表现。
数字信号处理往往涉及在时域、空间域、频域、自我相关域及/或小波(wavelet)域内检查数字信号。在各领域之间转换数字信号一般是牵涉到精确的数学计算。一但表现在所要求的领域内时,则数字信号可能已执行了额外的数学计算。例如:各种滤波可适用于数字信号。数字信号亦有可能被提供给各种压缩/解压缩以及加密/解密的算法则。
因为数字信号处理经常处理数字表现的音讯及/或视讯,所以数字信号处理必须经常实时动作。因此,对数字信号所执行的数学计算必须仅有少许或不显著的延迟。这些数学计算可能是由一般用途的计算机系统(例如:桌上型计算机或工作站)或是专门的数字信号处理器(其英文缩写亦是DSP)所执行。
数字信号处理器是已被最佳化用以处理数字信号的特殊用途的微处理器。数字信号处理器一般是设计用以实时处理数字信号,例如:透过使用一实时操作系统(real-timeoperating system;RTOS)。实时操作系统是一似乎可以同时处理多项任务(multiple task)的操作系统,例如:当这些任务被接收时。实时操作系统一般是依优先级处理任务,并且允许高优先权的任务中断低优先权的任务。实时操作系统一般管理存储器的方式,是将一被特定任务锁住的单元存储器的时间最小化,并且将被锁住的单元存储器的大小最小化,并且当多项任务同时存取相同区块存储器的机会最小化时,允许任务异步执行。
数字信号处理器一般是用在嵌入式系统内。嵌入式系统是一被整合到一较大装置内的特殊用途计算机。嵌入式系统一般是使用一已为特殊用途而客制化的小型(small-footprint)实时操作系统。数字信号处理经常使用内嵌式系统包含一数字信号处理器以及一实时操作系统。
数字信号处理器与一般用途计算机是可使用直接存储器存取(direct memory access;DMA)存取可用的存储器,例如:使用一DMA驱动器。DMA允许计算机系统的各个组件(例如:单独的微处理器)直接连到可用的存储器。
数字信号处理器可能包含一微处理器与一些晶载存储器(on-chip memory;亦被称为内部或程序存储器)。数字信号处理器亦可使用数字信号处理透过一外部数据总线存取的外部存储器。外部存储器可能是非挥发性存储器(例如:闪存、E EP ROM等)。内部存储器是具有许多超越外部存储器的优点,例如:内部存储器一般较快速且允许多项同时的读取及/或写入。例如:内部存储器可能是由多个内部存储器排(bank)所组成,其中多个内部存储器排中的一个或多个是可能被同时存取。
数字信号处理器可能被可使用内部存储器的数量限制。为了数字信号处理器所发展的应用程序一般必须要求比可用程序存储器还少的存储器。为了弥补这种限制,当应用程序在没有使用时,外部存储器可能被用来储存它们。当数字信号处理器要求时,许多技术是被用以从外部存储器将码转换至内部存储器,而这些技术经常被称为码调换(code swapping)。
本技术所熟知的码调换技术一般是要求额外的硬件(例如:高速缓存(cache)以及存储器管理单元)以执行码调换及/或对数字信号处理器的指令集执行额外扩充。额外的硬件及/或对指令集的扩充可能会增加数字信号处理器的复杂度及/或成本。因此希望在一没有要求额外硬件及/或对指令集扩充的数字信号处理器内执行码调换。
发明内容
本发明的目的在于克服上述缺点,提供一种在数字信号处理器内调换码的方法及系统。
本发明一种在数字信号处理器内调换码的方法,其特征在于,包含:
测定码是出现在数字信号处理器外的一外部存储器中,或是出现在数字信号处理器内的一内部存储器中;以及
当码被测定是出现在该外部存储器中时,从该外部存储器将码复制到该内部存储器的一调换范围区段内。
其中还包含当码被测定是出现在该内部存储器中时,从该内部存储器执行码。
其中码从该内部存储器被执行是依据以优先权为基准的排程。
其中还包含当码已被从该外部存储器复制到该内部存储器内的调换范围区段时,执行来自该内部存储器内该调换范围区段的码。
其中码从该内部存储器被执行是依据以优先权为基准的排程。
其中码是一较大应用程序的部分的存储器区块码。
其中一低延迟码是出现在该内部存储器的一低延迟码区段内,以及一非低延迟码是出现在外部存储器内。
其中该内部存储器的该低延迟码区段是包含该内部存储器的一第一区段,以及该内部存储器的该调换范围区段是包含该内部存储器的一第二区段。
其中该内部存储器的该第一区段的大小与该内部存储器的该第二区段的大小是可依据该数字信号处理器的需求而改变,以使得该内部存储器的该第一区段与该内部存储器的该第二区段所组合而成的大小不超出该内部存储器的大小。
其中一或多个存储器区块是执行该较大应用程序的原本所需,该一或多个该些执行该较大应用程序原本所需的存储器区块是包含一执行查看。
其中当该较大应用程序执行时,是需要一或多个额外存储器区块。
其中该一或多个执行该较大应用程序原本所需的存储器区块是包含一第一执行查看;以及该一或多个额外存储器区块包含一或多个额外执行查看。
其中多项执行查看可能具有一或多个共同的存储器区块。
其中每一该第一执行查看与额外的执行查看是依序被复制到该内部存储器的该调换范围区段,以使得在一下一执行查看被复制到该内部存储器的该调换范围区段的一先前执行查看的范围的前,该先前执行查看被从该内部存储器的该调换范围区段移除。
其中该较大应用程序是一可执行任务,并且每一该些存储器区块的码是一单元的可执行任务,并且该数字信号处理器可执行该可执行任务,无论该些单元的可执行任务是位于该外部存储器内或该内部存储器内,其中当单元的可执行任务正被复制到该内部存储器的该调换范围区段时,另一可执行任务可能被执行。
其中该较大应用程序是一函数库的可执行函数,并且每一该些存储器区块的码是一可执行的函数,并且该数字信号处理器可执行该可执行函数,无论该函数库的可执行任务是位于该外部存储器内或该内部存储器内,其中当一可执行函数正被复制到该内部存储器的该调换范围区段时,另一可执行函数可能被执行。
本发明一种在数字信号处理器内调换码的系统,其特征在于,包含该数字信号处理器外的一外部存储器,以及该数字信号处理器内的一内部存储器,该内部存储器包含一用以储存一低延迟码的低延迟码区段以及一用以储存已从该外部存储器复制的码的调换范围区段。
其中位于该内部存储器的码是由数字信号处理器执行,位于该外部存储器的码是从该外部存储器被复制到该内部存储器的该调换范围区段,并且由数字信号处理器执行。
其中将位于该外部存储器的码复制到该内部存储器的该调换范围区段的方式包括一连结器单元、一直接存储器存取单元及一实时操作系统,其中之一。
其中来自该内部存储器的码是依据以优先权为基准的排程执行。
其中位于该外部存储器的码是一非低延迟码。
其中该低延迟码区段是包含该内部存储器的一第一区段,该调换范围区段是包含该内部存储器的一第二区段。
其中该内部存储器的该第一区段的大小与该内部存储器的该第二区段的大小是可依据该数字信号处理器的需求而改变,以使得该内部存储器的该第一区段与该内部存储器的该第二区段所组合而成的大小不超出该内部存储器的大小。
其中位于该外部存储器的码是一存储器区块码,乃为一较大应用程序的部分的码。
其中执行该较大应用程序包括一或多个存储器区块,该一或多个存储器区块是包含至少一以上的执行查看。
其中多项执行查看可能具有一或多个共同的存储器区块。
附图说明
为进一步说明本发明的具体技术内容,以下结合实施例及附图详细说明如后,其中:
图1是本发明的一较佳数字信号处理器执行码调换的实施例的方块图;
图2是本发明的一较佳码调换技术的示意图;
图3是本发明的一较佳码调换所使用的“伺候任务连接”技术的流程图;
图4是本发明的一较佳码调换所使用的“伺候函数呼叫”技术的流程图;以及
图5是一可实施本发明的方法与系统的较佳计算机系统的方块图。
具体实施方式
本发明的一些实施例会详细描述如下。然而,除了详细描述外,本发明还可以广泛地在其它的实施例施行,且本发明的范围不受限定,其以之后的专利范围为准。并且,为提供更清楚的描述及更容易理解本发明,图标内各部分并没有依照其相对尺寸绘图,某些尺寸与其它相关尺度的比例已经被夸张;不相关的细节部分也未完全绘出,以求图标的简洁。
为了清楚说明的理由,特殊的专门术语是被用于描述本发明的图标所图解的较佳实施例中。然而,本发明不应被这些特殊专门术语所限制,并且所应了解的是每一特定组件是包含所有以相同方式操作的技术均等物。
本发明的实施例是企图在一没有要求额外硬件及/或对数字信号处理器指令集扩充的数字信号处理器中执行码调换。请参照第一图,其为本发明的一较佳数字信号处理器执行码调换的实施例的方块图。一数字信号处理器10可能是一设计用来执行数字信号处理的一般用途计算机,或是一已最佳化用以处理数字信号的特殊用途微处理器。例如:数字信号处理器10可能是一单微芯片或一单整合电子电路(或称集成电路(IC))。
本发明是描述有关于一特殊用途微处理器的数字信号处理器,然而所应了解的是,本发明亦可适用于一执行数字信号处理的一般用途计算机。
数字信号处理器10可能包含内部存储器13。例如:内部存储器13可能是建立在数字信号处理器微芯片或IC内的存储器。数字信号处理器10可透过一内部总线17与内部存储器13通信。数字信号处理器10可能具有一提供连接到内部存储器13(例如:透过内部总线17)的直接存储器存取(DMA)单元12。DMA单元12可以是由实体电路或是一可在数字信号处理器10执行的软件组件所组成。
数字信号处理器10可具有中断指令集的能力。数字信号处理器10可执行一操作系统(例如:一实时操作系统16(real-time operating system;RTOS))。例如:RTOS可能是一小型(small-footprint)的操作系统。RTOS 16是与数字信号处理器10的指令集兼容。
数字信号处理器10可连接外部存储器11。外部存储器11可能位于数字信号处理器微芯片或IC旁。外部存储器11可由一外部数据总线18连接数字信号处理器10。一DMA单元可提供数字信号处理器10对外部存储器的存取。此DMA单元可能和被用以提供对内部存储器13存取的DMA单元12是相同的DMA单元。
数字信号处理器10可能具有一连结器(linker)(未绘出)。连结器可以是一程序组件(例如:一具有组合各种单元码执行所要求的码的程序、背景程序(daemon)或服务)。连结器可能藉由放置定义未定义符号的码而解决未定义符号的参考数据,例如:由获得码的起始地址以及码的长度与码对未定义符号的连结(例如:由定义未定义符号的码替换未定义符号)。连结器亦可重新放置各种单元的码于一存储器空间,使得当码在执行时,各种单元的码可以占有与其它单元相关的正确位置而使得码成功执行。
根据本发明的实施例,程序存储器13可能安排至少两个区段。程序存储器13可被划分成一低延迟码区段14(lowlatency code section)。低延迟码区段14的存储器可能放置对数字信号处理器紧急的码。例如:这些码可能是被要求低延迟及/或高频宽的码。低延迟码区段14可以是固定大小或者是可变大小。例如:低延迟码区段14可能占有将近内部存储器13的全部的一半。
程序存储器13亦可被划分成一调换范围区段15。调换范围15的存储器可放置对数字信号处理器较不紧急的码。这些码可能是比数字信号处理器紧急码要求较少频宽的码。例如:这些码可能是句柄或是要求使用者互动的函数。调换范围15可以是固定大小或者是可变大小。例如:调换范围15可能占有将近内部存储器13的全部的一半。
如以上所述,低延迟码区段14和调换范围15的大小是可变的。例如:低延迟码区段14的大小和调换范围15的大小是可依据数字信号处理器10的需求而改变。例如:假设数字信号处理器10要求额外的低延迟码区段14,则一部分原本分配给调换范围15的存储器可能被重新分配给低延迟码区段14。又例如:假设数字信号处理器10要求额外的调换范围15,则一部分原本分配给低延迟码区段14的存储器可能被重新分配给调换范围15。然而,低延迟码区段14与调换范围15所组合而成的大小可能不能超出内部存储器13的大小。
调换范围15可由RTOS 16控制。数字信号处理器10可由使用RTOS 16及/或已被程序设计用以执行本发明的实施例的连结器,执行本发明实施例的码调换。例如:一数字信号处理器可能藉由更新RTOS 16及/或连结器而转换成用以执行本发明的一或多个实施例。因此,不须修改数字信号处理器10的指令集,就可实施本发明的实施例。
如果必要时,RTOS 16则可利用DMA 12从外部存储器转换(调换)存储器区块的码到调换范围15。例如:一在数字信号处理器10执行的数字信号处理应用程序可能原本要求一些区块的码被调换到调换范围15内执行。当应用程序执行要求一或多个尚未备妥在调换范围15内的区块的码时,则所要求的一或多个区块的码可被转换至调换范围15内(例如:可由RTOS 16透过DMA 12执行码调换)。
紧急DSP码和位于低延迟码区段14内的码是随时可被执行。因此不需请求调换以执行紧急DSP码。非紧急码的调换不需制止数字信号处理器同时执行其它的任务。例如:当非紧急码正在调换时,紧急码及/或已出现在调换范围15内的非紧急码可能被执行以符合其它的任务。
根据本发明的一实施例,一“执行查看”技术可能被用以调换码到调换范围15内。请参照图2,其为本发明的一较佳码调换技术的示意图。
例如:执行查看技术可能藉由修改联结器的程序设计而实施。例如:额外的指令集可被加到连结器以实施执行查看技术。根据本发明的一较佳实施例,一执行查看是一限定安排的存储器区块驻留在程序存储器内一段特定期间(例如:直到一执行的应用程序结束)。而包含一特定执行查看的存储器区块可能是以一特定顺序及/或存储器位置(例如:相对于其它存储器区块)安置。包含一特定执行查看的存储器区块可能被连续安置在程序存储器内,或是在他们之间含有一或多个未使用或其它应用程序所使用的存储器间隙(gap)。每一执行查看可包含希望执行一特殊组件码的存储器区块。例如:一执行查看可能包含执行一特定应用程序全部所需的存储器区块。当此组件的码将被执行时,适当的执行查看将被加载程序存储器的调换范围区段内。
此外,一特定组件的码,例如:一应用程序可能要求连续多项的执行查看,在此情况下,一第一执行查看(RV1)可能(例如:在时间T1)被加载程序存储器的调换范围区段内。在时间T2,当应用程序要求不同组(set)的存储器区块时,第一执行查看(RV1)可能被从调换范围区段清除,且一第二执行查看(RV2)可能在时间T3被加载调换存储器内。同理,在时间T4,当应用程序要求不同组的存储器区块时,第二执行查看(RV2)可能被从调换范围区段清除,且一第三执行查看(RV3)可能在时间T5被加载存储器内。
每一执行查看(RV1、RV2以及RV3)可能包含一或多个含有期望执行的部分特定组件码的存储器区块。此使得多项执行查看可能包含一或多个相同的存储器区块。例如:第一执行查看(RV1)和第二执行查看(RV2)均含有存储器区块1(B1)以及存储器区块2(B2)。因此,当第一执行查看(RV1)被第二执行查看(RV2)替换,且当存储器区块3(B3)以及存储器区块4(B4)被存储器区块5(B5)以及存储器区块6(B6)覆写替换时,存储器区块1(B1)以及存储器区块2(B2)可能依旧留在存储器内。
当存储器区块(B1-B6)可能全部驻留在外部存储器内时,其等不需被储存当成执行查看。各种执行查看在必要时,可能藉由连结器将其在程序存储器内组合,藉此相较于一次在外部存储器内,更加最小化储存相同存储器区块的需求。此外,每一执行查看在外部存储器内可被预先归类以加快复制到程序存储器中。
如以上所述,连结器可能被用以组合从外部存储器到程序存储器的各种期望的存储器区块以形成所期望的执行查看。连结器在连结期间可能完成(例如:由测定码)一特定码组件执行的下一阶段所要求的定义与符号,并将此信息插入一表格中。此表格则可能在实时程序化DMA控制器的执行期间被RT OS或其它软件使用以完成码调换。由连结器所产生的表格可能驻留在数据存储器且包含RTOS重要的信息,例如:一区块的大小、区块在外部存储器内的起始地址、映像(mapping)到区域程序存储器的起始地址以及在一区块内其它功能的参考资料。例如:对每一区块而言,下列的项目可能是由连结器所建立,并且可能驻留在数据存储器内:
区块序号:5
大小:1024
在外部存储器内的起始地址:0xfff3335
在区域程序存储器内的起始地址:0x123ab
参考资料:get_data,start_counting,decode_my_image
参考资料可能是与一定义在可执行和可连结格式(ELF)的值相关的符号。一符号可能对照一函数(亦称功能)(例如:get_data)或一任务(例如:decode_my_image)。
当要呼叫一函数或执行一任务时,如果参考资料不是在区域程序存储器内时,则RTOS可能先检查参考资料然后使用此表格执行码调换。
根据本发明的一较佳实施例,一“伺候任务连接”技术是被用以调换码到调换范围区段。请参阅图3,其为本发明的一较佳码调换所使用的技术的流程图。根据此实施例,单元的可执行码(例如:单元的任务)可能被储存在外部存储器内。然后RTOS可能依据任务呼叫而不管此任务是储存在外部存储器内或内部存储器内(步骤S31)。例如:此可能由程序设计RTOS以识别储存在外部存储器内的任务的可执行任务(例如:当那些储存在外部存储器内的任务实际被储存在程序存储器内时使其显现)。然后测定所呼叫的任务是否储存在程序存储器内(步骤S32)。如果此任务被测定是储存在程序存储器内时(是,步骤S32),则此任务可以被执行(步骤S33)。如果此任务不是储存在程序存储器内,而是储存在外部存储器内时(否,步骤S32),则RTOS可能命令DMA加载所有执行此任务所需的存储器区块至调换范围区段(步骤S34)。例如:此步骤可藉由上述的执行查看技术的连结器而加以实施。然后RTOS执行一任务切换(步骤S35)。任务切换是当RTOS在所要求的存储器区块被加载调换范围区段时,执行另一任务(例如:一较高优先权的任务)。除了任务正加载的存储器排,有必要执行另一位于程序存储器中的另一存储器排的任务,其中程序存储器无法多项存取单一存储器排。例如:当加载任务被加载程序存储器时,除了即将执行任务所使用程序存储器的存储器排,此任务所加载程序存储器的存储器排可能被选取当成程序存储器的一存储器排。
在所有属于此任务的必要区块被成功加载程序存储器内后,由DMA控制器可产生中断以指示RTOS任务已备妥可以执行(步骤S36)。然后执行一测定以判断是否一较高优先权的任务正在执行(步骤S37)。如果测定没有较高优先权的任务正在执行(否,步骤S37),例如:没有任务执行或一较低优先权的任务正在执行,则正在执行的任务可能被中断,并且成功加载的任务可被执行(步骤S33)。如果测定一较高优先权的任务正在执行,则成功加载的任务必须等较高优先权的任务执行完成且没有其它较高优先权的任务等候执行时,才会被执行(步骤S38)。
步骤37及38是源于以优先权为基准的排程的范例。所应了解的是,本发明的实施例是可利用除了步骤37及38以外其它以优先权为基准的排程的实施替代步骤37及38。
根据本发明的另一较佳实施例,一“伺候函数呼叫”技术可被用以调换码到调换范围区段内。此伺候函数呼叫技术是相似于上述的伺候任务连接技术。请参阅图4,其为本发明的一较佳码调换所使用的“伺候函数呼叫”技术的流程图。
根据此实施例,可执行函数的函数库可能储存在外部存储器内。然后RTOS可依据函数呼叫而不管此函数的函数库是储存在外部存储器内或内部存储器内(步骤S41)。然后测定所呼叫函数的函数库是否储存在程序存储器内(步骤S42)。如果所呼叫函数的函数库被测定是储存在程序存储器内时(是,步骤S42),则此函数可从函数库被执行(步骤S43)。如果所呼叫的函数不是储存在程序存储器内,而是储存在外部存储器内时(否,步骤S42),则RTOS可能命令DMA加载所有执行此函数的必要的存储器区块到调换范围区段(步骤S44)。例如:可能是整体函数库或单独的函数被加载程序存储器。然后RTOS执行一任务切换(步骤S45)。在执行任务切换中,除了函数及/或函数库加载的存储器排,有必要执行另一位于程序存储器中的另一存储器排的任务,其中程序存储器无法多项存取单一存储器排。
在所有属于此函数及/或函数库的必要区块被成功加载程序存储器内后,由DMA控制器可产生中断以指示RTOS函数已备妥可以执行(步骤S46)。然后执行一测定以判定是否一较高优先权的任务正在执行(步骤S47)。如果测定没有较高优先权的任务正在执行(否,步骤S47),则正在执行的任务可能被中断,并且此函数可被执行(步骤S43)。如果测定一较高优先权的任务正在执行,则此函数必须等较高优先权的任务执行完成且没有其它较高优先权的任务等候执行时,才会被执行(步骤S48)。
同理,所应了解的是,本发明的实施例是可利用除了步骤47及48以外其它以优先权为基准的排程的实施替代步骤47及48。
请参阅图5,其为一可实施本发明的方法与系统的较佳计算机系统的方块图。本发明的系统及方法可用软件应用程序的型式在一计算机系统(例如:大型计算机、个人计算机、手持式计算机、服务器等)执行。此软件应用程序可能被储存在一可由计算机系统区域存取的记录媒体,及/或一可由硬件线路或无线连接网络(例如:局域网络或网际网络)存取的记录媒体。
计算机系统一般参照如系统1000可能包含,例如:一中央处理单元1001(CPU)、随机存取存储器1004(RAM)、一列表机接口1010、一显示单元1011、一局域网络(LAN)资料传送控制器1005、一LAN接口1006、一网络控制器1003、一内部总线1002以及一或多个输入装置1009(例如:一键盘、鼠标等)。如图所示,系统1000可能连接一资料储存装置(例如:经由一连接器1007连接一硬盘1008)。
以上所述仅为本发明的较佳实施例而已,并非用以限定本发明的申请专利范围;凡其它为脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在下述的申请专利范围。
Claims (26)
1.一种在数字信号处理器内调换码的方法,其特征在于,包含:
测定码是出现在数字信号处理器外的一外部存储器中,或是出现在数字信号处理器内的一内部存储器中;以及
当码被测定是出现在该外部存储器中时,从该外部存储器将码复制到该内部存储器的一调换范围区段内。
2.如权利要求1项所述的在数字信号处理器内调换码的方法,其特征在于,其中还包含当码被测定是出现在该内部存储器中时,从该内部存储器执行码。
3.如权利要求2项所述的在数字信号处理器内调换码的方法,其特征在于,其中码从该内部存储器被执行是依据以优先权为基准的排程。
4.如权利要求2项所述的在数字信号处理器内调换码的方法,其特征在于,其中还包含当码已被从该外部存储器复制到该内部存储器内的调换范围区段时,执行来自该内部存储器内该调换范围区段的码。
5.如权利要求4项所述的在数字信号处理器内调换码的方法,其特征在于,其中码从该内部存储器被执行是依据以优先权为基准的排程。
6.如权利要求1项所述的在数字信号处理器内调换码的方法,其特征在于,其中码是一较大应用程序的部分的存储器区块码。
7.如权利要求6项所述的在数字信号处理器内调换码的方法,其特征在于,其中一低延迟码是出现在该内部存储器的一低延迟码区段内,以及一非低延迟码是出现在外部存储器内。
8.如权利要求7项所述的在数字信号处理器内调换码的方法,其特征在于,其中该内部存储器的该低延迟码区段是包含该内部存储器的一第一区段,以及该内部存储器的该调换范围区段是包含该内部存储器的一第二区段。
9.如权利要求8项所述的在数字信号处理器内调换码的方法,其特征在于,其中该内部存储器的该第一区段的大小与该内部存储器的该第二区段的大小是可依据该数字信号处理器的需求而改变,以使得该内部存储器的该第一区段与该内部存储器的该第二区段所组合而成的大小不超出该内部存储器的大小。
10.如权利要求6项所述的在数字信号处理器内调换码的方法,其特征在于,其中一或多个存储器区块是执行该较大应用程序的原本所需,该一或多个该些执行该较大应用程序原本所需的存储器区块是包含一执行查看。
11.如权利要求10项所述的在数字信号处理器内调换码的方法,其特征在于,其中当该较大应用程序执行时,是需要一或多个额外存储器区块。
12.如权利要求11项所述的在数字信号处理器内调换码的方法,其特征在于,其中该一或多个执行该较大应用程序原本所需的存储器区块是包含一第一执行查看;以及该一或多个额外存储器区块包含一或多个额外执行查看。
13.如权利要求12项所述的在数字信号处理器内调换码的方法,其特征在于,其中多项执行查看可能具有一或多个共同的存储器区块。
14.如权利要求12项所述的在数字信号处理器内调换码的方法,其特征在于,其中每一该第一执行查看与额外的执行查看是依序被复制到该内部存储器的该调换范围区段,以使得在一下一执行查看被复制到该内部存储器的该调换范围区段的一先前执行查看的范围的前,该先前执行查看被从该内部存储器的该调换范围区段移除。
15.如权利要求10项所述的在数字信号处理器内调换码的方法,其特征在于,其中该较大应用程序是一可执行任务,并且每一该些存储器区块的码是一单元的可执行任务,并且该数字信号处理器可执行该可执行任务,无论该些单元的可执行任务是位于该外部存储器内或该内部存储器内,其中当单元的可执行任务正被复制到该内部存储器的该调换范围区段时,另一可执行任务可能被执行。
16.如权利要求10项所述的在数字信号处理器内调换码的方法,其特征在于,其中该较大应用程序是一函数库的可执行函数,并且每一该些存储器区块的码是一可执行的函数,并且该数字信号处理器可执行该可执行函数,无论该函数库的可执行任务是位于该外部存储器内或该内部存储器内,其中当一可执行函数正被复制到该内部存储器的该调换范围区段时,另一可执行函数可能被执行。
17.一种在数字信号处理器内调换码的系统,其特征在于,包含该数字信号处理器外的一外部存储器,以及该数字信号处理器内的一内部存储器,该内部存储器包含一用以储存一低延迟码的低延迟码区段以及一用以储存已从该外部存储器复制的码的调换范围区段。
18.如权利要求17项所述的在数字信号处理器内调换码的系统,其特征在于,其中位于该内部存储器的码是由数字信号处理器执行,位于该外部存储器的码是从该外部存储器被复制到该内部存储器的该调换范围区段,并且由数字信号处理器执行。
19.如权利要求18项所述的在数字信号处理器内调换码的系统,其特征在于,其中将位于该外部存储器的码复制到该内部存储器的该调换范围区段的方式包括一连结器单元、一直接存储器存取单元及一实时操作系统,其中之一。
20.如权利要求17项所述的在数字信号处理器内调换码的系统,其特征在于,其中来自该内部存储器的码是依据以优先权为基准的排程执行。
21.如权利要求17项所述的在数字信号处理器内调换码的系统,其特征在于,其中位于该外部存储器的码是一非低延迟码。
22.如权利要求17项所述的在数字信号处理器内调换码的系统,其特征在于,其中该低延迟码区段是包含该内部存储器的一第一区段,该调换范围区段是包含该内部存储器的一第二区段。
23.如权利要求22项所述的在数字信号处理器内调换码的系统,其特征在于,其中该内部存储器的该第一区段的大小与该内部存储器的该第二区段的大小是可依据该数字信号处理器的需求而改变,以使得该内部存储器的该第一区段与该内部存储器的该第二区段所组合而成的大小不超出该内部存储器的大小。
24.如权利要求17项所述的在数字信号处理器内调换码的系统,其特征在于,其中位于该外部存储器的码是一存储器区块码,乃为一较大应用程序的部分的码。
25.如权利要求24项所述的在数字信号处理器内调换码的系统,其特征在于,其中执行该较大应用程序包括一或多个存储器区块,该一或多个存储器区块是包含至少一以上的执行查看。
26.如权利要求25项所述的在数字信号处理器内调换码的系统,其特征在于,其中多项执行查看可能具有一或多个共同的存储器区块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/039,521 | 2005-01-19 | ||
US11/039,521 US20060225060A1 (en) | 2005-01-19 | 2005-01-19 | Code swapping in embedded DSP systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1838078A true CN1838078A (zh) | 2006-09-27 |
CN100435102C CN100435102C (zh) | 2008-11-19 |
Family
ID=37015484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100049278A Active CN100435102C (zh) | 2005-01-19 | 2006-01-16 | 在数字信号处理器内调换代码的方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060225060A1 (zh) |
CN (1) | CN100435102C (zh) |
TW (1) | TWI336840B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325822A (zh) * | 2016-08-25 | 2017-01-11 | 江苏绿扬电子仪器集团有限公司 | 提升dsp运算性能的方法 |
CN108021392A (zh) * | 2016-11-01 | 2018-05-11 | 中芯国际集成电路制造(上海)有限公司 | 处理器及其操作执行方法 |
Families Citing this family (7)
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 |
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)
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 |
DE60109699T2 (de) * | 2000-09-27 | 2005-09-08 | Texas Instruments Inc., Dallas | Gerät und Verfahren zum Signalgruppenaustausch zwischen mehreren Teilen in einer Einrichtung zur digitalen Signalverarbeitung der eine Direktspeicherzugriffssteuerung enthält |
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 |
-
2005
- 2005-01-19 US US11/039,521 patent/US20060225060A1/en not_active Abandoned
-
2006
- 2006-01-13 TW TW095101314A patent/TWI336840B/zh active
- 2006-01-16 CN CNB2006100049278A patent/CN100435102C/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325822A (zh) * | 2016-08-25 | 2017-01-11 | 江苏绿扬电子仪器集团有限公司 | 提升dsp运算性能的方法 |
CN108021392A (zh) * | 2016-11-01 | 2018-05-11 | 中芯国际集成电路制造(上海)有限公司 | 处理器及其操作执行方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100435102C (zh) | 2008-11-19 |
TW200627146A (en) | 2006-08-01 |
US20060225060A1 (en) | 2006-10-05 |
TWI336840B (en) | 2011-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1838078A (zh) | 在数字信号处理器内调换码的方法及系统 | |
US8972699B2 (en) | Multicore interface with dynamic task management capability and task loading and offloading method thereof | |
CN1306754C (zh) | 平衡网格计算环境中的工作负荷的方法和系统 | |
US7472252B2 (en) | Merging identical memory pages | |
CN1047245C (zh) | 采用独立存取中间存储器的超标量处理器系统中加强指令调度的方法和系统 | |
CN1266589C (zh) | 多重高速缓冲存储器线写回和作废技术 | |
CN1959644A (zh) | 在数据处理系统中仲裁线程访问共享资源的系统和方法 | |
US20140325193A1 (en) | Dynamic instrumentation | |
CN101233489A (zh) | 具有多个处理器的计算机系统中的自适应进程分派 | |
CN1904873A (zh) | 嵌入式实时操作系统中多核处理器的核间通信方法及装置 | |
CN1815462A (zh) | 迁移数据页面的方法和装置 | |
CN1492323A (zh) | 多处理器地址转换的高效仿真方法和系统 | |
CN103019810A (zh) | 具有不同执行优先级的计算任务的调度和管理 | |
CN1945536A (zh) | 利用指针来再排序指令的存储器布局 | |
CN101449239A (zh) | 具有算术及初等函数单元的图形处理器 | |
CN1862495A (zh) | 用于在执行被转换指令时维持环境的方法和装置 | |
CN1764906A (zh) | 数据处理系统中的存储器管理 | |
CN1613054A (zh) | 控制指令集体系结构之间的二进制编码翻译的兼容水平 | |
CN1737780A (zh) | 从一个设备驱动程序向另一个传送信息的系统和方法 | |
CN1794168A (zh) | 信息处理设备、信息处理方法、半导体器件及计算机程序 | |
CN1504881A (zh) | 爪哇执行设备和爪哇执行方法 | |
JP2003531434A (ja) | Javaコンピュータプログラムを実行するためのコンピュータ方法およびシステム | |
CN101046774A (zh) | 使用替代页池管理dma写入页错误的计算机实现方法和装置 | |
Tay | OpenCL parallel programming development cookbook | |
CN1265487A (zh) | 用于改进java方法调用速度的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |