用于在具有至少两个执行单元的计算机系统中控制存储器访问的方法和设备的制作方法

文档序号:6568491阅读:142来源:国知局
专利名称:用于在具有至少两个执行单元的计算机系统中控制存储器访问的方法和设备的制作方法
技术领域
本发明从根据独立权利要求的前序部分的用于在微处理器的至少 两个执行单元的输出数据之间进行比较的方法和设备。
背景技术
由ot粒子或宇宙辐射所引起的瞬时错误对于集成电路来说日益成为一个问题。以下概率由于减小的结构宽度、下降的电压和更高的时钟频率而增加,即由ct粒子或者宇宙辐射所引起的电压峰值在集成电路中使逻辑值失真。结果可能是错误的计算结果。因此在安全性相关 的系统中必须可靠地对这样的错误进行检测。在必须可靠地检测电子设备的功能失误的安全性相关系统、诸如汽车中的ABS控制系统中,正是在这种系统的相应控制装置中通常冗 余度被设置用于错误识别。因此例如在已知的ABS系统中完整的微控 制器分别是加倍的,其中冗余地计算所有ABS功能,并且对一致性进 行检查。如果出现结果的不一致,则ABS系统被打开。这种具有至少两个集成的执行单元的处理器单元也被称为双核或 多核架构。不同的执行单元(核)冗余地并且时钟同步地执行相同的 程序段,这两个执行单元的结果被比较,并且然后在对一致性进行比 较时识别错误。处理器配备有緩存,以便加速对指令和数据的访问。该緩存在一 方面数据量持续增加并且另一方面利用越来越快速地工作的处理器的 数据处理的复杂性增大的情况下是必要的。通过緩存,部分地避免对 大的(主)存储器的緩慢的访问,并且处理器因此不必等待数据的提 供。仅仅用于指令的緩存和仅仅用于数据的緩存是已知的,而且"统 一緩存,,也是已知的,在这些统一緩存中不仅数据而且指令都被存放 在同一个緩存中。还已知具有多个緩存级(层级)的系统。这种多级 緩存被用于利用分等级的存储容量和緩存的不同的寻址策略在不同的 级上进行处理器与(主)存储器之间的速度的最佳匹配。采用緩存的第二个原因是避免在多处理器系统中的系统或存储器总线上的访问冲突。在该多处理器系统中通常为每个处理器配备一个 緩存或者在多级緩存的情况下配备相应多个緩存。在可切换的双核系统中的已知的緩存装置中,两个核中的每一个 都具有固定分配的緩存,在性能模式中该核访问所述固定分配的緩存。 在比较模式中两个核访问它们各自的緩存。除了以下事实,即(对于 每个执行单元单独地)在比较模式中将数据多次存储在緩存中,尤其在从性能模式变换为比较模式时的时间花费是可观的。在该变换中, 必须对緩存的状态进行调整。首先由此保证,在比较模式中不出现以 下情况,即参与比较的执行单元之一具有緩存缺失(所要求的数据没 有被存储在緩存中并且必须被再加载),而另一执行单元具有緩存命 中(所要求的数据被存储在緩存中并且不必再加载)。 发明内容本发明的任务在于,在多处理器系统中避免迄今已知的方法在可 切换的多处理器系统中使用缓存时的缺点。在此尤其表明是缺点的是, 在已知的緩存装置中在从性能模式切换为比较模式时必须费事地对緩 存进行同步。对于在多处理器系统的不同模式、诸如性能模式和比较模式之间 的切换可能性来说有利的是,不是每个执行单元都拥有自己的緩存, 因为尤其是在切换为比较模式时必须进行费时间的緩存调整。这在所 建议的结构中可以在很大程度上被舍弃。此外有利的是,不同緩存可以针对不同模式(比较模式或性能模 式)以其容量与模式的要求相匹配。此外可能有利的是,尤其如果总 线访问本身并不明显慢于緩存访问,那么在有些模式中完全舍弃緩存。有利地描述了一种用于在具有至少两个执行单元的计算机系统中 对存储器访问进行控制的方法,其中设置有中间存储器、尤其是緩存, 并且此外还设置有切换装置和比较装置,其中在性能模式和比较模式 之间进行切换,其特征在于,在比较模式中没有执行单元对该中间存 储器进行访问,并且在性能模式中至少 一个执行单元对该中间存储器 进行访问。有利地描述了一种方法,其特征在于,在比较模式中与该中间存 储器相连接的执行单元至该中间存储器的连接通过开关装置被断开。有利地描述了一种方法,其特征在于,在比较模式中该比较装置对信息进行一致性比较,并在有偏差的情况下识别出错误,其中在有 错误的情况下阻止对不相当于该中间存储器的存储器的访问.有利地描述了一种方法,其特征在于,在比较模式中该比较装置 对信息进行一致性比较,并在有偏差的情况下识别出错误,其中在有 错误的情况下使不相当于该中间存储器的存储器中的信息变成无效的 或禁止该信息。有利地描述了一种方法,其特征在于,在比较模式中该比较装置 对信息进行一致性比较,并在有偏差的情况下识别出错误,其中在有 错误的情况下该计算机系统重新或再次被启动。有利地描述了一种方法,其特征在于,在比较模式中该比较装置 对信息进行一致性比较,并在有偏差的情况下识别出错误,其中在有 错误的情况下至少一个执行单元重新或再次被启动。本发明有利地包含有一种用于在具有至少两个执行单元的计算机 系统中控制存储器访问的设备,其中设置有中间存储器、尤其是緩存, 并且此外还设置有切换装置和比较装置,其中在性能模式和比较模式 之间进行切换,其特征在于,包含有装置,这些装置被构造,使得通 过这些装置,在比较模式中没有执行单元对该中间存储器进行访问, 并且在性能模式中至少 一个执行单元对该中间存储器进行访问。有利地包含有一种设备,其特征在于,所述装置被构造为开关装 置,该开关装置阻止或允许执行单元对该中间存储器的访问。有利地包含有设备,其特征在于,所述比较装置被构造,使得该 比较装置在比较模式中对信息进行一致性比较,并在有偏差的情况下 识别出错误,并在有错误的情况下阻止对不相当于该中间存储器的存 储器的访问。有利地包含有一种设备,其特征在于,所述比较装置被构造,使 得该比较装置在比较模式中对信息进行一致性比较,并在有偏差的情 况下识别出错误,并在有错误的情况下使不相当于该中间存储器的存 储器中的信息变成无效的或禁止该信息。有利地包含有一种设备,其特征在于,该比较装置被定位在至少 一个执行单元与该中间存储器之间。有利地包含有一种设备,其特征在于,该中间存储器被定位在至 少一个执行单元与该比较装置之间。有利地包含有一种设备,其特征在于,该切换装置和该比较装置 被实现为切换和比较单元。其它的优点和有利的扩展方案由权利要求的特征以及说明书得出。


