MXPA02006214A - Procesador de modo doble. - Google Patents

Procesador de modo doble.

Info

Publication number
MXPA02006214A
MXPA02006214A MXPA02006214A MXPA02006214A MXPA02006214A MX PA02006214 A MXPA02006214 A MX PA02006214A MX PA02006214 A MXPA02006214 A MX PA02006214A MX PA02006214 A MXPA02006214 A MX PA02006214A MX PA02006214 A MXPA02006214 A MX PA02006214A
Authority
MX
Mexico
Prior art keywords
processor
memory
mode
data
modes
Prior art date
Application number
MXPA02006214A
Other languages
English (en)
Inventor
Brant Candelore
Original Assignee
Gen Instrument Corp
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 Gen Instrument Corp filed Critical Gen Instrument Corp
Publication of MXPA02006214A publication Critical patent/MXPA02006214A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Abstract

Un circuito de procesamiento de modo multiple, tal como el procesador de modo dual (5) opera, en al menos un primer y segundo modos de acuerdo a un conmutador (10). Cuando un modo esta activo, ocurre la transferencia de datos entre el procesador y la memoria respectiva. De este modo, pueden ser ejecutadas las instrucciones de la memoria en el procesador, y los resultados pueden ser almacenados en la memoria respectiva. Por ejemplo, la primer y segunda memorias (14, 54), pueden ser proporcionadas para el primer y segundo modos (10, 50), respectivamente. Las memorias son separadas, y no puede ocurrir transferencia de datos entre las memorias directamente via el procesador. El primer modo (10) puede ser un modo seguro para asegurar las operaciones de procesamiento, tales como proporcionar acceso condicional para servicios de programacion de television en la terminal de abonado superior. El segundo modo (50) puede ser un medio no seguro, tal como para proporcionar cualquier otra aplicacion en la terminal, por ejemplo la guia de programacion, servicio de compras en el hogar, etc. En una modalidad, se proporciona un canal de datos para transferir datos multiplexados por tiempo entre el procesador y las memorias respectivas. En otra modalidad, se proporciona la conmutacion de registros internos individuales y elementos externos tales como direcciones y cierres de datos.

Description

