ES2199527T3 - Sistema de tratamiento de datos pseudo lockstep. - Google Patents

Sistema de tratamiento de datos pseudo lockstep.

Info

Publication number
ES2199527T3
ES2199527T3 ES99306330T ES99306330T ES2199527T3 ES 2199527 T3 ES2199527 T3 ES 2199527T3 ES 99306330 T ES99306330 T ES 99306330T ES 99306330 T ES99306330 T ES 99306330T ES 2199527 T3 ES2199527 T3 ES 2199527T3
Authority
ES
Spain
Prior art keywords
clock
data
data processing
common memory
processor
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.)
Expired - Lifetime
Application number
ES99306330T
Other languages
English (en)
Inventor
Robert George Strange
Jonathan Mark Saunders
Parminder Singh Guraya
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.)
Marconi Communications Ltd
BAE Systems Electronics Ltd
Original Assignee
Marconi Communications Ltd
Marconi Co Ltd
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 Marconi Communications Ltd, Marconi Co Ltd filed Critical Marconi Communications Ltd
Application granted granted Critical
Publication of ES2199527T3 publication Critical patent/ES2199527T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Hardware Redundancy (AREA)
  • Information Transfer Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Un sistema de procesado de datos consta de una memoria común compartida por un primer y un segundo circuito de procesado de datos, en el que cada circuito procesador ejecuta la misma secuencia de pasos operacionales y cada uno está conectado a la memoria común. Un dispositivo de aislamiento conectado entre el primer circuito procesador de datos y la memoria común, restringe el acceso por el primer circuito de procesado a la memoria común, para el acceso de sólo lectura. El primer circuito procesador de datos está configurado para ejecutar cada paso operacional un periodo fijado de tiempo después del segundo circuito de procesado de datos. Un comparador compara las señales de salida de los dos circuitos procesadores con el fin de detectar el funcionamiento fallido, pero, antes de la comparación, las salidas del segundo circuito de procesado de datos se visualizan el periodo fijado de tiempo.

Description

