ES2331523T3 - Comparacion cruzada basada en memoria para sistemas sometidos a verificacion cruzada. - Google Patents

Comparacion cruzada basada en memoria para sistemas sometidos a verificacion cruzada. Download PDF

Info

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.)
Expired - Lifetime
Application number
ES05024885T
Other languages
English (en)
Inventor
Mario Popescu
Stephen Barr
Alexander Trica
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.)
Thales SA
Original Assignee
Thales SA
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 Thales SA filed Critical Thales SA
Application granted granted Critical
Publication of ES2331523T3 publication Critical patent/ES2331523T3/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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error 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/184Error 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/185Error 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
    • 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
    • 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/1683Temporal 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)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Dram (AREA)

Abstract

Un ordenador multiprocesador (10) que tiene al menos un primero y un segundo procesador (20, 21, 22) y un sistema de comparación cruzada, comprendiendo dicho sistema de comparación cruzada: una primera capa de búferes (40, 41, 42) que comprende una primera área de almacenaje para almacenar información proveniente del primer procesador (20) y una segunda área de almacenaje para almacenar información proveniente del segundo procesador (21); una segunda capa de búferes (50, 51, 52) que comprende una tercera área de almacenaje para almacenar la información proveniente de dicha primera área de almacenaje y la información proveniente de dicha segunda área de almacenaje, y una cuarta área de almacenaje para almacenar la información proveniente de dicha primera área de almacenaje y la información proveniente de dicha segunda área de almacenaje, en donde cada una de dichas áreas de almacenaje primera, segunda, tercera y cuarta se implementa dentro de una RAM multipuerto (30) y comprende al menos un búfer asignado solamente a su área de almacenaje dentro de dicha RAM multipuerto (30), comprendiendo además dicho sistema de comparación cruzada una lógica interna (60, 61, 62) dispuesta dentro de dicha RAM multipuerto (30), estando configurada dicha lógica interna (60, 61, 62) para transferir de forma síncrona la información de dicha primera área de almacenaje y dicha segunda área de almacenaje a dicha tercera área de almacenaje y a dicha cuarta área de almacenaje, en el que dicho primer procesador (20) está configurado para leer la información de dicha tercera área de almacenaje y para comparar datos almacenados en la tercera área de almacenaje provenientes de la primera área de almacenaje con datos almacenados en la tercera área de almacenaje provenientes de la segunda área de almacenaje a fin de determinar si la información almacenada en dicha tercera área de almacenaje proveniente de la primera área de almacenaje es idéntica a la información almacenada en la tercera área de almacenaje proveniente de la segunda área de almacenaje; y en el que dicho segundo procesador (21) está configurado para leer la información de dicha cuarta área de almacenaje y para comparar datos almacenados en la cuarta área de almacenaje provenientes de la primera área de almacenaje con datos almacenados en la cuarta área de almacenaje provenientes de la segunda área de almacenaje a fin de determinar si la información almacenada en dicha cuarta área de almacenaje proveniente de la primera área de almacenaje es idéntica a la información almacenada en la cuarta área de almacenaje proveniente de la segunda área de almacenaje.

Description

Comparación cruzada basada en memoria para sistemas sometidos a verificación cruzada.
1. Campo de la invención
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.
2. Descripción de la técnica relacionada
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.
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.
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.
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.
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.
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.
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.
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.
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.
Sumario de la invención
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.
Las reivindicaciones adjuntas deberán consultarse para averiguar el alcance verdadero de la invención.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
Breve descripción de los dibujos
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:
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.
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.
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.
Descripción detallada de los ejemplos de realización no limitativos
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.
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.
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.
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).
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.
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.
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.
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).
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.
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.
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.
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).
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.
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.
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.
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.
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.
Las siguientes características pueden constituir también realizaciones ventajosas de la invención:
-
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;
-
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;
-
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;
-
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;
-
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;
-
El ordenador multiprocesador reivindicado, en el que se prevé una fuente de alimentación individual para cada uno de los FPGAs o 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;
-
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;
-
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;
-
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;
-
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;
-
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;
-
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;
-
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;
-
El ordenador multiprocesador reivindicado, en el que los procesadores escriben datos de forma asíncrona en los búferes de la primera capa;
\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;
-
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;
-
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.
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.

Claims (11)

