数据处理系统和存储器仲裁方法

文档序号:6523894阅读:113来源:国知局
专利名称:数据处理系统和存储器仲裁方法
技术领域
本发明是关于在设有由运算存储器和数据缓冲器合并而成的共享存储器的数据处理系统中,用来提高调试(Debugging)效率的存储仲裁方法的。
背景技术
近来,通常把由多个数字视频处理器(Digital Video Processor;DSP)之类的存储器访问装置(Memory Access Unit;MAU)所形成的数据处理系统体现为ASIC。
并且,还在具有数字处理系统功能的芯片上连接了数据缓冲存储器进行使用;在外部CPU上连接了运算存储器进行使用。
但是,最近开发出来的数据处理系统呈现出被SOC形态的趋势。即,将现有的数据处理系统功能、外部CPU及周边功能综合到一个芯片上进行体现。
因此,虽然原来是在数据处理系统芯片上使用数据缓冲用存储器,并在外部CPU上使用运算存储器,但是最近的SOC形态的数据处理系统将运算存储器和数据缓冲用存储器合二为一进行使用,形成了共享存储器的结构。
图1是具有这种共享存储器结构的SOC形态数据处理系统的结构方块图,它显示了适用于数字TV接收机上的实施例。
观察图1,会发现有多个MAU131-135通过存储器仲裁器被并列连接在共享存储器110上。
上述存储器仲裁器120只向为了访问共享存储器而参加存储器数据总线仲裁的多个MAU131-135中的一个授予使用权。
即,在上述多个MAU131-135中,当任意一个MAU试图在上述共享存储器110中写入数据或试图读取共享存储器110中所储存的数据时,首先要向存储器仲裁器申请访问共享存储器110。此时,如果申请访问上述共享存储器110的MAU是一个,那么上述存储器仲裁器120就向该MAU授予存储器数据总线的使用权,使其能够访问存储器110。但是,如果有2个以上的MAU同时发出访问存储器的申请,就要排出访问的顺序,即,上述存储器仲裁器120在确认来自各MAU的申请之后,决定首先处理来自哪一个MAU的申请。然后向这个决定后的MAU授予存储器数据总线的使用权,使其能够访问共享存储器110。
此时,上述存储器仲裁器120可以优先处理来自某个MAU的申请,也可以按先后顺序来进行处理,还可以将两种方法混合在一起进行处理。
而且,如果将上述共享存储器110适用在数字TV上,那么上述MAU就要为了写入和读取用来对音频/视频进行解码处理的比特流、为了读取进行移动补偿所必需的数据、为了写入解码处理后的数据、为了进行必要的写入和读取以转换被显示数据的格式,而需要访问上述共享存储器110。
为此,上述MAU包括系统解码器131、视频解码器132、格式转换器133、音频解码器134和主机(CPU)135。
上述系统解码器131将在一个信道内所包含的多个节目中选择想要的节目,然后对打包处理后的音频和视频比特流进行分离。被分离出来的视频比特流通过仲裁器120和共享存储器110向视频解码器132输出;被分离出来的音频比特流通过仲裁器120和共享存储器110向音频解码器134输出。
上述视频解码器132从输入的视频比特流中摘掉开销(各种头信息、起始密码等),然后在将纯粹的数据信息进行可变长解码(Variable LengthDecoding;VLD)之后,经过量子化过程、反向离散余弦变换过程(InvertedDiscrete Cosine Transform;IDCT)和利用移动矢量进行移动补偿的过程,恢复为原来画面的像素值。此时,上述视频解码器132为了写入和读取进行视频解码的比特流、为了读取移动补偿所必需的数据、为了写入解码处理后的数据,而通过上述存储器仲裁器120访问存储器110。
上述格式转换器133通过仲裁器120和存储器数据总线,将上述存储器110中所储存的数据转换为适合读取和显示的格式,再通过存储器仲裁器120和存储器数据总线储存在共享存储器110内。
上述音频解码器134将利用MPEG语法或音频解码-3语法等将输入的音频比特流恢复为原来的信号。上述音频解码器134也和视频解码器132一样,为了写入和读取用来解码音频的比特流、为了写入解码处理后的数据,而通过上述存储器仲裁器120访问存储器110。
上述CPU135为了对数字TV系统进行整体控制,例如,为了分离上述音频/视频数据、为了进行音频/视频解码、为了控制格式转换,而通过存储器仲裁器120访问共享存储器110。
图2是这种数字TV接收机上使用的共享存储器110的区域划分示意图,它分为多个可供上述MAU分别进行访问的区域。即,当系统解码器131分离出音频比特流和视频比特流时,上述共享存储器110中划分出的区域内,包括访问中的系统解码器区域、分别储存分离出来的视频比特流及音频比特流的视频及音频缓冲区域。另外,还包括当视频解码器132进行视频解码过程中访问的VDEG区域、当格式转换部133进行格式转换时访问的VDP区域。并且,还包括进行屏幕显示处理时储存OSD文字的OSD区域和CPU135访问的CPU区域。上述CPU区域还包括运算存储器区域。
但是,在上述共享存储器结构中,应该象CPU135使用的运算存储器区域那样设置禁止任何MAU进行写入动作的区域。