Sistema de tratamiento de datos de pseudo lockstep.
La presente invención se refiere al campo de los circuitos digitales que comparten una memoria común en general y a las disposiciones Lockstep en particular.
Las disposiciones Lockstep tienen aplicación en áreas que demandan un funcionamiento altamente fiable de los sistemas de proceso de datos, cuyo término se usa aquí para incluir circuitos digitales (a los que también se hace referencia como circuitos lógicos) tales como los circuitos procesadores. El término "Lockstep" se usa aquí para indicar un sistema en el que dos circuitos más o menos idénticos marchan "en paralelo" y su funcionamiento es supervisado (por ejemplo para aumentar la fiabilidad y para detectar funcionamiento defectuoso). Si el comportamiento de uno de los circuitos diverge del correspondiente al otro, entonces ha tenido lugar una falta que puede ser detectada, permitiendo así tomar acciones correctivas.
El Lockstep se aplica normalmente a circuitos que están sincronizados con una señal de reloj. De aquí que "en paso" se use para indicar, en circuitos síncronos, acontecimientos que tienen lugar dentro del mismo ciclo de señal de reloj.
Por "marcha en paralelo" se entiende que cada circuito recibe las mismas entradas en paso y procesa estas entradas en paso a fin de generar salidas idénticas, también en paso. En particular, el comportamiento de los dos circuitos digitales es el mismo cada ciclo de reloj después de la aserción y desaserción del reinicio, tanto para reinicios de alimentación de potencia como para reinicios que detienen y vuelven a arrancar el funcionamiento de proceso.
Una disposición Lockstep incorpora lógica Lockstep cuya función es mantener los dos circuitos digitales al paso (o en sincronización) y detectar cualquier discrepancia en su comportamiento, por ejemplo por comparación de sus salidas. Si se detecta un fallo, ambos circuitos podrían ser reiniciados y un par de circuitos lógicos, mantenidos en reserva, iniciados para asumir el funcionamiento de los circuitos defectuosos.
En la técnica anterior, las disposiciones Lockstep se han aplicado a pares de circuitos digitales que reciben entradas idénticas. En las disposiciones Lockstep de la técnica anterior, a no ser que se produzca un defecto, en cada ciclo de reloj no existe diferencia en el comportamiento de los dispositivos de los dos circuitos digitales. En cada ciclo de reloj, a no ser que se produzca un defecto, las respuestas de los dispositivos de los dos circuitos digitales a cada combinación de señales en sus entradas es la misma y los valores en todas las clavijas de salida (incluyendo las clavijas bidireccionales) de los dispositivos de los dos circuitos digitales son los mismos.
Hanson (US 5,231,640) describe un par de procesadores (primario y sombra) que comparten el acceso a una memoria única, estando facilitado el acceso compartido disponiendo que el procesador sombra funcione un ciclo de reloj por detrás del procesador primario.
A fin de evitar los gastos de un conjunto de memoria separado para cada circuito, los dos circuitos digitales comparten una memoria común. Sin embargo, mientras un circuito es capaz de leer a partir de la memoria común y de escribir en ella, el otro sólo es capaz de leer a partir de la misma. Se requiere una circuitería especial para realizar la interfaz con la memoria común, convencionalmente en forma de una memoria intermedia en el lado de sólo lectura. En disposiciones Lockstep convencionales, esta circuitería especial se lleva a cabo típicamente utilizando circuitería ASIC, que sin embargo tiende a ser cara y puede ser difícil de adquirir.
Utilizando la presente invención, es posible llevar a cabo una disposición Lockstep usando componentes normales disponibles comercialmente, por ejemplo, dispositivos de puente disponibles comercialmente.
La presente invención proporciona un sistema de proceso de datos que comprende una memoria común (5), un primer y un segundo circuito procesador de datos (10, 1), cada uno dispuesto para ejecutar la misma secuencia de pasos de funcionamiento y cada uno de ellos conectado a la memoria común (5), un dispositivo de aislamiento (24, 32, 33, 34) conectado entre el primer circuito procesador de datos (10) y la memoria común (5) y dispuesto para restringir el acceso por parte del primer circuito procesador de datos (10) a la memoria común (5) a un acceso de sólo lectura, en el cual el primer circuito procesador de datos (10) está dispuesto para ejecutar cada paso de funcionamiento al cabo de un periodo de tiempo establecido más tarde que el segundo circuito procesador de datos (1); caracterizado por un primer y un segundo bus periférico (14, 6), estando dispuesto el segundo bus periférico (6) para conectar el segundo circuito procesador (1) a dispositivos adicionales y dispuesto para conectar el primer circuito procesador (10) a través del primer bus periférico (14) a los dispositivos adicionales, y un controlador de acceso (15) dispuesto para introducir un retraso de tiempo en las señales que pasan de los dispositivos adicionales al primer circuito procesador (10).
Se describirán a continuación realizaciones de la presente invención mediante un ejemplo haciendo referencia a las figuras, en las cuales:
la Figura 1 muestra en forma de diagrama de bloques una disposición Lockstep con circuitos procesadores duplicados;
la Figura 2 muestra en forma de diagrama de bloques una memoria intermedia simple;
la Figura 3 muestra una memoria intermedia con reloj correspondiente a una primera realización de la invención;
la Figura 4 muestra una memoria intermedia con reloj correspondiente a una segunda realización de la invención;
Haciendo referencia a la Figura 1, vemos una disposición Lockstep aplicada a dos circuitos procesadores, aquí designados como lado A y lado B. El circuito del lado A comprende un procesador 1 conectado a un puente 3 por medio del bus de procesador 2. Los puentes 3, 12 proporcionan interfaces entre los diversos buses y componentes de los circuitos procesadores. El procesador está conectado por medio del bus de procesador 2 y del puente 3 a una memoria caché 4, a la memoria común 5 y a otra circuitería (no representada) por medio del bus periférico 6. El circuito de procesador del lado B comprende en forma similar un procesador 10 un bus de procesador 11, un puente 12, y una memoria caché 13. El procesador 10 del lado B accede a la memoria caché 13, a la memoria común 5 y al bus periférico 14, por medio del bus de procesador 11 y del puente 12. El bloque 15, que comprende la lógica de control de acceso Lockstep, se encuentra conectado entre los buses periféricos 6 en el lado A y 14 en el lado B. El dispositivo de aislamiento 16 se encuentra situado entre el puente 12 del lado B y la memoria común 5. La lógica Lockstep comprende además una función de comparación (no representada) para supervisar las señales generadas por los dos circuitos procesadores, por ejemplo en alguno o en todos los buses de procesadores 2, 11, en los buses periféricos 6, 14 y las señales a las memorias caché 4, 13.
La memoria común 5 es legible desde los dos procesadores 1, 10 de los lados A y B por medio de los puentes 3, 12, pero sólo se puede escribir en ella desde el lado A por medio del puente 3. Para lograr esta funcionabilidad, se requiere el dispositivo de aislamiento 16 para las señales de los datos entre la memoria común 5 y el dispositivo de puente 12 del lado B.
La lógica de control de acceso Lockstep del bloque 15 controla los accesos al bus periférico 14 del lado B, pasando los accesos que tienen su origen en la circuitería periférica (no representada) al circuito procesador del lado B, pero deteniendo cualquier acceso desde el circuito procesador del lado A para pasar al lado B. La lógica Lockstep de control de acceso del bloque 15 evita también el acceso desde el bus periférico 14 del lado B al bus periférico 6 del lado A.
Los circuitos procesadores de los lados A y B comparten un reloj procesador común que sincroniza las operaciones de los diversos componentes, es decir, de los procesadores 1, 10, buses procesadores 2, 11, puentes 3, 12, memorias caché 4, 13, memoria común 5 y dispositivo de aislamiento 16. De acuerdo con la presente realización de la invención, los buses periféricos 6, 14 junto con el bloque 15 de lógica Lockstep pueden funcionar con una frecuencia diferente de la correspondiente a la circuitería de los procesadores de los lados A y B, es decir, los buses periféricos 6, 14 y la lógica Lockstep 15 comparten un segundo reloj, periférico, típicamente más lento que el reloj de los procesadores. En tales casos, las interfaces de bus periférico de los puentes 3, 12 estarán también sincronizadas al reloj periférico más lento. En la técnica anterior, las señales externas son aplicadas a los circuitos procesadores de ambos lados al paso, es decir, están sincronizadas según el reloj periférico o según el reloj de los procesadores.
En las figuras siguientes se han omitido algunas de las conexiones representadas en la Figura 1 en aras de la claridad.
La Figura 2 muestra la circuitería alrededor de una memoria común 5 con mayor detalle. El puente 3 del lado A, el puente 12 del lado B y la memoria común 5 están todos sincronizados al reloj de procesadores por medio de las líneas de reloj 18. La información de dirección y control es proporcionada a la memoria común 5 desde el puente 3 del lado A por medio de las líneas de dirección y control 20. El dispositivo de aislamiento 16 de la Figura 1 comprende la memoria intermedia 24 de tres estados y la lógica de control 28. Los datos del puente 3 del lado A a la memoria común 5 y desde la memoria común 5 a ambos puentes 3, 12 de los lados A y B se suministran por medio de las líneas de datos 22 y (al lado B) por medio de la memoria intermedia de tres estados 24.
La memoria intermedia de tres estados 24 está controlada por medio de las líneas de control 26 por la lógica de control 28, también sincronizada con el reloj de los procesadores y a su vez provista de las señales de control del puente 12 del lado B por medio de las líneas de control 30.
Los buses periféricos 6, 14, comprenden buses PCI. A modo de ejemplo, los procesadores 1, 10, las memorias caché 4, 12, el dispositivo de aislamiento 16 y la memoria común 5, pueden funcionar todos ellos a una velocidad de reloj de bus de procesadores de 100 MHz. Los buses periféricos PCI y el bloque 15 de lógica Lockstep pueden funcionar a una velocidad de reloj de bus periférico de 33 MHz (para ser exactos, 100/3 MHz, es decir, precisamente un tercio ce la velocidad del reloj del bus de procesadores y síncrona con el reloj de procesadores).
Con una frecuencia de bus tan elevada, las prestaciones de la interfaz de memoria común y, en particular, las características de temporización del dispositivo de aislamiento 16 son críticas. Si se usa una memoria intermedia adicional para aislamiento, entonces el retraso de la memoria intermedia se añade al tiempo de vuelo de los datos entre la memoria común y el circuito procesador del lado B, reduciendo de este modo la anchura de banda de memoria disponible para los circuitos de los lados A y B. Por ejemplo, si el dispositivo de aislamiento fuera una simple memoria intermedia, tal como se muestra en la Figura 2, entonces el retraso en la propagación a través de la memoria intermedia evitaría que los datos llegaran al lado B dentro de un ciclo de reloj de bus de procesadores de 100 MHz. Esto se podría resolver reduciendo la velocidad del reloj para compensar, pero esto daría lugar a una reducción no deseable en la prestaciones generales del sistema.
Esto podría evitarse, de acuerdo con una primera realización de la presente invención, mediante el uso de una etapa de retraso (por ejemplo una memoria intermedia con reloj), tal como se muestra en la Figura 3. La Figura 3 muestra una disposición similar a la de la Figura 2 y a las características de la Figura 3 que son equivalentes a las de la Figura 2 se les ha otorgado el mismo número de referencia y no se describirán aquí. A diferencia de la disposición de la Figura 2, las líneas de datos 22 procedentes de la memoria común 5 a la memoria intermedia de tres estados 24 pasan a través de una memoria intermedia con reloj 32 (por ejemplo un flip-flop de tipo D) que está también sincronizada con el reloj de los procesadores por medio de una línea de reloj 18. Tal como se indica mediante la línea de puntos, la memoria intermedia con reloj 32 y la memoria intermedia de tres estados 24 están realmente construidas como un único componente, por ejemplo una memoria intermedia con reloj de tres estados. La memoria intermedia con reloj 32 retrasa los datos procedentes de la memoria común al lado B en un ciclo de reloj de bus de procesadores. La memoria intermedia con reloj 32 se usa con requisitos de inicio y de mantenimiento determinados por las prescripciones de la memoria común 5 y del puente 12 del lado B. La memoria intermedia con reloj 32 vuelve a temporizar los datos, pero los presenta a la velocidad original de datos, con lo que se mantiene la anchura de banda del bus de 100 MHz (es decir, la velocidad del reloj de los procesadores).
Para compensar los datos que llegan tarde al puente 12 del lado B, el procesador 10 del lado B y el puente B se inician (es decir, se separan del reinicio) un ciclo de reloj de bus de procesadores más tarde que el lado A. Para este fin se dispone un circuito de reinicio adecuado (no representado), que comprende por ejemplo una memoria intermedia con reloj para retrasar la señal de reinicio al lado B en un ciclo de reloj de procesadores. Esto significa que el lado B no espera los datos de memoria hasta un ciclo de reloj de procesadores después que el lado A. El resultado es que el lado A y el lado B desarrollan funciones idénticas, aunque separadas un ciclo de reloj de los procesadores.
El resultado de esta diferencia en la sincronía de los lados A y B da lugar a un modo Pseudo Lockstep. Se entiende por Pseudo Lockstep que los dispositivos de los lados A y B reciben las mismas entradas y reaccionan ante ellas de idéntica manera produciendo idénticas salidas, pero las entradas se aplican y las salidas se generan por los lados A y B con una separación en el tiempo equivalente a un número fijo de ciclos de reloj.
De esta forma, de acuerdo con esta realización de la invención, la lógica Lockstep de la técnica anterior es reemplazada por una lógica Pseudo Lockstep. La lógica Pseudo Lockstep compara los datos, dirección y señales de control de los lados A y B en forma similar a la lógica Lockstep de la técnica anterior. Sin embargo, antes de la comparación, las señales del lado A se retrasan en la misma cuantía que la separación en el tiempo introducida por la memoria intermedia con reloj 32 a las entradas procedentes de la memoria común 5 al circuito del lado B.
La lógica de control de acceso Pseudo Lockstep del bloque 15 controla los accesos al bus periférico 14 del lado B, pasando los accesos que tienen su origen en la circuitería periférica (no representada) al circuito de procesador del lado B, pero deteniendo cualquier acceso desde el circuito de procesador del lado A al lado B. La lógica de control de acceso Pseudo Lockstep del bloque 15 también evita el acceso desde el bus periférico 14 del lado B al bus periférico 6 del lado A. Además, la lógica Pseudo Lockstep del bloque 15 de acuerdo con la invención retrasa las entradas de la circuitería periférica (no representada) al circuito de procesador del lado B en la misma cuantía de retraso en el tiempo introducido por la memoria intermedia con reloj 32 para las entradas procedentes de la memoria común 5 al circuito del lado B.
A continuación se describirá con mayor detalle la lógica de control de acceso Pseudo Lockstep del bloque 15, de acuerdo con la presente realización. El aislamiento entre el bus periférico 14 del lado B y el bus periférico 6 del lado A se logra por la memoria intermedia 40 y los datos procedentes del bus periférico 6 del lado A se retrasan antes de alcanzar la memoria intermedia 40 haciéndolos pasar a través de la memoria intermedia con reloj 42 que está sincronizada por la señal del reloj de procesadores. El acceso desde el bus periférico 6 del lado A al bus periférico 14 del lado B es controlado por la lógica de control 44 (también sincronizada con la señal del reloj de los procesadores) que controla el funcionamiento de la memoria intermedia 40 por medio de las líneas de control 46.
Este enfoque, en el cual todas las entradas al circuito procesador del lado B se deben retrasar en la misma cuantía (por ejemplo un ciclo de reloj de los procesadores), puede causar problemas con la interfaz entre el puente 12 del lado B y el bus periférico si funcionan a distintas velocidades de reloj, porque esto significaría, para continuar con el ejemplo anteriormente citado, intentar volver a temporizar el bus PCI de 33 MHz con un reloj de 100 MHz, dando lugar a difíciles problemas de sincronización.
De acuerdo con una segunda realización preferida de la presente invención, el retraso en tiempo introducido en los datos procedentes de la memoria común 5 al lado B se aumenta a 3 ciclos de reloj de los procesadores, igual a un ciclo de reloj de periféricos (en este caso el bus PCI). Es necesario ahora retrasar las otras entradas al puente 12 del lado B en un ciclo de reloj de periféricos, que es mucho más sencillo.
Como se muestra en la Figura 4, la única memoria intermedia 32 con reloj se sustituye por cierto número de tales memorias intermedias 32-34 (en este ejemplo 3) conectadas en serie. Como resultado, los datos a través de la memoria intermedia 24 se retrasan en cierto número (en este ejemplo 3) de ciclos de reloj de los procesadores, equivalentes a uno o más ciclos de reloj de periféricos. Al igual que en la Figura 3, la línea de puntos indica que la memoria intermedia de tres estados 24 está realizada como parte de las memorias intermedias con reloj 32-34, es decir, que la memoria intermedia con reloj 34 y la memoria intermedia de tres estados 24 están realizadas como una única memoria intermedia con reloj de tres estados. Esto significa que los datos que llegan al puente 12 del lado B sufren un retraso de tiempo de uno o más ciclos completos de reloj de periféricos en comparación con los datos que llegan al puente del lado A. De nuevo, la desaserción del reinicio del lado B se retrasa en la cuantía del retraso de tiempo y todas las entradas al lado B se retrasan en la misma cuantía. La lógica Pseudo Lockstep de control de accesos del bloque 15 de acuerdo con la presente realización es esencialmente similar a la anteriormente descrita con respecto a la primera realización. Por tanto las características de la Lógica Pseudo Lockstep de la Figura 4 llevan los mismos números de referencia que las características equivalentes de la Figura 3. La diferencia importante es que, mientras la lógica Pseudo Lockstep de la primera realización está sincronizada con la señal del reloj de procesadores, la Lógica Pseudo Lockstep de la presente realización está sincronizada a la señal del reloj de periféricos (en este ejemplo el reloj de 33 MHz).
Al experto en este campo le sería obvio que el objeto de la invención no se limita a las realizaciones específicas aquí descritas. Por ejemplo, la presente invención se aplica igualmente a otras combinaciones de velocidades de reloj de procesadores y de periféricos. Aunque aquí se ha descrito haciendo referencia a circuitos de procesadores, la invención se aplica igualmente a otras clases de circuitos digitales o lógicos, incluyendo procesadores de señales digitales. Las referencias a la memoria común incluyen cualesquiera dispositivos de lectura y escritura, incluyendo registradores y almacenamiento de masas. Otras formas de etapas de retraso que se pueden usar para llevar a cabo la invención incluyen líneas de retraso.

