具有共享存储器的改进结构制造技术

技术编号:2859703 阅读:171 留言:0更新日期:2012-04-11 18:40
描述了一种具有共享单个存储模块的多个处理器的系统,其中没有显著的性能恶化。将存储模块划分为n个可独立访问的存储体,其中n至少为2,并且对其进行映射,从而在存储体之间对顺序地址进行循环。这样的映射导致将顺序数据字节存储在交替存储体中。每一个存储体还可以划分为多个存储块。通过对处理器进行交错或同步以执行计算机程序从而使每一个处理器在相同的周期内访问不同的存储块,这些处理器可以同时访问存储器。另外,设置了高速缓存器,使处理器能够从不同的存储体中提取来自存储器的多个数据字,以减小由存储器竞争所引起的存储器等待时间。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术通常涉及一种集成电路(IC)。更具体地,本专利技术涉及具有共享存储器的改进结构
技术介绍
图1示出了诸如数字信号处理器(DSP)的传统芯片上系统(SOC)100的一部分的方框图。如图所示,所述SOC包括通过总线180与存储模块160相连的处理器110。所述模块存储了包括一系列指令的计算机程序。在SOC的操作期间,处理器检索并执行来自存储器的计算机指令以进行所需的功能。SOC可以配备有诸如执行相同程序的多个处理器。根据应用,处理器可以执行不同的程序或共享相同的程序。通常,每一个处理器与其自身的存储模块相关联以改善性能,这是由于存储模块在一个时钟周期内可以仅由一个处理器访问。因此,利用其自身的存储器,处理器不必等待存储器空闲,这是由于仅该处理器是将访问其相关的存储模块的唯一处理器。然而,由于每一个处理器需要双份的存储模块,因此,牺牲了芯片尺寸而实现了改进的性能。如从以上讨论中显而易见,需要提供其中处理器能够共享存储模块以减小芯片尺寸而不会引起传统设计中的性能代价的系统。
技术实现思路
在一个实施例中,本专利技术涉及一种在多个处理器之间共享存储模块的方法。将所述存储器模块划分为n个存储体,其中n=2(至少)。每一个存储体在任一时刻能够由一个或多个处理器访问。对所述存储模块进行映射,以便将顺序地址分配给存储器中的交替存储体,其中,由于存储器的映射,将顺序数据存储在交替存储体中。在一个实施例中,将存储体划分为x个存储块,其中x=1(至少),其中,在任一时刻,每一个存储块可以由多个处理器之一来进行访问。在另一实施例中,所述方法还包括对处理器进行同步以在任一时刻访问不同的存储块。在另一实施例中,在存储模块和处理器之间设置了第一和第二信号路径。第一信号路径将高速缓存器与处理器和存储模块相连,以使处理器能够从不同的存储体中同时提取多个数据字。这减小了由存储器竞争所引起的存储器等待时间。第二信号路径将存储模块直接与处理器相连。附图说明图1示出了传统SOC的方框图;图2示出了根据本专利技术一个实施例的系统;图3-5示出了根据本专利技术不同实施例的FCU的流程;图6示出了根据本专利技术另一实施例的系统;图7-8示出了根据本专利技术的不同实施例的判优单元的流程图;以及图9-10示出了根据本专利技术的不同实施例的存储模块。具体实施例方式图1示出了根据本专利技术一个实施例的系统200的一部分的方框图。例如,所述系统包括针对单个芯片上的多端口数字订户线(DSL)应用的多个数字信号处理器(DSP)。所述系统包括m个处理器210,其中m是等于或大于2的整数。作为示例,该系统包括第一和第二处理器210a-b(m=2)。在系统中设置多于两个的处理器也是有用的。这些处理器通过各个存储总线218a和218b与存储模块260相连。例如,所述存储总线为16比特宽。也可以根据每一个数据字节的宽度,使用其他尺寸的总线。将由处理器访问的数据字节存储在存储模块中。在一个实施例中,数据字节包括程序指令,由此,这些处理器从存储模块中提取指令用于执行。根据本专利技术的一个实施例,在处理器之间共享存储模块,而没有显著的性能恶化,消除了针对每一个处理器提供双份存储模块的需要。通过将存储模块分离为n个独立操作的存储块265,避免了显著的性能恶化,其中n是大于或等于2的整数。优选地,在系统中,n=处理器的数量(即,n=m)。由于存储体独立地操作,因此,在相同的时钟周期内,处理器能够同时访问存储模块的不同存储体。在另一实施例中,将存储体细分为x个可独立访问的存储块275a-p,其中x是大于或等于1的整数。在一个实施例中,将每一个存储体细分为8个可独立访问的存储块。通常,存储块的数量越多,则竞争的可能性越低。在一个实施例中,选择存储块的数量以优化性能并减少竞争。在每一个实施例中,每一个处理器(210a或210b)具有与每一个存储体相连的总线(218a或218b)。存储阵列的存储块的每一个均具有诸如控制电路278,以将数据适当地放置在去往处理器的总线上。例如,控制电路包括复用电路或三态缓冲器,以便将数据引导到正确的处理器。例如,将每一个存储体细分为8个存储块。通过在存储体内设置独立的存储块,有利地,处理器可以访问不同的存储块,而与其是否来自相同的存储体无关。这通过减小处理器之间的可能冲突而进一步增强了系统性能。此外,对存储器进行映射,从而在不同的存储体之间循环相邻的存储地址。例如,在双存储体的存储模块(例如,存储体0和存储体1)中,将偶地址分配给一个存储体(存储体0),而将奇地址分配给另一存储体(存储体1)。这将导致在顺序地址中的数据字节被存储在交替存储体中,例如,数据字节1存储在存储体0中,数据字节2存储在存储体1中,数据字节3存储在存储体0中,依此类推。在一个实施例中,数据字节包括程序中的指令。由于除了跳跃(例如,分支和循环指令)之外顺序地执行程序指令,因此,在程序执行期间,处理器将通常在每一个周期之后访问存储模块的不同存储体。通过对处理器进行同步或交错来执行程序从而使处理器在相同的周期内访问不同的存储体,多个处理器可以同时访问在存储模块260中所存储的相同程序。流程控制单元(FCU)245对处理器进行同步以访问不同的存储块,从而防止存储器冲突或竞争。在存储器冲突的情况下(例如,两个存储器同时访问相同的存储块),FCU锁定一个处理器(例如,插入等待状态或周期),同时允许另一处理器访问存储器。这应该对这些处理器进行同步以在下一个时钟周期访问不同的存储体。一旦已同步,则两个处理器可以在相同的时钟周期内访问存储模块,直到发生了由诸如跳跃指令引起的存储器冲突为止。如果两个存储器(210a和210b)尝试在相同的周期内访问存储块275a,则在一个周期内,将等待状态插入到处理器210b中,从而处理器210a首先访问存储块275a。在下一个时钟周期,处理器210a访问存储块275b,并且处理器210b访问存储块275a。因此,对处理器210a和210b进行同步,以在随后的时钟周期内访问不同的存储体。可选地,处理器可以配备有各自的关键存储模块215。例如,所述关键存储模块小于主要存储模块260,并且用于由处理器经常访问的程序或子程序(例如,关键的MIPS)。使用关键存储模块通过减小存储器冲突增强了系统性能,而不会达到显著增加芯片尺寸的程度。设置了控制电路214。所述控制电路与总线217和218相连,以适当地复用来自存储模块260或关键存储模块215的数据。在一个实施例中,所述控制电路包括三态缓冲器,以便去连接和连接适当的总线与处理器。在一个实施例中,将FCU实现为状态机。图3示出了根据本专利技术一个实施例的FCU状态机的一般处理流程。如图所示,FCU控制由处理器(例如,A或B)进行的访问。在步骤310,对FCU进行初始化。在操作期间,处理器在下一个时钟周期内发布与存储器访问相对应的各个存储地址(AAdd和BAdd)。在步骤320,FCU比较AAdd和BAdd,以确定是否存储存储器冲突(例如,这些处理器是正在访问相同的存储块还是不同的存储块)。在一个实施例中,FCU检查这些地址以确定是否对任何关键存储模块进行寻址(未示出)。如果或者处理器A或者处理器B正在访问其各自的本地关键存储器,则不会发生冲突。如果不存本文档来自技高网...

