[go: up one dir, main page]

CN103703427B - 同步第一处理单元和第二处理单元的处理装置和方法 - Google Patents

同步第一处理单元和第二处理单元的处理装置和方法 Download PDF

Info

Publication number
CN103703427B
CN103703427B CN201180072400.8A CN201180072400A CN103703427B CN 103703427 B CN103703427 B CN 103703427B CN 201180072400 A CN201180072400 A CN 201180072400A CN 103703427 B CN103703427 B CN 103703427B
Authority
CN
China
Prior art keywords
processing unit
state element
multiplexer
state
treating apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201180072400.8A
Other languages
English (en)
Other versions
CN103703427A (zh
Inventor
弗拉基米尔·利托夫琴科
哈拉尔德·吕普肯
马库斯·雷格纳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP USA Inc
Original Assignee
Freescale Semiconductor Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of CN103703427A publication Critical patent/CN103703427A/zh
Application granted granted Critical
Publication of CN103703427B publication Critical patent/CN103703427B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Electronic Switches (AREA)
  • Logic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

提出了一种包括至少第一处理单元(12)和第二处理单元(14)的处理装置(10)。所述第一处理单元(12)包括一组第一状态元件(18),所述第二处理单元(14)包括一组第二状态元件(20)。一组同步数据线(34)可以以成对的方式将所述第一状态元件(18)连接到所述第二状态元件(20)。控制单元(16)可以响应于同步请求而控制第一处理单元(12)、第二处理单元(14)和同步数据线(34)以便经由所述同步数据线(34)并行地将第一状态元件(18)的状态复制到第二状态元件(20)。还提出了一种同步处理单元的方法。

Description

同步第一处理单元和第二处理单元的处理装置和方法
技术领域
本发明涉及一种同步第一处理单元和第二处理单元的处理装置和方法。
背景技术
多核处理装置在市场上已颇具规模,并且随着半导体器件制作的持续进步变得越来越常见。多核处理装置是一种装置,它包括被称为内核或处理内核的两个或多个独立处理器。处理器是读取并执行程序指令的单元。多核装置的每一个内核可独立于该多核装置的其它内核而执行程序。因此,多核装置可被用于同时执行不止一个任务。
例如,双核处理设备可同时执行两个程序,从而相比于以依序方式运行两个程序的单核实现了更高的速度。这样的操作模式也被称为解耦并行模式(DPM)。
替代地,两个内核可以以冗余方式被操作,即,相同输入数据和程序指令被馈送给两个内核以生成冗余结果。这样的操作模式可以被称为冗余模式。第一内核的输出和第二内核的输出之间的任何偏差可能表示处理故障。响应于第一内核的输出和第二内核的输出之间的任何不一致,可以触发适当的动作。例如,这样的结果可以被丢弃或相关计算可以被重复。因此,可以使数据处理更加可靠。众所周知,使用奇数内核,例如三个内核,并且如果输出值已被多数内核获得,则认为该值是有效的。
因此,解耦并行模式(DPM)是两个或更多个内核独立地执行不同任务的操作模式。冗余模式是两个或多个内核以冗余方式执行相同任务的操作模式。在很多现有系统中,可能通过重新启动(复位)系统来在这两种模式之间切换。
这些概念并不限于处理内核,而是可以推广到任何类型的处理单元。处理单元是用于执行逻辑运算的设备。处理内核是处理单元的例子。算术逻辑单元是处理单元的另一个例子。存储单元(存储器)同样不是处理单元。然而,处理单元可以包括一个或多个存储器,除了逻辑组件。处理装置可以包括可彼此独立地进行操作的两个或更多处理单元。例如,处理单元可以在解耦并行模式下或在冗余模式下操作。
国际公开WO2009/138819A1(Bogenberger等人)描述了一种包括了参考处理模块和目标处理模块的处理资源装置。来自参考处理模块的状态使用扫描链被复制到目标处理模块。因此,这两个模块可以被同步。
发明内容
如所附权利要求中所描述的,本发明提供了一种同步第一处理单元和第二处理单元的处理装置和方法。
本发明的具体实施例在从属权利要求中被阐明。
根据下文中描述的实施例,本发明的这些或其它方面将会很明显并且被阐述。
附图说明
根据附图,仅仅通过举例的方式,本发明的进一步细节、方面和实施例将被描述。在附图中,类似的符号被用于表示相同的或功能相似的元素。为了简便以及清晰,附图中的元素不一定按比例绘制。
图1示意性地示出了处理装置的实施例的例子。
图2示出了同步参考处理单元和目标处理单元的方法的流程图。
图3示意性地示出了扫描链的实施例的例子。
图4示意性地示出了处理装置的实施例的例子。
具体实施方式
由于本发明说明的实施例可能大部分是使用本领域所属技术人员所熟知的电子元件和电路被实施,所以不会在比上述所说明的认为有必要的程度大的任何程度上解释细节,以用于对本发明基本概念的理解以及为了不混淆或偏离本发明所教之内容。
图1示意性地图示了处理装置10。处理装置10可以包括例如至少第一处理单元12和第二处理单元14、一组同步数据线34以及控制单元16。第一处理单元12和第二处理单元14可以例如分别是第一内核和第二内核。第一处理单元12可以被布置成被第一时钟信号CLK_1定时。所述第二处理单元14可以被布置成被第二时钟信号CLK_2定时。
第一处理单元12可以包括一组第一状态元件18。第二处理单元14可以包括一组第二状态元件20。所述一组同步数据线34可以可操作用于以成对的方式将第一状态元件18连接到第二状态元件20。控制单元16可以可操作用于响应于同步请求而控制第一处理单元12、第二处理单元14和同步数据线34以便经由同步数据线34并行地将第一状态元件18的状态复制到第二状态元件20。
同步数据线34中的每一个可以例如包括多路复用器36,多路复用器36具有输出42,输出42被连接到第二状态元件20中的一个的输入24;正常数据输入38;以及同步数据输入40,所述同步数据输入40被连接到第二状态元件20中的一个。相应的多路复用器36可被集成到第二处理单元14中。
例如,处理装置10包括第一处理单元12和第二处理单元14。处理装置10可以还包括处理单元(未示出)。在该例子中,第一处理单元12包括一组第一状态元件18,而第二处理单元14包括一组第二状态元件20。
在所示的例子,所述一组第一状态元件18包括三个状态元件18。当然,在实践中,它可能包括更多数目的状态元件18,例如成千上万个这样的元件。第一处理单元12的状态元件18可以是相同或不同元件。例如,一些状态元件18可以是单一位元件,而其它状态元件18可以是多位元件。多位元件可能分别具有相同位大小或不同位大小。换句话说,第一和第二状态元件18、20中的一些或全部可以是单一位元件。此外或替代地,第一和第二状态元件18、20中的一些或全部可以是多位元件。
在所示的例子中,状态元件18是数据触发器(DFF)。每一个状态元件18可以具有数据输入22和数据输出26。每一个状态元件18可以通过在数据输入22施加合适的信号而被设置为所期望的状态。可以从相应的数据输出26读取每一个状态元件18的当前状态。每一个状态元件18还可包括时钟输入30。
状态元件18的数据输入22和数据输出26可以被适当地互连(未示出)。例如,附图中最上面的状态元件18的数据输出26可以在附图的中心被连接到状态元件18的数据输入22,而后面的状态元件18的数据输出26进而可以在附图底部附近被连接到状态元件18的数据输入22。因此,所示的3个状态元件18可以例如形成移位寄存器。状态元件18的数据输入22和数据输出26可以以任何其他合适的方式被直接或间接地互连。它们可以例如经由附图中未示出的逻辑电路被互联。例如,状态元件18中的一些或所有可以被互联以提供数字信号处理器、算术逻辑单元(ALU)或任何其它类型的结构。
关于第一状态元件18的上述说明同样适用于第二处理单元14的第二状态元件20。每一个状态元件20可能显著地具有数据输入24和数据输出28。每一个状态元件20还可以具有时钟输入32。
为了简单及清晰起见,处理装置10可以还包括附图中未示出的其它组件。例如,第一处理单元12可以被连接到第一存储器,例如第一随机存取存储器(RAM)。类似地,第二处理单元14可以被连接到第二存储器,例如第二个随机存取存储器。应注意,同步这些存储器可能是简单的任务,因为这两个处理单元可例如利用包括了所述第一和第二存储器的共用存储器。
第一处理单元12和第二处理单元14可以分别被第一时钟信号CLK_1和第二时钟信号CLK_2定时。第一时钟信号CLK_1和第二时钟信号CLK_2或可相同或它们可以不同。例如,两个时钟信号CLK_1和CLK_2中的一个的时钟速率可被减小以节能,而另一个时钟信号可以具有正常时钟速率。
处理装置10可以以解耦并行模式(DPM)被操作,在解耦并行模式(DPM)中第一处理单元12和第二处理单元14可执行不同任务。
替代地,处理装置10可以以冗余模式被操作。在冗余模式中,第一处理单元12和第二处理单元14可以从相同初始状态开始并使用相同输入数据独立地执行相同指令。在冗余模式中,例如通过确保CLK_1和CLK_2是相同的,由相同时钟信号定时第一处理单元12和第二处理单元14可能是有利的。然而,对于一些应用,给处理单元馈送相同输入数据和相同指令以使它们以不同时钟速率运行可能是有利的。因此,可以验证系统的输出是否严重依赖于时钟速率。多处理单元被相同时钟信号定时的冗余模式可以被称为锁步模式(LSM)。
为了从解耦并行模式转换到冗余模式,必须确保处理单元具有相同初始状态。如果冗余模式是锁步模式,则必须确保处理单元在相同初始时钟周期具有相同初始状态。换句话说,处理单元需要在锁步模式操作之前被同步。
用于从解耦并行模式转换到冗余模式的选项可以是重新启动或复位处理装置10。这可能是相当冗长的过程。此外,它可能涉及当前数据的丢失。
另一个选项可以是通过软件复制。这也往往相当缓慢,因为它可能需要数百个操作。
第三个选项是将被称为参考处理单元的处理单元中的一个的当前状态复制到被称为目标处理单元的另一个处理单元。根据具体的设计或目的,不复制整个状态而仅复制其相关部分的状态可能是足够的。通过将状态信息从参考处理单元复制到一个或多个目标处理单元,相比于重新初始化参考处理单元和目标处理单元,可以更快地从解耦并行模式转换到冗余模式。下面描述了从参考处理单元到一个或多个目标处理单元的快速状态转换的示例设计。
返回参照图1,第一处理单元12可充当参考处理单元,而第二处理单元14可充当目标处理单元。处理装置10还可包括一组同步数据线34。每一个同步数据线34可以可操作用于将状态元件18中的一个的数据输出26连接到目标处理单元14的对应的状态元件20的数据输入24。每一个状态元件18的状态可能因此经由相应的同步数据线34被复制到对应的状态元件20。更具体地,各个状态元件18的状态可并行地,即同时,被复制到对应的状态元件20。
在所示的例子,每一个同步数据线34可包括多路复用器36。每一个多路复用器36可以具有正常数据输入38、同步数据输入40以及多路复用器输出42。每一个多路复用器输出42可被连接到相应的状态元件20的数据输入24。每一个正常数据输入38可被直接或间接地连接到状态元件20的数据输出28和/或第二处理单元14中的另一个节点。因此,当多路复用器36将每一个正常数据输入38连接到相应的数据输入24的时候,状态元件20可被互连以形成类似于由第一处理单元12的第一状态元件18提供的逻辑的逻辑。此外,每一个同步数据输入40可被连接到第一处理单元12的对应的状态元件18的数据输出26。当给定多路复用器36的多路复用器输出42被连接到该多路复用器36的同步数据输入40的时侯,对应的状态元件18的数据输出26可以因此被连接到对应的第二状态元件20的数据输入24。因此可以建立相应的第一状态元件18和对应的第二状态元件20之间的同步连接。
处理装置10可以还包括控制单元16。在所示的例子中,控制单元16可包括时钟输入44、第一时钟输出48以及第二时钟输出46。控制单元16可以可操作用于基于输入时钟信号CLK生成上述第一时钟信号CLK_1和第二时钟信号CLK_2。在该例子中,控制单元16可以分别经由时钟输入44接收输入时钟信号CLK以及经由第一和第二时钟输出48和46输出第一和第二时钟信号CLK_1和CLK_2。第一个时钟输出48可被连接到第一状态元件18的时钟输入30。第二时钟输出46可被连接到第二状态元件20的时钟输入32。第一时钟信号CLK_1和第二时钟信号CLK_2因此可分别被馈送给第一处理单元12和第二处理单元14。
如图所示,处理装置10可包括多路复用器控制总线54以用于给多路复用器36中的每一个馈送多路复用器控制信号MUX_CTL。多路复用器36中的每一个可被布置成响应于的多路复用器控制信号MUX_CTL指示正常操作模式而将其正常数据输入38连接到其多路复用器输出42,以及响应于多路复用器控制信号MUX_CTL指示同步模式而将其同步数据输入40连接到多路复用器输出42。控制单元16可被布置成响应于同步请求而控制多路复用器控制信号MUX_CTL指示同步模式,以及在复制完成之后指示正常操作模式。
正常操作模式可以是处理装置的数据处理方式,即其中处理单元彼此独立地处理数据的模式。可例如通过适当的方式在彼此之间连接每一个处理单元的状态元件来建立正常操作模式。同步模式可以是其中一个或多个目标处理单元相对于参考处理单元被同步的模式。同步模式不是正常操作模式。扫描模式可以是其中可经由专用硬件从一个或多个处理单元提取数据的测试模式,或其中可经由专用硬件将数据写入到一个或多个处理单元的测试模式。专用硬件可例如包括一个或多个扫描链。扫描模式既不是正常操作模式,也不是同步模式。
例如,控制单元16还可包括模式输入50和多路复用器控制输出52。控制单元16可被布置成经由模式输入50接收模式信号以及在多路复用器控制输出52输出多路复用器控制信号MUX_CTL。多路控制输出52经由多路控制总线54可被连接到多路复用器36的多路复用器控制输出37。
模式信号MODE可例如指示正常操作模式。正常操作模式是其中例如处理单元12和处理单元14的多个处理单元正常操作以处理数据的模式。正常操作模式可例如是解耦并行模式或冗余模式。响应于模式信号MODE指示正常操作模式,控制单元16可通过多路复用器控制信号MUX_CTL控制目标处理单元的多路复用器36,以便连接多路复用器输出42,因此,将对应的第二状态元件20的数据输入24连接到正常数据输入38。在正常操作模式下,第二状态元件20的数据输入24因此可被连接到第二处理单元14中的节点。
替代地,在模式输入50接收的模式信号MODE可例如指示同步模式。同步模式是其中参考处理单元(在该例子中,第一处理单元12)的状态被复制到一个或多个目标处理单元(在该例子中,第二处理单元14)的模式。
应注意,多路复用器控制信号MUX_CTL也可被用作用于表示当前操作模式的状态信号。例如,多路复用器控制信号MUX_CTL可以向装置10的附加单元(未示出)或其它装置(未示出)指示当前操作模式。
控制单元16可以响应于同步请求而禁用第一时钟信号CLK_1和第二时钟信号CLK_2,并且在复制完成之后启用第一时钟信号CLK_1和第二时钟信号CLK_2。
响应于模式信号MODE指示同步模式,控制单元16可例如通过多路复用器控制信号MUX_CTL控制多路复用器36,以便将多路复用器输出42连接到相应的同步数据输入40。控制单元16可因此将第二状态元件20的数据输入24连接到第一状态元件18的对应的数据输出26。控制单元16还可向第二处理单元14发出一个或多个时钟脉冲以便将第一状态元件18的状态锁存到第二状态元件20中。控制单元16可显著地向第二处理单元14而不是向第一处理单元12发出一个或多个时钟脉冲。
处理装置10的操作还通过附加参照图2被进一步解释。
例如,参考处理单元12或目标处理单元14或某个外部单元的请求单元可发出请求,该请求指示处理装置10应该进入冗余模式,例如,锁步模式(框S1)。
响应于用于进入冗余模式的请求以及一旦确定处理装置10目前未处于冗余模式,处理装置10可会发出同步处理装置的处理单元(在这个例子中时处理单元12和14)的请求(框S2)。
处理装置10可因此设置模式信号MODE(见图1)以指示同步模式。响应于模式信号MODE最新指示同步模式,控制单元16可禁用第一时钟信号CLK_1和第二时钟信号CLK_2(框S3)。第一处理单元12和第二处理单元14的状态可因此被“冻结”。它们的内容,尤其是参考处理单元12的内容因此被保留。
然后,控制单元16可继续进行以建立从参考处理单元12的状态元件18的数据输出26到目标处理单元14的状态元件20的数据输入24的成对同步数据连接。在图1所示的例子中,成对同步数据连接通过控制多路复用器36被建立以将相应的同步数据输入40连接到多路复用器输出42(框S4)。
在建立同步数据连接之后,控制单元16可在短时间间隔期间,例如,预定义时间间隔,等待,以允许在第一状态元件18的数据输出26输出的状态信息从数据输出26传播到第二状态元件20的对应的数据输入24(框S5)。
然后,控制单元16可通过相应地控制第二时钟信号CLK_2至少向目标处理单元14发出一个或多个时钟脉冲(框S6)。施加在第二状态元件20的数据输入24的状态信息可因此被锁存到第二状态元件20。足以将第一状态元件18的整个状态锁存到对应的第二状态元件20的时钟脉冲数目首先可能取决于状态位大小,其次,取决于在每一个时钟周期可以经由相应的同步数据线被传输的位数目。例如,第一状态元件18和对应的第二状态元件20可分别是位大小为N的寄存器,以及同步数据线34可以是能够同时传输总共为N位的多数据线,其中N是自然数。单个时钟脉冲对这样的布局来说是足够的。第一状态元件18和第二状态元件20可显著地分别是位大小为1的状态元件的数据触发器,而同步数据线可以是简单的(即,不是多个)数据线。
状态因此从第一状态元件18被复制到第二状态元件20,然后,控制单元16可重新建立正常数据连接(框S7)。在所示的例子中,可通过控制多路复用器36以便将正常数据输入38连接到相应的多路复用器输出42来建立正常数据连接。
由于正常数据连接被重新建立,所以控制单元16可分别重新启用到参考处理单元12和目标处理单元14的时钟信号CLK_1和CLK_2(框S8)。如果所请求的冗余模式是锁步模式,则控制单元16可生成第一时钟信号CLK_1和第二时钟信号CLK_2,使得时钟速率相同。控制单元16可例如给处理单元12和目标处理单元14馈送相同时钟信号(在这种情况下,CLK_1和CLK_2或可相等)。因此,从解耦并行模式到冗余模式的转换可因此完成。
如图所示,通过以成对的方式将第一状态元件18连接到第二状态元件20以及将第一状态元件18的状态并行地复制到第二状态元件20可同步处理装置10的第一处理单元12和第二处理单元14。该技术尤其可包括:分别通过第一时钟信号CLK_1和第二时钟信号CLK_2定时第一处理单元12和第二处理单元14;在连接之前,禁用第一时钟信号CLK_1和第二时钟信号CLK_2;向第二状态元件20发出时钟脉冲;以及启用第一时钟信号CLK_1和第二时钟信号CLK_2。
现在转到图3,处理装置10可包括扫描链58、20。该扫描链可包括第二状态元件20中的至少一些。扫描链还可包括多路复用器36中的至少一些。可能除了这些多路复用器36中的第一多路复用器,扫描链的多路复用器36中的每一个可以具有扫描数据输入56,扫描数据输入56被连接到扫描链58的在前状态元件20的输出28。应注意,扫描链的第一元件不一定具有在前元件;因此,这些多路复用器的第一多路复用器可以被不同地布置。替代地,扫描链可例如被布置为菊花链。扫描链58可以是可测试设计(DFT)电路的一部分。DFT电路可例如使用JTAG协议被操作。因此,DFT电路可适于从第一处理单元12到所述第二处理单元14的并行数据传输。
例如,上述参照图1和图2所描述的目标处理单元14可包括扫描链以用于从状态元件20提取数据或将数据写入状态元件20。扫描链可以以特别便利的方式通过采用上述参照图1和图2所描述的多路复用器36被实现。在该例子中,每一个多路复用器36可包括扫描数据输入56。每一个扫描数据输入56可经由扫描数据线58被连接到其他状态元件20中的一个的数据输出28。响应于模式信号MODE指示扫描模式,上述参照图1和图2所描述的控制单元16可控制多路复用器36以便将扫描数据输入56连接到相应的多路复用器输出42。扫描链可因此被建立。扫描链的每一个分段因此可以以该顺序包括多路复用器36、后续状态元件20和后续扫描数据线58。不同的布局可尤其适于扫描链的第一和/或最后分段。
图4示意性地标识如上述参照图1、图2和图3所描述的另一个处理装置10的例子。处理装置10可以包括一组反向同步数据线60。反向同步数据线60可以可操作用于以成对的方式将第二状态元件20连接到第一状态元件18。控制单元16可以可操作用于响应于反向同步请求而控制第一处理单元12、第二处理单元14和反向同步数据线60以便经由反向同步数据线60并行地将第二状态元件20的状态复制到第一状态元件18。
所示的装置10可例如具有关于第一处理单元12和第二处理单元14是对称的布局。为了简单及清晰起见,附图中示出了第一处理单元12的仅一个状态元件18和第二处理单元14的仅一个状态元件20。当然,每一个处理单元可包括大量如图1和图3所示的状态元件。第一处理单元12可显著地特别包括包括了第一状态元件18的扫描链。第二处理单元14可包括包括了第二状态元件20的第二扫描链。第一扫描链和第二扫描链可被布置为通过参照图3的例子所描述的。第一扫描链和第二扫描链还可被布置为上述提到的国际公开WO2009/138819A1(Bogenberger等人)中所描述的。第一扫描链和第二扫描链都可显著地形成菊花链。
第一处理单元12可显著地包括一组反向同步数据线60和一组多路复用器62。反向同步数据线60可以以成对的方式将数据输出28连接到同步数据输入66。因此,反向同步数据线60可类似于(前向)同步数据线34。每一个多路复用器62可以具有正常数据输入64、同步数据输入66、扫描数据输入68、多路复用器输出70以及多路复用器控制输入63。这些输入63、64、66和68以及多路复用器输出70可类似于上述参照图1、图2和图3所描述的多路复用器36的对应输入和输出。多路复用器输出70可被连接到数据输入22。多路控制总线54可将多路控制输出52连接到多路复用器控制输入37和多路控制输入63。因此,处理装置10可被操作以成如上述参照图1、图2和图3所描述的使第二处理单元14与第一处理单元12同步(前向同步),并且替代地使第一处理单元12与第二处理单元14同步(反向同步)。处理装置10还或可是操作的以交换第一处理单元12和第二处理单元14的状态。
最后,提出了一种灵活的解决方案,其允许一个处理装置从一种异步操作模式动态地转换到同步操作模式,反之亦然。不需要初始化和/或等待时间,因为处理单元仅在几个时钟周期或可尽可能快地被同步。根据设计,仅在一个时钟周期的同步是可能的。一个器件复位可能没有必要。已知的扫描链排列或可被调整,从而避免或减少了对附加专用部件的需要。器件可用时间或可显著增加,而安全功能可能保持不变。可能通过从一种锁步模式转换到一种解耦并行模式来更快、更容易地解决峰值处理负荷。设计也适合于引入进一步的自我测试功能,例如错误注入。
计算机程序是一系列指令,诸如特定应用和/或操作系统。计算机程序可以例如包括以下中的一个或多个:例程、函数、程序、对象方法、对象实现、可执行的应用、小程序、小服务程序、源代码、对象代码、共享库/动态装载库和/或设计用于在计算机系统上的执行的其它指令序列。
计算机程序可以在计算机可读存储介质上被内部地存储或经由计算机可读传输介质传输到计算机系统。所有或者一些计算机程序可以被永久地、可移除地提供在计算机可读介质或远程地耦合到信息处理系统。计算机可读介质可以包括,例如但不限于任何数目的以下:包括磁盘和磁带存储介质的磁存储介质;光学存储介质,诸如光盘介质(例如,CD-ROM、CD-R等等)以及数字视盘存储介质;非易失性存储器存储介质,包括基于半导体存储器单元,诸如FLASH存储器、EEPROM、EPROM、ROM;铁磁数字存储器;MRAM;易失性存储介质,包括寄存器、缓冲器或缓存、主存储器、等等;以及数字传输介质,包括计算机网络、点对点通信设备、以及载波传输介质,仅举几例。
计算机处理通常地包括执行(运行)程序或程序的一部分,现有的程序值和状态信息,以及通过操作系统用于管理处理的执行的资源。操作系统(OS)是管理一台计算机的资源共享以及提供给程序员用于访问那些资源的界面的软件。操作系统处理系统数据和用户输入,以及通过分配和管理任务以及内部系统资源作为系统对用户和程序的一项服务响应。
计算机系统可以例如包括至少一个处理单元、关联存储器和大量的输入/输出(I/O)设备。当执行计算机程序时,计算机系统根据计算机程序处理信息并且经由I/O设备产生所得到的输出信息。
在前面的说明中,参照本发明实施例的特定示例已经对本发明进行了描述。然而,很明显,在不脱离如所附权利要求中所一个或多个述的本发明的更宽精神及范围的情况下,可做出各种修改和变化。
此外,在描述和权利要求中的术语“前面”、“后面”、“顶部”、“底部”、“上面”、“下面”等等,如果有的话,是用于描述性的目的并且不一定用于描述永久性的相对位置。应了解术语的这种用法在适当的情况下是可以互换的以便本发明所描述的实施例例如,能够在其它方向而不是本发明所说明的或在其它方面进行操作。
在数据传输的情况下,如果数据或可从一个节点传送到另一个节点,据说两个节点被连接。在电荷转移(电流)的情况下,如果电荷可能从一个节点转移到另一个节点,两个节点被连接。
如在此讨论的连接可以是适于例如经由中间设备传输来自或去往相应的节点、单元或设备的信号的任何类型的连接。因此,除非暗示或另外表明,所述连接例如可以是直接连接或间接连接。所述连接可以被图示或描述为涉及单一连接、多个连接、单向连接、或双向连接。然而,不同实施例可以改变连接的实现。例如,可以使用单独单向连接而不是双向连接,并且反之亦然。而且,多个连接可以被替换为连续地或以时间复用方式传输多个信号的单一连接。同样地,携带多个信号的单一连接可以被分离成携带这些信号的子集的各种不同的连接。因此,存在用于传输信号的许多选项。
关于具体导电类型或电位极性,虽然本发明已被描述,技术人员知道导电类型和电位极性或可是相反的。
本发明所描述的每个信号可以被设计为正逻辑或负逻辑。在负逻辑信号的情况下,所述信号是低活性,其中所述逻辑真状态对应于逻辑电平0。在正逻辑信号的情况下,所述信号是高活性,其中所述逻辑真状态对应于逻辑电平1。注意,在此描述的任何信号可以被设计为负逻辑信号或正逻辑信号。因此,在替代实施例中,被描述为正逻辑信号的那些信号可被实施为负逻辑信号,以及被描述为负逻辑信号的那些信号可被实施为正逻辑信号。
此外,当将一个信号、状态位、或类似的装置分别变为其逻辑真或逻辑假状态时,术语“明确肯定”或“设置”以及“否定”(或“非明确肯定”或“清除”)在本发明中被使用。如果逻辑真状态是一个逻辑电平“1”,逻辑假状态是一个逻辑电平“0”。如果逻辑真状态是一个逻辑电平“0”,逻辑假状态是一个逻辑电平“1”。
本领域技术人员将认识到:逻辑块之间的界限仅仅是说明性的并且替代实施例可以合并逻辑块或电路元件或在各种逻辑块或电路元件上强加替代的分解功能。因此,应了解,在此描述的架构仅仅是示例性的,并且事实上可以实现实现相同功能的很多其它架构。例如,两个或多个第一状态元件18或可被组合为一个状态元件。同样,两个或多个第二状态元件20或可被组合为一个状态元件。
为了实现相同功能的任何组件的布置是有效地“关联”使得所需的功能得以实现。因此,在此组合以实现特定功能的任何两个元件可以被看作彼此“相关联”使得所需的功能得以实现,而不论架构或中间元件。同样地,如此关联的任何两个组件还可以被认为是彼此被“可操作连接”或“可操作耦合”以实现所需的功能。
此外,本领域所属技术人员将认识到以上描述的操作之间的界限只是说明性的。多个操作可以组合成单一的操作,单一的操作可以分布在附加操作中并且可以至少部分地在时间上重叠地执行操作。而且,替代实施例可以包括特定操作的多个示例,并且操作的顺序在各种其它实施例中可以更改。
又如,在实施例中,说明的示例可以被实现为位于单一集成电路上的电路或在相同设备内的电路。例如,处理单元12和14以及控制单元16或可位于一个单一集成电路上或一个相同器件内。替代地,所述示例可以被实现为任何数目的单独集成电路或以一种合适的方式彼此相联接的单独设备。例如,处理单元12和14以及控制单元16或可作为三个单独的集成电路或以合适的方式彼此相联接的单独器件被实现。
又如,示例或其中的一部分可以诸如以任何合适类型的硬件描述语言被实现为物理电路的软或代码表示,或被实现为能够转化成物理电路的逻辑表示的软或代码表示。
此外,本发明不限于在非程序化硬件中实现的物理设备或单元,但也可以应用在可编程的设备或单元中。这些设备或单元通过按照合适的程序代码操作能够执行所期望的设备功能,诸如主机、微型计算机、服务器、工作站、个人计算机、笔记本、个人数字助理、电子游戏、汽车和其它嵌入式系统、手机和各种其它无线设备,在本申请中通常表示为“计算机系统”。
然而,其它修改、变化和替代也是可能的。说明书和附图相应地被认为是从说明性的而不是严格意义上来讲的。
在权利要求中,放置在括号之间的任何参照符号不得被解释为限制权利要求。单词“包括”不排除除了权利要求中列出的那些之外的其它元件或步骤的存在。此外,如在此使用的词语“一”或“一个”被定义为一个或不止一个。而且,即使当同一权利要求包括介绍性短语“一个或多个”或“至少一个”以及诸如“一”或“一个”的不定冠词时,在权利要求中诸如“至少一个”以及“一个或多个”的介绍性短语的使用也不应该被解释成暗示通过不定冠词“一”或“一个”引入的其它权利要求元素将包括这样介绍的权利要求元素的任何特定权利要求限制成仅包含这样的元素的发明。对于定冠词的使用也是如此。除非另有说明,使用诸如“第一”以及“第二”的术语来任意地区分这样的术语描述的元素。因此,这些术语不一定旨在指示这样的元素的时间或其它优先次序。在相互不同的权利要求中记载某些措施的事实并不指示这些措施的组合不能被用于获取优势。

Claims (15)

1.一种处理装置(10),包括至少第一处理单元(12)和第二处理单元(14)、一组同步数据线(34)以及控制单元(16);
所述第一处理单元(12)包括一组第一状态元件(18),
所述第二处理单元(14)包括一组第二状态元件(20);
所述一组同步数据线(34)可操作用于以成对的方式将所述第一状态元件(18)连接到所述第二状态元件(20);
所述控制单元(16)可操作用于响应于同步请求而控制所述第一处理单元(12)、所述第二处理单元(14)和所述同步数据线(34)以便经由所述同步数据线(34)并行地将所述第一状态元件(18)的状态复制到所述第二状态元件(20),
其中,所述同步数据线(34)中的每一个包括多路复用器(36),所述多路复用器(36)具有:
输出(42),所述输出(42)被连接到所述第二状态元件(20)中的一个的输入(24),
正常数据输入(38),以及
同步数据输入(40),所述同步数据输入(40)被连接到所述第二状态元件(20)中的一个。
2.根据权利要求1所述的处理装置(10),所述多路复用器(36)被集成在所述第二处理单元(14)中。
3.根据权利要求1所述的处理装置(10),包括多路复用器控制总线(54),所述多路复用器控制总线(54)用于给所述多路复用器(36)中的每一个馈送多路复用器控制信号(MUX_CTL)。
4.根据权利要求3所述的处理装置(10),所述多路复用器(36)中每一个被布置成响应于所述多路复用器控制信号(MUX_CTL)指示正常操作模式而将所述正常数据输入(38)连接到所述多路复用器输出(42),以及响应于所述多路复用器控制信号(MUX_CTL)指示同步模式而将所述同步数据输入(40)连接到所述多路复用器输出(42)。
5.根据权利要求4所述的处理装置(10),所述控制单元被布置成响应于所述同步请求而控制所述多路复用器控制信号(MUX_CTL)指示所述同步模式,以及在所述复制完成之后指示所述正常操作模式。
6.根据前述权利要求1-5中的任何一项所述的处理装置(10),包括扫描链(58、20),所述扫描链包括所述第二状态元件(20)中的至少一些。
7.根据权利要求1所述的处理装置(10),包括扫描链(58、36、20),所述扫描链包括所述第二状态元件(20)中的至少一些和所述多路复用器(36)中的至少一些;除了所述扫描链的所述多路复用器(36)中的第一多路复用器,所述扫描链的所述多路复用器(36)中的每一个具有扫描数据输入(56),所述扫描数据输入(56)被连接到所述扫描链的在前状态元件(20)的输出(28)。
8.根据权利要求7所述的处理装置(10),其中,所述扫描链的所述多路复用器(36)中的每一个具有扫描数据输入(56),所述扫描数据输入(56)被连接到所述扫描链的在前状态元件(20)的输出(28)。
9.根据前述权利要求1-5中的任何一项所述的处理装置(10),所述第一处理单元(12)被布置成被第一时钟信号(CLK_1)定时,所述第二处理单元(14)被布置成被第二时钟信号(CLK_2)定时;所述控制单元(16)被布置成响应于所述同步请求而禁用所述第一时钟信号(CLK_1)和所述第二时钟信号(CLK_2),以及在所述复制完成之后启用所述第一时钟信号(CLK_1)和所述第二时钟信号(CLK_2)。
10.根据前述权利要求1-5中的任何一项所述的处理装置(10),所述控制单元(16)被布置成向所述第二处理单元(14)发出一个或多个时钟脉冲以便将第一状态元件(18)的所述状态锁存到所述第二状态元件(20)中。
11.根据权利要求10所述的处理装置(10),所述控制单元(16)被布置成向所述第二处理单元(14)而不是向所述第一处理单元(12)发出所述一个或多个时钟脉冲。
12.根据前述权利要求1-5中的任何一项所述的处理装置(10),所述第一和第二状态元件(18、20)中的一些或全部是单一位元件和/或所述第一和第二状态元件(18、20)中的一些或全部是多位元件。
13.根据前述权利要求1-5中的任何一项所述的处理装置(10),包括一组反向同步数据线(60),所述反向同步数据线(60)可操作用于以成对的方式将所述第二状态元件(20)连接到所述第一状态元件(18);
所述控制单元(16)可操作用于响应于反向同步请求而控制所述第一处理单元(12)、所述第二处理单元(14)和所述反向同步数据线(60)以便经由所述反向同步数据线(60)并行地将所述第二状态元件(20)的所述状态复制到所述第一状态元件(18)。
14.一种同步处理装置(10)的第一处理单元(12)和第二处理单元(14)的方法,所述第一处理单元(12)包括一组第一状态元件(18),所述第二处理单元(14)包括一组第二状态元件(20);所述方法包括:
经由一组同步数据线(34),以成对的方式将所述第一状态元件(18)连接到所述第二状态元件(20),其中,所述同步数据线(34)中的每一个包括多路复用器(36),所述多路复用器(36)具有:输出(42),所述输出(42)被连接到所述第二状态元件(20)中的一个的输入(24)、正常数据输入(38)、以及同步数据输入(40),所述同步数据输入(40)被连接到所述第二状态元件(20)中的一个;以及
经由所述同步数据线(34),并行地将所述第一状态元件(18)的所述状态复制到所述第二状态元件(20)。
15.根据权利要求14所述的方法,包括:
通过第一时钟信号(CLK_1)和第二时钟信号(CLK_2)分别定时所述第一处理单元(12)和所述第二处理单元(14);
在所述连接之前,禁用所述第一时钟信号(CLK_1)和所述第二时钟信号(CLK_2);
向所述第二状态元件(20)发出时钟脉冲;以及
启用所述第一时钟信号(CLK_1)和所述第二时钟信号(CLK_2)。
CN201180072400.8A 2011-07-20 2011-07-20 同步第一处理单元和第二处理单元的处理装置和方法 Active CN103703427B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2011/053232 WO2013011353A1 (en) 2011-07-20 2011-07-20 Processing apparatus and method of synchronizing a first processing unit and a second processing unit

Publications (2)

Publication Number Publication Date
CN103703427A CN103703427A (zh) 2014-04-02
CN103703427B true CN103703427B (zh) 2016-05-11

Family

ID=47557714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180072400.8A Active CN103703427B (zh) 2011-07-20 2011-07-20 同步第一处理单元和第二处理单元的处理装置和方法

Country Status (3)

Country Link
US (1) US9665377B2 (zh)
CN (1) CN103703427B (zh)
WO (1) WO2013011353A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150178102A1 (en) * 2011-11-23 2015-06-25 Freescale Semiconductor, Inc. System-on-chip, method of manufacture thereof and method of controlling a system-on-chip
US9614740B2 (en) * 2014-05-13 2017-04-04 International Business Machines Corporation Multifusion of a stream operator in a streaming application
DE102014213245A1 (de) * 2014-07-08 2016-01-14 Robert Bosch Gmbh Verfahren zum Verarbeiten von Daten für eine Fahrfunktion eines Fahrzeuges
WO2018128204A1 (ko) * 2017-01-06 2018-07-12 주식회사 알티스트 파티셔닝 기술을 이용하여 lsm 및 dpm을 동시에 사용할 수 있는 멀티코어 시스템
US10429919B2 (en) 2017-06-28 2019-10-01 Intel Corporation System, apparatus and method for loose lock-step redundancy power management
TWI729825B (zh) * 2020-05-26 2021-06-01 友達光電股份有限公司 驅動電路與移位暫存器
CN118689807B (zh) * 2024-08-22 2025-01-14 苏州国芯科技股份有限公司 一种处理器锁步系统、方法、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1804811A (zh) * 2004-12-21 2006-07-19 日本电气株式会社 容错系统及其中所使用的控制装置、动作方法
CN101251816A (zh) * 2008-03-13 2008-08-27 中国科学院计算技术研究所 一种用于可编程器件的冗余系统及其冗余实现方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
CA2003338A1 (en) 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronization of fault-tolerant computer system having multiple processors
US5751955A (en) * 1992-12-17 1998-05-12 Tandem Computers Incorporated Method of synchronizing a pair of central processor units for duplex, lock-step operation by copying data into a corresponding locations of another memory
US5758058A (en) 1993-03-31 1998-05-26 Intel Corporation Apparatus and method for initializing a master/checker fault detecting microprocessor
DE19832060C2 (de) * 1998-07-16 2000-07-06 Siemens Ag Doppelbare Prozessoreinrichtung
US6311289B1 (en) * 1998-11-03 2001-10-30 Telefonaktiebolaget Lm Ericsson (Publ) Explicit state copy in a fault tolerant system using a remote write operation
US7191354B2 (en) 2001-03-29 2007-03-13 Nokia Corporation Method for synchronizing a first clock to a second clock, processing unit and synchronization system
US7085959B2 (en) * 2002-07-03 2006-08-01 Hewlett-Packard Development Company, L.P. Method and apparatus for recovery from loss of lock step
US7483031B2 (en) * 2003-04-17 2009-01-27 Nvidia Corporation Method for synchronizing graphics processing units
US7152186B2 (en) 2003-08-04 2006-12-19 Arm Limited Cross-triggering of processing devices
US7328371B1 (en) * 2004-10-15 2008-02-05 Advanced Micro Devices, Inc. Core redundancy in a chip multiprocessor for highly reliable systems
US7496786B2 (en) 2006-01-10 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining lock step operation
US8793700B2 (en) * 2008-05-14 2014-07-29 Freescale Semiconductor, Inc. Synchronization of stateful elements in a processing resource using a scan chain
JP5352299B2 (ja) 2009-03-19 2013-11-27 株式会社日立製作所 高信頼性計算機システムおよびその構成方法
US8279213B2 (en) 2009-12-23 2012-10-02 Intel Corporation Synchronized media processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1804811A (zh) * 2004-12-21 2006-07-19 日本电气株式会社 容错系统及其中所使用的控制装置、动作方法
CN101251816A (zh) * 2008-03-13 2008-08-27 中国科学院计算技术研究所 一种用于可编程器件的冗余系统及其冗余实现方法

Also Published As

Publication number Publication date
CN103703427A (zh) 2014-04-02
WO2013011353A1 (en) 2013-01-24
US9665377B2 (en) 2017-05-30
US20140173247A1 (en) 2014-06-19

Similar Documents

Publication Publication Date Title
CN103703427B (zh) 同步第一处理单元和第二处理单元的处理装置和方法
Song et al. Normal forms for some classes of sequential spiking neural P systems
US7814295B2 (en) Moving processing operations from one MIMD booted SIMD partition to another to enlarge a SIMD partition
US8732282B1 (en) Model framework to facilitate robust programming of distributed workflows
CN113469355B (zh) 分布式系统中的多模型训练管道
CN107870845A (zh) 面向微服务架构应用的管理方法及系统
CN115136123A (zh) 用于集成电路架构内的自动化数据流和数据处理的瓦片子系统和方法
US11941528B2 (en) Neural network training in a distributed system
US20210304008A1 (en) Speculative training using partial gradients update
US12072730B2 (en) Synchronization signal generating circuit, chip and synchronization method and device, based on multi-core architecture
TW201638771A (zh) 具有多個獨立微控制器之微控制器裝置
CN111563595A (zh) 推断处理系统、推断处理装置以及计算机程序产品
CN114443137A (zh) 一种集成计算装置、芯片、板卡、设备和计算方法
CN108541365B (zh) 用于交换机中拥塞信息的分发的设备和方法
US10394729B2 (en) Speculative and iterative execution of delayed data flow graphs
CN111078286B (zh) 数据通信方法、计算系统和存储介质
CN111078623B (zh) 片上网络处理系统和片上网络数据处理方法
US10162913B2 (en) Simulation device and simulation method therefor
US11544129B2 (en) Cross-component health monitoring and improved repair for self-healing platforms
US7206889B2 (en) Systems and methods for enabling communications among devices in a multi-cache line size environment and disabling communications among devices of incompatible cache line sizes
US7110928B1 (en) Apparatuses and methods for modeling shared bus systems
CN111078625B (zh) 片上网络处理系统和片上网络数据处理方法
CN111078624B (zh) 片上网络处理系统和片上网络数据处理方法
CN114546623B (zh) 一种基于大数据系统的任务调度方法和系统
CN111104412B (zh) 基于单线程的并发控制方法、装置和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Texas in the United States

Patentee after: NXP America Co Ltd

Address before: Texas in the United States

Patentee before: Fisical Semiconductor Inc.

CP01 Change in the name or title of a patent holder