信息处理装置及存储器访问方法 【技术领域】
本发明涉及执行存储器存储的信息的读出及改写的信息处理装置及其存储器访问方法。
背景技术
传统的图象处理等的信息处理中,基于成本降低的观点,采用称为SDRAM(Synchronous Dynamic Random Access Memory)的通用存储器。
这样的存储器,以一定的位宽作为管理单位,例如,在用32位的数据总线连接的存储器中,一般汇总规定地32位进行读出写入。
因而,这样的存储器中,若进行上述不足管理单位的尺寸的数据(例如4位的数据)的写入,则管理单位中的其他部分的数据(例如剩余的28位数据)可能成为非法值。
因而,为了防止这样的情况,采用称为读·修改·写的手法。读·修改·写手法中,采用读出包含指定的写入数据的管理单位的数据全体,仅仅改写写入数据部分,将改写后的管理单位的数据再次写入存储器的方法。
另外,在具有象SDRAM一样的页的概念的存储器中,汇总同一页内的多个地址对应的数据进行转送的称为突发转送的方法往往可提高存储器访问速度。该场合,上述的管理单位成为一次突发转送转送的数据量。例如,32位的数据·总线连接存储器中,以一次的突发转送来转送4字的数据的场合,128位(32位x4字)成为管理单位。
图6是传统的信息处理装置中,读·修改·写手法执行的情况的定时图。另外,图7是图6所示定时图作为流程图表示的图。
图7中,若指示读·修改·写,则信息处理装置发行激活指令(步骤S101),进行1周期的等待(NOP的执行)(步骤102)。
另外,这里进行了1周期的等待,但是,根据采用的SDRAM规格,也可能等待2个以上的周期或零周期(无等待)。这也适用于所有的等待步骤。
接着,信息处理装置发行读指令(从存储器直接读出数据的指令)(步骤S103),判定来自读入数据的存储器的突发转送是否结束(步骤S104),若判定突发转送未结束的场合,转移到步骤S103的处理。另一方面,若判定突发转送结束,则通过步骤S105执行必要周期数的等待后,执行步骤S106的预充电指令发行,但是在图6的定时图中,由于使用步骤S105的等待不需要的类型的SDRAM,因而图6中未记载步骤S105的等待。
然后,信息处理装置进行1周期的等待(步骤S107),执行从存储器读出的数据的改写(步骤S108)。
另外,由于步骤S108的处理并行地处理,因而在图6的定时图中未出现。
接着,信息处理装置发行用于后续的写的激活指令(步骤S109),执行1周期的等待(步骤S110)。
然后,信息处理装置发行写指令(实际向存储器输入数据的写入指令)(步骤S111),判定是否向写入数据的存储器转送了突发(步骤S112)。
步骤S112中,判定到写入数据的存储器的突发转送未结束时,信息处理装置转移到步骤S111的处理,判定突发转送结束时,进行1周期的等待(步骤S113)。
然后,信息处理装置发行预充电指令(步骤S114),进行1周期的等待后(步骤S115),结束读·修改·写的执行。
但是,如图6所示,执行读·修改·写时,为了保护未改写数据,需要将管理单位的数据从存储器读出并变更数据后将其回写的处理,因而处理时间增加。
因而,提出了各种读·修改·写手法相关的改善方法。
例如,特开平5-266177号公报所述的技术在不必要改写时省略写命令。另外,特开2003-256271号公报所述的技术遮蔽不想改写的部分。
其他还知道有特开平8-123402号公报或特开平8-123716号公报等所述的技术。
[专利文献1]特开平5-266177号公报
[专利文献2]特开2003-256271号公报
[专利文献3]特开平8-123402号公报
[专利文献4]特开平8-123716号公报
【发明内容】
但是,传统的技术以及上述的公报所述的技术是在特殊条件下高速化存储器的改写处理,而不能普遍适用。
另外,必须采用具有特殊存储构造的存储器,导致高成本的问题。
即,难以低成本且高速地进行改写存储器存储的数据,结果,数据的改写需要长时间并成为信息处理装置的消耗功率增加的原因之一。
本发明的课题是可低成本且高速进行存储器存储的数据的改写处理,降低信息处理装置的消耗功率。
为了解决以上的课题,本发明是一种信息处理装置,可访问由激活指令设定的行地址和读指令或写指令设定的列地址所指定的存储器的地址,其特征在于,对同一行地址的数据持续发行至少读指令及写指令之一时(例如,读指令连续时,写指令连续时或读指令后续发行写指令时等),在先行的读指令或写指令之后不发行预充电指令及激活指令,而是发行后续的读指令或写指令。
根据这样的构成,对同一行地址的指令连续时,可防止先行指令对应的预充电指令和后续指令对应的激活指令无效地执行,可以低成本实现处理的高速化。
另外,其特征在于,对同一行地址的数据执行数据的写入及读出时,在写指令的发行结束之后紧接着的周期内发行读指令。
根据这样的构成,可避免先行读指令引起发生的CAS执行时间的影响,可以低成本实现处理的高速化。
另外,其特征在于,读出包含成为上述存储器中改写对象的数据的管理单位量的数据(例如若是32位存储器,则为管理单位32位的数据)并改写管理单位量的数据后,对同一行地址反复进行回写到上述存储器的处理时,根据先头的读指令执行数据的读出,该数据改写后,在将由先行的读指令读出的数据的改写结果回写的写指令的发行结束之后紧接着的周期内,发行读出包含后续改写数据的管理单位量的数据的读指令。
另外,其特征在于包括:地址延迟部件(例如,图3的地址缓冲器30),将成为输入的改写对象的存储器地址延迟规定周期量后输出;地址选择部件(例如,图3的地址选择器40),选择由上述地址延迟部件延迟的存储器地址和输入的现在的存储器地址之一并输出;改写对象数据保持部件(例如,图3的数据缓冲器70),将成为上述存储器的改写对象的数据读出并保持;数据运算部件(例如,图3的数据运算部60),改写成为上述改写对象数据保持部件保持的上述改写对象的数据;控制部件(例如,图3的控制部10),在上述地址选择部件选择上述地址延迟部件延迟的存储器地址的定时,将上述数据运算部件改写的数据从该数据运算部件向上述存储器输出,在上述地址选择部件选择上述输入的现在的存储器地址的定时,从上述存储器将数据读出到上述改写对象数据保持部件。
根据这样的构成,可不采用高价的专用存储器,可低成本且高速地进行传统进行的读·修改·写手法。
另外,本发明是一种存储器访问方法,可访问由激活指令设定的行地址和读指令或写指令设定的列地址所指定的存储器的地址,其特征在于,对同一行地址的数据持续发行至少读指令及写指令之一时,在先行的读指令或写指令之后不发行预充电指令及激活指令,而是发行后续的读指令或写指令。
这样,根据本发明,可低成本且高速进行改写存储器存储的数据的处理。
【附图说明】
图1是表示预充电指令及激活指令省略时的定时图。
图2是表示写命令比读命令先执行时的定时图。
图3是表示采用本发明的信息处理装置1的机能构成方框图。
图4是表示写·修改·读手法进行的处理的流程图。
图5是表示采用本发明的图象处理装置的机能构成例的图。
图6是传统的信息处理装置中,读·修改·写手法执行时的定时图。
图7是将图6所示定时图作为流程图表示。
符号的说明
1信息处理装置,10控制部,20数据生成部,30地址缓冲器,40地址选择器,50改写数据缓冲器,60数据运算部,70数据缓冲器,80SDRAM
【具体实施方式】
以下,参照图说明本发明的实施例。
本发明对象传统使用的读·修改·写一样在同一地址中执行读命令后连续执行写命令的情况进行改善,实现处理的高速化。
因而,首先对于本发明的存储器访问方法的基本的考虑方法,举例说明读·修改·写的情况。
在读·修改·写的场合,对同一行地址按照读命令、写命令的顺序进行访问。因而,数据的读出后执行的预充电指令及激活指令不需要。
因而,可省略图6所示定时图中的数据的读出后的预充电指令及激活指令,连续执行读命令写命令。
图1是在读命令后续执行写命令时的定时图。
此时,由读指令从存储器读出的数据(RD)和由写指令写入存储器的数据(WD)仅仅存在微小的定时偏移,因而会在数据总线上引起冲突。
因而,为了避免冲突,如图1所示,往往采用在读数据(RD)和写数据(WD)间空1周期左右的间隔的对策。
另外,在存储器的规格上,从读指令执行开始到读数据(RD)在数据总线上出现为止存在称为CAS执行时间的时间滞后。
根据上述理由,虽然如图1所示可在读指令和写指令之间插入适当数目的NOP指令(什么都不执行的指令),但是并不脱离本发明的精神。
另外,此时的流程图在图7所示流程图中省略了步骤S106、S107、S109、S110。
这样,通过省略数据读出后的预充电指令及激活指令,与单纯在读命令结束后执行写命令的传统的读·修改·写手法相比,所要周期数从17周期减少到16周期,可实现处理的高速化。
另外,如图1所示,以从读命令到写命令的顺序访问存储器的场合,在读命令中,由于发生数据的读出所需要的2周期量的执行时间,因而插入定时调节用的NOP命令。因而,读命令后不能接着马上执行写命令。
因而,通过替换执行图6所示定时图中的读命令和写命令,先前执行的写命令后可直接执行读命令。另外,该场合中,由于针对同一行地址的命令连续,因而与图1所示场合同样,可省略预充电指令及激活指令。
本发明中,该在先前执行的写命令后续执行读命令的手法称为写·修改·读手法。
此时,定时图成为如图2所示。
另外,此时的流程图将后述(参照图4)。
通过这样按照从写命令到读命令的顺序访问存储器,与从写命令到读命令的顺序访问存储器的场合相比,所要周期数从17周期减少到12周期,可进一步实现处理的高速化。
接着,说明采用上述的方法的信息处理装置1。
图3是采用本发明的信息处理装置1的机能构成方框图。
图3中,信息处理装置1包括:控制部10;数据生成部20;地址缓冲器30;地址选择器40;改写数据缓冲器50;数据运算部60;数据缓冲器70;SDRAM80。
控制部10控制信息处理装置1全体,管理数据生成部20、地址缓冲器30、地址选择器40、改写数据缓冲器50,数据运算部60、数据缓冲器70以及SDRAM80中的数据输入输出的定时和各部的动作。
数据生成部20根据控制部10的指示,将SDRAM80内的写入地址向地址缓冲器30及地址选择器40输出的同时,生成改写用的新数据(改写数据),生成的改写数据向改写数据缓冲器50输出。
地址缓冲器30暂时保持数据生成部20输出的地址,根据控制部10的指示,将保持的地址向地址选择器40输出。
地址选择器40根据控制部10的指示,选择从数据生成部20输入的地址(写命令执行时的场合)和从地址缓冲器30输入的地址(读命令执行时的场合)之一,向SDRAM80输出。
改写数据缓冲器50暂时保持从数据生成部20输入的改写数据,根据控制部10的指示,在规定的定时向数据运算部60输出保持的改写数据。
数据运算部60通过从改写数据缓冲器50输入的改写数据对数据缓冲器70输入的数据进行变更。具体地,对数据缓冲器70输入的数据的一部分,执行改写数据的置换或进行逻辑或、逻辑与、逻辑异或等的逻辑运算等的处理。数据运算部60根据控制部10的指示向SDRAM80输出变更后的数据。
数据缓冲器70暂时保持根据控制部10的指示读出的、包含成为SDRAM80内的改写对象的数据的规定数据(例如,SDRAM80中的管理单位即32位的数据),保持的数据在规定的定时向数据运算部60输出。
SDRAM80具备32位的数据总线,作为信息处理装置1的工作存储器。因而,SDRAM80执行数据的改写的场合,汇总更新包含成为改写对象的数据的32位的管理单位即数据。
另外,这里作为通用的存储器,举SDRAM为例,但是可作为存储器使用的不限于此,也可使用其他方式的存储器。此时,因存储器的种类不同,指令信号和命令信号的呼称各异,因而前述的激活指令、读指令、写指令、预充电指令等的名称可换读成表示同等的动作的名称。
接着,信息处理装置1中,说明执行写·修改读手法的场合。
图4是写·修改·读手法执行的处理的流程图。另外,图4所示流程图是实现图2所示定时图的处理的一例。
图4中,若指示写·修改·读,则信息处理装置1判定数据缓冲器70是否保持了数据(步骤S1),判定数据缓冲器70未保持数据时,转移到步骤S15的处理。另一方面,判定数据缓冲器70保持数据的场合,信息处理置1发行激活指令(步骤S2),执行1周期的等待(NOP的执行)(步骤S3)。
另外,这里进行了1周期的等待,但是,根据采用的SDRAM规格,也可能等待2个以上的周期或零周期(无等待)。这也适用于所有的等待步骤。
然后,信息处理装置1从数据缓冲器70向数据运算部60输出数据(步骤S4),该数据由数据生成部20生成的改写数据进行改写(步骤S5),而且,发行写指令(实际向SDRAM80数据输入的写入指令)(步骤S6)。
另外,步骤S4~S6的处理并行执行。
接着,信息处理装置1判定到写入数据的SDRAM80的突发转送是否结束(步骤S7),判定突发转送未结束的场合,移行到步骤S4的处理。另一方面,判定突发转送结束的场合,等待1周期(步骤S8)。
然后,信息处理装置1判定数据生成部20生成的改写数据中是否存在未处理的数据(步骤S9),判定无未处理数据的场合,信息处理装置1发行预充电指令(步骤S10),等待1周期后(步骤11),结束写·修改·读处理。
另外,步骤S9中,判定有未处理数据的场合,信息处理装置1判定是否有必要进行行地址的再设定(步骤S12),判定行地址的再设定必要的场合,信息处理装置1发行预充电指令(步骤S13),执行1周期的等待(步骤S14)。
步骤S14执行后以及步骤S1中判定数据缓冲器70未存储数据的场合,信息处理装置1发行激活指令(步骤S15),进行1周期的等待(步骤S16)。
接着,信息处理装置1,发行读指令(从SDRAM80直接读出数据的指令)(步骤S17),将读出的数据在数据缓冲器70保持(步骤S18)。
另外,步骤S17、S18的处理并行执行。
接着,信息处理装置1判定从SDRAM80到数据缓冲器70的数据的突发转送是否结束(步骤S19),判定突发转送未结束的场合,移到步骤S17的处理。另一方面,判定突发转送结束的场合,信息处理装置1等待步骤S20所必要的周期数后,移行到步骤S10的处理。此时,使用不需要步骤S20的等待的类型的SDRAM的场合,实际不进行等待。
如上所述,本发明的信息处理装置1首先执行传统采用的读·修改·写的机能与写命令,在写命令内的写指令的发行结束后立即发行读命令的读指令。即,不发行写命令的预充电指令和读命令的激活指令,在写指令后立即发行读指令。
因而,在同一行地址的地址中,可避免执行成为不必要处理的命令间的预充电指令及激活指令,同时可避免CAS执行时间的影响。
从而,可以低成本且高速执行存储器(这里SDRAM80)存储的数据的改写处理。
另外,本发明在伴随有图象的描画的存储器访问时特别有效,例如,如图5所示,将信息处理装置1安装到执行图象处理的装置是有效的。另外,图5中,图形加速器及存储装置组成的部分实现本实施例中的信息处理装置1的机能。