ES2320806T3 - Procedimiento y dispositivo para determinar un estado de inicio en un sistema de ordenador con al menos, dos unidades de ejecucion, a traves del marcado de registros. - Google Patents

Procedimiento y dispositivo para determinar un estado de inicio en un sistema de ordenador con al menos, dos unidades de ejecucion, a traves del marcado de registros. Download PDF

Info

Publication number
ES2320806T3
ES2320806T3 ES06777942T ES06777942T ES2320806T3 ES 2320806 T3 ES2320806 T3 ES 2320806T3 ES 06777942 T ES06777942 T ES 06777942T ES 06777942 T ES06777942 T ES 06777942T ES 2320806 T3 ES2320806 T3 ES 2320806T3
Authority
ES
Spain
Prior art keywords
mode
memory
internal
start state
comparison
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES06777942T
Other languages
English (en)
Inventor
Reinhard Weiberle
Bernd Mueller
Eberhard Boehl
Yorck Collani
Rainer Gmehlich
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Application granted granted Critical
Publication of ES2320806T3 publication Critical patent/ES2320806T3/es
Anticipated expiration legal-status Critical
Active 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

Procedimiento para la determinación de un estado de inicio en un sistema de ordenador con, al menos, dos unidades de ejecución (C100, C310, C320, C410, C420), en el cual se conmuta entre un modo de rendimiento y un modo de comparación, y en la conmutación del modo de rendimiento al modo de comparación se genera un mismo estado de inicio interno de las unidades de ejecución (C100, C310, C320, C410, C420) para el modo de comparación, caracterizado porque las memorias, o las áreas de memoria (C101, C102, C104, C311, C321, C411, C421), de las unidades de ejecución (C100, C310, C320, C410, C420) que, potencialmente, deben ser adaptadas para el estado interno de inicio, son provistas de una identificación que indica si los datos y/o las órdenes en estas memorias, o en estas áreas de memoria, (C101, C102, C104, C311, C321, C411, C421) deben ser adaptadas o no deben ser adaptadas para el estado de inicio.

Description