Claims (8)

1. Un sistema de proceso de datos que comprende
una memoria común (5),
un primer y un segundo circuito procesador de datos (10, 1), cada uno dispuesto para ejecutar la misma secuencia de pasos de funcionamiento y cada uno de ellos conectado a la memoria común (5),
un dispositivo de aislamiento (24, 32, 33, 34) conectado entre el primer circuito de proceso de datos (10) y la memoria común (5) y dispuesto para restringir el acceso por parte del primer circuito procesador de datos (10) a la memoria común (5) a un acceso de sólo lectura,
en el cual el primer circuito procesador de datos (10) está dispuesto para ejecutar cada paso de funcionamiento al cabo de un periodo de tiempo establecido más tarde que el segundo circuito procesador de datos (1);
caracterizado por un primero y un segundo bus periférico (14, 6), estando dispuesto el segundo bus periférico (6) para conectar el segundo circuito procesador (1) a dispositivos adicionales y dispuesto para conectar el primer circuito procesador (10) a través del primer bus periférico (14) a los dispositivos adicionales,
y un controlador de acceso (15) dispuesto para introducir un retraso de tiempo en las señales que pasan de los dispositivos adicionales al primer circuito procesador (10).
2. El sistema de proceso de datos de la reivindicación 1, que comprende también un comparador dispuesto para comparar los funcionamientos de los circuitos procesadores de datos (1, 10), en el cual el comparador está dispuesto para compensar el retraso de tiempo entre la ejecución de cada paso de funcionamiento por el segundo y el primero circuitos procesadores (1, 10) cuando realiza la comparación.
3. El sistema de proceso de datos de cualquiera de las reivindicaciones 1 y 2, en el cual todas las entradas recibidas por el primer circuito procesador de datos (10) son retrasadas en la duración del periodo de tiempo.
4. El sistema de proceso de datos de la reivindicación 1, en el cual el controlador de acceso (15) está dispuesto para evitar la comunicación entre el primero y el segundo circuitos procesadores (1, 10) por medio de los buses periféricos (6, 14) y para evitar que señales procedentes del primer circuito procesador (10) pasen a los dispositivos adicionales.
5. El sistema de proceso de datos de cualquiera de las reivindicaciones anteriores, en el cual los circuitos procesadores primero y segundo (1, 10) están conectados a una señal de primer reloj (18) para su sincronización.
6. El sistema de proceso de datos de la reivindicación 5, en el cual los buses periféricos (6, 14) y el controlador de acceso (15) están conectados a una señal de un segundo reloj para su sincronización y en el cual, en funcionamiento, la frecuencia de la señal del primer reloj (18) es más elevada que la frecuencia de la señal del segundo reloj.
7. El sistema de proceso de datos de la reivindicación 5 ó 6, en el cual el dispositivo de aislamiento (24, 32, 33, 34) retrasa los datos un número entero de ciclos del primer reloj.
8. El sistema de proceso de datos de la reivindicación 7 como subordinada de la reivindicación 6, en el cual el dispositivo de aislamiento (24, 32, 33, 34) retrasa los datos en un número entero de ciclos del segundo reloj.
ES99306330T 1998-08-13 1999-08-11 Sistema de tratamiento de datos pseudo lockstep. Expired - Lifetime ES2199527T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9817598A GB2340627B (en) 1998-08-13 1998-08-13 Data processing system
GB9817598 1998-08-13

