数据处理设备和存储器设备的制作方法

文档序号:6766774阅读:167来源:国知局
数据处理设备和存储器设备的制作方法
【专利摘要】本发明涉及一种数据处理设备和存储器设备。数据处理设备包括总线主控件和存储器控制器。每个总线主控件包括数据缓冲器,并且发布存储器命令以指定对存储器的访问并且取决于数据缓冲器的空闲空间而生成第一优先级信息,其中第一优先级信息与存储器命令相关联并且指示存储器命令的优先级。存储器控制器基于与存储器命令相对应的第一优先级信息来确定由多个总线主控件发布的存储器命令的处理顺序,并且按照由处理顺序确定单元确定的处理顺序来执行从多个总线主控件传输的相应的存储器命令。
【专利说明】数据处理设备和存储器设备
[0001]相关申请的交叉引用
[0002]本申请基于并且要求于2013年5月20日提交的日本专利申请N0.2013-105872的优先权,其内容通过引用被整体包含在此。

【技术领域】
[0003]本发明涉及一种数据处理设备和存储器设备,其控制对存储器的访问,诸如动态随机存取存储器(DRAM)。

【背景技术】
[0004]近年来,在许多情况下动态随机存取存储器(DRAM)已经被用作数据处理器设备中的大容量和高速访问存储器。然而,在DRAM中,由于跨存储单元的访问、写入和读取之间的切换等等导致减少吞吐量。
[0005]鉴于这些,已知数据处理设备,参考每个存储器命令的类型和要被访问的存储器地址通过重新排列存储器命令的处理顺序其抑制吞吐量的减少,该存储器命令指定通过总线主控件发布的数据的写入或者读取。然而,因为由于重新排列由此增加访问延时的存储器命令出现,所以存在增加访问延时的最坏值的问题。
[0006]因此,已知用于为每个总线主控件事先设置要被发布的存储器命令的处理的优先级的技术。根据此技术,基于以对于每个总线主控件的固定方式事先设置的优先级,重新排列和执行存储器命令。该技术旨在基于为每个总线主控件设置的优先级通过向每个总线主控件发布存储器命令实现短的延时。
[0007]另外,作为用于抑制当通过多个总线主控件进行的存储器访问的竞争出现时出现的存储器访问延时的增加的技术,例如,在JP-A-2007-48274中公开下述技术。即,在JP-A-2007-48274中公开的技术中,响应于通过多个总线主控件发布的存储器访问请求,比存储器访问请求的传输单元小的多个命令被生成。然后,多个命令被交替地发布到用于存储器的存储器访问请求的每个请求源。即,JP-A-2007-48274公开在时分中并行地执行多个存储器访问请求的存储器控制器。


【发明内容】

