在具有至少两个执行单元的计算机系统中通过标记寄存器来确定起始状态的方法和设备的制作方法

文档序号:6568536阅读:154来源:国知局
专利名称:在具有至少两个执行单元的计算机系统中通过标记寄存器来确定起始状态的方法和设备的制作方法
技术领域
本发明从根据独立权利要求的前序部分的用于在微处理器的至少 两种运行模式之间进行切换的方法和设备出发,其中所述微处理器具 有至少两个用于执行程序段的执行单元。
背景技术
由OC粒子或宇宙射线所引起的瞬时错误对于集成电路来说日益成 为一个问题。由于减小的结构宽度、下降的电压和更高的时钟频率,
由oc粒子或宇宙射线所引起的电压峰值使集成电路中的逻辑值失真的
概率增大。错误的计算结果可能是后果。因此在安全性相关系统中必 须可靠地检测这种错误。
在必须可靠地检测电子设备的故障的安全性相关系统、诸如汽车
中的ABS调节系统中,通常正是为了识别错误而在这种系统的相应的 控制装置中设置冗余。因此例如在公开的ABS系统中分别复制完整的 微控制器,其中冗余地计算整个ABS功能并检查一致性。如果出现结 果的差异,则关断ABS系统。
这种处理器单元也被称为双核或多核架构。不同的核冗余地并且 时钟同步地执行相同的程序段,这两个核的结果被比较。在对两个结 果的 一 致性的比较中对错误进行识别。在下文中这种配置被称为比较 模式。
双核或多核架构在其它应用中也被用于提高效率,也即被用于提 高性能。两个核执行不同的程序段,由此与比较模式相比或与单核系 统相比能够实现效率提高。这种配置被称作效率模式或性能模式。在 具有相同核的特殊特征方案中,这种系统也被称为对称多处理器系统 (SMP)。
这种系统的一种扩展是借助对特殊地址的访问以及专门的硬件设 备通过软件在这两种模式之间进行切换。在比较模式下这些核的输出 信号被相互比较。在性能模式下这两个核作为一个对称多处理器系统 (SMP)工作并且执行不同的程序、程序段或指令。

发明内容
在背景技术中所述的多处理器必须在从性能模式切换到比较模式 之前对执行单元的内部状态(寄存器、流水线等)进行匹配。这在具 有许多寄存器的执行单元中可能需要相对多的计算时间,并延长从性 能模式到比较模式的模式变换。用于使执行单元的状态匹配的常用方 法是,将执行单元中的所有寄存器都设置为值零,并将其内容标记为 无效的。
本发明的任务在于,缩短这种从性能模式到比较模式的变换。在 此所述的实施例相对于现有技术具有以下优点,即它能够实现从性能 模式到比较模式的更快速的切换,因为执行单元的寄存器可以按照其 所参与的模式通过使用本发明方法快速地被初始化。
有利地描述了一种用于在具有至少两个执行单元的计算机系统中 确定起始状态的方法,其中在性能模式和比较模式之间进行切换,并 且在从性能模式切换到比较模式时为比较模式产生起始状态,其特征 在于,针对该起始状态给可能要匹配的存储器或存储区配备关于该存 储器或存储区中的数据和/或指令是否必须或不必针对该起始状态被 改变的标识。有利地,如果所述标识对此进行指示,则在该起始状态 中被分配给相应执行单元的至少一个存储器或存储区被至少一个能预 先给定的值占用。有利地,如果所述标识对此进行指示,则把第一执 行单元的所产生的起始状态拷贝到存储区中并且第二执行单元从该存 储区中接收所产生的起始状态。有利地,如果所述标识对此进行指示, 则第 一执行单元的所产生的起始状态由第二执行单元通过特殊的通信 信道被接收到至少一个存储器或存储区中。有利地,设置有起始存储 器或起始存储区,并在该起始存储器或起始存储中预先给定,哪些存 储器或存储区必须针对起始状态被改变。有利地,设置有寄存器或寄 存器集,并在该寄存器或寄存器集中预先给定,哪些存储器或存储区 必须针对起始状态被改变。有利地,设置有起始存储器或起始存储区, 并在该起始存储器或起始存储区中预先给定,哪些存储器或存储区不 必针对起始状态被改变。有利地,设置有寄存器或寄存器集,并在该 寄存器或寄存器集中预先给定,哪些存储器或存储区不必针对起始状 态被改变。有利地包含有一种用于在具有至少两个执行单元的计算机 系统中确定起始状态的设备,其中在性能模式和比较模式之间进行切换,并在从性能模式切换到比较模式时为比较模式产生起始状态,其 特征在于,包含有被分配给执行单元的至少一个存储器或存储区,该 存储器或存储区被构造,使得只要该存储器或存储区可能必须针对该 起始状态被匹配,该存储器或存储区就可以配备关于该存储器或存储 区中的数据和/或指令是否必须或不必针对该起始状态被改变的标识。 该存储器或存储区有利地是至少一个寄存器。有利地包含有起始存储 器或起始存储区,该起始存储器或起始存储区被构造,使得在该起始 存储器或起始存储区中预先给定,哪些存储器或存储区必须针对该起 始状态被改变。有利地包含有寄存器或寄存器集,该寄存器或寄存器 集被构造,使得在该寄存器或寄存器集中预先给定,哪些存储器或存 储区必须针对该起始状态被改变。有利地包含有起始存储器或起始存 储区,该起始存储器或起始存储区被构造,使得在该起始存储器或起 始存储区中预先给定,哪些存储器或存储区不必针对该起始状态被改 变。有利地包含有寄存器或寄存器集,该寄存器或寄存器集被构造, 使得在该寄存器或寄存器集中预先给定,哪些存储器或存储区必须针
对该起始状态;故改变。
其它的优点和有利的扩展方案从权利要求的特征以及说明书中得出。