1. Un ordenador multiprocesador (10) que tiene al menos un primero y un segundo procesador (20, 21, 22) y un sistema de comparación cruzada, comprendiendo dicho sistema de comparación cruzada: una primera capa de búferes (40, 41, 42) que comprende una primera área de almacenaje para almacenar información proveniente del primer procesador (20) y una segunda área de almacenaje para almacenar información proveniente del segundo procesador (21); una segunda capa de búferes (50, 51, 52) que comprende una tercera área de almacenaje para almacenar la información proveniente de dicha primera área de almacenaje y la información proveniente de dicha segunda área de almacenaje, y una cuarta área de almacenaje para almacenar la información proveniente de dicha primera área de almacenaje y la información proveniente de dicha segunda área de almacenaje, en donde cada una de dichas áreas de almacenaje primera, segunda, tercera y cuarta se implementa dentro de una RAM multipuerto (30) y comprende al menos un búfer asignado solamente a su área de almacenaje dentro de dicha RAM multipuerto (30), comprendiendo además dicho sistema de comparación cruzada una lógica interna (60, 61, 62) dispuesta dentro de dicha RAM multipuerto (30), estando configurada dicha lógica interna (60, 61, 62) para transferir de forma síncrona la información de dicha primera área de almacenaje y dicha segunda área de almacenaje a dicha tercera área de almacenaje y a dicha cuarta área de almacenaje, en el que dicho primer procesador (20) está configurado para leer la información de dicha tercera área de almacenaje y para comparar datos almacenados en la tercera área de almacenaje provenientes de la primera área de almacenaje con datos almacenados en la tercera área de almacenaje provenientes de la segunda área de almacenaje a fin de determinar si la información almacenada en dicha tercera área de almacenaje proveniente de la primera área de almacenaje es idéntica a la información almacenada en la tercera área de almacenaje proveniente de la segunda área de almacenaje; y en el que dicho segundo procesador (21) está configurado para leer la información de dicha cuarta área de almacenaje y para comparar datos almacenados en la cuarta área de almacenaje provenientes de la primera área de almacenaje con datos almacenados en la cuarta área de almacenaje provenientes de la segunda área de almacenaje a fin de determinar si la información almacenada en dicha cuarta área de almacenaje proveniente de la primera área de almacenaje es idéntica a la información almacenada en la cuarta área de almacenaje proveniente de la segunda área de almacenaje.
2. El ordenador multiprocesador según la reivindicación 1, en el que la primera capa de búferes (40, 41, 42) son búferes de solo escritura y en el que la segunda capa de búferes (50, 51, 52) son búferes de sólo lectura.
3. El ordenador multiprocesador según la reivindicación 2, en el que el primero y el segundo procesadores (20, 21) escriben datos de forma asíncrona en los búferes (40, 41, 42) de la primera capa y en el que los datos de los búferes (40, 41, 42) de la primera capa son transferidos de forma síncrona a los búferes (50, 51, 52) de la segunda capa.
4. El ordenador multiprocesador según la reivindicación 1, caracterizado porque dicha lógica interna (60, 61, 62) comprende FPGAs y/o ASICs.
5. El ordenador multiprocesador según la reivindicación 1, caracterizado porque dicha lógica interna (60, 61, 62) comprende un FPGA y/o ASIC individual propio para cada uno de dichos procesadores (20, 21, 22).
6. El ordenador multiprocesador según la reivindicación 5, caracterizado porque cada FPGA y/o ASIC individual (60, 61, 62) es alimentado por una fuente de alimentación individual (70, 71, 72).
7. El ordenador multiprocesador (10) según la reivindicación 1, en el que dicho ordenador multiprocesador (10) está configurado para aislar dicho primer procesador (20) cuando no casan los datos que se están comparando en dicho primer procesador (20), y en el que dicho ordenador multiprocesador (10) está configurado para aislar dicho segundo procesador (21) cuando no casan los datos que se están comparado en dicho segundo procesador (21).
8. El ordenador multiprocesador (10) según la reivindicación 1, en el que cada una de dichas áreas de almacenaje tercera y cuarta comprende un primer registro para los datos provenientes de la segunda área de almacenaje y un segundo registro para los datos provenientes de la segunda área de almacenaje, y cada uno de dichos procesadores primero y segundo (20, 21) está configurado para comparar datos del primer registro con datos del segundo registro y para declarar una comparación cruzada satisfactoria cuando los datos en el primer registro son idénticos a los datos en el segundo registro, estando ambos registros primero y segundo en un área de almacenaje asignada exclusivamente a un procesador de comparación.
9. Un método de realizar una comparación cruzada para un ordenador multiprocesador (10) que tiene al menos tres procesadores (20, 21, 22), en donde cada uno de dichos al menos tres procesadores (20, 21, 22) utiliza un lugar de memoria separado de una RAM multipuerto (30) y en donde cada uno de dichos al menos tres procesadores (20, 21, 22) está provisto de un puerto individual de dicha RAM multipuerto (30) y cada uno de los puertos individuales está provisto de un respectivo búfer de una pluralidad de búferes (40, 41, 42) de una primera capa, comprendiendo el método los pasos ordenados de: (a) hacer que cada procesador (20, 21, 22) escriba información a someter a comparación cruzada en el búfer de dicha pluralidad de búferes (40, 41, 42) de la primera capa correspondiente al puerto del respectivo procesador; (b) transferir de forma síncrona información escrita en todos los búferes de la pluralidad de búferes (40, 41, 42) de la primera capa a una pluralidad de búferes (50, 51, 52) de una segunda capa por medio de una lógica interna (60, 61, 62) dispuesta dentro de dicha RAM multipuerto (30), proporcionando cada búfer de la pluralidad de búferes (50, 51, 52) de la segunda capa un área de almacenaje para cada búfer de la primera pluralidad de búferes, y estando previsto un búfer respectivo de la pluralidad de búferes (50, 51, 52) de la segunda capa para cada uno de la pluralidad de procesadores (20, 21, 22), en donde la pluralidad de búferes (40, 41, 42) de la primera capa y la pluralidad de búferes (50, 51, 52) de la segunda capa se implementan dentro de dicha RAM multipuerto (30); (c) hacer que cada procesador (20, 21, 22) lea la información de un búfer respectivo de la pluralidad de búferes (50, 51, 52) de la segunda capa; y (d) hacer que cada procesador (20, 21, 22) compare la información leída en su búfer de la pluralidad de búferes (50, 51, 52) de la segunda capa y declare una comparación cruzada satisfactoria si la información de otro procesador casa con información del procesador de comparación, en donde dichos al menos tres procesadores (20, 21, 22) se sincronizan antes de ejecutar la transferencia de información en el paso ordenado (b).
10. Un método de realizar una comparación cruzada según la reivindicación 9, que comprende además un paso ordenado de: (e) determinar si hay información adicional a someter a comparación cruzada, y si es así, repetir los pasos con la información adicional, empezando en el paso (a).
11. Un método de realizar una comparación cruzada según la reivindicación 9, que comprende, además, detectar una sincronización satisfactoria por cada uno de dicha pluralidad de procesadores (20, 21, 22) a través de un escrutinio de su búfer correspondiente de la pluralidad de segundos búferes (50, 51, 52), y en el que cuando, después de un período de tiempo predeterminado, no se detecta por un procesador de la pluralidad de procesadores (20, 21, 22) la sincronización satisfactoria entre todos los procesadores de dicha pluralidad de procesadores (20, 21, 22), ejecutar una operación de retardo de tiempo y realizar la comparación de la información por el procesador.
ES05024885T 2004-12-03 2005-11-15 Comparacion cruzada basada en memoria para sistemas sometidos a verificacion cruzada. Expired - Lifetime ES2331523T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/002,237 US7350026B2 (en) 2004-12-03 2004-12-03 Memory based cross compare for cross checked systems
US2237 2004-12-03

