用于可拆卸装置的具有高速缓存和接口的数据处理电路的制作方法

文档序号:6595348阅读:153来源:国知局
专利名称:用于可拆卸装置的具有高速缓存和接口的数据处理电路的制作方法
技术领域
本发明涉及数据处理电路和执行数据处理的方法。
背景技术
美国专利第5778431号披露了一种具有动态可拆卸装置的数据处理电路。数据处理电路的内存空间的一部分与可拆卸装置相关联。数据处理电路具有高速缓冲存储器。当可拆卸装置在操作过程中被拆卸时,当与可拆卸装置的地址相对应的数据存储在高速缓冲存储器中时,可能会出现问题。拆卸后,从高速缓冲存储器中写回是不可能的,因此可能会出现前后不一致。因此,需要特别的方法高速缓存来自这样的可拆卸装置的数据,。一种规避这个问题的方法是,避免与可拆卸设备相关地址的所有高速缓存数据, 但是这降低了系统的性能。美国专利第5778431号公开了一种解决方案,其包括自动写回包含可拆卸装置中地址的数据的高速缓存行(cache line)。提供了两个寄存器,包含分别指示所述部分存储器空间的起始地址和结束地址的数据。两个比较器比较高速缓存数据的地址标签和寄存器中的数据。在拆卸装置时,所有高速缓存行的地址标签均与起始和结束地址进行比较,并且使具有在起始和结束地址之间的地址标签的高速缓存行无效。但是,已经发现这将导致过多的数据无效。

发明内容
本发明的目的之一是提供一种数据处理电路,当装置在功能上从电路中拆卸时, 无效的高速缓存数据较少,并且需要写回可拆卸装置的高速缓存数据较少。提供了根据权利要求1的一种数据处理电路。在本文中,高速缓存电路耦合在处理器和可拆卸装置的接口之间。高速缓存电路包含配置为响应于冲刷(flush)命令选择性地写回一部分高速缓存数据的高速缓存控制电路。在加载高速缓存行到高速缓冲存储器时,高速缓存控制电路测试高速缓存行是否具有分配给可拆卸装置的地址范围内的地址, 并且如果是,它存储覆盖在冲刷中使用的高速缓存行的标识。标识可以覆盖高速缓存行,例如因为它包含指示高速缓存行的地址或地址部分,或者因为标识表示包括高速缓存行的地址的地址范围,或者因为例如当每一个高速缓存行存储元件具有标志时,通过为加载了高速缓存行的高速缓存行存储元件设置标志,或通过存储到存储了高速缓存行的高速缓存行存储元件的指针,标识指示存储高速缓存行的高速缓存行存储元件。标识使在冲刷命令执行期间以较小的电路开销快速写回选择的高速缓存行是可能的。在实施例中,使用地址范围的表示(例如起始和结束地址,或起始地址和长度)来指示响应冲刷命令被写回的高速缓存行。当加载被检测到位于范围之外但位于分配给可拆卸装置的地址范围内的地址处的高速缓存行时,将该范围扩大。已经发现,在许多情况下, 连续地址的高速缓存行被加载。作为结果,使用范围的表示来选择用于以较小电路开销和最小的不必要写回来进行写回的高速缓存行。在高速缓存电路中的寄存器可以用来表示所述范围。
在一个实施例中,对于单一地址的存储空间,可存储标识具有分配给可拆卸装置的范围内的地址的一个单独的高速缓存行的地址或地址部分。可以对于标识各个单独的高速缓存行的多个单独的地址或地址部分提供存储空间。当具有分配给可拆卸装置的范围内的地址的高速缓存行比能在存储空间内存储的数量多时,高速缓存控制电路切换到搜索模式以搜索在接收到冲刷命令时将要写回的高速缓存行。公共存储空间可用于存储适用于多个高速缓存电路的冲刷的高速缓存行的标识。 这将减少开销。


