存储器控制装置和存储器控制方法
技术领域
本发明涉及存储器控制装置,存储器控制方法及存储实现该方法用程序的媒体,特别涉及对与动作时钟同步进行数据传送的动态随机存取存储器(DynamicRandom Access Memory,即DRAM)即同步存储器(Synchronous DRAM,即SDRAM)等因存取顺序而产生延迟的存储器进行控制的电路中,优化存取顺序、提高同步存储器实际的总线带宽的装置和方法及存储程序的媒体。
背景技术
以往以来,有一种存储数据的装置即同步存储器。这种同步存储器由于能够指定传送与动作时钟同步连续传送数据的字符组(burst),能够以1个时钟单位连续将作为读写最小单位的规定位(bit)数(下面叫做字长)传送预先指定的次数(下面叫做字符组长度),因此使用非常方便。
图27表示一般的同步存储器存储区分布图。一般同步存储器的存储区按每个存储体划分。每个存储体由若干页构成。图27表示的同步存储器划分为分别由页0~页(n-1)一共n页构成的存储体0及存储体1两部分,各页分别由列0~列(m-1)一共m列构成。这里“n”及“m”为1以上的整数。由于数据读写是以列为单位进行,因此字长等于1列的位数。例如,1列是8位,m为512,n为2048。
图28表示一般的同步存储器状态转移图。一般,同步存储器的每个存储体具有“读出放大器”,从图28也可以知道,在读出每列存储的数据时或在写入每列的数据时,要将包含应该读出或写入的列的页数据预先传送(激活)给该页所属存储体的读出放大器之后,再从该读出放大器进行读出(Read)或写入(Write)(下而将“读出”及“写入”简称为“存取”)。但是,当连续对同一存储体的同一页所含的列进行存取时,由于已经将相应的页传送给读出放大器,因此没有必要再一次传送。
另外,当对页A所含列A进行存取后对属于与页A相同存储体的页B所含的列B进行存取时,必须将预先保持页A对应数据的读出放大器内容又一次传送给页A(预充电)后,将页B的数据传送给读出放大器(激活)。因而,当连续存取同一存储体但不同页所含的列时,由于必须预充电及激活,因此实际上传送速率降低了。
但是,由于同步存储器存储区划分为若干存储体,因此通过将连续存取的存储体设定为不同的存储体,在各存储体中当对其他存储体进行存取时进行预充电及激活,能够避免实际上传送速率的降低。
关于同步存储器,例如在“NEC数据表,MOS集成电路μPD4516421、4516821、45116161(资料编号:M10429JJVODSOO、发行年月:1995年8月、NEC)”及“日本特开平6-76567号公报:半导体存储装置及同步半导体存储装置”中有详细说明。作为高效控制这种高性能同步存储器的存储器控制装置,以往以来使用如下所示的装置。图29表示以往的存储器控制装置结构方框图的一例。在图29中,以往的存储器控制装置具有传送对象单元81、地址生成单元82、命令生成单元83、数据处理单元84及同步存储器85。
传送对象单元81为了在与同步存储器85之间进行数据传送,将起始地址、传送数据量及读/写等命令输出至地址生成单元82。地址生成单元82根据从传送对象单元81接受的命令,生成起始地址、字符组长度、读/写等若干控制信号,输出至命令生成单元83。命令生成单元83根据从地址生成单元82接受的控制信号,生成时钟(clock,CLK)、行地址选通脉冲(row address strobe,RAS)、列地址选通脉冲(column address strobe,CAS)、写允许(write enable,WE)及地址指定等控制命令,控制同步存储器85及数据处理单元84。数据处理单元84根据从命令生成单元83接受的控制命令,将读数据从同步存储器85传送给传送对象单元84,将写数据从传送对象单元81传送给同步存储器85。同步存储器85具有与上述一般的同步存储器同样的特征,利用从命令生成单元83得到的控制命令进行控制。
另外,作为高效控制这种高性能同步存储器的存储器系统,以往以来使用如下所示的系统。图30表示以往的存储器系统结构图的一例。在图30中,以往的存储器系统具有传送对象单元231~233、仲裁器234、同步存储器控制单元235及同步存储器85。
传送对象单元231~233当分别产生与同步存储器85进行数据传送的传送请求时,将传送请求信号输出至仲裁器234,当从仲裁器234返回传送许可信号时,将传送信号输出至同步存储器控制单元235。当从任一个传送对象单元得到传送请求信号时,仲裁器234返回传送许可信号给输出了传送请求信号的传送对象单元。另外,当从若干传送对象单元得到传送请求信号时,选择其中优先级最高的,将传送许可信号返回给输出所选择的传送请求信号的传送对象单元。对于未选择的剩下的传送请求信号也同样进行处理。同步存储器控制单元235由上述的地址生成单元82、命令生成单元83及数据处理单元84构成,根据来自传送对象单元的传送信息,生成CLK、RAS、CAS、WE及存取地址等控制命令,输出至同步存储器85,实现输出了传送信息的传送对象单元与同步存储器85之间的数据传送。同步存储器85具有与上述说明的一般同步存储器同样的特征,利用从同步存储器控制单元235得到的控制命令进行控制。
但是,在根据上述以往的存储器控制装置(图29)构成的同步存储器85控制中,会发生因数据传送的条件而不能够高效利用同步存储器85性能的情况。
例如,如图31所示,在存储区分割成存储体0及存储体1的同步存储器85中,跨越存储体边界连续读出存储体0中存在的数据a1~a2及存储体1中存在的数据b1~b8共计10个数据。
在上述情况下,由于存储体0的数据a2及存储体1的数据b1不能同时进行读处理,因此从命令生成单元83发给同步存储器85的命令顺序如图32所示。另外,在图32中,“Pa”表示对存储体0的预充电命令。“Pb”表示对存储体1的预充电命令,“Aa”表示对存储0的激活命令,“Ab”表示对存储体1的激活命令,“Ra”表示对存储体0的读命令,“Rb”表示对存储体1的读命令。另外,设CAS等待时间为3个时钟脉冲,字符组长度为8个数据。这里,对同一存储体能够发出预充电命令、激活命令及读命令的间隔Pa→Aa→Ra或Pb→Ab→Rb和发出存储体0及存储体1的激活命令的间隔(AaAb的间隔),由于受作为最低转移时间的CAS等待时间的限制,因此为3个时钟脉冲。
参照图32,命令生成单元83首先对存在数据a1及a2的存储体0发出应该进行相应数据读的Pa命令(第0周期)。接着虽然想对存储体0发出Aa命令,但CAS等待时间的限制不能连续发出,因此利用这段时间预先对存储体1发出Pb命令(第1周期)。然后在发出Pa后的第3周期发出Aa命令(第3周期)。
若考虑接着能够发出的命令,则是对存储体0的Ra命令或对存储体1的Ab命令,但由于这两个命令都受到CAS等待时间的限制,因此必须等待经过三个时钟脉冲。这里,命令生成单元83具有按照从地址生成单元82送来的控制信号的顺序执行处理的规则。因而,命令生成单元83在等待经过三个时钟脉冲后,首先发出Ra命令(第6周期),然后发出Ab命令(第7周期)。因此,Rb命令再快也在第10周期发出。
根据以上的处理,数据a1及a2从Ra命令发出的3个时钟脉冲后的第9周期开始依次读取。数据b1~b8从Rb命令发出的3个时钟脉冲后的第13周期开始依次读取。因此,所有数据读取结束是在第20周期。
这样在以往的存储器控制装置中,由于具有上述固定的规则及限制,因此不能连续进行存储体0的数据读及存储体1的数据读(图32中第11~第12周期),到所有数据读结束常常要花很多时间。即当从同步存储器85某一个任意地址开始跨存储体边界连续进行数据传送时,产生因单一规则决定的命令发出顺序而导致数据传送效率下降的问题。
另外,在上述以往的存储器系统(图30)中,常常不能高效控制同步存储器。
图33表示根据各传送对象单元所请求的数据传送按顺序以列为单位表示含有被存取的列的页号及该页所属的存储体号。如图33所示,设各数据传送的优先级上面比下面高,设传送对象单元231请求每8列交替对存储体0的页0及存储体1的页0共计4次进行存取的数据传送,传送对象单元232要求每8列对存储体1的页1共计2次进行存取的数据传送,而传送对象单元233请求每8列对存储体0的页1仅次进行存取的数据传送。
图34表示以动作时钟脉冲为单位、当各传送对象单元同时请求图33所示的各数据传送时的传送顺序图。在图34中,设CAS等待时间为3,字符组长度为8。这里,所谓CAS等待时间是表示从读命令输入到数据读为止的等待时间(时钟脉冲数)。另外,所谓字符组长度是表示在读周期或写周期输出或输入的字数。这里由于CAS等待时间为3,因此从预充电命令输入到1个时钟脉冲后为止的读数据有效。另外,对同一存储体的预充电命令与激活命令之间的间隔及激活命令与读命令之间的间隔都必须要3个时钟脉冲以上。
如图34所示,根据优先级,即按传送对象单元231、传送对象单元232及传送对象单元233的顺序进行传送。但在这里,由于传送对象单元231最后传送的列包含在存储体1的页0中,而传送对象单元232最初传送的列包含在存储体1的页1中,因此形成同一存储体而且不同页所含的列连续存取。这样,在对其他存储体进行存取的时间内不能进行预充电及激活,导致了这部分的额外开销,实际传送速率降低。
另外,作为将编码图像数据进行解码的视频解码装置将解码的解码图像暂时存储的存储器,或者作为将图像数据进行编码的视频编码装置将编码的编码图像数据进行暂时存储的存储器,在使用上述那种同步存储器时,当进行解码或编码时要读出跨越若干存储体的解码图像数据或编码图像数据。但是,在这种情况下,若按以往那样根据地址顺序读出,则经常发生连续存取在同一存储体而且不同页所含的列的情况,具有与上述同样的问题。
发明内容
为此,本发明的目的在于提供根据存取内容与存储体边界的关系使得向同步存储器的命令发出顺序及对各传送对象单元的传送顺序总是达到最优、并能最大发挥同步存储器数据传送性能的存储器控制装置和方法及存储执行该方法的程序的媒体,以便尽量不降低传送速率。
另外,本发明的其他目的在于提供在视频解码装置及视频编码装置中优化图像数据读出顺序的存储器控制装置和存储实现该装置的程序的媒体,以便尽量不降低传送速率。
为了达到上述目的,本发明具有下述特征。
本发明的第一方面提供一种存储器控制装置,控制由若干存储体构成的、使用时钟进行数据读写的同步存储器,
其特征在于,包括:
输出与数据读写有关的命令的传送请求单元;
输入所述命令并根据该命令生成预先规定的控制信号后输出、同时输出通过读取而要最初传送的传送字节数的地址生成单元;
产生并输出所述时钟、输入所述控制信号及所述传送字节数、并根据该控制信号生成并输出预先规定的控制命令,以控制所述同步存储器的命令生成单元;以及
输入所述控制命令、根据该控制命令在所述传送请求单元与所述同步存储器之间担任数据传送中介的数据处理单元,
当对于所述若干存储体中的不同的存储体进行跨存储体边界连续数据读时,所述命令生成单元根据所述传送字节数对与最初存储体有关的读命令以及与后续存储体有关的激活命令的发出顺序进行控制,
其中,当所述传送字节数大于各命令间最低转移时钟脉冲数时,所述命令生成单元将与所述最初存储体有关的读命令比与所述后续存储体有关的激活命令先发出,当所述传送字节数小于各命令间最低转移时钟脉冲数时,所述命令生成单元将与所述后续存储体有关的激活命令比与所述最初存储体有关的读命令先发出。
本发明的第二方面提供一种存储器控制装置,控制由若干存储体构成的、使用时钟进行数据读写的同步存储器,
其特征在于,包括:
输出与数据读写有关的命令的传送请求单元;
输入所述命令并根据该命令生成预先规定的控制信号后输出、同时输出与所述若干存储体中进行处理的一个存储体有关的读数据的传送数据量的地址生成单元;
产生所述时钟并输出、同时输入所述控制信号并根据该控制信号生成预先规定的控制命令并输出以控制同步存储器的命令生成单元;
对所述命令生成单元的读命令发出次数进行计数、同时输入所述传送数据量、并且每计数一次从该传送数据量中减去字符组长度的计数器;以及
输入所述控制命令、根据该控制命令在所述传送请求单元与同步存储器之间担任数据传送中介的数据处理单元,
当所述相减后的传送数据量小于所述字符组长度时,所述计数器将该情况通知所述命令生成单元,所述命令生成单元根据该通知发出下一次的读命令,若读处理结束,则自动发出进行预充电的带预充电的读命令。
本发明的第三方面提供一种存储器控制方法,控制由若干存储体构成的、使用时钟进行数据读写的同步存储器,其特征在于,
当对于所述若干存储体中不同的存储体跨存储体边界进行连续数据读时,进行以下步骤:
输出与所述数据读有关的命令的步骤;
输入所述命令并根据该命令生成预先规定的控制信号后输出、同时输出通过读取而要最初传送的传送字节数的步骤;
当根据控制信号及所述传送字节数生成控制命令并输出时、根据该传送字节数对与最初存储体有关的读命令及与后续存储体有关的激活命令的发出顺序进行控制的步骤,
其中,当传送所述字节数大于各命令间最低转移时钟脉冲数时,将与所述最初存储体有关的读命令比与所述后续存储体有关的激活命令先发出,当所述传送字节数小于各命令间最低转移时钟脉冲数时,将与所述后续存储体有关的激活命令比与所述最初存储体有关的读命令先发出。
本发明的第四方面提供一种存储器控制方法,控制由若干存储体构成的、使用时钟进行数据读写的同步存储器,其特征在于,包括:
输出与数据读写有关的命令的步骤;
根据所述命令生成预先规定的控制信号并输出、同时输出与所述若干存储体中进行处理的一个存储体有关的读数据的传送数据量的步骤;
对所述同步存储器发出读命令的次数进行计数的步骤;
每计数一次从所述传送数据量中减去字符组长度、此后,当传送数据量小于该字符组长度时输出预先规定通知的步骤;以及
当根据所述控制信号及所述通知生成控制命令并发出时,在有该通知的情况下,发出下一次的读命令,若读处理已经结束,则自动发出进行预充电的带预充电的读命令的步骤。
本发明的第五方面提供一种存储器控制装置,对具有划分为若干存储体的存储区的存储器进行控制,其特征在于,
所述若干存储体分别划分为若干分割存储体,若对同一存储体中不同分割存储体的存储区的存取连续进行,则所述存储器产生延迟,
包括:
从外部装置接受存取信息的接受单元,该存取信息表示要通过若干单位存取对存储体中2个以上的存储区进行存取;
根据所述信息表示的若干单位存取的存储区是在同一个存储体中还是在不同的存储体中,对各单位存取的存取顺序进行优化决定,使得对于同一个存储体的存储区进行连续存取的频率降低的优化单元;以及
控制所述存储器使得按照所述优化单元优化决定的顺序对所述存储器的存储区进行存取的控制单元,
其中,所述外部装置由1个以上的传送对象装置构成,
所述存取信息由所述传送对象装置发出的2个以上的个别的存取信息构成,
所述个别的存取信息分别由1个以上的单位存取构成,
所述优化单元包括:
在现在存取的个别的存取信息或前面存取的个别的存取信息中确定最后应该存取的尾部存储体的尾部确定单元;
对所述个别的存取信息中的每一个确定最初应该存取的首部存储体的首部确定单元;以及
在表示与尾部存储体为相同存储体的首部存储体所对应的个别的存取信息所示的存储区的存取之前,优先选择表示与尾部存储体为不同存储体的首部存储体所对应的个别的存取信息所示的存储区的存取,紧接着前面的个别的存取信息所示的存储区的存取之后形成存取顺序的选择单元。
本发明的第六方面是如第五方面所述的存储器控制装置,其特征在于,
所述尾部确定单元在所述前面的个别的存取信息中进一步确定最后应该存取的尾部分割存储体,
所述首部确定单元对每个个别的存取信息进一步确定最初应该存取的首部分割存储体,
所述选择单元在表示与尾部存储体为同一存储体的首部存储体所对应的、而且表示与尾部分割存储体为不同分割存储体的首部分割存储体所对应的个别的存取信息所示的存储区的存取之前,优先选择表示与尾部存储体为不同存储体的首部存储体所对应的个别的存取信息所示的存储区、及表示与尾部分割存储体为同一分割存储体的首部分割存储体所对应的个别的存取信息所示的存储区的存取,紧接着前面的个别的存取信息所示的存储区的存取之后形成存取顺序。
本发明的第七方面是如第五方面所述的存储器控制装置,其特征在于,
所述个别的存取信息分别包含表示传送等待时间限度的限度信息,
所述选择单元对每个个别的存取信息判断是否超过限度信息所示的限度,最优先选择判断为要超过限度的个别的存取信息所示的存储区的存取。
本发明的第八方面是如第六方面所述的存储器控制装置,其特征在于,
所述个别的存取信息分别包含表示传送等待时间限度的限度信息,
所述选择单元对每个个别的存取信息判断是否超过限度信息所示的限度,最优先选择判断为要超过限度的个别的存取信息所示的存储区的存取。
本发明的第九方面是如第七方面所述的存储器控制装置,其特征在于,
所述存储器在每个存储体具有保持规定的1个分割存储体数据的传送放大器,对所述存储器的存储区的存取总是通过该传送放大器进行的,
所述延迟是“将传送放大器保持的数据传送给进行之前的存取对象的1个分割存储体所必须的时间”与“将现在存取对象的1个分割存储体存储的数据传送给传送放大器所必须的时间”之和,
所述限度信息是表示从个别存取信息发出到传送结束为止所允许的周期数限度的限度周期数,
所述选择单元包括:
对每个个别存取信息,保持表示从现在到传送结束为止所允许的周期数限度的剩余周期数的剩余周期数保持单元,
在个别存取信息发出时将限度周期数作为剩余周期数初始值保持在所述剩余周期数保持单元的初始值设定单元,
将所述剩余周期数保持单元保持的剩余周期数每1个周期进行减1计算的减法单元,
对每个个别存取信息进行“一直到执行中的存取结束为止的周期数、优先选择的个别存取信息的存取所必须的周期数、将传送放大器保持的数据例如给规定的1个分割存储体所必须的周期数、将规定的1个分割存储体存取的数据例如给传送放大器所标准的周期数以及本身存取所标准的周期数的和等于结束预定周期数”的计算一直到执行中的存取结束为止的计算单元,以及
当所述结束预定周期数大于所述剩余周期数时,判断为相应的个别存取信息要超过限度的判断单元。
本发明的第十方面是如第八方面所述的存储器控制装置,其特征在于,
所述存储器在每个存储体具有保持规定的一个分割存储体数据的传送放大器,对所述存储器的存储区的存取总是通过该传送放大器进行的,
所述延迟是“将传送放大器保持的数据传送给进行之前的存取对象的1个分割存储体所必须的时间“与“将现在存取对象的1个分割存储体存储的数据传送给传送放大器所必须的时间”之和,
所述限度信息是表示从个别存取信息发出到传送结束为止所允许的周期数限度的限度周期数,
所述选择单元包括:
对每个个别存取信息,保持表示从现在到传送结束为止所允许的周期数限度的剩余周期数的剩余周期数保持单元,
在个别存取信息发出时将限度周期数作为剩余周期数初始值保持在所述剩余周期数保持单元的初始值设定单元,将所述剩余周期数保持单元保持的剩余周期数每1个周期进行减1计算的减法单元,
对每个个别存取信息进行“一直到执行中的存取结束为止的周期数、优先选择的个别存取信息的存取所必须的周期数、将传送放大器保持的数据传送给规定的1个分割存储体所必须的周期数、将规定的1个分割存储体存储的数据传送给传送放大器所必须的周期数以及本身存取所必须的周期数的和等于结束预定周期数”的计算一直到执行中的存取结束为止的计算单元,以及
当所述结束预定周期数大于所述剩余周期数时,判断为相应的个别存取信息要超过限度的判断单元。
本发明的第十一方面是如第七方面所述的存储器控制装置,其特征在于,
所述存储器在每个存储体具有保持规定1个分割存储体数据的传送放大器,对所述存储器的存储区的存取总是通过该传送放大器进行的,
所述延迟是“将传送放大器保持的数据传送给进行之前的存取对象的1个分割存储体所必须的时间”与“将现在的存取对象的1个分割存储体存储的数据传送给传送放大器所必须的时间”之和,
所述限度信息是表示从个别存取信息发出到传送结束所允许的周期数限度的限度周期数,
选择单元包括:
对每个个别存取信息从其个别存取信息发出时开始每1周期对等待周期数进行计数的计数单元,
对每个个别存取信息进行“所述等待周期数、一直列执行中的结束为止的周期数、优先选择的个别存取信息的存取所必须的周期数、将传送放大器保持的数据传送给规定的1个分割存储体所必须的周期数、将规定的1个分割存储体存储的数据传送给传送放大器所必须的周期数以及本身的存取所必须的周期数的和等于结束预定周期数”的计算一直到执行中的存取结束为止的计算单元(305g),以及
当所述结束预定周期数大于所述限度周期数时,判断为相应的分别存取信息要超过限度的判断单元。
本发明的第十二方面是如第八方面所述的存储器控制装置,其特征在于,
所述存储器在每个存储体具有保持规定1个分割存储体数据的传送放大器,对所述存储器的存储区的存取总是通过该传送放大器进行的,
所述延迟是“将传送放大器保持的数据传送给进行之前的存取对象的1个分割存储体所必须的时间“与”将现在存取对象的1个分割存储体存储的数据传送给传送放大器所必须的时间”之和,
所述限度信息是表示从个别存取信息发出到传送结束所允许的周期数限度的限度周期数,
所述选择单元包括对每个个别存取信息进行“所述等待周期数、一直到执行中的存取结束为止的周期数、优先选择的个别存取信息的存取所必须的周期数、将传送放大器保持的数据传送给规定的1个分割存储体所必须的周期数、将规定的1个分割存储体存储的数据传送给传送放大器所必须的周期数以及本身存取所必须的周期数的和等于结束预定周期数”的计算一直到执行中的存取结束为止的计算单元,以及
当所述结束预定周期数大于所述限度周期数时,判断为相应的个别存取信息要超过限度的判断单元。
本发明的第十三方面是如第五方面所述的存储器控制装置,其特征在于,
所述外部装置是将编码的图像数据进行解码的视频解码装置或将图像数据进行编码的视频编码装置,生成的图像数据暂时存储在所述存储器中,读出所述存储器中存储的图像数据中的显示状态连续的一部分图像数据,以生成新的图像数据,
所述生成的图像数据分别分散在由单一分割存储体的存储区构成的所述存储器的单位区域,按显示状态中连续的规定编号进行存储,
在存储顺序中相邻的单位区域由不同存储体或同一分割存储体构成,
所述存取信息表示包括显示状态及存储顺序中彼此相邻的单位区域以及显示状态中彼此相邻而存储顺序中不相邻的单位区域的存储区域,为了生成新的图像数据,从所述视频解码装置或所述视频编码装置发出所述存取信息,
优化单元包括:
将所述存取信息所示的存储区分割为分别是单一分割存储体的存储区、且存储区连续的单一分割存储体区域的分割单元,
对表示在显示状态中相邻而在存储顺序中不相邻的单位区域边界的非相邻边界进行检测的非相邻边界检测单元,以及
根据所述非相邻边界两边的单位区域是由同一存储体构成还是不同存储体构成来决定所述单一分割存储体区域存取顺序的相对顺序决定单元。
本发明的第十四方面是如第十三方面所述的存储器控制装置,其特征在于,
所述相对顺序决定单元当所述非相邻边界两边的单位区域由同一存储体构成时,所述非相邻边界以后的所述单一分割存储体区域的存取顺序与所述非相邻边界以前相同,而由不同存储体构成时则相反。
本发明的第十五方面是如第五方面所述的存储器控制装置,其特征在于,
所述外部装置是将编码的图像数据进行解码的视频解码装置或将图像数据进行编码的视频编码装置,生成的图像数据暂时存储在所述存储器中,读出所述存储器中存储的图像数据中的显示状态连续的一部分图像数据,以生成新的图像数据,
所述生成的图像数据分别分散在由单一分割存储体的存储区构成的所述存储器的单位区域,按显示状态中连续的规定编号进行存储,
在存储顺序中相邻的单位区域由不同存储体或同一分割存储体构成,
所述存取信息表示包括显示状态及存储顺序中彼此相邻的单位区域以及包括显示状态中相邻而存储顺序中不相邻的单位区域的存储区域,为了生成新的图像数据,从所述视频解码装置或所述视频编码装置发出所述存取信息,
所述优化单元包括:
所述将存取信息所示的存储区分割为分别是单一分割存储体的存储区、且存储区连续的单一分割存储体区域的分割单元,
对表示在显示状态中相邻而在存储顺序中不相邻的单位区域边界的非相邻边界进行检测的非相邻边界检测单元,
当将所述生成的图像数据按显示状态中连续的规定顺序存储时、且所述非相邻边界两边的单位区域由同一存储体构成时、像由不同存储体构成那样将所述图像数据的逻辑地址与所述存储体的物理地址相互变换的地址变换单元,以及
将对所述非相邻边界以后的单一分割存储体区域的存取顺序与对所述非相邻边界以前的单一分割存储体区域的存取顺序反转的顺序反转单元。
本发明的第十六方面是如第十三方面所述的存储器控制装置,其特征在于,
所述优化单元包括在所述存储器中存储的图像数据中将存储顺序及显示状态连续的象素数作为画面大小进行设定的画面大小设定单元,以及
设定所述单位区域形状的形状设定单元,
以及根据所述画面大小及形状将所述生成的图像数据按显示状态中连续的规定顺序存储时判断所述非相邻边界两边的单位区域是由同一存储体构成还是由不同存储体构成的存储体判断单元。
本发明的第十七方面是如第十四方面所述的存储器控制装置,其特征在于,
所述优化单元包括在所述存储器中存储的图像数据中将存储顺序及显示状态连续的象素数作为画面大小进行设定的画面大小设定单元,
设定所述单位区域形状的形状设定单元,以及
根据所述画面大小及所述形状将所述生成的图像数据按显示状态中连续的规定顺序存储时判断所述非相邻边界两边的单位区域是由同一存储体构成还是由不同存储体构成的存储体判断单元。
本发明的第十八方面是如第十五方面所述的存储器控制装置,其特征在于,
所述优化单元包括在所述存储体中存储的图像数据中将存储顺序及显示状态连续的象素数作为画面大小进行设定的画面大小设定单元,
设定所述单位区域形状的形状设定单元,以及
根据所述画面大小及所述形状将所述生成的图像数据按显示状态中连续的规定顺序存储时判断所述非相邻边界两边的单位区域是由同一存储体构成还是由不同存储体构成的存储体判断单元。
本发明的第十九方面是如第十三方面所述的存储器控制装置,其特征在于,
所述优化单元还包括对表示显示状态及存储顺序中相邻的单位区域的边界的相邻边界进行检测的相邻边界检测单元,
将所述存取信息所示的存储区域与用所述相邻边界分割时的各存储区域大小进行比较的比较单元,以及
将所述非相邻边界以前的所述单一分割存储体区域的存取顺序作为从在比较单元的比较中判断为较小的存储区域所属的单一分割存储体区域先读出的顺序的初始顺序决定单元。
本发明的第二十方面是如第十四方面所述的存储器控制装置,其特征在于,
所述优化单元还包括对表示显示状态及存储顺序中相邻的单位区域的边界的相邻边界进行检测的相邻边界检测单元,
将所述存取信息所示的存储区域与用所述相邻边界分割时的各存储区域大小进行比较的比较单元,以及
将所述非相邻边界以前的所述单一分割存储体区域的存取顺序作为从在比较单元的比这判断为较小的存储区域所属的单一分割存储体区域先读出的顺序的初始顺序决定单元。
本发明的第二十一方面是如第十五方面所述的存储器控制装置,其特征在于,
所述优化单元还包括对表示显示状态及存储顺序中相邻的单位区域的边界的相邻边界进行检测的相邻边界检测单元,
将所述存取信息所示的存储区域与用所述相邻边界分割时的各存储区域大小进行比较的比较单元,以及
将所述非相邻边界以前的所述单一分割存储体区域的存取顺序作为从在比较单元的比较中判断为较小的存储区域所属的单一分割存储体区域先读出的顺序的初始顺序决定单元。
本发明的第二十二方面是如第十六方面所述的存储器控制装置,其特征在于,所述优化单元还包括对表示显示状态及存储顺序中相邻的单位区域的边界的相邻边界进行检测的相邻边界检测单元,
将所述存取信息所示的存储区域与用所述相邻边界分割时的各存储区域大小进行比较的比较单元,以及
将所述非相邻边界以前的所述单一分割存储体区域的存取顺序作为从在比较单元的比较中判断为较小的存储区域所属的单一分割存储体区域先读出的顺序的初始顺序决定单元。
本发明的第二十三方面是如第十七方面所述的存储器控制装置,其特征在于,
所述优化单元还包括对表示显示状态及存储顺序中相邻的单位区域的边界的相邻边界进行检测的相邻边界检测单元,
将所述存取信息所示的存储区域与用所述相邻边界分割时的各存储区域大小进行比较的比较单元,以及
将所述非相邻边界以前的所述单一分割存储体区域的存取顺序作为从在比较单元的比较中判断为较小的存储区域所属的单一分割区域先读出的顺序的初始顺序决定单元。
本发明的第二十四方面是如第十八方面所述的存储器控制装置,其特征在于,所述优化单元还包括对表示显示状态及存储顺序中相邻的单位区域的边界的相邻边界进行检测的相邻边界检测单元,
将所述存取信息所示的存储区域与用所述相邻边界分割时的各存储区域大小进行比较的比较单元,以及
将所述非相邻边界以前的所述单一分割存储体区域的顺序作为从在比较单元的比较中判断为较小的存储区域所属的单一分割存储体区域先读出的顺序的初始顺序决定单元。
附图说明
图1表示与本发明实施形态1有关的存储器控制装置结构的结构的方框图。
图2(a)-(b)表示当超出存储体界限连续读出数据时数据读出时序图的一例。
图3(a)-(b)表示当超出存储体界限连续读出数据时数据读出时序图的一例。
图4(a)-(b)表示当超出存储体界限连续读出数据时数据读出时序图的一例。
图5表示与本发明实施形态2有关的存储器控制装置结构的方框图。
图6(a)-(b)表示当超出存储体界限连续读出数据时数据读出时序图的一例。
图7表示与本发明实施形态3有关的存储器系统结构的方框图。
图8表示图7的仲裁器30的详细结构的方框图。
图9表示图8的选择单元305的结构的方框图的一例。
图10表示图8的选择单元305的结构的方框图的另一例。
图11表示与本发明实施形态3有关的存储器控制装置的对存取执行顺序进行优化的方法的流程图。
图12表示与本发明实施形态3有关的存储器系统中当图33所示的各数据传送从各传送对象单元同时请求时以动作块为单位表示传送顺序的说明图。
图13表示采用与本发明实施形态4有关的存储器控制装置的图像解码系统(视频解码装置)结构的方框图。
图14表示存储各图像数据的存储区的存储体号及页号的分布图。
图15是与图14相同的图,仅仅存储的图像数据在横方向的象素数为16×2n这一点不同。
图16表示从存储在图14所示的同步存储器48中的图像数据中读出的参照图像的一例。
图17表示从存储在图15所示的同步存储器48中的图像数据中读出的参照图像的一例。
图18表示与本发明实施形态4有关的存储器控制装置的对存取执行顺序进行优化的方法的流程图。
图19(a)-(b)表示在本发明实施形态4的图像解码系统中以动作块为单位表示从图14所示的存储图像数据中读出图16所示的图像数据时的读出时序图。
图20表示在本发明实施形态4的图像解码系统中,以动作块为单位表示从图15所示的存储图像数据中读出图17所示的图像数据时的读出时序图。
图21表示存储各图像数据的存储区的存储体号及页号的分布图。
图22是与图21相同的图,仅仅存储的图像数据在横方向的象素为16×(4n+1)这一点不同。
图23是与图21相同的图,仅仅存储的图像数据在横方向的象素数为16×(4n+2)一点不同。
图24是与图21相同的图,仅仅存储的图像数据在横方向的象素数为16×(4n+3)这一点不同。
图25表示采用与本发明实施形态5有关的存储器控制装置的图像解码系统结构的方框图。
图26表示存储各图像数据的存储区的存储体号及页号的分布图。
图27表示一般的同步存储器存储区结构图。
图28表示一般的同步存储器状态转移图。
图29表示以往的存储器控制装置的结构的方框图。
图30表示以往的存储器系统结构的方框图。
图31表示图29的以往的存储器控制装置动作说明用的数据配置图。
图32表示以往的存储器控制装置的数据读出时序图的一例。
图33表示根据各传送对象单元所请求的数据传送按存取顺序以列为单位表示含有被存取的列的页号及该页所属的存储体号。
图34表示以动作时钟脉冲为单位、当各传送对象单元同时请求图33所示的各数据传送时的传送顺序图。
具体实施方式
下面,参照附图对本发明的实施形态进行说明。
实施形态1
图1表示与本发明实施形态1有关的存储器控制装置结构的方框图。在图1中,与实施形态1有关的存储器控制装置具有传送对象单元11、地址生成单元12、命令生成单元13、数据处理单元14及同步存储器15。
当从同步存储器15内某一存储体(下面用存储体0表示)地址跨存储体边界向另一存储体(下面用存储体1表示)地址连续进行数据传送时(参照图27),特别当最初进行的存储体0有关的数据传送字节数小于字符组长度的情况下,与本发明实施形态1有关的存储器控制装置是有效的。
传送对象单元11将进行读出(或写入)的数据有关的起始地址(虚拟地址)、传送数据量及读(或写)的各种命令输出至地址生成单元12。
地址生成单元12接受来自传送对象单元11的命令,生成分割成若干数据传送命令的起始地址(物理地址)、字符组长度及读(或写)的各控制信号,输出至命令生成单元13。另外,地址生成单元12生成表示读取所最初传送的数据相对于字符组长度边界为多少字节的字节数的传送字节数信息,输出至命令生成单元13。
命令生成单元13根据时钟及从地址生成单元12接受的控制信号生成指示页(行)/列地址的控制命令,输出至同步存储器15。这时,命令生成单元13判断传送字节数信息中的字节数,控制同步存储器15以便根据能够提高同步存储器15数据传送速率的命令来执行。即命令生成单元13,当如上所述跨同步存储器存储体边界进行数据读时,对于存储体0的读处理及对于存储体1的激活处理,判断哪一个处理先执行,并控制同步存储器15。具体来说,当从存储单元0读取的数据的传送字节数大于CAS时间的周期数时,执行应该优先开始读出存储体0数据的读命令,当小于CAS等待时间的周期数时,执行应该以最小时钟数结束所有数据读出的激活命令。另外,命令生成单元13对数据处理单元14输出指示读(或写)的控制命令。
数据处理单元14接受来自命令生成单元13的数据读的控制命令,从同步存储器15与上述时钟同步地读出数据,传送给传送对象单元11(或接受数据写的控制命令,从传送对象单元11读出数据,与上述时钟同步地传送给同步存储器15)。
同步存储器15是接受由命令生成单元13输出的控制命令而动作的同步动态随机存取存储器。
下面举出一个具体的数据传送例子来说明利用与实施形态1有关的存储器控制装置提高数据效率的情况。图2到图4表示跨存储体边界连续读出数据时数据读取时序图的一例。
图2表示当跨存储体边界连续读出存储体0的数据a1~a2及存储体1的数据b1~b8共计10个数据时2种数据读出时序图。图3表示跨存储体边界连续读出存储体0的数据a1~a3及存储体1的数据b1~b8共计11个数据时2种数据读出时序图。图4表示跨存储体边界连续读出存储体0的数据a1~a4及存储体1的数据b1~b8共计12个数据时2种数据读出时序图。
另外,对于图2到图4的任一图中,设CAS等待时间为3个时钟脉冲,字符组长度为8个数据。另外,在图2到图4中,“Pa”表示对存储体0的预充电命令,“Pb”表示对存储体1的预充电命令,“Aa”表示对存储体0的激活命令,“Ab”表示对存储体1的激活命令,“Ra”表示对存储体0的读命令,“Rb”表示对存储体1的读命令。
首先,分别说明图2到图4所示的内容。
图2(a)表示的处理与所述图32的情况相同,首先发出Ra命令,然后发出Ab命令,这样一直至数据读全部结束为止用了21个周期。另外,图2(b)所示的处理是首先发出Ab命令,然后发出Ra命令,这样虽然开始读出最初数据的周期晚了,但是数据读全部结束只要20个周期即可完成。
在图3(a)表示处理及图3(b)所示处理中,先发出Ra命令后再发出Ab命令的情况与先发出Ab命令后再发出Ra命令的情况没有任何变,两种情况下一直到数据读全部结束为止都用了21个周期。
图4(a)表示的处理是先发出Ra命令后再发出Ab命令,一直到数据读全部结束为止用了21个周期。与此不同,图4(b)表示的处理是先发出Ab命令后再发出Ra命令,结果反过来一直到数据读全部结束为止用了22个周期。
这样,当从某一任意地址跨存储体边界进行数据传送时,因最初进行的从存储体0传送的数据字节数不同,由于先发出的是Ra命令或Ab命令中的某一个命令,导致全部数据读结束所需要的周期数不同。在上述图2~图4的具体例子中可以明白,周期数因传送数据的数据长度比CAS等待时间“3”个周期是大还是小而发生变化。
因而,以往的存储器控制装置,由于固定的规则及限制,只能按先发出Ra命令后再发Ab命令的顺序进行(图2的处理(a)、图3的处理(a)及图4的处理(a)),因此场合不同,会发生数据传送效率降低的情况。
与此不同,本发明的存储器控制装置,如上所述,在地址生成单元12计算最初对于存储体0进行的传送字节数,并作为传送字节数信息传送给命令生成单元13。然后,命令生成单元13对作为最初对于存储体0进行的传送字节数信息的传送字节数进行判断,并与预先规定的CAS等待时间进行比较,通过这样控制同步存储器15。
例如,在上述具体例子的情况下,预先将阈值“3”给予命令生成单元13。然后,若输入的传送字节数X<3,则命令生成单元13先发出Ab命令(图2的处理(b)),若X≥3,则先发出Ra命令(图3的处理(a)及图4的处理(a)),通过这样对同步存储器15进行控制,就能够提高同步存储器15的数据传送效率。
如上所述,本发明实施形态1有关的存储器控制装置的命令生成单元13,根据在地址生成单元12生成的传送字节数信息判断先发出Ra命令及Ab命令中的哪一个命令,对同步存储器的处理进行控制。通过这样,当对不同存储体进行连续数据读时,能够发出命令使得数据传送周期总是为最短而结束,能够减少2个连续存取(对存储体0的存取及对存储体1的存取)所必须的周期数,提高同步存储器15的实际传送速率。
另外,在上述具体实施例中,叙述了以CAS等待时间为“3”个时钟脉冲、字符组长度为“8”个数据作为条件的情况,但本发明的存储器控制装置不限于此,在其他的条件下采用与上述相同的考虑方法通过对命令进行控制也能够优化数据传送周期。
实施形态2
图5表示与本发明实施形态2有关的存储器控制装置结构的方框图。在图5中,与实施形态2有关的存储器控制装置具有传送对象单元21、地址生成单元22、命令生成单元23、数据处理单元24、同步存储器25及计数器26。
与本发明实施形态2有关的存储器控制装置对于从同步存储器25中的存储体0的地址跨存储体边界到存储体1的地址连续进行数据传送、再接着从另外的存储体0的地址进行数据传送的情况是有效的。
传送对象单元21将进行读出(或写入)数据有关的起始地址(虚拟地址)、传送数据量及读(或写)的各种命令输出至地址生成单元22。
地址生成单元22接受来自传送对象单元21的命令,生成分割为若干数据传送命令的起始地址(物理地址)、字符组长度及读(或写)的各种控制信号,输出至命令生成单元23。另外,地址生成单元22将最初对存储体0传送的数据传送量输出至计数器26。
计数器26对命令生成单元23中的读(或写)的执行次数进行计数,每当该计数1次,从地址生成单元22给出的传送数据量减去已经传送的数据量、即一次字符组命令能够传送给同步存储器25的数据量的字符组长度。当进行了减法计算后的传送数据量(即应该传送的数据的剩余部分)小于字符组长度时,计数器26将该情况通知命令生成单元23。
命令生成单元23根据时钟及从地址生成单元22接受的控制信号生成指示页(行)/列地址的控制命令,输出至同步存储器25。这里,命令生成单元23当接受到来自计数器26的通知时,将发给同步存储器25的对存储体0的读(或写)命令变换为十一次对存储体0的带预充电命令的读(或写)命令,并传送给同步存储器25。所谓该带预充电命令的读(或写)命令是,当正在进行的存储体0传送处理结束时,在进行存储体1传送处理期间不发出预充电命令,而对下一次的存储体0的处理进行。另外,命令生成单元23对数据处理单元24输出指示读(或写)的控制命令。
数据处理单元24接受来自命令生成单元23的数据读的控制命令,与上述时钟同步地从同步存储器25读出数据,传送给传送对象单元21(或接受数据写的控制命令,从传送对象单元21读出数据,与上述时钟同步地传送给同步存储器25)。
SRRAM25是接受由命令生成单元23输出的控制命令而动作的同步动态随机存取存储器。
下面举出一个具体的数据传送例子,与以往存储器控制装置的数据传送情况进行比较,来说明利用实施形态2有关的存储器控制装置提高数据传送效率的情况。
图6表示当跨存储体边界连续读出存储体0的数据a1~a8及存储体1的数据b1~b4共计12个数据、再接着读出存储体0的数据a9~a12时2种数据读出时序图。图6(a)表示图29所示以往的存储器控制装置中的数据读出时序图。图6(b)表示与本实施形态有关的存储器控制装置中的数据读出时序图。
另外,在图6中,“Pa”表示对存储体0的预充电命令,“Pb”表示对存储体1的预充电命令,“Aa”表示对存储体0的激活命令,“Ab”表示对存储体1的激活命令,“Ra”表示对存储体0的读命令,“Rb”表示对存储体1的读命令,“RawP”表示对存储体0的带预充电的读命令。另外,在图6中,设CAS等待时间为“2”个时钟脉冲,字符组长度为“4”个数据。
参照图6(a)所示的处理,生成单元83首先对存在数据a1~a8的存储体0发出应进行数据读的Pa命令(第0周期)。另外,利用CAS等待时间间隔(2个时钟脉冲)预先也对存储体1发出Pb命令(第1周期)。然后,在Pa命令发出后2个时钟脉冲之后发出Aa命令(第2周期)。然后,再在2个时钟脉冲之后发出第1次的Ra命令(第4周期),进行数据a1~a4的传送(因为字符组长度为“4”)。这里,在存储体0的数据传送区间发出Ab命令,预先准备使存储体1随时能够存取(第5周期)。然后在第8周期发出第2次Ra命令使数据A4传送后马上能够开始数据a5~a8的数据传送。
接着,命令生成单元83在第12周期发出Rb命令使得在数据a8传送结束即存储体有关的数据传送结束后能马上进行存储体1有关的数据b1~b4的传送。以后,为了传送存储体0的另外地址存在的数据a9~a12,根据CAS等待时间,每隔2个时钟脉冲间隔发出Pa、Aa及Ra(第13、第15及第17周期)。
这样,在以往存储器控制装置中,在存储体1传送处理结束与另外的存储体0传送处理开始之间产生不进行数据传送的空白期间(第18周期)。这个原因是因为,本来想在第12周期同时发出Rb命令及Pa命令,但是不可能,因此先发出应该优先进行存储体1的数据读的Rb命令,然后发出Pa命令。
与此不同,与实施形态2有关的存储器控制装置按照下述的方法解决了这一问题。另外,如上所述,地址生成单元22根据上述条件对计数器26将最初的存储体0有关的传送数据a1~a8的数“8”作为传送数据量输出(参照图5)。
参照图6(b)所示的处理,图中第5周期前与上述相同,但在发出第4周期的第1次Ra命令时,计数器26将从地址生成单元22的传送数据量“8”减去“4”(数据a1~a4的数量)。这里,应该传送的剩余数据即上述减法计算后的传送数据量(=4)不大于字符组长度(=4),因此计数器26将该情况通知命令生成单元23。接着,命令生成单元23在第8周期发出第2次Ra命令使数据a4传送后马上能够开始数据a5~a8的数据传送,但这时根据从计数器26接受的通知,输出带预充电的读命令即RawP命令。
利用该RawP命令,同步存储器25在数据a8的传送没有问题能够结束的第13周期,甚至不从命令生成单元23再一次接受Pa命令,也能够自己判断进行预充电。
通过这样,之后的Aa命令及Ra命令能够提前1个周期发出(第14及第16周期),其结果,图6(a)的处理要到第22周期结束,与此相比现在到第21周期就能够结束全部数据传送。
如上所述,本发明实施形态2的存储器控制装置,利用计数器26对命令生成单元23发出的读命令的次数进行计数,检测进行处理的1个存储体相应的最后的数据传送,根据该检测结果命令生成单元23发出带预充电的读命令,控制同步存储器的处理。通过这样,发出带预充电命令的存储体在一部分数据的读处理结束后能自动执行另外部分数据有关的预充电,因此即使在预充电命令的发出与后续的其他命令的发出时刻一致的情况下,能够不推迟预充电处理开始的时刻,能够提高同步存储器25的实际传送速率。
另外,在上述具体实施例中,叙述了以CAS等待时间为“2”个时钟脉冲、字符组长度为“4”个数据作为条件的情况,但本存储体控制装置不限于适用于此,在其他的条件下采用与上述相同的考虑方法通过对命令进行控制也能够优化数据传送周期。
实施形态3
图7表示与本发明实施形态3有关的存储体系统结构的方框图。在图7中,与实施形态3有关的存储器系统具有传送对象单元31~33、仲裁器30、同步存储器控制单元34及同步存储器35。
传送对象单元31~33当分别产生与同步存储器35进行数据传送请求时,将传送请求信号输出至仲裁器30,当从仲裁器30返回传送许可信号时,将传送信息输出至同步存储器控制单元34。
仲裁器30一直监视着各传送对象单元是否正与同步存储器35进行数据传送之中,当从某一个传送对象单元获得传送请求信号时,在传送对象单元的数据传送结束的同时将传送许可信号返回给输出了传送请求信息的传送对象单元。另外,当从若干传送对象单元获得传送请求信号时,从中选择一个,在传送对象单元的数据传送结束的同时将传送许可信号返回给这次选择的输出了传送请求信息的传送对象单元,对于未选择的剩下的传送请求信息也同样进行处理。关于这里的选择方法,将在后面详细说明。
同步存储器控制单元34,根据来自传送对象单元的传送信息,生成CLK、RAS、CAS、WE及存取地址等控制命令,输出至同步存储器35,实现输出了传送信息的传送对象单元与同步存储器35的数据传送。该同步存储器控制单元34例如是由上述实施形态1中所述的地址生成单元12、命令生成单元13及数据处理单元14构成的,或是由上述二实施形态中所述的地址生成单元22、命令生成单元23、数据处理单元24及计数器26构成的。同步存储器35具有与上述说明的一般同步存储器同样特征,利用来自同步存储器控制单元34的控制命令进行控制。
图8表示仲裁器30的详细结构图。在图8中,仲裁器30具有传送请求信息接受单元301、传送请求信息保持单元302、尾部确定单元303、首部确定单元304及选择单元305。
传送请求信息接受单元301接受传送对象单元31~33分别发出的传送请求信息。这里,传送请求信息包含表示应该存取的存储区的存储区信息及表示传送等待时间限度的限度信息。例如存储区信息是同步存储器35的物理地址、同步存储器35的存储体号或同步存储器35的成对存储体号及页号,限度信息为表示从传送请求信息发出到传送结束为止所允许的周期数限度的限度周期数。传送请求信息保持单元302将传送请求信息接受单元301接受的各传送请求信息加以保持直到允许相应的传送为止。尾部确定单元303在现在存取中或优先应该存取的优先传送请求信息中确定最后应该存取的尾部存储体或最后应该存取的一对尾部存储体及尾部页。首部确定单元304对每个传送请求信息确定最初应该存取的首部存储体或最初应该存取的一对首部存储体及头部页。选择单元305将表示与尾部存储体为不同存储体的首部存储体相应的传送请求信息所示的存储区存取、与表示与尾部存储体为相同存储体的首部存储体相应的传送请求信息所示的存储区存取比较,优先选择前者,或者将表示与尾部存储体为不同存储体的首部存储体相应的传送请求信息所示的存储区及表示与尾部存储体为相同存储体的首部存储体相应的而且表示与尾部页为相同页的首部页相应的传送请求信息所示的存储区的存取、与表示与尾部存储体为相同存储体的首部存储体相应的而且表示与尾部页为不同页的首部页相应的传送请求信息所示的存储区存取比较,优先选择前者,作为优选传送请求信息所示的存储区存取后面紧跟的顺序。另外,选择单元305对制成传送请求信息判断是否要超过限度信息所示的限度,并最优先选择判断要超限度的传送请求信息所示的存储区存取。
图9表示图8的选择单元305结构的一例。例如,选择单元305如图9所示可以由剩余周期数保持单元305a、初始值设定单元305b、减法单元305c、计算单元305d及判断单元305e构成。
剩余周期数保持单元305a对每个传送请求信息保持表示从现在时刻到传送结束为止允许周期数限度的剩余周期数。初始值设定单元305b将传送请求信息发出时限度周期数作为剩余周期数初始值保持在剩余周期数保持单元305a。减法单元305c每1个周期将剩余周期数保持单元305a保持的剩余周期数减1。计算单元305d对每个传送请求信息进行“(一直到执行中的存取结束为止的周期数)+(优先选择的传送请求信息的存取所必须的周期数)+(将传送放大器保持的数据传送给规定的1页所必须的周期数)+(将规定的1页存储的数据传送给传送放大器所必须的周期数)+(本身存取所必须的周期数)=结束预定周期数”的计算一直到执行中的存取结束。当“结束预定周期数>剩余周期数”时,判断单元305e判断为相应的传送请求信息要超过限度。
图10表示图8的选择单元305结构的另一例。例如,选择单元305如图10所示还可以由计数单元305f、计算单元305g及判断单元305h构成。
计数单元305f对每个传送请求信息从该传送请求信息发出时每一个周期对等待周期数进行计数。计算单元305g对每个传送请求信息进行“(等待周期数)+(一直到执行中的存取结束为止的周期数)+(优先选择的传送请求信息的存取所必须的周期数)+(将传送放大器保持的数据传送给规定的1页所必须的周期数)+(将规定的1页存储的数据传送给传送放大器所必须的周期数)+(本身存取所必须的周期数)=结束预定周期数”的计算一直到执行中的存取结束。当“结束预定周期数>限度周期数”时,判断单元305h判断为相应的个别存取信息要超过限度。
下面参照图11及图12说明与实施形态3有关的存储器系统的动作。图11表示与本发明实施形态3有关的存储器系统中对存取执行顺序进行优化的方法的流程图。图12表示在与本发明实施形态3有关的存储器系统中当图33所示的各数据传送从各传送对象单元同时请求时以动作块为单位表示传送顺序的说明图。在图12中,也设CAS等待时间为3,字符组长度为8。这里也与图34相同,由于CAS等待时间为3,因此从预充电命令输入后1个时钟脉冲后的读数据是有效的,另外,对同一存储体的预充电命令与激活命令的间隔及激活命令与读命令的间隔部必须要3个时间脉冲以上。
下面说明图11所示的流程图。
通常,从传送对象单元发出各数据传送相应的传送请求信息,传送请求信息接受单元301时刻接受该发出的各传送请求信息,传送请求信息保持单元302保持各传送信息直到相应传送允许为止。另外,初始值设定单元305b将各限度周期数作为剩余周期数的初始值保持在剩余周期保持单元305a,减法单元305c每个周期将剩余周期数减1。这里设从各传送对象单元同时发出图33所示各数据传送相应的传送请求信息。详细地说,设从传送对象单元31发出包含按应该存取的顺序排列的成对存储体号及页号“存储体0的页0、存储体1的页0、存储体0的页0、存储体1的页0“及限度周期数“100”的传送请求信息,从传送对象单元32发出包含应该存取的成对存储体号及页的排列“存储体1的页1”及限度周期数“100”的传送请求信息,从传送对象单元33发出包含应该存取的成对存储体号及页号的排列“存储体0的页1”及限度周期数“100”的传送请求信息。
首先,仲裁器30判断是否有传送请求信息保持单元302保持的传送请求信息(步骤S101)。该步骤S101的判断重复进行直到有传送请求信息为止。在该例中,由于在传送请求信息保持单元302保持了三个传送请求信息,因此判断为是。按着,仲裁器30判断传送请求信号保持单元302保持的传送请求信息是否为2个以上(步骤S102)。在该例中,由于传送请求信息保持单元302保持了3个传送请求信息,因此判断为是。
在上述步骤S102中,当仲裁器30判断为传送请求为2个及以上(是选择单元305暂时优先选择优先级最高的传送单元发出的传送请求信息(步骤S103)。另外,当在上述步骤S102中仲裁器30判断为传送请求信息不是2个及以上(否)时,选择单元305无软件选择传送请求信息保持单元302保持的1个传送请求信息,转移到步骤S105(步骤S112)。在该例中,暂时选择传送对象单元31发出的传送请求信息。
这里,计算单元305d对每个传送请求信息进行“(一直到执行中的存取结束为止的周期数)+(暂时优先选择的传送请求信息的存取所必须的周期数)+(将传送放大器保持的数据传送给规定的1页所必须的周期数)+(将规定的1页存储的数据传送给传送放大器所必须的周期数)+(本身存取所必须的周期数)=结束预定周期数”的计算。与此相应,当“结束预定周期数>剩余周期数”时,判断单元305e判断为相应的传送请求信息要超过限度,以上述步骤S102暂时选择的传送请求信息还要优先(即最优)加以选择(步骤S104)。在该例中,对于传送对象单元32发出的传送请求信息,计算“结束预定周期数=0+32+3+3+16=54”,另外对于传送对象单元33发出的传送请求信息,计算“结束预定周期数=32+3+3+8=46”,由于两者都不是”结束预定周期数>剩余周期数”,因此判断为不是要超过限度,不选择其为最优先。
另外,假设传送对象单元32发出的传送请求信息包含的限度周期数为“不足54”,或传送对象单元33发出的传送请求信息包含的限度周期数为“不足46”,则判断单元305e最优先选择各自传送请求信息所示的存储区的存取。
接着,仲裁器30将传送许可信号返回给判断单元305e最后选择的传送请求信息相应的传送对象单元,并从传送请求信息保持单元302删除相应的传送请求信息(步骤S105)。在该例中,将传送许可信号返回给传送对象单元31。然后,尾部确定单元303在现在存取中的或应该优先存取的传送请求信息中确定最后应该存取的尾部存储体或最后应该存取的成对尾部存储体及尾部页(步骤S106)。在该例中,在选择的传送对象单元31发出的传送请求信息中,确定最后应该存取“尾部存储体1及尾部页0”。
另外,接受了传送许可信号的传送对象单元通过同步存储器控制单元34在与同步存储器35之间进行数据传送(步骤S107)。在该例中,传送对象单元31在与同步存储器35之间进行数据传送。
然后,仲裁器30在正执行中的数据传送要结束之前再次判断传送请求信息保持单元302是否有保持的传送请求信息(步骤S108)。在该步骤S108中,当判断为没有传送请求信息(否)时,返回到上述步骤S101。在该例中,由于传送请求信息保持单元302保持着2个传送要求信息,因此判断为是。另外,当在上述步骤S108中判断为有传送请求信息时,仲裁器30在执行中的数据传送就要结束之前再判断传送请求信息保持单元302保持的传送请求信息是否为2个及以上(步骤S109)。在该例中,由于传送请求信息保持单元302保持着2个传送请求信息因此判断为是。
当仲裁器30在上述步骤S109中判断的传送请求信息为2个及以上(是)时,首部确定单元304对每个传送请求信息确定最初应该存取的首部存储体或最初应该存取的成对首部存储体及首部页(步骤S110)。另外,当仲裁器30在上述步骤S109中判断为传送请求信息不是2个及以上(否)时,则无条件选择传送请求信息保持单元302保持的1个传送请求信息,转移至步骤S105(步骤S112)。在该例中,在传送对象单元32发出的传送请求信息中确定“首部存储体1及头部页1”,在传送对象单元33发出的传送请求信息中,确定“首部存储0及首部页1”。
选择单元305根据上述内容暂时选择传送请求信息所示存储区的存取(步骤S111)。另外,当没有优先选择的传送请求信息时,暂时优先选择优先级最高的传送对象单元发出的传送请求信息。在该例中,由于是“尾部存储体1”“尾部页0”,因此传送对象单元32发出的传送请求信息相应于表示与尾部存储体1为相同存储体的首部存储体1、而且相应于表示与尾部页0为不同页的首部页1,传送对象单元33发出的传送请求信息相应于表示与尾部存储体1为不同存储体的首部存储体0。因而,将传送对象单元33发出的传送请求信息与传送对象单元32发出的传送请求信息相比,暂时优先选择前者。
然后,上述步骤S111的选择结束后返回至上述步骤S104,按照上述顺序继续进行以后的处理。在该例中,例如在执行中的数据传送结束的3个周期前(从最初开始的35个周期)进行计算时,关于传送对象单元32发出的传送请求信息进行计算为“结束预定周期数=3+16+3+3+16=41”,另外这时“剩余周期数=100-35=65”,由于不满足“结束预定周期数>剩余周期数”因此判断为不是要超过限度,不是最优先选择传送对象单元32。
如上所述,与本发明实施形态3有关的存储器系对传送请求信息保持单元302保持的全部传送请求信息所示的划分为若干应该进行存取的存储区的存取顺序进行优化,使对同一存储体的存储区连续存取的频率降低,或者使对同一存储体而且不同页的存储区连续存取的频率降低,并进行控制使得按照优化的存取顺序对存储器的存储区进行存取。
这里对以往的到传送结束为止所必须的周期数进行比较。以往如图34所示必须69个周期,而本发明如图12所示用62个周期即可完成,必须的周期数减少部分是没有预充电导致的额外开销(7个周期)。
另外,这里是在前面的数据传送就要结束之前选择下面的数据传送,但也可以在前面的数据传送结束之前任何时刻选择下面的数据传送。当然也可以在前面的数据传送开始之前选择下面的数据传送,因此也可以在全部数据传送之前决定全部数据传送顺序。另外,这里是在传送请求信息中包含按应该存取顺序排列的成对存储体号及页号,但是如果能够指定首部及尾部,也可以是任何信息。另外,如果传送请求信息中包含至少能够确定首部存储体及尾部存储体的信息,则通过选择下面的数据传送使相同存储体号不连续,也能够同样的效果。另外,也可以传送请求信息中不包含能够确定尾部存储体的信息而从同步存储器控制单元34获得。再有,也可以传送请求信息中包含应该存取的存储器地址,而仲裁器30或同步存储器控制单元34根据该地址确定存储体号及页号。
实施形态4
图13表示采用与本发明实施形态4有关的存储器控制装置的图像解码系统(视频解码装置)结构的方框图。
在图13中,实施形态4的图像解码系统具有图像解码单元41、差分图像缓冲器42、参照图像缓冲器43、半象素插补单元44、加法器45、图像输出单元46、存储器控制单元47及同步存储器48。
图像解码单元41将传送的编码参照图像进行解码,并通过存储器控制装置将解码的参照图像传送给同步存储器48。另外,图像解码单元41将差分图像代码进行解码,并将解码的差分图像输出至差分图像缓冲器42,将参照图像的地址输出至参照图像缓冲器43,将插补方法输出至半象素插补单元44。差分图像缓冲器42暂时存储解码的差分图像,并调整加法器45的动作时序。参照图像缓冲器43将根据图像解码单元41指定的参照图像从存储器控制装置47读出并暂时加以存储,根据需要输出至半象素插补单元44。半象素插补单元44按照图像解码单元41指定的插补方法对参照图像缓冲器43存储的参照图像进行插补后输出至加法器45。另外,由于这里进行的插补方法与本发明的宗旨没有直接关系,因此省略其说明。
加法器45将差分图像缓冲器42保持的差分图像与参照图像缓冲器43保持的参照图像相加输出图像,通过存储器控制装置47传送给同步存储器48。图像输出单元46与图像输出时序同步通过存储器控制装置47从同步存储器48读出解码的图像数据后输出。存储器控制装置47对从图像解码单元41向同步存储器48的解码后图像数据传送、从同步存储器48向参照图像缓冲器43的参照图像传送、从加法器45向同步存储器48的输出图像传送及从同步存储器48向图像输出单元46的输出图像传送进行控制。同步存储器48具有与上述实施形态3中同步存储器35相同的构成与功能。用加法器45的各输出图像的图像数据按显示状态中连续规定顺序存储体在分别仅仅由单一存储体单一页的存储区构成的同步存储器48各单位区域,另外在存储顺序中相邻的单位区域由不同存储体构成。
图14表示数据总线位宽度为8位、具有1列为8位、1页为512列的存储体2个(存储体0及存储体1)的SDARM48中存储每1象素的数据量(例如表示亮度)为8位、各单位区域为横16象素×纵32象素的矩形区域、横方向的象素数为“16×(2n+1)”的图像数据的情况下存储各图像数据的存储区的存储体号及页号分布图。这里“n”为1以上的整数。图15是与图14相同的图,仅仅存储的图像数据在横方向的象素数为“16×2n”这一点不同。
另外,在图14及图15中,用实线分割的各矩形区域分别为单一页的存储区,无斜线的矩形区域为存储体0,有斜线的矩形区域为存储体1。在图14中,上下及左右相邻的单一页的矩形区域数据存储体在不同存储体中,在图15中,左右相邻的单一页的矩形区域数据存储体在不同存储体中,而上下相邻的单一页的矩形区域数据存储在相同存储体中。
这里,关于从图像解码单元41向同步存储器48的解码后图像数据传送、从加法器45向同步存储器48的输出图像传送及从同步存储器48向图像输出部46的输出图像传送,由于与以往相同,因此省略其说明,下面仅说明从同步存储器48向参照图像缓冲器43的参照图像传送。
图16表示从存储在图14所示的同步存储器48中的图像数据中读出的参照图像的一例。图17表示从存储在图15所示的同步存储器48中的图像数据中读出的参照图像的一例。图16及图17所示的参照图像用横9象素×纵5象素的矩形区域所示的参照图像用横9象素×纵5象素的矩形区域表示,其读出顺序通常按显示顺序进行,即“a1→a2→b1→b2→c1→c2→d1→d2→e1→e2”。
存储器控制装置47由存取信息接受单元471、存取顺序优化单元472及同步存储器控制单元473构成。
存取信息接受单元471从参照图像缓冲器43接受应该读出的参照图像地址作为存取信息。存取顺序优化单元472对应该读出的参照图像存取顺序进行优化使得对于同一存储体存储区的连续存取频率降低。同步存储器控制单元473根据来自图像解码单元41、参照图像缓冲器43、加法器45及图像输出单元46的各传送要求生成控制命令,输出至同步存储器48,实现数据传送。特别是当读出参照图像时进行的控制使得同步存储器48按照存取顺序优化单元472优化的存取顺序进行存取。
存取顺序优化单元472包含区域分割单元472a、垂直页边界检测单元472b、相对存取顺序决定单元472c、画面大小设定单元472d、形状设定单元472e、存储体判断单元472f、水平页边界检测单元472g、大小比较单元472h及初始存取顺序决定单元472I。
区域分割单元472a将应该读出的参照图像地址所示的同步存储器48存储区分割为分别是单一页的存储区、而存储区是连续的单一页区域。在图16及图17中分别分割为“a1、a2、b1、b2、c1、c2、d1、d2、e1、e2”的单一页区域。垂直页边界检测单元472b检测显示状态中相邻而存储顺序中不相邻的单位区域的边界。更具体地,始终监视前一个要求传送的水平方向行的的首部地址与接着应该要求传送的水平方向行的首部地址与接着应该要求传送的水平方向行的首部地址是否为不同单位区域,当检测为不同单位区域时,将垂直页交叉信号作为检测出垂直页边界输出至同步存储器控制单元473。另外,这里由于使单位区域的存储/在水平方向连续,因此检测垂直页边界,而在垂直方向连续的情况下则检测水平页边界。在图16及图17中,检测如图中所示的垂直页边界,相对存取顺序决定单元472C根据垂直方向页边界两边的单位区域是由同一存储体构成还是由不同存储体构成来决定单一页区域的存取顺序。更具体地说,当垂直方向页边界以后两边的单位区域是由同一存储体构成时,使垂直方向页边界以后的单一页区域的存取顺序与单位区域以前相同,而当由不同存储体构成时则相反。
画面大小设定单元472d接受来自外部的指令在同步存储器48存储的图像数据中设定存储顺序及显示状态连续的象素数作为画面大小。这里画面大小为解码的图像数据的横方向素数,在图14所示例子中为“16×(2m+1)”,在图15所示例子中为“16×2n”。形状设定单元472e接受来自外部的指令设定单位区域的形状。在图14及图15所示的例子中,单位区域的形状为横16象素×纵32象素的矩形区域。存储体判断部472f根据画面大小及形状、按显示状态中连续的上述顺序将生成的图像数据存储时,判断垂直方向的页边界两边的单位区域是由同一存储体构成还是由不同存储体构成。在图14所示例子中,由于上下相邻单一页的矩形区域数据存储在不同存储体,因此判断为由不同存储体构成,而在图15所示例子中,由于上下相邻单一页的矩形区域数据存储在同一存储体,因此判断为同一存储体。
水平页边界检测单元472g检测在显示状态及存储顺序中相邻单位区域的边界。更具体地说,将水平方向各行内的单位区域边界作为水平页边界进行检测。另外,这里由于使单位区域的存储顺序在水平方向连续,由此检测水平页边界,而在垂直方向连续的情况下则检测垂直页边界。在图16及图17中,检测如图中所示的水平页界。大小比较单元472h比较将参照图像以水平方向页边界分割时各存储区的大小。在图16及图17中,判断为右边的比左边的要小。初始存取顺序决定单元472i将垂直方向页边界以前的单一页区域存取顺序作为从大小比较单元472h的比较中判断为较小的存储区所属单一页区域先读出的顺序。
在图16中,垂直页边界以前的各行存取顺序为从右边至左边,而垂直页边界以后的各行存储顺序为从左至右。因而,这种情况的读出顺序为:a2→a1→b2→b1→c2→c1→d2→d1→e2→e1”。另外,在图17中,垂直页边界以后的各存储体顺序也为从右边至左边。因而,这种情况的读出顺序为“a2→a1→b2→b1→c2→c1→d2→d1→e1→e2”。
下面参照图18说明与实施形态4有关的存储器控制装置的动作。图18表示与本发明实施形态4有关的存储器控制装置中存取执行顺序进行优化的方法的流程图。
另外,下面首先说明从图14所示存储的图像数据读出图16所示的参照图像的情况下的读出顺序。
首先,存取信息接受单元471接受存取信息(步骤S201)。在该例中,设接受要读出图16所示参照图像的存取信息。接着,区域分割单元472a将应该读出的参照图像地址所示的同步存储器48的存储区分割为单一页区域S202)。在该例中,分割为图16所示的“a1、a2、b1、b2、c1、c2、d1、d2、e1、e2”的单一页区域。接着,水平页边界检测单元472g水平页边界(步骤S203)。在该例中,检测如图16所示的水平页边界。接着,大小比较单元472h比较将参照图像按水平方向页边界分割时的各存储区的大小(步骤S204)。在该例中,判断为右边的比左边的要小。
接着,相对存取顺序决定单元472c决定垂直页边界以前的各行存取顺序为从小的存储区先读出的顺序(步骤S205)。在该例中,由于右边的小,因此决定从右边先读出的顺序,读出顺序为“a2→a1→b2→b1→c2→c1→d2→d1”。接着,同步存储器控制单元473控制同步存储器48使得按照由相对存取顺序决定单元472c决定的顺序对垂直页边界以前的各行进行存取(步骤S06)。在该列中,(同步存储器48使得从右边先读出。
接着,垂直页边界检测单元472b检测垂直页边界(步骤S207),当检测到垂直页边界时,将垂直页交叉信号输出至同步存储器控制单元473(步骤S208)。在该例中,在决定按“a2→a1→b2→b1→c2→c1→d2→d1”读出之后,检测如图16所示的垂直页边界。接着,存储体判断单元472f根据画面大小设定单元472d设定的画面大小及形状设定单元472e设定的形状判断垂直方向页边界两边的单位区域为同一存储体构成还是不同存储体构成(步骤S209)。在该例中,根据画面大小“16×(2n+1)”及形状”横16象素×纵32象素的矩形区域”判断为图14所示由不同存储体构成。
在上述步骤S209中,当存储体判断单元472f判断为垂直页边界两边的单位区域由同存储体构成时,相大存取顺序决定单元472C将垂直页边界以后的存取顺序设定为与垂直页边界以前的存取顺序相同(步骤S210)。反之,在上述步骤S209中,当存储体判断单元472f判断为垂直页边界两边的单位区域由不同存储体构成时,相对存取顺序决定单元472c将垂直页边界以后的存取顺序设定为与垂直页边界以前的存取顺序相反(步骤S211)。在该例中,由于如图14所示由不同存储体构成,因此决定存取顺序为从左边先读出的顺序,读出顺序为“e1→e2”。
然后,同步存储器控制单元473控制同步存储器48使得按照由相对存取顺序决定单元472c决定的顺序对垂直页边界以后的各行进行存取(步骤S212)。在该例中,控制同步存储器48使得从左边先读出。因而,全部的读出顺序为“a2→a1→b2→b1→c2→c1→d2→d1→e1→e2”。
接着,下面参照图18相同的说明从图15所示存储的图像数据读出图17所示参照图像的情况下的读出顺序。
在步骤S201中,设接受要读出图17所示参照图像的存取信息。在上述步骤S202中,分割为图17所示的“a1、a2、b1、b2、c1、c2、d1、d2、e1、e2”的单一页区域。在步骤S203中,检测如图11所示的水平页边界。在步骤S204中,判断为右边的比与边的要小。在步骤S205中,由于右边的小,因此决定从右边先读出的顺序,读出顺序为“a2→a1→b2→b1→c2→c1→d2→d1”。在步骤S206中,控制同步存储器48使得从右边先读出。在步骤S208中,决定按““a2→a1→b2→b1→c2→c1→d2→d1”读出之后,检测如图17所示的垂直页边界。在步骤S209中,根据画面大小“16×2n”及形状“横16象素×纵32象素的矩形区域”判断为图15所示由同一存储体构成。在步骤S210及S211中,由于如图15所示由同一存储体构成,因此决定存取顺序为从右边先读出的顺序,读出顺序为“e2→e1”。在步骤S212中,控制同步存储器48使得从右边先读出。因而,全部的读出顺序为“a2→a1→b2→b1→c2→c1→d2→d1→e2→e1”。
图19(a)表示在实施形态4的图像解码系统中以动作块为单位表示从图14所示的存储图像数据中读出16所示的参照图像时的读出时序图。图19(b)表示在以往图像解码系统中以动作块为单位表示按地址顺序从图14所示的存储图像数据中读出图16所示的参照图像时的读出时序图。另外,图20表示在实施形态4的图像解码系统中以动作块为单位表示从图15所示的存储图像数据中读出图17所示的参照图像时的读出时序图。
另外,在图19(a)、图19(b)及图20中也设CAS等待时间为3,字符组长度为8。这里还与图34相同,由于CAS等待时间为3,因此从输入预充电命令到1个时钟脉冲后的读数据有效,另外,对同一存储体的预充电命令与激活命令的间隔及激活命令与读命令的间隔都必须在3个时钟脉冲以上。另外,对不同存储体的激活命令的间隔也必须在3个时钟脉冲以上。
在图19(a)所示的处理中,读出全部参照图像必须要53个周期,在图19(b)所示的处理中,读出全部参照图像必须要58个周期,在图20的处理中,读出全部参照图像必须要59个周期。
下面对变形例进行说明。
图21表示数据总线位宽度为8位、具有1列为8位、1页为1024列的存储体2个(存储体0及存储体1)的同步存储器48中存储每一象素的数据(例如表示亮度)为8位、各单位区域为横32象素×纵32象素的矩形区、横方向的象素数为“16×(4n)”的图像数据的情况下存储各图像数据的存储区的存储体号及页号分布图。这里“n”为1以上的整数。图21虽然与图15相同,但左右相邻的单一页的矩形区域数据存储在不同存储体中,但上下相邻的单一页的矩形区域数据存储在同一存储体中。因而该情况的存取顺序与图15的情况相同。
图22与图21的不同仅在于存储的图像数据在横方向的象素数为“16×(4n+1)”这一点。这种情况的存取顺序与有无垂直交叉信号无关,始终是从右向左。
图23与图21的不同仅在于存储的图像数据在横方向的象素数为“16×(4n+2)”这一点。图23与图15相同,上下及左右相邻的单一页的矩形区域数据存储在不同存储体中。因而该情况的存取顺序与图15的情况相同。
图24与图21的不同仅在于存储的图像数据在横方向的象素数为“16×(4n+3)”这一点。这种情况的存取顺序与有无垂直页交叉信号无关,始终是从左向右。
如上所述,与本发明实施形态4有关的存储器控制装置对参照图像的存取顺序进行优化,使得对同一存储体的存储区连续存取的频率降低或使得对同一存储体而且不同页的分存取的频率降低和并进行控制使存储器的存储区按照优化的存取顺序进行存取。
实施形态5
图25表示与采用本发明实施形态5有关的存储器控制装置的图像解码系统(视频解码装置)结构的方框图。
在图25中,实施形态5的图像解码系统具有图像解码单元41、差分图像缓冲器42、参照图像缓冲器43、半象素插补单元44、加法器45、图像输出单元46、存储器控制装置57及同步存储器48。
实施形态5的图像解码系统是将上述实施形态4图像解码系统的存储器控制装置47换成存储器控制装置57而构成。因而,实施形态5的图像解码系统其他的结构与上述实施形态4的图像解码系统中的结构相同,有关该结构附加相同的参照标号并省略其说明。
存储器控制装置57由存取信息接受单元471、存取顺序优化单元572及同步存储器控制单元473构成。
存取顺序优化单元572包含区域分割单元472a、垂直页边界检测单元472b、画面大小设定单位472d、形状设定单元472e、存储体判断单元472f、水平页边界检测单元472g、大小比较单元472h、初始存取顺序决定单元472i、地址变换单元572j及顺序反转单元572k。
该存取顺序优化单元572的构成是从上述第4实施形态的存取顺序优化单元472的构成中删除相对存取顺序决定单元472c,而加上地址变换单元572j及顺序反转单元572k。因而,第5实施形态的存取顺序优化单元572其他的构成与上述实施形态4的存取顺序优化单元472中的构成相同,有关该结构附加相同的参照标号并省略其说明。
当如上述实施形态4那样将生成的图像数据按照显示状态中连续规定顺序存储时,当存储体判断单元472f判断为垂直方向的页边界两边的单位领域由同一存储体构成时,地址变换单元572j将图像数据的逻辑地址与同步存储器48的物理地址互相变换,成为由不同存储体构成。在图14所示例中,由于判断为上下相邻的单一页的矩形区域数据存储在不同存储体中,因此什么也不改变,而在图15所示例中,由于判断为上下相邻的单一页的矩形区域数据存储在同一存储体中,因此此图像数据的逻辑地址与同步存储器48的物理地址相互变换。
更具体地说,若在图15那样的情况下什么也不改变,则左右相邻的单一页的矩形区域数据存储在不同存储体中,但上下相邻的单一页的矩形区域数据都不存储在不同存储体中,因此上下方向每隔1列(例如偶数列的)相邻的存储体0的存储区与存储体1的存储区交换。
顺序反转单元572k将垂直方向的页边界以后的单一页区域的存取顺序与垂直方向的页边界以前相反。
下面说明与实施形态5有关的存储器控制装置的动作。
图26表示地址变换单元572j变换地址将每1象素的数据量(例如表示亮度)为8位、各单位区域为横16象素×纵32象素的矩形区域、横方向的象素数为“16×2n”的图像数据存储在数据总线位宽度为8位、具有1列为8位、1页为512列的存储体2个(存储体0及存储体1)的同步存储器48中的情况下存储各图像数据的存储区的存储体号及页号分布图。这里“n”为1以上的整数。
这种情况下,在地址变换单元572j根据垂直方向的象素位置进行下述的地址变换。另外,“m”为1以上的整数。
(a)对于64(m-1)≤垂直方向的象素位置≤{64(m-1)+31}
不变换地址。
(b)对于{64(m-1)+32}≤垂直方向的象素位置≤{64(m-1)+63}
通常将存储体0变换为存储体1、将存储体1变换为存储体0进行地址变换使得相邻的存储体0的存储区与存储体1的存储区交换。
另外,在横方向象素数为“16×(2n+1)”的图像数据情况下,由于即使不做任何处理,图像数据显示状态中上下及左右相邻的单一页的矩形区域数据也存储在同步存储器48的不同存储体中。因此地址变换单元572j不进行地址变换。
因而,存储各图像数据的储存体号的配置在横方向象素数为“16×2n”的图像数据情况下与“16×(2n+1)”的图像数据情况相同,读出时序也相同,因此如上述实施形态4说明的那样,读出时间从59个周期缩短为53个周期。
如上所述,与本发明实施形态5有关的存储器控制装置进行控制,将数据的逻辑地址与同步存储器48的物理地址相互变换,使得上下相邻的单一页的矩形区域数据不存储在同一存储体中,再对参照图像的存取顺序进行优化,使得对同一存储体的存储区连续存取的频率降低,另外使得对同一存储体而且不同页的存储区连续存取的频率降低,并按照优化的存取顺序对存储器的存储器进行存取。
另外,在上述实施形态4及实施形态5中对关于图像解码系统的例子进行了说明,对图像编码系统(视频编码装置)也是同样的。