Publications (1)

Publication Number Publication Date
ES2331523T3 true ES2331523T3 (es) 2010-01-07

Family

ID=35929986

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05024885T Expired - Lifetime ES2331523T3 (es) 2004-12-03 2005-11-15 Comparacion cruzada basada en memoria para sistemas sometidos a verificacion cruzada.

Country Status (6)

Country Link
US (1) US7350026B2 (es)
EP (1) EP1667024B1 (es)
CN (1) CN100361096C (es)
AT (1) ATE438895T1 (es)
DE (1) DE602005015811D1 (es)
ES (1) ES2331523T3 (es)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2007119322A (ru) * 2004-10-25 2008-12-10 Роберт Бош ГмбХ (DE) Способ и устройство для переключения в вычислительной системе, включающей в себя по меньшей мере два обрабатывающих блока
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 (zh) * 2006-09-05 2008-03-12 深圳迈瑞生物医疗电子股份有限公司 嵌入式系统及其通信方法
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 (ja) * 2007-11-19 2010-08-11 フェリカネットワークス株式会社 通信システム、情報処理方法、プログラム、及び情報処理装置
KR20100034415A (ko) * 2008-09-24 2010-04-01 삼성전자주식회사 메모리 링크 아키텍쳐를 활용한 부팅기능을 갖는 멀티 프로세서 시스템
US8458581B2 (en) * 2009-10-15 2013-06-04 Ansaldo Sts Usa, Inc. System and method to serially transmit vital data from two processors
JP5829392B2 (ja) * 2010-09-30 2015-12-09 三菱重工業株式会社 制御装置および原子力発電プラント制御システム
JP2012079184A (ja) 2010-10-04 2012-04-19 Mitsubishi Heavy Ind Ltd 制御装置および原子力発電プラント制御システム
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 (zh) * 2014-06-23 2019-01-15 联想(北京)有限公司 一种数据处理方法及电子设备
FR3024869B1 (fr) * 2014-08-14 2016-08-26 Zodiac Aero Electric Systeme de distribution electrique pour un aeronef et procede de commande correspondant
JP5902778B1 (ja) * 2014-09-03 2016-04-13 ファナック株式会社 周辺機器を安全に制御する機能を有する工作機械
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 (ru) * 2017-10-25 2018-10-08 Публичное акционерное общество "Институт электронных управляющих машин им. И.С. Брука" Процессорный модуль
EP4071622B1 (en) * 2019-12-19 2024-03-27 Huawei Technologies Co., Ltd. Storage system and data crossing method
RU208501U1 (ru) * 2021-06-28 2021-12-22 Общество с ограниченной ответственностью "Форк" Системная плата
CN115061728A (zh) * 2022-06-24 2022-09-16 网络通信与安全紫金山实验室 信息传输方法、装置、设备、存储介质和程序产品