使用下列附图,从典型实施例的描述中,这些和其它目标和优势方面将是显而易见的。图1示出了具有高速缓存和可拆卸装置的数据处理电路。图2示出了具有多个处理器的数据处理电路。
具体实施例方式图1示出了数据处理电路,包含处理器10,高速缓存电路12,通信电路14,存储器电路16,可选的拆卸检测器17和用于可拆卸装置的接口 18。通过示例,示出了与设备接口 18相连的装置19。所谓“可拆卸”是指该装置19在操作过程中可以以任何方式在功能上拆卸,例如通过物理拆除,或移出无线通讯设备的接收范围,或者到设备的电源被切断或设备的操作模式被更改,从而它不再能够从高速缓冲存储器接收写回数据等。处理器10经过高速缓存电路12耦合到通信电路14。经过通信线路14,处理器10 和高速缓存电路12耦合到存储器电路16和接口 18。高速缓存电路12包含高速缓冲存储器120、高速缓存控制电路122和一组寄存器124。高速缓冲存储器120具有耦合到处理器 10和通信电路14的端口。高速缓存控制电路122耦合到高速缓冲存储器120、通信电路14 和一组寄存器124。拆卸检测器17是可选的。当使用它时,它具有耦合到接口 18的输入。 通过示例,描述了具有直接耦合到高速缓存控制电路122的输出的拆卸检测器17。拆卸检测器17配置为检测拆卸开始和产生指示即将来临的拆卸的信号。在工作中,处理器10执行包含访问通过它的存储空间内的地址所寻址的数据的任务。例如该任务可以在特定的计算机程序任务的控制下执行。当它连接到接口 18时,所述地址映射到存储器电路16和可拆卸装置19中的存储位置。高速缓存电路12使用已知方式高速缓存至少部分这些地址的数据。当处理器从 10从地址进行读取,并且该地址的数据被存储在高速缓冲存储器120中时,高速缓存电路 12从高速缓冲存储器120中返回数据到处理器10。如果地址的数据不是存储在高速缓冲存储器120中,则高速缓冲存储器120向高速缓存控制电路122报警,高速缓存控制电路122 经过通信线路14发布地址或地址的一部分到存储器电路16或可拆卸装置19,以获取该地址的数据提供给处理器10。高速缓存控制电路122控制高速缓冲存储器120,以存储与地址相关联的返回数据。这样的与地址相关联的存储本身也是已知的。在实施例中,具有多个地址的数据的高速缓存行与相关联的用于标识在高速缓存行中的数据的部分地址的标签一起存储。在其他实施例中,可以存储单独地址的地址标签。部分地址可以暗含在高速缓冲存储器120中存储数据的位置处。如有必要,高速缓存控制电路122 “驱逐”(使无效)在高速缓冲存储器 120中的旧数据,以腾出空间存储新获取的数据。一组寄存器IM包含保持标识与可拆卸装置19相关联的地址范围的信息的第一寄存器,和保持标识用于存储在高速缓冲存储器120中的范围内的地址的高速缓存行的信息的至少一个寄存器。当高速缓存控制电路122导致高速缓存行存储在高速缓冲存储器 120时,基于在一组寄存器124中的寄存器中的信息,高速缓存控制电路122比较用于经过通信电路14寻址高速缓存行(或其中的数据)的地址与可拆卸装置19相关联的地址范围。 如果高速缓存控制电路122检测到用于高速缓存行的地址位于该范围内,高速缓存控制电路122促使高速缓存行的标识存储到一组寄存器124的第二寄存器中。在接收到来自可拆卸装置19的请求(冲刷命令),或可选地接收到来自拆卸检测器17的即将拆卸信号时,高速缓存控制电路122访问寄存器组124的第二寄存器,以确定高速缓冲存储器120是否包含具有为可拆卸装置19定义的范围内的地址的高速缓存行。如果是,则高速缓存控制电路122选择性地促使此高速缓存行被写回。代替直接提供来自拆卸检测器17的信号到高速缓存控制电路122,信号可以提供到处理器10,或其它电路(未示出),以触发冲刷命令的生成。在实施例中,拆卸检测器17配置为在拆卸发生后检测拆卸。在此情况下,处理器10可配置为通过以下操作响应来自拆卸检测器17的信号测试寄存器组1 是否指示对于可拆卸装置19中的至少一个地址的写入数据在高速缓冲存储器 120中,如果是,则在执行写回之前发布提示以重新连接可拆卸装置。在实施例中,高速缓存控制电路122也可以响应由来自拆卸检测器17的请求或信号所指示的冲刷命令,使这些写回的高速缓存行无效。这防止了高速缓存数据的进一步使用。可选的,高速缓存控制电路122可以使数据有效,以使处理器能够使用这些数据完成当前任务。在此示例中,高速缓存控制电路122可以通过屏蔽对于这些高速缓存行的后续写入来响应冲刷命令。在第二寄存器中的高速缓存行的标识可以采取地址或地址部分的形式。在此示例中,高速缓存控制电路122可以通过比较来自第二寄存器的地址标签和用于高速缓冲存储器中的位置的地址标签,来选择在高速缓冲存储器120中存储高速缓存行的位置。在一个 η条路径组相连的存储器中,这可以包含使用来自第二寄存器的地址或地址部分,以识别存储高速缓存行的组,和比较部分地址和对于不同路径的标签,以识别存储高速缓存行的路径。可选地,第二寄存器可以包含直接高速缓冲存储器地址,例如直接标识一个组和一条路径。如果第二寄存器仅能够存储针对一个高速缓存行的信息,当在高速缓存中可能存在可拆卸装置19的范围内的多于一个的高速缓存行时,需要特别的方法。在实施例中,高速缓存控制电路122可以在寄存器组124中记录在高速缓冲存储器120中是否有多于一个这样的高速缓存行。如果是,则在此实施例中,高速缓存控制电路 122可以切换到测试用于可拆卸装置19的范围内的数据的高速缓冲存储器120中的所有高速缓存行,并且写回所有这些高速缓存行。在另一实施例中,寄存器组1 中的多个寄存器可以用来表示高速缓冲存储器120中在可拆卸装置19的范围内的高速缓存行的相应地址。 在此实施例中,高速缓存控制电路122使用这些寄存器来针对所有这些地址选择高速缓存行。如果可用寄存器的数量小于具有可拆卸装置范围内的地址的高速缓存行的数量,高速缓存控制电路122可以写回所有具有可拆卸装置范围内的地址的高速缓存行。在另一实施例中,高速缓存控制电路122可以使用寄存器组124中的两个第二寄存器以表示高速缓冲存储器120的范围中的高速缓存行的低地址和高地址。在此实施例中,高速缓存控制电路122可以写回所有从低地址到高地址的地址的高速缓存行。高速缓存控制电路122根据载入到高速缓存中的高速缓存行的地址,更新这些寄存器的内容。高速缓存控制电路122可以将载入的高速缓存行的这些地址,与分配给可拆卸装置19的地址的范围和由第二寄存器表示的范围比较。高速缓存控制电路122扩大了后者的范围,以包括新加载的高速缓存行的地址,如果该地址是在分配给可拆卸装置19的地址的范围内,但在由第二寄存器表示的范围外的话。寄存器组IM可以使用单独的寄存器实现,或通过辅助存储器来实现,其中寄存器是相应存储器位置。高速缓存控制电路122可以是可编程电路,其具有以固定程序执行如所描述的功能的程序存储器。可选地,在高速缓存控制电路122中可提供专用电路以执行这些功能。图2描述了具有多个处理器20 (通过示例展示了 2个,但也可以使用更多个)的数据处理电路的实施例,每一个处理器具有它自己的耦合在处理器20和通信电路14之间的高速缓存电路22。这里,公共寄存器组M被提供给所有的高速缓存电路22,以定义与可拆卸装置19相关联的地址范围。在高速缓存电路22中,提供相应的寄存器组沈,用于存储关于相应的高速缓存电路22中的该范围内的地址的高速缓存行的信息。在此实施例中,高速缓存电路22的高速缓存控制电路122使用公共寄存器组M,与新存储在它们的高速缓冲存储器120中的高速缓存行的地址相比较,以确定是否将关于那些高速缓存行的信息写入到它们相应的寄存器组26中。在接收到冲刷命令时,公共寄存器组M可以用于控制从所有高速缓存电路22的写回。可以提供公共控制模块以控制从所有高速缓存电路的写回。公共控制模块可以实现为拆卸检测器(未示出),或其它冲刷命令产生器,其耦合到可拆卸电路的接口和每一个处理器20的高速缓存电路22的高速缓存控制电路122。可选地,可以使用耦合到处理器20 之一的拆卸检测器,或其它的冲刷命令产生器,所述处理器包含软件冲刷控制模块以通过发布冲刷命令到所有高速缓存电路来响应拆卸信号。可以使用冲刷控制模块的任何其它位置。在一个可选实施例中,定义与可拆卸装置19相关联的地址范围的信息的备份可以存储在每一个相应的寄存器组沈中以供高速缓存控制电路122使用。通过学习附图、披露文件和附加权利要求,本领域的技术人员在实践所请求保护的发明时可以理解和实现对披露的实施例的其它变化。在权利要求中,词语“包含”并不排除其他元件或步骤。一个单一处理器或其它单元可以满足权利要求中叙述的几个条目的功能。在互相不同且互相从属的权利要求中叙述的确定的方法并不意味着,这些方法的组合不能用来使其更有利。一个计算机程序可以存储/分布在合适的媒介中,如光学存储介质或与其它硬件一起或作为其它硬件的一部分的固态介质,但可以以其它的形式分布,如经过互联网或其它有线或无线通信系统。权利要求中的任何参考符号不应解释为限制发明的范畴。
权利要求
1.一种数据处理电路,包含处理器(10);用于功能上的可拆卸装置(19)的接口 (18);和耦合在处理器(10)和所述接口(18)之间的高速缓存电路(12),所述高速缓存电路(12)包含-高速缓冲存储器(120);和-高速缓存控制电路(122),配置为在将高速缓存行加载到高速缓冲存储器(120)中时,测试所述高速缓存行的地址是否在当功能上的可拆卸装置(19)耦合到所述接口(18) 时分配给所述功能上的可拆卸装置的可拆卸装置地址范围内,并且如果所述高速缓存行的地址在所述可拆卸装置地址范围内,则存储覆盖所述高速缓存行的地址的标识,高速缓存控制电路(12 进一步配置为接收冲刷命令,并且通过选择性地写回一部分高速缓存的数据来响应冲刷命令,所述一部分高速缓存的数据是在所存储的标识的控制下选择的。
2.根据权利要求1所述的数据处理电路,包含用于存储必须写回的数据的地址的更新范围的边界的表示的存储空间(1 ),高速缓存控制电路(122)配置为当高速缓存行的地址处于所述可拆卸装置地址范围内但处于所述更新范围之外时,在将所述高速缓存行加载到高速缓冲存储器(120)中时,更新所存储的表示,以扩展所述更新范围。
3.根据权利要求2所述的数据处理电路,其中存储空间(124)包含用于存储更新范围的起始地址或地址部分的第一寄存器,和用于存储更新范围的结束地址或地址部分或更新范围的长度的表示的第二寄存器。
4.根据权利要求1所述的数据处理电路,包含用于存储第一高速缓存行的标识和指示了需要对多于一个高缓存行进行写回的信息的存储空间(1 ),高速缓存控制电路(122) 配置为-当第一高速缓存行具有可拆卸装置地址范围内的地址时,在加载第一高速缓存行时, 存储第一高速缓存行的标识,和-当随后的高速缓存行具有可拆卸装置地址范围内的地址时,在加载所述随后的高速缓存行时,存储所述指示了需要对多于一个高速缓存行进行写回的信息,高速缓存控制电路(122)配置为-响应于冲刷命令,在只基于第一高速缓存行的标识进行写回与根据所述指示了需要对多于一个高速缓存行进行写回的信息而在可拆卸装置地址范围内搜索高速缓存行之间切换。
5.根据权利要求4所述的数据处理电路,其中存储空间(124)包含用于存储第一高速缓存行的地址或地址部分的寄存器。
6.根据权利要求1所述的数据处理电路,其中高速缓冲存储器(100)包含-相关联的高速缓存行存储元件,和-与相应的存储元件相关联的存储位置,高速缓存控制电路(12 配置为当高速缓存行具有可拆卸装置地址范围内的地址时,在加载所述高速缓存行时,在与存储所述高速缓存行的高速缓存行存储元件相关联的存储位置设置标志。
7.根据权利要求1所述的数据处理电路,其中高速缓冲存储器(120)包含关联高速缓存行存储元件和标志存储位置,高速缓存控制电路配置为当高速缓存行具有可拆卸装置地址范围内的地址时,在加载所述高速缓存行时,在标志存储位置和存储所述高速缓存行的高速缓存行存储元件之间设置关联。
8.根据权利要求1所述的数据处理电路,包含多个处理器(20),和多个高速缓存电路 (22),所述多个高速缓存电路0 耦合在所述用于可拆卸装置(19)的接口(18)和相应的处理器OO)之间,处理电路还包含用于存储适用于所有高速缓存电路0 的所述标识的公共存储空间04)。
9.根据权利要求8所述的数据处理电路,包含冲刷控制模块,配置为通过促使多个高速缓存电路的每一个基于适用于所有高速缓存电路的所述标识来选择性地写回高速缓存数据,以响应对于可拆卸装置的冲刷命令。
10.一种使用耦合到功能上的可拆卸装置(19)的处理器(10)处理数据的方法,其中具有高速缓冲存储器(120)的高速缓存电路(1 耦合在处理器(10)和可拆卸装置(19)之间,所述方法包含-将高速缓存行加载到高速缓冲存储器(120)中;-在进行所述加载时,测试所述高速缓存行是否具有分配给可拆卸装置(19)的可拆卸装置地址范围内的地址;-如果地址处于可拆卸装置地址范围内,存储覆盖所述高速缓存行的标识;-接收冲刷命令以选择性地写回一部分高速缓存数据;-使用所述标识来选择用于所述写回的高速缓存行。
全文摘要
一种使用高速缓存电路(12)处理数据的处理器(10)。处理器(20)经过高速缓存电路(12)耦合到功能上的可拆卸装置(19)。当高速缓存行被载入高速缓存存储器(120)时,测试高速缓存行是否具有分配给可拆卸装置(19)的可拆卸装置地址范围内的地址。如果是,则存储高速缓存行的标识或包括高速缓存行的地址的地址范围。当接收到需要写回高速缓存数据到可拆卸装置的冲刷命令时,使用标识以选择用于选择性写回到可拆卸装置的高速缓存行。因此,当装置可从电路中功能上拆卸时,需要无效的高速缓存数据较少。
文档编号G06F12/08GK102197381SQ200980142904
公开日2011年9月21日 申请日期2009年10月12日 优先权日2008年10月28日
发明者克兰西·拉克希米 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1