适合向多处理器提供专用或共享存储器的存储器及其方法

文档序号:6431347阅读:123来源:国知局
专利名称:适合向多处理器提供专用或共享存储器的存储器及其方法
背景技术
随着通信或计算系统的特征和功能性的增长,经常希望设计具有多个处理器的这样的系统。多处理器系统因为处理器可被精心设计来专用于特定的任务,所以是人们所期望的。例如,进行数学密集型计算的数字信号处理器可以与能够被用于执行用户应用的应用处理器相结合。
传统的涉及多个处理器的系统可以具有分别被专用于一个处理器的多个存储器设备;这些存储器被用来存储用于处理器的数据和/或指令。独立的、专用的存储器系统通常被用来降低访问冲突的风险,当两个处理器不得不同时访问一个共享的存储器时可能会出现这种访问冲突。
但是,对每个处理器使用专用存储器设备会增加整个系统的大小、复杂度和成本。因此,存在对于在具有两个或者多个处理器的系统中共享存储器的更好的解决办法的持续需求。


在权利要求的部分中具体地指出并清楚地要求了本发明的主题。但是,当结合附图阅读时,通过参考下面的详细描述可以最佳地理解本发明的结构和操作方法及其目的、特征和优点,在附图中图1是按照本发明实施例的便携式通信设备的框图;图2是按照本发明另一实施例的便携式通信设备的框图;以及图3是按照本发明又一实施例的便携式通信系统的框图。
应当理解,为了图示说明的简洁和清楚,在图形中示出的元件未必按照比例绘制。例如,为了清楚,一些元件的尺寸相对于其他元件被放大。另外,在被认为适当的地方,参考标号在多个图形中重复,以指示相应的或者类似的元件。
具体实施例方式
在下面的详细说明中,提出了许多特定的细节,以便提供对本发明的全面的理解。但是本领域的技术人员应当理解,本发明可以不用这些特定的细节而被实现。在其他情况中,为了不使本发明模糊,公知的方法、步骤、部件和电路没有被详细地描述。
在下面的说明书和权利要求中,可能使用了术语“耦合”和“连接”,以及它们的派生词。应当理解,这些术语并不意味着彼此是同义词。而在具体的实施例中,“连接”可以用于指示两个或者多个元件互相直接物理接触或者电接触。“耦合”可能意味着两个或更多的元件直接物理接触或者电接触。然而,“耦合”也可以意味着两个或者多个元件互相没有直接接触,但是仍然互相协作或者交互。
转到图1,其中描述了按照本发明的实施例100。实施例100可以包括便携式计算设备或者便携式通信设备50,例如移动通信设备(例如,蜂窝电话)、双向无线电通信系统、单向寻呼机、双向寻呼机、个人通信系统(PCS)、便携式计算机等。然而,应当理解,本发明的范围和应用决不限于这些示例。
便携式通信设备50可以包括两个或者多个处理器70和80,它们例如可以是微处理器、中央处理单元(CPU)、数字信号处理器、微控制器、精简指令集计算机(RISC)、复杂指令集计算机(CISC)等。但是,应当理解,本发明的范围并不限于这些示例,也不被便携式通信设备50中的处理器的数量所限制。另外,因为处理器70和80可以相同,也可以不同,所以本发明的范围并不限于处理器的任何特定的组合。还应当理解,可替换的实施例可以包括三个或者更多的处理器。
便携式通信设备50还可以包括存储器设备30,该存储器设备30可以包括存储器阵列35。存储器设备30可以被用于存储数据和/或要被处理器70和80执行的指令,然而本发明并不限于该方面。存储器设备30可以包括一种或者多种存储器类型,包括但不限于任何类型的包括软盘的磁盘存储装置、光盘、压缩盘只读存储器、磁光盘、只读存储器(ROM)、随机存取存储器(例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)、电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存或者任何类型的适于存储电子指令和/或数据的介质。
如下面将要更详细说明的,存储器阵列35可以被划分或者分配,使得存储器阵列35的多个部分(例如部分31~33)专用于处理器70或者80。例如,部分33可以专用于处理器70,使得只有处理器70可以访问存储器阵列35的部分33(即,处理器80不能对该部分33进行读或者写),然而本发明的范围并不限于该方面。类似地,存储器阵列35的部分31可以专用于处理器80,使得只有处理器80可以访问存储器阵列35的部分31(即,处理器70不能对部分31进行读或者写)。
另外,存储器阵列35可选地可以被如下分配,使得部分32可以被处理器70和80两者访问(即,存储器阵列35的部分32可以被处理器70和80两者读和写)。或者,存储器阵列35的部分32可以被如下分配,使得处理器70和80中只有一个可以对部分32进行写入,而只有处理器70和80中的另一个可以读取存储器阵列35的部分32的内容。应当理解,存储器阵列35在处理器70和80之间共享的该部分(即部分32)未必在物理上或者逻辑上位于部分31和部分33之间。同样,未必只有一个共享的部分,在可替换的实施例中可以有多个共享的部分。
存储器设备30的部分31~33可以是存储器阵列35的相邻的或者连续的部分,然而本发明的范围并不限于该方面。在这样的实施例中,部分31~33可以共享存储器设备30的操作中所使用的信号线或者电源线中的多条。例如,部分31~33可以共享相同的时钟信号、复位信号、读出放大器、电源电位线等。
便携式通信设备50还可以具有存储器总线75和85,存储器总线75和85可以分别被处理器70和80使用来访问存储器设备30。总线75和85可以是串行或者并行总线的任意组合,并且包括多种信号线,例如数据、地址、电源电位、控制信号、复位信号、芯片选择信号,然而本发明的范围并不限于总线75和85的组成的任何特定的设置。
存储器设备30可以是具有端口37和38的双端口存储器,然而本发明的范围并不限于该方面。端口37和38可以连接到总线75和85,以允许处理器70和80通过使用地址、数据和控制信号分别访问存储器阵列35的部分33和31。端口37和38可以包括译码逻辑,该译码逻辑限制处理器70和80访问其未被授权或被许可访问的存储器阵列35的部分。例如,端口37可以保证存储器阵列35的部分33只能被处理器70访问,端口38可以保证存储器阵列35的部分31只能被处理器80访问。另外,由于存储器阵列35的部分32可以被处理器70和80两者访问,所以端口37和38同样可以都允许对部分32的访问。
使用双端口37~38和总线75和85可以允许处理器70和80同时或者基本上同时地访问部分31和33,然而本发明的范围并不限于该方面。同样,端口37~38可以允许部分31和33中的一个被写入而另一个被读取、允许两者同时被写入或者允许部分31和33两者同时被读取。
在工作过程中,取决于处理器70、处理器80或者两者的工作负荷,便携式通信设备50可以改变部分31~33各自的大小。例如,如果处理器70正处于工作模式,其将受益于存储器阵列35的更大的空间分配,则存储器设备可以增加部分33的大小,并减小部分32和/或部分31的大小。如果处理器70正在执行涉及使用大量数据的指令,则会出现这种情况。如果处理器70正在执行多种不同的用户应用,也会出现这种情况。应当理解,处理器70和80的工作负荷可能取决于多种因素,例如数据量、由处理器70和80所执行的应用的数目或者被执行的指令的特性。因此,可以基于这些因素的任何组合来改变存储器阵列35的分配,然而其他因素也可以被考虑。
存储器阵列35被分配给部分31~33的数量的变化或者改变可以使用多种技术来进行,然而本发明的范围并不限于所列举的这些。例如,便携式通信设备50可以包括监控器(在图1中没有示出),该监控器可以连续地或者定时地确定处理器70和80的工作负荷,并命令存储器设备30适当地改变存储器阵列35被分配给部分31~33的数量。或者,存储器设备30可以包括监控逻辑,用于跟踪存储器阵列35历史上被使用的数量,或者预计在不久的以后,存储器阵列的多少可能会被使用。在另一个可选的实施例中,处理器70和/或处理器80可以监控它们自己的工作负荷,并相应地请求存储器阵列35较多或较少的分配。
仅仅是为了举例说明的目的,在便携式通信设备50的一个实施例中,处理器70可以是CISC处理器,处理器80可以是一个DSP(数字信号处理器)。从而,存储器阵列35的部分33可以被用于存储与下述应用相关联的数据和/或指令,例如用户应用(例如电子邮件、日历等)或者与通信系统中较高层抽象(例如第三层或者第二层)相关联的应用。另一方面,存储器阵列35的部分31可以被用于存储与通信系统的基带处理(例如第一层)相关联的数据或者指令。另外,部分32可以被用于存储被处理器70和80两者使用的数据或者指令(例如,查找表、网页、软件代码转换器(codex)等),或者被用于存储在处理器70和处理器80之间共享或者传递的信息。但是应当理解,本例仅是示例性的,本发明的范围并不限于该方面。
现在转到图2,其中提供了本发明的另一实施例200。在该特定实施例中,便携式通信设备250具有存储器设备230,该存储器设备230具有被处理器70和80访问的指定部分231~233。例如,部分231可以只被处理器80访问,部分233可以只被处理器70访问,而部分232可以被处理器70和80两者访问。存储器设备230可以包括前面所描述的一种或多种存储器类型。
但是,在本实施例中,加入了存储器控制器210,用于仲裁并控制处理器70和80对存储器设备230的访问。存储器控制器可以是双端口的或者具有端口237~238,所述端口237~238能够被用于控制存储器设备230的哪些部分可以通过总线290被处理器70和80访问,然而本发明的范围并不限于该方面。总线275和285可以将处理器70和80耦合到存储器控制器210。
存储器控制器210可以包含下述逻辑和/或译码电路,用于确定处理器70和80是否被允许访问存储器设备230的各个部分。存储器控制器还可以包括冲突检测电路,用于解决处理器70和80同时试图访问存储器设备230的相同部分时的冲突。存储器控制器210的使用应当被考虑为是可选的,但可能是所期望的,以降低与存储器设备230相关联的复杂度和成本。通过将仲裁和冲突逻辑从存储器设备230转移到另外的部件(即,存储器控制器210),在可被用于存储器设备230的存储器类型方面可以有更大的灵活性。
现在转到图3,其中提供了本发明的又一实施例300。在该实施例300中,便携式通信设备350可以包括存储器设备330,该存储器设备330具有可以被处理器370和380访问的两个或者多个部分331~333。例如,存储器设备330的部分331可以只能被处理器380访问,部分333可以只能被处理器370访问,而存储器设备330的部分332可以被处理器370和380两者访问,然而本发明的范围并不限于该方面。存储器设备330可以包括前面所描述的一种或者多种存储器类型。
存储器设备330还可以包括仲裁器310,该仲裁器310能够用于控制存储器设备的哪些部分331~333可以通过存储器总线360被处理器370和380访问。存储器总线360可以是串行或者并行总线,包括各种信号线(例如数据、地址、芯片选择等)。存储器总线360中的一些信号线可以是处理器370和380两者共用的或者共享的,然而本发明的范围并不限于该方面。这样,处理器370和380可以使用存储器总线360来访问存储器设备330。
因为相同的存储器总线360被用于多个处理器370和380,所以仲裁器310可以包括下述逻辑,用于确定处理器370和380仅访问它们被允许访问的存储器设备330的部分。另外,仲裁器310可以包括冲突检测电路和解决逻辑,用于处理处理器370和380同时使用存储器总线360的情况。一种用于减少在存储器总线360上发生的冲突的数量的技术是使处理器370和380监听哪些内容正在存储器总线360上被传输,并在传输之前等待,直到存储器总线360可用,然而这仅仅是一个例子,本发明的范围并不限于该方面。
另外并且是可选地,仲裁单元310可以包含能够被用于对处理器370和380所发送的信号进行译码的逻辑。例如,如果仲裁器单元310获知处理器370和380局限于访问存储器设备330的哪些部分,则仲裁器310就能够允许处理器370和380基本上同时地访问存储器设备330。例如,仲裁器310可以使用分组或者定时传输系统来允许处理器370和380同时进行发送或者接收,然而本发明的范围并不限于该方面。
如果特定的应用在布线或者管脚数量上受限,则在这些应用中可能需要使用仲裁器310。使用单个存储器总线360可以使得信号线贯穿便携式通信设备350的走线更加容易,并降低对与多总线相关联的较多管脚的需要。
虽然这里已经图示和描述了本发明的某些特征,但是本领域的技术人员将会想到许多修改、替换、变化和等同物。例如,在可替换的实施例中,便携式通信设备可以具有三个或者更多处理器,并且存储器设备因而可以被划分成只能被这些处理器中的一个所访问的多个区域。另外,存储器设备或者存储器控制器可以有三个或者更多端口。因此应当理解,所附权利要求是用来涵盖落入本发明的真正精神之内的所有的这种修改和变化。
权利要求
1.一种装置,包括具有第一部分和第二部分的存储器阵列,所述存储器阵列的所述第一部分与所述存储器阵列的所述第二部分不同,其中,所述存储器阵列适合使得所述存储器阵列的所述第一部分只能被第一处理器访问,并且所述存储器阵列的所述第二部分只能被第二处理器访问。
2.根据权利要求1所述的装置,其中,所述存储器阵列包括与所述第一部分和所述第二部分不同的第三部分,其中,所述存储器阵列的所述第三部分能被所述第一处理器和所述第二处理器两者访问。
3.根据权利要求1所述的装置,其中,所述存储器阵列的所述第一部分和所述第二部分两者都被耦合到相同的时钟信号。
4.根据权利要求3所述的装置,其中,所述存储器阵列的所述第一部分和所述第二部分被耦合到相同的电源电位。
5.根据权利要求1所述的装置,其中,所述存储器阵列还适合取决于所述第一处理器或者所述第二处理器的工作负荷而动态地改变所述存储器阵列的所述第一部分和所述第二部分的大小。
6.根据权利要求5所述的装置,其中,所述存储器阵列还适合由于所述第一处理器的工作负荷的增加而增加所述第一部分的大小,并减小所述第二部分的大小。
7.根据权利要求1所述的装置,其中,所述存储器阵列还适合使得当所述第二处理器访问所述存储器阵列的所述第二部分时,所述第一处理器可以基本上同时地访问所述存储器阵列的所述第一部分。
8.根据权利要求1所述的装置,其中,所述存储器阵列还适合使得当所述第二处理器对所述存储器阵列的所述第二部分写入时,所述第一处理器可以读取所述存储器阵列的所述第一部分。
9.根据权利要求1所述的装置,其中,所述存储器阵列包括从一组存储器中选择的存储器,所述一组存储器包括静态随机存取存储器、动态随机存取存储器、只读存储器、电可擦除可编程只读存储器和闪存。
10.一种装置,包括具有第一部分和第二部分的存储器阵列;第一处理器;和第二处理器,其中,所述存储器阵列的所述第一部分只能被所述第一处理器访问,并且所述存储器阵列的所述第二部分只能被所述第二处理器访问。
11.根据权利要求10所述的装置,还包括第一总线,所述第一总线将所述第一处理器耦合到所述存储器阵列的所述第一部分;和第二总线,所述第二总线将所述第二处理器耦合到所述存储器阵列的所述第二部分。
12.根据权利要求10所述的装置,其中,所述存储器阵列包括第一端口和第二端口,所述第一端口将所述存储器阵列的所述第一部分耦合到所述第一处理器,所述第二端口将所述存储器阵列的所述第二部分耦合到所述第二处理器。
13.根据权利要求10所述的装置,还包括总线,所述总线将所述第一处理器和所述第二处理器耦合到所述存储器阵列。
14.根据权利要求13所述的装置,其中,所述存储器阵列还包括冲突检测器,所述冲突检测器仲裁所述第一处理器和所述第二处理器对所述存储器阵列的所述第一部分和所述第二部分的访问。
15.根据权利要求10所述的装置,还包括耦合到所述第一处理器和所述第二处理器的存储器控制器;和总线,所述总线将所述存储器控制器耦合到所述存储器阵列。
16.根据权利要求10所述的装置,其中,所述存储器阵列包括与所述第一部分和所述第二部分不同的第三部分,其中,所述存储器阵列的所述第三部分能被所述第一处理器和所述第二处理器两者访问。
17.根据权利要求10所述的装置,其中,所述存储器阵列的所述第一部分和所述第二部分两者都被耦合到相同的时钟信号和相同的电源电位。
18.根据权利要求10所述的装置,其中,所述存储器阵列适合取决于所述第一处理器或者所述第二处理器的工作负荷而动态地改变所述存储器阵列的所述第一部分和所述第二部分的大小。
19.根据权利要求10所述的装置,其中,所述存储器阵列适合取决于所述第一处理器和所述第二处理器的工作负荷而动态地改变所述存储器阵列的所述第一部分和所述第二部分的大小。
20.根据权利要求10所述的装置,其中,所述存储器阵列还适合使得当所述第二处理器访问所述存储器阵列的所述第二部分时,所述第一处理器可以基本上同时地访问所述存储器阵列的所述第一部分。
21.根据权利要求10所述的装置,其中,所述存储器阵列包括静态随机存取存储器。
22.一种系统,包括第一处理器;第二处理器;存储器总线;存储器阵列,其中,所述第一处理器和所述第二处理器通过所述存储器总线被耦合到所述存储器阵列;和仲裁器,所述仲裁器解决所述第一处理器和所述第二处理器对所述存储器阵列的访问冲突。
23.根据权利要求22所述的系统,其中,所述存储器阵列包括第一部分和第二部分,所述存储器阵列的所述第一部分只能被所述第一处理器访问,并且所述存储器阵列的所述第二部分只能被所述第二处理器访问。
24.根据权利要求23所述的系统,其中,所述存储器阵列包括能被所述第一处理器和所述第二处理器两者访问的第三部分。
25.根据权利要求23所述的系统,其中,所述仲裁器适合当所述第二处理器对所述存储器阵列的所述第二部分写入时,允许所述第一处理器读取所述存储器阵列的所述第一部分。
26.根据权利要求23所述的系统,其中,所述仲裁器适合当所述第二处理器读取所述存储器阵列的所述第二部分时,允许所述第一处理器读取所述存储器阵列的所述第一部分。
27.根据权利要求23所述的系统,其中,所述仲裁器位于所述存储器阵列内。
28.根据权利要求22所述的系统,其中,所述存储器总线包括芯片选择线,所述芯片选择线指示出所述第一处理器和所述第二处理器中的哪一个发起了对所述存储器阵列的访问。
29.根据权利要求22所述的系统,其中,所述仲裁器适合译码出所述第一处理器和所述第二处理器中的哪一个发起了对所述存储器阵列的访问。
30.一种方法,包括增加只能被第一处理器访问的存储器阵列的第一数量,同时减小只能被第二处理器访问的存储器阵列的第二数量。
31.根据权利要求30所述的方法,还包括用所述第一处理器访问所述存储器阵列的第三数量;以及用所述第二处理器访问所述存储器阵列的所述第三数量。
32.根据权利要求30所述的方法,还包括仲裁所述第一处理器和所述第二处理器之间对所述存储器阵列的访问冲突。
33.根据权利要求30所述的方法,还包括用所述第二处理器读取所述存储器阵列的所述第二部分的同时,对所述第一数量的存储器阵列进行写入。
34.根据权利要求33所述的方法,其中,对所述第一数量的存储器阵列的写入与用所述第二处理器读取所述存储器阵列的所述第二部分基本上同时地发生。
全文摘要
简要地说,按照本发明的一个实施例,便携式通信设备可以具有多个处理器和一个存储器。所述存储器的各部分可以只能被多个处理器中的一个访问。
文档编号G06F9/46GK1732444SQ02822452
公开日2006年2月8日 申请日期2002年11月13日 优先权日2001年11月14日
发明者尤金·马特, 拉姆卡尔蒂克·加内桑 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1