用于对存储器进行配置的系统和方法

文档序号:6340062阅读:138来源:国知局
专利名称:用于对存储器进行配置的系统和方法
技术领域
本发明涉及数字信号处理器设计领域,特别涉及一种用于对存储器进行配置的系统和方法。
背景技术
数字信号处理器(DSP)是一种适合于进行数字信号处理运算的微处理器,主要用于实时快速地实现各种数字信号处理的算法。数字信号处理器在计算机、通信以及消费类电子产品中有着广泛应用。随着数字信号处理领域的发展,不断增加的应用需求和应用场合给数字信号处理器提出了更高的要求,数字信号处理器必须适应不同场合的需要。静态随机存储器(SRAM)具有访问速度快,可连续读写,直接地址访问等优点,在数字信号处理等领域中具有广泛应用。高速缓冲存储器(Cache,简称为高速缓存)具有缓存低级别存储器数据的功能,但在存取时需要进行标识位(tag)比较,且在不命中时需要替换, 因此访问速度稍慢,在微处理器领域广泛使用。在现代处理器设计中,在微处理器中加入向量指令,融合DSP与中央处理器(CPU)的功能,使DSP变成具有更强大的控制能力的数据处理器,已经成为一种趋势。具体地说,在一些场合下,DSP需要控制功能比较多,可以将存储器配置成Cache 比例高一些;而在另外一些场合下,DSP需要数字信号处理能力比较强,可以将存储器配置成SRAM比例高一些。然而,在现有技术中,对可动态配置的存储器的研究多集中在SRAM基本单元结构的设计上,这类设计硬件结构复杂且配置成本较高。因此需要一种能够动态地对存储器进行配置的系统,该系统可以根据不同的应用需求来配置存储器中Cache和SRAM的比例和大小。