Publications (1)

Publication Number Publication Date
ES2199527T3 true ES2199527T3 (es) 2004-02-16

Family

ID=10837155

Family Applications (1)

Application Number Title Priority Date Filing Date
ES99306330T Expired - Lifetime ES2199527T3 (es) 1998-08-13 1999-08-11 Sistema de tratamiento de datos pseudo lockstep.

Country Status (7)

Country Link
US (1) US6519710B1 (es)
EP (1) EP0980040B1 (es)
CN (1) CN1154944C (es)
DE (1) DE69908717T2 (es)
ES (1) ES2199527T3 (es)
GB (1) GB2340627B (es)
RU (1) RU99118019A (es)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3982353B2 (ja) * 2002-07-12 2007-09-26 日本電気株式会社 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
WO2004051907A2 (en) * 2002-11-27 2004-06-17 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System and method of digital system performance enhancement
US7287184B2 (en) * 2003-09-16 2007-10-23 Rockwell Automation Technologies, Inc. High speed synchronization in dual-processor safety controller
US7590822B1 (en) 2004-08-06 2009-09-15 Xilinx, Inc. Tracking an instruction through a processor pipeline
US7346759B1 (en) 2004-08-06 2008-03-18 Xilinx, Inc. Decoder interface
US7590823B1 (en) 2004-08-06 2009-09-15 Xilinx, Inc. Method and system for handling an instruction not supported in a coprocessor formed using configurable logic
US7546441B1 (en) 2004-08-06 2009-06-09 Xilinx, Inc. Coprocessor interface controller
US7243212B1 (en) * 2004-08-06 2007-07-10 Xilinx, Inc. Processor-controller interface for non-lock step operation
EP1807761A1 (de) * 2004-10-25 2007-07-18 Robert Bosch Gmbh Verfahren und vorrichtung zur datenverteilung aus wenigstens einer datenquelle in einem mehrprozessorsystem
US20070294559A1 (en) * 2004-10-25 2007-12-20 Thomas Kottke Method and Device for Delaying Access to Data and/or Instructions of a Multiprocessor System
DE102004051952A1 (de) * 2004-10-25 2006-04-27 Robert Bosch Gmbh Verfahren zur Datenverteilung und Datenverteilungseinheit in einem Mehrprozessorsystem
JP3897046B2 (ja) * 2005-01-28 2007-03-22 横河電機株式会社 情報処理装置および情報処理方法
US20070038849A1 (en) * 2005-08-11 2007-02-15 Rajiv Madampath Computing system and method
US20090177866A1 (en) * 2008-01-08 2009-07-09 Choate Michael L System and method for functionally redundant computing system having a configurable delay between logically synchronized processors
US8819485B2 (en) * 2012-03-12 2014-08-26 Infineon Technologies Ag Method and system for fault containment
CN102970029A (zh) * 2012-11-06 2013-03-13 北京广利核系统工程有限公司 一种高安全性数字量信号采集电路
US9912754B2 (en) * 2015-05-01 2018-03-06 GM Global Technology Operations LLC Vehicular data isolation device
US10002056B2 (en) 2015-09-15 2018-06-19 Texas Instruments Incorporated Integrated circuit chip with cores asymmetrically oriented with respect to each other
US10740167B2 (en) * 2016-12-07 2020-08-11 Electronics And Telecommunications Research Institute Multi-core processor and cache management method thereof
CN110175091B (zh) * 2018-12-11 2023-06-23 中国航空工业集团公司西安航空计算技术研究所 一种Lockstep架构下的节点间信号同步方法、装置及电路

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2644205A1 (de) * 1976-09-30 1978-04-06 Agfa Gevaert Ag Fotografische kamera mit einer digitalen belichtungsregelvorrichtung
SE397013B (sv) * 1976-12-17 1977-10-10 Ellemtel Utvecklings Ab Sett och anordning for att overfora datainformationer till tva parallellt arbetande datamaskindelar
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
US4164787A (en) * 1977-11-09 1979-08-14 Bell Telephone Laboratories, Incorporated Multiple microprocessor intercommunication arrangement
US4540898A (en) * 1983-03-07 1985-09-10 Motorola, Inc. Clocked buffer circuit using a self-bootstrapping transistor
US5231640A (en) * 1990-07-20 1993-07-27 Unisys Corporation Fault tolerant processor/memory architecture
SE9202182D0 (sv) * 1991-07-18 1992-07-16 Tandem Telecomm Syst Mirrored memory multi processor system
JPH05128080A (ja) * 1991-10-14 1993-05-25 Mitsubishi Electric Corp 情報処理装置
US5604754A (en) * 1995-02-27 1997-02-18 International Business Machines Corporation Validating the synchronization of lock step operated circuits
GB2317032A (en) * 1996-09-07 1998-03-11 Motorola Gmbh Microprocessor fail-safe system

