CN1354480A - 使用存储器的方法、两维数据存取存储器以及操作处理设备 - Google Patents
使用存储器的方法、两维数据存取存储器以及操作处理设备 Download PDFInfo
- Publication number
- CN1354480A CN1354480A CN01139343A CN01139343A CN1354480A CN 1354480 A CN1354480 A CN 1354480A CN 01139343 A CN01139343 A CN 01139343A CN 01139343 A CN01139343 A CN 01139343A CN 1354480 A CN1354480 A CN 1354480A
- Authority
- CN
- China
- Prior art keywords
- address
- data
- reading
- appointment
- dimensional
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Image Input (AREA)
- Multi Processors (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了一种使用存储器的方法,它有助于有效的SIMD操作。所述使用存储器的方法包括下列步骤:包含有预定的两维存储器空间,它由预定的沿纵向和横向方向排列的虚拟最小两维存储器空间构成;将所述虚拟最小两维存储器空间的各个地址预先分配给n个物理存储器中按与所述虚拟最小两维存储器相关方式确定的每一个存储器内的预定地址。在读取数据时,指定所述虚拟最小两维存储器中的读取地址;并且,参照指定的读取地址将数据读取方向指定为数据的横向方向和纵向方向;从而,根据指定的地址和指定的方向从n个物理存储器的每个存储器中的相应地址开始读取所述虚拟最小两维存储器中按横向或纵向方向排列的连续数据。
Description
发明领域
本发明涉及使用存储器的方法、两维数据存取存储器以及操作处理设备,所述存储器中可实现有效的SIMD(单指令流多数据流)操作,所述两维数据存取存储器作为设备包括有上述存储器的方法,所述操作处理设备则可用上述两维数据存取存储器有效地执行SIMD操作。
发明背景
SIMD操作涉及具有多个处理器并在同一指令中处理多个数据。所以,SIMD操作能通过从存储在存储器内的数据一维行中取出部分行的连续数据而非常有效地执行并行操作。
但是,当要加以操作的数据未连续存储在存储器内时,或者在操作结果要离散地设置在存储器中预定存储单元内时,就需要具有为经历平行操作而准备的处理以及用于将平行操作结果安排到存储器中预定存储单元的处理。所以,存在有这样的缺点即:妨碍固有的并行操作。
另外,日本专利公开2000-69478号中说明了带有SIMD处理的用于加速两维离散余弦变换。
利用这种技术,按适于通过SIMD处理执行变换编码操作中的蝶形操作的顺序重新排列按扫描顺序排列的图像数据,重新排列的结果存储在存储器内,对存储在存储器内的图像数据进行两维余弦变换。
但是,在如上述专利所述的技术中,需要用于重新排列图像数据的操作,并且,在用硬件实施时,需要涉及重新排列的电路,从而导致因用于重新排列操作的存储器存取而有较大的电路规模和有所增加的能耗。
发明概述
就上述问题而言,本发明的第一个目的是提供使用存储器的方法,该存储器可使SIMD操作更有效。
再有,本发明的第二个目的是提供两维数据存取存储器,它可通过访问相对两维存储器空间中的指定位置沿横向或纵向方面排列的连续或不连续数据而实现有效的SIMD。
此外,本发明的第三个目的是提供一种操作处理设备,它可用两维数据存取存储器来有效地进行SIMD操作。
为了解决上述问题并达到第一目的,依照如权利要求1的发明,提供了使用存储器的方法,该方法包括下列步骤:包含有预定的两维存储器空间,它由预定的按两维方式形成的并沿纵向和横向方向排列的虚拟最小两维存储器空间构成;将所述虚拟最小两维存储器空间的各个地址预先分配给n个物理存储器中按与所述虚拟最小两维存储器相关方式确定的每一个存储器内的预定地址;在读取所述虚拟最小两维存储器中的数据时,指定所述虚拟最小两维存储器中的读取地址;以及,参照指定的读取地址将数据读取方式指定为数据的横向方向和纵向方向,从而,根据指定的地址和指定的方向从n个物理存储器的每个存储器中的相应地址开始读取所述虚拟最小两维存储器中按横向或纵向方向排列的连续数据。
依照权利要求2的本发明的第二个方面,提供了如权利要求1的使用存储器的方法,其中,在将数据写进两维存储器空间时,在所述虚拟最小两维存储器空间中指定写地址,并且,参照指定的写地址将写入方向指定为数据的横向方向或纵向方向,从而,可根据指定的地址和指定的方向在n个物理存储器的每一个的相应地址处写要在所述虚拟最小两维存储器中沿横向或纵向方向连续写的连续数据。
依照权利要求3的发明,提供了使用存储器的方法,该方法包括下列步骤:包含有预定的两维存储器空间,它由预定的按两维方式形成的并沿纵向和横向方向排列的虚拟最小两维存储器空间构成;将所述虚拟最小两维存储器空间的各个地址预先分配给n个物理存储器中按与所述虚拟最小两维存储器相关方式确定的每一个存储器内的预定地址;在读取所述两维存储器空间中的数据时,指定所述虚拟最小两维存储器中的读取地址;以及,参照指定的读取地址指定预定的读取方式(例如图19或图20所示的交错模式方式),从而,根据指定的地址和指定的方式从n个物理存储器的每个存储器中的相应地址开始读取所述虚拟最小两维存储器中的预定数据。
依照权利要求4的发明,提供如权利要求1或权利要求3的使用存储器的方法,其中,将估算移动画面的运动矢量时的参照数据(例如图31的参照系)的一部分存储在两维存储器空间内,并且,当读取两维存储器空间中的数据时,还指定在估算运动矢量时读取预定数据的读取模式(例如,第二实施例中的循环模式),从而,可将随后的参照数据连续地写进虚拟最小两维存储器空间,其中,业已在估算运动矢量时读取了数据,或者,通过将数据的读取地址修改成虚拟最小两维存储器空间中的预定地址而读取数据,其中,依照读取地址、是如权利要求1的横向或纵向方向的数据读取方向或数据读取方式和如权利要求3的读取模式,如果数据跨越了两维存储器空间的边缘(例如图15的两维存储器空间3中的存储区的边界),则写入后续的参照数据。
依照权利要求5的发明,提供了使用存储器的方法,其中,将估算移动画面的运动矢量时的参照数据(例如图31的参照系)的一部分存储在两维存储器空间内,并且,当读取两维存储器空间中的数据时,还指定在估算运动矢量时预定数据的读取模式(例如,第二实施例中的填充模式),从而,依照读取地址、是如权利要求1的横向或纵向方向的数据读取方向或数据读取方式和如权利要求3的读取模式,如果数据跨越了参照数据现有范围的边缘(例如图18的图像边界),则通过将不包含在参照数据现有范围(例如其中有图18参照系的数据的范围)内的数据读取地址修改成位于参照数据现有范围的边缘处的预定数据的地址而读取数据。
利用依照权利要求1至5的发明的结构,可更有效地进行SIMD操作。
还有,利用依照权利要求3至5的发明的结构,可更有效地进行用于估算移动画面运动矢量的处理过程。
为了达到本发明的第二目的,依照权利要求6的发明,提供了一种具有n个物理存储器的两维数据存取存储器,它包含两维存储器空间,该空间由预定的按两维方式形成的并沿纵向和横向方向排列的虚拟最小两维存储器空间构成,分别按某种规则预先分配虚拟最小两维存储器空间的各个地址,所述两维数据存取存储器包括:一读取数据控制部,它用于指定虚拟最小两维存储器空间中的存取位置、根据用于从指定存取位置读取数据的读取方向和用于指定方式的读取存取模式重新排列从n个物理存储器中读出的数据,并在读取两维存储器空间中的数据时以集合的方式输出重新排列了的读出数据;以及,一读取地址控制部,它用于将指定的读取地址修改成预定的地址并根据指定的读取存取模式和指定的存取位置或者在当指定读取地址时存取空间于相邻虚拟最小两维存储器空间上延伸的情况下根据指定的读取模式将其输出给上述n个存储器。
依照权利要求7的发明,提供了如权利要求6的两维数据存取存储器,其中,读取数据控制部包括:一数据控制器,它用于输出选择信号以便根据虚拟最小两维存储器空间中按指定的读取地址而指定的存取位置以及在读取数据时根据指定的读取存取模式选择n个物理存储器中的读取数据;以及,与n个物理存储器相对应设置的n个选择器,它们用于从n个物理存储器中选择各个读出数据以便根据来自数据控制器的选择信号同时输出上述数据;并且,所述读取地址控制部包括:一地址控制器,它用于输出地址转换信号以便根据读取存取模式和读取地址将与各个n个物理存储器中的低地址相对应的读取地址转换成预定值,或者,上述地址控制器输出校正信号,以便在指定读取地址时,如果存取空间在相邻的虚拟最小两维存储器空间上扩展,则根据读取存取模式校正与各个n个物理存储器中的高地址相对应的读取地址;以及,与n个物理存储器相对应设置的n个地址校正部,它们用于根据来自地址控制器的地址转换信号将读取地址转换成预定值,以便将其输出给n个存储器中的每一个,并且,上述地址校正部根据来自地址控制器的校正信号来校正读取地址,以便将其输出给n个存储器中的每一个。
依照权利要求8的发明,提供了如权利要求6的两维数据存取存储器,其中,所述读取数据控制部根据用于指定估算运动矢量时数据读取模式的可选模式(例如第二实施例中的循环模式或填充模式)还有指定的读取存取模式和指定的存取位置重新排列从n个物理存储器中读出的数据,并以集合的方式输出重新排列的读出数据,而且,所述读取地址控制部将指定的读取地址修改成预定的地址,以便根据指定的读取存取模式和指定的存取位置或在存取空间在相邻虚拟最小两维存储器空间上扩展的情况下根据指定的读取存取模式或在指定读取地址时存取空间跨越两维存储器空间的边缘(例如图15的两维存储器空间3中的存储区的边界)的情况下根据指定的读取存取模式将上述预定地址输出给n个物理存储器。
依照权利要求9的发明,提供了如权利要求8的两维数据存取存储器,其中,所述读取数据控制部包括:一数据控制器,它用于输出选择信号以便根据虚拟最小两维存储器空间中按指定读取地址而指定的存取位置以及在读取数据时根据指定的读取存取模式和指定的可选模式(例如第二实施例中的循环模式)选择n个物理存储器中的读取数据;以及,与n个物理存储器相对应设置的n个选择器,它们用于从n个物理存储器中选择各个读出数据以便根据来自数据控制器的选择信号同时输出上述数据;并且,所述读取地址控制部包括:一地址控制器,它用于输出地址转换信号以便根据读取存取模式和读取地址将与各个n个物理存储器中的低地址相对应的读取地址转换成预定值,或者,上述地址控制器输出校正信号,以便在存取空间在相邻的虚拟最小两维存储器空间上扩展的情况下根据读取存取模式校正与各个n个物理存储器中的高地址相对应的读取地址,或者,上述地址控制器输出校正信号,以便在指定读取地址时于存取空间跨越两维存储器空间的边缘(例如图15的两维存储器空间3中的存储区的边界)的情况下根据读取存取模式和可选模式校正各个n个物理存储器中的高地址;以及,与n个物理存储器相对应设置的n个地址校正部,它们用于根据来自地址控制器的地址转换信号将读取地址转换成预定值,以便将其输出给n个存储器中的每一个,并且,上述地址校正部根据来自地址控制器的校正信号来校正读取地址,以便将其输出给n个存储器中的每一个。
依照权利要求10的发明,提供了如权利要求8的两维数据存取存储器,其中,所述读取数据控制部包括:一数据控制器,它用于输出选择信号以便根据虚拟最小两维存储器空间中按指定的读取地址而指定的存取位置以及在读取数据时根据指定的读取存取模式和指定的可选模式(例如第二实施例中的填充模式)选择n个物理存储器中的读取数据;以及,与n个物理存储器相对应设置的n个选择器,它们用于从n个物理存储器中选择各个读出数据以便根据来自数据控制器的选择信号同时输出上述数据;并且,所述读取地址控制部包括:一地址控制器,它用于输出地址转换信号以便根据读取存取模式和读取地址将与各个n个物理存储器中的低地址相对应的读取地址转换成预定值,或者,上述地址控制器输出校正信号,以便在存取空间在相邻的虚拟最小两维存储器空间上扩展的情况下根据读取存取模式校正与各个n个物理存储器中的高地址相对应的读取地址,或者,上述地址控制器输出校正信号,以便在指定读取地址时于存取空间跨越存储在两维存储器空间内的数据的现有范围的边缘的情况下根据读取存取模式和可选模式校正各个n个物理存储器中的高地址和低地址;以及,与n个物理存储器相对应设置的n个地址校正部,它们用于根据来自地址控制器的地址转换信号将读取地址转换成预定值,以便将其输出给n个存储器中的每一个,并且,上述地址校正部根据来自地址控制器的校正信号来校正读取地址,以便将其输出给n个存储器中的每一个。
依照权利要求11的发明,提供了如权利要求6或权利要求7的两维数据存取存储器,该存储器还包括:一写入数据控制部,它用于指定虚拟最小两维存储器空间中的存取空间、根据指定从指定存取位置开始数据写入方向的写入存取模式重新排列写进n个物理存储器的数据并在写入数据时以集合的方式将重新排列的写入数据提供给n个物理存储器;以及,一写入地址控制部,它用于将指定的写入地址修改成预定的地址以便根据指定的写入存取模式和指定的存取位置或在指定写入地址时于存取空间在相邻虚拟最小两维存储器空间上扩展的情况下根据指定的写入存取模式将上述写入地址输出给n个物理存储器中的每一个。
还有,依照权利要求12的发明,提供了如权利要求5的两维数据存取存储器,其中,所述写入数据控制部包括:一数据控制器,它用于输出选择信号以便根据虚拟最小两维存储器空间中按指定的写入地址而指定的写入存取位置以及在写入数据时根据指定的写入存取模式选择写入n个物理存储器中的数据;以及,与n个物理存储器相对应设置的n个选择器,它们用于选择写入n个物理存储器中的各个数据以便根据来自数据控制器的选择信号同时输出上述数据;并且,所述读取地址控制部包括:一地址控制器,它用于输出地址转换信号以便根据写入存取模式和写入地址将与各个n个物理存储器中的低地址相对应的写入地址转换成预定值,或者,上述地址控制器输出校正信号,以便在指定写入地址时于存取空间在相邻的虚拟最小两维存储器空间上扩展的情况下校正与各个n个物理存储器中的高地址相对应的写入地址;以及,与n个物理存储器相对应设置的n个地址校正部,它们用于根据来自地址控制器的地址转换信号将写入地址转换成预定值,以便将其输出给n个存储器中的每一个,并且,上述地址校正部根据来自地址控制器的校正信号来校正写入地址,以便将其输出给n个存储器中的每一个。
利用依照如权利要求6至10的发明的结构,可从物理存储器中同时读出两维存储器空间内相对指定位置沿横向或纵向方向排列的连续数据,从而使SIMD操作更有效。
利用依照如权利要求11和12的发明的结构,可从物理存储器中同时读出两维存储器空间内相对指定位置沿横向或纵向方向排列的连续数据,并且,可将上述连续数据同时写进物理存储器,因此,可使上述数据在两维存储器空间内相对指定位置沿横向或纵向方向排列,从而使SIMD操作更有效。
利用依照如权利要求8至10的发明的结构,可更有效地执行用于估算移动画面的运动矢量的处理过程。
此外,为了达到本发明的第三个目的,依照权利要求13的发明,提供了一种操作处理设备,该设备包括:如权利要求6、权利要求7、权利要求11或权利要求12中任何一个的两维数据存取存储器;以及,一SIMD式处理器,它用于通过根据预定的计算操作和存取模式指定两维数据存取存储器中的地址而执行SIMD处理并从上述两维数据存取存储器中读取预定的数据。
依照权利要求14的发明,提供了如权利要求13的操作处理设备,其中,所述预定的操作是两维离散余弦变换。
此外,依照权利要求15的发明,提供了一种操作处理设备,该设备还包括:如权利要求8至10中任何一个的两维数据存取存储器;以及,一SIMD式处理器,它用于通过根据预定的计算操作和存取模式及可选模式指定两维数据存取存储器中的地址而执行SIMD处理并从上述两维数据存取存储器中读取预定的数据。
再有,依照权利要求16的发明,提供了如权利要求15的操作处理设备,其中,所述预定的操作是这样的操作处理,它涉及估算移动画面的运动矢量。
利用权利要求13和权利要求16的发明的结构,通过使用所述两维数据存取存储器可有效地执行SIMD操作。
附图简述
图1是示出了虚拟最小两维存储器空间的一个实例的图;
图2是示出了如何将虚拟最小两维存储器空间映射进物理存储器的图;
图3是示出了根据上述虚拟最小两维存储器空间形成的两维存储器空间的一个实例的图;
图4是用于说明存取模式的图;
图5是示出了本发明第一实施例的两维数据存取存储器的结构的框图;
图6是示出了图5所示的读取地址控制部和读取数据控制部的结构的框图;
图7是示出了图5所示的写入地址控制部和写入数据控制部的结构的框图;
图8是示出了各选择器根据读取地址和读取存取模式选择哪个存储器输出的图;
图9是示出了读取地址变换实例的图;
图10是示出了读取地址校正实例的图;
图11是示出了本发明第一实施例的操作处理设备的结构的框图;
图12是示出了图11所示的两维数据存取存储器的操作实例(写入实例)的图;
图13是示出了两维数据存取存储器的另一个操作实例的图;
图14是示出了两维数据存取存储器的又一个操作实例的图;
图15是示出了在经过两维存储器空间3的存储区时循环模式中涉及的地址的图;
图16是示出了循环模式中操作实例的图;
图17是示出了用于在循环模式下估算运动矢量的过程;
图18是示出了这样的状态的图,在该状态中,两维存储器空间3中的存储区的边界与填充模式下参照系的图像边界相一致;
图19是示出了交错模式下数据读取模式的一个实例的图;
图20是示出了交错模式下数据读取顺序的图;
图21是执行块匹配的数量与用于累积余数的阈值之间关系的曲线图;
图22是示出了本发明第二实施例的两维数据存取存储器的结构的框图;
图23是示出了读取地址控制部111和读取数据控制部112的详细结构的图;
图24是示出了地址校正值的图,所说的值在循环模式下指定行方向存取模式时用于高第三和随后的位;
图25是示出了地址校正值的图,所说的值在循环模式下指定列方向存取模式和列方向两级存取模式时用于高第三和随后的位;
图26是示出了各选择器在填充模式下选择哪个存储器输出的图;
图27是示出了各选择器在交错模式下选择哪个存储器输出的图;
图28是示出了交错模式下存储器4A至4D中用于低两位的地址a0、a1的图;
图29是示出了本发明第二实施例的操作处理设备的结构的图;
图30是示出了本发明第二实施例的操作处理设备中运动矢量估算过程的操作的流程图;
图31是示出了当前坐标系和参照系与检索对象范围及在检索对象范围内存储在两维数据存取存储器100中的区域的关系的图;
图32是示出了在将地址信号的最高有效位分配成存取模式或可选模式时的数据结构实例的图;
图33是示出了在如图32所示那样分配信号时的读取地址控制部和读取数据控制部的结构实例的框图。
优选实施例的详细描述(第一实施例)
以下参照附图说明本发明的使用存储器的方法的第一实施例。利用这一实施例的使用存储器的方法,如图1所示那样限定虚拟最小两维存储器空间1,以下首先对虚拟最小两维存储器空间1进行说明。
虚拟最小两维存储器空间1具有四个由最小单元构成的虚拟存储部件2,所述最小单元能存储一个字节(8位),而虚拟存储部件2则按纵向和横向之一排列,或者,虚拟最小两维存储器空间1具有总共16个虚拟存储部件2,如图1所示。因此,在本例中,虚拟最小两维存储器空间1由4字节×4字节=16字节构成。除如上所述的16字节以外,虚拟最小两维存储器空间1的长度还可以是8字节×8字节=64字节。
虚拟最小两维存储器空间1在物理上映射进四个物理存储器4A至4D,如图2所示。也就是说,一个虚拟最小两维存储器空间1对应于四个物理存储器4A至4D中的始于同一地址的四字节连续区域。具体地说,例如,如图1所示的虚拟最小两维存储器空间1中的每个地址an(0)、bn(0)、cn(0)、dn(0)……均被重新分配给物理存储器4A至4D中的预定地地an(0)、bn(0)、cn(0)、dn(0)……。
利用这一实施例的使用存储器的方法,提供了两维存储器空间3,如图3所示,以下对两维存储器空间3进行说明。
两维存储器空间3具有虚拟最小两维存储器空间1,它沿横向和纵向方向以类似铺瓷砖的方式排列,如图3所示。在这种两种存储器空间3中,只要是2的幂,就可以按需设定沿横向方向排列虚拟最小两维存储器空间1的数量,在图3的实例中,该数量是16字节×n字节。
以下参照图1至4说明上述实施例的使用存储器的方法。
首先,提供了两维存储器空间3,其中,图1所示的虚拟最小两维存储器空间1沿横向和纵向方向以类似铺瓷砖的方式排列,如图3所示。
一方面,虚拟最小两维存储器空间1的各个地址预先分配给(关联于)四个物理存储器4A至4D的每一个存储器中的预定地址,该预定地址是按与虚拟最小两维存储器空间1(见图1和2)的长度有关系的方式确定的。
以下说明从物理存储器4A至4D中的读取操作以便从虚拟最小两维存储器空间1内的任何地址处读出连续的数据。
在这种情况下,要指定任何的读取地址以及用于指定数据读取方向的读取存取模式。
所述读取存取模式包括行方向存取模式、列方向存取模式以及行方向两级存取模式。
行方向存取模式包括从虚拟最小两维存储器空间1的任何读取地址处沿行方向(横向方向)读出数据,诸如8位×4、16位×2、32位×1,如图4中M1所示,其中,可以认为有16种存取方式。
列方向存取模式包括从虚拟最小两维存储器空间1的任何读取地址处沿列方向(纵向方向)读出数据,诸如8位×4,如图4中M2所示,其中,可以认为有16种存取方式。
行方向两级存取模式包括从虚拟最小两维存储器空间1的任何读取地址处沿行方向按两级读出数据,诸如16位×2,如图4中M3所示,其中,可以认为有8种存取方式。在这种模式下,存取仅限于沿行方向的两字节单元。
通过这种方式,如果指定虚拟最小两维存储器空间1中的任何地址并且指定读取存取模式,则根据指定的读取地址和指定的读取存取模式来指定各物理存储器4A至4D中的各相应地址,从而,可读出数据并同时输出读出的数据。
例如,如果在虚拟最小两维存储器空间1中指定地址Cn(0)并且如图4中M3所示那样指定行方向两级存取模式,则在存储器4A中指定地址an(1)、在存储器4B中指定地址bn(1)、在存储器4C中指定地址cn(0)、在存储器4D中指定地址dn(0),从而,可同时读出各个数据。
以下说明在同时将数据写至虚拟最小两维存储器空间1的任何地址时写进物理存储器4A至4D的操作。
在这种情况下,指定任何的写地址,并且,指定用于指定数据写入方向的写入存取模式。因此,根据指定的写入地址和指定的写入存取模式来指定各物理存储器4A至4D中的各相应地址,从而,可写入数据并同时将写数据写入到各地址处。
例如,如果在虚拟最小两维存储器空间1中指定地址Cn(0)并且如图4中M3所示那样指定行方向两级存取模式,则在存储器4A中指定地址an(1)、在存储器4B中指定地址bn(1)、在存储器4C中指定地址cn(0)、在存储器4D中指定地址dn(0),从而,可写入数据并同时写入各个数据。
如上所述,利用上述实施例的使用存储器的方法,如果指定两维存储器3中任何的存取位置以及存取模式,则可根据指定的存取位置和指定的存取模式同时从各物理存储器4A至4D中读出相对两维存储器空间3中的任何存取位置沿横向或纵向方向的连续数据或者同时将该数据写进各物理存储器4A至4D。所以,上述实施例的使用存储器的方法使得SIMD有较高的效率。
以下参照图5至7说明本发明的两维数据存取存储器的结构。
上述实施例的两维数据存取存储器10实现了上述实施例的使用存储器的方法。如图5所示,存储器10包括存储器4A至4D、读取地址控制部11、读取数据控制部12、写入地址控制部13以及写入数据控制部14。读取地址控制部11和读取数据控制部12构成了数据读取系统,写入地址控制部13和写入数据控制部14构成了数据写入系统,其中,这两个系统共享存储器4A至4D。
提供有两维存储器空间3,其中,图1所示的虚拟最小两维存储器空间1按图3所示的纵向和横向排列,虚拟最小两维存储器空间1中的每个地址均按某种规则分配给各物理存储器4A至4D中的预定地址,如图2所示。
读取地址控制部11根据指定的读取存取模式将读取地址的预定部分转换成预定值以便将其输出给各物理存储器4A至4D,或者在指定读取地址时于存取空间在相邻虚拟最小两维存储器空间1(见图3和4)上扩展的情况下根据指定的读取存取模式校正读取地址的其它部分,以便将其输出给存储器4A至4D。
读取数据控制部12根据读取地址的一部分指定虚拟最小两维存储器空间1中的读取地址并在读取数据时根据指定的读取地址和指定的读取存取模式重新排列从存储器4A至4D读出的数据,以便同时输出重新排列的读出数据。
写入地址控制部13根据指定的写入存取模式将写入地址的预定部分转换成预定值以便将其输出给物理存储器4A至4D,或者在指定写入地址时于存取空间在相邻虚拟最小两维存储器空间1上扩展的情况下根据指定的写入存取模式校正写入地址的其它部分,以便将其输出给存储器4A至4D。
写入数据控制部14根据写入地址的一部分指定虚拟最小两维存储器空间1中的写入地址并在将数据写入存储器4A至4D时根据指定的写入地址和指定的写入存取模式重新排列写入存储器4A至4D的数据,以便同时将重新排列的写入数据写进各存储器4A至4D中各指定的地址。
以下参照图6说明图5所示的读取地址控制部11和读取数据控制部12的详细结构。
读取地址控制部11包括一地址控制器21以及四个地址校正部22A至22D,如图6所示。
地址控制器21将地址转换信号输出给地址校正部22A至22D,以便根据指定的读取地址A0、A1、A4、A5和指定的读取存取模式将与各存储器4A至4D中低两位的地址a0、a1相对应的读取地址A4、A5转换成预定值,或者将校正信号输出给地址校正部22A至22D,以便在存取空间在相邻虚拟最小两维存储器空间1上扩展的情况下根据指定的读取存取模式将与各存储器4A至4D中高五位地址a2至a7相对应的读取地址A2、A3、A6至A9校正成预定值。
这里,读取地址“A0、A1”表示虚拟最小两维存储器空间1的行方向(横向方向)上的地址,它与存储器4A至4D中的低地址a0、a1相对应。还有,读取地址“A4、A5”表示虚拟最小两维存储器空间1的列方向(纵向方向)上的地址。此外,读取地址“A2、A3、A6至A9”表示两维存储器空间3的地址,它与存储器4A至4D中的地址a2至a7相对应。
地址校正部22A至22D设置成与存储器4A至4D相对应并根据来自地址控制器21的地址转换信号将读取地址A4、A5转换成预定值以便将其作为低位地址a0、a1输出给各存储器4A至4D且根据来自地址控制器21的校正信号按预定的值校正读取地址A2、A3、A6至A9,以便将其作为高五位地址a2至a7输出给各存储器4A至4D。
读取数据控制部12包括一数据控制器23和四个选择器24A至24D,如图6所示。
数据控制器23在读取数据时根据指定的读取地址A0、A1、A4、A5指定虚拟最小两维存储器空间1中的读取地址并根据用于指定数据相对指定的读取地址的读取方向的读取存取模式将用于使选择器24A至24D选择存储器4A至4D中的读取数据的选择信号输出给选择器24A至24D。
选择器24A至24D设置成与存储器4A至4D相对应并根据来自数据控制器23的选择信号从存储器4A至4D中选择输出线路上的读取数据且同时将其输出(取出)。
以下参照图7说明图5所示的写入地址控制部13和写入数据控制部14的详细结构。
写入地址控制部13包括一地址控制器31以及四个地址校正部32A至32D,如图7所示。
地址控制器31将地址转换信号输出给地址校正部32A至32D,以便根据指定的写入地址A0、A1、A4、A5和指定的写入存取模式将与各存储器4A至4D中低两位的地址a0、a1相对应的写入地址A4、A5转换成预定值,或者将地址校正信号输出给地址校正部32A至32D,以便在存取空间在相邻虚拟最小两维存储器空间1上扩展的情况下根据指定的写入存取模式将与各存储器4A至4D中高五位地址a2至a7相对应的写入地址A2、A3、A6至A9校正成预定值。
这里,写入存取模式基本上与读取存取模式相同并且由三种存取模式构成。
地址校正部32A至32D设置成与存储器4A至4D相对应并根据来自地址控制器31的地址转换信号将写入地址A4、A5转换成预定值以便将其作为低位地址a0、a1输出给各存储器4A至4D且根据来自地址控制器31的校正信号将地址A2、A3、A6至A9校正成预定的值,以便将其作为高五位地址a2至a7输出给各存储器4A至4D。
写入数据控制部14包括一数据控制器33和四个选择器34A至34D,如图7所示。
数据控制器33在写入数据时根据指定的写入地址A0、A1、A4、A5指定虚拟最小两维存储器空间1中的写入地址并根据用于指定数据相对指定的写入地址的写入方向的写入存取模式将用于使选择器34A至34D选择存储器4A至4D中的写入数据的选择信号输出给选择器34A至34D。
选择器34A至34D设置成与存储器4A至4D相对应并同时根据来自数据控制器33的选择信号以八位单位从各存储器4A至4D中的各指定地址之外选择写入数据(例如32位)且同时将其输出(取出)。
以下参照图8至10说明上述实施例的两维数据存取存储器的操作。
首先,说明对数据的读取操作。在这种情况下,需要用地址控制器21和地址校正部22A至22D控制读取地址并用数据控制器23和选择器24A至24D控制读取的数据,首先说明数据控制器23。
图6所示的数据控制器23在读取数据时根据指定的读取地址A0、A1、A4、A5与指定虚拟最小两维存储器空间1中的读取地址并根据用于使选择器24A至24D按读取存取模式选择存储器4A至4D的选择信号输出给选择器24A至24D。
例如,在将读取地址“A0、A1”和“A4、A5”指定为“00”和“00”并且将行方向存取模式(00)指定为读取存取模式时,选择器24A选择存储器4A,选择器24B选择存储器4B,选择器24C选择存储器4C,选择器24D选择存储器4D,如图8中序号1所示。
例如,在将读取地址“A0、A1”和“A4、A5”指定为“00”和“00”并且将列方向存取模式(01)指定为读取存取模式时,选择器24A选择存储器4A,选择器24B选择存储器4C,选择器24C选择存储器4B,选择器24D选择存储器4D,如图8中序号17所示。
选择器24A至24D在读取数据时根据来自数据控制器23的信号将读出数据输出到各存储器4A至4D中的输出线路上。
例如,就图8中序号1而言,对各存储器4A至4D中输出线路上的各数据(例如8位)来说,在读取数据时,选择器24A输出存储器4A中的数据,选择器24B输出存储器4B中的数据,选择器24C输出存储器4C中的数据且选择器24D同时输出存储器4D中的数据。就图8中序号17而言,对各存储器4A至4D中输出线路上的各数据来说,在读取数据时,选择器24A输出存储器4A中的数据,选择器24B输出存储器4C中的数据,选择器24C输出存储器4B中的数据且选择器24D同时输出存储器4D中的数据。
一方面,地址控制器21将地址转换信号输出给地址校正部22A至22D,所述地址转换信号用于根据指定的读取地址A0、A1、A4、A5和指定的读取存取模式将与各存储器4A至4D中的低两位地址a0、a1相对应的读取地址A4、A5转换成预定的值。
例如,在将读取存取模式指定为行方向存取模式时,如果指定读取地址“A4、A5”,则不转换指定的读取地址“A4、A5”,如图9所示,因此,例如,在将读取地址“A4、A5”指定为“00”,则将“00”输出为用于存储器4A至4D的各地址“a0、a1”。
相反,在将读取存取模式指定为列方向存取模式或行方向两级存取模式时,如果指定了读取地址“A4、A5”,就转换指定的读取地址“A4、A5”,如图4所示。例如,在将读取存取模式指定为列方向存取模式时,就不转换存储器4A中的地址“a0、a1”,但是,如果将读取地址“A4、A5”指定为“00”,则将存储器4B、4C中的各地址分别转换成“01”、“10”和“11”并进行输出。
此外,地址控制器21在存取空间在相邻虚拟最小两维存储器空间1(见图3和4)上扩展的情况下根据指定的读取存取模式直接将指定的读取地址A2、A3、A6至A9输出为与各存储器4A至4D中的高五位地址d2至d7相对应的地址,或者输出用于校正指定读取地址A2、A3、A6至A9的校正信号,以便将校正后的地址作为各存储器4A至4D中的高五位地址d2至d7输出给地址校正部22A至22D。
例如,在将读取存取模式指定为行方向存取模式并且如图10中序号2所示将读取地址A0、A1、A4、A5指定为“1000”时,地址控制部21就将用于使存储器22A中的地址a2至a7加“+1”的校正信号输出给地址校正部22A。因此,“+1”或“+4”是指存储器22A中的地址加“+1”或“+4”,如图10所示。
以下说明写入数据的操作。在这种情况下,需要用地址控制器31和地址校正部32A至32D控制写入地址并用数据控制器33和选择器34A至34D控制读取的数据。
但是,用地址控制器31和地址校正部32A至32D控制写入地址的操作与地址控制器21和地址校正部22A至22D控制地址的操作几乎一样,故这里不予以说明。
数据控制器33在写入数据时根据指定的写入地址A0、A1、A4、A5指定虚拟最小两维存储器空间1中的写入地址并根据用于指定相对指定的写入地址的数据写入方向的写入存取模式将用于使选择器34A至34D选择存储器4A至4D的选择信号输出给选择器34A至34D。数据控制器33基本上与数据控制器23的操作相同。
选择器34A至34D根据来自数据控制器33的选择信号从外部选择写入数据并同时将其提供给各存储器4A至4D中的各指定地址。
如上所述,利用这一实施例的两维数据存取存储器,可以同时从物理存储器4A至4D中读出相对两维存储器空间内指定位置沿横向或纵向方向排列的连读数据,并且可同时将该数据写进物理存储器4A至4D,因此,所述数据可相对两维存储器空间内指定位置沿横向或纵向方向排列,从而使SIMD操作更有效。
以下参照图11说明本发明操作处理设备的结构。
这一实施例的操作处理设备能使SIMD式处理器41执行两维DCT(两维离散余弦变换),以便应用两维数据存取存储器10,如图5至7所示。
为此目的,这种操作处理设备具有与SIMD式处理器41相连的两维数据存取存储器10以及外部I/F电路42,如图11所示。
如以下将要说明的那样,SIMD41可根据预定操作过程指定用于在两维数据存取存储器10中读取或写入数据的地址,并且能用命令程序来设置存取模式。还有,外部I/F电路41可将数据传至外部或从外部接收数据。
以下说明本发明操作处理设备的操作实例。
首先,利用外部I/F电路42,将经过两维DCT的8×8象素数据写进两维数据存取存储器10,如图12所示。
SIMD式处理器41沿行方向执行一维DCT。所以,SIMD式处理器41沿列方向按偶数行和奇数行中的一对象素数据的方式读取两个象素数据,如图12所示,并且,通过SIMD操作同时转换两行的一维DCT。
将沿行方向的一维DCT结果重新写进两维数据存取存储器10,如图13所示。
此外,SIMD式处理器41沿列方向执行一维DCT。在这种情况下,沿行方向按偶数列和奇数列中的一对象素数据的方式读取两个象素数据,通过SIMD操作同时转换两列的一维DCT,并且,再次将其结果重新写进两维数据存取存储器10,如图13所示。从而,在两维数据存取存储器10中获得最后的两维DCT的结果,如图14所示。再次将这种结果通过外部I/F电路42输出给外部。
如上所述,利用这一实施例的操作处理器设备,可通过使用这一实施例的两维数据存取存储器而有效地执行SIMD操作。(第二实施例)
以下参照附图说明本发明的第二实施例。
利用这一实施例的使用存储器的方法,按与在第一实施例中相同的方式限定图1所示的虚拟两维存储器空间1,并考虑图3所示的两维存储器空间3。
以下说明这一实施例的使用存储器的方法。
首先,考虑两维存储器空间3,其中,图1所示的虚拟最小两维存储器空间1沿横向和纵向方向以类似铺瓷砖的方式排列,如图3所示。
一方面,虚拟最小两维存储器空间1的各个地址预先分配给(关联于)四个物理存储器4A至4D的每一个存储器中的预定地址,该预定地址是按与虚拟最小两维存储器空间1(见图1和2)的长度有关系的方式确定的。
以下说明在从虚拟最小两维存储器空间1内的任何地址处读出连续或预定不连续的数据时从物理存储器4A至4D中的读取操作。
在这种情况下,要指定任何的读取地址以及用于指定数据读取方向的读取存取模式。所述读取存取模式包括行方向存取模式、列方向存取模式以及行方向两级存取模式,它们与在第一实施例中的相同,此外,所述读取存取模式还包括交错模式。
而且,这一实施例中的使用存储器的方法提供了可选模式,它用于指示在估算移动画内的运动矢量时使用存储器的方法。
可选模式包括循环模式和填充模式。
以下说明各种可选模式和交错模式。
如图15所示,当在估算运动矢量过程中数据涉及到在两维存储器空间3的存储区上扩展时,循环模式允许有效地估算运动矢量。
也就是说,在估算运动矢量时,当前坐标系和暂时相邻的参照系的某个区域(见图16)存储在两维存储器空间3内。从存储在两维存储器空间3内的数据中对属于当前坐标看中通知的块的有最少错误的块(最接近的块)进行检索(块匹配)。这时,在循环模式中,在如以下将予以说明那样两维存储器空间3的业已被按一定的时间检索的区域中重写行方向上与当前存储在两维存储器空间内的参照系的数据相连续的数据即与两维存储器空间3的存储区的右侧相邻的数据。也就是说,就所涉及到数据而言,在两维存储器空间3中,循环地存储行方向上的相对参照系中两维存储器空间3的存储区连续的数据。
当被检索的区域(块)在两维存储器空间3中连续移动并且涉及到在两维存储器空间3中存储区的边界上经过的数据时,如果所涉及的数据超出两维存储器空间3中存储区的边界(右端),则校正所涉及的数据的地址,并且,在估算运动矢量涉及重写进两维存储器空间3内的预定地址处的数据(循环存储的预定数据)。因此,在循环模式中,用户不需要知道被检索的区域是否经过两维存储器空间3的边界,从而可有效地估算出运动矢量。
以下说明在循环模式下估算运动矢量的方法。
图17是示出了用于在循环模式下估算运动矢量的过程的流程图。
在图17中,如果指定循环模式并且开始运动矢量估算,则创建参照看中的被检索区,并且,初始化虚拟最小两维存储器空间3中的数据的读取地址(步骤S10)。
然后,通过引用来自预定地址的读取数据而进行块匹配(步骤S20),并且,判断对所有被检索区域的块匹配是否结束(步骤S30)。
在步骤S30中,如果对所有被检索区域的块匹配未结束,则判断对虚拟最小两维存储器空间1中的所有数据的块匹配是否结束(步骤S40)。
在步骤S40中,如果对虚拟最小两维存储器空间1中的所有数据的块匹配未结束,则更新虚拟最小两维存储器空间1中的读取地址(步骤S50),因为,不存在有对未经处理数据的块匹配,然后,处理过程返回步骤S20。
另一方面,在步骤S40中,如果对虚拟最小两维存储器空间1中的所有数据的块匹配结束,则重写新的参照数据(例如在参照系中相邻的行方向数据)(步骤S60),因为,对虚拟最小两维存储器空间1的块匹配已结束(即已处理),然后,处理过程返回步骤S50。
在步骤S30中,如果对所有被检索区域的块匹配结束,则运动矢量估算结束。
以下说明填充模式。
如图18所示,在两维存储器空间3中存储区的边界与估算运动矢量过程中的参照系的图像边界(例如图像的右端或下端)相重合时,填充模式是要适当地估算运动矢量。
在估算运动矢量时,被检索区(块)在两维存储器空间3中连续地移动。这时,两维存储器空间3中的存储区的边界与参照系的图像边界相重合(见图18),其中,即使涉及经过该存储区的边界的数据,超出存储区的边界(右端或下端)的数据基本上不存在。因此,在填充模式中,就超出存储区的边界(右端或下端)的数据而言,通过参照边界数据(即存储在两维存储器空间3的右端或下端的数据)而估算运动矢量。也就是说,就超出存储区的边界(右端或下端)的数据而言,在参照系和所涉及的图像边界周围的外部边缘中补充边界数据。因此,在填充模式中,即使在两维存储器空间3中存储区的边界与参照系的图像边界相重合时,也能适当地估算运动矢量。
尽管以上连同数据超出位于两维存储器空间3的右端或下端处的存储区的边界的实例说明了上述实施例,但是,本发明还可应用于这样的实例,在该实例中,数据超出位于两维存储器空间3的左端或上端处的存储区的边界。在这种情况下,将图25列出的校正值改变成用于涉及超出位于两维存储器空间3的左端或上端处的存储区的边界的数据的值,以便获得如上所述的同样效果。
以下说明交错模式。
交错模式输入为读取存取模式的一种,并且可在估算运动矢量进行快速块匹配,如图19所示。
也就是说,在估算运动模式时,参照系的暂时与当前坐标系相邻的某个区存储在两维存储器空间3内。在用于两维存储器空间3的虚拟最小两维存储器空间1内的4×4象素的数据中,读取位于第一和第三行及第一和第三列中的全部四个象素。对两维存储器空间3中的各虚拟最小两维存储器空间1进行上述处理过程。与此相似,在改变要在虚拟最小两维存储器空间1中读取象素数据地址时,重复上述过程,如图20所示。因此,可以执行对所有象素的块匹配,从而可正确地检索出有最少错误的块。
这里,在进行块匹配时,将在用于通知块的各象素数据与要涉及的各象素数据之间具有最少积累剩余量的块确定为最近似的块。还有,在交错模式下进行块匹配时,如图20所示那样进行四次块匹配,因此,可执行对所有象素数据的块匹配。这时,在交错模式下,创建用于与执行块匹配的次数相对应的累积剩余量的阈值,如图21所示,从而,如果包含在各块中的各象素数据的累积剩余量超过上述阈值,则停止对该块的块匹配,并前进至对下一个象素数据的块匹配。因此,由于不需要对所有象素的块匹配,故可对存储在两维存储器空间3中数据快速地进行块匹配。换句话说,可快速地估算运动失量。除图19和20所示的那些形式以外,读取用于块匹配的象素数据的形式还可以是始于任何地址的形式。
在图21中,阈值是比将原点(0)和d4连接起来的连线大的值的原因如下:在交错模式的块匹配过程中,当在图20A中进行读取时,剩余量例如超过上述连线的值,从而,可避免这样的情况,其中,按下述过程废弃掉有最小错误的块(即从块匹配的对象中排除掉除有最小错误的块以外的块)。
通过这种方式,如果指定虚拟最小两维存储器空间1中的任何读取地址并且指定读取存取模式和可选模式,则根据指定的读取地址、指定的读取存取模式和指定的可选模式来指定与各存储器4A至4D相对应的各地址,因此,可读出数据并且同时将读出的数据输出。
例如,在图15中,在虚拟最小两维存储器空间1中指定地址a03(2)并指定M3标明的行方向存取模式和循环模式。在这种情况下,在存储器4A中指定地址a03(2),在存储器4B中指定地址b04(2),在存储器4C中指定地址c03(2),在存储器4D中指定地址d03(2),从而能同时读取各地址。这时,地址处于两维存储器空间中的同一行内,并且,左端地址与存储器4B中的地址b04(2)相关联,通过访问两维存储器空间3中同一行内左端处的地址可以读取存储器4B中地址b04(2)处的数据。
例如,在图18中,在虚拟最小两维存储器空间1中指定地址d03(2)并指定M3标明的行方向存取模式和填充模式。在这种情况下,不从存储器4A和4B中读出数据,并且,在存储器4C中指定地址c03(2),在存储器4D中指定地址d03(2),从而能同时读取各地址。这时,就超出图像边界的部分而言,可读出边界数据即存储器4C中地址c03(2)处的数据。
例如,在图19中,在虚拟最小两维存储器空间1中指定地址an(2)并指定交错模式。在这种情况下,在存储器4A中指定地址an(2),在存储器4B中指定地址bn(2),在存储器4C中指定地址cn(0),在存储器4D中指定地址dn(2),从而能同时读取各地址。此外,在如图20所示那样进行块匹配时,通过指定预定的地址而读取各数据。
如上所述,利用这一实施例中的使用存储器的方法,当指定两维存储器空间3中的存取位置时,就指定读取存取模式和可选模式,根据指定执行用于估算运动矢量的过程(如在循环模式、填充模式或交错模式中所限定的那样)。就估算运动矢量而言,这一实施例中使用存储器的方法有助于更有效地进行SIMD操作。
以下参照图22和23说明本发明实施例软件两维数据存取存储器的结构。
这一实施例的两维数据存取存储器100实现了上述实施例中使用存储器的方法,并且,除表示可选模式的信号输入进读取地址控制部111和读取数据控制部112(见图22)以外,具有如第一实施例中两维数据存取存储器10那样的基本结构。因此,仅说明包括读取地址控制部111和读取数据控制部112在内的不同部分,并且,这里不对其它部分进行说明,其中,相同的标号属于先前实施例中两维数据存取存储器10的相同或类似部分。
读取地址控制部111根据指定的读取存取模式将读取地址的预定部分转换成预定值以便将其输出给存储器4A至4D,或者在指定读取地址时于存取空间在相邻虚拟最小两维存储器空间1上扩展的情况下(见图3和4)根据指定的读取存取模式校正读取地址的其它部分。
在循环模式被输出为可选模式的情况下,如果数据超出两维存储器空间3中存储区的边界(右端),则读取地址控制部111将数据的参照地址校正成循环存储的预定数据的地址,以便将其输出给存储器4A至4D。
在填充模式被输出为可选模式的情况下,在存储区的边界与参照系的边界部分相重合时,如果涉及经过两维数据存取存储器3中的存储区的边界的数据,则读取地址控制部111就会涉及存储区的边界处的数据的地址,以便将其输出给存储器4A至4D。
再有,在交错模式被输出为读取存取模式的情况下,读取地址控制部111将虚拟最小两维存储器空间1中所涉及的地址校正成预定参照样式(见图19)的地址,以便将其输出给存储器4A至4D。
读取数据控制部112在读取数据时根据读取地址的一部分指定虚拟最小两维存储器空间1中的读取地址,并且根据指定的读取地址和指定的读取存取模式及可选模式重新排列来自存储器4A至4D的读取数据,以便同时输出重新排列的读取数据。
以下参照图23说明图22所示的读取地址控制部11和读取数据控制部12的详细结构。
读取地址控制部111包括一地址控制器121以及四个地址校正部22A至22D,如图23所示。
地址控制器121将地址转换信号输出给地址校正部22A至22D,以便根据指定的读取地址A0至A9中的部分或全部和指定的读取存取模式及可选模式将与各存储器4A至4D中低两位的地址a0、a1相对应的读取地址A4、A5转换成预定值,或者将校正信号输出给地址校正部22A至22D,以便在存取空间在相邻虚拟最小两维存储器空间1上扩展的情况下根据指定的读取存取模式将与各存储器4A至4D中高五位地址a2至a7相对应的读取地址A2、A3、A6至A9校正成预定值,并且,将循环模式指定为可选模式。
地址校正部22A至22D的结构与图6所示的地址校正部22A至22D的结构相同,故这里不进行说明。
读取数据控制部112包括一数据控制器123和四个选择器24A至24D,如图6所示。
数据控制器23在读取数据时根据指定的读取地址A0至A9的一部分或全部指定虚拟最小两维存储器空间1中的读取地址并根据用于指定数据相对指定的读取地址的读取方向的读取存取模式和指定的可选模式将用于使选择器24A至24D选择存储器4A至4D中的读取数据的选择信号输出给选择器24A至24D。
选择器24A至24D的结构与图6所示的选择器24A至24D的结构相同,故这里不进行说明。
以下参照图24至28说明上述实施例的具有这种结构的两维数据存取存储器的操作。在这种情况下,需要用地址控制器121和地址校正部22A至22D控制读取地址并用数据控制器123和选择器24A至24D控制读取的数据。以下连同输入各可选模式的实例以及将交错模式输入为读取存取模式的实例说明地址控制和读取数据控制。
在将循环模式输入为可选模式时,如图23所示的数据控制器123根据指定的读取地址A0、A1、A4、A5指定虚拟最小两维存储器空间1中的读取地址并将用于使选择器24A至24D按读取存取模式选择存储器4A至4D的选择信号输出给选择器24A至24D。
图23所示的地址控制器121将地址转换信号输出给地址校正部22A至22D,所述地址转换信号用于根据指定的读取地址A0、A1、A4、A5和指定的读取存取模式将与各存储器4A至4D中低两位地址a0、a1相对应的读取地址转换成预定值。
如果涉及经过两维存储器空间3中的存储区的边界的数据,则地址控制器121将用于把数据的地址校正(转换)至预定数据的地址(即循环存储在两维存储器空间3内的数据的地址)的校正信号输出给地址校正部22A至22D。
例如,在将读取地址“A0、A1”和“A4、A5”指定为“00”和“00”并且将列方向存取模式(00)指定为读取存取模式时,作为校正值,地址校正部22A输出“-3”、 地址校正部22B输出“0”、地址校正部22C输出“0”、地址校正部22D输出“0”,如图24中序号2所示。
与此相似,在指定列方向存取模式或列方向两级存取模式的情况下,当两维存储器空间3如图15所示那样纵向方向地由n个字节构成时,将“-(n-4)”输出为校正值,该值用于在列方向上跨越边界的数据的地址。图25是示出了在指定列方向存取模式和列方向两级存取模式时高第三位之后的地址校正值以及以后的位的图。
这里,在用无符号2来表示读取地址A0至A9的情况下,如果数据在列方向上跨越两维存储器空间3的边界(下端),则读取地址返回至“0”。因此,在这种情况下,不需要提供如图25所示的带有内容的表。在行方向存取模式中,在数据跨越两维存储器空间3的边界(右端)时,读取地址不返回“0”,并且,需要提供如图24所示的带内容的表。
在将填充模式输出为可选模式时,图23所示的数据控制器123根据指定的读取地址A0、A1、A4、A5指定虚拟最小两维存储器空间1中的读取地址并且将用于使选择器24A至24D按读取存取模式选择存储器4A至4D的选择信号输出给选择器24A至24D。
例如,在将读取地址“A0、A1”和“A4、A5”指定为“10”和“00”并且将列方向存取模式(00)指定为读取存取模式时,选择器24A选择存储器4B、选择器24B选择存储器4C、选择器24C选择存储器4D、选择器24D选择存储器4D,如图26中序号2中所示。
图23所示的地址控制器121将地址转换信号输出给地址校正部22A至22D,所述地址转换信号用于根据指定的读取地址A0、A1、A4、A5和指定的读取存取模式将与各存储器4A至4D中低两位地址a0、a1相对应的读取地址A4、A5转换成预定值。
在将交错模式输出为读取存取模式时,图23所示的数据控制器123根据指定的读取地址A0、A1、A4、A5指定虚拟最小两维存储器空间1中的读取地址并且将用于使选择器24A至24D选择存储器4A至4D的选择信号输出给选择器24A至24D。
例如,在将读取地址“A0、A1”和“A4、A5”指定为“10”和“00”时,选择器24A选择存储器4B、选择器24B选择存储器4D、选择器24C选择存储器4A、选择器24D选择存储器4C,如图27中序号42中所示。
图23所示的地址控制器121将地址转换信号输出给地址校正部22A至22D,所述地址转换信号用于根据指定的读取地址A0、A1、A4、A5将与各存储器4A至4D中低两位地址a0、a1相对应的读取地址A4、A5转换成预定值。
例如,在将读取地址“A0、A1”和“A4、A5”指定为“10”和“00”时,地址校正部22A输出校正值,该值用于将各存储器4A至4D中的低两位地址a0、a1的地址校正成用于存储器4A的“01”、用于存储器4B的“00”、用于存储器4C的“01”、用于存储器4D的“00”。
如上所述,利用这一实施例的两维数据存取存储器,同时从物理存储器4A至4D中读出在交错模式下相对两维存储器空间中指定位置排列的不连续数据,从而能在估算运动矢量时进行块匹配。此外,在循环模式下,当涉及到经过两维存储器空间中存储区的边界的数据时,就会涉及用于参照系的校正地址处的数据。再有,在填充模式下,当数据超出参照系的边界时,就补充边界数据并涉及该数据。因此,可有效并适当地估算出运动矢量,并且,能在处理过程中执行有效的SIMD操作。
以下说明本发明实施例的操作处理设备的结构。
该实施例的操作处理设备能使SIMD式处理器41估算运动矢量,以便应用两维数据存取存储器100,如图22和23所示。
为此目的,这种操作处理设备具有与SIMD式处理器141相连的两维数据存取存储器100以及外部I/F电路142,如图29所示。
如以下将要说明的那样,SIMD141可根据预定操作过程指定用于在两维数据存取存储器100中读取或写入数据的地址,并且能用命令程序来设置存取模式。还有,外部I/F电路141可将数据传至外部或从外部接收数据。
以下说明上述实施例具有这种结构的操作处理设备的操作实例。图30是示出了上述实施例操作处理设备中用于估算运动矢量的操作的流程图。
在图30中,操作处理设备指定当前坐标系中用于估算运动矢量的块(步骤S101),并且参照该块的中心根据参照系确定检索的范围(步骤S102)。图31是示出了当前坐标系和参照系与检索范围的关系的图,其中,提供了在检索范围中存储在两维数据存取存储器100中的区域。
操作处理设备将检索范围(以下称为“本地区域”)的一部分读入两维数据存取存储器100(步骤S103),并且,判断本地区域是否完全包含在参照系内(即不超过边界)(步骤S104)。
在步骤S104中,如果本地区域不完全包含在参照系内,则操作处理设备判断本地区域在参照系外部的范围(外部范围)是否在三个象素内(步骤S105)。如果判断出本地区域在参照系外部的范围(外部范围)在三个象素内,则将可选模式设置成填充模式,并且,对外部范围进行块匹配,同时涉及边界数据(步骤S106)。操作处理设备的处理过程前进至步骤S109。
在步骤S105中,如果判断出本地区域在参照系外部的范围(外部范围)不在三个象素内,则操作处理设备将可选模式设置成缺省模式(即正常处理模式,其中,不构成循环模式和填充模式),并且,通过在另一过程中补充边界数据而对外部范围进行块匹配,因为,涉及到在填充模式中不能补充的范围(步骤S108)。操作处理设备的处理过程前进至步骤S109。
在步骤S104中,如果判断出本地区域完全包含在参照系中,则操作处理设备将可选模式设置成循环模式,将参照系中与本地区域相邻的数据重写到两维数据存取存储器100中业已涉及的存储区内,对跨越本地区域边界的数据进行块匹配,从而涉及预定的重写的数据(步骤S108)。操作处理设备的处理过程前进至步骤S109。
在步骤S106和S108之后,操作处理设备判断是否已检索了(进行块匹配)整个检索区域(步骤S109)。如果判断出尚未检索整个检索区域,则在后续软件检索范围内更新本地区域(步骤S110)。操作处理设备的处理过程返回至步骤S103。
在步骤S109中,如果判断出检索了整个检索区域,则操作处理设备因块匹配而根据参照系与带最少错误的块的位置关系估算运动矢量(步骤S111),并且判断对当前坐标系中的所有块来说是否都已估算了运动矢量(步骤S112)。
在步骤S112中,如果判断出对当前坐标系中的所有块来说尚未估算运动矢量,则更新用于在当前坐标系中估算运动矢量的块的位置(步骤S113),然后,处理过程返回至步骤S101。另一方面,在步骤S儿2中,如果判断出对当前坐标系中的所有块来说都已估算了运动矢量,则结束运动矢量估算。
如上所述,利用这一实施例的操作处理设备,可通过使用这一实施例的两维数据存取存储器有效且适当地估算出运动矢量,并且,可在处理过程中实现有效的SIMD操作。
如上所述,利用本发明第二实施例的两维数据存取存储器,可同时从物理存储器4A至4D中读出在交错模式下相对两维存储器空间中指定位置排列的不连续数据,从而能在估算运动矢量时进行块匹配。此外,在循环模式中,当涉及到经过两维存储器空间中存储区的边界的数据时,就会涉及用于参照系的校正地址处的数据。再有,在填充模式中,当数据超过参照系的边界时,就补充并可涉及边界数据。因此,可有效并适当地估算运动矢量,并且,可在处理过程中实现有效的SIMD操作。
再有,利用本发明第二实施例的两维数据存取存储器,可通过使用第二实施例的两维数据存取存储器有效且适当地估算出运动矢量,并且,可在处理过程中实现有效的SIMD操作。
在第一和第二实施例中,用于指定存取模式或可选模式的信号线输入为不同于地址信号的另一种信号(读取地址信号或写入地址信号)。但是,可连同地址信号一道输入用于指定存取模式或可选模式的信号线。例如,可将存取模式或可选模式分配给地址信号的最高有效位,如图32所示。图33是示出了在如图32那样分配信号时读取地址控制部和读取数据控制部的结构实例。
利用这种结构,在用两维数据存取存储器执行所述处理过程时,用户仅需在输入地址时输入存取模式或可选模式,因此,输入操作会更加简化。还有,由于两维数据存取存储器的结构较为简单,故可缩小循环范围并可提高集成度。
如上所述,本发明使用存储器的方法有助于更有效的SIMD操作。
再有,利用本发明的两维数据存取存储器,可同时从物理存储器中读出相对两维存储器空间中指定位置沿横向或纵向方向排列的连续数据或不连续数据,从而能实现有效的SIMD操作。
此外,利用本发明的两维数据存取存储器,可同时从物理存储器中读出相对两维存储器空间中指定位置沿横向或纵向方向排列的连续数据,并同时将该数据写进物理存储器,因此,可相对两维数据存取存储器中的指定位置沿横向或纵向连续地排列数据,从而能实现有效的SIMD操作。还有,两维数据存取存储器有助于更有效地估算移动画面的运动矢量。
再有,利用本发明的操作处理设备,可通过使用本发明的两维数据存取存储器而有效地进行SIMD操作。
Claims (16)
1、一种使用存储器的方法,该方法包括下列步骤:
包含有预定的两维存储器空间,它由预定的按两维方式形成的并沿纵向和横向方向排列的虚拟最小两维存储器空间构成;
将所述虚拟最小两维存储器空间的各个地址预先分配给n个物理存储器中按与所述虚拟最小两维存储器相关方式确定的每一个存储器内的预定地址;
在读取所述虚拟最小两维存储器中的数据时,指定所述虚拟最小两维存储器中的读取地址;以及
参照指定的读取地址将数据读取方向指定为数据的横向方向和纵向方向;
从而,根据指定的地址和指定的方向从n个物理存储器的每个存储器中的相应地址开始读取所述虚拟最小两维存储器中按横向或纵向方向排列的连续数据。
2、如权利要求1的使用存储器的方法,其特征在于,在将数据写进两维存储器空间时,在所述虚拟最小两维存储器空间中指定写地址,并且,参照指定的写地址将写入方向指定为数据的横向方向或纵向方向,从而,可根据指定的地址和指定的方向在n个物理存储器的每一个的相应地址处写要在所述虚拟最小两维存储器中沿横向或纵向方向连续写的连续数据。
3、一种使用存储器的方法,该方法包括下列步骤:
包含有预定的两维存储器空间,它由预定的按两维方式形成的并沿纵向和横向方向排列的虚拟最小两维存储器空间构成;
将所述虚拟最小两维存储器空间的各个地址预先分配给n个物理存储器中按与所述虚拟最小两维存储器相关方式确定的每一个存储器内的预定地址;
在读取所述两维存储器中的数据时,指定所述虚拟最小两维存储器中的读取地址;以及,
参照指定的读取地址指定预定的读取方式;
从而,根据指定的地址和指定的方式从n个物理存储器的每个存储器中的相应地址开始读取所述虚拟最小两维存储器中的预定数据。
4、如权利要求1或3的使用存储器的方法,其特征在于,将估算移动画面的运动矢量时的参照数据的一部分存储在两维存储器空间内,并且,当读取两维存储器空间中的数据时,还指定在估算运动矢量时读取数据的读取模式,从而,将随后的参照数据连续地写进虚拟最小两维存储器空间,其中,业已在估算运动矢量时读取了数据,或者,通过将数据的读取地址修改成虚拟最小两维存储器空间中的预定地址而读取数据,其中,依照读取地址、是如权利要求1的横向或纵向方向的数据读取方向或如权利要求3的读取方式,如果数据跨越了两维存储器空间的边缘,则写入后续的参照数据。
5、如权利要求1或3的使用存储器的方法,其特征在于,将估算移动画面的运动矢量时的参照数据的一部分存储在两维存储器空间内,并且,当读取两维存储器空间中的数据时,还指定在估算运动矢量时预定数据的读取模式,从而,依照读取地址、是如权利要求1的横向或纵向方向的数据读取方向或如权利要求3的读取方式以及数据读取模式,如果数据跨越了参照数据现有范围的边缘,则通过将不包含在参照数据现有范围内的数据读取地址修改成位于参照数据现有范围的边缘处的预定数据的地址而读取数据。
6、一种具有n个物理存储器的两维数据存取存储器,它包含两维存储器空间,该空间由预定的按两维方式形成的并沿纵向和横向方向排列的虚拟最小两维存储器空间构成,分别按某种规则预先分配虚拟最小两维存储器空间的各个地址,所述两维数据存取存储器包括:
一读取数据控制部,它用于指定虚拟最小两维存储器空间中的存取位置、根据用于从指定存取位置读取数据的读取方向和用于指定方式的读取存取模式重新排列从n个物理存储器中读出的数据,并在读取两维存储器空间中的数据时以集合的方式输出重新排列了的读出数据;以及,
一读取地址控制部,它用于将指定的读取地址修改成预定的地址并根据指定的读取存取模式和指定的存取位置或者在当指定读取地址时存取空间于相邻虚拟最小两维存储器空间上延伸的情况下根据指定的读取模式将其输出给上述n个存储器。
7、如权利要求6的两维数据存取存储器,其特征在于,所述读取数据控制部包括:一数据控制器,它用于输出选择信号以便根据虚拟最小两维存储器空间中按指定的读取地址而指定的存取位置以及在读取数据时根据指定的读取存取模式选择n个物理存储器中的读取数据;以及,与n个物理存储器相对应设置的n个选择器,它们用于从n个物理存储器中选择各个读出数据以便根据来自数据控制器的选择信号同时输出上述数据;并且,所述读取地址控制部包括:一地址控制器,它用于输出地址转换信号以便根据读取存取模式和读取地址将与各个n个物理存储器中的低地址相对应的读取地址转换成预定值,或者,上述地址控制器输出校正信号,以便在指定读取地址时,如果存取空间在相邻的虚拟最小两维存储器空间上扩展,则根据读取存取模式校正与各个n个物理存储器中的高地址相对应的读取地址;以及,与n个物理存储器相对应设置的n个地址校正部,它们用于根据来自地址控制器的地址转换信号将读取地址转换成预定值,以便将其输出给n个存储器中的每一个,并且,上述地址校正部根据来自地址控制器的校正信号来校正读取地址,以便将其输出给n个存储器中的每一个。
8、如权利要求6的两维数据存取存储器,其特征在于,所述读取数据控制部根据用于指定估算运动矢量时数据读取模式的可选模式还有指定的读取存取模式和指定的存取位置重新排列从n个物理存储器中读出的数据,并以集合的方式输出重新排列的读出数据,而且,所述读取地址控制部将指定的读取地址修改成预定的地址,以便根据指定的读取存取模式和指定的存取位置或在存取空间在相邻虚拟最小两维存储器空间上扩展的情况下根据指定的读取存取模式或在指定读取地址时存取空间跨越两维存储器空间的边缘的情况下根据指定的读取存取模式将上述预定地址输出给n个物理存储器。
9、如权利要求8的两维数据存取存储器,其特征在于,所述读取数据控制部包括:一数据控制器,它用于输出选择信号以便根据虚拟最小两维存储器空间中按指定的读取地址而指定的存取位置以及在读取数据时根据指定的读取存取模式和指定的可选模式选择n个物理存储器中的读取数据;以及,与n个物理存储器相对应设置的n个选择器,它们用于从n个物理存储器中选择各个读出数据以便根据来自数据控制器的选择信号同时输出上述数据;并且,所述读取地址控制部包括:一地址控制器,它用于输出地址转换信号以便根据读取存取模式和读取地址将与各个n个物理存储器中的低地址相对应的读取地址转换成预定值,或者,上述地址控制器输出校正信号,以便在存取空间在相邻的虚拟最小两维存储器空间上扩展的情况下根据读取存取模式校正与各个n个物理存储器中的高地址相对应的读取地址,或者,上述地址控制器输出校正信号,以便在指定读取地址时于存取空间跨越两维存储器空间的边缘的情况下根据读取存取模式和可选模式校正各个n个物理存储器中的高地址;以及,与n个物理存储器相对应设置的n个地址校正部,它们用于根据来自地址控制器的地址转换信号将读取地址转换成预定值,以便将其输出给n个存储器中的每一个,并且,上述地址校正部根据来自地址控制器的校正信号来校正读取地址,以便将其输出给n个存储器中的每一个。
10、如权利要求8的两维数据存取存储器,其特征在于,所述读取数据控制部包括:一数据控制器,它用于输出选择信号以便根据虚拟最小两维存储器空间中按指定的读取地址而指定的存取位置以及在读取数据时根据指定的读取存取模式和指定的可选模式选择n个物理存储器中的读取数据;以及,与n个物理存储器相对应设置的n个选择器,它们用于从n个物理存储器中选择各个读出数据以便根据来自数据控制器的选择信号同时输出上述数据;并且,所述读取地址控制部包括:一地址控制器,它用于输出地址转换信号以便根据读取存取模式和读取地址将与各个n个物理存储器中的低地址相对应的读取地址转换成预定值,或者,上述地址控制器输出校正信号,以便在存取空间在相邻的虚拟最小两维存储器空间上扩展的情况下根据读取存取模式校正与各个n个物理存储器中的高地址相对应的读取地址,或者,上述地址控制器输出校正信号,以便在指定读取地址时于存取空间跨越存储在两维存储器空间内的数据的现有范围的边缘的情况下根据读取存取模式和可选模式校正各个n个物理存储器中的高地址和低地址;以及,与n个物理存储器相对应设置的n个地址校正部,它们用于根据来自地址控制器的地址转换信号将读取地址转换成预定值,以便将其输出给n个存储器中的每一个,并且,上述地址校正部根据来自地址控制器的校正信号来校正读取地址,以便将其输出给n个存储器中的每一个。
11、如权利要求6或7的两维数据存取存储器,其特征在于,该存储器还包括:一写入数据控制部,它用于指定虚拟最小两维存储器空间中的存取空间、根据指定从指定存取位置开始数据写入方向的写入存取模式重新排列写进n个物理存储器的数据并在写入数据时以集合的方式将重新排列的写入数据提供给n个物理存储器;以及,一写入地址控制部,它用于将指定的写入地址修改成预定的地址以便根据指定的写入存取模式和指定的存取位置或在指定写入地址时于存取空间在相邻虚拟最小两维存储器空间上扩展的情况下根据指定的写入存取模式将上述写入地址输出结n个物理存储器中的每一个。
12、如权利要求11的两维数据存取存储器,其特征在于,所述写入数据控制部包括:一数据控制器,它用于输出选择信号以便根据虚拟最小两维存储器空间中按指定的写入地址而指定的写入存取位置以及在写入数据时根据指定的写入存取模式选择写入n个物理存储器中的数据;以及,与n个物理存储器相对应设置的n个选择器,它们用于选择写入n个物理存储器中的各个数据以便根据来自数据控制器的选择信号同时输出上述数据;并且,所述读取地址控制部包括:一地址控制器,它用于输出地址转换信号以便根据写入存取模式和写入地址将与各个n个物理存储器中的低地址相对应的写入地址转换成预定值,或者,上述地址控制器输出校正信号,以便在指定写入地址时于存取空间在相邻的虚拟最小两维存储器空间上扩展的情况下校正与各个n个物理存储器中的高地址相对应的写入地址;以及,与n个物理存储器相对应设置的n个地址校正部,它们用于根据来自地址控制器的地址转换信号将写入地址转换成预定值,以便将其输出给n个存储器中的每一个,并且,上述地址校正部根据来自地址控制器的校正信号来校正写入地址,以便将其输出给n个存储器中的每一个。
13、一种操作处理设备,该设备包括:
如权利要求6、7、11和12中任何一个的两维数据存取存储器;以及,
一SIMD式处理器,它用于通过根据预定的计算操作和存取模式指定两维数据存取存储器中的地址而执行SIMD处理并从上述两维数据存取存储器中读取预定的数据。
14、如权利要求13的操作处理设备,其特征在于,所述预定的操作是两维离散余弦变换。
15、一种操作处理设备,该设备还包括:
如权利要求8至10中任何一个的两维数据存取存储器;以及,
一SIMD式处理器,它用于通过根据预定的计算操作和存取模式及可选模式指定两维数据存取存储器中的地址而执行SIMD处理并从上述两维数据存取存储器中读取预定的数据。
16、如权利要求15的操作处理设备,其特征在于,所述预定的操作是这样的操作处理,它涉及估算移动画面的运动矢量。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000355945 | 2000-11-22 | ||
JP355945/2000 | 2000-11-22 | ||
JP355945/00 | 2000-11-22 | ||
JP97520/01 | 2001-03-29 | ||
JP2001097520A JP3931577B2 (ja) | 2000-11-22 | 2001-03-29 | メモリの使用方法、及び演算処理装置 |
JP97520/2001 | 2001-03-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1354480A true CN1354480A (zh) | 2002-06-19 |
CN1197082C CN1197082C (zh) | 2005-04-13 |
Family
ID=26604453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011393432A Expired - Fee Related CN1197082C (zh) | 2000-11-22 | 2001-11-21 | 使用存储器的方法、两维数据存取存储器以及操作处理设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6941443B2 (zh) |
JP (1) | JP3931577B2 (zh) |
CN (1) | CN1197082C (zh) |
TW (1) | TW529032B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989410B (zh) * | 2009-07-30 | 2012-07-25 | 福州瑞芯微电子有限公司 | 一种mcu接口lcd的显示方法 |
CN106023869A (zh) * | 2015-03-27 | 2016-10-12 | 精工爱普生株式会社 | 存储装置、显示驱动器、电光装置以及电子设备 |
CN114385545A (zh) * | 2020-10-20 | 2022-04-22 | 美光科技公司 | 针对可编程原子操作的存储器存取边界检查 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003280982A (ja) * | 2002-03-20 | 2003-10-03 | Seiko Epson Corp | 多次元メモリのデータ転送装置及び多次元メモリのデータ転送プログラム、並びに多次元メモリのデータ転送方法 |
JP3659252B2 (ja) | 2003-03-28 | 2005-06-15 | セイコーエプソン株式会社 | ベクトルデータのアドレス参照方法およびベクトルプロセッサ |
JP2005100262A (ja) * | 2003-09-26 | 2005-04-14 | Seiko Epson Corp | メモリ管理装置およびメモリ管理プログラム、並びにメモリ管理方法 |
US8018926B2 (en) * | 2005-03-30 | 2011-09-13 | Jing Ling | Differential delay compensation |
US8253751B2 (en) | 2005-06-30 | 2012-08-28 | Intel Corporation | Memory controller interface for micro-tiled memory access |
US7730463B2 (en) * | 2006-02-21 | 2010-06-01 | International Business Machines Corporation | Efficient generation of SIMD code in presence of multi-threading and other false sharing conditions and in machines having memory protection support |
EP2045722A4 (en) * | 2006-07-20 | 2010-07-21 | Nec Corp | MEMORY ACCESS CONTROL DEVICE, MEMORY ACCESS CONTROL METHOD, DATA STORAGE METHOD, AND MEMORY ACCESS CONTROL PROGRAM |
JP5018074B2 (ja) * | 2006-12-22 | 2012-09-05 | 富士通セミコンダクター株式会社 | メモリ装置,メモリコントローラ及びメモリシステム |
US8878860B2 (en) * | 2006-12-28 | 2014-11-04 | Intel Corporation | Accessing memory using multi-tiling |
US8120989B2 (en) * | 2007-06-25 | 2012-02-21 | Qualcomm Incorporated | Concurrent multiple-dimension word-addressable memory architecture |
US7995409B2 (en) * | 2007-10-16 | 2011-08-09 | S. Aqua Semiconductor, Llc | Memory with independent access and precharge |
US8587598B2 (en) | 2009-10-29 | 2013-11-19 | Mediatek Inc. | Memory address mapping method for controlling storage of images in memory device and memory address mapping circuit thereof |
US9240021B2 (en) * | 2010-11-04 | 2016-01-19 | Digimarc Corporation | Smartphone-based methods and systems |
US9183014B2 (en) | 2011-02-16 | 2015-11-10 | Intel Corporation | Enabling virtual calls in a SIMD environment |
US9311639B2 (en) | 2014-02-11 | 2016-04-12 | Digimarc Corporation | Methods, apparatus and arrangements for device to device communication |
WO2023004620A1 (zh) * | 2021-07-28 | 2023-02-02 | 华为技术有限公司 | 一种数据读取装置及相关方法 |
CN113886286B (zh) * | 2021-12-02 | 2022-03-01 | 南京芯驰半导体科技有限公司 | 一种兼容二维结构数据读写系统及方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63163645A (ja) * | 1986-12-26 | 1988-07-07 | Ricoh Co Ltd | 二次元配列メモリ装置 |
US4935880A (en) * | 1987-12-24 | 1990-06-19 | Digital Equipment Corporation | Method of tiling a figure in graphics rendering system |
JP3277377B2 (ja) | 1991-06-21 | 2002-04-22 | ソニー株式会社 | ビデオ信号用プロセッサ |
JPH06216882A (ja) * | 1993-01-19 | 1994-08-05 | Matsushita Electric Ind Co Ltd | 誤り訂正送信装置及び受信装置 |
JPH06314241A (ja) * | 1993-03-04 | 1994-11-08 | Sharp Corp | 高速半導体記憶装置及び高速連想記憶装置 |
EP0771463B1 (de) * | 1994-07-13 | 1998-07-01 | Océ Printing Systems GmbH | Verfahren und vorrichtung zum speichern und drehen von bitmustern |
US5638533A (en) * | 1995-10-12 | 1997-06-10 | Lsi Logic Corporation | Method and apparatus for providing data to a parallel processing array |
JP3096020B2 (ja) * | 1997-12-16 | 2000-10-10 | 日本放送協会 | 送信装置および受信装置 |
JP2000069478A (ja) | 1998-08-18 | 2000-03-03 | Canon Inc | 画像処理装置及び方法並びに記憶媒体 |
-
2001
- 2001-03-29 JP JP2001097520A patent/JP3931577B2/ja not_active Expired - Fee Related
- 2001-10-30 US US09/984,439 patent/US6941443B2/en not_active Expired - Fee Related
- 2001-11-06 TW TW90127561A patent/TW529032B/zh not_active IP Right Cessation
- 2001-11-21 CN CNB011393432A patent/CN1197082C/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989410B (zh) * | 2009-07-30 | 2012-07-25 | 福州瑞芯微电子有限公司 | 一种mcu接口lcd的显示方法 |
CN106023869A (zh) * | 2015-03-27 | 2016-10-12 | 精工爱普生株式会社 | 存储装置、显示驱动器、电光装置以及电子设备 |
CN114385545A (zh) * | 2020-10-20 | 2022-04-22 | 美光科技公司 | 针对可编程原子操作的存储器存取边界检查 |
CN114385545B (zh) * | 2020-10-20 | 2023-03-14 | 美光科技公司 | 针对可编程原子操作的存储器存取边界检查 |
US11734173B2 (en) | 2020-10-20 | 2023-08-22 | Micron Technology, Inc. | Memory access bounds checking for a programmable atomic operator |
Also Published As
Publication number | Publication date |
---|---|
CN1197082C (zh) | 2005-04-13 |
TW529032B (en) | 2003-04-21 |
US6941443B2 (en) | 2005-09-06 |
US20020083292A1 (en) | 2002-06-27 |
JP3931577B2 (ja) | 2007-06-20 |
JP2002222117A (ja) | 2002-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1197082C (zh) | 使用存储器的方法、两维数据存取存储器以及操作处理设备 | |
CN1315057C (zh) | 重映射闪速存储器的方法 | |
CN1162788C (zh) | 可换存储媒体和控制方法及计算机系统 | |
CN1083595C (zh) | 电子蒙太奇生成装置 | |
CN1662068A (zh) | 动态图像编码装置及动态图像处理装置 | |
CN1099655C (zh) | 图像绘制装置及图像绘制方法 | |
CN1586063A (zh) | 流数据处理器、流数据处理方法、程序和媒体 | |
CN1101737A (zh) | 数字图象处理方法及装置 | |
CN1613057A (zh) | Gui应用程序开发支持装置、gui显示装置、方法和计算机程序 | |
CN1684058A (zh) | 处理器 | |
CN1806447A (zh) | 图像编码装置、图像解码装置、图像编码方法、图像解码方法、图像编码程序、图像解码程序、记录图像编码程序的记录媒体、记录图像解码程序的记录媒体 | |
CN101078999A (zh) | 一种实现数据备份和恢复的方法及系统 | |
CN101065725A (zh) | 命令供给装置 | |
CN1848097A (zh) | 存储器地址生成装置以及具有它的处理器、存储器地址生成方法 | |
CN1127856C (zh) | 活动图像合成装置 | |
CN101031884A (zh) | 处理器 | |
CN101038676A (zh) | 图像处理装置和图像处理方法 | |
CN101048739A (zh) | 多处理器系统、同步控制装置及同步控制方法 | |
CN1956005A (zh) | 数据存取装置和方法 | |
CN1222738A (zh) | 具有多个存储体的半导体存储器 | |
CN1144159C (zh) | 用在分层编码中的存储设备以及写入和/或读出方法 | |
CN1734415A (zh) | 分枝预测装置及分枝预测方法 | |
CN1924761A (zh) | 数据处理装置、程序、记录介质和内容回放装置 | |
CN101038664A (zh) | 图像处理设备和图像处理方法 | |
CN1918917A (zh) | 视频编码方法及装置、视频解码方法及装置、它们的程序及记录这些程序的记录媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050413 Termination date: 20131121 |