[0008]当使每个总线主控件基于为每个总线主控件设置的优先级发布存储器命令时,因为优先级被固定并且没有被改变所以可以发布高优先级的大量的存储器命令。结果,在DRAM中能够出现接近于随机数据访问的状态。另外,该状态可以导致频繁的访问惩罚。即,如果要求短的延时的大量的存储器命令被发布,则数据处理设备的吞吐量被减少。另外,在JP-A-2007-48274中公开的技术仅在时分中并行地发出多个存储器访问请求。因此,不能够抑制其中发布高优先级的存储器命令的情形。
[0009]本发明的目的之一是为了通过抑制高优先级的存储器命令的发布的数目避免其中接近于对存储器的随机数据访问的状态出现的情形并且实现具有简单的配置的高的吞吐量和短的延时的数据处理设备。
[0010]本发明的第一方面提供一种数据处理设备,包括:多个总线主控件;以及存储器控制器,存储器控制器被连接到多个总线主控件和其中存储数据的存储器以传输数据,其中,存储器控制器适于控制将数据写入到存储器和从存储器读取数据中的至少一个,其中多个总线主控件中的每一个包括:命令发布单元,命令发布单元适于发布存储器命令以指定对存储器的访问;数据缓冲器;以及优先级信息生成单元,优先级信息生成单元适于取决于数据缓冲器的空闲空间而生成第一优先级信息,其中,第一优先级信息与存储器命令相关联并且指示存储器命令的优先级,并且存储器控制器包括:处理顺序确定单元,处理顺序确定单元适于基于与存储器命令相对应的第一优先级信息来确定由多个总线主控件发布的存储器命令的处理顺序;以及命令处理单元,命令处理单元适于按照由处理顺序确定单元确定的处理顺序来执行从多个总线主控件传输的相应的存储器命令。
[0011]根据在本发明的第一方面中的数据处理设备,通过每个总线主控件发布与第一优先级信息相关联的存储器命令,该第一优先级信息指示根据被设置在每个总线主控件中的数据缓冲器的空闲空间而确定的处理顺序。在这样的情况下,即使在通过多个总线主控件发布的多个存储器命令之间出现竞争,以适当的顺序执行存储器命令。因此,数据处理设备的吞吐量整体上被提高。
[0012]S卩,根据第一方面中的数据处理设备,根据被设置在每个总线主控件中的数据缓冲器的空闲空间来检测适于发布存储器命令的时序,并且使用时序发布存储器命令。因此,与没有发布存储器命令直到数据缓冲器变成空,换言之,在总线主控件的处理处于待机状态的现有技术的数据处理设备相比较,能够大大地增加存储器命令的发布的数目。因此,在上面描述的方面也能够被应用于包括所谓的延时临界总线主控件的数据处理设备。
[0013]S卩,根据在第一方面中的数据处理设备,能够抑制其中大量的高优先级的存储器命令被发布。结果,能够避免其中接近于对存储器的随机数据访问的状态出现的情形并且实现具有简单配置的高吞吐量和短的延时的数据处理设备。在其中写入数据缓冲器中不存在空闲空间的状态和其中读取数据缓冲器完全空的状态是劣化数据处理设备的吞吐量和延时的因素之一。在根据第一方面的数据处理设备中,通过减少这样的状态出现的频率来实现高的吞吐量和短的延时。
[0014]本发明的第二方面提供根据第一方面的数据处理设备,其中存储器控制器包括优先级信息获取单元,优先级信息获取单元适于获取第二优先级信息,第二优先级信息限定了对于发布存储器命令的每个总线主控件用于优先地处理存储器命令的顺序,并且响应于来自存储器控制器的外部的指令,处理顺序确定单元基于第一优先级信息或者第二优先级信息来确定存储器命令的处理顺序。
[0015]通过采用这样的配置,数据处理设备能够在其中基于第一优先级信息确定存储器命令的处理顺序的模式和其中基于第二优先级信息确定存储器命令的处理顺序的模式之间执行切换。结果,考虑到除了整体提高数据处理设备的吞吐量的观点之外的观点能够设置存储器命令的处理顺序。即,除了关于整体提高数据处理设备的吞吐量的处理之外,能够始终以预定的优先级处理由特定总线主控件发布的存储器命令。例如,作为预定的优先级,最高的优先级能够被提及。
[0016]本发明的第三方面提供根据第一或者第二方面的数据处理设备,其中数据缓冲器包括写入数据缓冲器,在写入数据缓冲器中存储要被写入存储器中的写入数据,当写入数据被写入到存储器时,命令发布单元发布写入命令作为存储器命令,并且优先级信息生成单元生成第一优先级信息,第一优先级信息限定了优先于当写入数据缓冲器的空闲空间大时发布的写入命令而执行当空闲空间小时发布的写入命令。
[0017]通过采用这样的配置,能够基于写入数据缓冲器的空闲空间适当地重新排列写入命令的处理顺序。即,当写入数据缓冲器的空闲空间小时,换言之,当写入命令应被快速地处理时,总线主控件发布与高优先级的第一优先级信息相关联的写入命令。即,能够大大地减少其中在写入数据缓冲器中不存在空闲空间的状态出现的频率。相反地,当写入数据缓冲器的空闲空间大时,换言之,当没有必要快速地处理写入命令时,总线主控件发布与低优先级的第一优先级信息相关联的写入命令。因此,因为在存储器命令的重新排列中的自由度被增加,所以数据处理设备的吞吐量整体上被提高。
[0018]本发明的第四方面提供根据第一至第三方面中的任意一个的数据处理设备,其中数据缓冲器包括读取数据缓冲器,在读取数据缓冲器中存储要从存储器读取的读取数据,当从存储器读取读取数据时,命令发布单元发布读取命令作为存储器命令,并且优先级信息生成单元生成第一优先级信息,第一优先级信息限定了优先于当读取数据缓冲器的空闲空间小时发布的读取命令而执行当空闲空间大时发布的读取命令。
[0019]通过采用这样的配置,当在读取数据缓冲器中生成空闲空间时,总线主控件取决于空闲空间的大小发布优先级的读取命令。即,总线主控件发布读取命令使得在读取数据缓冲器中生成的小空闲空间是有用的。因此,能够大大地减少其中读取数据缓冲器完全地空的状态出现的频率。另外,能够发布与低优先级的第一优先级信息相关联的读取命令。即,能够在适当的时序处发布大量的低优先级的读取命令替代如在现有技术中的数据处理设备中偶发地发布高优先级的读取命令。
[0020]本发明的第五方面提供根据第一至第四方面的数据处理设备,其中存储器是动态随机存取存储器(DRAM)。
[0021]本发明的第六方面提供存储器设备,包括:存储器,在存储器中存储数据;多个总线主控件;以及存储器控制器,存储器控制器被连接到多个总线主控件和存储器以传输数据,其中,存储器控制器适于控制将数据写入到存储器和从存储器读取数据中的至少一个,其中多个总线主控件中的每一个包括:命令发布单元,命令发布单元适于发布存储器命令以指定对存储器的访问;数据缓冲器;以及优先级信息生成单元,优先级信息生成单元适于取决于数据缓冲器的空闲空间而生成第一优先级信息,其中,第一优先级信息与存储器命令相关联并且指示存储器命令的优先级,并且存储器控制器包括:处理顺序确定单元,处理顺序确定单元适于基于与存储器命令相对应的第一优先级信息来确定由多个总线主控件发布的存储器命令的处理顺序;以及命令处理单元,命令处理单元适于按照由处理顺序确定单元确定的处理顺序来执行从多个总线主控件传输的相应的存储器命令。