【技术保护点】
一种在多个处理器之间共享存储模块的方法,包括:将存储模块划分为n个存储体,其中n=至少2,其中,在任一时刻可以由一个或多个处理器来访问每一个存储体;对存储模块进行映射以将顺序地址分配给存储器中的交替存储体;以及将数据 字节存储在存储器中,其中,由于存储器的映射,将顺序地址中的所述数据字节存储在交替存储体中。

【技术特征摘要】
US 2002-4-4 10/117,668;US 2002-4-26 10/133,9411.一种在多个处理器之间共享存储模块的方法,包括将存储模块划分为n个存储体,其中n=至少2,其中,在任一时刻可以由一个或多个处理器来访问每一个存储体;对存储模块进行映射以将顺序地址分配给存储器中的交替存储体;以及将数据字节存储在存储器中,其中,由于存储器的映射,将顺序地址中的所述数据字节存储在交替存储体中。2.根据权利要求1所述的方法,其特征在于还包括步骤将每一个存储体划分为x个存储块,其中x=至少1,其中,在任一时刻可以由多个处理器之一来访问每一个存储块。3.根据权利要求1或2所述的方法,其特征在于还包括步骤确定是否已经发生了存储器访问冲突,其中在任一个时刻,两个或多个处理器正在访问相同的存储块。4.根据权利要求1、2或3所述的方法,其特征在于还包括步骤对处理器进行同步,以便在任一时刻访问不同的存储块。5.根据权利要求4所述的方法,其特征在于还包括步骤当发生了存储器访问冲突时,确定处理器的访问优先级。6.根据权利要求5所述的方法,其特征在于确定访问优先级的步骤包括给已经引起了存储器冲突的处理器赋予较低的访问优先级。7.根据权利要求5所述的方法,其特征在于确定访问优先级的步骤包括给进行了跳跃的处理器赋予较低的访问优先级。8.根据权利要求4、5、6或7所述的方法,其特征在于对处理器进行同步的步骤包括当发生了存储器访问冲突时,在一个或多个周期内锁定具有较低优先级的处理器。9.一种系统,包括多个处理器;包括n个存储体的存储模块,其中n=至少2,其中在任一时刻可以由一个或多个处理器访问每一个存储体;存储映射,用于将顺序地址分配给存储模块的交替存储体;以及存储在存储器中的数据字节,其中根据存储映射,将顺序地址中的所述数据字节存储在交替存储体中。10.根据权利要求9所述的系统,其特征在于每一个存储体包括x个存储块,其中x=至少1,其中在任一时刻可以由多个处理器之一来访问每一个存储块。11.根据权利要求9或10所述的系统,其特征在于还包括流程控制单元,用于对处理器进行同步以在任一时刻访问不同的存储块。12.根据权利要求9、10或11所述的系统,其特征在于还包括优先级寄存器,用于存储每一个处理器的访问优先级。13.根据权利要求9到12任一个所述的系统,其特征在于所述数据字节包括程序指令。14.根据权利要求10到13所述的系统,其特征在于还包括多个关键存储模块,用于存储针对每一个处理器的多个数据字节,以减小存储器访问冲突。15.一种在多个处理器之间共享存储模块的方法,包括将存储模块划分为n个存储体,其中n=至少2,能够由一个或多个处理器同时访问所述存储模块;对存储模块进行映射以将顺序地址分配给存储器中的交替存储体;将数据字存储在存储器中,其中,由于存储器的映射,将顺序地址中的所述数据字存储在交替存储体中;以及设置了第一信号路径,当被选择时,所述第一信号路径将高速缓存器与处理器和存储模块相连,...

【专利技术属性】
技术研发人员:鲁迪弗伦策尔拉杰库马尔贾因马库斯特施鲁泽克里斯蒂安霍拉克斯特凡乌勒曼
申请(专利权)人:印芬龙科技股份有限公司
类型:发明
国别省市:DE[德国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利