CN102804150B - 数据处理装置、数据处理方法及数据共享系统 - Google Patents
数据处理装置、数据处理方法及数据共享系统 Download PDFInfo
- Publication number
- CN102804150B CN102804150B CN201280000661.3A CN201280000661A CN102804150B CN 102804150 B CN102804150 B CN 102804150B CN 201280000661 A CN201280000661 A CN 201280000661A CN 102804150 B CN102804150 B CN 102804150B
- Authority
- CN
- China
- Prior art keywords
- address
- configuration mode
- data
- access
- storer
- 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.)
- Active
Links
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Image Input (AREA)
Abstract
本发明提供一种数据处理装置,使减少在存储器的同一存储单元中利用彼此不同的行地址指定的区域中进行连续的数据的存取的频次,实现效率良好的存储器存取。数据处理装置(10)分别使用第1配置模式、第2配置模式对同一内容的数据(21)及数据(22)进行映射,并存储在构成存储器(20)的不同的存储器区域中,在读出数据的一部分时,由选定单元(21)根据基于各种配置模式的该部分数据所涉及的地址范围来选定存取效率良好的配置模式,与存取控制单元(13)在与该配置模式对应的存储器区域中进行存取。其中,数据(21)被配置在关于在对应于同一存储单元同一行地址的与块的边界地址对应的相对位置方面与数据(22)不同的位置。
Description
技术领域
本发明涉及对动态图像、静态图像等数据进行处理的数据处理装置,尤其涉及存储器的存取效率的改善。
背景技术
以存储器的大容量化和处理器的处理性能的提高为背景,近年来在图像处理中处理的图像达到了高析像度,例如也增加了处理水平1920像素×垂直1080像素的HD(HighDefinition:高清晰)动态图像的应用软件,从现在到未来将要处理水平4000像素×垂直2000像素前后的所谓4K2K的图像动态及其以上的像素数的动态图像。
这种高析像度的图像处理是高负荷的处理,因而以在多处理器系统中使各个处理器并行进行处理的方法为代表的用于提高图像处理性能的各种方法得到应用和开发。在这种方法中也有关注于提高存储器存取效率的方法。
例如,过去已经公知这样的技术(例如,参照专利文献1),在多处理器系统中利用如下方式来实现存储器利用效率的提高,即各个处理器选择在处理器之间共享的数据中本处理器所需要的数据,并复制到本处理器专用存储器中。
可是,通常图像处理应用软件进行将图像数据存储在SDRAM(SynchronousDRAM:同步动态内存)中,并依次读出构成图像的各个像素数据进行显示等处理。
其中,根据行地址和列地址的指定,能够在构成SDRAM的各个存储单元中进行存取。虽然利用脉冲串传输功能来指定同一存储单元的同一行地址,能够对利用各个列地址指定的存储器区域的各个数据进行连续存取,但是在需要连续向同一存储单元的不同的行地址进行存取的情况下,对于随时所需要的所谓预充电命令和激活命令,存在必须等待固定期间再发行各个命令的安全间隔制约,因而存储器存取效率下降。
另外,即使是采用上述的专利文献1记载的技术,只不过是将数据分别复制到多个SDRAM中,因而不能防止由于对各个SDRAM的连续存取而造成的诸如上述的存储器存取效率的下降。
作为防止这种存储器存取效率的下降的技术,已经公知这样的技术(例如,参照专利文献2),对多个SDRAM分配由呈二维配置的多个描画块构成的帧缓存区域,尤其对相邻的描画块分配不同的SDRAM。
现有技术文献
专利文献
专利文献1:日本国际公开2009/116279号小册子
专利文献2:日本特开2005-196485号公报
发明概要
发明要解决的问题
但是,例如在图像处理即H.264/MPEGAVC的MPEG编码处理的过程中的所谓动态查询(动态补偿)处理中,需要按照每个宏块或者每个子宏块逐次读出帧图像中的各个位置的部分图像进行处理,这种向任意位置的部分图像的连续存取不一定是针对相邻的描画块的存取,因而上述的专利文献2记载的技术不能应对,针对在同一存储单元中利用不同的行地址指定的存储器区域能够进行存取,因而导致存储器存取效率的下降。另外,这种由于向在存储器的同一存储单元中利用不同的行地址指定的各个存储器区域连续进行存取而产生的问题,不一定仅仅是与图像数据相关的处理的问题。
发明内容
本发明正是鉴于上述问题而提出的,其目的在于,提供一种数据处理装置以及与该装置相关联的技术,在对图像或者字符等其它数据进行处理的过程中,具体地讲,例如在对图像中的任意的各个位置的各部分图像逐次进行存取的过程中、或者对字符串中的任意的各个位置的各个字符逐次进行存取的过程等中,能够实现效率良好的存储器存取,使得减少作为连续存取的对象的各个存储器区域成为在存储器的同一存储单元中利用彼此不同的行地址指定的区域的频次。
用于解决问题的手段
为了解决上述问题,本发明的数据处理装置对被存储于由可连续存取的多个块构成的存储器中的处理对象数据进行存取,其特征在于,该数据处理装置具有:映射单元,使用第1及第2配置模式确定用于将所述处理对象数据分别配置在存储器的多个区域中的地址;选定单元,在读出处理对象数据中的部分数据时,根据基于各种配置模式的该部分数据所涉及的地址范围,选定对该部分数据的存取效率良好的配置模式;以及存取控制单元,以如下方式进行控制,即在所述存储器中的根据所述选定单元选定的配置模式而对应的存储器的区域中进行存取,由此实现对所述部分数据的存取,所述存储器在与所述映射单元按照所述第1及第2配置模式分别确定的各个地址相对应的各个存储器区域中、分别记录了作为相同内容的处理对象数据,所述第2配置模式将该处理对象数据的地址确定在关于在地址空间中的相对于所述块的边界地址的相对位置的方面与按照所述第1配置模式来配置该处理对象数据的地址不同的位置。
发明效果
根据上述的结构,本发明的数据处理装置每当从分别按照两种配置模式配置了相同数据的各个存储器区域中读出数据的一部分数据时,通过选择存取效率良好的存储器区域进行存取,能够实现整体上的存储器存取效率的提高。
附图说明
图1是本发明的实施方式的数据共享装置100的功能框图。
图2是存取管理部的功能框图。
图3是表示针对存储器1000的基于第1配置模式的地址映射的图。
图4是表示描画块的结构的图。
图5是表示针对存储器2000的基于第2配置模式的地址映射的图。
图6是表示数据共享装置100的计算机的动作的流程图。
图7是表示从其它计算机接收到存取请求的计算机的动作的流程图。
图8是表示选定处理的流程图。
图9是针对存储器2000的控制信号等的时序图。
图10是假设向存储器1000进行存取时的时序图。
图11是具有3台计算机的数据共享装置的功能框图。
图12是表示配置模式的变形的图。
图13是数据处理装置的功能框图。
图14是数据共享装置的功能框图。
具体实施方式
<实施方式>
下面,对本发明的一个实施方式的数据共享装置100进行说明。
<整体概况>
数据共享装置100是由多处理器(此处为两个处理器)构成的、在H.264/MPEGAVC的MPEG编码处理中使用的装置。
在MPEG编码处理的过程中,将通过拍摄得到的HD(HighDefinition)动态图像的各帧图像、即由水平1920像素和垂直1080像素构成的二维图像的数据逐次存储在存储器中,针对处理对象的帧图像中的各个部分图像(宏块、子宏块等)分别读出参照用的帧图像中的各个位置的部分图像,并进行用于搜索相似内容的部分的所谓动态查询(动态补偿)。
在该数据共享装置100中,根据有关与可连续存取的存储器单位相对应的地址空间中的描画块(在后面详细说明)的地址边界的关系,以在彼此不同的两个位置的存储器区域中配置帧图像的方式进行地址映射,每当需要读出帧图像中的任意位置的部分图像时,按照该部分图像的位置,并根据进行地址映射得到的两个地址范围,选择存储器存取效率良好的存储器区域进行存取。
<存储器存取控制>
首先,对作为数据共享装置100的特征的存储器存取控制进行简单说明。
数据共享装置100(参照图1)中的存储器1000和存储器2000是分别与两个处理器210和310连接的SDRAM(SynchronousDRAM)组,由两个SDRAM(存储器0、存储器1)构成。这些SDRAM是4存储单元结构,能够利用片选信号指定存储器、利用存储单元地址指定存储单元,在各个存储单元内能够按照行地址和列地址的指定进行存取。虽然利用脉冲串传输功能来指定同一行地址,能够对利用512个列地址指定的各8字节数据进行连续存取,但是在产生了向不同的行地址的存取的情况下,在发行预充电命令和激活命令时各个命令必须等待固定期间后再发行,因而如果频繁发生向同一存储单元的不同的行地址的存取,则存储器存取效率下降。
在该数据共享装置100中,在将HD动态图像的帧图像存储在存储器中时使用的地址映射采用两种配置模式,由此将相同的帧图像存储在两个存储器区域中。
两种配置模式均用于将与存储器的利用同一存储单元同一行地址确定的块相对应的描画块,二维地配置在利用X方向的地址(X地址)和Y方向的地址(Y地址)确定的二维地址空间(XY二维地址空间)中,在进行用于将二维图像(构成图像数据的各个像素数据)存储在存储器中的地址映射时,根据该二维图像中的各个像素的二维坐标(水平方向的x坐标和垂直方向的y坐标)确定X地址和Y地址。但是,两种配置模式是使二维地址空间中成为描画块之间的边界的地址与二维图像的相对位置关系彼此不同的配置模式。
在本实施方式中具体地讲,在逻辑上的XY二维地址空间中,X方向的地址利用相当于8字节的列单位表示、Y方向的地址利用表示X方向的列是第几列的行单位表示。呈二维配置的各个描画块的X方向的边界地址利用16×N(N为0以上的整数)表示,各个描画块的Y方向的边界地址利用32×M(M为0以上的整数)表示。并且,假设在1列中示出了水平8像素量、垂直1像素量的图像数据。通过使作为物理地址的利用同一存储单元同一行地址确定的SDRAM的存储器单元组的1个块对应于各个描画块的每个块,如果确定了应该存取的数据在逻辑上的XY二维地址空间中的地址,则实际上对SDRAM中的数据进行存取时的物理地址(存储器、存储单元、行地址、列地址)也确定下来。另外,在XY二维地址空间中邻接的各个描画块对应于彼此不同的存储单元。
并且,假设按照第1配置模式进行地址映射得到的像素数据的Y地址为Y0,则按照第2配置模式进行地址映射得到的相同像素数据的Y地址为Y0+16。另外,在一个描画块内进行了地址映射的像素数据组对应于同一存储单元同一行地址,因而能够连续存取。
并且,在该数据共享装置100中,当在动态查询处理等中逐次读出帧图像内的各个位置的部分图像时,按照每个部分图像,并根据该部分图像在帧图像内的位置与判定基准进行核对,并选择一种配置模式,按照选择结果进行存取,该判定基准用于判定在按照两种配置模式中的哪种配置模式进行地址映射的存储器区域中进行存取更高效。该判定基准是将对部分图像进行映射的地址范围跨越的描画块的数量较少者判定为更高效的基准
因此,在由各个处理器并行执行MPEG编码处理的数据共享装置100中,在对帧图像中的任意位置的部分图像进行一次读出时抑制向描画块的存取次数,将有助于存取性能的提高,并且综合地讲有助于抑制向同一存储单元中不同的行地址的连续存取的发生频次,由此能够防止无用的存储器频带的浪费,因而更高效。
<结构>
下面,详细说明本实施方式的数据共享装置100,尤其是与图像数据的存取相关联的结构。
如图1所示,数据共享装置100由计算机200和计算机300构成,计算机200和计算机300通过接口270及接口370相连接,计算机200与作为SDRAM芯片组的存储器1000连接,计算机300与作为SDRAM芯片组的存储器2000连接。
下面,对计算机200的结构进行说明。
如图1所示,计算机200由处理器210和各种电路组构成,如果从功能上区分各种电路组,则是存取管理部220、调停部240、调停部241、输入管理部250、输出管理部260、接口270、存储器控制部280和存取置换部290。
处理器210通过执行在存储器中存储的程序,进行例如MPEG编码处理的各种阶段的处理的控制,在进行该处理时需要写入或者读出图像数据,因而向存储器1000或者存储器2000输出存取请求,并进行存储器存取。即,处理器210具有输出存取请求的功能,该存取请求指与各帧图像相关的数据的写入请求、以及与用于搜索对应于宏块的部分图像的动态查询处理用的部分图像相关的数据的读出请求等。另外,在输出读出请求后,处理器210从被判定为存取效率良好的存储器中读出数据。其中,存取请求(写入请求或者读出请求)具有用于识别是写入请求还是读出请求的属性,并且具有作为存取对象的图像数据的左上部的图像地址(x坐标、y坐标)和尺寸(x方向的宽度和y方向的宽度)。
存取管理部220具有管理来自处理器210的存取请求的功能、即分析存取请求并特定发送地点向该发送地点发送存取请求的功能,如图2所示,包括存取分析部230、存取控制部221、存取置换部222和地址特定部223。
存取特定部223具有如下功能,即对于二维图像数据,根据图像地址(x坐标、y坐标)并按照存储器1000用的第1配置模式来特定XY二维地址空间中的地址,并且按照存储器2000用的第2配置模式来特定XY二维地址空间中的地址。图像帧的左上位置在第1配置模式中对应于二维地址空间中的X地址的值16×N(N为0以上的整数,例如0)、和Y地址的值32×M(M为0以上的整数,例如0),而在第2配置模式中对应于X地址的值16×N和Y地址的值32×M+16。
存取置换部222具有将XY二维地址空间中的地址变换为存储器1000中的物理地址的功能。另外,关于由该存取置换部222和地址特定部223进行的地址映射,将在后面进行更详细的说明。
存取分析部230具有分析来自处理器210的存取请求的功能,包括存取属性判定部231、存取分割部232和选定部233。被输入到存取分析部230的存取请求包括关于二维图像数据的矩形图像的左上部及右下部的图像地址(x坐标、y坐标),从存取分析部230输出的存取请求包括将与同一存储单元同一行地址的存储器单元组对应的描画块进行二维配置形成的逻辑上的XY二维地址空间中的地址。在此,在用x坐标和y坐标指定各个像素位置的xy二维图像数据中,将x坐标增大的方向表述为右,将y坐标增大的方向表述为下。因此,矩形图像的左上部是用构成矩形图像的各个像素的坐标中最小的x坐标、y坐标表示的。
存取属性判定部231具有判定存取请求是写入请求还是读出请求的功能。
存取分割部232具有划分为针对存储器1000的存取请求(写入请求)和针对存储器2000的存取请求(写入请求)进行输出的功能,以便在进行数据的写入时向存储器1000和存储器2000双方写入相同数据。
选定部233具有如下功能,即判定从存储器1000和存储器2000中哪一方读出作为读出请求的对象的部分图像数据时存取效率良好,并选定存取效率良好的一方。在进行该判定时,由地址特定部223求出该部分图像在第1配置模式中的地址范围和在第2配置模式中的地址范围,计算各个地址范围在XY二维地址空间中跨越几个描画块边界,即计算各个地址范围跨越几个描画块,将与跨越个数较少的配置模式对应的存储器选定为存取效率良好的存储器。
存取控制部221具有进行如下控制的功能,即根据存取分析部230的分析结果,选择即将进行存取的存储器,并在所选择的存储器中进行存取。在存取分析部230分析的结果是存取请求为写入请求的情况下,将用于实现向存储器1000和存储器2000双方的数据写入的、被存取分割部232区分为两个的存取请求,分别传送给存取置换部222和输出管理部260。并且,在存取请求为读出请求的情况下,根据选定部233的选定结果,在从存储器1000读出时将存取请求传送给存取置换部222,在从存储器2000取得数据时将存取请求传送给输出管理部260。
存取置换部222具有如下功能(参照专利文献2),即根据XY二维地址空间的逻辑地址,利用与过去相同的用于使邻接的各个描画块对应于彼此不同的存储单元(包括使SDRAM芯片不同)的算法,生成对SDRAM指定的物理地址,以便进行向存储器1000的写入和读出。
输入管理部250具有管理从计算机300向存储器1000的存取请求的功能。输入管理部250接收通过接口270发送的存取请求,并发送给存取置换部290。另外,存取置换部290具有与存取置换部222相同的功能,根据来自计算机300的包括XY二维地址的存取请求,生成用于指定为存储器1000的物理地址。
输出管理部260具有如下功能,即将从计算机200向计算机300的存取请求,通过用于实现计算机之间的接口整合的接口270发送给计算机300。
调停部240具有对从处理器210向存储器1000的存取与从计算机300向存储器1000的存取的竞争进行调停的功能。并且,调停部241具有对来自计算机300的经由接口270的存取请求的输入与经由接口270向计算机300的存取请求的输出的竞争进行调停的功能。
存储器控制部280具有输出用于区分写入还是读出或与物理地址对应的控制信号(命令等)来控制存储器1000的功能,以便按照存取请求进行向存储器1000的数据写入或者从存储器1000读出数据。
并且,计算机300具有处理器310、存取管理部320、调停部340、调停部341、输入管理部350、输出管理部360、接口370、存储器控制部380和存取置换部390,这些构成要素具有与上述计算机200的对应的各个部分相同的功能。
<地址映射>
图3是表示存储器1000用的基于第1配置模式的HD帧图像与XY二维地址空间的对应关系、XY二维地址空间与SDRAM的地址指定的对应关系的图。
XY二维地址空间是二维地配置与同一SDRAM中的用同一存储单元同一行地址指定的块(存储器单元组)对应的描画块的空间。在图3中,用虚线示出了描画块的边界,并且仅示出了分配1个帧图像的范围。在此,假设由水平1920像素×垂直1080像素构成的HD帧图像的左上部对应于XY二维地址空间的X地址为0、Y地址为0的位置。此时,帧图像在X方向上被分配了15个描画块、在Y方向上被分配了34个描画块。
以图3中用虚线示出的描画块中左上部的描画块为例,描画块内与像素的关系如图4所示。
如图4所示,描画块是指X地址的宽度为16(即128字节量)、Y地址的宽度为32,能够在同一行地址进行存取的范围即能够在512列地址进行存取的范围。每1列地址存储有8字节,因而在1像素1字节的数据结构中,1列对应于8像素量的数据。在这一个描画块能够配置水平128像素量、垂直32像素量的数据。
图5是表示存储器2000用的基于第2配置模式的HD帧图像与XY二维地址空间的对应关系、XY二维地址空间与SDRAM的地址指定的对应关系的图。在该图5中,也用虚线示出了描画块的边界,并且仅示出了分配1个帧图像的范围。在此,假设在Y方向上赋予16行的偏置,由水平1920像素×垂直1080像素构成的HD帧图像的左上部对应于XY二维地址空间的X地址为0、Y地址为16的位置。
根据图3和图5可知,按照第1配置模式来分配帧图像的XY二维地址空间中的地址范围,相对于按照第2配置模式来分配帧图像的地址范围在Y方向上偏移了16即描画块的一半。
关于帧图像中的某个像素的数据,在将按照第1配置模式确定的X地址设为X1、将Y地址设为Y1,将按照第2配置模式确定的X地址设为X2、将Y地址设为Y2的情况下,各自的关系用下式表示。
(数式1)X2=X1
(数式2)Y2=Y1+16
另外,在设像素数据的二维坐标为(x0、y0)时,按照第1配置模式确定的X地址的值X1、Y地址的值Y1用下式表示。
(数式3)X1=int(x0/8)
(数式4)Y1=Y0
其中,数式中的int表示将小数部分进行取舍化整。
另外,在图3和图5中示出了矩形0、矩形1在第1配置模式和第2配置模式中对应有不同的地址,这些矩形是作为动态查询处理的对象有时成为连续存取的矩形图像的示例。
并且,在图3和图5中也示出了XY二维地址空间中的各个描画块通过存取置换部而与存储器的哪个块相对应。图3和图5中的“存储器0”、“存储器1”用于区分构成各个存储器1000和存储器2000的SDRAM芯片组的个体。
<动作>
下面,对具有上述结构的数据共享装置100的动作进行说明。
图6是表示由计算机200的处理器210进行的图像数据的存取的相关动作的流程图。
如该图所示,存取属性判定部231接收来自计算机200的处理器210的存取请求,并根据存取请求的属性判定是写入请求还是读出请求(步骤S1、S2)。
在存取请求是写入请求的情况下,地址特定部223根据成为存取请求所涉及的存取对象的图像数据的左上部的图像地址(x坐标、y坐标)和尺寸(x方向的宽度和y方向的宽度),按照第1配置模式和第2配置模式来特定图像数据在XY二维地址空间中的各个地址范围,根据其结果,由存取分割部232生成包括按照第1配置模式确定的地址范围的发给存储器1000的存取请求、和包括按照第2配置模式确定的地址范围的发给存储器2000(计算机300)的存取请求,并传递给存取控制部221(步骤S3)。存取控制部221将针对存储器1000的存取请求发送给存取置换部222,存取置换部222变换为根据存取请求所涉及的XY二维地址空间的地址范围向存储器1000进行存取的物理地址,通过调停部240和存储器控制部280进行向存储器1000的数据写入的控制(步骤S4)。
并且,存取控制部221将针对存储器2000的存取请求发送给输出管理部260,输出管理部260经由调停部241、接口270向计算机300发送存取请求(写入请求)(步骤S5)。
在此,按照图7说明在步骤S5从计算机200接收到存取请求的计算机300的动作。
接收到经由接口370、调停部341发送过来的存取请求的计算机300的输入管理部350(步骤S21),将存取请求附带的根据第2配置模式确定的XY二维地址空间中的地址范围发送给存取置换部390,存取置换部390将XY二维地址空间中的地址变换为用于向存储器2000进行存取的物理地址,经由调停部340和存储器控制部380,根据是写入请求还是读出请求的属性,进行向存储器2000写入数据或者从存储器2000读出数据的控制(步骤S22)。
并且,在图6的步骤S2,在由存取属性判定部231判定为存取请求是读出请求的情况下,选定部233进行选定处理(步骤S6),即判定从存储器1000和存储器2000中哪一方读出存取对象的数据时存取效率良好,并选定存取效率良好的存储器。关于该选定处理将在后面进行详细说明。
在步骤S6,在与本机(计算机200)连接的存储器1000即按照第1配置模式配置的存储器被选定为存取效率良好的存储器的情况下(步骤S7),存取分析部230将包括按照第1配置模式确定的地址范围的发给存储器1000的存取请求传递给存取控制部221。存取控制部221将针对存储器1000的存取请求发送给存取置换部222,存取置换部222变换为根据存取请求所涉及的XY二维地址空间的地址范围向存储器1000进行存取的物理地址,经由调停部240和存储器控制部280进行从存储器1000读出数据的控制(步骤S8)。另外,在步骤S6,在与其它机(计算机300)连接的存储器2000即按照第2配置模式配置的存储器被选定为存取效率良好的存储器的情况下(步骤S7),存取分析部230将包括按照第2配置模式确定的地址范围的发给存储器2000(计算机300)的存取请求传递给存取控制部221,存取控制部221将针对存储器2000的存取请求发送给输出管理部260,输出管理部260经由调停部241和接口270向计算机300发送存取请求(读出请求)(步骤S9)。
下面,按照图8对选定处理进行详细说明。
选定部233得到存取请求附带的作为存取对象的图像数据(下面称为“部分图像”)的左上部的图像地址(x坐标、y坐标)和尺寸(步骤S31),根据左上部的图像地址和尺寸计算右下部的图像地址(步骤S32),然后计算有关部分图像的基于第1配置模式的XY二维地址空间的X地址和Y地址的范围,计算该地址的范围跨越的描画块的数量(步骤S33)。
将与存储器1000对应的基于第1配置模式的部分图像的左上部在XY二维地址空间中的X地址设为Xa,将左上部的Y地址设为Ya,将右下部的X地址设为Xb,将右下部的Y地址设为Yb,此时能够用下面的数式5~9特定出部分图像的左上部所属的描画块(BXa、BYa)、右下部所属的描画块(BXb、BYb)、以及部分图像跨越的描画块的数量Bn。
(数式5)BXa=int(Xa/16)
(数式6)BYa=int(Ya/32)
(数式7)BXb=int(Xb/16)
(数式8)BYb=int(Yb/32)
(数式9)Bn=(BXb-BXa+1)×(BYb-BYa+1)
然后,计算有关该部分图像的基于第2配置模式的XY二维地址空间的X地址和Y地址的范围,计算该地址范围跨越的描画块的数量(步骤S34)。该计算出的X地址和Y地址的范围由于Y方向的16的偏置,而与基于第1配置模式的范围不同。在此,将该计算出的基于第2配置模式的部分图像的左上部在XY二维地址空间中的X地址设为Xa,将左上部的Y地址设为Ya,将右下部的X地址设为Xb,将右下部的Y地址设为Yb,此时同样能够用数式5~9特定出部分图像的左上部所属的描画块(BXa、BYa)、右下部所属的描画块(BXb、BYb)、以及部分图像跨越的描画块的数量Bn。
选定部233将在步骤S33和步骤S34分别计算出的描画块的数量进行比较,在基于第1配置模式的描画块的数量较多的情况下(步骤S35:是),将对应于第2配置模式的存储器2000选定为存取效率良好的存储器(步骤S37),在基于第1配置模式的描画块的数量不多的情况下(步骤S35:否),将对应于第1配置模式的存储器1000选定为存取效率良好的存储器(步骤S36)。
<存储器存取动作的考察>
当在数据共享装置100中记录有如图3和图5所示的帧图像的情况下,在计算机200或者计算机300想要读出矩形0或矩形1时,从矩形所跨越的描画块的数量较少的一方即图5中按照第2配置模式配置的存储器2000进行读出。
图9是时序图,表示当在对应于存储器2000的按照第2配置模式确定的XY二维地址空间中配置有如图5所示的矩形0和矩形1的情况下,在想要连续读出矩形0和矩形1时,计算机300的存储器控制部380输出给存储器2000的控制信号以及从存储器2000输出的数据信号。
计算机300的存储器控制部380针对矩形0所包含的两个块(存储器单元组)、即存储器0的存储单元3的行地址1的块和存储器1的存储单元0的行地址1的块,发行激活命令。然后,针对这两个块发行读出命令,使进行图像数据的读出。另外,在图9中,关于每1列4字节的结构,是示出了在两个存储单元组中向作为相同块的两个面进行存取并读出2倍的数据的示例。然后,针对矩形0所包含的两个块继续发行预充电命令,并且针对矩形1所包含的两个块、即存储器0的存储单元2的行地址2的块和存储器1的存储单元3的行地址2的块,发行激活命令和读出命令。这样实现向矩形0和矩形1的连续存取。
在此,为了与上述的示例进行对比,假设想要连续读出在按照第1配置模式确定的XY二维地址空间中按照图3所示配置的矩形0和矩形1,即想要从存储器1000连续读出矩形0和矩形1。图10是表示此时应该向存储器1000输出的控制信号和应该从存储器1000输出的数据信号的时序图。
计算机200的存储器控制部280针对矩形0所包含的4个块(存储器单元组)、即存储器0的存储单元2的行地址0的块、存储器1的存储单元1的行地址0的块、存储器0的存储单元3的行地址1的块和存储器1的存储单元0的行地址1的块,发行激活命令。然后,针对这4个块发行读出命令,使进行图像数据的读出。然后,针对矩形0所包含的4个块发行预充电命令,并且针对矩形1所包含的4个块、即存储器0的存储单元1的行地址1的块、存储器1的存储单元0的行地址1的块、存储器0的存储单元2的行地址2的块和存储器1的存储单元3的行地址2的块,发行激活命令,此时矩形0包括存储器0、存储单元2、行0的块,矩形1包括存储器0、存储单元2、行2的块,因而成为向同一存储单元的不同行地址的描画块的存取,根据SDRAM的特性(安全间隔制约),如果不等待固定期间就不能发行命令。因此,在经过固定期间后,针对矩形0所涉及的各个块发行预充电命令,针对矩形1所包含的各个块发行激活命令和读出命令,在固定期间的之间,即使是来自其它处理器的存取请求,也不能向存储器0、存储单元2的任何块进行存取,处于存取效率差的状态。
在数据共享装置100中,不发行所假设的图10所示的控制命令,而是发行如图9所示的控制信号,因而能够抑制产生无用的存储器频带,提高存取效率。
<补充>
以上,对作为本发明的数据处理装置的一例的数据共享装置的实施方式进行了说明,然而也能够按照下面所述对示例的装置进行变更,本发明的数据处理装置当然不限于上述实施方式所示出的数据共享装置。
(1)在上述实施方式中,示出了数据共享装置由两台计算机构成并共享图像数据的示例,但计算机的数量也可以是3台以上,除图像数据之外,还可以共享字符等其它数据。并且,例如也可以是诸如这样的结构,即分别具有专用存储器并通过总线而连接的3台计算机A、B、C中的计算机A和计算机B共享数据D,计算机A和计算机C共享数据E,在这种情况下,各台计算机在更新与其它计算机共享的数据时,将该数据的识别符和更新数据通过总线传输给其它计算机,并且如果通过总线传输的数据的识别符是本计算机共享的识别符,则也可以将其更新数据取入到本计算机的专用存储器中。另外,由3台计算机构成的数据共享装置的示例如图11所示。在图11中,存取管理部400具有与上述的存取管理部220相同的功能,调停部410用于调停从存取管理部220和存取管理部400输出的存取请求的竞争。通过具有存取管理部400,计算机能够从其它计算机接收例如图像地址的指定,实现对存储器中的图像数据的存取。另外,也可以是,各台计算机具有专门进行图像处理等特定处理的解码器等处理引擎电路,存取管理部除存储器之外,还选择处理引擎电路作为存取请求的发送地点。
另外,也可以是,各台计算机仅安装与本计算机的专用存储器中的数据的配置相关的仅一种配置模式所涉及的算法和处理机构,从其它计算机接收数据的指定或者其逻辑地址和图像坐标等的指定,在根据该指定按照本计算机的配置模式配置于存储器中的情况下,回信应该进行存取的存储器的块数量,并且将从其它计算机回信的块数量和本计算机的配置模式的块数量进行比较,判定在哪台计算机的专用存储器中进行存取时效率良好。另外,为此需要使各台计算机确定的配置模式在相对于存储器的块边界的偏移量的点因每台计算机而不同。
(2)在上述实施方式中,作为数据处理装置的一例,示出了包括处理器在内的由与一个存储器连接的两台计算机构成的数据共享装置,但处理器和存储器的数量也可以是除此之外的数量。数据处理装置只要至少具备一个处理器和多个存储器区域即可,在配置相同数据的情况下,也可以确定按照诸如使与存储器的块(对应于同一存储单元同一行地址的存储器单元组)的边界的相对位置关系在配置模式之间彼此不同的多种配置模式来配置数据的多个存储器区域。例如,也可以是,一个处理器将帧图像等数据配置在某个存储器区域中,对于与其相同的帧图像等相同数据,改变与存储器的块边界的位置关系并配置在另一个存储器区域中,对于应该读出的一部分数据,从跨越块边界的数量较少的存储器区域中读出。
(3)在上述实施方式中示出的存储器数量、存储单元数量、列数量、行数量等的值仅是示例,也可以是其它的值。并且,在上述实施方式中,描画块的尺寸是水平16列(128字节)×垂直32行,但也可以根据存储器的列地址的数量、数据信号线的数量等进行变更。并且,在上述实施方式中假设1像素数据为1字节,但不限于此。该1像素数据也可以是各个亮度(Y)成分或者色差(Cb、Cr)成分。
(4)在上述实施方式中,作为两种彼此不同的配置模式,一种模式在二维地址空间中不附加偏置即配置数据,另一种模式在Y方向上附加16偏置来配置数据,但不限于此。在需要高效地进行针对某帧图像数据的各个部分的连续存取的情况下,为了对该帧图像数据中的一个部分图像数据进行存取,在按照两种彼此不同的配置模式中的一种配置模式进行配置的存储器区域中进行存取时效率更高,此时需要确定这些配置模式,以便也能够存在在按照这两种彼此不同的配置模式中的另一种配置模式进行配置的存储器区域中进行存取时效率更高的一个以上的部分图像数据。另外,在连续存取的部分图像数据的Y方向的宽度已确定的情况下,优选大于该宽度的Y方向偏置。这同样适用于X方向。
并且,只要确定诸如使存取对象的数据的地址范围所包含的块数量彼此不同的多种配置模式即可,例如也可以是在二维地址空间中仅在水平方向(X方向)出现每种配置模式的偏置的差异(参照图11(a)和(b)),还可以是在垂直方向(Y方向)和水平方向(X方向)双方出现每种配置模式的偏置的差异(参照图11(c)和(d))。
并且,也可以根据每种配置模式使描画块的水平方向及垂直方向的宽度不同(参照图11(e)和(f))。例如,也可以是,在两种配置模式中的一种配置模式中使用图4所示的水平16列(128字节)×垂直32行的描画块,在另一种配置模式中使用水平8列(64字节)×垂直64行的描画块。
(5)在上述实施方式中,对MPEG编码处理的一个过程中的存储器存取进行了说明,但存储器存取用的处理内容不限于此,可以是编码也可以是解码,可以是H.264/MPEGAVC的处理也可以是其它的数据加密、解码等处理。
(6)在上述实施方式中,假设与帧图像进行映射的地址是二维地址空间,但也可以是一维的普通的地址空间。但是,使用二维地址空间对二维图像的配置比较有用。另外,当在字符串等其它数据或者图像数据的配置中使用按照一维的地址确定的地址空间的情况下,可以使将在按照SDRAM的同一存储单元的同一行地址进行存取的存储器单元组中能够存储的数据量作为单位的、该每个单位相对于边界地址的偏置(相对位置),在第1配置模式和第2配置模式中不同。例如,如果假设该单位是4KB,而且第1配置模式和第2配置模式是确定在相同逻辑地址空间的不同地址范围的存储器区域中的数据配置(逻辑地址)的模式,则只要配置了相同数据的两个区域的前头地址之差为4000H的倍数之外即可。
另外,也可以是,使在上述实施方式中示出的存储器1000和存储器2000对应于一个逻辑地址空间中的不同的地址范围。
(7)在上述实施方式中,在图5所示的基于第2配置模式的地址映射中,分配给帧图像中垂直方向最下段的描画块(0,34)~(14,34)的部分,也可以分配给垂直方向最上段的描画块(0,0)~(14,0)的空闲区域。
(8)在上述实施方式中,在根据图像地址(图像坐标)确定与存储器的块相对应地确定的二维地址空间的地址的阶段,采用了彼此不同的两种配置模式,但也可以是,例如在根据数据的逻辑地址直接确定存储器的存储单元、行地址、列地址等地址指定的阶段,确定使逻辑地址与行地址的关系在配置模式中彼此不同的两种配置模式。
(9)也可以是,一个处理器通过执行控制程序来实现计算机200的功能的全部或者一部分。还可以是,该控制程序由机械语言或者高级语言的程序代码构成,并记录在记录介质中、或者通过各种通信路径等进行流通及颁布。这种记录介质有IC卡、硬盘、光盘、软盘、ROM、闪存等。将所流通及颁布的控制程序存储在处理器能够读取的存储器等中以备使用,通过由该处理器执行该控制程序,能够实现诸如在上述实施方式中示出的功能。另外,处理器除了直接执行控制程序外,也可以通过进行编译来执行或者通过进行翻译来执行。
(10)在上述实施方式中示出的数据共享装置100及其一部分计算机也可以构成为IC、LSI等集成电路的封装体。并且,存储器也可以包含在该集成电路的封装体中。将该封装体装配在各种装置中以备使用,由此各种装置实现诸如在上述实施方式中示出的功能。
(11)也可以将上述的各种变形例进行组合应用。
下面,对本发明的一个实施方式的数据处理装置的结构及其变形例、数据处理系统、以及它们的效果进行说明。
(a)本发明的一个实施方式的数据处理装置如图13所示对被存储于由可连续存取的多个块构成的存储器中的处理对象数据进行存取,其特征在于,该数据处理装置具有:映射单元,使用第1及第2配置模式确定用于将所述处理对象数据分别配置在存储器的多个区域中的地址;选定单元,在读出处理对象数据中的部分数据时,根据基于各种配置模式的该部分数据所涉及的地址范围,选定对该部分数据的存取效率良好的配置模式;以及存取控制单元,以如下方式进行控制,即在所述存储器中根据所述选定单元选定的配置模式而对应的存储器的区域中进行存取,由此实现对所述部分数据的存取,所述存储器在与所述映射单元按照所述第1及第2配置模式分别确定的各个地址相对应的各个存储器区域中、分别记录了作为相同内容的处理对象数据,所述第2配置模式将该处理对象数据的地址确定在关于在地址空间中的相对于所述块的边界地址的相对位置的方面与按照所述第1配置模式来配置该处理对象数据的地址不同的位置。其中,可连续存取的块是指在诸如具有同一存储单元的同一行地址的存储器单元组的存储器中能够利用脉冲串传输功能等进行连续存取的单位区域,例如在SDRAM中不需按照命令发行制约而等待固定时间即可进行连续存取的单位区域。关于存取效率,例如作为按照各种配置模式进行地址映射的结果是,跨越能够连续存取的几个存储器区域而配置的存储器区域数量较少者成为存取效率良好的配置模式。并且,映射单元11相当于例如上述的地址特定部223等,选定单元12相当于例如上述的选定部233等,存取控制单元13相当于例如上述的存取控制部221、存取置换部222、存储器控制部280等。另外,也可以将该数据处理装置构成为LSI等集成电路。
根据该数据处理装置,不是根据同一地址映射进行重复记录,而是在逐次读出根据不同的多种地址映射而重复记录的图像或者字符等数据并进行处理的过程中,选择按照存取效率良好的一种地址映射而配置的数据进行存取,因而能够实现整体上效率良好的存储器存取。
(b)所述处理对象数据是用x坐标和y坐标表示的二维图像数据,所述第1及第2配置模式是将所述地址空间作为XY二维地址空间,在该XY二维地址空间中二维配置与存储器中的每个所述块相对应的多个描画块的模式,所述第2配置模式也可以是这样的模式,即根据二维图像数据的x坐标和y坐标确定XY二维地址空间中的X地址和Y地址,使其成为关于在XY二维地址空间中的相对于描画块边界的相对位置的方面与按照所述第1配置模式来配置二维图像数据的X地址和Y地址不同的位置。由此,能够提高下述情况时的存储器存取效率,即进行诸如MPEG编码处理那样的、对帧图像组搜索与部分图像即宏块单位相似的部分图像的所谓动态查询处理的情况。
(c)与所述描画块对应的存储器中的所述块也可以是在同一存储单元中具有同一行地址的存储器单元组。根据该数据处理装置,能够减少对同一存储单元的利用不同的行地址表示的区域的连续存取。
(d)也可以是,所述选定单元选定所述第1及第2配置模式中、用于确定使所述部分数据所涉及的地址范围所包含的描画块的数量为最少的地址的一种配置模式。由此,能够利用简单的结构判定存取效率。
(e)也可以是,所述数据处理装置进行逐次读出帧图像中的多个位置的各个部分图像即y坐标的宽度为预定尺寸的部分图像的处理,所述第2配置模式是确定Y地址的配置模式,使该Y地址与按照所述第1配置模式对相同部分图像所涉及的相同部分数据所确定的Y地址之差、大于与所述y坐标的宽度对应的Y地址的宽度。由此,在进行部分图像的逐次读出处理时,只要选择了任意一种配置模式,就可以进行部分图像不会跨越地址空间中的描画块的Y方向上的地址边界的地址映射,因而通过按照所选择的配置模式进行存取,能够提高存取效率。
(f)也可以是,所述数据处理装置进行逐次读出帧图像中的多个位置的各个部分图像即x坐标的宽度为预定尺寸的部分图像的处理,所述第2配置模式是确定X地址的配置模式,使该X地址与按照所述第1配置模式对相同部分图像所涉及的相同部分数据所确定的X地址之差、大于与所述x坐标的宽度对应的X地址的宽度。由此,在进行部分图像的逐次读出处理时,只要选择了任意一种配置模式,就可以进行部分图像不会跨越地址空间中的描画块的X方向上的地址边界的地址映射,因而通过按照所选择的配置模式进行存取,能够提高存取效率。
(g)也可以是,所述第1及第2配置模式使在存储器中的同一存储单元中具有同一行地址的所有存储器单元组与所述描画块一对一相对应,第2配置模式以如下方式完成这种对应,即,使XY二维地址空间中的描画块在X方向的宽度和Y方向的宽度均与第1配置模式不同。与存储器中的可连续存取的块相对应的地址空间中的矩形的描画块的形状不同,因而相对于存储器的该块的二维图像的存储器配置在各种配置模式中是不同的,因而能够选择存取效率良好的配置模式,能够实现整体上效率良好的存储器存取。
(h)也可以是,数据处理装置还具有所述存储器和记录单元,该记录单元将所述处理对象数据写入到与所述映射单元按照所述第1及第2配置模式而确定的各个地址相对应的所述存储器中的不同存储器区域中。根据这种结构,能够在数据处理装置内实现数据的读写这两种处理。
(i)也可以是,所述处理对象数据是帧图像,所述数据处理装置进行逐次读出所述帧图像中分别位于多个位置的多个部分数据的处理,所述数据处理装置根据所述帧图像中的作为读出对象的部分数据的位置,确定使存在这样的部分数据的所述第1及第2配置模式,即从与所述映射单元使用所述第1及第2配置模式中的所述第1配置模式确定的地址相对应的存储器区域中读出时的存取效率良好的部分数据、以及从与所述映射单元使用所述第1及第2配置模式中的所述第2配置模式确定的地址相对应的存储器区域中读出时的存取效率良好的部分数据。由此,例如在需要通过所谓动态查询处理等逐次对帧图像中的各个位置的部分图像(部分数据)进行存取的情况下,能够在存取效率良好的存储器区域中进行存取。另外,作为其结果,不是只能在记录了相同内容的帧图像的两个存储器区域中的一个存储器区域中进行存取,而是能够在这两个存储器区域中有选择地逐次进行存取。
(j)本发明的一个实施方式的数据共享系统30如图14所示包括第1存储器和第2存储器、对在各个存储器中存储的处理对象数据进行存取的第1数据处理装置31和第2数据处理装置41,其特征在于,所述各个数据处理装置具有:映射单元32(42),使用所述第1配置模式确定用于将所述处理对象数据配置在所述第1存储器35中的地址,使用所述第2配置模式确定用于将所述处理对象数据配置在所述第2存储器45中的地址;选定单元33(43),在读出处理对象数据中的部分数据时,根据基于各种配置模式的该部分数据所涉及的地址范围,选定对该部分数据的存取效率良好的配置模式;以及存取控制单元34(44),进行如下控制,在根据所述选定单元选定的配置模式而对应的存储器的区域中进行存取,由此实现对所述部分数据的存取,所述第2配置模式将该处理对象数据的地址确定在关于在地址空间中的相对于所述块的边界地址的相对位置的方面与按照所述第1配置模式来配置该处理对象数据的地址不同的位置,当在与本数据处理装置之外的另一个数据处理装置连接的存储器中进行存取时,所述存取控制单元进行控制使通过该另一个数据处理装置实现该存取。在由对每个处理器连接了存储器的多处理器构成的数据共享系统中,能够实现效率良好的存储器存取。
产业上的可利用性
本发明的数据处理装置能够实现效率良好的存储器存取,因而能够用作使用SDRAM来处理动态图像、静态图像等数据的装置等。
标号说明
10、31、41数据处理装置;11、32、42映射单元;12、33、43选定单元;13、34、44存取控制单元;20、1000、2000存储器;30数据共享系统;35第1存储器;45第2存储器;100数据共享装置;200、300计算机;210、310处理器;220、320、400存取管理部;221存取控制部;222存取置换部;223地址特定部;230存取分析部;231存取属性判定部;232存取分割部;233选定部;240、241、340、341、410调停部;250、350输入管理部;260、360输出管理部;270、370接口;280、380存储器控制部;290、390存取置换部。
Claims (15)
1.一种数据处理装置,对被存储于由可连续存取的多个块构成的存储器中的处理对象数据进行存取,其特征在于,该数据处理装置具有:
映射单元,使用第1及第2配置模式确定用于将所述处理对象数据分别配置在存储器的多个区域中的地址;
选定单元,在读出处理对象数据中的部分数据时,根据基于各种配置模式的该部分数据所涉及的地址范围,选定对该部分数据的存取效率良好的配置模式;以及
存取控制单元,以如下方式进行控制,即在所述存储器中的根据所述选定单元选定的配置模式而对应的存储器的区域中进行存取,由此实现对所述部分数据的存取,所述存储器在与所述映射单元按照所述第1及第2配置模式分别确定的各个地址相对应的各个存储器区域中分别记录了作为相同内容的处理对象数据,
所述第2配置模式将该处理对象数据的地址确定在关于在地址空间中的相对于所述块的边界地址的相对位置的方面与按照所述第1配置模式来配置该处理对象数据的地址不同的位置。
2.根据权利要求1所述的数据处理装置,其特征在于,
所述处理对象数据是用x坐标和y坐标表示的二维图像数据,
所述第1及第2配置模式将所述地址空间设为XY二维地址空间,在该XY二维地址空间中二维配置与存储器中的每个所述块对应的多个描画块,所述第2配置模式是这样的配置模式,即根据二维图像数据的x坐标和y坐标来确定在XY二维地址空间中的X地址和Y地址,使其成为关于在XY二维地址空间中的相对于描画块边界的相对位置的方面与按照所述第1配置模式来配置二维图像数据的X地址和Y地址不同的位置。
3.根据权利要求2所述的数据处理装置,其特征在于,
与所述描画块对应的存储器中的所述块是在同一存储单元中具有同一行地址的存储器单元组。
4.根据权利要求3所述的数据处理装置,其特征在于,
所述选定单元选定所述第1及第2配置模式中以所述部分数据所涉及的地址范围所包含的描画块的数量为最少的方式确定地址的一种配置模式。
5.根据权利要求4所述的数据处理装置,其特征在于,
所述数据处理装置进行逐次读出帧图像中的多个位置的各个部分图像即y坐标的宽度为预定尺寸的部分图像的处理,
所述第2配置模式是确定Y地址的配置模式,使该Y地址与按照所述第1配置模式对相同部分图像所涉及的相同部分数据所确定的Y地址之差大于与所述y坐标的宽度对应的Y地址的宽度。
6.根据权利要求4所述的数据处理装置,其特征在于,
所述数据处理装置进行逐次读出帧图像中的多个位置的各个部分图像即x坐标的宽度为预定尺寸的部分图像的处理,
所述第2配置模式是确定X地址的配置模式,使该X地址与按照所述第1配置模式对相同部分图像所涉及的相同部分数据所确定的X地址之差大于与所述x坐标的宽度对应的X地址的宽度。
7.根据权利要求4所述的数据处理装置,其特征在于,
所述第1及第2配置模式使在存储器中的同一存储单元中具有同一行地址的所有存储器单元组与所述描画块一对一相对应,第2配置模式以如下方式完成这种对应,即,使XY二维地址空间中的描画块在X方向的宽度和Y方向的宽度均与第1配置模式不同。
8.根据权利要求4所述的数据处理装置,其特征在于,
所述数据处理装置还具有所述存储器和记录单元,该记录单元将所述处理对象数据写入到与所述映射单元按照所述第1及第2配置模式而确定的各个地址相对应的所述存储器中的不同存储器区域中。
9.根据权利要求1所述的数据处理装置,其特征在于,
所述处理对象数据是帧图像,
所述数据处理装置进行逐次读出所述帧图像中分别位于多个位置的多个部分数据的处理,
所述数据处理装置根据所述帧图像中的作为读出对象的部分数据的位置,确定所述第1及第2配置模式,以使存在如下的部分数据,即从与所述映射单元使用所述第1及第2配置模式中的所述第1配置模式确定的地址相对应的存储器区域中读出时的存取效率良好的部分数据、以及从与所述映射单元使用所述第1及第2配置模式中的所述第2配置模式确定的地址相对应的存储器区域中读出时的存取效率良好的部分数据。
10.一种数据处理装置,对被存储于由可连续存取的多个块构成的存储器中的处理对象数据进行存取,其特征在于,
按照多种配置模式中的各种配置模式对所述处理对象数据进行如下的地址映射,即,使在地址空间中配置该处理对象数据的地址范围与各个所述块的边界地址的相对位置关系,根据每个配置模式而彼此不同,
所述数据处理装置具有:选定单元,在读出处理对象数据中的部分数据时,根据被进行了地址映射的该部分数据所涉及的地址范围,选定对该部分数据的存取效率良好的配置模式;存取控制单元,进行如下控制,使在根据所述选定单元选定的配置模式而对应的存储器的区域中进行存取,由此实现对所述部分数据的存取。
11.一种数据共享系统,包括第1存储器和第2存储器、对在各个由可连续存取的多个块构成的存储器中存储的处理对象数据进行存取的第1数据处理装置和第2数据处理装置,其特征在于,
各个所述数据处理装置具有:
映射单元,使用第1配置模式确定用于将所述处理对象数据配置在所述第1存储器中的地址,使用第2配置模式确定用于将所述处理对象数据配置在所述第2存储器中的地址;
选定单元,在读出处理对象数据中的部分数据时,根据基于各种配置模式的该部分数据所涉及的地址范围,选定对该部分数据的存取效率良好的配置模式;以及
存取控制单元,进行如下控制,即在根据所述选定单元选定的配置模式而对应的存储器的区域中进行存取,由此实现对所述部分数据的存取,
所述第2配置模式将该处理对象数据的地址确定在关于在地址空间中的相对于所述块的边界地址的相对位置的方面与按照所述第1配置模式来配置该处理对象数据的地址不同的位置,
当在与本数据处理装置之外的另一个数据处理装置连接的存储器中进行存取时,所述存取控制单元进行控制使通过该另一个数据处理装置实现该存取。
12.根据权利要求11所述的数据共享系统,其特征在于,
所述处理对象数据是用x坐标和y坐标表示的二维图像数据,
所述第1及第2配置模式将所述地址空间设为XY二维地址空间,在该XY二维地址空间中二维配置与存储器中的每个所述块对应的多个描画块,所述第2配置模式是如下的配置模式,即根据二维图像数据的x坐标和y坐标来确定在XY二维地址空间中的X地址和Y地址,使其成为关于在XY二维地址空间中的相对于描画块边界的相对位置的方面与按照所述第1配置模式来配置二维图像数据的X地址和Y地址不同的位置。
13.根据权利要求12所述的数据共享系统,其特征在于,
所述选定单元选定所述第1及第2配置模式中以所述部分数据所涉及的地址范围所包含的描画块的数量为最少的的方式确定地址的一种配置模式。
14.一种数据处理装置的数据处理方法,该数据处理装置对被存储于由可连续存取的多个块构成的存储器中的处理对象数据进行存取,其特征在于,该数据处理方法包括:
映射步骤,使用第1及第2配置模式确定用于将所述处理对象数据分别配置在存储器的多个区域中的地址;
选定步骤,在读出处理对象数据中的部分数据时,根据基于各种配置模式的该部分数据所涉及的地址范围,选定对该部分数据的存取效率良好的配置模式;以及
存取控制步骤,进行如下控制,即在根据通过所述选定步骤而选定的配置模式而对应的存储器的区域中进行存取,由此实现对所述部分数据的存取,
所述第2配置模式将该处理对象数据的地址确定在关于在地址空间中的相对于所述块的边界地址的相对位置的方面与按照所述第1配置模式来配置该处理对象数据的地址不同的位置。
15.一种集成电路,具有对被存储于由可连续存取的多个块构成的存储器中的处理对象数据进行存取的功能,其特征在于,该集成电路具有:
映射部,使用第1及第2配置模式确定用于将所述处理对象数据分别配置在存储器的多个区域中的地址;
选定部,在读出处理对象数据中的部分数据时,根据基于各种配置模式的该部分数据所涉及的地址范围,选定对该部分数据的存取效率良好的配置模式;以及
存取控制部,进行如下控制,即在根据所述选定部选定的配置模式而对应的存储器的区域中进行存取,由此实现对所述部分数据的存取,
所述第2配置模式将该处理对象数据的地址确定在关于在地址空间中的相对于所述块的边界地址的相对位置的方面与按照所述第1配置模式来配置该处理对象数据的地址不同的位置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011057643 | 2011-03-16 | ||
JP2011-057643 | 2011-03-16 | ||
PCT/JP2012/000898 WO2012124251A1 (ja) | 2011-03-16 | 2012-02-10 | データ処理装置、データ処理方法及びデータ共有システム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102804150A CN102804150A (zh) | 2012-11-28 |
CN102804150B true CN102804150B (zh) | 2016-01-20 |
Family
ID=46830346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280000661.3A Active CN102804150B (zh) | 2011-03-16 | 2012-02-10 | 数据处理装置、数据处理方法及数据共享系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9201781B2 (zh) |
JP (1) | JP5884037B2 (zh) |
CN (1) | CN102804150B (zh) |
WO (1) | WO2012124251A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9037835B1 (en) * | 2013-10-24 | 2015-05-19 | Arm Limited | Data processing method and apparatus for prefetching |
WO2016063716A1 (ja) * | 2014-10-24 | 2016-04-28 | ソニー株式会社 | メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法 |
US10380969B2 (en) | 2016-02-28 | 2019-08-13 | Google Llc | Macro I/O unit for image processor |
EP3693861B1 (en) * | 2019-02-06 | 2022-08-24 | Advanced Digital Broadcast S.A. | System and method for reducing memory fragmentation in a device lacking graphics memory management unit |
US11210221B2 (en) * | 2019-12-10 | 2021-12-28 | Pony Ai Inc. | Memory architecture for efficient spatial-temporal data storage and access |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6215507B1 (en) * | 1998-06-01 | 2001-04-10 | Texas Instruments Incorporated | Display system with interleaved pixel address |
CN1457607A (zh) * | 2001-01-12 | 2003-11-19 | 皇家菲利浦电子有限公司 | 存储器地址转换单元和方法以及包含这种单元的图像处理装置 |
US6956579B1 (en) * | 2003-08-18 | 2005-10-18 | Nvidia Corporation | Private addressing in a multi-processor graphics processing system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4965751A (en) * | 1987-08-18 | 1990-10-23 | Hewlett-Packard Company | Graphics system with programmable tile size and multiplexed pixel data and partial pixel addresses based on tile size |
JPH05128241A (ja) * | 1991-11-05 | 1993-05-25 | Matsushita Electric Ind Co Ltd | 画像処理装置 |
US6674443B1 (en) * | 1999-12-30 | 2004-01-06 | Stmicroelectronics, Inc. | Memory system for accelerating graphics operations within an electronic device |
US6816165B1 (en) * | 2000-12-13 | 2004-11-09 | Micron Technology, Inc. | Memory system having multiple address allocation formats and method for use thereof |
JP4069078B2 (ja) | 2004-01-07 | 2008-03-26 | 松下電器産業株式会社 | Dram制御装置およびdram制御方法 |
US7930439B2 (en) * | 2006-03-31 | 2011-04-19 | Panasonic Corporation | Command output control apparatus |
US9176891B2 (en) | 2008-03-19 | 2015-11-03 | Panasonic Intellectual Property Management Co., Ltd. | Processor, processing system, data sharing processing method, and integrated circuit for data sharing processing |
WO2010086919A1 (ja) * | 2009-01-27 | 2010-08-05 | パナソニック株式会社 | メモリアクセス装置およびその関連技術 |
JP5556082B2 (ja) * | 2009-08-07 | 2014-07-23 | 富士通株式会社 | メモリコントローラ、画像処理システムおよびメモリアクセスの制御方法 |
KR101639574B1 (ko) * | 2009-12-30 | 2016-07-14 | 삼성전자주식회사 | 적응적 뱅크 어드레스를 제공하는 디스플레이 시스템 및 그것의 어드레스 맵핑 방법 |
-
2012
- 2012-02-10 US US13/522,397 patent/US9201781B2/en active Active
- 2012-02-10 WO PCT/JP2012/000898 patent/WO2012124251A1/ja active Application Filing
- 2012-02-10 CN CN201280000661.3A patent/CN102804150B/zh active Active
- 2012-02-10 JP JP2012534484A patent/JP5884037B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6215507B1 (en) * | 1998-06-01 | 2001-04-10 | Texas Instruments Incorporated | Display system with interleaved pixel address |
CN1457607A (zh) * | 2001-01-12 | 2003-11-19 | 皇家菲利浦电子有限公司 | 存储器地址转换单元和方法以及包含这种单元的图像处理装置 |
US6956579B1 (en) * | 2003-08-18 | 2005-10-18 | Nvidia Corporation | Private addressing in a multi-processor graphics processing system |
Also Published As
Publication number | Publication date |
---|---|
CN102804150A (zh) | 2012-11-28 |
WO2012124251A1 (ja) | 2012-09-20 |
JP5884037B2 (ja) | 2016-03-15 |
US9201781B2 (en) | 2015-12-01 |
JPWO2012124251A1 (ja) | 2014-07-17 |
US20130057770A1 (en) | 2013-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102804150B (zh) | 数据处理装置、数据处理方法及数据共享系统 | |
CN105678378B (zh) | 间接访问样本数据以在并行处理系统中执行多卷积操作 | |
US7872657B1 (en) | Memory addressing scheme using partition strides | |
US20170004089A1 (en) | Patch memory system | |
JP5039334B2 (ja) | キャッシュメモリ制御方法、及び装置 | |
KR101305490B1 (ko) | 메모리 맵핑 방법 및 장치 | |
CN101187898A (zh) | 管理非易失性存储器的设备和方法 | |
US9256536B2 (en) | Method and apparatus for providing shared caches | |
US20100153645A1 (en) | Cache control apparatus and method | |
KR20080020066A (ko) | 동일한 픽셀 데이터 그룹에 포함되는 픽셀 데이터들을메모리의 동일한 뱅크 어드레스로 매핑하는 매핑 방법 및비디오 시스템 | |
CN111028360A (zh) | 一种3d图像处理中数据读写方法及系统、存储介质及终端 | |
CN108139989B (zh) | 配备有存储器中的处理和窄访问端口的计算机设备 | |
WO2015103685A1 (en) | Method and system for expediting bilinear filtering | |
US8937624B2 (en) | Method and apparatus for translating memory access address | |
CN108139975A (zh) | 用于用分割索引对高速缓存进行寻址的系统和方法 | |
CN104423900A (zh) | 图像打印方法和打印机 | |
JP6884073B2 (ja) | メモリを管理する方法及びその装置 | |
JP2000293432A (ja) | バンク可変メモリ | |
KR101335367B1 (ko) | 메모리 제어 장치 및 방법 | |
KR100846791B1 (ko) | 비디오 데이터 저장 방법 및 장치 | |
CN115525583B (zh) | 一种众核处理器的存储器数据访问方法 | |
KR20240008487A (ko) | 메모리 부하 밸런싱을 고려한 적응형 이미지 사이즈 패딩 장치 및 방법 | |
JPH09120371A (ja) | メモリ制御装置 | |
CN117573576A (zh) | 在内存中配置嵌入表的方法、访问内存的方法和计算设备 | |
JP2015200915A (ja) | キャッシュ装置、および画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160323 Address after: Osaka Japan Patentee after: PANASONIC INTELLECTUAL PROPERTY MANAGEMENT Co.,Ltd. Address before: Osaka Japan Patentee before: Matsushita Electric Industrial Co.,Ltd. |