Also Published As

Publication number Publication date
CN1154944C (zh) 2004-06-23
DE69908717D1 (de) 2003-07-17
US6519710B1 (en) 2003-02-11
EP0980040B1 (en) 2003-06-11
HK1024067A1 (en) 2000-09-29
EP0980040A2 (en) 2000-02-16
DE69908717T2 (de) 2003-12-11
GB9817598D0 (en) 1998-10-07
CN1248748A (zh) 2000-03-29
GB2340627A (en) 2000-02-23
EP0980040A3 (en) 2000-08-09
GB2340627B (en) 2000-10-04
RU99118019A (ru) 2001-08-27

Similar Documents

Publication Publication Date Title
ES2199527T3 (es) Sistema de tratamiento de datos pseudo lockstep.
US7272681B2 (en) System having parallel data processors which generate redundant effector date to detect errors
ES2247459T3 (es) Sistema de computadores tolerante a fallos, metodo para la resincronizacion del mismo y programa para su resincronizacion.
US5834956A (en) Core clock correction in a 2/N mode clocking scheme
US8898502B2 (en) Clock domain crossing interface
US8275977B2 (en) Debug signaling in a multiple processor data processing system
US5654988A (en) Apparatus for generating a pulse clock signal for a multiple-stage synchronizer
US5802132A (en) Apparatus for generating bus clock signals with a 1/N characteristic in a 2/N mode clocking scheme
US10999050B1 (en) Methods and apparatus for data synchronization in systems having multiple clock and reset domains
US5862373A (en) Pad cells for a 2/N mode clocking scheme
JPH02211509A (ja) オン・チツプ・フエーズ発生器
US20100315134A1 (en) Systems and methods for multi-lane communication busses
US12189444B2 (en) Reset domain control
JP2005518042A (ja) クロックの異なるバス間におけるデータ転送
JPH06161798A (ja) 情報処理装置
US5821784A (en) Method and apparatus for generating 2/N mode bus clock signals
US5826067A (en) Method and apparatus for preventing logic glitches in a 2/n clocking scheme
EP4047479B1 (en) Safe-stating a system interconnect within a data processing system
US8890594B1 (en) System for functional reset across multiple clock domains
EP4383044A1 (en) Architecture for managing asynchronous resets in a system-on-a-chip
US11644861B2 (en) Information processing apparatus including function blocks and generation units
KR100579419B1 (ko) Ddr sdram 데이터 전송을 위한 amba인터페이스 장치
KR20050092863A (ko) 리얼 타임 클럭 장치