图1示出具有两个执行单元和一个比较单元的处理器的一般构造。 图2示出具有两个不同的寄存器组和处理逻辑的执行单元的一种 可能的构造。
图3示出具有两个不同的寄存器集和处理逻辑的执行单元的一种 可能的构造。该寄存器集在其侧再次被划分为两个不同的组。
图4示出两个执行单元,这两个执行单元具有其内部寄存器、中 间存储器以及在执行单元之间的用于传输内部状态的连接。
图5示出两个执行单元,这两个执行单元具有其内部寄存器以及 用于为比较模式的起始状态而读出内部状态的中间存储器。
图6示出具有有效数据和控制数据的寄存器的构造。
图7示出具有两个执行单元以及执行单元的内部寄存器的多处理器。
图8示出具有两个执行单元、其内部寄存器以及特殊寄存器的多处理器系统。
具体实施例方式
在图中有些单元拥有相同的数字,但附加地用a或b来标注。如 果在没有附注a或b的情况下用数字来引用,那么表示现有的单元中 的一个而不是特殊的实体。如果只引用单元的某个实体,那么标识a 或b总是被置于数字之后。
在下文中,在此不仅处理器、核、CPU、而且FPU (Floating Point Unit(浮点单元))、DSP(数字信号处理器)、协处理器或ALU( Arithmetic Logical Unit (算术逻辑单元))都可以被称为执行单元。
在图1中示出了一种处理器系统C1000,该处理器系统可以在比较 模式和性能模式之间进行切换,由两个执行单元ClOOa和ClOOb组成。 在一个优选的实施例中,这些执行单元是相同的。两个执行单元C100a 和C100b分别拥有至系统总线的接口 C110a或CllOb,其中通过该系统 总线例如进行对存储介质、诸如RAM、 R0M、闪存的访问或者对外围单 元的访问。如果该处理器系统C1000处于比较模式下,那么该执行单 元C100a、 ClOOb的输出信号通过单元C120来相互比较。这种比较优 选地例如时钟精确地或者以固定的时钟偏移进行,这意味着,在每个 时钟中至少两个执行单元C100a、 ClOOb的输出信号通过该单元C120 被比较。如果在被比较的信号之间存在区别,那么由该单元C120生成 错误信号。可选地,也可以附加地将执行单元ClOOa和ClOOb的输入 信号进行比较。如果该处理器系统C1000处于性能模式下,那么该比 较单元C120是未激活的,并且在执行单元的输出信号有区别的情况下 不生成错误信号。该比较单元的去激活可以以不同的方式来实现
通过该单元C120的比较不被实施。
不向该单元C120施加用于比较的信号。
由该单元C120进行比较,但结果被忽略。
在从性能模式变换为比较模式时必须保证随着比较模式的开始, 也即该比较器C120被激活的时间点,两个执行单元C100a和C100b的 内部状态是相同的。在下文中把比较模式开始时的状态称为起始状态, 其中在比较模式下从该状态出发开始计算。执行单元中的状态必须相 同是必要的,由此在无错误的情况下在任何时间点在比较模式下由 C120比较的信号都没有区别。在比较模式下执行单元的不同的状态通常导致生成不同的输出信号。尽管存在相同的输入信号并且在处理中 没有出现要检测的错误,但是这些不同的输出信号将被比较器检测为 错误。
一种用于在两个执行单元中在比较模式开始时达到相同状态的途
径是将执行单元中的所有内部寄存器标记为无效的。但并不是在所有 内部寄存器中都存在这种标记的可能性。于是这些内部寄存器必须被
设置为所定义的值,该值在两个执行单元中是相同的。
在图2中所示的第一实施形式中说明了在两个寄存器集之间的切 换。在图2中说明了执行单元C100的一种可能的实施方案。该执行单 元包含至少两个不同的寄存器组C101和C102以及内部逻辑C103。寄 存器组C101可以净皮标记为无效的。这意p木着,该执行单元的内部逻辑 C103在访问该组的被标记为无效的寄存器时识别出,该寄存器的内容 必须重新^皮确定;例如通过从RAM、 R0M、闪存中重新加载或者通过重 新计算。来自另一组C102的寄存器总是具有有效的内容。执行单元的 工作寄存器例如属于该组。如果进行从性能模式到比较模式的变换, 那么如前所述,来自两个执行单元C100中的C101和C102的这些寄存
器必须是相同的。
寄存器组CIOI、 C102的这种条件不必一定要自从性能模式切换到 比较模式的时间点起就适用,但必须最迟在切换到比较模式之后在对 执行单元CIOO中的两个相同的寄存器进行第一次读访问时适用。通常 的方法在于,在切换到比较模式之前或之后及时地给组C102的所有寄 存器分配固定的值。与此独立地,在切换到比较模式时组CIOI的寄存 器都被标记为无效的。
如果执行单元C100如图3中那样按照C100c来构造,那么该过程 可以通过在每个执行单元中使用两个寄存器集C101a、C102a和C101b、 C102b被加速。不是在切换之前、期间或之后匹配(angleichen)寄存 器,而是在性能模式下以及在比较模式下使用不同的寄存器。在比较 模式下使用组C101a和C102a的寄存器,而在性能模式下使用组C101b 和C102b的寄存器。在切换到比较模式或者切换到性能模式的时间点, 在这些寄存器集之间进行切换。如果针对寄存器101a和102a例如在 接通处理器时通过相应的初始化来一次性地确保内容是相同的,那么 这些寄存器在两个执行单元上运行期间也保持不变。由此在从性能模式切换到比较模式时没有必要进行寄存器内容的匹配,因为在比较模式下总是仅仅访问在两个执行单元C100a和C100b之间是相同的并且 仅仅在比较模式下能够被写的寄存器。在图4中所示的第二实施形式中说明了一个执行单元的内部状态 到另一执行单元上的拷贝。在图4中示出对从性能模式到比较模式的 切换过程进行加速的另一种可能性。该可能性在于执行单元C100d、 C100e的内部状态C104d或C104e到另 一执行单元C100d或C100e的拷 贝。在运行中,在从性能模式切换到比较模式时,通常一个执行单元 对于切换来说在时间上已经早于另 一执行单元。如果在时间上已经较 早的执行单元的内部寄存器(在C100d中的C104d和在C100e中的C104e)在切换之前被初始化为在比较模式下所需的值,那么可以通过 以下方式对在时间上随后的第二执行单元的内部状态进行匹配,即接 收第一执行单元的状态。如果例如执行单元C100d对于切换来说已经 早于执行单元C100e,那么在切换时状态C104d向C104e被拷贝。可以通过直接利用两个执行单元之间的连接C300来实施内部状态 的这种拷贝,其中通过该连接来拷贝内部状态。替代地,可以把在时 间上较早的第 一执行单元的状态拷贝到(快速连接的)中间存储器C2 00 中,在时间上随后的第二执行单元把该状态从该中间存储器中接收到 内部寄存器中。在图5中所示的另一实施形式中说明了通过利用快速连接拷贝存 储区中的寄存器内容来为比较模式进行内部状态的初始化。在此前提 是,在性能模式开始时至少两个执行单元C100f、 C100g的内部状态 C104f、C104g总是被设置为正好所定义的值。该值被存储在存储器C400 中,该存储器C400具有至执行单元C100f、 C100g以及由此至寄存器 C104f、 C104g的尽可能快速的连接。该存储器优选地是非易失性的。 但是,如果存储器中所存储的用于性能模式的初始化状态在初始化该 多处理器系统时从非易失性存储器中被拷贝、从外部数据源接收或者 由该多处理器系统生成,那么也可以是易失性存储器。为了从性能模 式切换到比较模式或者在从性能模式切换到比较模式时,存储器C400 中所存储的用于比较模式的初始化状态被写入至少两个执行单元 C100f、 C100g的在比较模式下应当被写的寄存器C104f、 C104g中。在另 一 实施形式中标记子状态,其中该子状态在切换到比较模式时在所述执行单元之间不必进行匹配。并不总是需要在从性能模式切 换到比较模式时对执行单元的所有寄存器进行匹配。为了在比较模式 下正确地识别错误,只须对在比较模式下实际被利用的一个执行单元 的寄存器与第二执行单元的寄存器进行匹配。首先在执行单元中设置大量寄存器的架构中情况如此,或者可以在软件开发时作为补充条件 来考虑。在比较模式下被利用的寄存器的数量可以根据每种情况来确 定。如果现在不是所有的寄存器都被利用,那么没必要对所有的寄存 器进行匹配,而是仅仅对所使用的寄存器进行匹配。因此建议在每个 寄存器中设置附加的位。在这些位中可以对在从性能模式切换到比较 模式时该寄存器的内容是否应当与另 一执行单元的相应寄存器相匹配 进行编码。替代地,可以存在特殊寄存器,该寄存器的内容定义执行 单元的哪个寄存器必须与另一执行单元的相应寄存器相匹配。所述匹图7示出具有多个执行单元C310、 C320的处理器系统C300,其中 所述多个执行单元具有它们的寄存器C311、 C321。 C311、 C321中的每 个寄存器由具有有效数据的n位(n>l)组成(图6中C2010所示)。 每n位附加地得到具有控制数据的m位(m〉-l)(图6中C2000所示)。 在这m位中对在变换到比较模式时是否进行匹配进行编码。如果在最 简单的情况下该控制位仅仅由一位组成,那么例如为零的值表示不必 进行匹配,而为一的值表示必须进行匹配。然后在从性能模式切换到 比较模式时进行对这些位的分析。图8示出本发明的具有处理器系统C400的另一实施形式,其中该 处理器系统包含具有寄存器C411、 C422的执行单元C410、 C420。该处 理器系统C400另外还拥有寄存器C430。该寄存器C430的内容定义执 行单元C410、 C420的C411、 C421中的哪个寄存器在变换到比较模式 时必须净皮匹配。例如该寄存器C430可以被实现,使得针对C411、 C421 中每个可能要匹配的寄存器在C430中设置有一位。如果相应的位被设 置,那么相对应的寄存器必须被匹配,如果该位没有被设置,那么相 对应的寄存器不须被匹配。然后在从性能模式切换到比较模式时进行 对该寄存器的分析。在图中未示出的另一实施形式中,不设置如图8 中所示的中央寄存器C430,而是在每个执行单元中设置承担寄存器 C430的任务的寄存器。这意味着在该寄存器中对该执行单元的寄存器中的哪一个在从性能模式切换到比较模式时必须与至少一个第二执行 单元的寄存器相匹配进行编码。但是然后在从性能模式切换到比较模 式时必须保证在所有要同步的执行单元中这些特殊寄存器的内容是相 同的。
权利要求
1.用于在具有至少两个执行单元的计算机系统中确定起始状态的方法,其中在性能模式和比较模式之间进行切换,并且在从性能模式切换到比较模式时为比较模式产生起始状态,其特征在于,针对所述起始状态给可能要匹配的存储器或存储区配备关于该存储器或存储区中的数据和/或指令是否必须或不必针对所述起始状态被改变的标识。
2. 根据权利要求1所述的方法,其特征在于,如果所述标识对此 进行指示,则在所述起始状态中被分配给相应执行单元的至少一个存 储器或存储区被至少一个能预先给定的值占用。
3. 根据权利要求1所述的方法,其特征在于,如果所述标识对此 进行指示,则笫 一执行单元的所产生的起始状态被拷贝到存储区中并 且第二执行单元从该存储区中接收这个所产生的起始状态。
4. 根据权利要求1所述的方法,其特征在于,如果所述标识对此 进行指示,则第 一执行单元的所产生的起始状态由第二执行单元通过 特殊的通信信道接收到至少一个存储器或存储区中。
5. 根据权利要求1所述的方法,其特征在于,设置有起始存储器 或起始存储区,并且在该起始存储器或起始存储区中预先给定,哪些 存储器或存储区必须针对所述起始状态被改变。
6. 根据权利要求1所述的方法,其特征在于,设置有寄存器或寄 存器集,并且在该寄存器或寄存器集中预先给定,哪些存储器或存储 区必须针对所述起始状态被改变。
7. 根据权利要求1所述的方法,其特征在于,设置有起始存储器 或起始存储区,并且在该起始存储器或起始存储区中预先给定,哪些 存储器或存储区不必针对所述起始状态被改变。
8. 根据权利要求1所述的方法,其特征在于,设置有寄存器或寄 存器集,并且在该寄存器或寄存器集中预先给定,哪些存储器或存储 区不必针对所述起始状态被改变。
9. 用于在具有至少两个执行单元的计算机系统中确定起始状态的 设备,其中在性能模式和比较模式之间进行切换,并在从性能模式切 换到比较模式时为比较模式产生起始状态,其特征在于,包含有被分 配给执行单元的至少一个存储器或存储区,该存储器或存储区被构造, 使得只要该存储器或存储区可能必须针对所述起始状态被匹配,该存储器或存储区就可以配备关于该存储器或存储区中的数据和/或指令 是否必须或不必针对所述起始状态被改变的标识。
10. 根据权利要求9所述的设备,其特征在于,所述存储器或存 储区是至少一个寄存器。
11. 根据权利要求9所述的设备,其特征在于,包含有起始存储 器或起始存储区,该起始存储器或起始存储区被构造,使得在该起始 存储器或起始存储区中预先给定,哪些存储器或存储区必须针对所述 起始状态被改变。
12. 根据权利要求9所述的设备,其特征在于,包含有寄存器或 寄存器集,该寄存器或寄存器集被构造,使得在该寄存器或寄存器集 中预先给定,哪些存储器或存储区必须针对所述起始状态被改变。
13. 根据权利要求9所述的设备,其特征在于,包含有起始存储 器或起始存储区,该起始存储器或起始存储区被构造,使得在该起始 存储器或起始存储区中预先给定,哪些存储器或存储器区域不必针对 所述起始状态被改变。
14. 根据权利要求9所述的设备,其特征在于,包含有寄存器或 寄存器集,该寄存器或寄存器集被构造,使得在该寄存器或寄存器集 中预先给定,哪些存储器或存储区不必针对所述起始状态被改变。
全文摘要
用于在具有至少两个执行单元的计算机系统中确定起始状态的方法,其中在性能模式和比较模式之间进行切换,并且在从性能模式切换到比较模式时为比较模式生成起始状态,其特征在于,针对所述起始状态给可能要匹配的存储器或存储区配备关于该存储器或存储区中的数据和/或指令是否必须针对所述起始状态被改变的标识。
文档编号G06F11/16GK101243405SQ200680029501
公开日2008年8月13日 申请日期2006年7月25日 优先权日2005年8月8日
发明者B·米勒, E·博尔, R·格梅利克, R·韦伯尔, Y·科拉尼 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1