数据处理装置和存储器系统的制作方法

文档序号:6451661阅读:156来源:国知局
专利名称:数据处理装置和存储器系统的制作方法
技术领域
本发明涉及一种数据处理装置和一种存储器系统,所述数据处理装置包括第一处理器,它用于提供连续的输入数据集;第二处理器,它用于接收连续的输出数据集,所述存储器系统包括多个存储器电路,它们用于接收连续的输入数据集并提供连续的输出数据集。
本发明还涉及一种存储器系统,它可接收数据并将数据提供给若干个处理器,而且,本发明还涉及在上述数据处理装置中处理数据的方法。本发明具体涉及与包括数据流的多媒体有关的应用程序。
美国专利NO4930066公开了一种存储器系统,它包括多个数据输入/输出端口,这些端口用于提供页地址;多个存储体,它们用于存储数据页;以及,一交换网络,它用于使数据输入/输出端口与存储体之间的连接转动。将地址传给与数据相关联的存储器系统。所以,就各个输入/输出端口而言,所述系统包括一接口,它用于接收数据和相关地址。这就会在存储数据时导致延迟。而且,从硬件角度说,所述接口是复杂的。此外,存储体可用于读出或写入,但不能用于这两者。在选定存储体以接收要写入的数据并提供要读出的数据时,就会出现存储器访问冲突。当需要两个不同的端口去访问位于同一存储体中的两个页时,上述结构易于发生冲突。
本发明的目的是提供一种如开头段落中所述的更为简单的数据处理装置。
依照本发明,所述数据处理装置包括一主控制器,它用于通过与输入数据集和输出数据集相关的控制命令来设置所述存储器系统,所述存储器系统还包括一控制器,它用于根据控制命令选择第一存储器电路并在第一处理器提供来自输入数据集的数据时在所述第一存储器电路中生成写入地址,且用于根据控制命令选择第二存储器电路并在第二处理器需要来自输出数据集的数据时在所述第二存储器电路中生成读出地址。
与输入数据集和输出数据集有关的上述控制命令设置所述存储器系统,使该系统可独立地生成用于上述两个数据集的数据的地址。所述存储器系统中的控制器可在内部计算输入和输出数据的地址并且本身为各数据选定一存储器电路。因此,处理器不需要为提供或接收数据而传输地址。事实上,处理器在需要或提供数据集时无需知道与所述存储器系统的内部行为有关的任何事情。结果,与先有技术相比,可以极大地简化处理器与这种存储器系统之间存在的任何通讯协议以及最终的硬件实现形式。
本发明的另一个优点涉及以下方面。在本发明的数据处理装置中,所述存储器系统可接收来自第一处理器的输入数据,同时,该存储器系统可将输出数据提供给第二处理器。所述控制器可通过选择用于输入和输出数据的两种不同存储器电路而消除访问冲突。这就能防止所存储的数据的出错。存储器电路还可以是这样类型的存储器电路,它在给定的时间允许读出或者写入,但不允许两者同时进行。这种存储器电路较为便宜,因此,成本效益好是本发明的另一个优点。
可按不同的方式生成读出和写入地址。获得这些地址的一种方式是将所有与输入数据集和输出数据集有关的地址加载进查找表。但是,这些查找表实现起来是复杂的并且需要大的芯片面积。
权利要求2的本发明最佳实施例包括一个读出计数器和一个写入计数器,它们分别用于生成确定要将数据存储到哪里或从哪里取出的读出和写入地址。这两个计数器是用于提供读出地址和写入地址的装置的简化实现形式。
对存储器系统来说,还存在有多种了解在何时由第一处理器提供来自输入数据集的数据以及在何时第二处理器需要来自输出数据集的数据的方法。一种方案是,上述两个计数器响应时钟信号的时钟脉冲递增计数一个单位或递减计数一个单位。这意味着按照由上述时钟信号确定的固定速率接收或提供上述输入和输出数据。
权利要求3的本发明另一个实施例引入了来自处理器的读出信号和写入信号。处理器在需要新的输出数据或在提供新的输入数据时将一读出或写入信号发送给存储器系统。这些信号能使处理器异步地接收或提供数据。在数据处理装置的这一实施例中,所述两个处理器可按它们自己的速率访问存储器系统。如果多个处理器有它们自己的处理速度,在这种情况下,如果所述处理器不能按同样的速率接收或提供数据,则两个处理器可按它们自己的速率访问存储器系统是最优越的。与响应时钟信号传输数据的方案相比,权利要求3的实施例能提供有较大灵活性的优点。
本发明还涉及一种存储器系统,该系统包括多个存储器电路,它们用于接收连续的输入数据集并用于提供连续的输出数据集,所述存储器系统还包括一控制器,可用与输入数据集和输出数据集相关的控制命令对上述控制器编程,根据这些控制命令,当接收到来自输入数据集的数据时,可选择第一存储器电路,并在该第一存储器电路中生成写入地址,当提供来自输出数据集的数据时,可选择第二存储器电路,并在该第二存储器电路中生成读出地址。本发明更一般地涉及一种处理数据的方法,该方法可在权利要求中所述的数据处理装置中实施。
以下参照下文中结合附图所述的实施例说明本发明的特定方面,在附图中