图1示出具有两个执行单元的系统CIOO,这两个执行单元中只有 一个执行单元在性能模式和比较模式中通过緩存对总线CI0进行访问。图2示出具有两个执行单元的系统C100c,其中两个执行单元都在 性能模式和比较模式中通过緩存对总线CIO进行访问,但是其中只有 一个执行单元在比较模式中被利用。图3示出具有两个执行单元的系统C100a,其中只有一个执行单元 在性能模式中通过緩存对总线C10进行访问。在比较模式中不使用緩 存。图4示出具有两个执行单元的系统C200,其中两个执行单元都在 性能模式和比较模式中通过緩存对总线C10进行访问。在比较模式中 通过分离的总线连接单元来进行对总线的访问。图5示出具有两个执行单元的系统C200a,其中两个执行单元都在 性能模式和比较模式中通过緩存对总线C10进行访问。在比较模式中 通过分离的緩存和分离的总线连接单元来进行对总线的访问。图6示出具有两个执行单元的系统C300,其中两个执行单元都在 性能模式和比较模式中通过緩存对总线C10进行访问,但是其中只有 一个执行单元在比较模式中被利用。根据该系统C300的当前模式,在比较模式中所利用的緩存针对其任务而利用内部的不同的存储器。图7示出具有两个执行单元的系统C400,其中两个执行单元都在性能模式和比较模式中通过緩存对总线C10进行访问,但是其中只有一个执行单元在比较模式中被利用。根据该系统C400的当前模式,在比较模式中所利用的緩存针对其任务而利用内部的不同的存储器。这两个存储器彼此的容量比通过分离的单元来控制。图8示出具有两个执行单元的系统C500,这两个执行单元通过緩存单元对总线C10进行访问。按照该系统C500的模式,不同地操作执行单元的存储器访问。
具体实施方式
在下文中,执行单元不仅可以表示处理器/核/CPU,而且可以表示 FPU (Floating Point Unit (浮点单元))、DSP (数字信号处理器)、 协处理器或ALU (Arithmetic Logical Unit (算术逻辑单元))。因此,在一些多处理器系统中,緩存仅仅被用于避免在系统总线 和/或存储器总线上的冲突。如果仅仅存在一个执行单元,那么在这种 情况下緩存不是必要的,因为存储器足够快速以服务于一个执行单元 的读请求。图1示出具有两个执行单元C110a和CllOb的多处理器系统C100 的第一实施方案,这两个执行单元可以通过总线CIO来访问存储器。 单元C130按照该系统C100的模式来调节如何对该总线CIO进行访问。 在性能模式中,开关C131被闭合,并且开关C132被打开。因此执行 单元CllOb通过緩存C120和总线连接单元C150来访问总线C10。执行 单元C110a通过连接单元C140直接与该总线CIO相连接。如果緩存 C120被正确地确定大小,那么执行单元CllOb的存储器访问主要由 C120来操作,使得仅仅在极少情况下才有必要访问该总线C10。执行 单元C110a的存储器访问总是导致对该总线CIO的访问。只有当存储 器访问不能通过緩存C120来操作时,才通过单元C150来访问该总线。 如果在相同时间执行单元C110a通过C140进行对该总线CIO的访问, 那么出现总线冲突,该总线冲突必须通过总线协议来解决。因为緩存 C120对于软件来说是不可见的,所以有利的是单元C120在总线CIO 上侦听("Bus-Snooping"(总线侦听))执行单元C110a是否通过 C140来改变存储器中的也位于緩存C120中的数据。如果情况如此,那 么C120中的相应数据必须用新的数据来代替或被标记为无效的。在比较模式中,开关C132被闭合,并且开关C131被打开。两个 执行单元共同通过緩存C120来访问总线C10。比较单元C160将两个执 行单元的输出信号进行比较,并在有差别的情况下生成错误信号。可 选地,该比较单元C160可以与总线连接单元C150相连接(在此未示 出),并且如果两个核的输出信号不同,那么阻止写访问。在性能模 式中单元Cl60被去激活。该比较单元的去激活可以以不同的方式来实 现单元C160不执行比较,不向该单元C160施加用于比较的信号, 或者尽管进行比较,但结果被忽略。在图2中利用系统C100c示出了本发明的一种实施形式。在该实施形式中,在图1中所/>开的元件以相同的方式/>知。执行单元C100a 在性能模式中利用闭合的开关C131当然同样通过緩存C140a和总线连 接单元C140来对总线C10进行访问。在比较模式中緩存C120通过随 后闭合的开关C132被两个执行单元C110a和C110b使用,而C140a仅 仅在性能模式中被C110a使用。这两个緩存C120和C140a可以拥有不 同的容量,并且与此相应地针对在不同模式中所匹配的任务而被优化。在图3中示出了本发明的另一实施形式。C100a在此表示多处理器 系统。在此,在性能模式中,开关C133打开,并且开关C134闭合, 并且执行单元C110b通过緩存C120和总线连接单元C150来访问总线 CIO。另一执行单元C110a直接通过单元C140来访问该总线CIO。而在 比较模式中,开关C133闭合,并且C134打开,并且两个执行单元直 接通过C140来访问该总线CIO,并且该緩存C120不被使用。比较单元 C160将两个执行单元的输出信号进行比较,并在有差别的情况下生成 错误信号。可选地,在此该比较单元C160也可以与总线连接单元C140 相连接(在此未示出),并且如果这两个执行单元的输出信号不同, 那么阻止写访问。在性能模式中单元C160被去激活。所述去激活可以 以不同的已经描述的方式来实现。在该多处理器系统的另一实施方案中,緩存同样仅仅被用于避免 在存储器总线上的访问冲突。图4示出具有两个执行单元C210a和 C210b的多处理器系统C200,其中这两个执行单元可以以不同的方式 通过总线C10来访问存储器。按照该系统C200的模式,单元C230调 节如何对该总线C10进行访问。在性能模式中,开关C231和C234闭 合,并且开关C232和C233打开。因此执行单元C210a通过緩存。40a 利用总线连接单元C250a来访问总线C10,并且执行单元C210b通过緩 存C240b利用总线连接单元C250b来访问总线CIO。只有当不能从执行 单元的相应的緩存来操作存储器访问时,才必须进行对总线C10的访 问。如果在相同时间由其它的执行单元进行对该总线C10的访问,那 么出现总线冲突,该总线冲突必须通过总线协议来解决。因为緩存 C240a和C240b对于软件来说是不可见的,所以有利的是,由执行单元 C210a、 C210b写入到相应的緩存C240a、 C240b中的数据同样立即通过 相应的总线连接单元C250a、 C150b被写到总线C10上从而被写入到存 储器中("直写"策略)。另外有利的是,单元C240a和C240b (通过C250a或C250b )在总 线C10上侦听("Bus-Snooping"(总线侦听))执行单元C210a是 否通过C250a或者C210b是否通过C250b来改变存储器中的、也分别 位于另外的緩存中的数据。如果情况如此,那么该相应的数据在有关 的緩存中必须用于新的数据来代替或者被标记为无效的。在比较模式中,开关C232和C233闭合,并且开关C231和C234 打开。两个执行单元共同通过C260来访问总线CIO。緩存(C240a、 C240b)不被使用。比较单元C220将两个执行单元的输出信号进行比 较,并在有差别的情况下生成错误信号。可选地,该比较单元C220可 以与总线连接单元C260相连接(在此未示出),并且如果这两个执行 单元的输出信号不同,那么阻止写访问。在性能模式中单元C220被去 激活.所述去激活可以以不同的已经描述的方式来实现。图5示出多处理器系统的另一实施形式C200a,在该实施形式中相 对于图4中所示的实施形式C200针对比较模式插入了附加的緩存270。 由图4已知的部件以与在图4中所述的方式相同的方式工作。在该系 统中也是有利的是,将"直写"策略用于所有緩存,并且所有緩存的 内容通过"总线侦听"被保持一致。在此前面根据图4和5所描述的变型方案可以被扩展到多于两个 的执行单元。在该情况下针对每个执行单元都存在在性能模式中被使 用的緩存单元和总线连接单元。在比较模式中,所有执行单元都通过 总线连接单元C260 (可选地利用緩存C270 )来访问总线CIO。在图6中示出了本发明的另一实施形式。在此处理器单元C300也 由至少两个执行单元C310a和C310b组成,这些执行单元分别通过緩 存C340a、 340b和总线连接单元C350a、 C350b通过总线C10来访问存 储器。在性能模式中,单元C330中的开关C332打开并且开关C331闭 合。执行单元C310a在该配置中通过緩存C340a和总线连接单元C350a 来访问总线CIO,并且执行单元C310b通过緩存C340b和总线连接单元 C350b来访问总线CIO。在比较模式中,在切换单元C330中开关C332闭合并且开关C331 打开。现在这两个执行单元通过緩存C340a和总线连接单元C350a来 访问总线C10。单元C340a本身又由两个被用于进行緩存的分离的緩存 存储器或緩存区域C341、 C342组成。在性能模式中仅仅使用存储器/区域C341,而在比较模式中除了存储器/区域C341之外还使用存储器/ 区域C342来进行緩存。在比较模式中比较单元C320将两个执行单元 的输出信号进行比较,并在有差别的情况下生成错误信号。可选地, 在此该比较单元C320也可以与总线连接单元C350a相连接(在此未示 出),并且如果在比较模式中两个核的输出信号不同,那么阻止写访 问。在性能模式中比较单元C320如同已经针对图1中所示的比较单元 C160所描述的那样被去激活。在另一实施形式中,单元C340a可以被构建,使得在比较模式中 存储器C341和C342虽然同样被一同使用,但是在比较模式中仅仅存 储器C342中的内容可以被置换(verdrangen)并用其它的内容来代替。图6的扩展方案的所有实施形式都可以被扩展到多于两个的执行 单元。在该情况下针对每个执行单元都存在在性能模式中被利用的緩 存单元和总线连接单元。在比较模式中所有执行单元都通过緩存C340a 和总线连接单元C350a来访问总线C10,在图7中示出了本发明的另一种可能的实施形式。在此,处理器 单元C400也由至少两个执行单元C410a和(M10b组成,这些执行单元 分别通过緩存(C"Oa、 "0b)和总线连接单元(C"Oa、 C"Ob)来访 问总线C10从而访问(主)存储器。在性能模式中,单元C430中的开关C432打开并且开关C431闭合。 在该配置中,执行单元C410a通过緩存C440a和总线连接单元C450a 来访问总线CIO,并且执行单元C410b通过緩存C440b和总线连接单元 C450b来访问总线CIO。在比较模式中,在切换单元C430中开关C432闭合并且开关C431 打开。现在这两个执行单元通过緩存C440a和总线连接单元C450a来 访问总线CIO。单元C440a本身又由两个被用于进行緩存的分离的緩存 存储器或区域C441、 C442组成。在性能模式中仅仅使用存储器/区域 C441,而在比较模式中存储器/区域C442被用于进行緩存。两个存储 器/区域的容量的总和C441+C442是恒定的,但是C441和C442之间的 容量比由单元C443来控制。通过该单元C443能够在运行中改变该容 量比。在比较模式中,比较单元C420将两个执行单元的输出信号进行比 较,并在有差别的情况下生成错误信号。可选地,在此该比较单元C420也可以与总线连接单元C450a相连接(在此未示出),并且如果两个 核的输出信号在比较模式中不同,那么阻止写访问。在性能模式中, 如同已经针对图1中的比较单元C160所描述的那样,单元C420被去 激活。现在,单元C440a可以在保持单元C443的功能的情况下如下来实施1. 在比较模式中,该緩存的两个存储器C441和C442都被使用。2. 在比较模式中,该緩存的两个存储器C441和C442都被使用, 其中但是仅仅存储器C442的内容可以在比较模式中被置换并且用其它 的内容来代替。图7的扩展方案的所有实施形式都可以被扩展到多于两个的执行 单元。在该情况下针对每个执行单元都存在在性能模式中被利用的緩 存单元和总线连接单元。在比较模式中,所有执行单元都通过緩存 C440a和总线连接单元C450a来访问总线CIO。在图8中示出了另一种可能的实施形式.在处理器系统C500中存 在至少两个执行单元C510a和C510b。两个执行单元都与緩存单元C530 相连接。该单元C530针对每个执行单元拥有总线连接单元C550a、 C550b,通过该总线连接单元可以访问总线C10从而访问存储器。该緩 存单元C530针对每个所连接的执行单元拥有两个緩存存储器(在此 C531和C533用于C510a,且C534和C536用于C510b )。这些存储器 对的容量的总和是恒定的,但是容量比可以分别通过一个单元(C532 用于C531、 C533,以及C535用于C534、 C536 )在运行中被改变。在性能模式中,执行单元的存储器访问总是由被分配给该执行单 元的存储器对进行"緩存(gecached)"。在此,仅仅使用两个緩存 存储器中的一个(在此C531用于C510a,以及C534用于C510b )。如 果执行单元的存储器访问不能够由緩存存储器来操作,那么对C10的 必要的总线访问总是通过被分配给执行单元的总线连接单元来进行 (在此C550a用于C510a,并且C550b用于C510b )。在性能模式中由 执行单元同时进行的访问也可以同时通过单元C530来操作,因为如果 不这样,那么就会由于对C10的同时访问而出现总线冲突。在比较模式中,执行单元的存储器访问通过在性能模式中未被使 用的緩存存储器(在此为C533和C536 )来操作。哪个总线连接单元被用于总线访问是任意的。比较单元C520在比较模式中将所有执行单元 的输出信号进行比较,并在有差别的情况下生成错误信号。可选地, 在此该比较单元C520也可以与总线连接单元C550a、 C550b相连接(在 此未示出),并且如果这两个核的输出信号在比较模式中不同,那么 阻止写访问。在性能模式中该单元C520被去激活。所述去激活可以相 应地如同在图1中的比较单元C160的情况下那样来进行。在另一实施形式中,单元C530可以被构建,使得在比较模式中使 用全部的緩存存储器(在此为C531、 C533、 C534、 C536 ),但是仅仅 是在性能模式中未被使用的緩存存储器的内容被丢弃并且被代替。对于这里被示例性示出的所有实施都适用的是,切换和比较单元 总是位于执行单元及其所属的緩存之间。如果在比较模式中使用一个 緩存,那么该緩存必须利用ECC或奇偶校验来保护,因此在此也识别 错误。另外有利的是,为该緩存使用"直写"策略,并且该緩存的内 容通过"总线侦听"来保持一致。
权利要求
1.用于在具有至少两个执行单元的计算机系统中控制存储器访问的方法,其中设置有中间存储器、尤其是缓存,并且此外还设置有切换装置和比较装置,其中在性能模式和比较模式之间进行切换,其特征在于,在比较模式中没有执行单元对所述中间存储器进行访问,并且在性能模式中至少一个执行单元对所述中间存储器进行访问。
2. 根据权利要求1所述的方法,其特征在于,在比较模式中与所 述中间存储器相连接的执行单元至所述中间存储器的连接通过开关装 置被断开。
3. 根据权利要求1所述的方法,其特征在于,在比较模式中所述 比较装置对信息进行一致性比较,并在有偏差的情况下识别出错误, 其中在有错误的情况下阻止对不相当于所述中间存储器的存储器的访 问。
4. 根据权利要求1所述的方法,其特征在于,在比较模式中所述 比较装置对信息进行一致性比较,并在有偏差的情况下识别出错误, 其中在有错误的情况下使不相当于所述中间存储器的存储器中的信息 变成无效的或禁止该信息。
5. 根据权利要求1所述的方法,其特征在于,在比较模式中所述 比较装置对信息进行一致性比较,并在有偏差的情况下识别出错误, 其中在有错误的情况下所述计算机系统重新或再次被启动。
6. 根据权利要求l所述的方法,其特征在于,在比较模式中所述 比较装置对信息进行一致性比较,并在有偏差的情况下识别出错误, 其中在有错误的情况下至少 一个执行单元重新或再次被启动。
7. 用于在具有至少两个执行单元的计算机系统中控制存储器访问 的设备,其中设置有中间存储器、尤其是緩存,并且此外还设置有切 换装置和比较装置,其中在性能模式和比较模式之间进行切换,其特 征在于,包含有装置,这些装置被构造,使得通过这些装置,在比较 模式中没有执行单元对所述中间存储器进行访问,并且在性能模式中 至少 一个执行单元对所述中间存储器进行访问。
8. 根据权利要求7所述的设备,其特征在于,所述装置被构造为 开关装置,该开关装置阻止或允许执行单元对所述中间存储器的访问。
9. 根据权利要求7所述的设备,其特征在于,所述比较装置被构造,使得所述比较装置在比较模式中对信息进行一致性比较,并在有 偏差的情况下识别出错误,并且在有错误的情况下阻止对不相当于所 述中间存储器的存储器的访问。
10. 根据权利要求7所述的设备,其特征在于,所述比较装置被 构造,使得所述比较装置在比较模式中对信息进行一致性比较,并在 有偏差的情况下识别出错误,并且在有错误的情况下使不相当于所述 中间存储器的存储器中的信息变成无效的或禁止该信息。
11. 根据权利要求7所述的设备,其特征在于,所述比较装置被 定位在至少一个执行单元和所述中间存储器之间。
12. 根据权利要求7所述的设备,其特征在于,所述中间存储器 被定位在至少一个执行单元和所述比较装置之间。
13. 根据权利要求7和11或7和12所述的设备,其特征在于, 所述切换装置和所述比较装置被实现为切换和比较单元。
全文摘要
用于在具有至少两个执行单元的计算机系统中控制存储器访问的方法和设备,其中设置有中间存储器、尤其是缓存,并且此外还设置有切换装置和比较装置,其中在性能模式和比较模式之间进行切换,其特征在于,在比较模式中没有执行单元对该中间存储器进行访问,并且在性能模式中至少一个执行单元对该中间存储器进行访问。
文档编号G06F11/16GK101238443SQ200680029142
公开日2008年8月6日 申请日期2006年7月24日 优先权日2005年8月8日
发明者B·米勒, E·博尔, R·格默利克, R·韦伯尔, Y·科拉尼 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1