发明内容同时,如果任何一个没有写入权限的MAU试图在上述写保护存储器区域内写入数据,那么上述存储器就令安装的数据处理系统,例如数字TV接收机系统死机。即由于CPU135因为数据错误而无法进行正常运行,所以CPU可以不公示系统死机的原因。如果上述CPU不公示原因,那么恢复上述系统的调试就会发生许多麻烦。
本发明就是为了解决上述问题而开发出来的,本发明的目的在于提供一种数据处理系统和存储器仲裁方法。利用该方法可以在没有写入权的MAU试图在写保护存储器区域写入数据时,对其进行阻止,以此来保护写保护存储器区域。
为了实现上述目的,以本发明为基础的具有SOC形态的共享存储器的“数据处理系统和存储器仲裁方法”具有以下特点SOC形态的共享存储器是将运算存储器数据和数据缓冲存储器的数据储存在一个存储器内的结构。如果发生没有对共享存储器中特定的存储器区域进行写入权限的MAU试图在上述特定的存储器区域内进行写入的情况,存储器仲裁器将阻止它并保护上述特定存储器区域。
而且,在本发明中,如果没有对特定存储器区域的写入权限的MAU在上述特定存储器区域发生读写周期,那么就向主机CPU驱动断续器对在写保护的特定存储器区域内发生读写周期的MAU进行公示。
并且,在本发明中,如果没有对特定存储器区域的写入权限的MAU在上述特定存储器区域发生读写周期,那么上述MAU申请的数据就被写入上述特定存储器区域以外的区域。
本发明的其他特点和优点可以通过参照附图的说明进行了解。
综上所述,利用以本发明为基础的数据处理系统和存储器仲裁方法,如果不具有对特定存储器区域的写入权限的MAU在上述特定存储器区域中发生读写周期,那么存储器仲裁器就对上述MAU的读写周期数据被写入特定存储区域的动作进行阻止。转而将上述MAU申请的数据写入无效写入地址寄存器所指定的存储器行地址中。同时将相关MAU的错误标志设为“1”,并向CPU驱动断续器对不具有写入权限的MAU在特定存储器区域内发生读写周期的情况进行通知。
这样,当没有写入权限的MAU在写保护的特定存储器区域发生读写周期时,就可以对上述写保护的特定存储器区域进行保护。从而能够防止SOC形态的数据处理系统发生死机状况,进而使上述数据处理系统的调试变得更容易。

