CN101604294B - 存储器控制装置和信息处理设备 - Google Patents

存储器控制装置和信息处理设备 Download PDF

Info

Publication number
CN101604294B
CN101604294B CN2009101459343A CN200910145934A CN101604294B CN 101604294 B CN101604294 B CN 101604294B CN 2009101459343 A CN2009101459343 A CN 2009101459343A CN 200910145934 A CN200910145934 A CN 200910145934A CN 101604294 B CN101604294 B CN 101604294B
Authority
CN
China
Prior art keywords
data
address
zone
address value
structured
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.)
Expired - Fee Related
Application number
CN2009101459343A
Other languages
English (en)
Other versions
CN101604294A (zh
Inventor
池田哲崇
山口和哲
马渕谦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN101604294A publication Critical patent/CN101604294A/zh
Application granted granted Critical
Publication of CN101604294B publication Critical patent/CN101604294B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing

Abstract

公开了信息处理设备和存储器控制装置。所述信息处理设备包括:存储器,其被配置以使得将在其中保存结构数据的结构数据区域分配给多个存储体,其中每个结构数据由多个单元数据片段构成;地址区域检测部件,被配置以检测用于存取存储器的地址值是否被包括在包含用以存取多个单元数据片段的地址的特定地址区域中;和地址转换部件,被配置以在已经检测到地址值被包括在特定地址区域中的情况下,将地址值转换为用于结构数据区域的地址值。

Description

存储器控制装置和信息处理设备
技术领域
本发明涉及存储器控制装置,且更具体地涉及被配置以根据用于存储器的地址值执行地址转换的存储器控制装置和信息处理设备。
背景技术
在图像处理中,作为关于图像的每个像素的亮度和颜色的信息的像素数据可以被表示为结构数据。例如,一个像素的像素数据被分类为指示涉及的像素的亮度的亮度分量和指示涉及的像素的颜色的颜色分量。颜色分量可以被划分为各个颜色的分量。
在基于如上所述的结构数据执行数据处理的情况下,可能需要从存储器读出数据到处理器中,以从这样读出的数据中提取处理的执行所需的单元数据(element data),且因此可能存在施加于处理器的负荷和处理的执行所需的时间增加的问题。另外,由于在已经读出数据到处理器中之后提取需要的数据,因此处理的执行不需要的数据也被经由总线与需要的数据一起临时地传送,以使得可能存在总线存取量增加的问题。
因此,为了减小在如上所述的处理中将要执行的算术运算的数目,已经提出其中将被配置以关于已经使用多地址读出的数据执行给定算术运算的算术部件安装在总线中以根据地址选择算术部件(arithmetic means)的装置(例如,参见日本特开专利公开No.08-36520(图1))。
发明内容
然而,在现有技术的上述示例中,通过使用物理地址已经从存储器读出的数据仅经历算术运算且被作为单个单元传送,且其难以作为单元处理构成结构数据的单元数据。因此,其难以减少总线存取量。另外,由于算术部件在数据总线中的安装,其可能缺乏灵活性。
考虑上述情况设计本发明。因此,期望从将要全部处理的结构数据提取特定单元数据。
根据本发明的实施例,提供了信息处理设备,包括:存储器,被配置以使得将在其中保存结构数据的结构数据区域分配给多个存储体(每个结构数据由多个单元数据片段构成);地址区域检测部件,被配置以检测用于存取存储器的地址值是否被包括在特定地址区域(其包括用于存取多个单元数据的地址)中;和地址转换部件,被配置以在已经检测到地址值被包括在特定地址区域中的情况下,将地址值转换为用于结构数据区域的地址值。结果,可能带来这样的操作效果:用于存取在由多个存储体构成的内部存储器中的特定地址区域的地址值被转换为用于结构数据区域的地址值。
根据上述实施例,可将多个单元数据片段封装为一个字,且在结构数据中可以保存多个字中的每一个作为阵列的单元,可以逐字地将多个字顺序地分配给多个存储体的不同存储体,且地址转换部件可以被配置以转换地址值,以使得在已经检测到地址值被包括在特定地址区域中的情况下,从多个存储体一一对应地同时存取包括在分别分配给多个存储体的结构数据中的多个单元数据片段。结果,可能带来这样的操作效果:对于存取特定地址区域来说,一一对应地从多个存储体同时存取多个单元数据片段。
在上述实施例中,设备可以进一步包括写入数据分类部件,其被配置以对写入数据分类,以使得在已经检测到地址值被包括在特定地址区域中的情况下,将在与结构数据相同大小的写入数据中包括的单元数据一一对应地写入到多个存储体中。结果,可能带来这样的操作效果:在与结构数据相同大小的写入数据中包括的单元数据被一一对应地写入到多个存储体中。
在上述实施例中,设备可以进一步包括读取数据分类装置,被配置以在已经检测到地址值被包括在特定地址区域中的情况下,将从多个存储体一一对应地读出的单元数据分类为与结构数据相同大小的读取数据。结果,可能带来这样的操作效果:提供已经从多个存储体一一对应地读出的单元数据作为与结构数据相同大小的读取数据。
根据上述实施例,结构数据可以是图像的像素数据且多个单元数据片段可以是关于像素数据的亮度或者颜色的分量数据。在本发明的实施例中,通过示例的方式,假定Y分量指示关于像素数据的亮度的分量数据,且R、G和B分量指示关于其颜色的分量数据。
根据本发明的另一实施例,提供了存储器控制装置,包括地址区域检测部件,被配置以检测用于存取存储器的地址值是否被被包括在包含用以存取多个单元数据片段的地址的特定地址区域中,配置该存储器以使得在其中保存结构数据的结构数据区域(每个结构数据由多个单元数据片段构成)被分配给多个存储体,和地址转换部件,被配置以在已经检测到地址值被包括在特定地址区域中的情况下,将地址值转换为用于结构数据区域的地址值。结果,可能带来这样的操作效果:用于存取由多个存储体构成的内部存储器中的特定地址区域的地址值被转换为用于结构数据区域的地址值。
根据本发明的另一实施例,提供了信息处理设备,包括存储器,被配置以使得分配在其中保存结构数据的结构数据区域(每个结构数据由多个单元数据片段构成);地址区域检测部件,被配置以检测用于存取存储器的地址值是否被包括在包含用以存取多个单元数据片段的地址的特定地址区域中;和地址转换部件,被配置以在已经检测到地址值被包括在特定地址区域中的情况下,将地址值转换为用于结构数据区域的地址值。结果,可能带来这样的操作效果:用于存取内部存储器中的特定地址区域的地址值被转换为用于结构数据区域的地址值。
根据本发明的又一实施例,提供了存储器控制装置,包括地址区域检测部件,被配置以检测用于存取的存储器的地址值是否被包括在包含用以存取多个单元数据片段的地址的特定地址区域中,配置该存储器以使得分配在其中保存结构数据的结构数据区域(每个结构数据由多个单元数据片段构成);和地址转换部件,被配置以在已经检测到地址值被包括在特定地址区域中的情况下,将地址值转换为用于结构数据区域的地址值。结果,可能带来这样的操作效果:用于存取存储器中的特定地址区域的地址值被转换为用于结构数据区域的地址值。
根据本发明,可以采用这种效果:从结构数据提取特定的单元数据且全部一起处理。
附图说明
图1是示出根据本发明的实施例的信息处理设备的一个结构示例的图;
图2是示出根据本发明的实施例的存储器120和存储器控制部件130的结构示例的图;
图3是示出根据本发明的实施例在存储器120中地址和区域之间的关系示例的图表;
图4是示出根据本发明的实施例的像素数据的格式示例的图;
图5是示出根据本发明的实施例在单元数据、物理地址和虚拟地址当中的对应关系的示例的图表;
图6A是示出根据本发明的实施例在单元数据和地址之间的对应关系的示例的图表;
图6B是示出根据本发明的实施例在单元数据和地址之间的对应关系的示例的图表;
图7A是示出根据本发明的实施例在存储体(memory bank)和地址之间的对应关系的示例的图表;
图7B是示出根据本发明的实施例在存储体和地址之间的对应关系的示例的图表;
图8是示出根据本发明的实施例的地址的位阵列(bit array)的示例的图;
图9是示出根据本发明的实施例在区域地址和地址的位阵列之间的对应关系的示例的图表;
图10示出了根据本发明的实施例在存储体和单元数据之间的对应关系的示例;
图11A示出根据本发明的实施例在关于虚拟区域执行的存取和存储体之间的对应关系的示例;
图11B示出根据本发明的实施例在关于虚拟区域执行的存取和存储体之间的对应关系的示例;
图12是示出根据本发明的实施例的写入数据分类部件320的结构示例的图;和
图13是示出根据本发明的实施例的读取数据分类装置330的结构示例的图。
具体实施方式
接下来,将参考附图描述本发明的优选实施例。
图1是示出根据本发明的实施例的信息处理设备的结构示例的图。信息处理设备包括图像处理装置100和外部存储部件200。图像处理装置100被配置以关于图像数据执行图像处理。外部存储部件200被配置以存储将要经历图像处理的图像数据。将存储在外部存储部件200中的图像数据取出到内置于图像处理装置100中的存储器中,以关于图像数据执行图像处理。图像处理装置100包括处理器110、存储器120、存储器控制部件130、DMA控制部件140和算术部件150。处理器110、存储器控制部件130、DMA控制部件140和算术部件150经由系统总线190彼此连接。外部存储部件200也连接到系统总线190。
处理器110被配置以执行对于图像处理的执行所需的控制和算术运算。存储器120是被配置以在其中保存将要经历图像处理的图像数据和工作区的存储器。存储器控制部件130被配置以控制对存储器120的存取。DMA控制部件140是被配置以控制在外部存储部件200和存储器120之间执行的DMA(直接存储器存取)传送的控制器。算术部件150被配置以执行对于图像处理的执行所需的控制和算术运算,且总的来说,具有比处理器110更高的算术处理性能。处理器110使得算术部件150执行更高负荷的算术运算以增加整个图像处理装置100的处理效率。
当将要使用根据本发明的实施例的信息处理设备执行图像处理时,首先,将图像数据从外部存储部件200传送到存储器120。在上述数据传送中,总的来说,采用DMA传输系统。使用DMA控制部件140控制使用DMA传输系统的数据传送。随后,在要使用处理器110执行使用图像数据中的亮度分量的算术运算的情况下,从存储器120读出亮度分量到处理器110中。另一方面,在要使用算术部件150执行使用图像数据中的颜色分量的算术运算的情况下,从存储器120读出颜色分量到算术部件150中。
图2是示出根据本发明的实施例的存储器120和存储器控制部件130的结构示例的图。
存储器120由四个存储体#0到#3(121到124)构成。每个存储体#0到#3(121到124)被配置以独立地操作且保存32位宽的多个字。
存储器控制部件130包括地址产生部件310、写入数据分类部件320和读取数据分类部件330。地址产生部件310被配置以基于已经输入到其中的16位宽的地址A[15:0]产生待提供给各个存储体#0到#3(121到124)的地址。写入数据分类部件320被配置以对已经输入到其中的32位宽的写入数据WDATA[31:0]分类,并向各个存储体#0到#3(121到124)提供32位宽的已分类数据。读取数据分类部件330被配置以对从各个存储体#0到#3(121到124)读出的数据分类,并输出已分类的数据作为32位宽的读取数据RDATA[31:0]。
地址产生部件310包括地址区域检测部件311和地址转换部件312。地址区域检测部件311被配置以检测由16位宽的输入地址A[15:0]指示的地址区域。地址转换部件312被配置以当地址区域检测部件311检测到地址A[15:0]被包括在虚拟区域中时,将地址A[15:0]转换为用于物理区域的地址。
在如图2所示的示例中,可以使用四个存储体#0到#3(121到124)实现128位数据的同时存取。然而,将写入数据和读取数据两者设置为32位宽的数据,以使得32位的宽度足以作为系统总线190的数据宽度。随后,可以通过向系统总线的32位数据区域有效地提供数据来实现有用的存取。
图3是示出根据本发明的实施例在存储器120中地址和区域之间的关系示例的图。在该示例中,从“0x0000”(“0x”指的是接下来的数字是十六进制等)到“0x3fff”的地址的区域是作为其中实际保存数据的区域而分配的物理区域。另一方面,从“0x4000”到“0x7fff”的地址的区域是虚拟区域且在物理区域中映射这些虚拟区域的实体。
例如,如图4所示,假定图像数据中的每个像素的像素数据由四个分量的结构数据构成,即,指示亮度的Y分量、指示红色像素值的R分量、指示绿色像素值的G分量和指示蓝色像素值的B分量。在该情况下,还假定每个分量具有8位的宽度且这些分量构成总体上32位宽的像素数据D[31:0]。在存储体#0到#3(121到124)中,32位像素数据被认为是一个字的结构数据,且以结构数据为单位排列数据。因此,在物理区域中,根据在存储体#0到#3(121到124)中的数据排列,以结构数据为单位分配分量。
另一方面,在虚拟区域中,以像素数据的单元数据为单位分配分量。也就是说,将8位宽的Y分量连续地分配给从“0x4000”到“0x4fff”的地址的区域。将8位宽的R分量连续地分配给从“0x5000”到“0x5fff”的地址的区域。将8位宽的G分量连续地分配给从“0x6000”到“0x6fff”的地址的区域。将8位宽的B分量连续地分配给从“0x7000”到“0x7fff”的地址的区域。
图5是示出根据本发明的实施例在单元数据、物理地址和虚拟地址当中的对应关系的示例的图表。顺便提到,物理地址表示用于物理区域的地址且虚拟地址表示用于虚拟区域的地址。
如上所述,以结构数据为单位将分量分配给物理区域。因此,根据物理地址的递增次序,以Y0、R0、G0、B0、Y1、R1、G1、B1...的次序分配单元数据。顺便提到,Yi是第i个像素数据的Y分量,Ri是第i个像素数据的R分量,Gi是第i个像素数据的G分量,且Bi是第i个像素数据的B分量。
另一方面,在虚拟区域中,一起分配各个分量且由此分配的顺序不同于物理区域中的顺序。也就是说,将Y0分配给虚拟区域Y的报头“0x4000”,将R0分配给虚拟区域R的报头“0x5000”,将G0分配给虚拟区域G的报头“0x6000”,且将B0分配给虚拟区域B的报头“0x7000”。同样地,将Y1分配给虚拟区域Y的地址“0x4001”,将R1分配给虚拟区域R的地址“0x5001”,将G1分配给虚拟区域G的地址“0x6001”,且将B1分配给虚拟区域B的地址“0x7001”。也就是说,将一个物理地址和一个虚拟地址分配给每个单元数据。
图6A和图6B是示出根据本发明的实施例在单元数据和地址之间的对应关系的例子。
如图6A所示,在物理区域中,以像素数据为单位分配地址且由此允许以像素数据为单位来存取。例如、在已经指定地址“0x0000”的情况下,允许32位的第0个像素数据Y0、R0、G0和B0的同时存取。
如图6B所示,在虚拟区域中,以单元数据为单位分配地址且由此允许以单元数据为单位来存取。例如,在已经指定地址“0x4000”的情况下,允许总计32位的8位Y分量Y0、Y1、Y2和Y3的同时存取。
如上所述,在物理区域或者虚拟区域中,允许32位数据的存取。也就是说,在利用作为结构数据的像素数据执行存取的情况下,使用物理地址,而在以单元数据为单位执行存取的情况下,使用虚拟地址,由此允许需要的数据的存取而没有浪费。
图7A和图7B是示出根据本发明的实施例在存储体和地址之间的对应关系的示例的图。
如图7A所示,在每个存储体#0到#3(121到124)中,32位像素数据被被定义为一个字的结构数据,且以结构数据为单位排列数据。在该情况下,如果在物理区域中以单元数据为单位分配地址,则低位(lower order)的2位地址A[1:0]将指示每个存储体中字中的地址(字中地址(in-word address)),2位地址A[3:2]将指示存储体的地址且10位地址A[13:4]将指示存储体中的地址(体中地址(in-bank address))。
另一方面,在虚拟区域中,如图7B所示以单元数据为单位分配地址,以使得低位的2位地址A[1:0]指示存储体的地址且10位地址A[11:2]指示存储体中的地址(体中地址)。
图8和图9是示出地址的位排列的示例的图。在16位地址A[15:0]中,高位的4位地址A[15:12]指示区域地址。也就是说,区域地址“0b00xx”(“0b”指的是接下来的数字是二进制的,“x”指的是任意的二进制数等)示出涉及的区域是物理区域。同样地,区域地址“0b0100”示出其是虚拟区域Y,区域地址“0b0101”示出其是虚拟区域R,区域地址“0b0110”示出其是虚拟区域G且区域地址“0b0111”示出其是虚拟区域B。
在区域地址示出涉及的区域是物理区域的情况下,地址A[13:4]指示每个存储体的体中地址,地址A[3:2]指示每个存储体的体地址,且地址A[1:0]指示每个存储体中的字中地址,如上参考图7A所述的那样。然而,当假定要作为一个数据集存取结构数据时,通常,忽略字中地址。由此,在基于结构数据的数据存取中,不管指定地址“0x0000”到“0x0003”的哪一个,将存取32位像素数据Y0、R0、G0和B0。
在区域地址示出涉及的区域是虚拟区域的情况下,地址A[11:2]指示每个存储体的体中地址,且地址A[1:0]指示每个存储体的体地址,如上参考图7B所述的。也就是说,可以看到虚拟区域中的体中地址和体地址是通过将物理区域中的体中地址和体地址右移两位获得的地址。将区域地址加到这2位移位的地址给出虚拟区域中的地址。由此,建立以下关系:
虚拟地址=区域地址+(物理地址>>2)
其中“>>”指示向右移位,且在右侧的数字指示移位操作的数目。
顺便提到,在虚拟区域中,固定字中地址。也就是说,在虚拟区域Y中,字中地址是“0b00”,在虚拟区域R中,字中地址是“0b01”,在虚拟区域G中,字中地址是“0b10”且在虚拟区域B中,字中地址是“0b11”。注意到上述字中地址用于存储体中的物理控制,因此其可能不是存取请求侧(例如,处理器110)通知地址所必须的。
图10是示出根据本发明的实施例在存储体和单元数据之间的对应关系的示例的图。
每一存储体#0到#3(121到124)将构成结构数据的32位像素数据设置为一个字,且在其中保存像素数据作为阵列的单元。然后,将32位数据以作为阵列的单元的像素数据为单位顺序地分配给不同的存储体。也就是说,在存储体#0(121)的报头字中保存第零个像素数据,在存储体#1(122)的报头字中保存第一个像素数据,在存储体#2(123)的报头字中保存第二个像素数据且在存储体#3(124)的报头字中保存第三个像素数据。同样地,在存储体#0(121)的第二个字中保存第四个像素数据,在存储体#1(122)的第二个字中保存第五个像素数据,在存储体#2(123)的第二个字中保存第六个像素数据且在存储体#3(124)的第二个字中保存第七个像素数据。
图11A和图11B是示出根据本发明的实施例在虚拟区域的存取和存储体之间的对应关系的示例的图。
在已经指示在虚拟区域Y中写入8位数据Ya、Yb、Yc和Yd(总计32位)的情况下,将相应的数据同时地写入在各个存储体中由地址A[11:2]指示的字的低位的8位数据(D[7:0]),如图11A所示。
在已经指示读出数据到虚拟区域Y中的情况下,将由地址A[11:2]指示的字的低位的8位数据(D[7:0])的数据Ya、Yb、Yc和Yd(总计32位)同时地读出到各个存储体中,如图11B所示。
在图11A和图11B所示的示例中,已经描述了虚拟区域Y的存取。然而,在其它虚拟区域中也以与上述同样的方式执行存取。也就是说,在虚拟区域R中,分别关于由地址A[11:2]指示的字的数据D[15:8]的8位数据执行存取。在虚拟区域G中,分别关于由地址A[11:2]指示的字的数据D[23:16]的8位数据执行存取。在虚拟区域B中,分别关于由地址A[11:2]指示的字的数据D[31:24]的8位数据执行存取。
图12是示出根据本发明的实施例的写入数据分类部件320的结构示例的图。32位写入数据WDATA[31:0]和区域地址A[15:12]被应用于写入数据分类部件320。
写入数据分类部件320具有选择器326。选择器326被配置以选择五组128位信号线321到325之一上的数据,并将所选的信号线组上的数据输出到128位信号线329。通过将32位写入数据WDATA[31:0]分配到四个数据中获得的总计128位数据被输入到信号线321中。也就是说,假定经由信号线321输入数据WD1[127:0],将获得以下数据:
WD1[31:0]=WDATA[31:0]
WD 1[63:32]=WDATA[31:0]
WD 1[95:64]=WDATA[31:0]
WD1[127:96]=WDATA[31:0]
在附图中,“a”、“b”、“c”和“d”分别指示WDATA[7:0]、WDATA[15:8]、WDATA[23:16]和WDATA[31:24]。
另外,将通过划分并嵌入32位写入数据WDATA[31:0]的四个8位数据获得的总计128位数据输入到信号线322中。也就是说,假定经由信号线322输入数据WD2[127:0],将获得以下数据:
WD2[7:0]=WDATA[7:0]
WD2[39:32]=WDATA[15:8]
WD2[71:64]=WDATA[23:16]
WD2[103:96]=WDATA[31:24]
写入数据分类部件320执行控制以使得不在除了上述之外的位的数据上写入数据,由此在其它位的数据中保持原始数据的内容。
将通过划分并嵌入32位写入数据WDATA[31:0]的四个8位数据获得的总计128位数据输入到信号线323中。也就是说,假定经由信号线323输入数据WD3[127:0],将获得以下数据:
WD3[15:8]=WDATA[7:0]
WD3[47:40]=WDATA[15:8]
WD3[79:72]=WDATA[23:16]
WD3[111:104]=WDATA[31:24]
写入数据分类部件320执行控制以使得不在除了上述之外的位的数据上写入数据,由此在其它位的数据中保持原始数据的内容。
将通过划分并嵌入32位写入数据WDATA[31:0]的四个8位数据获得的总计128位数据输入到信号线324中。也就是说,假定经由信号线324输入数据WD3[127:0],将获得以下数据:
WD4[23:16]=WDATA[7:0]
WD4[55:48]=WDATA[15:8]
WD4[87:80]=WDATA[23:16]
WD4[119:112]=WDATA[31:24]
写入数据分类部件320执行控制以使得不在除了上述之外的位的数据上写入数据,由此在其它位的数据中保持原始数据的内容。
将通过划分并嵌入32位写入数据WDATA[31:0]的四个8位数据获得的总计128位数据输入到信号线325中。也就是说,假定经由信号线325输入数据WD3[127:0],将获得以下数据:
WD5[31:24]=WDATA[7:0]
WD5[63:56]=WDATA[15:8]
WD5[95:88]=WDATA[23:16]
WD5[127:120]=WDATA[31:24]
写入数据分类部件320执行控制以使得不在除了上述之外的位的数据上写入数据,由此在其它位的数据中保持原始数据的内容。
选择器326根据区域地址A[15:12]选择五组信号线321到325之一。也就是说,如果区域地址A[15:12]是“0b00xx”,则将选择信号线321上的数据。同样地,对于“0b0100”,将选择信号线322上的数据,对于“0b0101”,将选择信号线323上的数据,对于“0b0110”,选择信号线324上的数据,且对于“0b0111”,选择信号线325上的数据。
将这样选择的数据输出到信号线329。假定要输出到信号线329的数据是数据WD9[127:0],则将数据WD9[31:0]提供给存储体#0(121),将数据WD9[63:32]提供给存储体#1(122),将数据WD9[95:64]提供给存储体#2(123)且将数据WD9[127:96]提供给存储体#3(124)。
图13是示出根据本发明的实施例的读取数据分类部件330的示例的图。将四组32位读出数据RD0[31:0]、RD1[31:0]、RD2[31:0]和RD3[31:0]、区域地址A[15:12]和体地址A[3:2]提供给读取数据分类部件330。读取数据分类部件330具有选择器336和337。
选择器336被配置以选择四组32位读取数据RD0[31:0]、RD1[31:0]、RD2[31:0]和RD3[31:0]之一,并将所选的一组读取数据输出到信号线331。读取数据RD0[31:0]是已经从存储体#0(121)读出的数据,读取数据RD1[31:0]是已经从存储体#1(122)读出的数据,读取数据RD2[31:0]是已经从存储体#2(123)读出的数据且读取数据RD3[31:0]是已经从存储体#3(124)读出的数据。
选择器336基于体地址A[3:2]选择四组读取数据的任意一个。也就是说,如果体地址A[3:2]是“0b00”,则选择数据RD0[31:0]。同样地,对于“0b01”,将选择数据RD1[31:0],对于“0b10”,将选择数据RD2[31:0],且对于“0b11”,将选择数据RD3[31:0]。
选择器337被配置以选择五条32位信号线331到335之一并输出所选的信号线上的数据作为32位读取数据RDATA[31:0]。信号线331上的数据用于处理利用物理地址从物理区域读出数据。通过封装8位数据RD0[7:0]、RD1[7:0]、RD2[7:0]和RD3[7:0]来获得在信号线332上的数据,且其用于处理从虚拟区域Y读出数据。通过封装8位数据RD0[15:8]、RD1[15:8]、RD2[15:8]和RD3[15:8]来获得在信号线333上的数据,且其用于处理从虚拟区域R读出数据。通过封装8位数据RD0[23:16]、RD1[23:16]、RD2[23:16]和RD3[23:16]来获得在信号线334上的数据,且其用于处理从虚拟区域G读出数据。通过封装8位数据RD0[31:24]、RD1[31:24]、RD2[31:24]和RD3[31:24]来获得在信号线335上的数据,且其用于处理从虚拟区域B读出数据。
选择器337基于区域地址A[15:12]选择五条32位信号线331到335之一。也就是说,如果区域地址A[15:12]是“0b00xx”,则将选择信号线331。同样地,对于“0b0100”,将选择信号线332,对于“0b0101”,将选择信号线333,对于“0b0110”,将选择信号线334,且对于“0b0111”,将选择信号线335。
如上所述,根据本发明的实施例,当地址区域检测部件311检测到地址A[15:0]被包括在虚拟区域中时,地址转换部件312将地址A[15:0]转换为用于物理区域的地址,从而实现结构数据的单元数据的存取。因此,在存取数据作为结构数据的情况下,使用用于物理区域的地址,而对于以单元数据为单位的存取,使用用于虚拟区域的地址,从而实现在仅封装需要的数据的状态下的存取。结果,实现各个处理操作的数目的减少以及系统总线的通信量(traffic)的减少。特别是,在其中多数情况下,仅一起处理亮度分量的图像滤波器中,通过应用本发明的实施例而带来的效果是显著的。
在本发明的实施例中,存储器控制部件130被配置以排他地执行设备的功能,从而与功能分散到单独的算术部件的情况相比,获得确定的灵活性。也就是说,即使在需要扩展或修改的情况下,仅修改存储器控制部件130就足够了,且由此简化了信息处理设备的设计。
在本发明的实施例中,作为结构数据的示例,已经描述了由Y、R、G和B分量构成的图像数据。然而,本发明不限于此,且本发明可以应用于其他数据。在本发明的实施例中,已经通过示例的方式描述了由多个存储体构成的存储器。然而,本发明不限于此且本发明可以应用于与上述存储器不同地配置的其他存储器。
本申请包括与在2008年6月11日在日本专利局提交的日本优先权专利申请JP 2008-152642中公开的主题相关的主题,将其全部内容通过引用完全包括于此。
本领域技术人员应该理解,虽然本发明的实施例示出了用于具体表现本发明的例子,且具有与在所附权利要求中定义的特定发明主题的对应关系,本发明不限于此,且根据设计要求及其他因素,可以做出多种修改、组合、部分组合和变更,只要它们在所附权利要求或其等效物的范围之中。

Claims (7)

1.一种信息处理设备,包括:
存储器,被配置以使得在其中保存结构数据的结构数据区域被分配给多个存储体,每个所述结构数据由多个单元数据片段构成;
地址区域检测部件,被配置以检测用于存取存储器的地址值是否被包括在包含用以存取多个单元数据片段的地址的特定地址区域中;和
地址转换部件,被配置以在已经检测到地址值被包括在特定地址区域中的情况下,将地址值转换为用于结构数据区域的地址值,
其中结构数据是图像的像素数据,且多个单元数据片段是关于像素数据的亮度或颜色的分量数据。
2.如权利要求1所述的设备,其中
将多个单元数据片段封装为一个字,且在结构数据中保存多个字中的每一个作为阵列的单元,
将多个字逐字地顺序分配给多个存储体的不同存储体,和
地址转换部件被配置以转换地址值以使得,在已经检测到地址值被包括在特定地址区域中的情况下,一一对应地从多个存储体同时存取包括在分别分配给多个存储体的结构数据中的多个单元数据片段。
3.如权利要求2所述的设备,进一步包括:
写入数据分类部件,被配置以分类写入数据以使得,在已经检测到地址值被包括在特定地址区域中的情况下,将包括在与结构数据相同大小的写入数据中的单元数据一一对应地写入多个存储体中。
4.如权利要求2所述的设备,进一步包括:
读取数据分类部件,被配置以在已经检测到地址值被包括在特定地址区域中的情况下,将已经从多个存储体一一对应地读出的单元数据分类为与结构数据相同大小的读取数据。
5.一种存储器控制装置,包括:
地址区域检测部件,被配置以检测用于存取存储器的地址值是否被包括在包含用以存取多个单元数据片段的地址的特定地址区域中,配置该存储器以使得将在其中保存结构数据的结构数据区域分配给多个存储体,其中每个所述结构数据由多个单元数据片段构成;和
地址转换部件,被配置以在已经检测到地址值被包括在特定地址区域中的情况下,将地址值转换为用于结构数据区域的地址值,
其中结构数据是图像的像素数据,且多个单元数据片段是关于像素数据的亮度或颜色的分量数据。
6.一种信息处理设备,包括:
存储器,被配置以使得分配在其中保存结构数据的结构数据区域,其中每个所述结构数据由多个单元数据片段构成;
地址区域检测部件,被配置以检测用于存取存储器的地址值是否被包括在包含用以存取多个单元数据片段的地址的特定地址区域中;和
地址转换部件,被配置以在已经检测到地址值被包括在特定地址区域中的情况下,将地址值转换为用于结构数据区域的地址值,
其中结构数据是图像的像素数据,且多个单元数据片段是关于像素数据的亮度或颜色的分量数据。
7.一种存储器控制装置,包括:
地址区域检测部件,被配置以检测用于存取存储器的地址值是否被包括在包含用以存取多个单元数据片段的地址的特定地址区域中,配置该存储器以使得分配在其中保存结构数据的结构数据区域,其中每个所述结构数据由多个单元数据片段构成;和
地址转换部件,被配置以在已经检测到地址值被包括在特定地址区域中的情况下,将地址值转换为用于结构数据区域的地址值,
其中结构数据是图像的像素数据,且多个单元数据片段是关于像素数据的亮度或颜色的分量数据。
CN2009101459343A 2008-06-11 2009-06-11 存储器控制装置和信息处理设备 Expired - Fee Related CN101604294B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008152642A JP5292934B2 (ja) 2008-06-11 2008-06-11 メモリ制御装置および情報処理装置
JP152642/08 2008-06-11

Publications (2)

Publication Number Publication Date
CN101604294A CN101604294A (zh) 2009-12-16
CN101604294B true CN101604294B (zh) 2012-04-18

Family

ID=41415838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101459343A Expired - Fee Related CN101604294B (zh) 2008-06-11 2009-06-11 存储器控制装置和信息处理设备

Country Status (5)

Country Link
US (1) US8103848B2 (zh)
JP (1) JP5292934B2 (zh)
KR (1) KR101555545B1 (zh)
CN (1) CN101604294B (zh)
TW (1) TWI402673B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5598337B2 (ja) * 2011-01-12 2014-10-01 ソニー株式会社 メモリアクセス制御回路、プリフェッチ回路、メモリ装置および情報処理システム
CN108959105B (zh) * 2017-05-17 2023-12-22 深圳市中兴微电子技术有限公司 一种实现地址映射的方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1637719A (zh) * 2004-01-05 2005-07-13 索尼株式会社 数据存储设备、数据存储控制设备、方法以及程序

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05113928A (ja) * 1991-10-23 1993-05-07 Fuji Electric Co Ltd 画像メモリ装置
JPH0836520A (ja) 1994-07-25 1996-02-06 Fuji Xerox Co Ltd 多重アドレスを設定した情報処理装置
WO2006009019A1 (ja) * 2004-07-21 2006-01-26 Matsushita Electric Industrial Co., Ltd. 画像処理装置
TW200805065A (en) * 2006-01-17 2008-01-16 Nxp Bv Region protection unit, instruction set and method for protecting a memory region
CN101416167B (zh) * 2006-07-20 2012-07-25 日本电气株式会社 存储器访问控制设备、存储器访问控制方法、数据存储方法以及存储器访问控制程序

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1637719A (zh) * 2004-01-05 2005-07-13 索尼株式会社 数据存储设备、数据存储控制设备、方法以及程序

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2005-267559A 2005.09.29

Also Published As

Publication number Publication date
JP5292934B2 (ja) 2013-09-18
CN101604294A (zh) 2009-12-16
TW201003389A (en) 2010-01-16
KR20090129350A (ko) 2009-12-16
TWI402673B (zh) 2013-07-21
US8103848B2 (en) 2012-01-24
US20090313450A1 (en) 2009-12-17
JP2009301169A (ja) 2009-12-24
KR101555545B1 (ko) 2015-10-06

Similar Documents

Publication Publication Date Title
US10210914B2 (en) Programmable logic accelerator in system on chip
CN103019810A (zh) 具有不同执行优先级的计算任务的调度和管理
CN103279309B (zh) 基于fpga的ddr控制装置及方法
US9846565B2 (en) Shiftable memory employing ring registers
US20040162964A1 (en) Processor capable of switching/reconstituting architecture
WO2017157267A1 (en) Reconfigurable data interface unit for compute systems
CN101840383A (zh) 支持连续/离散地址多数据并行访问的可配置存储器结构
US20100257336A1 (en) Dependency Matrix with Reduced Area and Power Consumption
CN101825997A (zh) 一种异步先入先出存储器
CN101604294B (zh) 存储器控制装置和信息处理设备
CN102257568B (zh) 具有主存储单元和需要预设操作的辅存储单元的半导体设备
CN1653435A (zh) 通过控制器编程在硬件中映射数据掩码
CN106227506A (zh) 一种内存压缩系统中的多通道并行压缩解压系统及方法
US6694407B1 (en) Cache memory with data transfer control and method of operating same
EP0910014B1 (en) Program loading method and apparatus
CN116685943A (zh) 可编程原子单元中的自调度线程
CN106066833A (zh) 存取多端口存储器模块的方法及相关的存储器控制器
CN102681820A (zh) 动态分簇的寄存器堆及使用该寄存器堆的可重构计算装置
US20090313399A1 (en) Direct memory access channel
CN108701102A (zh) 直接存储器访问控制器、数据读取方法和数据写入方法
CN103455367A (zh) 用于实现可重构系统中多任务调度的管理单元和方法
US6629215B2 (en) Multiple port memory apparatus
US20080028110A1 (en) Peripheral Supplied Addressing In A Simple DMA
CN101639692B (zh) 多可编程逻辑器件的控制方法、设备和系统
KR20110093373A (ko) 메모리 제어기 및 그 메모리 제어기가 탑재된 컴퓨팅 장치

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120418

Termination date: 20210611

CF01 Termination of patent right due to non-payment of annual fee