Procedimiento y dispositivo para determinar un estado de inicio en un sistema de ordenador con, al menos, dos unidades de ejecución, a través del marcado de registros.
Estado de la técnica
La presente invención parte de un procedimiento y un dispositivo para conmutar entre, al menos, dos modos de funcionamiento de un microprocesador con, al menos, dos unidades de ejecución de segmentos de programa acorde al término genérico de las reivindicaciones independientes.
Fallas transientes, originadas por partículas alfa o radiación cósmica, son un problema creciente para circuitos integrados. Debido a los tamaños cada vez más menguantes en la estructura, tensiones decrecientes y mayores frecuencias, se incrementa la probabilidad de que una punta de tensión, originada por partículas alfa o radiación cósmica, falsifique un valor lógico en un circuito integrado. Como consecuencia, se puede obtener un resultado de cálculo falso. Por ello, en sistemas en los cuales es relevante la seguridad, deben detectarse de manera confiable dichas fallas.
En el caso de sistemas en los cuales es relevante la seguridad, por ejemplo, un sistema de regulación ABS en un vehículo, en el cual deben detectarse de manera segura los funcionamientos fallidos de la electrónica, usualmente se prevén redundancias para el reconocimiento de fallas, precisamente en los dispositivos de mando correspondientes de tales sistemas. Por ejemplo, en sistemas ABS conocidos, está duplicado el microcontrolador completo, asimismo, todas las funciones ABS se calculan de manera redundante y se verifica su coincidencia. Si se presenta una discrepancia en los resultados se apaga el sistema ABS.
Este tipo de unidades de procesador también se conocen como arquitecturas dual-core o multi-core (doble núcleo o multi-núcleo). Los diferentes core ejecutan el mismo segmento de programa, de manera redundante y sincronizada, y los resultados de ambos core son comparados. En la comparación, que verifica su coincidencia, se reconoce una falla. En adelante, esta configuración se denomina modo de comparación. Las arquitecturas dual-core o multi-core también se implementan en otras aplicaciones, también para incrementar la potencia, es decir, para un incremento del rendimiento. Ambos core ejecutan diferentes segmentos de programa, por lo cual se puede obtener un incremento de la potencia, en comparación con el modo de comparación o un sistema single core. Esta configuración se denomina modo de potencia o modo de rendimiento. En caracterizaciones especiales con los mismos core, este sistema también se denomina sistema multiprocesador simétrico (SMP). Una ampliación de estos sistemas es una conmutación mediante software entre estos dos modos, mediante un acceso a una dirección especial, y dispositivos de hardware especializados. En el modo de comparación, se comparan entre sí las señales de salida de los core. En el modo de rendimiento, ambos core trabajan como un sistema multiprocesador simétrico (SMP) y ejecutan diferentes programas, segmentos de programa u órdenes.
Por la memoria US 6615366 B1 ya se conoce un ordenador multiprocesador que presenta un modo de comparación y un modo de rendimiento.
Ventajas de la invención
En los microprocesadores descritos en el estado de la técnica, antes de conmutar del modo de rendimiento al modo de comparación, se deben adaptar los estados internos (registros, pipelines, etc.) de las unidades de ejecución. En el caso de una unidad de ejecución con muchos registros, esto puede demandar relativamente mucho tiempo de cálculo y prolongar un cambio de modo del modo de rendimiento al modo de comparación. El procedimiento usual para la adaptación de los estados de las unidades de ejecución consiste en que todos los registros en las unidades de ejecución se lleven al valor cero o que su contenido se marque como no válido.
La tarea de la invención es acortar este cambio del modo de rendimiento al modo de comparación. Los ejemplos de ejecución aquí descritos presentan la ventaja, respecto del estado actual de la técnica, de que posibilitan una conmutación más rápida entre el modo de rendimiento y el modo de comparación, dado que, mediante el procedimiento acorde a la invención, los registros de las unidades de ejecución pueden ser inicializadas rápidamente, según el modo que integran.
Se aspira a un procedimiento para determinar un estado de inicio en un sistema de ordenador con, al menos, dos unidades de ejecución, en el cual se conmuta entre un modo de rendimiento y un modo de comparación y en la conmutación del modo de rendimiento al modo de comparación se genera un mismo estado de inicio interno de las unidades de ejecución para el modo de comparación, caracterizado porque las memorias, o las áreas de memoria internas que, potencialmente, deben ser adaptadas para el estado de inicio, son provistas de una identificación que indica si los datos y/o las órdenes en estas memorias, o en estas áreas de memoria, deben ser adaptadas o no deben ser adaptadas para el estado de inicio. Ventajosamente, en el estado de inicio, al menos una memoria, o área de memoria, de la unidad de ejecución respectiva, es ocupada con, al menos, un valor predeterminable, si la identificación así lo indica. Ventajosamente, el estado de inicio generado por una primera unidad de ejecución es copiado en un área de memoria, y una segunda unidad de ejecución adopta este estado de inicio generado de esta área de memoria, si la identificación lo indica. Ventajosamente, el estado de inicio generado por una primera unidad de ejecución es copiado por una segunda unidad de ejecución a través de un canal de comunicación especial en, al menos, una memoria, o un área de memoria, si la identificación lo indica. Es ventajoso prever una memoria inicial, o un área de memoria inicial, e indicar en ella cuál de las memorias o áreas de memoria deben ser adaptadas para el estado de inicio. Es ventajoso prever un registro o un juego de registros, e indicar, en él, cuál de las memorias o áreas de memoria deben ser adaptadas para el estado de inicio. Es ventajoso prever una memoria o un área de memoria inicial, e indicar, en ella, cuál de las memorias o áreas de memoria no deben ser adaptadas para el estado de inicio. Es ventajoso prever un registro o un juego de registros, e indicar, en él, cuál de las memorias o áreas de memoria no deben ser adaptadas para el estado de inicio. Se aspira a un dispositivo para determinar un estado de inicio en un sistema de ordenador que contiene, al menos, dos unidades de ejecución, en el cual se conmuta entre un modo de rendimiento y un modo de comparación, y en la conmutación del modo de rendimiento al modo de comparación se genera un mismo estado de inicio interno de las unidades de ejecución para el modo de comparación, caracterizado porque contiene, al menos, una memoria, o área de memoria, asignada a una unidad de ejecución, acondicionadas de modo tal que ésta, si debe ser potencialmente adaptada para el estado de inicio, puede estar provista de una identificación que indica si los datos y/o las órdenes en estas memorias, o en estas áreas de memoria, deben ser adaptadas o no deben ser adaptadas para el estado de inicio. En el caso de la memoria o área de memoria, se trata, ventajosamente, de un registro. Es ventajoso prever una memoria inicial o un área de memoria inicial, acondicionada de modo tal que en ella se indique cuál de las memorias o áreas de memoria deben ser adaptadas para el estado de inicio. Es ventajoso prever un registro o un juego de registros, acondicionado de modo tal que en él se indique cuál de las memorias, o áreas de memoria, deben ser adaptadas para el estado de inicio. Es ventajoso prever una memoria inicial o un área de memoria inicial, acondicionada de modo tal que en ella se indique cuál de las memorias, o áreas de memoria, no deben ser adaptadas para el estado de inicio. Es ventajoso prever un registro o un juego de registros, acondicionado de modo tal que en él se indique cuál de las memorias, o áreas de memoria, no deben ser adaptadas para el estado de inicio.
Otras ventajas y acondicionamientos ventajosos se desprenden de las características de las reivindicaciones, así como de la descripción.
Figuras
La figura 1 muestra la construcción general de un procesador con dos unidades de ejecución y una unidad de comparación.
La figura 2 muestra una posible construcción de una unidad de ejecución, con dos juegos diferentes de registro y la lógica de procesamiento.
La figura 3 muestra una posible construcción de una unidad de ejecución con dos grupos diferentes de registro y la lógica de procesamiento. Los juegos de registro están, a su vez, subdivididos en dos grupos diferentes.
La figura 4 muestra dos unidades de ejecución con sus registros internos, una memoria intermedia y una comunicación entre las unidades de ejecución para la transmisión de estados internos.
La figura 5 muestra dos unidades de ejecución con sus registros internos y una memoria intermedia para la lectura de los estados internos para el estado de inicio del modo de comparación.
La figura 6 muestra la construcción de un registro con datos de uso y de control.
La figura 7 muestra un multiprocesador con dos unidades de ejecución, así como los registros internos de las unidades de ejecución.
La figura 8 muestra un multiprocesador con dos unidades de ejecución, sus registros internos así como un registro especial.
Descripción de los ejemplos de ejecución
Algunas unidades en las figuras poseen el mismo número, pero están identificadas, adicionalmente, con a o b. Si se indica el número sin el agregado de a o b, se hace referencia a una de las unidades presentes pero a ninguna instancia especial. Si sólo se hace referencia a una instancia determinada de una unidad, se le agrega siempre la identificación a o b al número.
Como unidad de ejecución, se puede indicar, en adelante, tanto un procesador, un core, una CPU, como así también una FPU (floating point unit, o unidad de punto flotante), un DSP (procesador de señales digital), un procesador core o una ALU (unidad lógica aritmética).
En la figura 1 está representado un sistema de procesador C1000, que puede conmutar entre un modo de comparación y un modo de rendimiento, que consiste en dos unidades de ejecución C100a y C100b. En un ejemplo de ejecución preferido, las unidades de ejecución son idénticas. Ambas unidades de ejecución C100a y C100b poseen, respectivamente, una interfaz C110a o C110b para el bus de sistema, a través de la cual se lleva a cabo el acceso, por ejemplo, a medios de almacenamiento como, por ejemplo, RAM, ROM, Flash o a unidades periféricas. Si el sistema de procesador C1000 se encuentra en el modo de comparación, las señales de salida de las unidades de ejecución C100a, C100b son comparadas entre si a través de la unidad C120. Esta comparación se lleva a cabo, preferentemente, de manera sincronizada o con un desplazamiento fijo de frecuencia, esto significa que en cada paso las señales de salida de, al menos, dos unidades de ejecución C100a, C100b son comparadas por la unidad C120. Si existe una diferencia entre las señales comparadas, entonces se genera una señal de falla por parte de la unidad C120. Opcionalmente, también pueden compararse las señales de entrada de las unidades de ejecución C100a y C100b. Si el sistema de procesador C1000 se encuentra en el modo de rendimiento, la unidad de comparación C120 no está activa y no se genera una señal de falla en el caso de diferencias en las señales de salida. La desactivación de la unidad de comparación puede realizarse de diferentes maneras: No se lleva a cabo una comparación por parte de la unidad C120. No se aplican señales para la comparación en la unidad C120. Se lleva a cabo una comparación por parte de la unidad C120, pero el resultado es ignorado.
En el cambio del modo de rendimiento al modo de comparación se debe asegurar que el estado interno de ambas unidades de ejecución C100a y C100b sea idéntico al iniciar el modo de comparación, es decir, en el momento en el cual se activa el comparador C120. En adelante denominaremos estado de inicio al estado del comienzo del modo de comparación, a partir del cual se inician los cálculos en el modo de comparación. Es necesario que los estados en las unidades de ejecución sean idénticos para que, en el caso libre de fallas, en ningún momento presenten diferencias las señales comparadas por C120 en el modo de comparación. Diferentes estados de las unidades de ejecución en el modo de comparación, en general, provocarán que se genere una señal de salida diferente. Estas señales de salida diferentes serían detectadas como fallas por parte del comparador, aunque se trate de las mismas señales de entrada y no se haya presentado ninguna falla detectable en el procesamiento.
Una manera de alcanzar el mismo estado en ambas unidades de ejecución a comienzos del modo de comparación, es marcar como no válidos todos los registros internos en las unidades de ejecución. Pero esta posibilidad de marcas no existe en todos los registros. Éstos deben ser llevados entonces a un valor definido, idéntico en ambas unidades de ejecución.
En un primer modo de ejecución, representado en la figura 2, se describe una conmutación entre dos juegos de registro. En la figura 2 se describe una posible implementación de la unidad de ejecución C100. Contiene, al menos, dos diferentes grupos de registros C101 y C102, y una lógica interna C103. El grupo de registros C101 puede ser marcado como no válido. Esto significa que la lógica interna C103 de la unidad de ejecución reconoce, al acceder a un registro marcado como no válido de este grupo, que el contenido para este registro debe ser determinado nuevamente; por ejemplo, recargando desde la RAM, ROM, Flash o a través de un nuevo cálculo. Los registros del otro grupo C102 siempre tienen un contenido válido. Los registros de trabajo de una unidad de ejecución pertenecen, por ejemplo, a este grupo.
Como ya hemos mencionado, si se lleva a cabo un cambio del modo de rendimiento al modo de comparación, estos registros, de C101 y C102, en ambas unidades de ejecución C100, deben ser idénticos.
No es necesario para los grupos de registro C101, C102 que esta condición esté vigente desde el momento de la conmutación del modo de rendimiento al modo de comparación, pero sí a más tardar en el primer acceso de lectura a dos registros idénticos en las unidades de ejecución C100, tras conmutar al modo de comparación. Un procedimiento usual consiste en asignarles a tiempo, a todos los registros del grupo C102, un valor fijo, antes de la conmutación al modo de comparación. Independientemente de ello, en una conmutación al modo de comparación, los registros del grupo C101 son marcados como no válidos.
Si una unidad de ejecución C100 está constituida como en la figura 3, acorde a C100c, en cada una de las unidades de ejecución, este procedimiento puede acelerarse implementado dos juegos de registro C101a, C 102a y C101b, C102b. En lugar de adaptar los registros antes, durante o después de la conmutación, se utilizan diferentes registros en el modo de rendimiento y en el modo de comparación. En el modo de comparación se utilizan los registros del grupo C101a y C102a, mientras que en el modo de rendimiento se utilizan los registros del grupo C101b y C102b. Entre estos juegos de registro se conmuta en el momento de la conmutación al modo de comparación o al modo de rendimiento. Si para el registro 101a y 102a se ha asegurado que el contenido es idéntico, por ejemplo, mediante una correspondiente inicialización al encender el procesador, entonces estos registros también permanecen iguales durante el funcionamiento en ambas unidades de ejecución. De este modo, en una conmutación del modo de rendimiento al modo de comparación, no es necesario efectuar una adaptación de los contenidos de los registros, dado que en el modo de comparación se accede siempre solamente a los registros idénticos entre ambas unidades de ejecución C100a y C100b y que sólo pueden ser descritas en el modo de comparación.
Otra posibilidad de aceleración del proceso de conmutación, del modo de rendimiento al modo de comparación, se muestra en la figura 4. Ella consiste en copiar el estado interno C104d o C 104e, respectivamente, de una unidad de ejecución C 100d, C 100e, a otra unidad de ejecución C100d o C100e. Durante el funcionamiento, en una conmutación del modo de rendimiento al modo de comparación, usualmente estará disponible una unidad de ejecución antes que la otra unidad de ejecución para una conmutación. Si los registros internos de una unidad de ejecución (C104d, en el caso de C100d, y C104e, en el caso de C100e), que está disponible antes, son inicializados a los valores requeridos por el modo de comparación, entonces el estado interno de una segunda unidad de ejecución, temporalmente posterior, puede ser adaptado, adoptando el estado de la primera unidad de ejecución. Si, por ejemplo, la unidad de ejecución C100d ya está disponible antes que la unidad de ejecución C100e para una conmutación, entonces, durante la conmutación se copia el estado de C104d a C104e.
Este copiado del estado interno puede llevarse a cabo utilizando directamente una comunicación C300 entre ambas unidades de ejecución, a través de la cual se copia el estado interno. De modo alternativo, el estado puede ser copiado de una primera unidad de ejecución temporalmente anterior a una memoria intermedia (de conexión rápida) C200 desde la cual una segunda unidad de ejecución, temporalmente posterior, adopta el estado del registro interno.
En otro modo de ejecución, representado en la figura 5, se describe la inicialización de los estados internos para el modo de comparación, copiando los contenidos de los registros de un área de memoria con conexión rápida. Se presupone, en este caso, que al iniciar el modo de rendimiento el estado interno C104f, C104g de las, al menos, dos unidades de ejecución C100f, C100g, siempre se lleva exactamente a un valor definido. Este valor está almacenado en una memoria C400, que posee una conexión lo más rápida posible a las unidades de ejecución C100f, C100g y, con ello, a los registros C104f, C104g. Esta memoria es, preferentemente, no volátil. Pero también es posible una memoria volátil, si durante la inicialización del sistema multiprocesador, el estado de inicialización almacenado en la memoria para el modo de rendimiento o bien es copiado desde una memoria no volátil, es recibido de una fuente de datos externa, o es generado por el sistema de multiprocesador. Para la conmutación del modo de rendimiento al modo de comparación, se escribe el estado de inicialización, almacenado en la memoria C400, para el modo de comparación, en el registro C104f, C104g de las, al menos, dos unidades de ejecución C100f, C100g, que deben ser accionadas en el modo de comparación.
En otro modo de ejecución, se marcan estados parciales que no deben ser adaptados durante una conmutación al modo de comparación, entre las unidades de ejecución. No siempre es necesario adaptar todos los registros de las unidades de ejecución durante una conmutación del modo de rendimiento al modo de comparación. Para que en el modo de comparación no se reconozca equivocadamente una falla, sólo deben ser adaptados aquellos registros de una unidad de ejecución con los registros de una segunda unidad de ejecución, que se utilicen realmente en el modo de comparación. Este es el caso, sobre todo, en el caso de arquitecturas que prevén una gran cantidad de registros en las unidades de ejecución, o bien, puede ser tenido en cuenta en el desarrollo de software como condición secundaria. En cualquier caso puede ser determinada la cantidad de registros utilizada en un modo de comparación. En el caso de que no se utilicen todos, no es necesario adaptar todos los registros, sino sólo los utilizados. Por ello se propone prever bits adicionales en cada registro. En estos bits se puede codificar si el contenido de este registro debe ser adaptado o no al correspondiente registro de las otras unidades de ejecución durante la conmutación de un modo de rendimiento a un modo de comparación. De modo alternativo, puede existir un registro especial cuyo contenido defina qué registro de una unidad de ejecución debe ser adaptado al registro correspondiente de las demás unidades de ejecución. La adaptación misma puede llevarse a cabo independientemente de las marcaciones a través de los procedimientos conocidos o presentados aquí.
La figura 7 muestra un sistema de procesador C300 con múltiples unidades de ejecución C310, C320 con sus registros C311, C321. Cada registro de C311, C321 consiste en n bits (n > 1) con datos de uso (representado en la figura 6 C2010). Adicionalmente a cada uno de estos n bits, se agregan m Bits (m >= 1) con datos de control (representado en la figura 6 C2000). En estos bits "m" está codificado si se lleva a cabo una adaptación durante el cambio al modo de comparación. Si los bits de control consisten, en el caso más simple, en un solo bit, un valor cero significa, por ejemplo, que debe no llevarse a cabo una adaptación, y un valor de uno, que se debe llevar a cabo una adaptación. La evaluación de estos bits se lleva a cabo durante la conmutación del modo de rendimiento al modo de comparación.
La figura 8 muestra otro modo de ejecución de la invención con un sistema de procesador C400, que comprende unidades de ejecución C410, C420 con sus registros C411, C422. El sistema de procesador C400 contiene, adicionalmente un registro C430. El contenido de este registro C430 define cuales registros de C411, C421 de las unidades de ejecución C410, C420 deben ser adaptados en el caso de un cambio al modo de comparación. Por ejemplo, el registro C430 puede ser realizado de tal manera que, para cada registro potencialmente adaptable de C411, C421, esté previsto un bit en C430. Si está puesto el bit correspondiente, debe adaptarse el registro correspondiente, si el bit no está puesto, no debe adaptarse el registro correspondiente. La evaluación de este registro se lleva a cabo durante la conmutación del modo de rendimiento al modo de comparación. En otro modo de ejecución, no representado en una figura, no se prevé un registro central C430, como representado en la figura 8, sino que se prevé un registro en cada unidad de ejecución que percibe la tarea del registro C430. Esto significa que en este registro se codifica cuál de los registros de la unidad de ejecución deben ser adaptados a los registros de, al menos, una segunda unidad de ejecución, durante la conmutación del modo de rendimiento. Pero en el caso de una conmutación de un modo de rendimiento a un modo de comparación se debe asegurar entonces que los contenidos de este registro especial sean idénticos en todas las unidades de ejecución por sincronizar.

