用于DMA、任务终止和同步操作的缓存一致保持制造技术

技术编号:5596231 阅读:217 留言:0更新日期:2012-04-11 18:40
用于在存储器缓存(105)上执行一致操作存储器缓存控制结构,包括:接收处理器,用于接收(301)包括与主存储器(103)相关的多个地址的地址组的地址组指示。地址组指示可包括任务标识以及对应于主存储器(103)的存储器块的地址范围。控制单元(303)顺序地处理缓存线组的每一线。具体地,通过评价匹配标准,确定每一缓存线是否与地址组的地址相关联。如果满足匹配标准,则在缓存线上执行一致操作。如果在一致操作和其他存储器操作之间存在冲突,则一致装置抑制一致操作。本发明专利技术允许缓存一致操作的减小的持续时间。该持续时间还与一致操作所包括的主存储器空间的大小无关。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及存储器缓存控制结构及执行其一致操作的方法。技术背景在例如数据处理系统、消费电子、计算机、汽车等的许多应用中 使用数字数据处理系统。例如,个人计算机(PC)使用复杂的数字处 理功能来提供广泛用户应用的平台。数字数据处理系统典型地包括输入/输出功能、指令和数据存储器 以及一个或多个数据处理器,例如微控制器、微处理器或数字信号处 理器。处理系统的性能的一个重要参数是存储器性能。对于最佳性能, 期望存储器是大的、快速的并优选是廉价的。很遗憾,这些特性趋于 是冲突的需求,并且当设计数字系统时需要适宜的折中。为了改进处理系统的存储器性能,已经开发了寻求开发不同类型 的存储器的单个优点的复杂的存储器结构。具体,普遍与较大的、较 慢的并且较廉价的主存储器结合使用快速缓存存储器。例如,在PC中,以包括典型不同大小和速度的存储器的存储器层 次来组织存储器。因此PC可以典型地包括大的、廉价但是慢的主处理 器,并此外具有一个或更多的缓存存储器级,包括相对小并且昂贵但 是快速的存储器。在操作期间,来自主存储器的数据被动态地复制到 缓存存储器中以允许快速读取周期。相似地,数据可以被写入缓存存储器中而不是主存储器中,由此允许快速的写入周期。因此,缓存存储器动态地与主存储器的不同存储器位置相关联, 并且很清楚主存储器和缓存存储器之间的接口和交互对于可接受的性 能来说是至关重要的。因此,进行了关于缓存操作的重要研究,并开 发了当数据写入缓存存储器而不是主存储器或从缓存存储器读取时, 以及当在缓存存储器和主存储器之间交换数据时进行控制的各种方法 和算法。典型地,无论何时处理器执行读取操作,缓存存储器系统首先检 査相应的主存储器地址是否当前与缓存相关联。如果缓存存储器包含 对于主存储器地址的有效数据值,则该数据值被缓存放置在系统的数 据总线上,并且读取周期执行而没有任何等待周期。然而,如果缓存 存储器不包含主存储器地址的有效数据值,则执行主存储器读取周期, 并从主存储器取回数据。典型地,主存储器读取周期包括一个或多个 等待周期,由此减缓了处理。处理器可以从缓存存储器收到数据的存储器操作典型地被称为缓 存命中,而处理器不能从缓存存储器接收数据的存储器操作典型地称 为缓存缺失。典型地,缓存缺失不仅仅导致处理器从主存储器取回数 据,而且还导致主存储器和缓存之间的大量数据传输。例如,如果访 问给定的地址导致缓存缺失,可将随后的存储器位置传输到缓存存储 器。由于处理器频繁地访问连续的存储器位置,缓存存储器包括期望 的数据的概率因此通常增加。缓存存储器系统典型地分为缓存线,其对应于缓存存储器的解析度。在已知为组关联(set associative)缓存系统的缓存系统中,多个缓 存线分组为不同的组,其中每一个组对应于到主存储器地址的较低数 据位的固定映射。每一个缓存线形成组的极端例子称为直接映射缓存, 并导致每个主存储器地址映射到一个特定缓存线。所有缓存线属于单 个组的另一极端例子称为完全联合缓存,并且这允许每一缓存线映射到任意主存储器位置。为了保持追踪每一缓存线与哪个主存储器地址相关联(如果有的 话),缓存存储器系统典型地包括数据阵列,其对于每一缓存线保持 指示该线和主存储器之间的当前映射的数据。具体,数据阵列典型地 包括相关联的主存储器地址的更高数据位。该信息典型地称为标记符 (tag),以及该数据阵列称为标记阵列。很明显,缓存存储器的控制是非常重要的,特别是对于管理主存 储器和缓存存储器之间的对应来说至关重要。例如,如果在主存储器 中修改数据而缓存存储器的相应数据没有被更新或指定为无效数据, 那么将发生灾难性的后果。相似地,如果已经写入缓存存储器的数据 在它在缓存存储器中被覆盖之前或者在直接访问主存储器的相应位置 之前没有被传输到主存储器,那么数据差异可导致错误。因此处理系 统的可靠性很大地依赖于缓存的控制。因此,在适宜的时机执行一致 操作,以消除或减小缓存存储器和主存储器之间的差异不导致不期望 的影响的概率。例如,直接存储器访问(DMA)模块能够访问直接访问主存储器。 DMA可以例如是部分硬盘接口,并用于在硬盘写入操作期间将数据从 主存储器传输到硬盘。在可以执行DMA操作之前,写入缓存存储器的 所有数据都被传输到主存储器是重要的。因此,在硬盘写操作之前, 处理器系统优选地执行一致操作,其中将已经写入缓存存储器但是没 有写入主存储器的所有数据传输到主存储器。使用尽可能小的复杂性 和时间消耗来执行一致操作,以使得系统用于正常操作,并减小系统 的计算负担。然而,通常这种一致操作是复杂的、耗时的、耗功率的和/或需要 复杂的硬件,由此增加了成本。例如,如果将主存储器的给定地址块 传输到硬盘,那么传统方法包括逐步经过主存储器的每一个位置,并检查缓存是否包括该位置的更新的值。由于主存储器地址块可以是非 常大的,这是一个很麻烦的过程,其典型地对与软件实现来说非常耗 时,并对硬件实现有高的复杂性要求。通常有两种实现一致功能的方法硬件和软件一致机制。硬件方 法包括增加调查(snoop)机制,用于每个基于缓存的系统。调査机制 追踪由其他主设备(例如DMA处理器)对主存储器进行的所有访问。当调査机制检测到对缓存中的有效数据的访问时,它通知主存储器。 对于对主存储器的写入,缓存数据可以自动被无效,以及对于读取, 数据可以通过缓存而不是主存储器被馈送到请求者。软件一致方法基于通过软件使用户清除(flush)、无效和同步缓存。这是通过增加控制器完成的,该控制器通过软件结构执行这些操作。硬件一致机制的 主要优点是它是自动完成的,即,用户不需要管理操作。硬件一致机 制的主要缺点是它实现起来非常复杂、它具有高功耗以及用尽半导体的其他区域。在低成本低功率系统例如数字信号处理器(DSP)中,硬 件方案不是适宜的。在欧洲专利协定申请EP 1182566A1中描述了缓存一致操作的例 子。该文献描述了基于限定主存储块的开始和结束地址并随后遍历由 缓存线的解析度的范围内的所有地址的缓存保持操作。对于每一个步 骤,主存储器地址与存储在缓存存储器标记阵列中的所有值相比较, 并且如果检测到匹配,则执行一致操作。然而,这导致非常耗时的处 理。此外,尽管可以通过引入主存储器地址和标记阵列之间的并行硬 件比较来减少处理时间,但是这增加了硬件复杂性并因此增加成本。此外, 一致操作的持续时间取决于所处理的存储器块的大小。因 此,随着存储器范围的大小增加,必须遍历增加的地址数目,由此增 加了持续时间。这是显著的缺点,特别是对于实时系统,其中处理持 续时间的不确定性显著地使得不同处理的实时管理变得复杂。US2002 065980描述了具有多个处理器的数字系统,包括与每个 处理器相关联的私有一级缓存,以及具有每条目多个段的共享二级缓 存,以及三级物理存储器。US2002 065980公开了使用两个限定器 (qualifier)来限定缓存线上的"匹配"的机制。EP1030243描述了虚拟索引,虚拟标记缓存,其使用可中断的硬 件清除功能来在环境切换期间清除缓存中的"脏的条目"。MAX计数 器和MIN寄存器限定了脏的缓存位置范围。在硬件清除功能期间, MAX计数器向下计数,而如果条目被本文档来自技高网...

【技术保护点】
一种用于在存储器缓存(105)上执行一致操作的存储器缓存控制结构,包括: 用于接收(301)用于地址组的地址组指示的装置,该地址组包括与主存储器(103)相关联的多个地址; 其特征在于: 处理装置(303),用于顺序地处理 缓存线组的每一缓存线;该处理装置(303)包括: 匹配装置,用于通过评价匹配标准确定缓存线是否与地址组的地址相关联; 一致装置,用于如果满足匹配标准,则在缓存线上执行一致操作;以及 用于确定在一致操作和另一存储器操作之间是 否存在冲突的装置,其中一致装置操作为如果存在冲突则抑制一致操作。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:伊塔伊佩莱德摩西安舍尔雅各布埃弗拉特阿隆埃尔达尔
申请(专利权)人:飞思卡尔半导体公司
类型:发明
国别省市:US[美国]

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

1