PROCESADOR DE MODO DOBLE ANTECEDENTES DE LA INVENCION La presente invención se relaciona con un circuito que tiene un procesador de modo múltiple, tal como un procesador de modo doble. El procesador es particularmente adecuado para proporcionar control de acceso seguro en una terminal digital para una red de televisión de abonado o suscriptor. - En el mercado actual, existen presiones económicas para agregar funcionalidad y reducir el costo de productos electrónicos de consumo. Esto es particularmente cierto para productos tales como la terminal superior, también referida como Receptor-Decodificador Integrado (IRD), o terminal de abonado o suscriptor, que recibe y decodifica señales de televisión para ser presentadas por una televisión. Las señales pueden ser proporcionadas sobre un satélite, a través de una planta de cable, o por medio de una emisión de red terrestre, por ejemplo. Un determinante de los costos totales es el número de componentes que constituyen al producto. Una forma de reducir los componentes es: combinar funciones que normalmente eran efectuadas por dos o más Circuitos . Integrados (IC) en un IC. Esto se aplica a matrices que tienen procesadores incluidos. Por ejemplo, están disponibles ambas matrices que tienen una memoria y una Unidad de Procesamiento Central (CPU) . Además, otra forma de incrementar la funcionalidad es a través de una utilización más eficiente de los elementos del circuito. Las velocidades de reloj cada vez más grandes de las implementaciones de microprocesadores permiten que se logre procesar cada vez más en la misma cantidad de tiempo por el mismo número de componentes. Esto permite que los productos tengan más características y respondan más a las necesidades del consumidor. El incremento de las velocidades de reloj también permite a un solo procesador manejar aplicaciones múltiples. Combinando aplicaciones que funcionan en procesadores múltiples, de modo que "puedan funcionar en un solo procesador, la funcionalidad de un circuito individual se incrementa, y el número de componentes disminuye. Sin embargo, combinar aplicaciones no es una tarea trivial, especialmente con aplicaciones de procesador incluido, debido a que el sistema operativo, una estructura de código, temporización e interrupción de interdependencias de proceso cambian todas con frecuencia cuando se funden aplicaciones. El código incluido con la funcionalidad combinada usualmente debe ser rediseñado completamente .
En computadoras personales, sistemas operativos sofisticados como el Windows (mr) pueden tener aplicaciones múltiples, usualmente sin interferir, que funcionan simultáneamente.- Pero, el ambiente de computadora personal tiene una gran cantidad de estandarización tanto en términos de los componentes físicos de computación como de los programas y sistemas de programación. Los programadores pueden describir aplicaciones que se espera utilicen las rutinas de servicio del sistema operativo y componentes físicos de computación comunes. Las aplicaciones incluidas, sin embargo, típicamente no se benefician de un sistema operativo estándar o de la materia de una plataforma de componentes físicos de computación común. Pero, aún en el ambiente de un sistema operativo desarrollado de la computadora personal, una aplicación puede fallar, haciendo de este modo que todo el sistema se debilite o "cuelgue", lo cual necesita el reinicio o reajuste de todo el sistema. También es posible que un programa pobremente escrito o un programa malicioso tal como un "virus" se sobrescribe sobre otra aplicación en la memoria. Esos programas virulentos pueden evitar típicamente cualquier partición de administración de memoria disponible para el sistema operativo.
Los sistemas operativos. han desarrollado mecanismo de protección para evitar que programas que operan . en un medio de - aplicación de usuario se sobrescriban sobre información del sistema privilegiada. Esos sistemas con frecuencia utilizan un circuito lógico conocido como Unidad de Administración de Memoria (MMU) para evitar que el programa central que se ejecuta en la memoria sea sobrescrito por una aplicación maliciosa que se ejecute en el modo del usuario. En tales sistemas, no existe protección en aplicaciones "_ que se ejecuten simultáneamente. También, el espacio - global es compartido por todas las teorías para evitar la aplicación necesaria de rutina de servicios del sistema y para facilitar el manejo de datos compartidos e interrupciones. También, estructuras tales como la pila pueden_ ser accesibles sin importar en que modo esté sido ejecutado un programa. El código de aplicación puede tener acceso a algunos de los registros para propósitos generales de bajo nivel y delicados que esté utilizando el programa central. Y, tales programas de aplicación pueden tener acceso a archivos de sistema almacenados. En consecuencia, sería deseable proporcionar una forma de combinar aplicaciones incluidas disparadas con mayor facilidad y sin tener que hacer "rediseños" del código.
También sería ventajoso proporcionar un esquema más seguro para permitir que conjuntos independientes de programas se ejecuten en un sistema microprocesador sin interferencia entre sí. El sistema deberá proporcionar un procesador de modo doble con modo de procesamiento seguro y no seguro. El sistema deberá ser implementable en una red de abonado en una televisión. La presente invención proporciona un sistema que tiene las anteriores y otras ventajas.
SUMARIO DE LA INVENCION Un circuito de procesamiento de modo múltiple, tal como un procesador de modo doble, opera en al menos un primer y segundo modos de acuerdo a un conmutador. Cuando está activo un modo, corre la transferencia de datos entre el procesador y una memoria respectiva. De este modo, las instrucciones de la memoria pueden ser ejecutadas en el procesador, y los resultados pueden ser almacenados en la memoria respectiva. Por ejemplo, pueden proporcionarse primera y segunda memorias para el primer y segundo modos, respectivamente. Las memorias están separadas, y no puede ocurrir transferencia de datos entre las memorias directamente o vía el procesador.
El primer modo puede ser un modo seguro para asegurar las operaciones de procesamiento, tal como proporcionar acceso condicional a los servicios de programación de televisión en una terminal de abonado superior. El segundo modo puede ser un modo no seguro, tal como para proporcionar cualquier otra aplicación en la terminal, por ejemplo, la guia de programación, servicio de compras en casa, etc. En una modalidad, se proporciona un canal de datos para la transferencia multiplexada pro tiempo de datos entre el procesador _. y las memorias respectivas. En otra modalidad, se proporciona la conmutación de registros internos individuales y elementos externos tales como direcciones y cierres de datos . El procesador puede ser conmutado entre modos basados en diferentes esquemas, incluyendo una relación fija de ciclos de reloj, una relación fija de instrucciones ejecutadas en el procesador y prioridades respectivas de los modos. Además, el primer y segundo modos pueden tener diferentes sistemas operativos respectivos.
BREVE DESCRIPCION DE LOS DIBUJOS La Figura 1 ilustra una vista general de un circuito de procesamiento de modo dual de acuerdo con la presente invención. La Figura 2 ilustra un procesador de modo doble con un circuito de multiplexión de canal de acuerdo con la presente invención. La Figura 3 ilustra un procesador de modo doble con conmutación para controlar individualmente componentes externos de acuerdo con la presente invención . La Figura 4 ilustra un conmutador para seleccionar el primer y segundo modos de un procesador de modo doble de acuerdo con la presente invención.
DESCRIPCION DETALLADA DE LA INVENCION La presente invención se relaciona con un procesador de modo múltiple, tal como un procesador de modo doble. . La Figura 1 ilustra una vista general de un procesador de modo doble de acuerdo con la presente invención . En una modalidad ejemplar, el procesador de modo doble 5 incluye una porción de sistema seguro 10 y una porción de sistema no seguro 50. El sistema seguro 10 incluye registros base, una Memoria de Acceso Aleatoria (RAM) 14, una CPU 16, una Memoria de Sólo Lectura (ROM) 18 y una función de control de programa 20. La RAM 14 puede almacenar el código seguro y claves criptográficas, por ejemplo, para proporcionar acceso condicional a la terminal superior. El sistema no seguro 50 incluye un registro 52 y una RAM 54. El procesador 5 proporciona dos funciones (por ejemplo, funciones segura y no segura) con aislamiento absoluto entre las funciones. Es decir, que cada sistema 10, 50 tiene su propia RAM 14, 54, de este modo no pasa (por ejemplo, se fuga) un solo bit del sistema seguro 10 hacia la RAM 54, y no pasa un solo bit del sistema no seguro 50 a la RAM 14. De este modo, los datos, en la RAM 14 del sistema seguro 10 permanecen seguros puesto que no pueden ser recuperados _datos de éste,._ o proporcionados a éste por el sistema no seguro 50, ya sea directamente o via la CPU 16. El separador de tiempo de los componentes físicos de computación 70 es un medio de conmutación que puede proporcionar un ciclo de trabajo del 50% asignando en la mitad de tiempo a la CPU 16 para los. datos de procesamiento de la RAM 14 del sistema seguro 10, y la otra mitad del tiempo para los datos de la RAM 54 del sistema no seguro 50. Con un ciclo de trabajo del 50' , un procesador de 50 MHz se vería como dos procesadores de 25 MHz. Nótese que puede ser utilizado de manera alternativa un conmutador. Además, cada sistema 10, 50 puede tener un sistema operativo diferente. Las Figura 2 ilustra un procesador de modo doble con un circuito de multiplexión de canal__de acuerdo con la presente invención. Los elementos numerados . de manera similar corresponden los otros en las figuras. El procesador de modo dual 100 incluye un canal de datos interno 105, una fila de espera de instrucciones 110, un decodificador de instrucciones y un codificador de ciclo de máquina 115, y una función de control de temporización y lógica 120, la cual incluye un canal de datos de modo de programa, relojes de retención, interrupción, espera, sincronización de escritura, control y otras funciones de control. _ También se proporcionan una memoria intermedia de datos 125, un selector de moldeo de programa 130 y un control de interrupción 135 y " una función de temporización de modo 140. Como se muestra, la invención duplica ciertos registros de contexto, de modo que el resto del procesador pueda ser utilizarlo en dos modos de operación independientes. El .selector, del modo de programa 130 permite conmutar entre los modos. Un multiplexor de banco de registro 150 incluye dos bancos de registros. Un banco de registro para un primer modo (modo "A" ) en el procesador de modo doble 100 incluye registros para propósitos generales 160, un registro de índice 162, un registro de indicador de pila/dirección de retorno 164, un contador de programa 166, un registro de administració de memoria 168, un registro controlador de memoria intermedia de alta velocidad 170, y un registro de control de interrupción 172. De manera similar, un banco de registro para un segundo modo (modo "B") del procesador de modo doble 100 incluye registros para propósitos generales . 180, un registro de índice 182, un registro de indicador de pila/dirección de retorno 184, un contador de programa 186, un registro de ilustración de memoria 188, un registro controlador de memoria intermedia de alta velocidad 190, y un registro de control de interrupción 192. También se proporcionan una . memoria intermedia de direcciones 194 y un multiplexor de banco de memoria 195, con un banco de memoria A 197 para utilizarse en el primer modo, y un banco de memoria B 198 para utilizarse en el segundo modo.
En esta modalidad de multiplexión de canal, los datos multiplexados por tiempo para ser transportados sobre el canal 105 durante los modos respectivos. La FIGURA 3 ilustra componentes externos para controlar el procesador de modo dual de acuerdo con la presente invención. La figura muestra un ejemplo de uso de la conmutación de modo A/B interna o externamente a un IC, tal como un Circuito Integral Especifico de una Aplicación (ASIC) sobre el cual se proporciona un procesador de modo doble. El espacio de dirección puede ser dividido utilizando los modos A/B. Aquí, cada registro interno individual es conmutado, mientras que en la modalidad de la FIGURA 2, se utiliza un circuito de multiplexión . Un circuito, mostrado de manera general en 300, incluye un procesador de modo dual 305 y el número de componentes externos, incluyendo los cierres de dirección A (350) y B (352) y los cierres de datos A (354) y B (356) . El modo A del procesador tiene el Puerto 1 (358)..., Puerto N (362) ejemplares, y el modo B del procesador tiene el Puerto 1 (360), ... Puerto N (364) ejemplares. Se proporcionan también la memoria A (197) y la memoria B (198) . El procesador de modo doble 305 incluye la instrucción de decodificar y el decodificador de ciclo de máquina 115, un conmutador de tiempo de modo A/B 310 (véanse los detalles del conmutador en la FIGURA 4) , generadores de dirección 315, 317, lineas de instrucción 320, 322, memorias intermedias de datos 325, 327, registros 160, 180, y Memorias Intermedias de Alta Velocidad 170, 190 y Unidades de Administración de Memoria (MMU) 168, 188. Las MMU 168, 188 proporcionan traducción de dirección virtual a física. Las secciones de datos de Instrucciones de la memoria pueden ser definidas. Además, pueden existir registros de control que permitan al usuario privilegiado otorgar selectivamente acceso a varios bloques de memoria a una aplicación que se ejecute en el Modo de Usuario. Una trayectoria 380 transporta una señal de selección de modo A/B que es proporcionada por el conmutador del temporizador de modo A/B 310 para indicar cual modo está siendo actualmente ejecutado. Los generadores de dirección 315, 317 proporcionan direcciones de memoria a los cierres de dirección respectivos 350, 352, cierres los cuales dirigen las operaciones de lectura/escritura en las memorias 197, 198, respectivamente. Las memorias intermedias de datos 325, 327 envían y reciben datos a y de los cierres de datos 354, 365 y los puertos 358, 360,..., 362, 364.
La presente invención permite que dos o más conjuntos dispares de programas, sean ejecutados . por un solo procesador con independencia completa y aislamiento del 100% entre ellos. Para esta discusión, definimos los conjuntos de programas independientes "A" y "B", respectivamente, pero el concepto puede extenderse fácilmente a conjuntos de programas independientes adicionales. Los programas de un conjrunto no pueden tener acceso a programas del otro conjunto ni tener influencia sobre la ejecución de los programas del otro conjunto. Cabe considerarse que cada conjunto de programas tiene su propio sistema operativo con los diferentes programas de aplicación siendo ejecutados concurrentemente. El sistema operativo y los programas de aplicación de .un conjunto no pueden interferir con el otro conjunto. Además, no es posible que el programa del sistema operativo o el programa de aplicación en un conjunto, aún si es escrito con una intención maliciosa, vea otros programas o aprenda cualesquier detalles de los otros programas que se ejecuten en el otro conjunto. Haciendo que los conjuntos de programas A y B compartan los componentes físicos de computación funcionales tales como el DecodificacLor de. Instrucciones y el Circuito Codificador del Ciclo de Máquinas 155, junto con el circuito Lógico de Tempo ización de Control 120, se hace uso más eficiente del área de un microcircuito integrado IC, tal como Circuito Integrado de Circuito Integrado a Gran Escala (VLSI) . En particular, eliminando todo un microprocesador de un sistema combinando operaciones de programas del conjunto A trabajando con dos programas del conjunto B pueden obtenerse ahorros significativos en los costos reduciendo el número de partes total. La invención permite que dos (o más), conjuntos de programas que pudieran haber funcionado anteriormente en procesadores trabajen junto con un solo procesador con poco o ningún cambio a cualquiera de los .._ conj untos originales de programas. Esto da como resultado ahorros significativos en el tiempo y costo del desarrollo del código. Además, aún si ambos programas fueran combinados para formar un programa más grande con la funcionalidad combinada, y este programa fuese ejecutado fuera del mismo tipo de procesador, el nuevo programa más grande necesitaría aún ser completamente verificado y depurado. La presente invención evita este problema permitiendo que existan dos programas más pequeños como antes. En una posible modalidad, un conjunto de programas puede ser considerado un "código seguro" que ejecuta rutinas criptográficas que efectúan funciones de control -de acceso en una cana superior. Este conjunto de programas no es interferido por programas que se ejecuten en otros conjuntos de programas "no seguros". En una caja superior, esto permite que los microprocesadores principales sean combinados en un dispositivo. El "control de acceso" se refiere a . algoritmos que se ejecutan en un procesador "seguro" para ^determinar si o no un decodificador está autorizado para ver un programa particular. El programa puede ser obsequiado, necesitar una suscripción, o necesitar que el usuario haga una compra . La FIGURA 4 ilustra un conmutador para seleccionar el modo A o B del procesador de doble modo de acuerdo con la presente invención. El conmutador 400 es un circuito biestable del tipo D activado por el borde negativo. El circuito biestable 405 recibe una señal de reloj maestro vía una linea 410, y envía una señal de selección del Modo A sobre una línea 420, o una señal de selección del Modo B sobre una línea 430. La señal del reloj maestro puede ser utilizada para otros propósitos vía la. línea 440. El procesador requiere medios de conmutación para conmutar entre la ejecución de un conjunto de programas a la ejecución de otro conjunto de programas. El tiempo puede ser el -medio para conmutar otros conjuntos de aplicaciones. Las siguientes son algunas opciones: 1. Una relación fija de sitios de. reloj. Si se fija en 50-50%, entonces cada uno de los otros sitios de reloj seria utilizado para el modo A (Modo A) , cada uno de los otros ciclos por los programas del conjunto B (Modo B) . Si se fijan 80-20%, entonces el Conjunto A se ejecutaría durante 4 ciclos de reloj, y entonces el Conjunto B durante un ciclo. 2. Un número fijo de ciclos de reloj en un renglón. Si se fija en 50-50%, entonces en Conjunto A obtendría diez ciclos de reloj en un renglón, y el Conjunto B obtendría diez ciclos de reloj en un renglón. Si se fijan 80-20%, entonces el Conjunto A obtendría dieciséis ciclos de reloj en un renglón, y el Conjunto B obtendría cuatro ciclos de reloj en un renglón. 3. Una relación fija de instrucciones ejecutadas. Si se fijan 50-50%, entonces el Conjunto A y el Conjunto B obtendrían cada una de la otras instrucciones ejecutadas. Si se fijan 80-20%, entonces el Conjunto A obtendría cuatro instrucciones, y entonces el Conjunto B obtendría una instrucción. 4. Un número fijo de instrucciones en un renglón. Si se fijan 50-50%, entonces el Conjunto A ejecutaría diez instrucciones en un renglón, y el Conjunto B ejecutaría diez . instrucciones en un renglón. Si se fijan 80-20%, el Conjunto A ejecutaría dieciséis instrucciones en un renglón, y el Conjunto B ejecutaría cuatro instrucciones en un renglón. 5. La asignación de instrucciones dinámica es posible mientras se garantice una instrucción de reloj o instrucciones mínima. Es posible que un procesador que esté ejecutando una rutina de baja prioridad deje un cierto número de ciclos de reloj o instrucciones a los otros procesos. Cuando es invocado un proceso de alta prioridad, por ejemplo, una interrupción, entonces el proceso de prevaciado puede obtener nuevamente los ciclos de reloj o instrucciones que proporcionen. También se contemplaron las siguientes implementaciones opcionales: 1. Ambos circuitos, el Conjunto A y el Conjunto B puede ser sincronizados al mismo tiempo. Las garantías del ciclo de reloj e instrucciones son para tener acceso al cualquier uso compartido. En el escenario descrito anteriormente, los recursos compartidos son: Decodificador de Instrucciones y Codificador del Ciclo de la Máquina 155, y el Circuito de Temporización y Control 120. Ellos seguirían un esquema de asignación de reloj e instrucciones estricto. 2. El espacio de memoria puede ser separado completamente entre los programas del Conjunto A y el Conjunto B. 3. Puede colocarse un requerimiento sobre la CPU de que la temporización mínima nunca pueda ser violada. Esto puede necesitar la duplicación adicional de los componentes físicos de computación. 0, puede simplemente permitir completar una instrucción prolongada, dando la prioridad de la siguiente instrucción a los otros conjuntos de programas. Una consecuencia de la invención es que cualesquier datos que traten con el contexto o estado de lo que y donde el sistema microprocesador ejecutó en su memoria debe duplicarse por cada conjunto independiente de programas que se ejecute ~ en el sistema microprocesador . El proceso de la presente invención tiene las siguientes estructuras, las cuales proporcionan memoria y por lo tanto, contexto a un sistema: un pila y un indicador de pila 164, 184 o al menos un registro que contiene una dirección de retorno, registros para propósitos generales 160, 180, contador de programas 166, 186, registro de estado de CPU, registro de control MMU 168, 188, controles de registro de memoria intermedia de alta velocidad 170, 190, varios registros de I/O, y controlador de interrupción. Además, tanto la RAM como la ROM interna y externa del sistema pueden ser conmutadas. Esto es conceptualmente similar a conmutar bancos de memoria. Si el bit más significativo, de la dirección es función del modo en el cual el conjunto de programas se estaba ejecutando (A o B) , entonces, cuando es alto, el banco de memoria superior 197 puede ser utilizado por el conjunto del programa A, y cuando el bajo, el banco de memoria inferior 198 puede ser utilizado por el conjunto de programas B. Si el sistema microprocesador tiene una memoria intermedia de alta velocidad, entonces puede o no requerirse duplicar esa estructura -dependiendo si o no esta memoria puede ser leída de manera discreta por la CPU. Cualesquier registros de control de la memoria intermedia de alta velocidad necesitaran ser duplicados. El uso más eficiente de la estructura de la memoria intermedia de alta velocidad puede ser logrado duplicando ésta, de modo que cada conjunto de programas estará operando en espacios de memoria diferentes. Se logrará una velocidad de funcionamiento de la memoria intermedia de alta velocidad mayor con una memoria intermedia de alta velocidad duplicada ..puesto que serán ejecutados los conjuntos de programas independientemente. Cada conjunto de programan tiene su propio programa de arranque. El programa de arranque puede fijar los parámetros que, por ejemplo, identifican cuales bloques del código son de baja prioridad y cuales son de alta prioridad y pueden requerir el número asignado total de ciclos de relo . La invención es útil en terminales superiores de televisión (por ejemplo decodificadores ) para eliminar la necesidad de un procesador separado para manejar el Control de Acceso y Criptografía. El procesador que es utilizado para hacer funcionar los decodificadores puede ejecutar esta función asi como utilizar la característica de modo doble. En usos opcionales de la invención, es posible tratar algún código desconocido. Por ejemplo, la Internet permite que muchas rutinas o "applets" de aplicación Java pequeños de calidad y origen desconocidos sean descargados de varios sitios en la Red. El sistema de procesador doble de la presente invención (por ejemplo, implementado en una caja superior compatible con la Red, puede proporcionar protección mientras se ejecuta este código. Esta puede ser una forma de evitar que las aplicaciones interfieran entre sí. En una opción más, la invención puede ser utilizada para implementar un tipo de pared de fuego, por ejemplo, para aislar espacios de procesamiento de datos. En una opción más, la invención puede ser utilizada para implementar una computadora tolerante a las fallas, por ejemplo, un sistema de computadora personal que no falle (choque) cuando choque el procesador primario. En consecuencia, puede observarse que la presente invención proporciona un procesador de modo dual u otro múltiple. El procesador comparte tiempo entre diferentes procesadores asignando su tiempo para ejecutar instrucciones. En una modalidad particular, los procesadores incluyen sistemas seguros y no seguros que almacenan datos que recuperan datos de, memorias separadas. El procesador puede ser utilizado, por ejemplo, para proporcionar acceso condicional a servicios de programación de televisión. Aunque la invención ha sido descrita en relación con varias modificaciones especificas, aquellos expertos en la técnica apreciaran que pueden hacerse numerosas adaptaciones y modificaciones a éstas sin apartarse del espíritu y alcance de JLa. invención como se exponen en las reivindicaciones. Por ejemplo, la invención es adecuada para utilizarse con virtualmente cualquier tipo de red, incluyendo las redes de comunicación de banda ancha de televisión por cable o. satélite, redes de área local (LAN) , redes de área metropolitana (MAN) , redes de área amplia ( AN) , internets, intranets, y la Internet, o combinaciones de la misma.
Adicionalmente, pueden utilizarse componentes físicos de computación, instrucciones fijas y/o técnicas de programas y sistemas de programación para implementar la invención. Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el convencional para la manufactura de los objetos a que la misma se refiere.

Claims (17)

RÍIVINDÍCACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones .
1. Un circuito de procesamiento de modo múltiple, caracterizado porque comprende: un procesador que opera en al menos primer y segundo modos; medios de temporización para colocar el temporizador entre al menos primer y segundo modos; una primera memoria para proporcionar datos a, y recibir datos de, el procesador que está en el primer modo; una segunda memoria separada por la primera memoria para proporcionar datos a, y recibir datos de, el procesador mientras está en el segundo modo; y medios que responden a los medios de temporización para manejar una transferencia de datos entr el procesador y la primera memoria, y entre el procesador y la segunda memoria.
2. El circuito de conformidad con la reivindicación 1, caracterizado porque: el primer modo es un modo seguro para operaciones de procesamiento seguras, y el segundo modo es un modo no seguro para operaciones de procesamiento no seguras ; _ y los medios de administración evitan la transferencia de datos de la segunda memoria a la primera memoria, o de la primera memoria a la segunda memoria.
3. El circuito de conformidad con la reivindicación 2, caracterizado porque: las operaciones de procesamientos seguros comprenden proporcionar acceso condicional a servicios de programación de televisión.
4. Una terminal superior de televisión, caracterizada porque comprende el circuito de conformidad con la reivindicación 3.
5. El circuito de conformidad con la reivindicación 1, caracterizado porque: los medios de administración comprenden un canal de datos para la transferencia multiplexada por tiempo de los datos entre el procesador y la primera memoria, y entre el procesador y la segunda memoria .
6. El circuito de conformidad con la reivindicación 5, caracterizado porque: el procesador y el canal de datos son proporcionados al Circuito Integrado (IC).
7. El circuito de conformidad con la reivindicación 1, caracterizado porque: los medios de administración comprende primer y segundo registros que son activados en respuesta a la conmutación para transferir datos entre el procesador y la primer memoria, y entre el procesador y la segunda memoria .
8. El circuito de conformidad con la reivindicación 7, caracterizado porque: el procesador y el primer y segundo registros son proporcionados en un Circuito Integrado (IC) .
9. El circuito de conformidad con la reivindicación 8, caracterizado porque: la primer y segunda memorias son externas al IC; y los medios de administración comprenden primer y segundo cierres que son externos al IC, y que son activados en respuesta a la conmutación para transferir datos entre el procesador y la primera memoria, y entre el procesador y la segunda memoria.
10. El circuito de conformidad con la reivindicación 1, caracterizado porque: los medios de temporización conmutan el procesador entre al menos el primer y segundo modos de acuerdo a una relación fija de ciclos ele reloj.
11. El circuito de conformidad . con la reivindicación 1, caracterizado porque: los medios de temporiza.ción conmutan el temporizador entre al menos el primer y segundo modos de acuerdo a una relación fija de instrucciones ejecutadas en el procesador.
12. El circuito de conformidad con la reivindicación 1, caracterizado porque: los medios de temporización conmutan el procesador entre al menos el primer y segundo modos de acuerdo a las prioridades respectivas de al menos el primer y segundo modos.
13. El circuito de conformidad con la reivindicación 1, caracterizado porque: el primer y segundo modos tienen diferentes sistemas operativos respectivos.
14. El circuito de conformidad con la reivindicación 1, caracterizado porque: la primera y segunda aplicaciones responden a la primera y segunda memorias, respectivamente, para ejecutar en el primer y segundo modos, respectivamente .
15. El circuito de conformidad . con la reivindicación 14, caracterizado porque: la primera y segunda aplicac±ones son dispares.
16. El circuito de conformidad con la reivindicación 1, caracterizado porque: el primer y segundo conjuntos de programas que son independientes entre si responden a la primera y segunda memorias, respectivamente, para ejecutar el primer y segundo modos, respectivamente.
17. El circuito de conformidad con la reivindicación 1, caracterizado porque: los medios de administración evitan que cualesquier datos sean transferidos entre la primera y segunda memoria. RESUMEN DE LA INVENCION Un circuito de procesamiento de modo múltiple, tal como el procesador de modo dual (5) opera, en al menos un primer y sec¡undo modos . de acuerdo a un conmutador (10) . Cuando un modo está activo, ocurre la transferencia de datos entre el procesador y la memoria respectiva. De este modo, pueden ser ejecutadas las instrucciones de la memoria en el procesador, y los resultados pueden ser almacenados en la memoria respectiva. Por ejemplo, la primer y segunda memorias (14, 54), pueden ser proporcionadas., para el primer y segundo modos (10, 50), respectivamente. Las memorias son separadas, y no puede ocurrir transferencia de datos entre las memorias directamente vía . el procesador. El primer modo (10) puede ser un modo seguro para asegurar las operaciones de procesamiento, tales como proporcionar acceso condicional para servicios de programación de televisión en la terminal de abonado superior. El segundo modo (50) puede ser un medio no seguro, tal como para proporcionar cualquier otra aplicación en la terminal, por ejemplo la guia de programación, servicio de compras en el hogar, etc. En una modalidad, se proporciona un canal de datos para transferir datos multiplexados por tiempo entre el procesador y las memorias respectivas. En otra modalidad, se proporciona la conmutación de registros internos individuales y elementos externos tales como direcciones y cierres de datos.
MXPA02006214A 1999-12-23 2000-12-19 Procesador de modo doble. MXPA02006214A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47175499A 1999-12-23 1999-12-23
PCT/US2000/034458 WO2001046800A2 (en) 1999-12-23 2000-12-19 Dual-mode processor

Publications (1)

Publication Number Publication Date
MXPA02006214A true MXPA02006214A (es) 2003-01-28

Family

ID=23872866

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA02006214A MXPA02006214A (es) 1999-12-23 2000-12-19 Procesador de modo doble.

Country Status (9)

Country Link
EP (1) EP1240583A2 (es)
JP (1) JP2003518287A (es)
KR (1) KR20020091061A (es)
CN (1) CN1425157A (es)
AU (1) AU2278601A (es)
CA (1) CA2395645A1 (es)
MX (1) MXPA02006214A (es)
TW (1) TW541466B (es)
WO (1) WO2001046800A2 (es)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1331539B1 (en) * 2002-01-16 2016-09-28 Texas Instruments France Secure mode for processors supporting MMU and interrupts
US9158574B2 (en) 2002-11-18 2015-10-13 Arm Limited Handling interrupts in data processing
US7370210B2 (en) 2002-11-18 2008-05-06 Arm Limited Apparatus and method for managing processor configuration data
EP1563375B1 (en) * 2002-11-18 2006-09-06 ARM Limited Processor switching between secure and non-secure modes
GB0226906D0 (en) * 2002-11-18 2002-12-24 Advanced Risc Mach Ltd Virtual to physical memory address mapping within a system having a secure domain and a non-secure domain
US7539853B2 (en) 2002-11-18 2009-05-26 Arm Limited Handling interrupts in data processing of data in which only a portion of a function has been processed
GB2396712B (en) 2002-11-18 2005-12-07 Advanced Risc Mach Ltd Handling multiple interrupts in a data processing system utilising multiple operating systems
WO2004046925A1 (en) * 2002-11-18 2004-06-03 Arm Limited Security mode switching via an exception vector
JP4220476B2 (ja) * 2002-11-18 2009-02-04 エイアールエム リミテッド 安全ドメインおよび非安全ドメインを有するシステム内での仮想−物理メモリアドレスマッピング
GB2396451B (en) 2002-11-18 2005-12-07 Advanced Risc Mach Ltd Delivering data processing requests to a suspended operating system
GB0226874D0 (en) 2002-11-18 2002-12-24 Advanced Risc Mach Ltd Switching between secure and non-secure processing modes
US7322042B2 (en) * 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon
US20100017627A1 (en) 2003-02-07 2010-01-21 Broadon Communications Corp. Ensuring authenticity in a closed content distribution system
US7278080B2 (en) 2003-03-20 2007-10-02 Arm Limited Error detection and recovery within processing stages of an integrated circuit
US8650470B2 (en) 2003-03-20 2014-02-11 Arm Limited Error recovery within integrated circuit
EP1604371B1 (en) 2003-03-20 2006-07-26 ARM Limited Memory system having sequentially performed fast and slow data reading mechanisms
US8185812B2 (en) 2003-03-20 2012-05-22 Arm Limited Single event upset error detection within an integrated circuit
JP4317212B2 (ja) 2003-03-20 2009-08-19 アーム・リミテッド 集積回路の処理段における系統的及び確率的誤り検出及び復旧
US7788487B2 (en) * 2003-11-28 2010-08-31 Panasonic Corporation Data processing apparatus
KR100677327B1 (ko) * 2004-06-16 2007-02-02 엘지전자 주식회사 이중 운영체제를 가진 이동통신 단말기
FR2872933B1 (fr) * 2004-07-06 2008-01-25 Trusted Logic Sa Procede de partage de temps d'un processeur
KR100710263B1 (ko) * 2005-01-27 2007-04-20 엘지전자 주식회사 멀티모뎀을 구비한 단말기를 이용한 다중작업 처리 방법
FR2884628A1 (fr) * 2005-04-18 2006-10-20 St Microelectronics Sa Procede de traitement d'interruptions non securisees par un processeur operant dans le mode securise, processeur associe.
WO2006120367A1 (en) * 2005-05-11 2006-11-16 Arm Limited A data processing apparatus and method employing multiple register sets
CN101064886B (zh) * 2006-04-28 2012-12-12 朗迅科技公司 无线设备和通过无线设备传送数据的方法
KR100709385B1 (ko) * 2006-07-19 2007-04-24 주식회사 케이 썸 씨앤 에프 컴퓨터 시스템
US7882318B2 (en) * 2006-09-29 2011-02-01 Intel Corporation Tamper protection of software agents operating in a vitual technology environment methods and apparatuses
WO2009031573A1 (ja) * 2007-09-07 2009-03-12 Nec Corporation 情報処理装置、プロセッサの状態遷移方法、プロセッサの状態遷移の制御装置、プロセッサ
US8332660B2 (en) * 2008-01-02 2012-12-11 Arm Limited Providing secure services to a non-secure application
US8910276B2 (en) * 2008-05-24 2014-12-09 Via Technologies, Inc. Apparatus and method for precluding execution of certain instructions in a secure execution mode microprocessor
US8756391B2 (en) * 2009-05-22 2014-06-17 Raytheon Company Multi-level security computing system
CN101707664B (zh) * 2009-10-30 2013-03-06 深圳创维数字技术股份有限公司 一种机顶盒安全运行方法
CN107944298A (zh) * 2012-08-21 2018-04-20 联想(北京)有限公司 一种电子设备及应用于电子设备的模式切换方法
CN103559460B (zh) * 2013-11-06 2016-06-08 深圳国微技术有限公司 一种条件接收卡cam及数据处理方法
CN104268027B (zh) * 2014-09-22 2017-09-29 北京经纬恒润科技有限公司 嵌入式实时操作系统的故障处理方法和装置
GB2543096A (en) 2015-10-09 2017-04-12 Secure Thingz Ltd Data Processing Device
CN105701420B (zh) * 2016-02-23 2019-05-14 深圳市金立通信设备有限公司 一种用户数据的管理方法及终端
JP7280600B2 (ja) * 2019-04-23 2023-05-24 株式会社エルイーテック プロセッサ
US11569994B2 (en) * 2021-06-24 2023-01-31 Intel Corporation Accelerating multiple post-quantum cryptograhy key encapsulation mechanisms

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0715241B1 (en) * 1994-10-27 2004-01-14 Mitsubishi Corporation Apparatus for data copyright management system

Also Published As

Publication number Publication date
WO2001046800A3 (en) 2002-07-25
CN1425157A (zh) 2003-06-18
CA2395645A1 (en) 2001-06-28
KR20020091061A (ko) 2002-12-05
TW541466B (en) 2003-07-11
AU2278601A (en) 2001-07-03
JP2003518287A (ja) 2003-06-03
WO2001046800A2 (en) 2001-06-28
EP1240583A2 (en) 2002-09-18

Similar Documents

Publication Publication Date Title
MXPA02006214A (es) Procesador de modo doble.
US7603540B2 (en) Using field programmable gate array (FPGA) technology with a microprocessor for reconfigurable, instruction level hardware acceleration
US8477946B2 (en) Method and apparatus for protecting encryption keys in a logically partitioned computer system environment
US10176007B2 (en) Guest code emulation by virtual machine function
US9459874B2 (en) Instruction set architecture-based inter-sequencer communications with a heterogeneous resource
Shafer et al. Concurrent direct network access for virtual machine monitors
JPH0221018B2 (es)
US20070255872A1 (en) Bus system and semiconductor integrated circuit
US8706942B2 (en) Direct memory access (DMA) address translation between peer-to-peer input/output (I/O) devices
GB2416886A (en) Distributed computing
TW201227301A (en) Real address accessing in a coprocessor executing on behalf of an unprivileged process
JPH0430053B2 (es)
US5291605A (en) Arrangement and a method for handling interrupt requests in a data processing system in a virtual machine mode
US20070022209A1 (en) Processing of data frames exchanged over a communication controller in a time-triggered system
WO2013081941A1 (en) Direct device assignment
US10402576B2 (en) Safe physical function passthrough using virtual machine functions
US8706996B2 (en) Data processor
US5459872A (en) Software control of hardware interruptions
Cragon The elements of single-chip microcomputer architecture
JP2009296195A (ja) 複数のcpuコアを備えたfpgaを用いた暗号装置
JP5289688B2 (ja) プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法
GB2404266A (en) Simultaneous multi-thread processing
CN116340243A (zh) 一种双核可信执行的安全芯片架构
US11461141B2 (en) Methods to deal with insufficient memory protection unit (MPU) regions
EP3255544B1 (en) Interrupt controller

Legal Events

Date Code Title Description
FG Grant or registration