【专利附图】

【附图说明】
[0022]在附图中:
[0023]图1是示出根据本发明的实施例的数据处理设备的配置的示例的框图;
[0024]图2是示出在图1中示出的数据处理设备中设置的总线主控件的配置的示例的图;
[0025]图3是示出根据本发明的实施例的通过数据处理设备执行的优先级信息生成处理的不例的时序图;
[0026]图4是在多个总线主控件中设置的每个读取数据缓冲器的空闲空间中的临时变化的视图;
[0027]图5是示出用于当在多个读取命令之间出现竞争时通过DRAM控制器执行的读取命令的处理顺序的重新排列的处理的概念的图。

【具体实施方式】
[0028]在下文中,将会参考附图描述根据本发明的实施例的数据处理设备。
[0029]图1是示出根据本发明的实施例的数据处理设备的配置的示例的框图。数据处理设备I是与DRAM(动态随机存取存储器)21有关的执行数据的写入和读取的设备,并且包括多个总线主控件和DRAM控制器31。在本示例中,第一总线主控件10-1、第二总线主控件10-2、以及第三总线主控件10-3被采用作为多个总线主控件。然而,总线主控件的类型或者总线主控件的数目不限于此。通过控制线和数据线,诸如内部总线,这些组件被可通信地相互连接。另外,包括数据处理设备I和DRAM21(存储器)的设备可以被称为“存储器设奋O
[0030]例如,第一总线主控件10-1是中央处理单元(CPU)。例如,第二总线主控件10-2是执行图像处理的模块。例如,第三总线主控件10-3是执行声音处理的模块。在下文中,当描述对于第一至第三总线主控件10-1至10-3公共的问题时,这些被统称为“总线主控件10”。稍后将会参考图2详细地描述总线主控件10的配置。DRAM21接收在数据处理设备I中设置的由多个总线主控件发布的存储器命令。
[0031]DRAM控制器31是根据由总线主控件10发布的存储器命令控制DRAM21的存储器控制器。即,DRAM控制器31控制将数据写入到DRAM21和读取来自DRAM21的数据。DRAM控制器31通过控制线和数据线被连接到总线主控件10和DRAM21。控制线被用于诸如存储器命令的控制信号的传输和接收,并且数据线被用于要被写入/读取的数据的传输和接收。S卩,DRAM控制器31基于通过控制线传送和接收的控制信号通过数据线输入和输出数据。
[0032]DRAM控制器31起到处理顺序确定单元的作用,该处理顺序确定单元基于与存储器命令相关联的优先级信息,确定通过多个总线主控件10发布的存储器命令的处理顺序;并且起到命令处理单元的作用,该命令处理单元按照通过处理顺序确定单元确定的处理顺序执行从多个总线主机10发布的每个存储器命令。
[0033]“优先级信息”是确定存储器命令的执行顺序的信息,并且是由总线主控件10生成的信息。在根据本实施例的数据处理设备I中,与存储器命令相关联生成其中基于写入数据缓冲器12和读取数据缓冲器13的空闲空间而限定优先级的优先级信息。因此,能够大大地减少写入数据缓冲器12变满的频率和读取数据缓冲器13变空的频率(参考图2)。
[0034]其中在写入数据缓冲器12中不存在空闲空间的状态和其中读取数据缓冲器13完全空的状态是劣化数据处理设备的吞吐量和延时的因素之一。在根据本实施例的数据处理设备I中,通过减少这样的状态出现的频率来实现高的吞吐量和短的延时。
[0035]图2是示出总线主控件10的配置的示例的框图。如在图2中所示,总线主控件10包括处理单元11、写入数据缓冲器12、第一检测电路14、读取数据缓冲器14、以及第二检测电路15。
[0036]处理单元11发布用于将数据写入到DRAM21的命令(在下文中,被称为写入命令)和用于读取来自DRAM21的数据的命令作为存储器命令(在下文中,被称为读取命令)。换言之,处理单元11起到命令发布单元的作用,该命令发布单元发布存储器命令以指定对DRAM21的访问。
[0037]当将数据写入到DRAM21时,处理单元11从总线主控件10输出要被写入的写入数据、包括DRAM21中的写入目的地的地址信息的写入命令、以及相互关联地通过第一检测电路14生成的优先级信息。
[0038]当从DRAM21读取数据时,处理单元11从总线主控件10输出包括关于其中存储要被读取的读取数据的DRAM21的地址信息的读取命令、和相互关联地通过第二检测电路15生成的优先级信息。
[0039]另外,例如,对于总线主控件10-1、10-2、以及10-3中的每一个的处理单元11特定的处理是下述处理。第一总线主控件10-1的处理单元11根据数据处理设备I的每个单元块执行控制处理。第二总线主控件10-2的处理单元11执行图像处理。第三总线主控件10-3的处理单元11执行声音处理。
[0040]写入数据缓冲器12在发布写入命令之前临时地存储从处理单元11输出的写入数据,并且然后通过DRAM控制器31将写入数据输出到DRAM21。读取数据缓冲器13临时地存储基于通过处理单元11发布的读取命令从DRAM21读取并且从DRAM控制器31传送的读取数据,并且然后将读取数据输出到处理单元11。
[0041]第一检测电路14检测写入数据缓冲器12的空闲空间,取决于该空闲空间生成优先级信息,并且将优先级信息输出到处理单元11和DRAM控制器31。
[0042]S卩,第一检测电路14起到优先级信息生成单元的作用,该优先级信息生成单元取决于写入数据缓冲器12的空闲空间,生成与每个存储器命令相关联并且指示每个存储器命令的优先级的优先级信息。即,当检测到写入数据缓冲器12的空闲空间时,第一检测电路14向存储器命令给予取决于空闲空间的优先级。
[0043]第二检测电路15检测读取数据缓冲器13的空闲空间,取决于空闲空间生成优先级信息,并且将优先级信息输出到处理单元11和DRAM控制器31。
[0044]S卩,第二检测电路15起到优先级信息生成单元的作用,取决于读取数据缓冲器13的空闲空间,该优先级信息生成单元生成与每个存储器命令相关联并且指示每个存储器命令的优先级的优先级信息。即,当检测到读取数据缓冲器13的空闲空间时,第二检测电路15向存储器命令给予取决于空闲空间的优先级。
[0045]通过第一检测电路14和第二检测电路15生成优先级信息的处理是根据本实施例的数据处理设备I的特征之一。即,在根据本实施例的数据处理设备I中,写入数据缓冲器12和读取数据缓冲器13的空闲空间被监控,并且当空闲空间被生成时与存储器命令相关联地生成取决于空闲空间的大小的优先级信息。
[0046]该点是非常不同于现有技术的数据处理设备的点,该数据处理设备没有向总线主控件发布存储器命令直到总线主控件的读取数据缓冲器13是空的并且当读取数据缓冲器13变空的时集中地发布存储器命令。与执行这样的处理的现有技术的数据处理设备相比较,根据本实施例的数据处理设备I能够大大地减少写入数据缓冲器12变满的频率和读取数据缓冲器13变空的频率。因此,如稍后参考图3将会描述的,能够发布将低优先级的优先级信息和读取数据缓冲器13的空闲空间相关联的读取命令。
[0047]S卩,在根据本实施例的数据处理设备I中,通过抑制要求短的延时的存储器命令的发布的数目,即,高优先级的存储器命令的发布的数目,增加通过是存储器控制器的DRAM控制器31的存储器命令的重新排列处理的自由度。结果,数据处理设备的吞吐量整体上被提闻。
[0048]当在多个存储器命令之间出现竞争时,DRAM控制器31优先于其它的存储器命令,执行与指示比其它存储器命令更高的优先级的优先级信息相关联的存储器命令。
[0049]S卩,在根据本实施例的数据处理设备I中,当通过总线主控件10发布存储器命令时,DRAM控制器31重新排列多个存储器命令使得参考与每个存储器命令相关联的优先级信息按照从高优先级的存储器命令开始的顺序被处理。
[0050]图3是示出根据本发明的实施例的通过被设置在数据处理设备中的总线主控件执行的优先级信息生成处理的示例的时序图。在此,将会描述基于读取命令生成优先级信息的处理。
[0051]在图3的上部分中示出的视图中,水平轴指示“时间”,并且垂直轴指示“数据缓冲器(读取数据缓冲器13)中的使用的数据量”。在图3的上部分中示出的视图中,虚线Lm示出读取数据缓冲器13的最大存储容量,并且实线Ld示出在读取数据缓冲器13中使用的数据量的变化。在图3的下部分中示出的视图中,水平轴指示“时间”,并且垂直轴指示“与读取命令相关联的优先级”。在图3的下部分中示出的视图中,实线Lp示出在通过优先级信息指示的优先级的等级的变化。
[0052]第二检测电路15在相应的时间处检测空闲空间dl、d2、d3、…,取决于空闲空间基于在相对应的时间处发布的读取命令通过确定优先级生成优先级信息,并且将优先级信息输出到处理单元11和DRAM控制器31。具体地,第二检测电路15如下地生成优先级信肩、O
[0053]在图3中示出的周期T1、T3、以及T9中,在读取数据缓冲器13中不存在空闲空间。因此,可以说,在周期Tl、Τ3、以及T9中不需要考虑读取数据缓冲器13将会变空的的可能性。因此,是指示最小优先级的优先级信息的“优先级信息PO”与在周期Τ1、Τ3、以及T9中发布的读取命令相关联。
[0054]在周期Τ2、Τ4、以及Τ8中,在读取数据缓冲器13中生成空闲空间dl。因此,在周期T2、T4、以及Τ8中第二检测电路15生成并且输出指示与空闲空间dl相对应的优先级的优先级信息。在此,为了便于解释,与空闲空间dl相对应的优先级信息被称为“优先级信息P1”。即,优先级信息Pl与在周期T2、T4、以及T8中发布的读取命令相关联。
[0055]在根据本实施例的数据处理设备I中,如在图3中所示,当在读取数据缓冲器13中生成空闲空间时,即使空闲空间小,总线主控件10的处理单元11发布与空闲空间的大小相对应的优先级的读取命令。
[0056]另一方面,在现有技术的数据处理设备中,没有发布读取命令直到读取数据缓冲器13变成完全空的。因此,读取命令的延时被增加。在现有技术的数据处理设备中,因为高优先级的大量的存储器命令被发布,所以存在对于通过是存储器控制器的DRAM控制器的读取命令的处理顺序的重新排列的限制。结果,因为重新排列的自由度被减少,所以设备的吞吐量整体上被减少。
[0057]在根据鉴于这样的情形已经提出的本实施例的数据处理设备I中,如图3所示,读取命令被发布使得甚至在读取数据缓冲器13中产生的小的空闲空间是有用的。因此,因为读取数据缓冲器13变空的频率被大大地减少,所以数据处理设备I的吞吐量整体上被提闻。
[0058]在周期T5和T7中,在读取数据缓冲器13中生成是比空闲空间dl大的空闲空间的空闲空间d2。因此,第二检测电路15在周期T5和T7中生成和输出指示与空闲空间d2相对应的优先级的优先级信息。在本示例中,为了便于解释,与空闲空间d2相对应的优先级信息被称为“优先级信息P2”。即,优先级信息P2与在周期T5和T7中发布的读取命令相关联。
[0059]在周期T6中,在读取数据缓冲器13中生成是比空闲空间d2大的空闲空间的空闲空间d3。因此,第二检测电路15在周期T6中生成和输出指示与空闲空间d3相对应的优先级的优先级信息。在本示例中,例如,为了便于解释,与空闲空间d3相对应的优先级信息被称为“优先级信息P3”。即,优先级信息P3与在周期T6中发布的读取命令相关联。
[0060]在优先级信息PO至P3中,在P之后给予的更大编号指示更高的优先级。如上所述,空闲空间dl至d3的大小满足dl〈d2〈d3关系。即,在根据本实施例的数据处理设备I中,与读取数据缓冲器13的空闲空间的大小相对应的优先级信息被生成,并且从总线主控件10中输出与优先级信息相关联的读取命令。
[0061]因此,在根据本实施例的数据处理设备I中,被发布的读取命令的优先级是与在发布时的读取数据缓冲器13的空闲空间相对应的优先级。因此,因为以适当的优先级发布每个读取命令,所以设备的吞吐量整体上也被提高。
[0062]在下文中,将会描述当在读取命令之间出现竞争时重新排列通过多个总线主控件10-1、10-2、以及10-3发布的读取命令的示例。图4是被设置在多个总线主控件10-1、10-2、以及10-3中的每个读取数据缓冲器的空闲空间的临时变化的视图。在图4中示出的视图中,垂直轴指示总线主控件10的空闲空间,并且水平轴指示时间。
[0063]实线LI示出被设置在第一总线主控件10-1中的读取数据缓冲器的空闲空间的临时变化。虚线L2示出被设置在第二总线主控件10-2中的读取数据缓冲器的空闲空间的临时变化。一点连线L3示出被设置在第三总线主控件10-3中的读取数据缓冲器的空闲空间的临时变化。
[0064]在周期TlO和T13中,第一总线主控件10-1的空闲空间是d2,第二总线主控件10-2的空闲空间是d3,并且第三总线主控件10-3的空闲空间是dl。
[0065]因此,在周期TlO和T13中,优先级信息P2与由第一总线主控件10_1发布的读取命令相关联,优先级信息P3与由第二总线主控件10-2发布的读取命令相关联并且,优先级信息Pl与由第三总线主控件10-3发布的读取命令相关联。
[0066]S卩,按照第二总线主控件10-2、第一总线主控件10-1、以及第三总线主控件10-3的顺序,在周期TlO和T13中发布的读取命令的优先级高。
[0067]在周期Tll和T12中,第一总线主控件10-1的空闲空间是d3,第二总线主控件10-2的空闲空间是d2,并且第三总线主控件的空闲空间是dl。
[0068]因此,在周期Tll和T12中,优先级信息P3与由第一总线主控件10_1发布的读取命令相关联,优先级信息P2与由第二总线主控件10-2发布的读取命令相关联并且,并且优先级信息Pl与由第三总线主控件10-3发布的读取命令相关联。
[0069]S卩,按照第一总线主控件10-1、第二总线主控件10-2、以及第三总线主控件10-3的顺序,在周期Tll和T12中发布的读取命令的优先级高。
[0070]在下文中,将会通过示例描述通过上述处理基于与每个读取命令相关联的优先级信息P的读取命令的处理顺序的重新排列。图5是示出当在多个读取命令之间出现竞争时通过DRAM控制器31执行的读取命令的处理顺序的重新排列的概念的图。
[0071]在图5中示出的示例中,在五个读取命令Ra、Rb、Re、RcU以及Re之间存在竞争。优先级信息P3与读取命令Ra相关联。优先级信息P3与读取命令Rb相关联。优先级信息P2与读取命令Re相关联。优先级信息Pl与读取命令Rd相关联。优先级信息P2与读取命令Re相关联。
[0072]另外,在图5中示出的示例是其中在此状态下四个读取命令Ra、Rb、Rc、以及Rd已经被输入到DRAM控制器31并且读取命令Re重新被输入到DRAM控制器31的示例。
[0073]如上所述,在本示例中的优先级信息P中,在P后面给予的更高的编号指示更高的优先级。因此,与重新被输入到DRAM控制器31的读取命令Re相关联的优先级信息P2具有比已经被输入到DRAM控制器31的优先级信息Pl更高的优先级。
[0074]在此情形下,DRAM控制器31改变重新被输入到DRAM控制器31的读取命令Re和与比读取命令Re低的优先级的优先级信息P相关联的读取命令Rd的处理顺序,尽管读取命令Rd先前已经被输入到DRAM控制器31。S卩,DRAM控制器31基于优先级信息P重新排列读取命令Re和Rd的处理顺序。
[0075]虽然读取命令的重新排列处理已经被描述为存储器命令的重新排列处理的示例,但是对于写入命令的重新排列处理来说点“取决于被设置在总线主控件中的写入数据缓冲器12的空闲空间的大小生成优先级信息,并且基于优先级信息重新排列处理顺序”是相同的。然而,在下述点中生成优先级信息的方法不同于读取命令的情况。
[0076]S卩,在读取命令的情况下,随着读取数据缓冲器13的空闲空间变大,通过第二检测电路15生成更高优先级的优先级信息。然而,在写入命令的情况下,随着写入数据缓冲器12的空闲空间变得较小,通过第一检测电路14生成更高优先级的优先级信息。因此,在写入命令的情况下,当写入数据缓冲器12的空闲空间是零时,最高优先级的优先级信息被生成。
[0077]基于如上所述的被生成的优先级信息,DRAM控制器31重新排列写入命令的处理顺序使得按照从较高优先级的写入命令开始的顺序处理。
[0078]另外,通过以对于读取命令和写入命令共同的比例设置优先级信息,可以为其中混合读取命令和写入命令的存储器命令组重新排列处理顺序。
[0079]如上所述,根据本发明的实施例,取决于被设置在总线主控件10-1、10-2、10-3、…中的每个数据缓冲器的空闲空间来确定通过相应的总线主控件10-1、10-2、10-3、…发布的存储器命令的优先级,并且DRAM控制器31基于优先级重新排列存储器命令的执行顺序。因此,因为通过抑制高优先级的存储器命令的发布的数目存储器访问控制的效率变高,所以能够提供具有简单配置的实现高吞吐量和短的延时的数据处理设备。
[0080]在现有技术的数据处理设备中,通过发布存储器命令的总线主控件以混合的方式设置存储器命令的优先级。另一方面,在根据本实施例的数据处理设备I中,取决于写入数据缓冲器12和读取数据缓冲器13的空闲空间设置存储器命令的优先级。因此,抑制其中高优先级的存储命令被集中地发布的情形。另外,考虑到读取和写入的类型或者存储器地址DRAM控制器31重新排列存储器地址。因此,即使在通过多个总线主控件发布的多个存储器命令之间出现竞争,响应于跨存储单元的访问、在写入和读取之间的切换等等,按照适当的顺序执行这些存储命令。结果,具有高吞吐量和短的延时的数据处理设备I被实现。
[0081]虽然参考实施例已经描述本发明,但是不言而喻的是,本发明不受到上述示例的限制并且在本发明的范围内能够进行各种修改和应用。
[0082](第一修改)
[0083]例如,当如在图3中示出的周期T1、T3、以及T9中在读取数据缓冲器13中不存在空闲空间时,第二检测电路15可以被配置成生成“禁止读取命令的发布的信息”替代发布指示最小的优先级的“优先级信息PO”并且将其输出到处理单元11。在这样的情况下,在周期Τ1、Τ3、以及T9中,接收从第二检测电路15输出的“禁止读取命令的发布的信息”的处理单元11没有发布读取命令。
[0084](第二修改)
[0085]例如,替代使用取决于在上面描述的数据缓冲器12和13的空闲空间设置的优先级信息(在下文中,被称为第一优先级信息),其中通过为每个总线主控件基于事先由每个总线主控件发布的存储器命令设置优先级获得的优先级信息(在下文中,被称为第二优先级信息)被使用的模式(在下文中,被称为优先级固定模式)可以被设置使得在优先级固定模式和其中执行对上述实施例特定的处理的模式(在下文中,被称为“优先级变化模式”)之间的切换是可能的。例如,在优先级固定模式中,DRAM控制器31可以被配置成包括寄存器(未示出),并且优选的是,使用寄存器(未示出)为每个总线主控件设置第二优先级信息。
[0086]因此,通过配置要在其间切换的优先级固定模式和优先级变化模式,考虑到除了整体地提高数据处理设备I的吞吐量的观点之外的观点能够设置存储器命令的处理顺序。即,除了关于整体地提高数据处理设备I的吞吐量的处理之外,能够始终以预定的优先级(例如,最高的优先级)处理通过特定总线主控件发布的存储器命令。
[0087]在此修改中,DRAM控制器31起到设置信息获取单元的作用,该设置信息获取单元获取限定用于优先地处理用于发布存储器命令的每个总线主控件的存储器命令的顺序的第二优先级信息。另外,DRAM控制器31起到处理顺序确定单元的作用,该处理顺序确定单元响应于来自数据处理设备的外部的指令基于第一优先级信息或者第二优先级信息确定存储器命令的处理顺序。
[0088]各种阶段的发明被包括在上述实施例和修改中,并且通过适当地组合被公开的多个组成元件能够提取本发明的各种方面。例如,当在本发明的说明书中描述的问题能够被解决时,即使从在实施例中示出的所有组成元件中删除一些组成元件,其中组成元件被删除的配置也能够被提取作为本发明的一个方面。
【权利要求】
1.一种数据处理设备,包括: 多个总线主控件;以及 存储器控制器,所述存储器控制器被连接到所述多个总线主控件和其中存储数据的存储器以传输所述数据,其中,所述存储器控制器适于控制将数据写入到所述存储器和从所述存储器读取数据中的至少一个,其中 所述多个总线主控件中的每一个包括: 命令发布单元,所述命令发布单元适于发布存储器命令以指定对所述存储器的访问; 数据缓冲器;以及 优先级信息生成单元,所述优先级信息生成单元适于取决于所述数据缓冲器的空闲空间而生成第一优先级信息,其中,所述第一优先级信息与所述存储器命令相关联并且指示所述存储器命令的优先级,并且 所述存储器控制器包括: 处理顺序确定单元,所述处理顺序确定单元适于基于与所述存储器命令相对应的所述第一优先级信息来确定由所述多个总线主控件发布的存储器命令的处理顺序;以及 命令处理单元,所述命令处理单元适于按照由所述处理顺序确定单元确定的所述处理顺序来执行从所述多个总线主控件传输的相应的存储器命令。
2.根据权利要求1所述的数据处理设备,其中 所述存储器控制器包括优先级信息获取单元,所述优先级信息获取单元适于获取第二优先级信息,所述第二优先级信息限定了对于发布所述存储器命令的每个总线主控件用于优先地处理所述存储器命令的顺序,并且 响应于来自所述存储器控制器的外部的指令,所述处理顺序确定单元基于所述第一优先级信息或者所述第二优先级信息来确定所述存储器命令的所述处理顺序。
3.根据权利要求1所述的数据处理设备,其中 所述数据缓冲器包括写入数据缓冲器,在所述写入数据缓冲器中存储要被写入所述存储器中的写入数据, 当所述写入数据被写入到所述存储器时,所述命令发布单元发布写入命令作为所述存储器命令,并且 所述优先级信息生成单元生成所述第一优先级信息,所述第一优先级信息限定了优先于当所述写入数据缓冲器的空闲空间大时发布的写入命令而执行当所述空闲空间小时发布的写入命令。
4.根据权利要求1所述的数据处理设备,其中 所述数据缓冲器包括读取数据缓冲器,在所述读取数据缓冲器中存储要从所述存储器读取的读取数据, 当从所述存储器读取所述读取数据时,所述命令发布单元发布读取命令作为所述存储器命令,并且 所述优先级信息生成单元生成所述第一优先级信息,所述第一优先级信息限定了优先于当所述读取数据缓冲器的空闲空间小时发布的读取命令而执行当所述空闲空间大时发布的读取命令。
5.根据权利要求1所述的数据处理设备,其中 所述存储器是动态随机存取存储器(DRAM)。
6.—种存储器设备,包括: 存储器,在所述存储器中存储数据; 多个总线主控件;以及 存储器控制器,所述存储器控制器被连接到所述多个总线主控件和所述存储器以传输所述数据,其中,所述存储器控制器适于控制将数据写入到所述存储器和从所述存储器读取数据中的至少一个,其中 所述多个总线主控件中的每一个包括: 命令发布单元,所述命令发布单元适于发布存储器命令以指定对所述存储器的访问; 数据缓冲器;以及 优先级信息生成单元,所述优先级信息生成单元适于取决于所述数据缓冲器的空闲空间而生成第一优先级信息,其中,所述第一优先级信息与所述存储器命令相关联并且指示所述存储器命令的优先级,并且所述存储器控制器包括: 处理顺序确定单元,所述处理顺序确定单元适于基于与所述存储器命令相对应的所述第一优先级信息来确定由所述多个总线主控件发布的存储器命令的处理顺序;以及 命令处理单元,所述命令处理单元适于按照由处理顺序确定单元确定的所述处理顺序来执行从所述多个总线主控件传输的相应的存储器命令。
【文档编号】G11C11/4063GK104183267SQ201410213229
【公开日】2014年12月3日 申请日期:2014年5月20日 优先权日:2013年5月20日
【发明者】西冈直俊 申请人:雅马哈株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1