Claims (14)

1. Procedimiento para la determinación de un estado de inicio en un sistema de ordenador con, al menos, dos unidades de ejecución (C100, C310, C320, C410, C420), en el cual se conmuta entre un modo de rendimiento y un modo de comparación, y en la conmutación del modo de rendimiento al modo de comparación se genera un mismo estado de inicio interno de las unidades de ejecución (C100, C310, C320, C410, C420) para el modo de comparación, caracterizado porque las memorias, o las áreas de memoria (C101, C102, C104, C311, C321, C411, C421), de las unidades de ejecución (C100, C310, C320, C410, C420) que, potencialmente, deben ser adaptadas para el estado interno de inicio, son provistas de una identificación que indica si los datos y/o las órdenes en estas memorias, o en estas áreas de memoria, (C101, C102, C104, C311, C321, C411, C421) deben ser adaptadas o no deben ser adaptadas para el estado de inicio.
2. Procedimiento acorde a la reivindicación 1, caracterizado porque para el estado de inicio, al menos una memoria, o área de memoria (C101, C102, C104, C311, C321, C411, C421), de la unidad de ejecución respectiva (C100, C310, C320, C410, C420), es ocupada con, al menos, un valor predeterminable si la identificación así lo indica.
3. Procedimiento acorde a la reivindicación 1, caracterizado porque el estado de inicio generado por una primera unidad de ejecución (C100, C310, C320, C410, C420) es copiado en un área de memoria, y una segunda unidad de ejecución (C100, C310, C320, C410, C420) adopta este estado de inicio, generado de esta área de memoria, si la identificación lo indica.
4. Procedimiento acorde a la reivindicación 1, caracterizado porque el estado de inicio generado por una primera unidad de ejecución (C100, C310, C320, C410, C420) es copiado por una segunda unidad de ejecución (C100, C310, C320, C410, C420) a través de un canal de comunicación especial en, al menos, una memoria, o un área de memoria, interna (C101, C102, C104, C311, C321, C411, C421) si la identificación lo indica.
5. Procedimiento acorde a la reivindicación 1, caracterizado porque está prevista una memoria inicial o un área de memoria inicial, y en ella se indica cuál de las memorias, o áreas de memoria, internas (C101, C102, C104, C311, C321, C411, C421) deben ser adaptadas para el estado de inicio.
6. Procedimiento acorde a la reivindicación 1, caracterizado porque está previsto un registro o un juego de registros y en él se indica cuál de las memorias, o áreas de memoria, internas (C101, C102, C104, C311, C321, C411, C421) deben ser adaptadas para el estado de inicio.
7. Procedimiento acorde a la reivindicación 1, caracterizado porque está prevista una memoria inicial o un área de memoria inicial, y en ella se indica cuál de las memorias, o áreas de memoria, internas (C101, C102, C104, C311, C321, C411, C421) no deben ser adaptadas para el estado de inicio.
8. Procedimiento acorde a la reivindicación 1, caracterizado porque está previsto un registro o un juego de registros y en él se indica cuál de las memorias, o áreas de memoria, internas (C101, C102, C104, C311, C321, C411, C421) no deben ser adaptadas para el estado de inicio.
9. Dispositivo para la determinación de un estado de inicio en un sistema de ordenador con, al menos, dos unidades de ejecución (C100, C310, C320, C410, C420), en el cual se conmuta entre un modo de rendimiento y un modo de comparación, y en la conmutación del modo de rendimiento al modo de comparación se genera un mismo estado de inicio interno de las unidades de ejecución para el modo de comparación, caracterizado porque en las unidades de ejecución (C100, C310, C320, C410, C420) se encuentra, al menos, una memoria, o área de memoria, interna (C101, C102, C104, C311, C321, C411, C421), acondicionadas de modo tal que ésta, si debe ser potencialmente adaptada para el estado de inicio, es provista de una identificación que indica si los datos y/o las órdenes en estas memorias, o en estas áreas de memoria, internas (C101, C102, C104, C311, C321, C411, C421) deben ser adaptadas o no deben ser adaptadas para el estado de inicio.
10. Dispositivo acorde a la reivindicación 9, caracterizado porque, en el caso de la memoria, o área de memoria, interna (C101, C102, C104, C311, C321, C411, C421), se trata de, al menos, un registro.
11. Dispositivo acorde a la reivindicación 9, caracterizado porque contiene una memoria inicial o un área de memoria inicial, configurada de modo tal que en ella se indica cuál de las memorias, o áreas de memoria, internas (C101, C102, C104, C311, C321, C411, C421) deben ser adaptadas para el estado de inicio.
12. Dispositivo acorde a la reivindicación 9, caracterizado porque contiene un registro o un juego de registros, configurado de modo tal que en él se indica cuál de las memorias, o áreas de memoria, internas (C101, C102, C104, C311, C321, C411, C421) deben ser adaptadas para el estado de inicio.
13. Dispositivo acorde a la reivindicación 9, caracterizado porque contiene una memoria inicial o un área de memoria inicial, configurada de modo tal que en ella se indica cuál de las memorias, o áreas de memoria, internas (C101, C102, C104, C311, C321, C411, C421) no deben ser adaptadas para el estado de inicio.
14. Dispositivo acorde a la reivindicación 9, caracterizado porque contiene un registro o un juego de registros, configurado de modo tal que en él se indica cuál de las memorias, o áreas de memoria, internas (C101, C102, C104, C311, C321, C411, C421) no deben ser adaptadas para el estado de inicio.
ES06777942T 2005-08-08 2006-07-25 Procedimiento y dispositivo para determinar un estado de inicio en un sistema de ordenador con al menos, dos unidades de ejecucion, a traves del marcado de registros. Active ES2320806T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005037226A DE102005037226A1 (de) 2005-08-08 2005-08-08 Verfahren und Vorrichtung zur Festlegung eines Startzustandes bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten durch markieren von Registern
DE102005037226 2005-08-08