图1是普通SOC形态数据处理系统的实施例结构方块图。
图2是图1中共享存储器内区域划分的实施例示意图。
图3是依据本发明,对CPU存储器区域内能够对CPU存储器区域进行可变设定的起始地址和结束地址进行储存的实施例示意图。
图4是依据本发明,当不具有对CPU存储器区域写入权的MAU试图在CPU存储器区域进行写入时,由寄存器代替CPU存储器区域将申请的数据规定为将写入存储器的低地址的实施例示意图。
图5是依据本发明,由寄存器对除CPU之外的MAU是否在CPU存储器区域内发生读写周期进行公示的以MAU为单位进行错误标记的实施例示意图。
图6是以本发明为基础的存储器仲裁方法的实施例示意图。
具体实施方式下面就参照附图对本发明的实施例结构及其作用进行说明。如图中所示,本发明的结构和作用是通过多个实施例来进行说明的。因此,上面所讲的本发明的技术思想及其核心结构和作用并不仅限于此。
如图1所示,本发明由以下几个部分组成①将运算存储器和数据缓冲存储器合并为一个存储器而形成的共享存储器110;②访问上述共享存储器110的多个MAU131-135;③对上述多个MAU131-135访问共享存储器110进行仲裁的存储器仲裁器120。
在上述图1中,MCMD(Memory Command)是任意一个MAU为了访问存储器110而向存储器仲裁器120传送的信息。该信息包括行列地址(row/columnaddress)、读写信息、数据屏蔽(data masking)、候选库(bank)、访问的候选库数量、寻址模式。并且,MWD是共享的写入数据总线(shared write databus);而MRD是共享的读取数据总线(shared read data bus)。
而且,如果上述共享存储器110被应用在数字TV上,那么上述MAU就要为了写入和读取用来对音频/视频进行解码处理的比特流、为了读取进行移动补偿所必需的数据、为了写入解码处理后的数据、为了进行必要的写入和读取以转换被显示数据的格式,而需要访问上述共享存储器110。
为此,以上述MAU为例,它包括系统解码器131、视频解码器132、格式转换器133、音频解码器134和主机(CPU)135。由于前面已经对各MAU的功能进行了详细的说明,所以在这里就省略了对它们的说明。
上述共享存储器110,如图2所示,划分出了多个区域以使上述各个MAU131-135进行访问,上述各MAU131-135可以在分配给自己的区域内写入数据或读取该区域所储存的数据。此时可以对各区域进行固定的划分;也可以进行可变型划分。同时,各区域的起始地址和结束地址储存在存储器仲裁器120内。并且,写保护存储器区域的起始地址和结束地址也储存在存储器仲裁器120内。
因此,当任何一个MAU试图在写保护存储器区域写入数据时,存储器仲裁器120就停止该存储器读写周期,同时利用断续器来告诉CPU是哪一个MAU在写保护区域发生了读写周期。所以,采用共享存储器结构可以防止CPU死机,从而提高数据处理系统的调试效率。
在本发明中,为了便于说明,将写保护区域限定为图2中的CPU存储器区域,在这里,由于写保护区域可以被广泛地应用,所以它并不仅限于上述实施例中提到的内容。
图3是储存上述CPU存储器区域信息的寄存器示意图。它储存着CPU存储器区域的起始地址(cpu-start-addr)和结束地址(cpu-end-addr)该寄存器可以设置在存储器仲裁器120的内部;也可以设置在存储器仲裁器120的外部,并参照上述存储器仲裁器120内部的寄存器来确认CPU区域的起始地址和结束地址。例如,假设上述起始和结束地址占用了12比特,那么起始地址的基本值(default)就是0x“0A5C”、结束地址就被设定为0x“0FFF”。此外,上述寄存器的整体大小就被假设为4字节。
图4是当没有对CPU存储器区域的写入权限的MAU试图在上述CPU存储器区域写入数据时,为了保护上述CPU存储器区域,将由寄存器代替CPU存储器区域来指定储存上述MAU申请写入数据的行地址。例如,储存上述无效写入地址(invalid-write-addr)的寄存器的整体大小为4字节,其中无效写入地址(invalid-write-addr)占用了1200比特,其基础值假定为0x“0000”。上述无效写入地址(invalid-write-addr)能够在上述CPU指定一个除CPU存储器区域之外的存储器区域。此时,如果上述相关MAU在无效写入地址(invalid-write-addr)中写入数据,那么原来的数据就被丢弃了。因此,上述无效写入地址(invalid-write-addr)应该占用不会对系统的动作产生影响的区域地址。例如,上述无效写入地址(invalid-write-addr)可以占用指定视频信号的区域地址。这是由于视频信号容易欺骗使用者的眼睛。
另一方面,当不具有对上述CPU存储器区域的写入权限的MAU试图在CPU存储器区域写入数据时,上述存储器仲裁器120就阻止上述MAU的读写周期(Write Cycle),同时通过断续器告诉CPU135是哪一个MAU在写保护存储器区域发生了读写周期。
图5是本发明中,寄存器为了在上述存储器仲裁器120中向CPU135发生断续器而以MAU为单位进行错误标记的实施例示意图。
假定上述寄存器是整体大小为4字节的只读型(Read Only)寄存器,并且具有读取/清除功能。那么上述CPU135依据各个错误标志就能够知道是哪一个MAU在写保护存储器区域发生了读写周期。
现在就将各个MAU的错误标志用语整理如下err-tp是告知系统解码器131是否在CPU存储器区域发生读写周期的标志,基础值被假定为“0”;err-vb是告知视频缓冲器是否在CPU存储器区域发生读写周期的标志,基础值被假定为“0”;err-fc是告知格式转换部133是否在CPU存储器区域发生读写周期的标志,基础值被假定为“0”;err-vdec是告知视频解码器132是否在CPU存储器区域发生读写周期的标志,基础值被假定为“0”;err-audio是告知音频解码器134是否在CPU存储器区域发生读写周期的标志,基础值被假定为“0”;err-osd是告知OSD用MAU是否在CPU存储器区域发生读写周期的标志,基础值被假定为“0”;err-dma是告知DMA用MAU是否在CPU存储器区域发生读写周期的标志,基础值被假定为“0”;err-gfx是告知图表引擎(GFX)用MAU是否在CPU存储器区域发生读写周期的标志,基础值被假定为“0”;此时,如果上述错误标志值变为“1”,那么CPU就会知道相关的MAU在写保护存储器区域发生了读写周期。例如如果err-vdec标志值变为“1”,那么上述CPU135就知道是音频解码器132在上述CPU存储器区域发生了读写周期。
这里,上述错误标志的数量是随着访问上述存储器110的MAU的数量而改变的,由于MAU可以被更广泛地利用,所以并不仅限上述实施例所提示的那些。
图6是这种存储器仲裁过程的实施例流程图。只有CPU135能够访问上述共享存储器110区域中的CPU存储器区域,其他MAU都被禁止访问该区域。
即,如果多个MAU为了在存储器中读取/写入数据而向存储器仲裁器120申请存储器使用权,那么上述存储器仲裁器120就在确认来自各MAU的申请之后,按照仲裁方法来决定首先处理来自哪一个MAU的申请。并且将存储器总线的使用权授予该MAU使其能够访问共享存储器110(步骤601)。在这里,仲裁方法不是本发明的特点,并且由于它属于普通技术,所以在此不做详细的说明。
此时对获得上述存储器数据总线使用权的MAU是不是CPU135进行判断(步骤602)。如果获得总线使用权的MAU是CPU135,那么上述存储器仲裁器120就将CPU135申请的数据写入CPU135指定的存储器区域的行地址中,或者从上述行地址中读取数据然后转达给CPU135(步骤607)。
如果在上述步骤602中获得总线使用权的MAU经判断不是CPU135,那么就对该MAU的访问是不是读写周期进行判断(步骤603)。如果在上述步骤603中经判断不是读写周期,即,如果判断其为读取命令,那么上述存储器仲裁器120就从上述MUA申请的存储器区域的行地址中读取数据,然后转达给上述MAU(步骤608)。
如果在上述步骤603中判断结果为是读写周期,那么就对上述MAU申请写入的行地址是不是小于等于图3中寄存器中所储存的CPU起始地址(cpu-start-addr)进行确认;同时对行地址是不是大小等于CPU结束地址(cpu-end-addr)进行确认(步骤604)。如果在上述步骤604中,确认结果为行地址小于等于CPU的起始地址并且大于等于CPU结束地址,就判定上述行地址不是CPU存储器区域的地址。所以,上述存储器仲裁器120就将上述MAU申请的数据写入该MAU申请的存储器区域的行地址中,或者从上述行地址中读取数据然后转达给该MAU。
另一方面,如果在上述步骤604中,确认结果为行地址大于CPU起始地址并小于CPU结束地址,即上述行地址处在CPU起始地址和结束地址之间,也就是说上述行地址是CPU存储器区域的地址,也就是说不具有对上CPU存储器区域的写入权限的MAU在写保护的CPU存储器区域中发生了读写周期。因此,此时上述图5中相关MAU的错误标志就变为“1”,然后就向CPU135驱动断续器(步骤605)。那样的话,上述CPU135就能知道有某个不具有写入权限的MAU在写保护的CPU存储器区域中发生了读写周期。例如如果音频解码器132在上述CPU存储器区域中发生了读写周期,那么图5的err-vdec标志就设定为“1”,然后驱动断续器。
而且,将相关MAU申请的数据写入上述图4的无效写入地址寄存器所指定的行地址中(步骤606)。如果以上述视频解码器132为例,上述视频解码器132在CPU存储器区域发生的读写周期就被写入上述无效写入地址寄存器所指定的存储器110的行地址中。此时,上述视频解码器132在CPU存储器区域发生的读写周期数据不能写入CPU存储器区域。然后对存储器110的读写周期就结束了。
另外,本发明中所使用的用语是考虑其在本发明中的功能而定义下来的。所以本领域的从业技术人员可以根据自己的理解进行更改,但对用语的定义应该是在本发明的基础上进行的。
而且,由于本文是针对本发明的理想实施例进行说明的,所以对于本发明中技术的难易,具有本领域中普通技术的人员可以适当地增添其他的实施例。因此,对本发明思想及实施例的一切更改都应归属于本发明的申请范围。
通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。
因此,本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利范围来确定其技术性范围。
权利要求
1.数据处理系统,包括以下组成部分①能够读取/写入数据并可以分割成多个区域的存储器;②为了在上述存储器的特定区域中进行数据读取或写入而申请存储器总线使用权的包括CPU在内的多个存储器访问单位;③存储器仲裁器,它负责依据预设的仲裁方法向上述申请存储器总线使用权的存储器访问单位中特定的存储器访问单位授予存储器总线使用权之后,当获得存储器总线使用权的存储器访问单位的存储器访问是读写周期并且其所申请的存储器区域是上述存储器访问单位不具有写入权限的存储器区域时,使上述存储器访问单位申请的读写周期数据不被写入上述存储器区域。
2.如权利要求项1所述的数据处理系统,其特征在于共享存储器是由运算存储器和数据缓冲用存储器合并为一个单一存储器而形成的。
3.如权利要求项1所述的数据处理系统,其特征在于如果不具有对上述存储器内特定区域的写入权限的存储器访问单位在上述特定区域内发生读写周期,上述存储器仲裁器就在将向上述CPU发生公示该存储器访问单位的信息的同时驱动断续器。
4.如权利要求项1所述的数据处理系统,其特征在于如果不具有对上述存储器内特定区域的写入权限的存储器访问单位在上述特定区域内发生读写周期,上述存储器仲裁器就将上述存储器访问单位申请的数据写入上述存储器中特定区域以外的区域中。
5.如权利要求项1所述的数据处理系统,其特征在于,上述存储器仲裁器包括以下几种寄存器①负责储存写保护的特定存储器区域的起始地址和结束地址的寄存器;②当不具有对上述存储器内特定区域的写入权限的存储器访问单位在上述特定区域内发生读写周期,并且上述存储器访问单位申请的数据转而被写入上述特定存储器区域之外的区域中时,对上述区域的地址进行储存的寄存器;③为各存储器访问单位分配与之相对应的错误标志,在各个错误标志中体现出是否有不具备对上述存储器内特定区域的写入权限的存储器访问单位在上述特定区域内发生读写周期的寄存器。
6.如权利要求项5所述的数据处理系统,其特征在于如果不具备对上述存储器内特定区域的写入权限的存储器访问单位在上述特定区域内发生读写周期,上述存储器仲裁器就将对此进行公示的值变更相关存储器访问单位的错误标志值。
7.数据处理系统的存储器仲裁方法,所述方法包括存储器和多个存储器访问单位,其中,存储器可以分割出多个区域;存储器访问单位则为了在上述存储器中进行数据写入或读取而申请存储器总线的使用权,上述存储器仲裁方法包括以下步骤(a)依据预设的仲裁方法对上述申请存储器总线使用权的存储器访问单位中特定的存储器访问单位授予存储器总线使用权的步骤;(b)如果上述取得存储器总线使用权的存储器访问单位在“存储器访问”是读写周期,并且其申请的存储器区域是对存储器访问单位来讲写保护的存储器区域,就使用上述存储器访问单位申请的读写周期数据不被写入存储器区域的步骤。
8.如权利要求项7所述的存储器仲裁方法中,其特征在于,如果不具有对上述存储器中特定区域写入权限的存储器访问单位在特定区域中发生了读写周期,上述(b)步骤就在发出提示信息的同时驱动断续器。
9.如权利要求项7所述的存储器仲裁方法中,其特征在于,如果不具有对上述存储器中特定区域写入权限的存储器访问单位在特定区域中发生了读写周期,上述(b)步骤就将上述存储器访问单位申请的数据写入存储器特定区域之外的区域。
10.如权利要求项7所述的存储器仲裁方法中,其特征在于,如果取得上述存储器总线使用权的存储器访问单位的“存储器访问”是读取周期,上述(b)步骤就从存储器区域中读出上述存储器访问单位申请的数据,然后转达给上述存储器访问单位。
11.如权利要求项7所述的存储器仲裁方法中,其特征在于,如果取得上述存储器总线使用权的存储器访问单位的“存储器访问”是读写周期,并且所申请的存储器区域是上述存储器访问单位有权写入的存储器区域,上述(b)步骤就将上述存储器访问单位申请的读写周期数据写入上述存储器访问单位所申请的存储器区域中。
全文摘要
本发明是关于能够在内部设有共享存储器(Unified Memory)的数据处理系统上提高调试效率的存储器仲裁方法的,上述共享存储器是由运算存储器和数据缓冲用存储器合并而成的一个存储器。更详细地说就是,本发明如果不具有对上述共享存储器内某特定存储区域的写入权的MAU在上述特定存储区域发生读写周期,那么存储器仲裁器就通过阻止其发生来保护上述特定的存储区域。并且,如果不具有对上述共享存储器内某特定存储区域的写入权的MAU在上述特定存储区域发生读写周期,本发明就向主机CPU驱动断续器来公示在特定写保护存储区域内发生读写周期的MAU。
文档编号G06F13/16GK1908923SQ20051002842
公开日2007年2月7日 申请日期2005年8月3日 优先权日2005年8月3日
发明者李镇赫 申请人:上海乐金广电电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1