发明内容
本发明的目的是提供一种能够将存储器动态地配置成Cache和SRAM的系统和方法。所述系统可以根据需求来配置存储器中的Cache和SRAM的比例和大小,从而能够提供分别对Cache和SRAM进行访问的功能。为了实现上述目的,根据本发明的一个实施例,提供一种用于对存储器进行配置的系统,其特征在于,所述系统包括
存储器;
配置寄存器,其保存Cache和SRAM的多个配置信息; 仲裁器,其与所述配置寄存器相耦合并接收来自所述存储器外部的访存请求; Cache控制器和SRAM控制器,所述Cache控制器和SRAM控制器被并行设置在所述仲裁器与所述存储器之间,
其中所述仲裁器根据所述访存请求以及所述配置寄存器中储存的所述Cache和SRAM 的多个配置信息来判定如何将所述存储器配置成Cache和SRAM,并将判定结果发送给所述Cache控制器和所述SRAM控制器,以及
其中所述Cache控制器和所述SRAM控制器根据所述仲裁器的判定结果分别发起对所述存储器的操作。优选地,所述存储器包括标识存储块和数据存储块。优选地,所述系统还包括第一数据选择器和第二数据选择器。第一数据选择器被设置在所述Cache控制器和所述存储器之间。第二数据选择器被设置在所述SRAM控制器和所述存储器之间。优选地,所述Cache控制器根据所述仲裁器的判定结果产生对所述存储器中的相应标识存储块和数据存储块的控制信号。所述SRAM控制器根据所述仲裁器的判定结果产生对所述存储器中的相应数据存储块的控制信号。优选地,由所述Cache控制器生成的控制信号包括标识控制信号和数据控制信号。由所述SRAM控制器生成的控制信号包括数据控制信号。优选地,在通过Cache控制器发起对标识存储块的操作时,仲裁器指示第一数据选择器选择来自Cache控制器的标识控制信号,并且指示第二数据选择器选择来自Cache 控制器的数据控制信号;在通过SRAM控制器发起对数据存储块的操作时,仲裁器指示第一数据选择器选择空信号,并且指示第二数据选择器选择来自SRAM控制器的数据控制信号。优选地,所述Cache和SRAM的多个配置信息包括SRAM的基地址、Cache和SRAM的比例和大小。进一步地,所述Cache和SRAM的多个配置信息由用户通过编程写入到配置寄存器中,并且可以由用户进行修改。优选地,在所述存储器的一部分被配置为Cache时,配置的是Cache的组数,而 Cache的路数不变。优选地,所述存储器可以被配置成完全是Cache或者完全是SRAM的模式。存储器按照配置的模式,例如Cache和SRAM的比例和Cache的路数,被布置成二维矩阵的形式。在该矩阵中,每个一维行都是Cache或SRAM的一种;每个一维列,在配置成 Cache时,表示Cache的不同路。在配置Cache和SRAM的大小时,Cache的大小必须是2的 η次方比特,而SRAM的大小为存储器总大小减去Cache的大小。所述标识存储块在相应数据存储块配置成Cache时,用作Cache的标志存储器,而在相应数据存储块配置成SRAM时, 不被使用。所述数据存储块在被配置成Cache时,用作Cache的数据存储器,而在被配置成 SRAM时,用作SRAM的数据存储器。在Cache和SRAM的配置信息改变,两者相互切换时,需要由用户手动刷新存储器中对应Cache的标识存储块和数据存储块,从而根据新的配置信息来重新配置存储器。优选地,来自所述存储器外部的访存请求可以包括访存地址。根据本发明的另一个实施例,提供一种用于对存储器进行配置的方法,其特征在于,所述方法包括以下步骤
由用户对配置寄存器进行初始化,在配置寄存器中写入Cache和SRAM的多个配置信
息;
由仲裁器接收来自存储器外部的访存请求,所述仲裁器根据所述访存请求和在所述配置寄存器中的所述Cache和SRAM的多个配置信息来判定如何将存储器配置成Cache和 SRAM,并且将判定结果发送给Cache控制器和SRAM控制器;由Cache控制器和SRAM控制器根据仲裁器的判定结果分别发起对存储器的操作。优选地,所述存储器包括标识存储块和数据存储块。优选地,将第一数据选择器设置在所述Cache控制器和所述存储器之间,以及将第二数据选择器设置在所述SRAM控制器和所述存储器之间。优选地,所述Cache控制器根据所述仲裁器的判定结果产生对所述存储器中的相应标识存储块和数据存储块的控制信号。所述SRAM控制器根据所述仲裁器的判定结果产生对所述存储器中的相应数据存储块的控制信号。优选地,由所述Cache控制器生成的控制信号包括标识控制信号和数据控制信号。由所述SRAM控制器生成的控制信号包括数据控制信号。优选地,在通过Cache控制器发起对标识存储块的操作时,由仲裁器指示第一数据选择器来选择来自Cache控制器的标识控制信号,并且由仲裁器指示第二数据选择器来选择来自Cache控制器的数据控制信号;在通过SRAM控制器发起对数据存储块的操作时, 由仲裁器指示第一数据选择器来选择空信号,并且由仲裁器指示第二数据选择器来选择来自SRAM控制器的数据控制信号。优选地,所述Cache和SRAM的多个配置信息包括SRAM的基地址、Cache和SRAM的比例和大小。优选地,在所述存储器的一部分被配置为Cache时,配置的是Cache的组数,而 Cache的路数不变。优选地,所述存储器可以被配置成完全是Cache或者完全是SRAM的模式。优选地,来自所述存储器外部的访存请求可以包括访存地址。通过实施根据本发明的系统和方法,本发明具有以下优势
1.可以将存储器动态地配置成Cache和SRAM,并且两者的比例和大小可以被调节,从而使存储器可以适用于不同的应用,灵活性高;
2.与现有技术相比,本发明的系统所用的控制逻辑比较少,从而有效地避免了Cache 和SRAM的控制冲突;
3.当存储器被配置成一部分为Cache且另一部分为SRAM时,由于与全部配置成Cache 相比,本发明所使用的Cache的大小被减小了,因此在不需要大Cache的时候可以节省功
^^ ο