图1是本发明数据处理装置的一个实施例的框图;图2是本发明数据处理装置的一个最佳实施例的框图;图3是一存储器系统的框图,它示出了各组件的内部连接关系;图4示出了8位字MC_W。
图1中示出了本发明的数据处理装置1。该装置包括一存储器系统2;一第一处理器PROC1,它用于将连续的输入数据集提供给存储器系统2;以及,一第二处理器PROC2,它用于接收来自存储器系统2的连续输出数据集。PROC1通过纵横开关6和存储器系统2的输入端口3提供数据Di。PROC2通过纵横开关5和存储器系统2的输出端口4提供数据Do。存储器系统2包括一存储器控制器MCU以及一存储器块MB。其中物理地存储有数据的存储器块MB由任意数量(这里为5)的独立存储器电路MEM1、MEM2、MEM3、MEM4和MEM5构成。在本发明的一个实施例中,这些存储器电路可例如是有256个10位字的SRMA(静态随机存取存储器)。当必须在其中写入数据Di时,可通过相应的输入端口I1、I2、I3、I4或I5来访问各存储器电路MEM1,……,MEM5,当必须读出数据Do时,可通过相应的输出端口O1、O2、O3、O4或O5来访问各存储器电路MEM1,……,MEM5。
数据处理装置1还包括一主控制器MCP,它通过控制总线CB将控制命令CC传给控制器MCU。这些控制命令CC与接收自PROC1的输入数据集相关,从而可被写入存储器块MB。所述控制命令CC还与PROC1所需要的输出数据集相关,从而可从存储器块MB中取出。在由PROC1和PROC2分别处理输入数据集和处理输出数据集之前,将命令CC传给控制器MCU。命令CC对控制器MCU进行设置。存储器系统2中的控制器MCU的主要功能是对将数据存储到存储器块MB中进行管理。对上述控制命令进行响应,控制器MCU可生成一命令集COM,这些命令被传给存储器块MB并指示在哪里从MB中取出数据Do或者在哪里将数据Di放进MB。因此,当PROC1在端口3中提供数据Di以便写入该数据时,MCU就首先将指示必须通过启动相应的输入端口I1、I2、I3、I4或I5将数据Di写入哪一个存储器电路MEM1、MEM2、MEM3、MEM4或MEM5的命令集COM传给存储器系统2。所述命令集COM还包括一写入地址,必须在该地址处将数据写入选定的存储器电路。与此相似,当PROC2在输出端口4处需要数据Do时,MCU就发送命令集COM,该命令集COM将选择了哪一个存储器电路MEM指示给存储器块MB并包括所述存储器电路中的读出地址,要从该地址中取出所需的数据。
应该注意,在同一存储器电路中不能同时进行写入和读出操作。的确,为了不使同时进行读写所需的数据出错,不允许同时进行上述两种操作。当为同时读写选定了同一存储器电路时,不启动读出操作,而是如通常那样执行写操作。仅可在两个不同的存储器电路中同时执行读写操作。结果,可在本发明的数据处理装置中解决了访问冲突。在以后的段落中,将详细说明如何检测并避免可能出现的访问冲突。
所述存储器块可同多个处理器联合使用。但是,两个处理器不能同时访问存储器系统2以进行写入。但是,若干个处理器可同时访问存储器块MB,以便通过输出端口4读出同一数据集。本文所述的存储器块通常用作处理链中的两个处理器之间的缓冲存储器。
在本发明的一个最佳实施例中,图2所示的控制器MCU传送命令集COM,该命令集由四个信号MS、R/W、AD_W和AD_R构成。而且,在该最佳实施例中,控制器MCU包括一控制器CTRL,该控制器在由控制命令设置之后于要读出或写入数据时将信号MS传给存储器块MB。信号MS能选择存储器电路MEM1、MEM2、MEM3、MEM4或MEM5。控制器CTRL还向存储器块提供表示是否需要选定的存储器电路以便进行读出或写入的R/W信号并且启动其输入端口I1、……I5或其输出端口O1、…O5,这取决于是为读出还是为写入而选定存储器电路。上述信号例如在为写入而需要选定的存储器电路是1,在为读出而需要选定的存储器电路是0。
存储器控制器MCU还包括两个内部计数器CNT_R和CNT_W,它们可从外部加以装载。响应通过控制器MCU的写-输入端口7接收到的信号NXT_W来修改计数器CNT_W的值,并且,计数器CNT_W的值能提供信号AD_W,它是要被写进控制器CTRL所选择的存储器电路中的数据Di的读出地址。因此,当处理器PROC1提供数据Di时,处理器PROC1还通过纵横开关6和写输入端口7来发送信号NXT_W。将数据Di在存储器电路中的由AD_W所指示的存储单元处写进控制器CTRL所选定的存储器电路。然后,计数器CNT_W响应NXT_W而增一并准备好提供一新的地址AD_W,该地址指示PROC1所提供的下一个数据Di的下一个可用存储单元。所以,信号NXT_W能使选定存储器电路中的地址增一,以便连续且异步地写入数据Di。在本发明的这一实施例中,在将数据写进选定的存储器电路之后,计数器CNT_W增一。CNT_W还可响应NXT_W在写入数据之前减一。
与此相似,当PROC2需要来自存储器块的新数据Do时,PROC2会通过纵横开关5并通过控制器MCU的读输入端口8将信号NXT_R发送给计数器CNT_R。响应信号NXT_R,计数器CNT_R增一并将读出地址AD_R提供给MB。地址AD_R是控制器CTRL为读出而选定的存储器电路中的由PROC2所需的数据Do的地址。在从选定的存储器电路中取出数据之前,计数器CNT_R增一。在本发明的一个实施例中,信号NXT_W和NXT_R被提供给上述计数器的相应时钟输入,从而分别起用于计数器CNT_W和CNT_R的异步时钟的作用。这一最佳实施例的主要优点是数据处理装置1的异步行为,这种行为能使得有不同处理速度的处理器访问前述存储器系统。在本发明的一种可能实现形式中,所述两个计数器与一时钟信号相连并且在该时钟信号的前缘处提供读出和写入地址。这种实现形式需要必须按固定的时钟频率接收和提供数据的处理器的同步行为。
图3中示出了本发明的一种改进形式。该图示出了一种存储器控制器MCU,它包括图2的两个计数器CNT_W和CNT_R。在本发明的这种改进实施例中,图2所示的控制器CTRL包括两个内部独立控制器CTRL_N、CTRL_R以及一独立单元COMP,该独立单元用于检测和解决存储器系统2中可能出现的访问冲突。控制器MCU包括四个寄存器REG1、REG2、REG3和REG4。这些寄存器接收来自主控制器MCP的控制命令集CC。在这种情况下,命令集是由四个主命令字Strt_W、MC_W、MC_R和Strt_R。主控制器MCP响应在控制总线CB上传输的装载信号ld_conf将命令MC_W和MC_R分别存储在REG2和REG3中。响应来自控制器CTRL_W和CTRL_R的ld信号将Strt_W和Strt_R分别装进REG1和REG4。通过连接线路10将REG1的内容传给计数器CNT_W。通过连接线路11将REG2的内容传给控制器CTRL_W。通过连接线路12将REG3的内容传给控制器CTRL_R。通过连接线路13将REG4的内容传给计数器CNT_R。在控制总线CB上传输的ld_conf信号启动对存储器控制器MCU的设置。响应ld_conf信号,用在控制总线CB上接收的新控制命令CC来更新寄存器REG2、REG3的内容。
图3中所示的存储器块是对称的,假定该存储器块的上部涉及存储器块的写入功能,而对称的下部则涉及存储器块的读出功能。以下的说明主要集中于存储器块与写入功能有关的部件,但就这些部件所说明的内容对与读出功能有关的对称部件也是有效的。
Strt_W、MC_W、MC_R和Strt_R可以是8位字,其中,所说的位具有以下所述的意义。信号MC_R和MC_W分别限定了用于读出处理周期的读模板和用于写入处理周期的写模板。一个处理周期始于在设置阶段装进控制器CTRL_W、CTRL_R的新控制命令集CC。图4所示的8位字MC_W中的每一位的精确含义如下-最低有效位MC_W
表示写入操作是否有效。当该位被置为“1”时,允许进行写入操作;当该位被置为“0”时,使写入操作失效,计数器CNT_W不增一,且忽略MC_W的其它位。
-MC_W[1]和MC_W[2]从四种可能的模板中选出写入操作模板。表1限定了存储在内部控制器CTRL_W中的代码,该代码给出了用于写入操作的模扳。
-MC_W[3]、MC_W[4]和MC_W[5]指示写入周期中用于写入操作的起始存储器电路号的值。在本发明的这一实施例中,存储器块MB包括五个独立的存储器电路,在这种情况下,从1至5的存储器电路号是编码成三位的二进制数。
-MC_W[6]未用。
-最高有效位MC_W[7]表示在写入周期中需要改变存储器电路号。在该位被置为“0”时,当8位地址计数器CNT_W从存储器电路的开始到结束时,存储器电路号自动地增一。如果存储器电路号等于最大值,这里最大值为5,那么,就将编码在MC_W[3]、MC_W[4]和MC_W[5]中的存储器电路号设置成1。控制器CTRL_W通过连接线路14访问CNT_W的当前值以便进行检查。在最高有效位MC_W[7]被置为“1”时,编码在MC_W[3]、MC_W[4]和MC_W[5]中的存储器电路号在写入周期中不改变。
类似的说明对8位字MC_R也是有效的。就这时的读出处理周期而言,MC_R的位与MC_W的位有同样的意义。因此,控制器CTRL_R通过连接线路17检查和重置CNT_R的值并响应命令ld使计数器CNT_R加载一新的值。
在为读出操作选定的存储器电路与为写入操作选定的存储器电路相同时即在MC_W[3]=MC_R[3]=MC_R[3]、MC_W[4]=MC_R[4]、MC_W[5]=MC_R[5]时,就可能出现访问冲突。另外,在写入和读出操作两者均有效时即MC_W
=1且MC_R
=1,冲突就会出现。单元COMP从CTRL_W中接收在端口I5上传输的MC_W
、MC_W[3]、MC_W[4]、MC_W[5]并从CTRL_R中接收在端口I6上传输的MC_R
、MC_R[3]、MC_R[4]、MC_R[5]。单元COMP逐位比较所接收到的位,当单元COMP检测到实际的存储器访问冲突(为读出和为写入所选定的存储器电路号是相同的并且读出和写入操作两者均有效)时,该单元就通过端口I6确保CTRL_R将告知读出操作是否有效的位MC_R
读成0。事实上,单元COMP并不精确地修改值为1的MC_R
,但能确保CTRL_R将该位读成0。由于读出和写入操作之一在新的设置阶段无效或者由于在新的设置过程中或在读出或写入操作过程中修改了要为读出或写入而访问的存储器电路号,故冲突会停止。在这种情况下,单元COMP不检测其它冲突,从而如通常那样执行写入操作。
以下假定需要将数据Di写进存储器系统2内。在端口3中提供Di,同时,CRTL_W和CNT_W传送它们相应的信号MS、R/W和AD_W。MS信号例如是三位编码位,它们表示要选择的存储器电路号。将MS信号传给多路解调器DEMUX,该多路解调器的输出与各存储器电路MEM相连。多路解调器DEMUX将1传给其号码被编码进MS中的存储器电路并将0传给所有其它的存储器电路。R/W信号被传给所有的存储器电路,但仅被选定的存储器电路所考虑,而且还会导致为写入Di而启动存储器电路的输入端口。写入地址AD_W也被传给所有的存储器电路,但仅被选定的存储器电路所考虑。然后,在存储器块内将所述数据传至启动的输入端口并传至选定存储器电路内的指定存储单元。
在本发明的一个改进型实施例中,存储器系统2可发送一信号,以使将其是准备接收数据还是提供数据的指示给处理器。这就能防止处理器在存储器为空时为读出而访问该存储器或者在存储器已满时为写入而访问该存储器。
附图及其描述是说明但并不限制本发明。可以看出,存在有多种属于后附权利要求范围内的变化形式。在这方面,作以下结尾说明。
存在有多种在物理上将功能或功能单元扩展到多个装置上的方法。这方面,附图仅仅是说明性的,每个图都仅表示本发明的一个可能的实施例。
权利要求
1.一种数据处理装置(1),该装置包括-第一处理器(PROC1),它用于提供连续的输入数据集;-第二处理器(PROC2),它用于接收连续的输出数据集;-存储器系统(2),它包括多个存储器电路(MEM),这些存储器电路用于接收上述连续的输入数据集并提供上述连续的输出数据集;其中-所述数据处理装置还包括一主控制器(MCP),它通过与输入数据集和输出数据集相关的控制命令(CC)设置上述存储器系统;-所述存储器系统还包括一控制器(MCU),-在第一处理器提供来自前述输入数据集的数据(Di)时,所述控制器用于根据上述控制命令选择一第一存储器电路并在所述第一存储器电路中生成写入地址(AD_W),-在第二处理器需要来自前述输出数据集的数据(Do)时,所述控制器用于根据上述控制命令选择一第二存储器电路并在所述第二存储器电路中生成读出地址(AD_R)。
2.如权利要求1的数据处理装置,其中所述控制器包括-写入-计数器(CNT_W),以与接收自输入数据集的数据相关联的方式来修改上述计数器的值,并且,该计数器的值指示前述第一存储器电路中的数据的写入地址;-读出-计数器(CNT_R),以与提供自输出数据集的数据相关联的方式来修改上述计数器的值,并且,该计数器的值指示前述第二存储器电路中的数据的读出地址。
3.如权利要求1的数据处理装置,其中所述控制器包括一写输入端口(7),它用于响应控制器生成写入地址而接收来自上述第一处理器的写入数据信号(NXT_W),所述控制器还包括一读出输入端口(8),它用于响应控制器生成读出地址而接收来自上述第二处理器的读出数据信号(NXT_R)。
4.一种存储器系统(2),该系统包括多个存储器电路(MEM),它们用于接收连续的输入数据集并用于提供连续的输出数据集,其中,所述存储器系统还包括一控制器(MCU),可用与输入数据集和输出数据集相关的控制命令(CC)对上述控制器编程,根据这些控制命令,当接收到来自输入数据集的数据(Di)时,可选择一第一存储器电路,并在该第一存储器电路中生成一写入地址(AD_W),当提供来自输出数据集的数据(Do)时,可选择一第二存储器电路,并在该第二存储器电路中生成一读出地址(AD_R)。
5.数据处理装置(1)中的一种处理数据的方法,所述数据处理装置包括-第一处理器(PROC1),它用于提供连续的输入数据集;-第二处理器(PROC2),它用于接收连续的输出数据集;-存储器系统(2),它包括多个存储器电路(MEM),这些存储器电路用于接收上述连续的输入数据集并提供上述连续的输出数据集;其中,所述方法就输入数据集和输出数据集而言包括下列步骤-配置步骤,在该步骤中,通过与输入数据集和输出数据集相关的控制命令设置上述存储器系统;-执行步骤,在该步骤中,根据上述控制命令,所述存储器系统选择一第一存储器电路并为属于上述输入数据集的数据在所述第一存储器电路中生成写入地址;选择一第二存储器电路并为属于上述输出数据集的数据在所述第二存储器电路中生成读出地址。
全文摘要
一种数据处理装置(1)包括:第一处理器(PROC1),它用于提供连续的输入数据集;第二处理器(PROC2),它用于接收连续的输出数据集;以及,存储器系统(2),它包括多个存储器电路(MEM),这些存储器电路用于存储上述输入和输出数据,依照本发明,所述数据处理装置还包括主控制器(MCP),它通过与输入数据集和输出数据集相关的控制命令(CC)设置上述存储器系统。所述控制命令在上述存储器系统中被控制器(MCU)所接收。当第一处理器提供来自输入数据集的数据(Di)时,控制器就根据上述控制命令选择一第一存储器电路并在所述第一存储器电路中生成写入地址(AD-W)。同样,在第二处理器需要来自前述输出数据集的数据(Do)时,所述控制器根据上述控制命令选择第二存储器电路并在所述第二存储器电路中生成读出地址(AD-R)。因此,在需要或发送数据时,不需处理器提供地址,从而,可获得简单的数据处理装置。
文档编号G06F13/38GK1306638SQ00800919
公开日2001年8月1日 申请日期2000年3月9日 优先权日1999年3月31日
发明者M·杜兰顿 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1