专利名称:信号处理装置的制作方法
技术领域:
本发明涉及使用第1及第2存储区域的数据进行信号处理的信号处理装置,特别涉及到经由高速缓存器在第1及第2存储区域中进行存取并读出第1及第2存储区域的数据、以此进行信号处理的信号处理装置。
背景技术:
例如,进行下述那种信号处理,该信号处理对于音乐数据例如使用MPEG-AAC标准的霍夫曼码本(Huffman code book)(例如,8)将其编码成霍夫曼码,当再现时对编码后的代码进行解码。
图1表示出MPEG-AAC标准的霍夫曼码本8。
下面,说明使用该码本如何进行霍夫曼编码。
例如,假设被霍夫曼编码后的输入的位串,连续为「01110110000111111011010001111xxxx」。
此时,因为最前面的5位与该表格最前面的项「01110」匹配,所以得知解码结果为「0」,该代码长度是5位。再者,因为接下来的位变成「110000111111011010001111xxxx」,所以最前面的6位与该表格的第4项「110000」匹配,因此得知解码结果为「3」,该代码长度是6位。再者,因为接下来的位变成「111111011010001111xxxx」,所以最前面的9位与从该表格最后开始数的第3项「111111011」匹配,因此得知解码结果为「61」,该代码长度是9位。再者,因为接下来的位变成「010001111xxxx」,所以最前面的4位与该表格的第11项「0100」匹配,因此得知解码结果为「10」,该代码长度是4位。再者,因为接下来的位变成「01111xxxx」,所以最前面的5位与该表格的第17项「01111」匹配,因此得知解码结果为「16」,该代码长度是5位。
这样,通过以循环方式来检索霍夫曼码本8的各行,进行霍夫曼解码。
但是,该解码方法具有下述问题,即由于在找到一致的霍夫曼码之前必须多次检索霍夫曼码本8,因而需要很多的处理时间。
为此,本申请相关的发明人等发明出用来高速进行霍夫曼解码处理的装置(例如,参见专利文献1)。
下面,以采用MPEG-AAC标准的霍夫曼码本8对编码后的代码进行解码的过程为例,说明使用这个发明的以往技术。
图2表示的是用来高速进行霍夫曼解码处理的2个表格。尤其是,图2(a)及图2(b)分别表示出第1表格5000及第2表格6000。
这些第1及第2表格5000、6000存储于SRAM等存储器的预定地址中,解码器根据霍夫曼码的位串来检索第1及第2表格5000、6000,以此进行解码处理。
在使用该2个第1及第2表格5000、6000时,输入的位串如下被解码。
例如,在输入的位串与上面的示例相同连续为「01110110000111111011010001111xxxx」时,解码器首先取出最前面的6位,并将该6位作为地址来检索第1表格5000。此时,由于以「011101」作为地址来检索第1表格5000,因而解码器对图2(a)中所示的第1次存取点α1进行访问,并且得知代码长度是5位,解码结果是「0」。然后,解码器若因代码长度是5位而将上述位串前进5位,则位串变成「110000111111011010001111xxxx」。
接着,解码器与上面相同取出该位串最前面的6位,并将所取出的6位作为地址来检索第1表格5000。此时,由于以「110000」作为地址来检索第1表格5000,因而解码器对图2(a)中所示的第2次存取点α2进行访问,并且得知代码长度是6位,解码结果是「3」。然后,若因代码长度是6位而将上述位串前进6位,则位串变成「111111011010001111xxxx」。
再者,解码器与上面相同取出该位串最前面的6位,并将所取出的6位作为地址来检索第1表格5000。此时,由于以「111111 」作为地址来检索第1表格5000,因而解码器对图2(a)中所示的第3次存取点α3进行访问,获得未完成记号「15 」、下一地址指针「1100010」及下面要读入的位数4,因此将指针前进到图2(b)所示第2表格6000的地址「1100010」,在将上述位串前进6位后再取得4位,以该4位作为来自地址「1100010」的索引,检索第2表格6000。此时,由于该4位的值是「0110」,因而将对图2(b)中所示的第4次存取点α4进行访问,因此解码器得知代码长度是3位,解码结果是「61」。然后,若因上述代码长度是3位而将上述位串前进3位,则位串变成「010001111xxxx」。
接着,解码器与上面相同取出该位串最前面的6位,并将该6位作为地址来检索第1表格5000。此时,由于以「010001」作为地址来检索第1表格5000,因而解码器对图2(a)中所示的第5次存取点α5进行访问,并且得知代码长度是4位,解码结果是「10」。若因上述代码长度是4位而将上述位串前进4位,则位串变成「01111xxxx」。
接着,解码器与上面相同取出该位串最前面的6位,并将该6位作为地址来检索第1表格5000。此时,由于以「01111x」作为地址来检索第1表格5000,因而对图2(a)中所示的第6次存取点α6进行访问,并且得知代码长度是5位,解码结果为是「16」。
如同由上述那种处理过程所明确的那样,对于代码长度短的代码(发生频率高的代码),通过1次表格访问就完成霍夫曼解码,只是对于代码长度长的代码(发生频率低的代码),才通过2次表格访问来完成霍夫曼解码,因此可以平均实现高速的信号处理。
上面是作者等所发明出的以往技术。
可是,近年来在移动电话机等这样的计算机装置中人们正在寻求多功能化,以便不仅仅是打电话,并且不只是音频的再现,还可以再现视频,或者收发邮件。
若为了实现这样的多个功能,给每个功能设计其功能专用的电路,则电路规模变得庞大。因此,考虑到根据需要将表格等的数据存储到外部存储器等中,并在信号处理所需要的时候将外部存储器的数据存储到高速缓存器中,以此不减低响应性,而实现各功能。
有时,采用这种装载高速缓存器的运算装置(信号处理装置)来进行上述那种霍夫曼解码。虽然将对于此时的以往技术进行说明,不过首先简单说明高速缓存器的动作。
图3表示的是主存储器1000、处理器2000和高速缓存装置3000之间的关系。
高速缓存装置3000如图3所示,具备高速缓存器3100,用来存储数据;控制部3200,用来进行替换控制。
高速缓存器3100以被称为行(line)的单位来管理数据。通常情况下,由于行的大小是32字节或128字节之类的值,并且高速缓存器的大小是16k字节或32k字节之类的值,因而高速缓存器3100按照数百到数千的行进行定界(划界),但是此处为了使说明变得简单明了,设为按照4行来定界的状态进行说明。
主存储器1000的存储区域也按每个该行大小进行定界。而且,主存储器1000的第几行存储于高速缓存器3100的数据区域3400何处,由高速缓存器3100内的标记信息的区域(标记区域)3300来管理。
在该图3中表示出下述状态,即主存储器1000的Line1、Line3、Line6及Line8的数据存储于高速缓存器3100的数据区域3400中,用来识别该行的信息存储于标记区域3300中。
因而,处理器2000在对主存储器1000的相应行(Line1、Line3、Line6及Line8)的数据进行存取时,是通过访问高速缓存器3100来进行的。
但是,例如对主存储器1000的Line9进行存取时,由于该区域当前没有存储于高速缓存器3100中,并且已经在高速缓存器3100内没有自由空间,因而通过将高速缓存器3100中当前所存储的任一行数据暂时写回到主存储器1000,为高速缓存器3100确保自由空间,并在该所空出的区域存储Line9的数据。
在采用装载有这种高速缓存器3100的信号处理装置进行上面所说明的霍夫曼解码处理时,例如在MPEG音频的AAC方式时,因为需要较大的存储区域,所以预先在主存储器1000中存储了霍夫曼解码所需的全部表格数据,并且一边依次向高速缓存器3100转移数据,一边进行霍夫曼解码处理。
还有,此处所谓的存取,意味着预定地址来读出或写入数据。
专利文献1日本特开2000-286717号公报但是,如果以采用高速缓存器的信息处理装置进行上面所示的霍夫曼解码处理,则产生下面所示的那种问题。
图4是表示采用高速缓存器3100进行霍夫曼解码时的以往信息处理装置结构的框图。还有,为了进一步明确以往的信号处理装置和本申请发明所涉及的信号处理装置之间的差异,在此将说明取代第1及第2表格5000、6000而使用下述的第1及第2表格13、14的情形。
信号处理装置如图4所示,具备主存储器1000、作为存取装置的处理器2000及高速缓存器3100,其构成为在主存储器1000的第1存储区域1001存储第1表格13,并且在主存储器1000的第2存储区域1002存储第2表格14。
第1表格13由8行(Line0~Line7)构成,第2表格14由7行(Line8~Line14)构成。在图14、图15中分别表示第1表格13及第2表格14各自的具体内容。第1表格13及第2表格14是一种采用以往技术存储与上面所示的图2(a)、(b)相同的数据之表格,但是不同之处是,与高速缓存器的结构一起为每个行大小进行定界。
可是,在当前输入的位串与上面的示例相同连续为「01110110000111111011010001111xxxx」时,处理器2000首先将该位串最前面的6位作为地址,检索第1表格13。此时,由于以「011101」作为地址来检索第1表格13,但该地址如图14所示位于Line3,因而在该Line3的数据从主存储器1000移到高速缓存器3100中之后(参见图5),处理器2000对该数据进行存取,并且得知代码长度是5位,解码结果是「0」。因为上述代码长度是5位,所以处理器2000将上述位串前进5位。这样一来,下一位串变成「110000111111011010001111xxxx」。
接着,处理器2000与上面相同,将该位串最前面的6位作为地址来检索第1表格13。此时,由于以「110000」作为地址来检索第1表格13,但该地址如图14所示位于Line6,因而在该Line6的数据从主存储器1000移到高速缓存器3100中之后(参见图6),处理器2000对该数据进行存取,并且得知代码长度是6位,解码结果是「3」。若因上述代码长度是6位而将上述位串前进6位,则位串变成「111111011010001111xxxx」。
再者,与上面相同,处理器2000将该位串最前面的6位作为地址,检索第1表格13。此时,由于以「111111」作为地址来检索第1表格13,但该地址如图14所示位于Line7,因而处理器2000在该Line7的数据从主存储器1000移到高速缓存器3100中之后(参见图7),为该数据进行存取,并且获得未完成记号「15」、下一地址指针「1100010」及下面要读入的位数「4」。
因此,处理器2000将指针前进至第2表格14的地址「1100010」,并在将上述位串前进6位之后,将接下来4位的值作为来自地址「1100010」的索引来检索第2表格14。此时,由于该4位的值是「0110」,因而给地址「1100010」填补「0110 」,并且下面要存取的地址变成「1101000 」。也就是说,处理器2000给下一地址指针「1100010」填补「0110」,并计算下面要存取的地址「1101000」。
由于该地址如图15所示位于Line13,因而处理器2000在该Line13的数据从主存储器1000移到高速缓存器3100中之后(参见图8),对该数据进行存取,并且得知代码长度是3位,解码结果是「61」。若因上述代码长度是3位而将上述位串前进3位,则位串变成「010001111xxxx」。
接着,与上面相同,处理器2000将该位串最前面的6位作为地址,检索第1表格13。此时,由于以「010001」作为地址来检索第1表格13,但该地址如图14所示位于Line2,因而在该Line2的数据从主存储器1000移到高速缓存器3100中之后,将要为该数据进行存取。
然而,当前在高速缓存器中没有自由空间。这样,在填满高速缓存器3100的数据中没有需要的数据时,也就是在发生了高速缓存错误时,控制部3200需要将高速缓存器3100中所存储的任一行数据写回到主存储器10中,并向由此产生出的自由空间转移该Line2的数据。
由于在发生了这种高速缓存错误时,通常将最早所存取的Line写回,因而此时控制部3200将Line3写回(参见图9),并向此处转移Line2的数据(参见图10)。此后,处理器2000对该Line2的数据进行存取,并且得知代码长度是4位,解码结果是「10」。若因上述代码长度是4位而将上述位串前进4位,则位串变成「01111xxxx」。
而接下来,与上面相同,处理器2000以该位串最前面的6位作为地址,检索第1表格13。此时,由于以「01111x」作为地址来检索第1表格13,但该地址如图14所示位于Line3,因而在将该Line3的数据从主存储器1000移到高速缓存器3100中之后,将要对该数据进行存取。然而,由于当前在高速缓存器中没有自由空间,因而控制部3200将高速缓存器3100中所存储的任一行数据写回到主存储器1000中,并向由此产生出的自由空间转移该Line3的数据。
由于在发生了这种高速缓存错误时,通常以LRU方式将最早所存取的Line写回,因而此时控制部3200将Line6写回(参见图11),并向此处转移Line3的数据(参见图12)。此后,处理器2000对该Line3的数据进行存取,并且得知代码长度是5位,解码结果是16。
还有,虽然在上述过程中,就上述说明而言假设Line3的数据和Line6的数据从高速缓存器3100写回到主存储器1000中,但是在该一系列动作的过程中,由于Line3的数据和Line6的数据在存储于高速缓存器中的期间其值未产生变化,也就是说高速缓存器上的值和主存储器1000上的值相同,因而在以往很多的高速缓存器控制方法中,没有进行写回这样的动作而进行下述处理,即将Line2的数据重写到Line3的数据已被存储的高速缓存器3100上,或者将Line3的数据重写到Line6的数据已被存储的高速缓存器3100上。
但是,如同由上述过程所明确的那样,由于以LRU方式来决定替换对象,因而存在高速缓存错误经常发生这样的问题。这种高速缓存错误的经常发生将导致下述问题,即在较短时间的期间内,在主存储器1000和高速缓存器3100之间发生多次(2次)Line3等的数据传输,为数据的传输需要很多时间,并且消耗电力也有所增加。
这种问题不限于解码处理的情形,而能够认为是信号处理装置的普遍情况,该信号处理装置经由高速缓存器在第1及第2存储区域进行存取,并读出第1及第2存储区域的数据,以此进行信号处理。
发明内容
本发明是鉴于这种以往的问题而做出的,其目的为在采用高速缓存器的信号处理装置中,提供一种可以减少高速缓存错误、并减少数据传输时间及数据传输量的信号处理装置。
可是,本申请发明人对使用高速缓存器的以往技术进行分析后,得知在解码处理过程中向第1表格13的存取频率是85%,并且向第2表格14的存取频率是15%。尽管如此,还发现因为以往采用以LRU方式将第2表格的数据保留到高速缓存器中的算法,所以替换算法(Replacement Algorithm)是不适当的,以至于研究出本设计方案。
因此,为了达到上述目的,在本发明所涉及的信号处理装置中采用第1及第2存储区域的数据进行信号处理,其特征为具备高速缓存器,用来暂时存储上述数据;存取装置,用来经由上述高速缓存器在上述第1及第2存储的至少之一中进行存取,以此读出上述数据;控制装置,用来在上述高速缓存器中进行暂时存储的自由空间不足时,在上述高速缓存器中确保自由空间;上述控制装置确保上述自由空间,以便上述第1存储区域的数据比上述第2存储区域的数据更优先地保持到上述高速缓存器中。
按照这种结构,如果预先在第1存储区域存储了存取频率较高的数据,则替换算法适当。因而,在采用高速缓存器的信号处理装置中,可以提供一种减少高速缓存错误、并减少数据传输时间及数据传输量的信号处理装置。
另外,在本发明所涉及的信号处理装置中其特征可以为,上述信号处理装置还具备属性存储装置,用来存储强度属性,该强度属性表示上述第1存储区域的强度比上述第2存储区域的强度强;上述控制装置按照上述属性存储装置中所存储的强度属性,来决定要保持到上述高速缓存器中的数据。
按照这种结构,可以使替换算法变得确实适当,并且将对第2存储区域的数据所分配的高速缓存器的数据区域,管理成最小限度。
另外,在本发明所涉及的信号处理装置中其特征也可以为,上述存取装置对于上述第1存储区域,在将上述第1存储区域的数据移到上述高速缓存器中后进行存取,并且对于上述第2存储区域,不将上述第2存储区域的数据移到上述高速缓存器中就进行存取。
按照这种结构,可以使替换算法确实适当,并且去除对第2存储区域的数据所分配的高速缓存器的数据区域,将高速缓存器数据区域,全部对第1存储区域的数据进行分配。
另外,在本发明所涉及的信号处理装置中其特征也可以为,上述第1存储区域存储与上述第2存储区域相比存取频率更高的数据。
按照这种结构,可以使替换算法确实适当。
另外,在本发明所涉及的信号处理装置中其特征可以为,上述第1及第2存储区域分别对表示转换规则的第1及第2表格进行保持,该转换规则用来按照一定规则替换输入数据;上述控制装置确保上述自由空间,以便上述第2表格的数据比上述第1表格的数据更优先地从上述高速缓存器中废弃。
按照这种结构,如果预先在第1存储区域存储了存取频率高的第1表格,则替换算法变得适当。因而,可以在采用高速缓存器的信号处理装置中提供下述信号处理装置,该信号处理装置减少高速缓存错误,并减少数据传输时间及数据传输量,同时按照一定规则替换输入数据。
另外,在本发明所涉及的信号处理装置中其特征也可以为,上述信号处理装置还具备属性存储装置,用来存储强度属性,该强度属性表示上述第1表格的强度比上述第2表格的强度强;上述控制装置按照上述属性存储装置中所存储的强度属性,来决定要从上述高速缓存器中废弃的数据。
按照这种结构,如果预先在第1存储区域存储了存取频率高的第1表格,则使替换算法变得确实适当,并且可以将对第2存储区域的数据所分配的高速缓存器的数据区域,管理成最小限度。
另外,在本发明所涉及的信号处理装置中其特征也可以为,上述信号处理装置对作为输入数据的霍夫曼码进行解码,上述霍夫曼码其代码长度的最长位是N位,上述第1表格是在将n设为1以上且未达到N的整数时对n位以下的代码数据进行解码的表格,上述第2表格是对比上述n位更长的代码数据进行解码的表格。
按照这种结构,由于在第1存储区域存储存取频率高且代码长度短的霍夫曼码解码用的第1表格,因而使替换算法变得确实适当,并且可以将对第2存储区域的数据所分配的高速缓存器的数据区域,管理成最小限度。
还有,本发明并不仅仅是作为这种信号处理装置来实现,还可以作为以这种信号处理装置所具备的特征性机构为步骤的信号处理方法来实现,或者作为使计算机实行那些步骤的程序来实现。而且,不言而喻,那种程序可以通过CD-ROM等记录介质和因特网等传输介质进行传递。
本发明的效果如下如同由上面的说明所明确的那样,根据本发明所涉及的信号处理装置,如果预先在第1存储区域存储了存取频率高的数据,则替换算法变得适当,因此可以提供一种信号处理装置,在采用高速缓存器的信号处理装置中,减少高速缓存错误、并减少数据传输时间及数据传输量。
因而,采用本发明,可以实现减少高速缓存错误、并减少数据传输时间及数据传输量的信号处理,并且在多功能移动电话机等计算机装置已普及的今天,本申请发明的实用价值非常高。
图1表示的是MPEG-AAC标准的霍夫曼码本8。
图2(a)表示的是用来高速进行霍夫曼解码处理的第1表格5000。
图2(b)表示的是用来高速进行霍夫曼解码处理的第2表格6000。
图3表示的是高速缓存器、主存储器和处理器之间的关系。
图4是采用以往的高速缓存器进行霍夫曼解码时的结构图。
图5表示的是利用以往的技术存储到高速缓存器中的数据流。
图6表示的是利用以往的技术存储到高速缓存器中的数据流。
图7表示的是利用以往的技术存储到高速缓存器中的数据流。
图8表示的是利用以往的技术存储到高速缓存器中的数据流。
图9表示的是利用以往的技术存储到高速缓存器中的数据流。
图10表示的是利用以往的技术存储到高速缓存器中的数据流。
图11表示的是利用以往的技术存储到高速缓存器中的数据流。
图12表示的是利用以往的技术存储到高速缓存器中的数据流。
图13表示的是本发明实施方式1所涉及的信号处理装置1的结构。
图14表示的是第1表格13的内容一个示例。
图15表示的是第2表格14的内容一个示例。
图16表示的是属性存储部52所存储的数据内容一个示例。
图17是表示图13所示的高速缓存装置30结构示例的框图。
图18表示的是高速缓存项的详细位构形。
图19是表示高速缓存控制部42结构的框图。
图20是表示W标识设定部结构示例的框图。
图21(a)表示的是在指令寄存器中写入指令的命令一个示例。
图21(b)表示的是指令的一个示例。
图21(c)表示的是在起始地址寄存器中写入起始地址的命令一个示例。
图21(d)表示的是在大小寄存器(size register)中写入大小的命令一个示例。
图22表示的是起点校准器(start aligner)及终点校准器的说明图。
图23是表示标识改写部中W标识设定处理的流程图。
图24是表示替换部的替换处理的流程图。
图25表示的是存储到高速缓存器中的数据流。
图26表示的是存储到高速缓存器中的数据流。
图27表示的是存储到高速缓存器中的数据流。
图28表示的是存储到高速缓存器中的数据流。
图29表示的是存储到高速缓存器中的数据流。
图30表示的是存储到高速缓存器中的数据流。
图31表示的是存储到高速缓存器中的数据流。
图32是表示本发明实施方式2所涉及的信号处理装置2结构的框图。
图33表示的是属性存储部64所存储的属性数据的内容一个示例。
具体实施例方式
下面,参照附图来说明本发明实施方式所涉及的信号处理装置。
<整体结构>
(实施方式1)图13是表示本发明实施方式1所涉及的信号处理装置1整体结构的框图。还有,在图13中图示出,将信号处理装置1作为下述解码器使之发挥作用的情形,该解码器采用图1中MPEG-AAC标准的霍夫曼码本(例如,8)对编码成霍夫曼码后的位串进行解码。
如图13所示,信号处理装置1具备主存储器10、作为存取装置的处理器20及高速缓存装置30等。
主存储器10由DRAM等构成,分别在第1存储区域11和第2存储区域中,存储用来按1段进行解码处理的1段用第1表格13和用来按2段进行解码处理的2段用第2表格14。
高速缓存装置30由SRAM等构成,并且具备高速缓存器34,用来存储弱标识W和脏标识D等,该弱标识W表示标记区域、数据区域以及作为保留到数据区域中的概率高低之强度属性,该脏标识D表示要不要写回;控制部51,用来进行替换控制;属性存储部52,用于存储设定保留到高速缓存器34中的概率高低的数据(属性数据);等等。高速缓存装置30被构成为以采用所谓的LRU方式对存取顺序早(旧)的高速缓存项进行替换的替换控制为前提,此后与存取顺序相反对表示用来决定替换对象的存取顺序的顺序数据进行改变,以此将对存取频率低的数据进行保持的高速缓存项作为替换对象,从高速缓存器中清除。具体而言,通过将下述弱标识W附加给高速缓存项,来间接改变顺序数据,该弱标识W表示判定出存取顺序是最早的。据此,不需要对顺序数据进行直接改变的复杂电路。
处理器20当开始解码处理时,在主存储器10的第1存储区域11中写入第1表格13,并在第2存储区域12中写入第2表格14,或者根据预先所决定的属性值设定数据,在属性存储部52中设定强度属性。然后,处理器20以解码对象的霍夫曼码串作为地址向高速缓存器进行访问,以此取得解码结果。
图14表示的是第1表格13的结构,图15表示的是第2表格14的结构。
第1表格13及第2表格14用来表示按照一定规则转换输入数据所需的转换规则,具体而言,与编码时所使用的霍夫曼码本相对应,分别被映射到第1存储区域11和第2存储区域12。
第1表格13用来将下述霍夫曼码解码成解码结果,该霍夫曼码能够包含于从位流所读出的预定位数数据中、具有预定数(6位)以下的位数且相比较代码长度较短。另外,第2表格14用来在较短的霍夫曼码中没有完成解码时,对具有超过下述预定数的位数且相比较代码长度较长的霍夫曼码进行解码,该预定数是根据由第1表格13所取得的地址指针和由下一取得点所示的位长的霍夫曼码,计算出的。这样,比较短的霍夫曼码和比较长的霍夫曼码以采用第1表格13及第2表格14的处理,进行解码。
第1表格13如图14所示,由下述三个栏目构成,一是用来存储代码长度或未完成记号(此处,为「15」)的数据的栏目,二是用来存储解码结果或下一地址的数据的栏目,三是用来存储下一取得长度的数据的栏目。还有,在该第1表格13的左侧为了说明上的方便,表示出存储这些数据地址和行。
第2表格14如图15所示,由下述二个栏目构成,一是用来存储代码长度的数据的栏目,二是用来存储解码结果的数据的栏目。在该第2表格14的左侧为了说明上的方便,表示出存储下一索引数据和这些数据的地址以及行,该下一索引数据用来求取地址。
还有,在霍夫曼编码过程中,一般对于出现频率较高的输入值,分配较短的霍夫曼码,对于出现频率较低的输入值,分配较长的霍夫曼码。但是,在解码处理过程中,与第1表格14相比第1表格13其存取频率更高。
图16表示的是属性存储部52中所存储的属性数据的内容一个示例。
这种情况下,表示出位于第1表格13的Line0到Line7其强度大(弱标识W为「0」),并且位于第2表格14的Line8到Line14其强度小(弱标识W为「1」)。通过设定这种强度属性,来发挥适当的替换算法,减少高速缓存错误。
<高速缓存装置的具体结构>
图17是表示高速缓存装置30具体结构示例的框图。还有,此处作为高速缓存装置30的具体示例,将说明在4路·成组·相关联(4way-set-associative)方式的高速缓存器中使用本发明时的构成。
如图17所示,高速缓存装置30具备地址寄存器31、存储器I/F32、解码器33、4个路34a~34d(下面,也简写为「路0~3」。)、4个比较器35a~35d、4个“与”电路36a~36d、选择器38、选择器39、多路分解器41及高速缓存控制部42。高速缓存控制部42包括替换部42a及W标识设定部42b。
还有,该高速缓存装置30具体示例中的替换部42a相当于图13的控制部51,W标识设定部42b相当于图13的属性存储部52。
地址寄存器31用来保持到主存储器10的存取地址。假设,该存取地址是32位。如图17所示,存取地址从最高位依次包括21位的标记地址、4位的组索引(图7中的SI)及5位的字索引(图17中的WI)。在此,标记地址指的是,映射到路上的存储器中的区域(其大小为组(set)数×字组(block))。该区域的大小由比标记地址更低位的地址位(A10~A0)来决定,也就是2k字节,并且也是1个路的大小。组索引(SI)指的是,跨越路0~3的多组之一。该组数因组索引是4位,而有16组。由标记地址及组索引所确定的高速缓存项是替换单位,并且在存储于高速缓存器中时被称为行数据或行。行数据的大小由比组索引更低位的地址位来决定,也就是128字节。假设1个字为4字节,则1个行数据是32字。字索引(WI)指的是,构成行数据的多个字中的1个字。地址寄存器31中的最低有效2位(A1、A0)在进行字存取时被忽略。
存储器I/F32是从高速缓存装置30访问主存储器10所用的I/F,包括从主存储器10向高速缓存装置30的数据下载、以及从高速缓存装置30向主存储器10的数据回写等。
解码器33用来对组索引的4位进行解码,并选择跨越4个路0~3的16组中的一个。
4个路0~3是具有相同结构的4个路,并具有4×2k字节的容量。各路具有16个高速缓存项。
图18表示的是图17所示的1个高速缓存项中详细的位构形。
如图18所示,一个高速缓存项具有有效标识V0~V3、21位的标记、128字节的行数据、弱标识W及脏标识D0~D3。
标记是21位标记地址的副本。
行数据是由标记地址及组索引确定的字组中128字节数据的副本,由32字节的4个子行组成。
有效标识V0~V3对应于4个子行,用来表示子行是否有效。
弱标识W用来判定出该高速缓存项的存取顺序是最早的。也就是说,W=1时意味着,不从处理器20对该高速缓存项再进行读出和写入,或者说存取频率低。另外,W=1时意味着,在高速缓存装置30中处理为对于替换控制其存取顺序最早,也就是最弱(weak)的高速缓存项。W=0时意味着,相反的情形。
脏标识D0~D3对应于4个子行,表示在其子行上从处理器20有没有写入。也就是说,虽然在子行中存在被高速缓存后的数据,但是因写入而与主存储器10中的数据不一样,因此表示是否需要写回到主存储器10中。
比较器35a用来比较地址寄存器31中的标记地址和包含于下述组内的4个标记中路0的标记是否一致,该组是利用组索引所选择的。对于比较器35b~35c,除对应于路34b~34d之外全都相同。
“与”电路36a用来比较有效标识和比较器35a的比较结果是否一致。在比较结果为「1」时意味着,存在与地址寄存器31中的标记地址及组索引对应的行数据,也就是说在路0上已命中(hit找到)。在比较结果为「0」时意味着,发生了高速缓存错误。对于“与”电路36b~36d,除对应于路34b~34d之外全都相同。其比较结果分别意味着,在路1~3上已命中或者发生了高速缓存错误。
选择器38用来对所选择出的组的路0~3的行数据之中所命中的路的行数据进行选择。
选择器39用来对通过选择器38所选择出的32字的行数据之中字索引所示的1个字进行选择。
多路分解器41用来在为高速缓存项写入数据时,向路0~3之一输出写入数据。该写入数据可以是字单位。
高速缓存控制部42用来进行高速缓存装置30的整体控制。特别是,进行W标识的设定和按照W标识的替换控制。
图19是表示高速缓存控制部42结构的框图。
高速缓存控制部42如上所述,包括替换部42a,相当于图13的控制部51;W标识设定部42b,相当于图13的属性存储部52。
替换部42a用来在因高速缓存错误而引起的替换时,如果存在已设定W=1的高速缓存项,则判定为该高速缓存项的存取顺序最早,选择作为替换对象,并进行替换。
W标识设定部42b用来按照来自处理器20的指令,设定弱标识W。处理器20对于不最早进行写入和读出的高速缓存项,将指示弱标识W设定的指令,对高速缓存装置30发放。
图20是表示W标识设定部42b结构示例的框图。
如图20所示,W标识设定部42b具备指令寄存器421、起始地址寄存器422、大小寄存器423、起点校准器424、加法器425、终点校准器426及标识改写部427。
指令寄存器421可以从处理器20直接进行访问,用来保持由处理器20所写入的W标识设定指令。
图21(a)表示在指令寄存器421中写入指令的命令一个示例。
该命令是通常的传输命令(mov命令),并且作为源操作数指定出指令,作为目标操作数指定出指令寄存器(CR)。
图21(b)表示指令的一个示例。该指令是表示W标识设定指令的特定代码。W标识设定指令用来对保持下述数据的高速缓存项发出设定W标识的指示,该数据对应于起始地址寄存器422中所保持的起始地址到大小寄存器423中所保持的大小的地址范围。
起始地址寄存器422可以从处理器20直接访问,用来保持由处理器20所写入的起始地址。该起始地址表示应设定W标识的地址范围开始位置。
图21(c)表示在起始地址寄存器422中写入起始地址的命令一个示例。该命令也与图21(a)相同,是通常的传输命令(mov命令)。
大小寄存器423可以从处理器20直接访问,用来保持由处理器20所写入的大小。该大小表示从起始地址开始的地址范围。
图21(d)表示在大小寄存器423中写入大小的命令一个示例。该命令也与图21(a)相同,是通常的传输命令(mov命令)。还有,大小的单位是字节数还是行数(高速缓存项数)都可以,并且可以是预先所设定的单位。
起点校准器424用来将起始地址调整到行边界的位置上。通过该调整,处理器20可以与行大小及行边界无关,指定任意的地址来作为起始地址。
加法器425用来对保持于起始地址寄存器422中的起始地址和保持于大小寄存器423中的大小进行加法运算。加法运算的结果是指出地址范围结束位置的结束地址。加法器425可以在大小为字节数特定时,作为字节地址进行加法运算,并且在大小为行数特定时,作为行地址进行加法运算。
终点校准器426用来将结束地址调整到行边界的位置上。通过该调整,处理器20可以与行大小及行边界无关,指定任意的大小来作为上述大小。
图22表示起点校准器424及终点校准器426的说明图。
在图22中,由处理器20所指定的起始地址用来指示行N中途的任意位置。起点校准器424进行调整以指示下一行(N+1)的起点,并以调整后的地址作为校准起始地址予以输出。将校准起始地址所指示的行称为起始行。
另外,结束地址用来指示行M中途的任意位置。终点校准器426进行调整以指示仅仅之前行(M-1)的起点,并以调整后的地址作为校准结束地址予以输出。将校准结束地址所指示的行称为结束行。
此时,对从起始行(行(N+1))到结束行(行(M-1))的各行(高速缓存项)设定W标识。这样,起点校准器424及终点校准器426校准到比下述地址范围更靠内侧的原因为,有可能在行N和行M的外侧部分上发生从处理器20进行读出或写入的状况,上述地址范围是从由处理器20所指定的起始地址到结束地址的地址范围。
如果从校准起始地址所指示的行到校准结束地址所指示的行(在图22的示例中从行(N+1)到行(M-1)),已进入高速缓存装置30,则标识改写部427将W标识设定为1。
<W标识设定处理>
图23是表示标识改写部427中W标识设定处理一个示例的流程图。
标识改写部427在指令寄存器421中保持有W标识设定指令时,将从起始行到结束行的各行地址按顺序输出,同时进行循环1的处理(S82~S86)。由于标识改写部427对于各行进行相同的处理,因而此处对于1行部分的处理进行说明。
也就是说,标识改写部427在高速缓存装置30尚未被处理器20访问的期间,将行地址输出到地址寄存器31中(S83),使比较器35a~35d对地址寄存器31的标记地址和高速缓存项的标记进行比较,并判定是否命中(S84)。再者,标识改写部427在命中时,对于命中的高速缓存项将W标识设置为1(S85),在发生了高速缓存错误时,由于未进入高速缓存器,因而不进行任何处理。
因此,对于从起始行到结束行的各行,在进入了高速缓存装置30时,W标识被设定为「1」。
<替换处理>
图24是表示替换部42a中替换处理的流程图。
在同图24中,替换部42a在存储器存取发生了高速缓存错误时(S91),在由组索引所选择出的组中读出4路的弱标识W(S92),并判定4个弱标识的逻辑或(OR)是否为1,也就是说是否存在W=1的路(S93)。在判定出存在W=1的路时,判定为该高速缓存项的存取顺序最早并选择1个W=1的路(S94),在判定出不存在W=1的路时,利用通常的LRU方式选择1个路(S95)。此时,在存在多个弱标识W为1的路的情况下,替换部42a随机选择1个。
再者,替换部42a以该组中所选择出的路的高速缓存项为对象进行替换(S96),在替换后将该高速缓存项的弱标识W初始化为0(S97)。还有,此时有效标识V、脏标识D分别被初始化为1、0。
这样,在不存在W=1的路时,替换对象利用通常的LRU方式来选择。另外,在存在W=1的路时,替换对象被处理为W=1路的存取顺序最早,其结果为,选择W=1路的高速缓存项。据此,可以减少因存取频率低的W=1的数据存在于高速缓存器中而产生的高速缓存错误。
如同上面所说明的那样,根据本实施方式1中的高速缓存器,弱标识W=1的行不从处理器再进行读出和写入,并且作为其存取顺序最早被处理的结果为,最先作为替换对象进行选择。据此,可以减少因存取频率低的数据而产生的高速缓存错误的引发。
另外,因为不用对以往LRU方式中表示存取顺序的顺序数据进行直接改变,而通过间接附加W标识来改变存取顺序,所以不用追加复杂的硬件电路,就可以实现。
接着,说明信号处理装置1的各部所执行的动作。
图25到图31表示的是存储到高速缓存器34中的数据流。
在本实施方式1中,以信号处理装置1为示例进行说明,该信号处理装置1采用图1的MPEG-AAC标准的霍夫曼码本8对编码后的代码进行解码。
还有,为了清楚与以往信号处理装置之间的动作差异,假设只使用高速缓存器34的1个路的4组,并且设为,输入的位串与以往相同连续为「01110110000111111011010001111xxxx」。
如图25所示,处理器20首先将该位串最前面的6位「011101」作为地址,检索第1表格13。此时,由于该地址「011101」位于Line3(参见图14),因而在该Line3的数据从主存储器10移到高速缓存器34中之后,存取地址「011101」的数据,并取得代码长度5位和解码结果「0」。
更为详细而言,处理器20对于高速缓存装置30,以位串最前面的6位「011101」作为地址来输出读出信号。接收到以「011101」为地址的读出信号后的高速缓存装置30,由于在高速缓存器34中不存在Line3的数据,因而通过对从Line3的起点到终点进行寻址,将Line3的数据写入高速缓存器34的1个组中。然后,给标记写入Line3,给W标识写入「0」,并给脏标识D写入「0」。若它们的写入结束,则高速缓存装置30将地址「011101」的数据、代码长度5位及解码结果「0」,输出给处理器20。
然后,若取得了代码长度5位和解码结果「0」,则处理器20在为了进行此后的信号处理(逆量子化处理、IMDCT(Inverse ModifiedDiscrete Cosine Transform)处理等)而将解码结果「0」输出给缓冲器等之后,因上述代码长度为5位而将上述位串前进5位。也就是说,使取得点P移动5位。这样一来,下一位串变成「110000111111011010001111xxxx」。
在下一位串是「110000111111011010001111xxxx」时如图26所示,与上面相同,处理器20将该位串最前面的6位「110000」作为地址,检索第1表格13。此时,因为该地址「110000」位于Line6(参见图14),所以在该Line6的数据从主存储器10移到高速缓存器34中之后(图26),存取该地址「110000」的数据,并取得代码长度6位和解码结果「3」。
还有,给标记写入Line6,给W标识写入「0」,并给脏标识D写入「0」。
然后,处理器20在输出解码结果「3」之后,因上述代码长度是6位而将上述位串前进6位。也就是说,使取得点P移动6位。若因上述代码长度为6位而将上述位串前进6位,则下一位串变成「111111011010001111xxxx」。
在下一位串是「111111011010001111xxxx」时如图27所示,处理器20与上面相同将该位串最前面的6位「111111 」作为地址,检索第1表格13。此时,因为该地址「111111」位于Line7(参见图14),所以在该Line7的数据从主存储器10移到高速缓存器34中之后(图26),存取该地址「111111」的数据,并取得未完成记号「15」、下一地址指针「1100010」及下面要读入的位数「4」。
还有,给标记写入Line7,给W标识写入「0」,并给脏标识D写入「0」。在此,对于高速缓存装置30的数据取得动作,因为与上述情形相同,所以下面省略其说明。
因此,向图15所示的第2表格14的地址「1100010」移动指针,并在将上述位串前进6位之后,以接下来4位的值作为来自地址「1100010」的索引,检索第2表格14。此时,因为该4位的值是「0110」,所以给地址「1100010」填补「0110」,并且下面要存取的地址变成「1101000」。
也就是说,处理器20如图28所示,取得下面的4位「0110」,并给先前所取得的地址「1100010」填补下面的4位「0110」,计算出下面要存取的地址计算「1101000」。
若计算结束,则处理器20以通过计算所得到的「1101000」作为地址,检索第2表格14。因为该地址「1101000」位于Line13(参见图15),所以在该Line13的数据从主存储器10移到高速缓存器34中之后,处理器20存取该数据,并取得代码长度3位、解码结果「61」。
还有,给标记写入Line13,给W标识写入「1」,并给脏标识D写入「0」。
然后,处理器20在输出解码结果「61」之后,因上述代码长度是3位而将上述位串前进3位。也就是说,使取得点P移动6+3=9位。若使取得点P产生了移动,则下一位串变成「010001111xxxx」。
在下一位串是「010001111xxxx」时如图29所示,处理器20与上面相同将该位串最前面的6位「010001」作为地址,检索第1表格13。此时,因为该地址「010001」位于Line2(参见图14),所以在将该Line2的数据从主存储器10移到高速缓存器34中之后,需要为该数据进行存取。
然而,当前在高速缓存器34中没有自由空间,因此需要将存储于高速缓存器34中的某一行数据写回到主存储器10中,并向由此所产生的自由空间转移该Line2的数据。
而在此,控制部51根据由属性存储部52所指定的主存储器10第1存储区域11及第2存储区域12的强度信息,来决定是否将存储于高速缓存器34中的某一行数据写回到主存储器10中。此时表示出,位于第1表格13的Line0到Line7其强度较大,并且位于第2表格14的Line8到Line14其强度较小(参见图16)。为此,利用第2表格14的数据,将当前存储于高速缓存器34上的数据写回到主存储器10中。也就是说,由于当前Line13的数据存储于高速缓存器34中,因而该数据被写回到主存储器10中(图29),并向由此所产生的自由空间转移Line2的数据(图30)。
此后,处理器20存取该Line2的数据,取得代码长度4位、解码结果10。若因上述代码长度是4位而将上述位串前进4位,则位串变成「01111xxxx」。
虽然在该过程中,就上述说明来说假设Line13的数据从高速缓存器34写回到主存储器10中,但是在该一系列动作的过程中,由于Line13的数据在存储于高速缓存器34中的期间其值未产生变化,也就是说高速缓存器34上的值和主存储器10上的值相同,因而在以往的很多高速缓存器控制方法中,没有进行写回这样的动作,而是将Line2的数据重写在Line13的数据上。
也就是说,在高速缓存器34中没有空闲时,以往采用LRU方式将Line3的数据决定为替换对象,并在其行上重写Line2的数据。对此,本实施方式1的控制部51检索已给高速缓存器34的弱标识W设置「1」的行,并将Line13的数据决定为替换对象。然后,控制部51确认Line13的脏标识D的值是「0」的原状态,并在其行上重写Line2的数据。
借此,由于存取频率高的数据保留到高速缓存器34中,因而命中的概率增高,发生高速缓存错误的概率变低。
在下一位串是「01111xxxx」时,处理器20与上面相同将该位串最前面的6位作为地址,检索第1表格13。此时,该地址「01111x」位于Line3(参见图14)。当前,因为该Line3的数据存储于高速缓存器34中,所以将命中,并且处理器20立刻存取该地址「01111x」的数据,立刻取得代码长度5位、解码结果16。
因为在该过程中,就上面所说明的以往技术而言,在高速缓存器34中没有自由空间时,通常最早存取的Line被写回,所以Line3的数据多次在主存储器10和高速缓存器34之间反复移动,但是通过上述控制部51(替换部42a)和上述属性存储部52(W标识设定部42b)的工作进行控制,以便存取频率高的数据优先保留到高速缓存器34的数据区域上,并且作为结果,可以减少主存储器10和高速缓存器34之间的数据移动次数。
如上所述,根据本实施方式1,由于采用主存储器10的第1存储区域11、第2存储区域12、用来暂时存储该存储区域11、12的数据的高速缓存器34、用来经由高速缓存器34在上述第1、第2存储区域11、12中进行存取的处理器20以及在上述高速缓存器34中自由空间不足时确保自由空间的控制部51,并且在上述控制部51中进行控制,以便将上述第1存储区域11的数据(第1表格13)优先保持在高速缓存器34中,并且确保自由空间,因而可以减少主存储器10和高速缓存器34之间的传输次数。
还有,在本实施方式的霍夫曼解码处理中,虽然说明了通过下述2种过程来完成解码的那种处理,该2种过程一是通过在第1存储区域11中进行1次存取来完成解码的过程,二是在第1存储区域11进行1次存取之后通过在第2存储区域12中进行1次存取来完成解码的过程,但是不一定必须是那种处理。
例如,在日本特开2000-286717公报(实施方式1)中所示,其处理也可以通过1次在存储器中进行存取来完成解码,或者在相反时再通过1次以上的多次在存储器中进行存取使之完成解码。那种情况下,例如可以将有可能第1次进行存取的存储区域分配成本实施方式中所说明的第1存储区域11,并将有可能第2次之后进行存取的存储区域分配成本实施方式中所说明的第2存储区域12。
或者说,也有下述方法,即在将比较小的整数设为m时,将有可能在第m次之前进行存取的存储区域分配成本实施方式中所说明的第1存储区域11,并将有可能在比第m次靠后进行存取的存储区域分配成本实施方式中所说明的第2存储区域12。
因为对于这种情形来说也进行控制,以便将第1存储区域11的数据(第1表格5000)优先保持在高速缓存器34中,并且确保自由空间,因而与以往相比可以大幅减少主存储器10和高速缓存器34之间的传输次数。
(实施方式2)接着,说明本发明的实施方式2所涉及的信号处理装置2。
然而,在实施方式1的信号处理装置1中设置控制部51,存取频率低的数据不保留到高速缓存器中。也就是说,在信号处理装置1中,将第2表格14的数据暂时存储到高速缓存器34中,在没有空闲时使第2表格14的数据成为替换的对象。
但是,这样一来那部分第1表格13的数据存在于高速缓存器34中的概率降低。也就是说,对第1表格13的数据的分配区域将减少。
因此,原本进行控制,以便存取频率低的数据不存储到高速缓存器中。
那种情况下,成为图32所示的那种结构。
也就是说,如图32所示,信号处理装置2具备主存储器10、处理器20以及高速缓存装置60,该高速缓存装置60具备经由高速缓存器在主存储器10中进行存取的功能以及不经由高速缓存器在主存储器10进行存取的功能,并且包括第1表格13,存储于主存储器10的第1存储区域11,经由高速缓存器进行存取;第2表格14,存储于主存储器10的第2存储区域12,不经由高速缓存器进行存取。
高速缓存装置60由高速缓存器61、控制部62、存取控制部63及属性存储部64等构成。
高速缓存器61的结构为,从高速缓存器34去除了弱标识W。
控制部62采用通常的LRU方式决定替换对象。
属性存储部64根据对从处理器20所输出的属性进行设定的指令,来存储强度属性的数据。
图33表示的是属性存储部64中所存储的属性数据内容的一个示例。
此时表示出,位于第1表格13的Line0到Line7其强度较大(高速缓存),并且位于第2表格14的Line8到Line14其强度较小(非高速缓存)。通过设定这种强度属性,来发挥适当的替换算法,减少高速缓存错误。
存取控制部63根据属性存储部64中所存储的数据,来决定是经由高速缓存器61进行存取还是在第2表格14中进行存取。具体而言,在处理器20要存取的地址是Line0~Line7的范围时,存取控制部63使高速缓存器61成为启用状态,对经由高速缓存器61的Line0~Line7的数据读出进行中转。在处理器20要存取的地址是Line8~Line14的范围时,存取控制部63使高速缓存器61成为禁用状态,直接为主存储器10的第2存储区域12中所存储的第2表格14相当地址的数据进行存取,并将所读出的数据输出给处理器20。
按照这种结构,处理器20可以在访问到第1表格13时经由上述高速缓存器61进行存取,在访问到第2表格14时不经由高速缓存器61进行存取,并且能够不将存取频率低的第2表格14的数据存储到高速缓存器61中。
借此,提高存取频率高的第1表格13的数据一旦存储到高速缓存器中后按原状态加以保持的可能,并且作为结果,可以减少主存储器10和高速缓存器61之间的传输次数。
<变形例>
还有,本发明的高速缓存器并不限于上述实施方式1的结构,而可以进行各种变换。下面,说明一些变形例。
(1)在上述实施方式1中,利用弱标识W表示出存取顺序为最早,但是也可以设为表示存取顺序不是最新或最早。此时,替换部42a的结构可以为,判定出W=1的高速缓存项不是最早,并不作为替换对象进行选择,而选择其他的高速缓存项。通过将表示不是最早的弱标识W附加给下述高速缓存项,而可以防止无效替换,该高速缓存项用来保持存取频率高的数据或者存取频率中等左右的数据。
(2)其结构也可以为,处理器20执行下述特殊的存储命令,该特殊的存储命令用来指令弱标识W=1的设定和数据的写入,高速缓存控制部42还具备命令检测部,用来检测特殊的存储命令;标识设定部,用来在进行该存储命令的写入时将其设定为W=1。
(3)在上述实施方式1中,以4路·成组·相关联的高速缓存器为例进行了说明,但是路数也可以是数个。另外,在上述实施方式1中,说明了组数为16的示例,但是组数也可以数个。
(4)在上述实施方式1中,以成组·相关联的高速缓存器为例进行了说明,但是也可以是全·相关联(full associative)方式的高速缓存器。
(5)在上述实施方式1中,将子行的大小设为行大小的1/4,但是也可以是1/2、1/8、1/16等其他的大小。此时,各高速缓存项可以分别保持与子行相同数目的有效标识及脏标识。
(6)另外,在上述实施方式1中,说明了对于音乐数据的编码数据例如采用与MPEG-AAC标准的霍夫曼码本(例如,8)对应的表格进行解码的情形,但是还可以使用于采用与其他码本对应的表格进行解码的情形。另外,也可以使用于对MP3等编码数据进行解码的情形。再者,不言而喻,还可以使用于对压缩编码后的图像数据等进行解码那样的各种信号处理。
产业上的可利用性本发明所涉及的信号处理装置具有减少高速缓存错误、并减少高速缓存器和主存储器之间的数据传输时间·量的效果,并且在由处理器和存储装置构成的设备如个人计算机等中是有用的。另外,还可以应用于通过处理器和存储装置对数字化后的音频信号和视频信号进行处理的设备,例如数字电视机、DVD设备、移动电话机、便携式信息终端及头式立体声装置等。
权利要求
1.一种信号处理装置,采用第1及第2存储区域的数据进行信号处理,其特征为具备高速缓存器,用来暂时存储上述数据;存取装置,用来经由上述高速缓存器对上述第1存储区域及第2存储区域的至少之一进行存取,以此读出上述数据;控制装置,用来在上述高速缓存器中进行暂时存储的自由空间不足时,在上述高速缓存器中确保自由空间;上述控制装置确保上述自由空间,以便上述第1存储区域的数据比上述第2存储区域的数据更优先地被保持在上述高速缓存器中。
2.根据权利要求1所述的信号处理装置,其特征为上述信号处理装置还具备属性存储装置,用来存储强度属性,该强度属性表示上述第1存储区域的强度比上述第2存储区域的强度强,上述控制装置按照上述属性存储装置中所存储的强度属性,来决定保持到上述高速缓存器中的数据。
3.根据权利要求1所述的信号处理装置,其特征为上述存取装置对于上述第1存储区域,在将上述第1存储区域的数据移到上述高速缓存器中后进行存取,对于上述第2存储区域,不将上述第2存储区域的数据移到上述高速缓存器中就进行存取。
4.根据权利要求1所述的信号处理装置,其特征为上述第1存储区域存储与上述第2存储区域相比存取频率更高的数据。
5.根据权利要求1所述的信号处理装置,其特征为上述第1及第2存储区域分别保持表示转换规则的第1及第2表格,该转换规则用来按照一定规则替换输入数据,上述控制装置确保上述自由空间,以便上述第2表格的数据比上述第1表格的数据更优先地从上述高速缓存器中废弃。
6.根据权利要求5所述的信号处理装置,其特征为上述信号处理装置还具备属性存储装置,用来存储强度属性,该强度属性表示上述第1表格的强度比上述第2表格的强度强,上述控制装置按照上述属性存储装置中所存储的强度属性,来决定要从上述高速缓存器中废弃的数据。
7.根据权利要求5所述的信号处理装置,其特征为上述信号处理装置用来对作为输入数据的霍夫曼码进行解码,上述霍夫曼码其代码长度的最长位是N位,上述第1表格是用来在将n设为1以上且未达到N的整数时,对n位以下的代码数据进行解码的表格,上述第2表格是用来对比上述n位更长的代码数据进行解码的表格。
8.一种高速缓存器的控制方法,用于控制高速缓存装置,该控制高速缓存装置具备第1及第2存储区域;高速缓存器,用来暂时存储上述数据;存取装置,用来经由上述高速缓存器在上述第1及第2存储区域中进行存取,以此读出上述数据,其特征为包含下述步骤,即,在上述高速缓存器中进行暂时存储的自由空间不足时,确保上述自由空间,以便上述第1存储区域的数据比上述第2存储区域的数据更优先地保持到上述高速缓存器中。
9.一种信号处理装置所用的程序,该信号处理装置采用第1及第2存储区域的数据进行信号处理,其特征为使计算机执行权利要求8所述的控制方法中包含的步骤。
全文摘要
信号处理装置(1)采用主存储器(10)的第1存储区域(11)及第2存储区域(12)的第1表格(13)和第2表格(14)进行解码处理。信号处理装置(1)具备高速缓存器(34),用来暂时存储第1表格(13)及第2表格(14)的数据;处理器(20),用来经由高速缓存器34在第1存储区域(11)及第2存储区域(12)的至少之一中进行存取,以此读出数据;控制部(51),用来在高速缓存器(34)中进行暂时存储的自由空间不足时,在高速缓存器(34)中确保自由空间;控制部(51)确保自由空间,以便第1存储区域(11)的数据比第2存储区域(12)的数据更优先地保持到高速缓存器(34)中。
文档编号G06F12/08GK1655460SQ20051000808
公开日2005年8月17日 申请日期2005年2月16日 优先权日2004年2月12日
发明者宫阪修二 申请人:松下电器产业株式会社