数字信号处理韧体中数据最佳化及保护的方法及系统的制作方法

文档序号:6651254阅读:148来源:国知局

专利名称::数字信号处理韧体中数据最佳化及保护的方法及系统的制作方法
技术领域
:本发明系有关于数字信号处理(DSP)的韧体,特别是关于数字信号处理(DSP)韧体内数据的最佳化(或较佳化)及保护。
背景技术
:数字信号处理(DSP)系有关于检视及处理具数字表示(representations)形式之电子信号。通常,接受数字信号处理的数字信号属于一些现实世界的声音/影像之数字信号。数字信号处理通常系检视时域(timedomain)、空(间)域(spatialdomain)、频域(frequencydomain)、自相关领域(autocorrelationdomain)、及小波领域(waveletdomain)的数字信号。欲在这些领域之间进行转换,通常需要使用复杂的数学计算。一旦完成以某一领域来表示这些信号以后,数字信号通常还会再进一步进行一些数学的计算。例如,以各种滤波器来处理数字信号;以及用各种压缩/解压缩及编码/解码运算法则来处理数字信号。由于数字信号处理所要处理的对象通常为声音/影像,因此数字信号处理经常需要作即时(real-time)的处理。也就是说,在进行数学计算时,不能存在有太大的延迟。上述的数学计算可以使用一般(generalpurpose)电脑系统(例如桌上型电脑)、工作站、或特殊数字信号处理器(DSP)。图1显示一数字信号处理器的方块图。数字信号处理器11属于一种特殊用途(specific-purpose)之微处理器,专门用于处理数字信号。数字信号处理器11通常也用来处理即时的数字信号,例如使用即时操作系统(real-timeoperatingsystem,RTOS)12来同时处理多个工作(tasks);或者,一旦接收到工作即可加以处理。即时操作系统(RTOS)12可以决定各工作的优先(priority)顺序,中断具低优先权之工作而先处理高优先权工作。即时操作系统(RTOS)12还对存储器进行管理,使得被某一工作占用的存储器之占用(locked)时间可以达到最小,以及让被占用的存储器之大小也达到最小。再者,即时操作系统(RTOS)12可以让各工作以非同步方式来进行,以减少各工作欲同时存取同一存储器之机率。数字信号处理器11经常使用于嵌入式(embedded)系统。所谓嵌入式系统即是一种特殊用途之电脑系统,用以整合至一个更大的系统中。嵌入式系统通常使用一种小型的即时操作系统(RTOS)12,其专门用于某一特殊用途。数字信号处理系一种使用包含有数字信号处理器11及即时操作系统(RTOS)12的嵌入式系统。数字信号处理器11及一般(generalpurpose)电脑系统可能使用直接存储器存取(DMA)14(例如DMA驱动程序(driver))来存取存储器。直接存储器存取(DMA)14让电脑系统中的一些元件可以直接来存取存储器,而不需要经由微处理器。数字信号处理器11可以包含一微处理器以及位于同一晶片上(on-chip)的存储器(又称为内部或程序存储器(internal/programmemory))13。数字信号处理器11也可以经由一外部数据汇流排来存取外部存储器15。例如,使用非挥发性存储器(例如快闪存储器(flash)、电压消除式可程序化只读存储器(EEPROM))来作为外部存储器15。内部存储器13通常较优于外部存储器15,因为其存取速度较快,且允许同时进行多个之读写。例如,内部存储器13可以包含多个内部记忆页(banks),这些内部记忆页可以同时接受存取。内部存储器13通常使用挥发性存储器,当数字信号处理器11的电源切断之后,储存于内部存储器13之数据即会消失。因此,供数字信号处理器11执行的应用程序及其它程序通常需要储存于外部存储器15,而于启动(startup)时或是执行之前才下载至内部存储器13内。这些数据通常称之为韧体。将数据从外部存储器下载至内部存储器,需要使用下载器(downloader)。数字信号处理器11之应用通常使用一或多个数据物件(object),其可以包含数据表格(table)、及阵列(array)。对于尚未初始化之数据,一般都会以零(0)来进行初始化。例如,依照ANSIC规格,静态(static)数据物件都会自动以零(0)来加以初始化,而不需要特别的执行初始化动作。例如,许多数字信号处理器之滤波器运算法则即是在内部自动以零(0)来将变数初始化。又例如,许多数字信号处理器所使用之表格即是在内部自动以零(0)来初始化,而不需要于执行时期(run-time)将零(0)一一写入。若使用太多的大数据物件,将会过份占用外部存储器15并且于启动时需要自外部存储器15读取相当多的数据,因此会减低数字信号处理器11之效率。所以,亟需要减少储存数据物件的储存容量大小,使得数据的储存/读取达到最佳化(或较佳化)。于启动时将韧体数据载入至内部存储器13,此对于数字信号处理器11也同时存在有安全的考量。由于作为数字信号处理器11执行所需的数据、应用程序、及其它程序通常系保护为只读数据,如果这些数据必须于启动之后才能载入,则软硬件就无法很成功的来保护其成为只读数据。因此,这些数据将可能于启动时遭到破坏或覆盖。所以,亟需要保护这些重要数据、应用程序的完整性,使其于启动时得到保护。
发明内容一种数据最佳化的方法。首先,判定数据是否具有初始化零值;如果数据被判定具有初始化零值,则产生空区块。以空区块来取代储存具有初始化零值之数据;及下载被取代储存之具有初始化零值之数据至存储器。一种数据最佳化的系统,包含韧体构建器(firmwarebuilder),用以判定数据是否具有初始化零值,且当数据被判定具有初始化零值,即产生空区块;韧体,用以储存空区块;及下载器(downloader),其以空区块来取代储存具有初始化零值之数据,且下载被取代储存之具有初始化零值之数据至存储器。一种电脑系统,其包含处理器及电脑可读取之程序储存装置,其内含有处理器可执行之程序指令用以将数据最佳化。其包含下列步骤首先,判定数据是否具有初始化零值;如果数据被判定具有初始化零值,则产生空区块。以空区块来取代储存具有初始化零值之数据;及下载被取代储存之具有初始化零值之数据至存储器。一种数据安全保护方法。首先,判定数据是否要保护;及产生一包含该数据的数据区块。如果数据被判定要保护,则将数据区块加上旗标;并自数据区块将数据下载至内部存储器。如果数据区块具有旗标,则保护下载之数据。一种数据安全保护系统,其包含判定单元,用以判定数据是否要保护;韧体构建器(firmwarebuilder),用以产生一包含该数据的数据区块;旗标单元,当数据被判定要保护时,则将数据区块加上旗标;下载器(downloader),自数据区块将数据下载至内部存储器;及保护单元,当数据区块具有旗标时,则保护下载之数据。一种电脑系统,其包含处理器及电脑可读取之程序储存装置,其内含有处理器可执行之程序指令用以保护数据安全。其包含下列步骤首先,判定数据是否要保护;及产生一包含该数据的数据区块。如果数据被判定要保护,则将数据区块加上旗标;并自数据区块将数据下载至内部存储器。如果数据区块具有旗标,则保护下载之数据。图1显示一数字信号处理器的方块图。图2显示数据区块的结构。图3显示本发明实施例之数据区块的结构。图4显示根据本发明实施例,使用空区块(emptyblock)让数据储存最佳化的方法流程。图5显示根据本发明实施例之数据保护区块(protecteddatablock)的结构。图6显示根据本发明实施例之数据保护方法流程。图7例示一个可用以实施本发明方法及系统的电脑系统。具体实施方式韧体数据的最佳化将于数字信号处理器(DSP)中执行的应用程序可以先进行编译(compile)。在编译过程中,使用编译器将原始程序码(sourcecode)编为数字信号处理器(DSP)可以执行的数字机器码(binarymachinecode)。于编译完成后,使用链结器(linker)来链结形成可执行之目的码(object)。此链结通常会将一或多个可执行目的码与程序库功能(libraryfunction)链结以形成单一的可执行目的码。接着,使用韧体构建器(firmwarebuilder)将可执行目的码转换成一个可以整合于韧体(又称为可程序化装置(programmabledevice))的格式。韧体内的数据可以包含一或多个个别数据区块(datablock),如图2所示的数据区块结构。数据区块21包含一起始位址(startaddress)22,其用来表示数据区块21位于存储器内的第一个位址。数据区块21还可以包含一区块大小(blocksize)23,用以表示数据区块21究竟占用多大的存储器。起始位址22和区块大小23这两项讯息可用以知道数据区块21究竟系占用存储器的哪一个区域;此可以有效地让数据区块21之数据下载至数字信号处理器的内部存储器。数据区块21还包含一数据区(datasection)24,用来储存数据区块21的主要内容,例如应用程序码、或数据物件(dataobjects)。数据区块21还可以包含一总和检查(checksum)25,其系根据数据区(datasection)24或整个数据区块21所计算得到的,其可以于启动时下载数据至内部存储器时作为确认数据正确性之用。本发明实施例主要系通过免除数据物件(dataobjects)(例如数据表格(table)、及阵列(array))进行填零的初始化动作,来增快存储器速度及节省存储器空间的利用。根据本发明实施例,数据区块可以表示这些数据物件所需的初始化零值,但并不需要内含所有的初始化零值。图3显示本发明实施例之数据区块的结构,此数据区块31可用以取代那些含有初始化零值的数据区块。本实施例之数据区块31包含起始位址32及区块大小34;数据区块31还包含零值指示(zeroindication)区域33,用以表示该数据区块系包含初始化零值。此数据区块31并不具有数据区(datasection),因此又可以称为空区块(emptyblock)。零值指示(zeroindication)区域33内可以使用单一位元用来接收一(1)或零(0)值。例如,当零值指示(zeroindication)位元33被设为零(0)时,即表示数据区块31并非为空区块(emptyblock);当零值指示(zeroindication)位元33被设为一(1)时,即表示数据区块31为空区块(emptyblock)。当然,我们也可以使用相反的规定,亦即,以零(0)值来表示空区块(emptyblock)。根据本发明其它实施例,零值指示(zeroindication)位元33可以是区块大小34的一部份。例如,当区块大小34的值为零或者为负值时,即表示该区块为空区块(emptyblock);否则,当区块大小34的值为非零的正值时,即表示该区块不是空区块(emptyblock)。通过上述之空区块(emptyblock)将数据之储存方式予以最佳化,因而可以节省数字信号处理器内用以储存韧体的存储器资源。图4显示根据本发明实施例,使用空区块(emptyblock)让数据储存最佳化的方法流程。当韧体构建器(firmwarebuilder)进行韧体的建构产生时,其可以从已编译或已链结的程序码中识别出具有初始化零值的数据物件(dataobject)(步骤S41)。接着,韧体构建器(firmwarebuilder)即针对这些具有初始化零值的数据物件(dataobject)产生相对应的空区块(emptyblock)(步骤S42)。因此,这些空区块(emptyblock)即可用以取代那些具有初始化零值的数据物件(dataobject)。当以下载器(downloader)将韧体下载至数字信号处理器的内部存储器时,通过检视区块中的零值指示(zeroindication)区域,而识别出空区块(emptyblock)(步骤S43)。接下来,下载器(downloader)即可以将具有初始化零值的数据物件(dataobject)下载至数字信号处理器的内部存储器(步骤S44),用以取代已识别的空区块(emptyblock)。应用数据的保护本发明实施例通过将数字信号处理器之重要/关键(critical)数据、应用程序设定为只读(read-only),因而可以让下载至数字信号处理器的内部存储器之数据获得完整性。此只读(read-only)之设定或标识可以使用硬件(例如硬件保护装置(hardwareprotectiondevice))或软体方式来实施以进行保护。根据本发明实施例,重要数据(例如重要的应用程序)之保护可以在该数据正从外部存储器下载至数字信号处理器的内部存储器之当时来进行。通过此种早期的保护措施,因而使得重要数据在启动时造成数据被覆盖的情形得以减少或避免。图5显示根据本发明实施例之数据保护区块(protecteddatablock)的结构。数据保护区块51含起始位址52区域用以储存一起始位址;区块大小53区域用以表示区块占用存储器的大小;数据区域55用以存放数据;以及总和检查(checksum)区域56用以存放总和检查(checksum)的值。数据保护区块51还包含保护旗标(protectionflag)区域54用以存放保护旗标(protectionflag),其用以表示数据区块51究竟是否为需要加以保护的重要数据。此保护旗标(protectionflag)可以在进行链结时由链结器(linker)来产生。另一种作法是,此保护旗标(protectionflag)可以由韧体构建器(firmwarebuilder)于进行韧体的建构时所产生;或者由韧体构建器(firmwarebuilder)于产生数据区块51时同时来产生。根据本发明实施例,当使用链结器(linker)来链结一应用程序时,使用者可以告诉链结器于某一数据段落加以注解保护,例如加以标示(marked)或加上旗标(flagged)。此保护资讯可以嵌入链结器的输出格式里面。例如,保护资讯可以使用ELF格式来嵌入目的档案内。于韧体进行建构时,韧体构建器(firmwarebuilder)可以从已链结之目的档案中粹取出数据及保护资讯,并于此时将保护旗标加入至韧体内。保护旗标(protectionflag)可以使用单一位元来表示某数据区块是否要进行保护。例如,以一(1)来表示数据区块需要保护,而以零(0)来表示数据区块不需要保护。当然,我们也可以使用相反的规定,亦即,以零(0)值来表示数据区块需要保护。此保护旗标(protectionflag)也可以是位于区块大小53的区域内。当被保护数据于启动时由下载器(downloader)下载至内部存储器时,此时会检视数据区块以决定该数据区块是否有受保护。如果判定为保护数据区块,则其起始位址及区块大小将被用来启动硬件或软体进行保护,例如以硬件保护装置(hardwareprotectiondevice)进行保护。此硬件保护装置(hardwareprotectiondevice)于数据载入的一开始即进行数据的保护,并于启动之后持续进行保护。图6显示根据本发明实施例之数据保护方法流程。首先,决定数据是否要加以保护(步骤S61)。如果决定要加以保护,则于数据区块中插入保护旗标(protectionflag)(步骤S62)。当数据区块被下载至数字信号处理器的内部存储器时,如果该数据区块含有保护旗标(protectionflag),则该数据区块即会受到保护(步骤S63)。图7例示一个可用以实施本发明方法及系统的电脑系统。本发明之方法及系统可以软体应用程序之形式来执行于电脑系统(例如大型主机(mainframe)、个人电脑、手持式电脑、伺服器等等)。此软体应用程序可以储存于电脑可读取之记录媒体中,其也可以经由电线或以无线连接至网络(如区域网络、互联网)之方式来读取。电脑系统1000包含中央处理器(CPU)1001、随机存取存储器1004、列表机介面1010、显示单元1011、区域网络(LAN)数据传输控制器1005、区域网络(LAN)介面1006、网络控制器1003、内部汇流排1002、以及一或多个输入装置(如键盘、鼠标等)1009。如图所示,电脑系统1000可以通过连接线1007与数据储存装置(例如硬盘)1008相连接。以上所述仅为本发明之较佳实施例而已,并非用以限定本发明之申请专利范围;凡其它未脱离发明所揭示之精神下所完成之等效改变或修饰,均应包含在下述之申请专利范围内。例如,各个实施例中的元件或特征可以互相加以结合,也可以互相取代。权利要求1.一种数据最佳化的方法,包含判定数据是否具有初始化零值;当该数据被判定具有初始化零值,产生一空区块;以该空区块来取代储存该具有初始化零值之数据;及下载该被取代储存之具有初始化零值之数据至存储器。2.根据权利要求1所述的数据最佳化的方法,其特征在于,上述之判定步骤系以韧体构建器于产生韧体时所执行的。3.根据权利要求1所述的数据最佳化的方法,其特征在于,上述之空区块系为具有零值指示的数据区块,用以表示该区块为空区块。4.根据权利要求1所述的数据最佳化的方法,其特征在于,上述以该空区块来取代储存该具有初始化零值数据之步骤,包含自数字信号处理器之韧体中读取该空区块;及将该空区块解译为该具有初始化零值之数据。5.根据权利要求1所述的数据最佳化的方法,其特征在于,上述之数据为数据物件,例如一表格或一阵列。6.根据权利要求1所述的数据最佳化的方法,其特征在于,上述之取代储存步骤及下载步骤系以下载器于下载韧体至数字信号处理器之内部存储器时所执行的。7.一种数据最佳化的系统,包含一韧体构建器,用以判定数据是否具有初始化零值,且当该数据被判定具有初始化零值,即产生一空区块;一韧体,用以储存该空区块;及一下载器,其以该空区块来取代储存该具有初始化零值之数据,且下载该被取代储存之具有初始化零值之数据至存储器。8根据权利要求7所述的数据最佳化的系统,其特征在于,上述之数据为数据物件,例如一表格或一阵列。9.根据权利要求7所述的数据最佳化的系统,其特征在于,上述之空区块包含一起始位址区域;一零值指示区域;及一区块大小区域。10.根据权利要求9所述的数据最佳化的系统,其特征在于该起始位址区域储存韧体中的该空区块的起始位址;该零值指示区域储存一零值指示,用以表示其为空区块;及该区块大小区域储存韧体中的该空区块的区块大小。11.根据权利要求10所述的数据最佳化的系统,其特征在于,上述之零值指示系为单一位元。12.根据权利要求11所述的数据最佳化的系统,其特征在于,上述之空区块包含一起始位址区域;及一区块大小区域。13.根据权利要求12所述的数据最佳化的系统,其特征在于该起始位址区域储存韧体中的该空区块的起始位址;及该区块大小区域储存韧体中的该空区块的区块大小,如果该区块大小的值小于或等于零即表示其为空区块。14.一种数据安全保护方法,包含判定该数据是否要保护;产生一包含该数据的数据区块;当该数据被判定要保护,则将该数据区块加上一旗标;自该数据区块将数据下载至内部存储器;及当该数据区块具有该旗标,则保护该下载之数据。15.根据权利要求14所述的数据安全保护方法,其特征在于,上述产生数据区块的步骤包含产生一数据区块;加入一起始位址至该数据区块;加入一区块大小至该数据区块;加入该数据至该数据区块;加入一总和检查至该数据区块;及其中上述加上旗标之步骤包含当该数据被判定要保护,则加入一保护旗标至该数据区块。16.根据权利要求15所述的数据安全保护方法,其特征在于,上述之保护旗标系为单一位元或为该区块大小的一部份。17.根据权利要求15所述的数据安全保护方法,其特征在于,上述产生数据区块的步骤还包含将该数据区块储存于数字信号处理器之外部存储器。18.根据权利要求17所述的数据安全保护方法,其特征在于,上述之外部存储器系为韧体,并且上述产生数据区块的步骤系由一韧体构建器所执行。19.根据权利要求14所述的数据安全保护方法,其特征在于,上述之数据系为数字信号处理器之应用程序。20.根据权利要求14所述的数据安全保护方法,其特征在于,上述之下载步骤及保护步骤系于数字信号处理器启动时所进行或以一下载器执行的。21.根据权利要求14所述的数据安全保护方法,其特征在于,上述之保护数据系为只读数据。22.根据权利要求14所述的数据安全保护方法,其特征在于,上述之保护步骤包含使用一硬件保护装置来保护。23.一种数据安全保护系统,包含一判定单元,用以判定该数据是否要保护;一韧体构建器,用以产生一包含该数据的数据区块;一旗标单元,当该数据被判定要保护时,则将该数据区块加上一旗标;一下载器,自该数据区块将数据下载至内部存储器;及一保护单元,当该数据区块具有该旗标时,则保护该下载之数据。24.根据权利要求23所述的数据安全保护系统,其特征在于,上述数据区块之产生包含产生一数据区块;加入一起始位址至该数据区块;加入一区块大小至该数据区块;加入该数据至该数据区块;加入一总和检查该数据区块;及其中上述加上旗标之步骤包含当该数据被判定要保护,则加入一保护旗标至该数据区块。25.根据权利要求23所述的数据安全保护系统,其中上述之保护旗标系为单一位元或为该区块大小的一部份。26.根据权利要求23所述的数据安全保护系统,其特征在于,上述数据区块之产生还包含将该数据区块储存于数字信号处理器之外部存储器。27.根据权利要求23所述的数据安全保护系统,其特征在于,上述之数据系为数字信号处理器之应用程序。28.根据权利要求23所述的数据安全保护系统,其特征在于,上述之下载及保护系于数字信号处理器启动时进行。29.根据权利要求23所述的数据安全保护系统,其特征在于,上述之保护数据系为只读数据。30.根据权利要求23所述的数据安全保护系统,其特征在于,上述之保护单元包含一硬件保护装置。全文摘要一种数据最佳化的方法及系统。首先,判定数据是否具有初始化零值;如果数据被判定具有初始化零值,则产生空区块。以空区块来取代储存具有初始化零值之数据;及下载被取代储存之具有初始化零值之数据至存储器。本发明方法及系统使用于数字信号处理韧体。文档编号G06F1/00GK1828576SQ20051012881公开日2006年9月6日申请日期2005年12月1日优先权日2005年3月4日发明者卡利·哥衍申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1