现在将参照附图详细描述本发明的实施例,在附图中
图1是根据本发明的实施例的用于对存储器进行配置的系统的框图; 图2是根据本发明的实施例的所述系统中的存储器配置的原理示意图; 图3是根据本发明的实施例的用于对存储器进行配置的方法的流程图。
具体实施例方式某些术语在本申请文件中自始至终用来指示特定系统部件。如本领域的技术人员将认识到的那样,通常可以用不同的名称来指示相同的部件,因而本申请文件不意图区别那些只是在名称上不同而不是在功能方面不同的部件。在本申请文件中,以开放的形式使用术语“包括”、“包含”和“具有”,并且因此应将其解释为意指“包括但不限于…”。数字信号处理器(DSP)是一种用于进行各种数字信号处理运算的计算机部件。在微处理器中集成DSP,增强处理器的数字信号处理功能,已经成为一种非常流行的设计结构。通常,在运行控制任务和静态数据时,需要访问速度稍慢的高速缓冲存储器(Cache)来匹配内核和主存之间的速度差异,而在处理大量实时信号时,则需要访问速度较快的静态随机存储器(SRAM)来提高访问带宽。本发明旨在提供一种能够对存储器进行动态配置的系统和方法,从而使得存储器能够满足不同的应用需求。下面结合本发明的优选实施例对本发明作进一步详细的描述。现在参考图1,图1是根据本发明的实施例的用于对存储器进行配置的系统100的框图。该系统100包括配置寄存器102、仲裁器104、Cache控制器106、SRAM控制器108 和存储器110。在一个实施例中,存储器110包括标识存储块110-1和数据存储块110-2。系统 100还包括第一数据选择器112和第二数据选择器114。配置寄存器102耦合到仲裁器104并且负责保存将存储器110配置成Cache和 SRAM时所述Cache和SRAM的比例及大小的多个配置信息。最初由用户对配置寄存器102进行初始化,将Cache和SRAM的多个配置信息写入配置寄存器102中。这些配置信息包括SRAM的基地址、Cache和SRAM的比例和大小,但不限于此。当针对不同的应用,需要改变存储器中Cache和SRAM的比例或其他配置信息时, 也是由用户通过编写程序来对配置寄存器102中的内容进行修改。仲裁器104接收来自系统100外部(例如来自外部处理器,图1中未示出该处理器) 的访存请求(即读/写数据请求)。 优选地,访存请求可以包括访存地址。然后,仲裁器104根据访存请求和配置寄存器102中的配置信息来判定如何配置存储器110,并且将判定结果以信号的形式分别发送给Cache控制器106和SRAM控制器 108。Cache控制器106和SRAM控制器108并行地布置在仲裁器104和存储器110之间。Cache控制器106和SRAM控制器108根据来自仲裁器104的信号(即判定结果)分别发起对存储器110的操作。具体地说,响应于来自仲裁器104的信号,Cache控制器106生成针对存储器中的相应标识存储块和数据存储块的Cache标识控制信号和Cache数据控制信号,SRAM控制器 108生成针对存储器中的相应数据存储块的SRAM数据控制信号。第一数据选择器112被布置在Cache控制器106和存储器110之间,第二数据选择器114被布置在SRAM控制器108和存储器110之间。在由Cache控制器106发起对标识存储块110-1的操作时,由仲裁器104发出指令信号给第一数据选择器112,指示第一数据选择器112选择来自Cache控制器106的Cache标识控制信号,同时仲裁器104发出指令信号给第二数据选择器114,指示第二数据选择器114选择来自Cache控制器106的Cache 数据控制信号。在通过SRAM控制器108发起对数据存储块110-2的操作时,仲裁器104指示第一数据选择器112选择空信号(即第一数据选择器的输入端接地),并且指示第二数据选择器114选择来自SRAM控制器108的SRAM数据控制信号。由此,在存储器110被配置成不同比例的Cache和SRAM时,可以实现对存储器110 中的Cache和SRAM的分别访问。优选地,在存储器110被配置成不同比例的Cache和SRAM时,存储器110中的 Cache和SRAM可以被同时访问。另夕卜,当针对另一应用需求,用户修改了配置寄存器102中的Cache和SRAM的配置信息(例如,它们的比例和大小)时,需要用户手动刷新存储器110,即将存储器110清空, 以便于根据修改后的配置信息来重新配置存储器110。利用本发明的系统,可以将存储器动态地配置成Cache和SRAM,且两者的比例和大小可调,因此使得存储器能适用于不同的应用,灵活性高。进一步地,与现有技术相比,在根据本发明的系统中,所用的控制逻辑比较少,从而有效地避免了 Cache和SRAM的控制冲突。此外,在不需要大Cache的时候可以节省功耗。下面将参考图2来更详细地描述存储器110的配置实例。图2是根据本发明的实施例的存储器110配置的原理示意图。存储器110包括标识存储块110-1和数据存储块110-2。作为实例,标识存储块110-1和数据存储块110-2均被布置成4x4的矩阵。可替换地,标识存储块110-1和数据存储块110-2也可以被布置成其它排列形式的矩阵,例如8 X 8 的矩阵、16X16的矩阵、8X4的矩阵、4X64的矩阵,等等,只要这些矩阵的行数和列数满足下列形式2ηΧ2η (η是自然数)。在图2中,标识00表示第0行第0列的标识存储块,数据00表示第0行第0列的数据存储块;标识01表示第0行第1列的标识存储块,数据01表示第0行第1列的数据存储块;……;(以此类推)标识33表示第3行第3列的标识存储块,数据33表示第3行第3 列的数据存储块。当存储器110被配置成Cache时,存储器110的标识存储块110_1和数据存储块 110-2都被使用。在该情形下,标识存储块110-1用作Cache的标志存储器,数据存储块 110-2用作Cache的数据存储器。当存储器110被配置成SRAM时,只有存储器110的数据存储块110-2被使用,且在该情形下,数据存储块110-2用作SRAM的数据存储器。图加示出了存储器110中的Cache和SRAM的比例为1 :3时标识存储块110_1禾口数据存储块110-2的布置示意图。在该情形下,第一行标识存储块和数据存储块被配置成Cache,第二,三,四行数据存储块被配置成SRAM,第二,三,四行标识存储块不起作用。图2b示出了存储器110中的Cache和SRAM的比例为1 1时标识存储块110_1禾口数据存储块110-2的布置示意图。在该情形下,第一,二行标识存储块和数据存储块被配置成Cache,第三,四行数据存储块被配置成SRAM,第三,四行标识存储块不起作用。另外,存储器110中Cache和SRAM的比例还可以被配置为3 :1,7 :1、1 :7,等等,
这取决于不同的应用需求。或者,也可以将存储器110完全配置成Cache或者完成配置成 SRAM。在上述各种配置中,Cache的大小必须是2n比特(η是自然数),且存储器的总大小必须是2m比特(m是自然数),并且m>n。在进行上述各种配置时,Cache的每一行的属性一起变化,并且SRAM的每一行的属性也一起变化。也就是说,存储器矩阵中的每一行要么被配置成Cache,要么被配置成 SRAM,而不能既被配置成Cache又被配置成SRAM。优选地,当存储器110被配置成一部分为Cache时,配置的是Cache的组数(即行数),Cache的路数(即列数)不变。或者,当存储器110被配置成一部分为Cache时,配置的是Cache的路数(即列数),Cache的组数(即行数)不变。优选地,Cache可以一直保持2η (η是自然数,且在本例中η = 2)路组相联的形式。相联度不变在一定程度上保证了 Cache的命中率。下面以实例来说明存储器110中的Cache和SRAM的不同配置比例和大小。实例1 在图2a中,假定存储器110的总大小为256KB, Cache和SRAM的比例为 1 :3,那么Cache的大小为64KB。假定Cache为四路组相联,则每路大小为16KB。若Cache 的每行大小为32B,则每路Cache有512行。由此,SRAM的大小为192KB,即256KB-64KB = 19H在该情形下,Cache的地址划分为
权利要求
1.一种用于对存储器进行配置的系统,其特征在于,所述系统包括 存储器;配置寄存器,其保存Cache和SRAM的多个配置信息; 仲裁器,其与所述配置寄存器相耦合并接收来自所述存储器外部的访存请求; Cache控制器和SRAM控制器,所述Cache控制器和SRAM控制器被并行设置在所述仲裁器与所述存储器之间,其中所述仲裁器根据所述访存请求以及所述配置寄存器中储存的所述Cache和SRAM 的多个配置信息来判定如何将所述存储器配置成Cache和SRAM,并将判定结果发送给所述 Cache控制器和所述SRAM控制器,以及其中所述Cache控制器和所述SRAM控制器根据所述仲裁器的判定结果分别发起对所述存储器的操作。
2.根据权利要求1所述的系统,其特征在于,所述存储器包括标识存储块和数据存储块,并且所述系统还包括第一数据选择器和第二数据选择器,第一数据选择器被设置在所述Cache控制器和所述存储器之间,第二数据选择器被设置在所述SRAM控制器和所述存储器之间。
3.根据权利要求2所述的系统,其特征在于,所述Cache控制器根据所述仲裁器的判定结果产生对所述存储器中的相应标识存储块和数据存储块的控制信号,所述SRAM控制器根据所述仲裁器的判定结果产生对所述存储器中的相应数据存储块的控制信号。
4.根据权利要求3所述的系统,其特征在于,由所述Cache控制器生成的控制信号包括标识控制信号和数据控制信号,由所述SRAM控制器生成的控制信号包括数据控制信号。
5.根据权利要求4所述的系统,其特征在于,在通过Cache控制器发起对标识存储块的操作时,仲裁器指示第一数据选择器选择来自Cache控制器的标识控制信号,并且指示第二数据选择器选择来自Cache控制器的数据控制信号;在通过SRAM控制器发起对数据存储块的操作时,仲裁器指示第一数据选择器选择空信号,并且指示第二数据选择器选择来自 SRAM控制器的数据控制信号。
6.一种用于对存储器进行配置的方法,其特征在于,所述方法包括以下步骤 由用户对配置寄存器进行初始化,在配置寄存器中写入Cache和SRAM的多个配置信息;由仲裁器接收来自存储器外部的访存请求,所述仲裁器根据所述访存请求和在所述配置寄存器中的所述Cache和SRAM的多个配置信息来判定如何将存储器配置成Cache和 SRAM,并且将判定结果发送给Cache控制器和SRAM控制器;由Cache控制器和SRAM控制器根据仲裁器的判定结果分别发起对存储器的操作。
7.根据权利要求6所述的方法,其特征在于,所述存储器包括标识存储块和数据存储块,并且将第一数据选择器设置在所述Cache控制器和所述存储器之间,以及将第二数据选择器设置在所述SRAM控制器和所述存储器之间。
8.根据权利要求7所述的方法,其特征在于,所述Cache控制器根据所述仲裁器的判定结果产生对所述存储器中的相应标识存储块和数据存储块的控制信号,所述SRAM控制器根据所述仲裁器的判定结果产生对所述存储器中的相应数据存储块的控制信号。
9.根据权利要求8所述的方法,其特征在于,由所述Cache控制器生成的控制信号包括标识控制信号和数据控制信号,由所述SRAM控制器生成的控制信号包括数据控制信号。
10.根据权利要求9所述的方法,其特征在于,在通过Cache控制器发起对标识存储块的操作时,由仲裁器指示第一数据选择器来选择来自Cache控制器的标识控制信号,并且由仲裁器指示第二数据选择器来选择来自Cache控制器的数据控制信号;在通过SRAM控制器发起对数据存储块的操作时,由仲裁器指示第一数据选择器来选择空信号,并且由仲裁器指示第二数据选择器来选择来自SRAM控制器的数据控制信号。
全文摘要
本发明公开了一种用于对存储器进行配置的系统和方法。该系统包括存储器;保存Cache和SRAM的多个配置信息的配置寄存器;仲裁器,其与所述配置寄存器相耦合并接收来自所述存储器外部的访存请求;Cache控制器和SRAM控制器,所述Cache控制器和SRAM控制器被并行设置在所述仲裁器与所述存储器之间。所述仲裁器根据所述访存请求以及所述配置寄存器中储存的所述Cache和SRAM的多个配置信息来判定如何将所述存储器配置成Cache和SRAM,并将判定结果发送给所述Cache控制器和所述SRAM控制器。所述Cache控制器和所述SRAM控制器根据所述仲裁器的判定结果分别发起对所述存储器的操作。本发明可以将存储器动态配置成Cache和SRAM,并且两者的比例可调,从而使存储器适用于不同的应用,灵活性高。
文档编号G06F12/08GK102541754SQ20101060723
公开日2012年7月4日 申请日期2010年12月27日 优先权日2010年12月27日
发明者冯睿鑫 申请人:北京国睿中数科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1