数据传输控制装置和数据传输控制方法
技术领域
本发明涉及能应用于具有作为存储器的SDRAM(同步动态RAM)的数字相机等电子设备上的数据传输控制装置和数据传输控制方法。
背景技术
近年,SDRAM不限于利用于个人计算机上,还利用于数字相机等各种电子设备上。由于SDRAM的存取以被称为脉冲串长度(例如,8Word和4Word的数据长度)的数据传输单位进行,因而传输效率提高。并且,SDRAM由具有多个存储体的地址空间构成,利用切换该多个存储体(bank)来依次存取的被称为存储体交错存取(Bank Interleave)的功能,传输效率进一步提高。这是因为,在向先存取的存储体进行数据传输的期间,可并行进行下一存储体的地址读入。
然而,关于存储体交错存取功能,在对相同存储体连续地进行存取的情况下,不能在跟随前一存取的数据传输中并行进行跟随下一存取的地址读入。因此,产生必须进行再处理受理的惩罚处理时间,具有数据存取效率劣化的缺点。在作为对SDRAM进行存取的数据存取请求部(以下称为模块),例如用于存取用于进行不同处理的数据的DMA(直接存储器存取)请求信号生成部至少存在2个的情况下,容易产生针对SDRAM的相同存储体的连续存取,存在难以进行有效传输的问题。
针对这样的问题,有这样的提案例:将多个块的存储器存取的优先顺序变更成,对与调停电路之前刚许可了存储器存取的存储体不同的存储体进行存取(例如参照专利文献1)。
【专利文献1】日本特开2004-252960号公报
另一方面,例如在数字相机等摄像***中,有这样的情况:利用同时进行2行针对SDRAM的存取的双通道化,实现了传输效率的提高。在该情况下,各通道的存取以相同的固定间隔在相同定时产生,容易产生对相同存储体的同时存取。因此,存储体交错存取功能反而碍事,使传输效率下降。因此,不能进行基于固定速率的合适的图像数据传输,存在***失效的可能性。
在该情况下,各通道的优先顺序是平等的,不能利用专利文献1所示的优先顺序的变更来进行有效传输。
发明内容
本发明是鉴于上述情况而作成的,本发明的目的是提供这样的数据传输控制装置和数据传输控制方法:在具有相互以固定速率同时输出预定量的数据的多个模块的***结构中,通过避免由于相同存储体存取而使优先级高的存取处理拖延、以及伴随再处理受理的惩罚处理时间的产生,可适当发挥存储体交错存取功能,可提高数据传输效率。
为了解决上述问题并达到目的,本发明涉及的数据传输控制装置,其特征在于,该数据传输控制装置具有:存储器,其由具有多个存储体的地址空间构成;多个模块,其向所述存储器请求数据传输,在被许可传输之后输出数据;以及存储器控制部,其从该多个模块受理对所述存储器进行数据传输的请求,将许可该请求的信号发送到对应的所述模块,并根据在请求所述数据传输时从所述模块输出的地址来控制针对所述存储器的所述各存储体的存取,在相互以固定速率同时输出预定量的数据的所述多个模块中,以一个模块的传输地址作为基准错开设定另一个模块的传输地址,从而使得由另一个模块请求数据传输的存储体相对于由一个模块请求数据传输的存储体处于分开的位置。
并且,本发明涉及的数据传输控制装置,其特征在于,在上述发明中,所述存储器控制部在针对许可对所述存储器进行存取的所述模块依次切换所述存储体的同时,进行与该模块之间的数据传输。
并且,本发明涉及的数据传输控制装置,其特征在于,在上述发明中,从各所述模块传输的数据是将从摄像部输出的图像数据从多个通道同时输出的数据。
并且,本发明涉及的数据传输控制方法使用数据传输控制装置,该数据传输控制装置具有:存储器,其由具有多个存储体的地址空间构成;多个模块,其向所述存储器请求数据传输,在被许可传输之后输出数据;以及存储器控制部,其从该多个模块受理对所述存储器进行的数据传输的请求,将许可该请求的信号发送到对应的所述模块,并根据在请求所述数据传输时从所述模块输出的地址控制针对所述存储器的所述各存储体的存取,所述数据传输控制方法的特征在于,在相互以固定速率同时输出预定量的数据的所述多个模块中,以一个模块的传输地址作为基准错开设定另一个模块的传输地址,从而使得由另一个模块请求数据传输的存储体相对于由一个模块请求数据传输的存储体处于分开的位置。
根据本发明,可提供这样的数据传输控制装置和数据传输控制方法:在具有相互以固定速率同时输出预定量的数据的多个模块的***结构中,通过模块中的传输地址的错开设定,避免由相同存储体存取引起的惩罚的产生,从而可合适发挥存储体交错存取功能,可提高数据传输效率。
附图说明
图1是示出数字相机的数据传输控制装置周围的结构例的概略框图。
图2是示出从摄像部同时输出2行的方式的示意图。
图3-1是示出在不采取本实施方式的对策的情况下的存取方式的时序图。
图3-2是示出在采取本实施方式的对策的情况下的存取方式的时序图。
标号说明
1:数据传输控制装置;10:SDRAM;11:存储器控制部;13、14:DMA请求信号生成部;20:摄像部;A~D:存储体。
具体实施方式
以下,参照附图说明用于实施本发明的方式。本实施方式使用搭载在作为电子设备的摄像***,例如数字相机上的数据传输控制装置的例子进行说明。
图1是示出数字相机的数据传输控制装置周围的结构例的概略框图。本实施方式的数据传输控制装置1具有:SDRAM 10,存储器控制部11以及2个DMA请求信号生成部13、14。
SDRAM 10由具有多个例如4个存储体A~D的地址空间构成。
并且,DMA请求信号生成部13、14(模块1、2)在向存储器控制部11请求数据传输(Req 1、2)的同时输出存取地址(Adr 1、2),存储器控制部11在能进行数据传输的情况下许可传输(Ack 1、2),之后输出表示数据有效的信号(Valid 1、2)。DMA请求信号生成部13、14(模块1、2)与信号Valid 1、2对应地在写入时发送传输数据(Data 1、2),在读出时接收传输数据(Data 1、2)。这里,从各DMA请求信号生成部13、14传输的数据是将从使用CCD等固体摄像元件的摄像部20输出的图像数据从2个通道并行输出的数据。即,DMA请求信号生成部13、14相互以固定速率同时输出预定量的数据。此时,在对SDRAM 10进行存取的方面,处于没有优先顺序而都是高优先级的对等关系。
并且,存储器控制部11实质上表示连接有SDRAM 10和DMA请求信号生成部13、14的总线。存储器控制部11将从DMA请求信号生成部13、14到SDRAM 10的数据传输的请求信号(Req 1、2)作为请求信号Req来受理。然后,针对该请求信号Req,根据请求的数据存取优先级,将许可了数据传输请求的信号Ack作为许可信号Ack 1或Ack 2发送到对应的DMA请求信号生成部13、14(模块1、2)。并且,根据在请求数据传输时从DMA请求信号生成部13、14(模块1、2)输出的传输地址,以交错方式控制针对SDRAM 10的各存储体A~D的存取。存储器控制部11独立于负责数字相机整体控制的CPU 21来执行上述控制。并且,存储器控制部11在多个DMA请求信号生成部13、14(模块1、2)之间进行总线调停。
图2是示出从摄像部20同时输出2行的方式的示意图。在由摄像部20拍摄的帧图像由行1~N的N行构成的情况下,通过DMA请求信号生成部13、14大致同时进行行1、2的数据读入。并且,与此同时,经由存储器控制部11向SDRAM 10大致同时输出DMA请求。针对后续的行3、4、行5、6、...、行(N-1)、N也同样重复这样的处理。
在这样的2行同时输出方式的本实施方式中,如图1所示,DMA请求信号生成部13、14分别具有寄存器13a、14a,传输开头地址和被称为跳行量的按每行存储图像数据的地址的移动量由CPU 21单独设定。并且,构成为:根据设定在这些寄存器13a、14a内的值,在每个传输定时生成地址。在该情况下的地址生成中,参照寄存器13a、14a,将传输开头地址作为开始位置来生成传输地址。然后,在第2行以后的传输中,将从开始位置依次加上跳行量后的位置作为开头地址来生成。并且,这些传输开头地址和跳行量由存储器控制部11参照传输地址的下位数位(例如,在4个存储体的情况下是2位,在8个存储体的情况下是3位)进行存储体切换。因此,各DMA请求信号生成部13、14的传输地址的下位数位由CPU 21设定成不为相同值。
具体地说,在假定一个DMA请求信号生成部13以存储体A的地址作为传输开头地址,将传输地址按存储体A→B→C→D→A...那样设定了传输开头地址和跳行量的情况下,另一个DMA请求信号生成部14处于使请求数据传输的存储体相对于DMA请求信号生成部13请求数据传输的存储体分开而不邻接的位置。即,以存储体C的地址作为传输开头地址,将传输地址按存储体C→D→A→B→C...那样设定传输开头地址和跳行量。这样,另一个DMA请求信号生成部14的传输地址以一个DMA请求信号生成部13的传输地址作为基准错开2个存储体来设定。
对这样的结构中基于2行同时输出的存取方式进行说明。首先,图3-1是示出在不采取本实施方式的对策的情况下的存取方式的时序图。图中,A~D表示SDRAM的存储体,对于与通道1对应的模块1(DMA请求信号生成部13)侧的传输请求,附加数字1来表示。并且,对于与通道2对应的模块2(DMA请求信号生成部14)侧的传输请求,附加数字2来表示(图3-2的情况也一样)。
在基于2行同时输出的存取中,在不采用本发明的结构的情况下,根据图像数据位置和地址的关系,模块1、2的传输请求的地址相同。即,如图3-1所示,来自模块1侧的传输地址如存储体A1→B1→C1→D1...那样,而来自模块2侧的传输地址也如存储体A2→B2→C2→D2...那样,大致同时向存储器控制部发出DMA请求(在图示例中,为模块2侧相对于模块1侧少许延迟的定时)。
在该情况下,对于执行存储体交错存取功能的存储器控制部侧的请求受理,由于存储体A1、A2为相同存储体存取,因而存储体A2的受理是在伴随再处理受理的惩罚处理时间Tp的处理后。以后,关于存储体B1、B2、C1、C2、D1、D2的相同存储体存取,也分别需要惩罚处理时间Tp,使传输效率下降。
另一方面,图3-2是示出在采取本实施方式的对策的情况下的存取方式的时序图。在本实施方式中,如图3-2所示,在假定来自模块1侧的传输地址成为存储体A1→B1→C1→D1...那样的情况下,将模块2侧的传输地址的生成相对于模块1侧错开来设定。因此,来自模块2侧的传输地址如存储体C2→D2→A2→B2...那样。
在该情况下,执行存储体交错存取功能的存储器控制部11侧的请求受理成为存储体A1→C2→B1→D2→C1→A2→D1→B2...那样。因此,不产生相同存储体存取状态。
因此,根据本实施方式,从在对SDRAM 10进行存取的方面没有优先顺序而都处于高优先级的对等关系的模块1、2(DMA请求信号生成部13、14)基于双通道同时输出方式进行数据传输时,避免产生由相同存储体存取引起的惩罚。这样,可适当发挥存储体交错存取功能,可提高数据传输效率。并且,由于与传输地址相关的信息被设定在模块1、2侧,因而在需要进行规格变更、模块增加等的情况下,也能容易应对。
本发明不限于上述的实施方式,只要是在不背离本发明主旨的范围内,就能进行各种变形。例如,在本实施方式中,在存储体数是4个的情况下,传输地址的错开量为2个存储体,然而也能错开3个存储体(例如是存储体D→A→B→C→的顺序)。不过,在3个存储体的错开量的情况下,根据请求数据传输的定时,具有成为相同存储体存取的可能性,因而如本实施方式那样,期望的是,传输地址的错开量为2个存储体。并且,错开量可以根据存储体数量来变更。例如,在存储体数量是8个的情况下,传输地址的错开量为2个~7个存储体,然而根据上述理由,在7个存储体的情况下,具有成为相同存储体存取的可能性,因而期望的是,错开量为2个~6个存储体。另外,可以使错开量为1个存储体,然而当是1个存储体的错开量时,有时发生在传输下一数据时请求相同存储体的情况。
并且,在本实施方式中,说明了针对来自数字相机中的摄像部的图像数据输出的应用例,然而可以应用于针对液晶显示部的图像数据输出等。而且,不限于数字相机,还能应用于具有SDRAM和对等的多个模块的便携电话和摄像机等各种电子设备。