Publications (1)

Publication Number Publication Date
ES2320806T3 true ES2320806T3 (es) 2009-05-28

Family

ID=37605812

Family Applications (1)

Application Number Title Priority Date Filing Date
ES06777942T Active ES2320806T3 (es) 2005-08-08 2006-07-25 Procedimiento y dispositivo para determinar un estado de inicio en un sistema de ordenador con al menos, dos unidades de ejecucion, a traves del marcado de registros.

Country Status (8)

Country Link
US (1) US20100011183A1 (es)
EP (1) EP1915686B1 (es)
JP (1) JP2009505179A (es)
CN (1) CN101243405A (es)
AT (1) ATE425493T1 (es)
DE (2) DE102005037226A1 (es)
ES (1) ES2320806T3 (es)
WO (1) WO2007017371A2 (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5507830B2 (ja) * 2008-11-04 2014-05-28 ルネサスエレクトロニクス株式会社 マイクロコントローラ及び自動車制御装置
JP2010198131A (ja) * 2009-02-23 2010-09-09 Renesas Electronics Corp プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法
US10158873B2 (en) 2011-11-30 2018-12-18 Qualcomm Incorporated Depth component removal for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
CN106502811B (zh) * 2016-10-12 2020-03-24 北京精密机电控制设备研究所 一种1553b总线通信故障处理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953742A (en) * 1996-07-01 1999-09-14 Sun Microsystems, Inc. Memory management in fault tolerant computer systems utilizing a first and second recording mechanism and a reintegration mechanism
US6272616B1 (en) * 1998-06-17 2001-08-07 Agere Systems Guardian Corp. Method and apparatus for executing multiple instruction streams in a digital processor with multiple data paths
JP2000181738A (ja) * 1998-12-18 2000-06-30 Fujitsu Ltd 二重化システム及びメモリ制御方法
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US6640313B1 (en) * 1999-12-21 2003-10-28 Intel Corporation Microprocessor with high-reliability operating mode
US6772368B2 (en) * 2000-12-11 2004-08-03 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
US7085959B2 (en) * 2002-07-03 2006-08-01 Hewlett-Packard Development Company, L.P. Method and apparatus for recovery from loss of lock step
US20070277023A1 (en) * 2003-06-24 2007-11-29 Reinhard Weiberle Method For Switching Over Between At Least Two Operating Modes Of A Processor Unit, As Well Corresponding Processor Unit
EP1812857B1 (de) * 2004-10-25 2008-09-03 Robert Bosch Gmbh Vorrichtung und verfahren zur modusumschaltung bei einem rechnersystem mit wenigstens zwei ausführungseinheiten

Also Published As

Publication number Publication date
DE502006003116D1 (de) 2009-04-23
ATE425493T1 (de) 2009-03-15
DE102005037226A1 (de) 2007-02-15
EP1915686A2 (de) 2008-04-30
WO2007017371A3 (de) 2007-04-26
WO2007017371A2 (de) 2007-02-15
CN101243405A (zh) 2008-08-13
JP2009505179A (ja) 2009-02-05
EP1915686B1 (de) 2009-03-11
US20100011183A1 (en) 2010-01-14

Similar Documents

Publication Publication Date Title
JP7665811B2 (ja) 作業負荷の繰り返し冗長化
US8560761B2 (en) Memory resource management for a flash aware kernel
US8458393B2 (en) Flash memory and operating system kernel
US8745311B2 (en) Flash memory usability enhancements in main memory application
US6820177B2 (en) Protected configuration space in a protected environment
US20140229661A1 (en) Operating system based dram and flash management
ES2666580T3 (es) Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento
KR100327854B1 (ko) 캐시메모리시스템
KR900016868A (ko) 캐시용 고장진단 모드
BR9911409A (pt) Sistema virtual para armazenamento de dados (vds)
US20090150645A1 (en) Data processing apparatus and address space protection method
US20030065909A1 (en) Deferral of dependent loads until after execution of colliding stores
CN103635877A (zh) 乱序处理器中的分支目标存储与检索
US8019946B2 (en) Method and system for securing instruction caches using cache line locking
DE69901255D1 (de) Mehrprozessorsystem brücke mit zugriffskontrollierung
CN1097781C (zh) 后台操作模式下透明操作的数据处理器及其实现的方法
US20070282967A1 (en) Method and system of a persistent memory
JP2006091972A (ja) バスシステム及び半導体集積回路
US7185148B2 (en) Read access and storage circuitry read allocation applicable to a cache
ES2320806T3 (es) Procedimiento y dispositivo para determinar un estado de inicio en un sistema de ordenador con al menos, dos unidades de ejecucion, a traves del marcado de registros.
JP2010079765A (ja) 情報処理装置
CN110574343A (zh) 用于保护车辆安全系统的操作系统的方法和半导体电路
US20050060602A1 (en) Memory system with error detection device
US6813191B2 (en) Microcomputer with nonvolatile memory protected against false erasing or writing
JP6632416B2 (ja) 共有メモリ制御回路及び共有メモリ制御方法