具有混合软硬件控制的高速缓存管理的多处理器系统技术方案

技术编号:7134979 阅读:246 留言:0更新日期:2012-04-11 18:40
一种多处理器系统,具有后台存储器和多个处理元件(10),每一个处理元件包括处理器核(100)和高速缓存电路(102)。处理器核(100)执行指令程序,并且高速缓存电路(102)高速缓存程序所访问的后台存储器数据。使用写回监控器电路(14)缓存写地址,写地址用于通过处理器核(100)中的至少一部分写数据。程序包括从写回监控器电路(14)中读取缓存的写回地址的命令,以及程序中针对读取缓存的写回地址的命令所读取的写回地址的高速缓存数据无效的命令。因此,部分通过硬件执行以及部分通过使用高速缓存的程序执行高速缓存存储器管理部分。处理核可以是VLIW核,在这种情况下,可以使程序不使用的指令时隙有用于包括针对高速缓存管理的指令。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种具有高速缓存存储器的多处理器系统、一种操作多处理系统的方 法、和一种针对这种多处理器系统的编译器。
技术介绍
已知,在多处理器系统的各个处理器与共享后台存储器之间设有高速缓存存储 器。高速缓存存储器存储与后台存储器中选定地址相关联的数据拷贝。在该系统中,关注 重点是保持拷贝之间的一致性。当一个处理器在它的高速缓存存储器或后台存储器中更新 针对后台存储器地址的数据时,其他高速缓存存储器中针对该地址的数据的拷贝可以与所 更新的数据相一致。已知,通过高速缓存一致性电路的方式强制执行一致性。高速缓存一致性电路至 少在高速缓存存储器之中传送所更新的数据的后台存储器地址。高速缓存存储器具备使用 该信息来使不一致数据无效或更新不一致数据的控制器。因此,如果处理器继续寻址该数 据,则在无效的情况下,将必须从后台存储器中下载该数据,或者在更新的情况下,加载所 更新的数据。因此,每一个处理器中的程序执行可以使用共享数据的后台存储器地址来继 续,而不关注不一致性。然而,高速缓存一致性电路常常是非常复杂的,会引起大量的电路开销和/或处 理延时以及甚至设计误差。
技术实现思路
其中,目的是降低确保高速缓存数据的一致性的使用所需的开销。提供了一种根据权利要求1所述的多处理系统。该系统包括后台存储器和多个 处理元件,每个处理元件包括处理器核和耦合在处理器核与后台存储器之间的高速缓存电 路。在处理器核中可以执行指令程序。在执行期间,将程序所访问的后台存储器数据高速 缓存在高速缓存电路中。提供写回监控器电路来缓冲写地址,写地址用于通过处理器核的 至少一部分写入数据。处理器核支持程序中的以下命令从写回监控器电路读取所缓存的 写回地址,并且使针对读取所缓冲的写回地址的命令所读取的写回地址的高速缓存数据无 效。不同的命令类型(例如不同的操作码)可以用于读取所缓冲的写回地址,并且相应地 使数据无效,在备选实施例中,可以使用一种命令类型来使处理器核进行这两种操作。在实 施例中,不需要使所有这样的写地址无效。而可以对针对写地址的数据进行更新,例如使用 针对该写地址的写数据。监控器电路通过缓冲写地址来支持程序,直到程序中读取写地址 的命令到达为止。在这种方式下,当需要时,可以已极小开销将确保高速缓存一致性的任务转移到 程序中。在实施例中,处理器核是VLIW处理器核。这意味着,不会因为将指令周期全部贡 献给高速缓存的一致性管理而丢失这些指令周期。在实施例中,当在程序访问写地址之前由于时间延时引起丢失写地址时,写回监控器电路被配置为来检测溢出条件。这例如通过在溢出的情况下使整个高速缓存无效,使 得程序能够提供校正操作。在实施例中,结合针对写地址的写数据来存储该写地址。这使得处理器核能够执 行更新操作,而不是无效操作。在实施例中,写回监控器电路可以是多个处理元件共享的共享写回监控器电路。 备选地,对于单个的处理元件可以使用本地写回监控器电路。该写回监控器电路可以包括 作为环形缓冲器而操作的缓冲存储器。在共享写回监控器电路的实施例中,提供多个读指 针来指向缓冲存储器中的位置。在备选实施例中,针对处理元件的写回监控器电路可以包 括一个关联存储器,该存储器是通过写地址可寻址的。这使得处理器核能够有效地管理选 定地址的一致性。在实施例中,多处理器系统可以包括同步电路,该同步电路被配置为使程序的执 行同步。这使得能够在程序中定义不需要命令管理高速缓存一致性的位置。一种编译器,以用于产生针对处理器核的程序,所述程序具有执行任务的命令和 从写回监控器电路中读取所缓冲的写回地址并且使针对写回地址的高速缓存数据无效的 命令。附图说明使用如下附图,根据示例性的实施例的描述,这些和其他目的和有利方面将变得 显而易见。图1示出了多处理系统。图Ia示出了编译器操作的流程图。图2示出了另一多处理系统。图3示出了共享写回监控器电路。图4示出了具有本地写回监控器电路的多处理系统。具体实施例方式图1示出了多处理系统,包括多个处理元件10、后台存储器12、处理元件10与 后台存储器12之间的接口 11、以及共享写回监控器电路14。在实施例中,处理元件10、后 台存储器12和共享写回监控器电路14均可以是单个集成电路的一部分。在另一个实施例 中,处理元件10和共享写回监控器电路14可以是单个集成电路的一部分,并且后台存储器 12可以在该集成电路外部,该集成电路包括可以访问后台存储器12的接口 11。每个处理元件10包括VLIW处理器核100和一个高速缓存电路102。已知VLIW 处理器核100本身基本而言,VLIW处理器核100提供指令的执行,每个指令可以包含多个 并行命令。每个VLIW处理器核100可以包括多个功能单元、寄存器文件和指令存储器。每个处理元件10的高速缓存电路102耦合在处理元件10的VLIW处理器核100 与后台存储器12之间。高速缓存电路102可以包括高速缓存存储器和控制电路,被布置为 测试通过来自于VLIW处理器核100的命令寻址的数据是否存在于高速缓存存储器中,并且 根据数据是否存在从高速缓存中返回数据或从写回存储器中加载数据。每一个高速缓存电路102具有耦合至共享写回监控器电路14的消息输出。每一个处理元件10的高速缓存电路102被配置为将高速缓存电路102从VLIW处理器核100接 收到的写事务的地址发送到共享写回监控器电路14。可以使用用于传输高速缓存一致性消 息的传统电路,来执行写事务的地址的传输。每一个VLIW处理核100具有耦合至共享写回 监控器电路14的输入端口 104。输入端口 104是指令可访问的。例如,这可以通过将输入 端口 104映射到VLIW处理器核100的可寻址的寄存器来实现。因为输入端口 104是指令 可访问的,所以VLIW处理器核100的程序可以包含具有访问输入端口 104的命令的指令。在操作中,VLIW处理器核100的程序执行期间,将高速缓存一致性的强制执行留 给程序本身。每一个VLIW处理器核100连续地执行其程序的相应VLIW指令。这些指令包 括从输入端口 104读数据的命令以及发送信号到高速缓存电路102使高速缓存行无效的 命令。这样的命令通过编译器包括在VLIW处理器核100的程序中。编译器可以是计算机 程序产品,该计算机程序产品具有在由可编程计算机执行时生成VILW处理器核100的程序 的指令的程序。备选地,编译器可以是被配置为产生VLIW处理器核100的程序的计算机。图Ia示出了编译器操作的流程图。在第一步骤111中,程序的编译器接收必须执 行来执行任务的操作的定义。在第二步骤112中,编译器将该定义转换成命令集和与命令 中数据依赖性有关的信息。在第三步骤113中,针对必须在命令之间通过操作码数据,对寄 存器进行分配,并且编译器将命令置于VLIW指令中。每个VLIW对于相应命令分别具有许 多状态信息。虽然最大执行速度的考虑可能会使得期望所有位置中放置用于执行任务的指 令,但是数据依赖性所强制的状态经常使得无法避免使得离开位置空缺(vacant)。在这种 情况下,编译器通常将在这些位置中放置“不操作”命令(NOP)。在第四步骤114中,编译器可以提供第二编译通路,其中,为了强制实施程序所需 的高速缓存本文档来自技高网...

【技术保护点】
一种多处理器系统,包括:  -连接至后台存储器(12)的接口(11);  -多个处理元件(10),每个处理元件(10)包括处理器核(100)和高速缓存电路(102),高速缓存电路(102)耦合在处理器核(100)与接口(11)之间,用于高速缓存由处理器核(100)的程序访问的后台存储器数据;  -写回监控器电路(14),被配置为对通过至少一部分处理器核(100)写入数据所用的写地址进行缓冲,处理元件(10)中至少一个处理元件(10)的处理器核(100)被配置为支持来自程序的从写回监控器电路(14)读取写回地址、以及使所述至少一个处理元件的高速缓存电路(102)中针对写回地址的高速缓存数据无效的命令。

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

【专利技术属性】
技术研发人员:简·胡格布鲁格
申请(专利权)人:NXP股份有限公司
类型:发明
国别省市:NL

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

1