ES2331523T3 - CROSS-COMPARED MEMORY-BASED COMPARISON FOR SYSTEMS SUBJECT TO CROSSED VERIFICATION. - Google Patents
CROSS-COMPARED MEMORY-BASED COMPARISON FOR SYSTEMS SUBJECT TO CROSSED VERIFICATION. Download PDFInfo
- Publication number
- ES2331523T3 ES2331523T3 ES05024885T ES05024885T ES2331523T3 ES 2331523 T3 ES2331523 T3 ES 2331523T3 ES 05024885 T ES05024885 T ES 05024885T ES 05024885 T ES05024885 T ES 05024885T ES 2331523 T3 ES2331523 T3 ES 2331523T3
- Authority
- ES
- Spain
- Prior art keywords
- storage area
- buffers
- processor
- information
- layer
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/183—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
- G06F11/184—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
- G06F11/185—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality and the voting is itself performed redundantly
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1633—Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1683—Temporal synchronisation or re-synchronisation of redundant processing components at instruction 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)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Dram (AREA)
- Hardware Redundancy (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
Comparación cruzada basada en memoria para sistemas sometidos a verificación cruzada.Memory-based cross comparison for systems under cross-checking.
Comparación cruzada para sistemas que operan en una configuración multiprocesador, tales como configuraciones duales 2 de 2 y configuraciones triplicadas 2 de 3 o alguna otra configuración multiprocesador.Cross comparison for systems operating in a multiprocessor configuration, such as configurations dual 2 of 2 and triplicate configurations 2 of 3 or some other multiprocessor configuration
Como quiera que han aumentado las velocidades de reloj de las unidades CPU y se han hecho más comunes las arquitecturas multiprocesador, las capacidades de las prestaciones de procesamiento han superado las de la memoria RAM tradicional. Una solución de este problema ha sido la adopción de una RAM multipuerto.However the speeds of CPU units clock and have become more common the multiprocessor architectures, performance capabilities Processing have exceeded those of traditional RAM. A solution to this problem has been the adoption of a RAM multiport
Una RAM multipuerto se presenta en muchas configuraciones que proporcionan acceso a un espacio de memoria compartida a través de varios puertos de entrada y de salida. Cada vez es más común la capacidad de escribir varios datos simultáneamente en el dispositivo a través de puertos separados, Cuando se escriben simultáneamente datos en el mismo lugar desde dos o más puertos, no queda garantizada la integridad de los datos. El lugar de memoria direccionado podría contener datos nuevos, datos viejos o algún valor transicional. Para mitigar este problema se requiere una lógica adicional destinada a implementar un arbitraje. El arbitraje consiste en coordinar lugares de acceso a memoria por parte de los procesadores.A multiport RAM comes in many configurations that provide access to a memory space shared through several input and output ports. Every the ability to write several data is more common simultaneously on the device through separate ports, When data is written simultaneously in the same place from two or more ports, the integrity of the data is not guaranteed. The addressed memory location may contain new data, old data or some transitional value. To mitigate this problem additional logic is required to implement a arbitration. Arbitration consists in coordinating places of access to memory by processors.
Algunas aplicaciones de sistemas de computación digital, por ejemplo, sistemas vitales y sistemas críticos para una misión, requieren un alto grado de seguridad. Por ejemplo, para un funcionamiento seguro, un ordenador de control del vuelo de una aeronave depende de una operación de computación continua exenta de errores durante todo el período de vuelo. Deberá reconocerse que una operación exenta de errores requiere la eliminación de defectos o el confinamiento de éstos dentro del sistema de computación digital. Además de demandas de fiabilidad cada vez mayores, es necesario un sistema de computación rápida con un rendimiento total incrementado para sistemas de control de vuelo y otros sistemas vitales.Some applications of computer systems digital, for example, vital systems and critical systems for a mission, require a high degree of security. For example, for a safe operation, a flight control computer of a aircraft depends on a continuous computing operation exempt from errors during the entire flight period. It should be recognized that an error-free operation requires the elimination of defects or the confinement of these within the computer system digital. In addition to increasing demands for reliability, it is a fast computing system with total performance is necessary increased for flight control systems and other systems vital.
Para proporcionar integridad de los datos, más de un procesador determina si existe discrepancia en la información que se está transfiriendo simultáneamente por un bus. La comparación de datos para obtener resultados altamente precisos se denomina frecuentemente "comparación cruzada". Por ejemplo, efectuando una comparación cruzada de resultados computacionales producidos por diferentes procesadores se proporciona una alta integridad de los datos.To provide data integrity, more of a processor determines if there is discrepancy in the information which is being transferred simultaneously by a bus. The comparison of data to obtain highly accurate results is called frequently "cross comparison." For example, performing a cross comparison of computational results produced high integrity of different processors is provided the data.
Los actuales sistemas de comparación cruzada que operan en una configuración multiprocesador son lentos, requieren mucho software y son complicados en su instalación. Hay varias soluciones actualmente disponibles. Una solución utilizada para sistemas duales requiere una conexión de puertos paralelo o serie. Ambas soluciones de puertos paralelo y de puertos serie soportan solamente una cantidad limitada de datos que pueden transferirse de una vez. La solución basada en puertos serie es lenta y requiere mucho software. La solución de puertos paralelo se vuelve lenta siempre que grandes cantidades de datos necesiten someterse a comparación cruzada.The current cross-comparison systems that operate in a multiprocessor configuration are slow, require a lot of software and are complicated in its installation. There are some currently available solutions. A solution used to Dual systems require a parallel or serial port connection. Both parallel and serial port solutions support only a limited amount of data that can be transferred from one time. The serial port based solution is slow and requires a lot of software The parallel port solution becomes slow whenever large amounts of data need to undergo cross comparison.
Otra solución está destinada a sistemas triplicados que utilizan una instalación de hardware complicada o una conexión de señal de alta velocidad que requiere mucho software y utiliza cableado externo. Cuando se implementaron utilizando hardware externo basado en bastidores, la instalación era complicada y requería mucho software. Cuando se implementaron con una comunicación serie de alta velocidad (Ethernet), la disposición requería mucho software y estaba limitada en velocidad por el cableado externo.Another solution is for systems triplicates that use a complicated hardware installation or a high speed signal connection that requires a lot of software and uses external wiring. When they were implemented using external rack-based hardware, installation was complicated and it required a lot of software. When they were implemented with a High speed serial communication (Ethernet), the layout it required a lot of software and was limited in speed by the external wiring
Como ejemplo de un sistema de la técnica relacionada, la patente norteamericana No. 6,182,196 describe un método y un aparato para arbitrar peticiones de acceso a una memoria. La memoria comprende un módulo de verificación cruzada (502) que compara las peticiones de operación de los clientes. Cuando el módulo de verificación cruzada (502) determina que las peticiones están intentando contemporáneamente acceder a un bloque idéntico de la memoria, la comparación cruzada (502) arbitra entre las peticiones de operación de los clientes. El arbitraje se basa en una regla de arbitraje y produce una primera petición de acceso a memoria y una segunda petición de acceso a memoria.As an example of a technique system related, U.S. Patent No. 6,182,196 describes a method and apparatus for arbitrating requests for access to a memory. The memory comprises a cross verification module (502) that compares customer operation requests. When the cross-check module (502) determines that the requests are trying to access a block at one time identical memory, cross comparison (502) arbitrates between Customer operation requests. The arbitration is based in an arbitration rule and produces a first request for access to memory and a second request for memory access.
Como otro ejemplo más de un sistema anterior, la publicación de la solicitud de patente US 2002/0010902 describe agrupaciones de puertas programables en el campo (FPGAs) que comprenden un bloque RAM embebido (EBR). En una realización, los EBRs son bloques RAM multipuerto embebidos en un núcleo FPGA. El EBR se utiliza para aumentar la cantidad de memoria y complementar la memoria distribuida de la unidad funcional programable. Se proporciona arbitraje entre puertos de escritura, y una unidad de arbitraje recibe señales de petición de memoria y selecciona una ganadora de entre las peticiones.As another example of a previous system, the Publication of US patent application 2002/0010902 describes field programmable door groupings (FPGAs) that they comprise an embedded RAM block (EBR). In one embodiment, the EBRs are multiport RAM blocks embedded in an FPGA core. The EBR It is used to increase the amount of memory and complement the Distributed memory of the programmable functional unit. Be provides arbitration between write ports, and a unit of arbitration receives memory request signals and selects a winner of the requests.
El documento DE 198 09 089 A1 describe un método de comparación cruzada de datos entre una pluralidad de canales de procesamiento, en donde se utilizan una pluralidad de placas de acoplamiento que están conectadas una con otra a través de un sistema de bus separado para implementar un mecanismo de replicación.Document DE 198 09 089 A1 describes a method cross-comparison of data between a plurality of channels of processing, where a plurality of plates are used coupling that are connected to each other through a separate bus system to implement a mechanism of replication.
La presente invención se refiere a un ordenador multiprocesador según la reivindicación 1 y a un método según la reivindicación 9.The present invention relates to a computer multiprocessor according to claim 1 and to a method according to the claim 9.
Las reivindicaciones adjuntas deberán consultarse para averiguar el alcance verdadero de la invención.The attached claims must Consult to find out the true scope of the invention.
La presente invención es una solución de comparación cruzada que se desarrolla en una configuración multiprocesador. Un aspecto de la presente invención consiste en proporcionar un medio de comparación cruzada rápida y sencilla de datos utilizando una RAM multipuerto con una lógica incorporada. La RAM multipuerto puede enchufarse en la placa posterior de la unidad multiprocesadora que se conecta a cualquier bus estándar o incluso no estándar. Por tanto, no se requieren hardware ni cableado externos.The present invention is a solution of cross comparison that develops in a configuration multiprocessor An aspect of the present invention consists in provide a means of quick and easy cross-comparison of data using a multiport RAM with built-in logic. The Multiport RAM can be plugged into the backplane of the unit multiprocessor that connects to any standard bus or even non-standard. Therefore, no hardware or wiring is required external
El sistema de comparación cruzada según la presente invención emplea un método de almacenamiento transitorio de datos que opera a una rápida velocidad limitada solamente por el tiempo de acceso a la memoria. El sistema es simple de implementar y no requiere un protocolo de comunicación.The cross comparison system according to the The present invention employs a transitory storage method of data that operates at a fast speed limited only by the memory access time The system is simple to implement. and does not require a communication protocol.
En un ejemplo de realización el sistema se ajusta sobre una sola placa y no requiere hilos conductores externos. El concepto no está ligado a ningún hardware específico y es válido en términos de arquitectura e implementación de hardware para cualquier tamaño de datos de comparación cruzada y cualquier velocidad de comunicación requerida. Por tanto, si cambian los requisitos de tamaño y/o velocidad, el sistema dado a título de ejemplo puede mejorarse fácilmente sustituyendo la unidad.In an exemplary embodiment the system is fits on a single plate and does not require conductive wires external The concept is not linked to any specific hardware and It is valid in terms of architecture and hardware implementation for any cross-comparison data size and any communication speed required. Therefore, if the size and / or speed requirements, the system given as example can be easily improved by replacing the unit.
La solución de comparación cruzada basada en memoria según la presente invención se basa en una RAM multipuerto con su lógica requerida, implementada, por ejemplo, utilizando una agrupación de puertas programables en el campo (FPGA) o un circuito integrado para aplicaciones específicas (ASIC).The cross-comparison solution based on memory according to the present invention is based on a multiport RAM with its required logic, implemented, for example, using a grouping of field programmable doors (FPGA) or a circuit integrated for specific applications (ASIC).
La RAM multipuerto según la presente invención ofrece acceso de escritura y lectura controlado para cada unidad procesadora del sistema, proporcionando un medio de comparación cruzada rápida y sencilla de datos. Se proporciona plena separación entre todas las unidades procesadoras del sistema. Dado que no es posible un acceso simultáneo a ningún lugar de la memoria, no es necesario un arbitraje. El sistema de la invención es idealmente adecuado para, entre otras cosas, sistemas de seguridad, sistemas críticos para una misión o sistemas de alta disponibilidad que están todos ellos sometidos a una verificación cruzada y que se basan en ordenador.The multiport RAM according to the present invention offers controlled write and read access for each unit system processor, providing a means of comparison Fast and simple data cross. Full separation is provided among all the processing units of the system. Since it is not possible simultaneous access to any place in memory, it is not Arbitration necessary. The system of the invention is ideally suitable for, among other things, security systems, systems critical for a mission or high availability systems that they are all subject to cross-checking and that computer based.
Según una realización de la presente invención, se proporciona un sistema de comparación cruzada para un ordenador multiprocesador que tiene al menos un primero y un segundo procesador. El sistema incluye una primera capa de búferes que comprende una primera área de almacenaje para almacenar información proveniente del primer procesador y una segunda área de almacenaje para almacenar información proveniente del segundo procesador. Se proporciona también una segunda capa de búferes. La segunda capa de búferes comprende una tercera área de almacenaje para almacenar la información proveniente de la primera área de almacenaje y la información proveniente de la segunda área de almacenaje, y una cuarta área de almacenaje para almacenar la información proveniente de la primera área de almacenaje y la información proveniente de la segunda área de almacenaje. La información proveniente de la primera área de almacenaje y de la segunda área de almacenaje es transferida automáticamente a la tercera área de almacenaje y a la cuarta área de almacenaje. Las áreas de almacenaje primera, segunda, tercera y cuarta comprenden al menos un búfer asignado solamente a su respectiva área de almacenaje.According to an embodiment of the present invention, a cross comparison system is provided for a computer multiprocessor that has at least one first and one second processor. The system includes a first layer of buffers that comprises a first storage area to store information from the first processor and a second storage area to store information from the second processor. Be It also provides a second layer of buffers. The second layer of buffers comprises a third storage area to store the information from the first storage area and the information from the second storage area, and a fourth storage area to store information from of the first storage area and the information coming from the Second storage area. The information coming from the first storage area and the second storage area is automatically transferred to the third storage area and to the Fourth storage area. The first storage areas, second, third and fourth comprise at least one assigned buffer only to their respective storage area.
El primer procesador lee la información proveniente de la tercera área de almacenaje y declara una comparación cruzada satisfactoria si se determina que la información proveniente del segundo procesador es sustancialmente idéntica a la información proveniente del procesador de comparación. Asimismo, el segundo procesador lee la información proveniente de la cuarta área de almacenaje y declara una comparación cruzada satisfactoria si se determina que la información proveniente del segundo procesador es sustancialmente idéntica a la información proveniente del procesador de comparación.The first processor reads the information from the third storage area and declare a satisfactory cross comparison if it is determined that the information from the second processor is substantially identical to the information coming from the comparison processor. Also, the second processor reads the information coming from the fourth storage area and declare a cross comparison satisfactory if it is determined that the information from the second processor is substantially identical to the information from the comparison processor.
Otra realización de la presente invención consiste en un método de realizar una comparación cruzada entre lugares de una memoria multipuerto escritos simultáneamente por varios procesadores, estando cada puerto provisto de un búfer de una pluralidad de búferes de la primera capa. En el primer paso del método cada procesador escribe datos a someter a comparación cruzada en el búfer de la pluralidad de búferes de la primera capa correspondiente al puerto del procesador respectivo. Los datos escritos en todos los búferes de la primera capa son transferidos después a una pluralidad de búferes de la segunda capa, proporcionando cada búfer de la pluralidad de búferes de la segunda capa un área de almacenaje para cada búfer de la pluralidad de búferes de la primera capa, y estando previsto un búfer de la pluralidad de búferes de la segunda capa para cada uno de los varios procesadores.Another embodiment of the present invention it consists of a method of cross-comparison between places in a multiport memory written simultaneously by several processors, each port being provided with a buffer of a plurality of buffers of the first layer. In the first step of method each processor writes data for comparison crossed in the buffer of the plurality of first layer buffers corresponding to the respective processor port. The data written in all buffers of the first layer are transferred then to a plurality of buffers of the second layer, providing each buffer of the plurality of buffers of the second layer a storage area for each buffer of the plurality of buffers of the first layer, and being provided a buffer of the plurality of buffers of the second layer for each of the various processors
Cada procesador lee después la información proveniente de un búfer respectivo de la pluralidad de segundos búferes y compara la información leída en su búfer de la pluralidad de segundos búferes, declarando una comparación cruzada satisfactoria si la información proveniente de otro procesador se solapa con la información proveniente del procesador de comparación en términos de áreas de almacenaje que son escritas por los procesadores. La pluralidad de procesadores se sincronizan antes de la transferencia de datos de la primera capa de búferes a la segunda capa de búferes.Each processor then reads the information from a respective buffer of the plurality of seconds buffers and compare the information read in your plurality buffer of second buffers, declaring a cross comparison satisfactory if information from another processor is overlap with information from the comparison processor in terms of storage areas that are written by processors The plurality of processors are synchronized before the transfer of data from the first buffer layer to the second layer of buffers.
La segunda realización puede describir, además, la determinación de si existe una información adicional que deba someterse a una comparación cruzada, y, si es así, la repetición de los pasos con la información adicional, comenzando en el paso de escritura por cada procesador de datos que deben someterse a comparación cruzada.The second embodiment may further describe determining whether there is additional information that should undergo a cross comparison, and, if so, the repetition of the steps with the additional information, starting at the step of writing for each data processor that must undergo cross comparison.
Se describirá ahora la presente invención con detalle describiendo realizaciones ilustrativas no limitativas de la misma con referencia a los dibujos adjuntos. En los dibujos los mismos caracteres de referencia denotan elementos análogos:The present invention will now be described with detail describing illustrative non-limiting embodiments of the same with reference to the attached drawings. In the drawings the same reference characters denote analogous elements:
La figura 1 ilustra una vista general de la solución para un sistema de seguridad triplicado de acuerdo con una realización ilustrativa no limitativa de la presente invención.Figure 1 illustrates an overview of the solution for a triplicate security system according to a illustrative non-limiting embodiment of the present invention.
La figura 2 ilustra los pasos de un método ejecutado en un ciclo de una aplicación según una realización ilustrativa no limitativa de la presente invención.Figure 2 illustrates the steps of a method executed in a cycle of an application according to an embodiment Non-limiting illustration of the present invention.
La figura 3 ilustra pasos de un método para ejecutar una comparación cruzada según una realización ilustrativa no limitativa de la presente invención.Figure 3 illustrates steps of a method for run a cross comparison according to an illustrative embodiment non-limiting of the present invention.
Se realiza usualmente una comparación cruzada al principio y antes del final de cada ciclo de una aplicación, lo cual se describe aquí más adelante con mayor detalle. Durante esta actividad, todas las entradas y/o salidas son sometidas a una comparación cruzada entre los procesadores, tales como las unidades multiprocesadoras/unidades procesadoras centrales (MPUs/CPUs), los microprocesadores, las unidades de control vital del tiempo de ejecución, etc.A cross comparison is usually performed at beginning and before the end of each cycle of an application, what which is described here in more detail below. During this activity, all entrances and / or exits are subjected to a cross comparison between processors, such as units multiprocessors / central processing units (MPUs / CPUs), microprocessors, the vital time control units of execution, etc.
La figura 1 ilustra una configuración 2 de 3 de acuerdo con el ejemplo de realización no limitativo de la presente invención. Haciendo referencia al sistema ilustrado en la figura 1, cada CPU (20, 21, 22) de un sistema de seguridad 10 representa un ejemplo de CPU o un ejemplo de MPU o algún otro ejemplo de procesador, dependiendo de la aplicación particular. Los términos CPU, MPU y procesador se utilizan aquí de forma intercambiable. La realización de la comparación cruzada es solamente una de las funcionalidades de cada procesador.Figure 1 illustrates a configuration 2 of 3 of in accordance with the example of non-limiting embodiment of the present invention. Referring to the system illustrated in Figure 1, each CPU (20, 21, 22) of a security system 10 represents a CPU example or an example of MPU or some other example of processor, depending on the particular application. The terms CPU, MPU and processor are used interchangeably here. The performing cross-comparison is only one of the functionalities of each processor.
Cada CPU (20, 21, 22) utiliza su propio bus para conectarse a una RAM multipuerto (30). En la RAM multipuerto 30 cada CPU tiene su propio espacio de memoria. A la CPU1 (20) se asignan un búfer de sólo escritura 1.1 (40) y un búfer de sólo lectura 1.2 (50); a la CPU2 (21) se asignan un búfer de sólo escritura 2.1 (41) y un búfer de sólo lectura 2.2 (51); y a la CPU3 (22) se asignan un búfer de sólo escritura 3.1 (42) y un búfer de sólo lectura 3.2 (52). Los términos de sólo escritura y de sólo lectura se utilizan aquí con referencia a la capacidad de las CPUs de acceder a un búfer.Each CPU (20, 21, 22) uses its own bus to connect to a multiport RAM (30). In multiport RAM 30 Each CPU has its own memory space. To CPU1 (20) it assign a write-only buffer 1.1 (40) and a buffer-only reading 1.2 (50); a buffer of only 2 is assigned to CPU2 (21) write 2.1 (41) and a read-only buffer 2.2 (51); and to CPU3 (22) a write-only buffer 3.1 (42) and a buffer of read only 3.2 (52). The terms of only writing and only reading are used here with reference to the capacity of the CPUs of accessing a buffer.
Se proporciona un acceso estrictamente controlado al espacio de memoria propio de cada CPU. El búfer de sólo lectura para cada CPU incluye un registro para cada uno de los búferes de sólo escritura. En el presente ejemplo cada búfer de sólo lectura (50, 51, 52) tiene tres registros (1.1, 2.1, 3.1). Los datos escritos por cada CPU (20, 21, 22) son copiados a través de una lógica interna (60, 61, 62) para pasarlos de todos los búferes de sólo escritura (40, 41, 42) a un registro correspondiente de cada búfer de sólo lectura (50, 51, 52) para cada CPU. Esto quiere decir que están previstas dos capas de búferes. Una capa consta de búferes de sólo escritura (40, 41, 42) y la segunda capa consta de búferes de sólo lectura (50, 51, 52). Los datos escritos en el búfer de sólo escritura 1.1 (40) por la CPU1 (20) se copian en registros 1.1 de los búferes de sólo lectura (50, 51, 52). Análogamente, los datos escritos en el búfer de sólo escritura 2.1 (41) por la CPU2 (21) y los datos escritos en el búfer de sólo escritura 3.1 (42) por la CPU3 (22) se copian en registros 2.1 y 3.1, respectivamente, de los búferes de sólo lectura (50, 51, 52). En otras palabras, en la realización ilustrativa no limitativa cada procesador (20, 21, 22) tiene uno o más búferes de la primera capa de búferes (40, 41, 42) y uno o más búferes de la segunda capa de búferes (50, 51, 52).Strict access is provided controlled to the memory space of each CPU. The buffer of read-only for each CPU includes a record for each of the write-only buffers. In the present example each buffer of Read only (50, 51, 52) has three records (1.1, 2.1, 3.1). The data written by each CPU (20, 21, 22) are copied through an internal logic (60, 61, 62) to pass them from all buffers write-only (40, 41, 42) to a corresponding record of each Read-only buffer (50, 51, 52) for each CPU. This means Two layers of buffers are planned. A layer consists of buffers write-only (40, 41, 42) and the second layer consists of buffers read-only (50, 51, 52). The data written in the buffer of write only 1.1 (40) by CPU1 (20) are copied to registers 1.1 of read-only buffers (50, 51, 52). Similarly, the data written in write-only buffer 2.1 (41) by CPU2 (21) and the data written in the write-only buffer 3.1 (42) by CPU3 (22) are copied in registers 2.1 and 3.1, respectively, of read-only buffers (50, 51, 52). In other words, in the illustrative non-limiting embodiment of each processor (20, 21, 22) has one or more buffers of the first layer of buffers (40, 41, 42) and one or more buffers of the second layer of buffers (50, 51, 52).
La lógica interna que controla el proceso de transferencia de datos se implementa utilizando FPGAs o ASICs (60, 61, 62). Como se ilustra en la figura 1, para fines de sincronización, se puede implementar una lógica especial en un FPGA o ASIC (60, 61, 62) con el fin de asegurarse de que, mientras una CPUs (20, 21, 22) escribe en su lugar de memoria, las otras puedan leer solamente "no listo" en su lugar propio. Los FPGAs o ASICs realizan operaciones lógicas requeridas para los búferes de las capas primera y segunda. Cada procesador (20, 21, 22) tiene su propio FPGA o ASIC individual (60, 61, 62), respectivamente.The internal logic that controls the process of Data transfer is implemented using FPGAs or ASICs (60, 61, 62). As illustrated in Figure 1, for the purpose of synchronization, special logic can be implemented in an FPGA or ASIC (60, 61, 62) in order to ensure that, while a CPUs (20, 21, 22) write in their place of memory, the others can read only "not ready" in your own place. FPGAs or ASICs perform logical operations required for the buffers of the first and second layers. Each processor (20, 21, 22) has its own FPGA itself or individual ASIC (60, 61, 62), respectively.
Además, es preferible proporcionar una fuente de alimentación individual (70, 71, 72) para cada FPGA o ASIC (60, 61, 62). Haciendo que cada procesador (20, 21, 22) tenga su propio FPGA o ASIC individual (60, 61, 62) alimentado por su fuente de alimentación individual (70, 71, 72) se asegura una separación entre los procesadores (20, 21, 22). Por ejemplo, si un procesador resulta ser defectuoso, éste puede ser simplemente aislado y sus datos serán descartados, sin tener impacto en los demás procesadores. Esto quiere decir que los procesadores que funcionan normalmente se desconectan ellos mismos del procesador defectuoso en caso de una detección de error en la comparación cruzada. Un experto ordinario en la materia sabrá cómo aislar un procesador defectuoso, y las diversas técnicas de aislamiento caen dentro del alcance de la invención.In addition, it is preferable to provide a source of Individual power (70, 71, 72) for each FPGA or ASIC (60, 61, 62). Making each processor (20, 21, 22) have its own FPGA or individual ASIC (60, 61, 62) powered by its source of Individual feeding (70, 71, 72) ensures a separation between the processors (20, 21, 22). For example, if a processor turns out to be defective, it can be simply isolated and its data will be discarded, without impact on others processors This means that the processors that work they usually disconnect themselves from the defective processor in case of an error detection in the cross comparison. A ordinary subject matter expert will know how to isolate a processor defective, and the various isolation techniques fall within the scope of the invention.
Una comparación cruzada para el sistema ilustrado en la figura 1 se realiza por medio de los pasos ilustrados en las figuras 2 y 3. En primer lugar, la figura 2 muestra el ciclo de la CPU de acuerdo con esta realización ilustrativa. En particular, se encienden y se inicializan (paso 201) los procesadores por medio de cualquier técnica convencional conocida. Un experto ordinario en la materia conocería fácilmente una serie de maneras para encender e inicializar un procesador. Después de que se hayan inicializado los procesadores, se implementa (paso 202) una comparación cruzada de las entradas. La comparación cruzada de las entradas (paso 202) de acuerdo con el ejemplo de realización se describe con más detalle en relación con la figura 3. Después de la comparación cruzada de las entradas (paso 202) se realiza (paso 203) una serie de tareas de primer plano de la aplicación.A cross comparison for the system illustrated in figure 1 is done by means of the steps illustrated in figures 2 and 3. First, figure 2 shows the CPU cycle according to this embodiment illustrative In particular, they turn on and initialize (step 201) the processors by any conventional technique known. An ordinary expert in the field would easily know a series of ways to turn on and initialize a processor. After the processors have been initialized, it is implemented (step 202) a cross comparison of the entries. The comparison cross entry (step 202) according to the example of embodiment is described in more detail in relation to figure 3. After cross-comparing the entries (step 202), performs (step 203) a series of foreground tasks of the application.
Por ejemplo, cada procesador puede estar realizando una diversidad de operaciones de computación muy complejas. Cuando se completan las tareas de primer plano de la aplicación, la salida, por ejemplo el resultado de las operaciones de computación, es sometida también a una comparación cruzada (paso 204). La comparación cruzada de las salidas de acuerdo con el ejemplo de realización se describe con más detalle en relación con la figura 3. Después de que las salidas de las operaciones de computación sean sometidas a comparación cruzada (paso 204) por los procesadores, se completa el ciclo de la aplicación (205) y puede comenzar un nuevo ciclo (205).For example, each processor can be performing a variety of computing operations very complex. When the foreground tasks of the application, output, for example the result of operations computing, is also subjected to a cross comparison (step 204). The cross comparison of the outputs according to the exemplary embodiment is described in more detail in relation to Figure 3. After the outputs of the operations of computation are cross-checked (step 204) by processors, the application cycle (205) is completed and can start a new cycle (205).
En este ejemplo de realización cada procesador se informará de que se ha completado la comparación cruzada sin ninguna señalización a los demás procesadores. Después de la comparación cruzada satisfactoria la entrada y/o la salida estarán disponibles para su escrutinio. Como alternativa, la entrada y/o las salidas pueden proporcionarse generando una interrupción. El escrutinio, la generación de la interrupción o alguna otra solución están dentro del alcance de la invención. La solución elegida dependerá de la aplicación y del hardware que se utilice.In this exemplary embodiment, each processor it will be reported that the cross comparison has been completed without No signaling to the other processors. After the satisfactory cross comparison the input and / or output will be available for scrutiny. As an alternative, the entrance and / or the outputs can be provided generating an interruption. He scrutiny, interruption generation or some other solution They are within the scope of the invention. The chosen solution It will depend on the application and the hardware used.
Seguidamente, con referencia a la figura 3, se
ofrecerá una descripción detallada del ejemplo de comparación
cruzada no limitativa de las entradas y/o salidas (203, 205). La
figura 3 muestra la sincronización de las CPUs (paso 301). La
sincronización puede ser realizada por hardware y/o software, usando
cualquier número de técnicas. Como ejemplo de una de las muchas
maneras en que puede conseguirse una sincronización, las tres CPUs
pueden escrutar un lugar de memoria específico, uno para cada CPU,
en donde las demás CPUs actualizarán su buena disposición para una
comparación cruzada. La lectura del lugar de memoria borra el valor
actualizado a fin de evitar una información rancia. Se puede
implementar una lógica especial en un FPGA o ASIC a fin de
asegurarse de que, mientras una CPU escribe en su lugar de la
memoria, las otras pueden solamente leer "no listo" en su
lugar
propio.Next, with reference to Figure 3, a detailed description of the example of non-limiting cross comparison of the inputs and / or outputs (203, 205) will be given. Figure 3 shows the synchronization of the CPUs (step 301). Synchronization can be performed by hardware and / or software, using any number of techniques. As an example of one of the many ways in which synchronization can be achieved, the three CPUs can scan a specific memory location, one for each CPU, where the other CPUs will update their readiness for cross-comparison. Reading the memory location deletes the updated value in order to avoid rancid information. Special logic can be implemented in an FPGA or ASIC to ensure that, while one CPU writes instead of memory, the others can only read "not ready" instead
own.
La sincronización puede producirse en una diversidad de sitios en tanto los procesadores sean sincronizados antes de la transferencia de datos a la capa de búferes de sólo lectura (50, 51, 52). Por ejemplo, se pueden escribir de forma asíncrona los datos en la primera capa de búferes, la capa de sólo lectura (40, 41, 42). La sincronización (301) tendría lugar entonces antes de la transferencia de datos a la segunda capa de búferes (50, 51, 52). Además, en este ejemplo de realización se proporciona un tiempo de retardo especial para impedir rebasamientos de ciclo, lo que se considera un fallo importante del procesador. Por ejemplo, si un procesador 20 estaba aislado debido a algún fallo, los procesadores 21 y 22 proseguirán con la comparación cruzada después de un período de tiempo predeterminado, el tiempo de retardo especial, incluso aunque no se detecte una sincronización satisfactoria con el procesador 20. Se impide así un bloqueo absoluto de los procesadores 21 y 22 que funcionan normalmente.Synchronization can occur in a diversity of sites as long as the processors are synchronized before transferring data to the buffer layer only reading (50, 51, 52). For example, they can be written so asynchronous data in the first buffer layer, the only layer reading (40, 41, 42). Synchronization (301) would take place then before transferring data to the second layer of buffers (50, 51, 52). In addition, in this embodiment example provides a special delay time to prevent cycle overshoots, which is considered a major failure of the processor. For example, if a processor 20 was isolated due to to some failure, processors 21 and 22 will continue with the cross comparison after a predetermined period of time, the special delay time, even if a successful synchronization with processor 20. This prevents a absolute blocking of processors 21 and 22 that work usually.
En el ejemplo ilustrado en la figura 3 las CPUs se sincronizan antes de escribir datos en la primera capa de búferes. En particular, una vez que se sincronizan las CPUs, cada CPU escribe los datos a someter a comparación cruzada en su respectivo búfer de sólo escritura (paso 302). Los datos provenientes de cada búfer de sólo escritura son transferidos después a cada búfer de sólo lectura (paso 303) utilizando una lógica implementada en el FPGA o ASIC (60, 61, 62).In the example illustrated in Figure 3 the CPUs are synchronized before writing data to the first layer of buffers In particular, once the CPUs are synchronized, each CPU writes the data to be cross-checked in its respective write-only buffer (step 302). The data from each write-only buffer are transferred then to each read-only buffer (step 303) using a logic implemented in the FPGA or ASIC (60, 61, 62).
Cada CPU lee después los datos para las tres CPUs (20, 21, 22) en su respectivo búfer de sólo lectura (50, 51, 52) (paso 304) y compara sus datos con los datos provenientes de los otros procesadores (paso 305). Se declarará una comparación cruzada satisfactoria si al menos 2 de 3 datos sometidos a comparación cruzada en un búfer de sólo lectura son idénticos (paso 306). Por ejemplo, el procesador 20 comparará datos almacenados en el registro 1.1 con datos contenidos en los registros 2.1 y 3.1 situados en el búfer 50. Resulta una comparación cruzada satisfactoria cuando la información proveniente del registro 1.1 del búfer 50 se solapa con información proveniente de los registros 2.1 y/o 3.1 del búfer 50.Each CPU then reads the data for all three CPUs (20, 21, 22) in their respective read-only buffer (50, 51, 52) (step 304) and compare your data with the data from the other processors (step 305). A cross comparison will be declared satisfactory if at least 2 of 3 data submitted for comparison crossed in a read-only buffer are identical (step 306). By example, processor 20 will compare data stored in the record 1.1 with data contained in records 2.1 and 3.1 located in buffer 50. It is a cross comparison satisfactory when the information from record 1.1 of the buffer 50 overlaps with information from records 2.1 and / or 3.1 of buffer 50.
Una comparación cruzada satisfactoria puede ser declarada por cualquiera de las CPUs, cada una de las cuales hace su propia comparación de los datos. Si una CPU determina que hay datos idénticos provenientes de otras dos CPUs, pero sus propios datos no son idénticos a datos provenientes de cualquiera de las otras CPUs, no se declara una comparación cruzada satisfactoria por parte de esa CPU. Sin embargo, en esta circunstancia las dos CPUs que dieron origen a los datos idénticos declararán cada una de ellas una comparación cruzada satisfactoria (paso 306) basándose en sus comparaciones de los datos provenientes de sus respectivos búferes propios de sólo lectura.A satisfactory cross comparison can be declared by any of the CPUs, each of which does Your own comparison of the data. If a CPU determines that there is identical data from two other CPUs, but their own data is not identical to data from any of the other CPUs, a satisfactory cross comparison is not declared by part of that CPU. However, in this circumstance the two CPUs that gave rise to the identical data will declare each one of them a satisfactory cross comparison (step 306) based on your comparisons of data from their respective buffers Own read only.
Para una gran cantidad de datos que deben someterse a comparación cruzada, es decir, excediendo de la capacidad de la RAM, después del paso 304 puede hacerse una determinación referente a si todos los datos han sido sometidos a comparación cruzada (paso 307). Si hay datos remanentes, la secuencia retorna al paso 302, escribiendo cada procesador los datos siguientes a someter a comparación cruzada en el respectivo búfer de sólo escritura. Solamente cuando se determine que se intercambiaron todos los datos seguirá el paso 305.For a large amount of data that should undergo cross comparison, that is, exceeding the RAM capacity, after step 304 a determination regarding whether all data have been submitted to cross comparison (step 307). If there is any remaining data, the sequence returns to step 302, writing each processor the following data to be cross-checked in the respective write-only buffer. Only when it is determined that They exchanged all the data will follow step 305.
Se puede omitir el paso 307 implementado una RAM suficientemente grande, ya que la necesidad del paso 307 depende del tamaño de los datos que es preciso someter a comparación cruzada. A fin de tener el mejor tiempo de respuesta, un área de comparación cruzada grande asegurará que el proceso de comparación cruzada pueda realizarse con un paquete de datos.You can skip step 307 implemented a RAM large enough, since the need for step 307 depends of the size of the data to be compared crusade. In order to have the best response time, an area of large cross comparison will ensure that the comparison process cross can be done with a data packet.
Sistemas tales como unidades de control vital en tiempo real (RTVCUs) son un ejemplo de un sistema idealmente adecuado para su uso con la solución de comparación cruzada anteriormente descrita. No se requieren nuevos protocolos de comunicación, y la solución está limitada solamente por el tiempo de acceso a la memoria.Systems such as vital control units in Real time (RTVCUs) are an example of an ideally system suitable for use with the cross comparison solution previously described. No new protocols are required. communication, and the solution is limited only by the time of memory access
Las siguientes características pueden constituir también realizaciones ventajosas de la invención:The following characteristics may constitute also advantageous embodiments of the invention:
- --
- El ordenador multiprocesador reivindicado, en el que se prevé un tiempo de retardo para leer datos de los búferes de la segunda capa para realizar la comparación cruzada por parte de los procesadores;He claimed multiprocessor computer, in which time is expected delay to read data from the buffers of the second layer to perform cross comparison by processors;
- --
- El ordenador multiprocesador reivindicado, en el que se sincronizan los procesadores antes de la comparación cruzada, y en el que se detecta la sincronización por medio de un escrutinio de los búferes de la segunda capa por parte de cada uno de los procesadores;He claimed multiprocessor computer, in which the processors before cross comparison, and in which it detects synchronization by means of buffer scrutiny of the second layer by each of the processors;
- --
- El ordenador multiprocesador reivindicado, en el que cada uno de los procesadores es una unidad de procesamiento central, un microprocesador, una unidad de control vital del tiempo de ejecución y una unidad multiprocesadora;He claimed multiprocessor computer, in which each of the processors is a central processing unit, a microprocessor, a vital runtime control unit and a multiprocessor unit;
- --
- El ordenador multiprocesador reivindicado, en el que los búferes de las capas primera y segunda forman una memoria de acceso aleatorio multipuerto que se enchufa en una placa posterior de los procesadores que se conecta a un bus estándar o a un bus no estándar;He claimed multiprocessor computer, in which the buffers of the first and second layers form a random access memory multiport plugging into a backplate of the processors that connect to a standard bus or a non-bus standard;
- --
- El ordenador multiprocesador reivindicado, en el que unos FPGAs o ASICs realizan operaciones lógicas requeridas para los búferes de las capas primera y segunda, y en el que se prevé un FPGA o ASIC individual para un área de almacenaje de los búferes de las capas primera y segunda asignada a uno particular de los procesadores;He claimed multiprocessor computer, in which some FPGAs or ASICs perform logical operations required for the buffers of the first and second layers, and in which an FPGA or ASIC is planned individual for a storage area of the layer buffers first and second assigned to a particular one of the processors;
- --
- El ordenador multiprocesador reivindicado, en el que se prevé una fuente de alimentación individual para cada uno de los FPGAs o ASICs;He claimed multiprocessor computer, in which a individual power supply for each of the FPGAs or ASICs;
- --
- El ordenador multiprocesador reivindicado, en el que dichos datos almacenados en los registros son una entrada a una operación de computación o una salida de la operación de computación;He claimed multiprocessor computer, wherein said data stored in the logs are an entry to an operation of computing or an exit from the computing operation;
- --
- El método reivindicado de realizar una comparación cruzada, en el que se realiza dicha sincronización antes del paso ordenado (a) para escribir simultáneamente la información a someter a comparación cruzada en dicha pluralidad de búferes de la primera capa;He claimed method of performing a cross comparison, in which said synchronization is performed before the orderly step (a) to write simultaneously the information to be compared crossed in said plurality of buffers of the first layer;
- --
- El método reivindicado de realizar una comparación cruzada, en el que se realiza dicha sincronización después del paso ordenado (a) para escribir de forma asíncrona la información a someter a comparación cruzada en dicha pluralidad de búferes de la primera capa;He claimed method of performing a cross comparison, in which said synchronization is performed after the orderly step (a) to write the information to be submitted asynchronously crossed in said plurality of buffers of the first layer;
- --
- El método reivindicado de realizar una comparación cruzada, en el que dicha sincronización de datos y dicha comparación cruzada se realizan dos veces por cada ciclo de procesador, una al comienzo del ciclo de procesador para datos de entrada y la otra al final del ciclo de procesador para datos de salida;He claimed method of performing a cross comparison, in which said data synchronization and said cross comparison are performed twice for each processor cycle, once at the beginning of processor cycle for input data and the other at the end of processor cycle for output data;
- --
- El método reivindicado de realizar una comparación cruzada, en el que dicha comparación de los datos de salida se realiza después del procesamiento computacional en cada uno de la pluralidad de procesadores;He claimed method of performing a cross comparison, in which said comparison of the output data is made after computational processing in each of the plurality of processors;
- --
- El método reivindicado de realizar una comparación cruzada, en el que dicha transferencia de datos en los pasos ordenados (a) y (b) y dicho procesamiento computacional son realizados por una pluralidad de FPGAs o ASICs, y en el que se prevé al menos un FPGA o ASIC para cada uno de los al menos tres procesadores;He claimed method of performing a cross comparison, in which said data transfer in the steps ordered (a) and (b) and said computational processing are performed by a plurality of FPGAs or ASICs, and in which at least one FPGA or ASIC is provided for each of the at least three processors;
- --
- El método reivindicado de realizar una comparación cruzada, en el que cada uno de los búferes de la segunda capa comprende al menos un registro separado para cada procesador de dichos al menos tres procesadores;He claimed method of performing a cross comparison, in which each of the buffers of the second layer comprises at least one separate record for each processor of said at least three processors;
- --
- El ordenador multiprocesador reivindicado, en el que la primera capa de búferes son búferes de sólo escritura y en el que la segunda capa de búferes son búferes de sólo lectura;He claimed multiprocessor computer, in which the first layer of buffers are write-only buffers and in which the second layer of buffers are read-only buffers;
- --
- El ordenador multiprocesador reivindicado, en el que los procesadores escriben datos de forma asíncrona en los búferes de la primera capa;He claimed multiprocessor computer, in which the processors write data asynchronously in the buffers of the first cap;
\newpage\ newpage
- --
- El ordenador multiprocesador reivindicado, en el que, cuando la información proveniente del procesador de comparación no casa con la información de los otros dos procesadores, no puede declararse la comparación cruzada satisfactoria y se aísla el procesador de comparación;He claimed multiprocessor computer, in which, when the information from the comparison processor does not match the information of the other two processors, the successful cross comparison and the processor is isolated from comparison;
- --
- El sistema de comparación cruzada descrito y/o reivindicado para un ordenador de tres procesadores, en el que cada área de almacenaje de la segunda capa de búferes, a saber, una cuarta, una quinta y una sexta áreas de almacenaje, comprende un registro, a saber, un primero, un segundo y un tercer registro, para cada procesador, a saber, el primero, el segundo y el tercer procesador, en el que el primer procesador compara la información almacenada en el primer registro de la cuarta área de almacenaje con la información almacenada en el segundo registro y con la información almacenada en el tercer registro de la cuarta área de almacenaje, en el que el segundo procesador compara la información almacenada en el segundo registro de la quinta área de almacenaje con la información almacenada en el primer registro y con la información almacenada en el tercer registro de la quinta área de almacenaje, y en el que el tercer procesador compara la información almacenada en el tercer registro de la sexta área de almacenaje con la información almacenada en el primer registro y con la información almacenada en el segundo registro de la sexta área de almacenaje;He cross comparison system described and / or claimed for a three processor computer, in which each storage area of the second layer of buffers, namely a fourth, a fifth and a sixth storage areas, includes a record, namely a first, a second and a third record, for each processor, to know, the first, the second and the third processor, in which the first processor compares the information stored in the first record of the fourth storage area with the information stored in the second record and with the information stored in the third record of the fourth storage area, in which the second processor compares the information stored in the second registration of the fifth storage area with the information stored in the first record and with the information stored in the third record of the fifth storage area, and in which the third processor compares the information stored in the third registration of the sixth storage area with the information stored in the first record and with the information stored in the second record of the sixth storage area;
- --
- El ordenador multiprocesador reivindicado, en el que se prevé para cada uno de dichos procesadores un puerto individual para transferir información de su respectiva área de almacenaje de la segunda capa de búferes a un respectivo procesador para realizar dicha comparación.He claimed multiprocessor computer, which is provided for each one of said processors an individual port to transfer information of their respective storage area of the second layer of buffers to a respective processor to perform said comparison.
La descripción anterior de realizaciones ilustrativas no limitativas ha sido dada a título de ejemplo. Las anteriores y otras características de la invención, incluyendo diversos pasos de método nuevos y diversos componentes nuevos, han sido particularmente descritos con referencia a los dibujos adjuntos y señalados en las reivindicaciones. Se entenderá que el proceso y la construcción particulares de partes que materializan la invención se muestra a título de ilustración solamente y no de limitación de la invención. Los principios y características de esta invención pueden emplearse en variadas y numerosas realizaciones sin apartarse del alcance de la invención tal como viene definido por las reivindicaciones adjuntas.The above description of embodiments Non-limiting illustrative has been given by way of example. The above and other features of the invention, including various new method steps and various new components, have been particularly described with reference to the attached drawings and indicated in the claims. It will be understood that the process and the particular construction of parts that materialize the invention is shown by way of illustration only and not of limitation of the invention The principles and characteristics of This invention can be used in many different ways. embodiments without departing from the scope of the invention such as It is defined by the appended claims.
Claims (11)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2237 | 2004-12-03 | ||
US11/002,237 US7350026B2 (en) | 2004-12-03 | 2004-12-03 | Memory based cross compare for cross checked systems |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2331523T3 true ES2331523T3 (en) | 2010-01-07 |
Family
ID=35929986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES05024885T Active ES2331523T3 (en) | 2004-12-03 | 2005-11-15 | CROSS-COMPARED MEMORY-BASED COMPARISON FOR SYSTEMS SUBJECT TO CROSSED VERIFICATION. |
Country Status (6)
Country | Link |
---|---|
US (1) | US7350026B2 (en) |
EP (1) | EP1667024B1 (en) |
CN (1) | CN100361096C (en) |
AT (1) | ATE438895T1 (en) |
DE (1) | DE602005015811D1 (en) |
ES (1) | ES2331523T3 (en) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2007119322A (en) * | 2004-10-25 | 2008-12-10 | Роберт Бош ГмбХ (DE) | METHOD AND DEVICE FOR SWITCHING IN A COMPUTER SYSTEM INCLUDING AT LEAST TWO PROCESSING UNITS |
GB0602641D0 (en) * | 2006-02-09 | 2006-03-22 | Eads Defence And Security Syst | High speed data processing system |
US7444544B2 (en) * | 2006-07-14 | 2008-10-28 | International Business Machines Corporation | Write filter cache method and apparatus for protecting the microprocessor core from soft errors |
CN101140558A (en) * | 2006-09-05 | 2008-03-12 | 深圳迈瑞生物医疗电子股份有限公司 | Embedded system and satellite communication method thereof |
US7644306B2 (en) * | 2006-12-15 | 2010-01-05 | Boeing Company | Method and system for synchronous operation of an application by a purality of processing units |
JP4521678B2 (en) * | 2007-11-19 | 2010-08-11 | フェリカネットワークス株式会社 | COMMUNICATION SYSTEM, INFORMATION PROCESSING METHOD, PROGRAM, AND INFORMATION PROCESSING DEVICE |
KR20100034415A (en) * | 2008-09-24 | 2010-04-01 | 삼성전자주식회사 | Multi processor system having booting function by using memory link architecture |
US8458581B2 (en) * | 2009-10-15 | 2013-06-04 | Ansaldo Sts Usa, Inc. | System and method to serially transmit vital data from two processors |
JP5829392B2 (en) * | 2010-09-30 | 2015-12-09 | 三菱重工業株式会社 | Control device and nuclear power plant control system |
JP2012079184A (en) * | 2010-10-04 | 2012-04-19 | Mitsubishi Heavy Ind Ltd | Control device and nuclear power plant control system |
US8543774B2 (en) | 2011-04-05 | 2013-09-24 | Ansaldo Sts Usa, Inc. | Programmable logic apparatus employing shared memory, vital processor and non-vital communications processor, and system including the same |
CN105204774B (en) * | 2014-06-23 | 2019-01-15 | 联想(北京)有限公司 | A kind of data processing method and electronic equipment |
FR3024869B1 (en) * | 2014-08-14 | 2016-08-26 | Zodiac Aero Electric | ELECTRICAL DISTRIBUTION SYSTEM FOR AN AIRCRAFT AND CORRESPONDING CONTROL METHOD |
JP5902778B1 (en) * | 2014-09-03 | 2016-04-13 | ファナック株式会社 | Machine tools with functions to safely control peripheral equipment |
US9641287B2 (en) | 2015-01-13 | 2017-05-02 | Honeywell International Inc. | Methods and apparatus for high-integrity data transfer with preemptive blocking |
US11812312B2 (en) * | 2015-05-25 | 2023-11-07 | Apple Inc. | Link quality based single radio-voice call continuity and packet scheduling for voice over long term evolution communications |
RU183879U1 (en) * | 2017-10-25 | 2018-10-08 | Публичное акционерное общество "Институт электронных управляющих машин им. И.С. Брука" | Processor module |
WO2021120132A1 (en) * | 2019-12-19 | 2021-06-24 | 华为技术有限公司 | Storage system and data crossing method |
RU208501U1 (en) * | 2021-06-28 | 2021-12-22 | Общество с ограниченной ответственностью "Форк" | Motherboard |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5295258A (en) * | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
US5226152A (en) * | 1990-12-07 | 1993-07-06 | Motorola, Inc. | Functional lockstep arrangement for redundant processors |
US5479573A (en) * | 1992-11-24 | 1995-12-26 | Pavilion Technologies, Inc. | Predictive network with learned preprocessing parameters |
US5909541A (en) * | 1993-07-14 | 1999-06-01 | Honeywell Inc. | Error detection and correction for data stored across multiple byte-wide memory devices |
US5559450A (en) * | 1995-07-27 | 1996-09-24 | Lucent Technologies Inc. | Field programmable gate array with multi-port RAM |
GB2312134B (en) * | 1996-04-12 | 2000-10-04 | Sony Corp | Data transfer device |
US5715197A (en) * | 1996-07-29 | 1998-02-03 | Xilinx, Inc. | Multiport RAM with programmable data port configuration |
JP3429139B2 (en) * | 1996-09-25 | 2003-07-22 | 株式会社デジタル | Address comparator of write buffer device in computer device and method of reading data from main storage device |
US5970240A (en) * | 1997-06-25 | 1999-10-19 | Quickturn Design Systems, Inc. | Method and apparatus for configurable memory emulation |
US6052619A (en) * | 1997-08-07 | 2000-04-18 | New York University | Brain function scan system |
US5978889A (en) * | 1997-11-05 | 1999-11-02 | Timeplex, Inc. | Multiple device data transfer utilizing a multiport memory with opposite oriented memory page rotation for transmission and reception |
US6182196B1 (en) * | 1998-02-20 | 2001-01-30 | Ati International Srl | Method and apparatus for arbitrating access requests to a memory |
DE19809089A1 (en) | 1998-02-25 | 1999-08-26 | Siemens Ag | Process for synchronising and/or data exchange for secure high access computer in multi computer system |
US6199171B1 (en) * | 1998-06-26 | 2001-03-06 | International Business Machines Corporation | Time-lag duplexing techniques |
US6181163B1 (en) * | 1999-01-21 | 2001-01-30 | Vantis Corporation | FPGA integrated circuit having embedded SRAM memory blocks and interconnect channel for broadcasting address and control signals |
US6463573B1 (en) * | 1999-06-03 | 2002-10-08 | International Business Machines Corporation | Data processor storage systems with dynamic resynchronization of mirrored logical data volumes subsequent to a storage system failure |
US6434642B1 (en) * | 1999-10-07 | 2002-08-13 | Xilinx, Inc. | FIFO memory system and method with improved determination of full and empty conditions and amount of data stored |
US6362650B1 (en) * | 2000-05-18 | 2002-03-26 | Xilinx, Inc. | Method and apparatus for incorporating a multiplier into an FPGA |
US6373779B1 (en) * | 2000-05-19 | 2002-04-16 | Xilinx, Inc. | Block RAM having multiple configurable write modes for use in a field programmable gate array |
US6535043B2 (en) * | 2000-05-26 | 2003-03-18 | Lattice Semiconductor Corp | Clock signal selection system, method of generating a clock signal and programmable clock manager including same |
US7908520B2 (en) * | 2000-06-23 | 2011-03-15 | A. Avizienis And Associates, Inc. | Self-testing and -repairing fault-tolerance infrastructure for computer systems |
US6516390B1 (en) * | 2000-10-26 | 2003-02-04 | Emc Corporation | Methods and apparatus for accessing data within a data storage system |
US7072345B2 (en) * | 2000-11-29 | 2006-07-04 | Raza Microelectronics, Inc | Programmable integrated circuit for use in a network switch |
JP3693013B2 (en) * | 2001-12-26 | 2005-09-07 | 日本電気株式会社 | Data processing system, array type processor, data processing apparatus, computer program, information storage medium |
US6948091B2 (en) * | 2002-05-02 | 2005-09-20 | Honeywell International Inc. | High integrity recovery from multi-bit data failures |
JP2004046455A (en) * | 2002-07-10 | 2004-02-12 | Nec Corp | Information processor |
-
2004
- 2004-12-03 US US11/002,237 patent/US7350026B2/en active Active
-
2005
- 2005-11-15 EP EP05024885A patent/EP1667024B1/en active Active
- 2005-11-15 DE DE602005015811T patent/DE602005015811D1/en active Active
- 2005-11-15 ES ES05024885T patent/ES2331523T3/en active Active
- 2005-11-15 AT AT05024885T patent/ATE438895T1/en not_active IP Right Cessation
- 2005-11-28 CN CNB2005101243266A patent/CN100361096C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20060123202A1 (en) | 2006-06-08 |
EP1667024B1 (en) | 2009-08-05 |
CN100361096C (en) | 2008-01-09 |
ATE438895T1 (en) | 2009-08-15 |
EP1667024A2 (en) | 2006-06-07 |
CN1783035A (en) | 2006-06-07 |
DE602005015811D1 (en) | 2009-09-17 |
EP1667024A3 (en) | 2007-02-21 |
US7350026B2 (en) | 2008-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2331523T3 (en) | CROSS-COMPARED MEMORY-BASED COMPARISON FOR SYSTEMS SUBJECT TO CROSSED VERIFICATION. | |
US7406086B2 (en) | Multiprocessor node controller circuit and method | |
US6138198A (en) | Processor bridge with dissimilar data registers which is operable to disregard data differences for dissimilar data write accesses | |
US6223230B1 (en) | Direct memory access in a bridge for a multi-processor system | |
US6587961B1 (en) | Multi-processor system bridge with controlled access | |
EP0886225A1 (en) | Microprocessor architecture capable of supporting multiple heterogenous processors | |
US6173351B1 (en) | Multi-processor system bridge | |
US8458411B2 (en) | Distributed shared memory multiprocessor and data processing method | |
EP1145131B1 (en) | Resource control in a computer system | |
EP0251686B1 (en) | Method and apparatus for sharing information between a plurality of processing units | |
US20060248247A1 (en) | Apparatus and method for controlling access to a memory | |
US5408612A (en) | Microprocessor system for selectively accessing a processor internal register when the processor has control of the bus and partial address identifying the register | |
US11443091B1 (en) | Data processing engines with cascade connected cores | |
EP3198455B1 (en) | Managing memory in a multiprocessor system | |
Schanin | The design and development of a very high speed system bus—the encore Mutlimax nanobus | |
JP2000076089A (en) | Multiple system processor | |
Blackmon et al. | EXA Memory/IO Controller | |
JPH0784872A (en) | Storage device | |
JPS60563A (en) | Multiprocessor | |
JPH04373057A (en) | Multiprocessor system | |
NL8600233A (en) | Parallel processing computer system with master and slave processors - has single instruction and multiple data channels in multiple architecture bus |