Family Cites Families (26)

* Cited by examiner, † Cited by third party
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 (ja) * 1996-09-25 2003-07-22 株式会社デジタル コンピュータ装置における書込み用バッファ装置のアドレス用比較器及び主記憶装置からのデータ読出し方法
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 (de) 1998-02-25 1999-08-26 Siemens Ag Synchronisations- und/oder Datenaustauschverfahren für sichere, hochverfügbare Rechner und hierzu geeignete Einrichtung
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 (ja) * 2001-12-26 2005-09-07 日本電気株式会社 データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体
US6948091B2 (en) * 2002-05-02 2005-09-20 Honeywell International Inc. High integrity recovery from multi-bit data failures
JP2004046455A (ja) * 2002-07-10 2004-02-12 Nec Corp 情報処理装置

Also Published As

Publication number Publication date
DE602005015811D1 (de) 2009-09-17
CN1783035A (zh) 2006-06-07
EP1667024A2 (en) 2006-06-07
CN100361096C (zh) 2008-01-09
US20060123202A1 (en) 2006-06-08
EP1667024B1 (en) 2009-08-05
EP1667024A3 (en) 2007-02-21
ATE438895T1 (de) 2009-08-15
US7350026B2 (en) 2008-03-25

Similar Documents

Publication Publication Date Title
EP1222559B1 (en) Multiprocessor node controller circuit and method
US7350026B2 (en) Memory based cross compare for cross checked systems
US6260159B1 (en) Tracking memory page modification in a bridge for a multi-processor system
US4698753A (en) Multiprocessor interface device
US6148348A (en) Bridge interfacing two processing sets operating in a lockstep mode and having a posted write buffer storing write operations upon detection of a lockstep error
US6223230B1 (en) Direct memory access in a bridge for a multi-processor system
EP1090350B1 (en) Multi-processor system bridge with controlled access
EP0886225A1 (en) Microprocessor architecture capable of supporting multiple heterogenous processors
US6173351B1 (en) Multi-processor system bridge
EP0380855A2 (en) Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory
US8458411B2 (en) Distributed shared memory multiprocessor and data processing method
CN117546135A (zh) 具有混合dram/持久性存储器通道仲裁的存储器控制器
JP2002526818A (ja) コンピュータ・システムにおけるリソース制御
CN118964254B (zh) 多核系统级芯片的数据传输方法、装置、芯片及电子设备
EP0251686A2 (en) Method and apparatus for sharing information between a plurality of processing units
US11443091B1 (en) Data processing engines with cascade connected cores
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
CN106716336B (zh) 在多处理器系统中的存储器管理
AU2014202193B2 (en) Multi-processor computer architecture incorporating distributed multi-ported common memory modules
Schanin The design and development of a very high speed system bus—the encore Mutlimax nanobus
US20060248247A1 (en) Apparatus and method for controlling access to a memory
Blackmon et al. EXA Memory/IO Controller
JPH03109633A (ja) ロードシェアシステム
JPS60563A (ja) マルチプロセツサ装置
JPH04373057A (ja) マルチプロセッサシステム