Microprocesador o microcontrolador potenciado.

Un dispositivo de microprocesador de n bits que comprende:

una unidad central de procesamiento de n bits (CPU);



una pluralidad de registros (185) de funciones especiales y de registros de proposito general con los que seestablece una correlacion en memoria con una pluralidad de bancos, en el que los registros (185) de funcionesespeciales comprenden por lo menos dos registros (150; 960) de direccion de memoria indirecta de 16 bits a losque puede acceder dicha CPU a traves de todos los bancos;

una unidad de acceso a banco para acoplar dicha CPU con uno de dicha pluralidad de bancos;

una memoria (160) de datos acoplada con la CPU; y

una memoria (120) de programa acoplada con la CPU,

en el que dichos registros (150; 960) de direccion de memoria indirecta pueden accionarse para acceder a dichamemoria (160) de datos o memoria (120) de programa y en el que un bit (965) en cada uno de dichos registros(150; 960) de direccion de memoria indirecta determina un acceso a dicha memoria (160) de datos o a dichamemoria (120) de programa.

Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/US2008/084921.

Solicitante: MICROCHIP TECHNOLOGY INCORPORATED.

Nacionalidad solicitante: Estados Unidos de América.

Dirección: 2355 WEST CHANDLER BOULEVARD CHANDLER, AZ 85224-6199 ESTADOS UNIDOS DE AMERICA.

Inventor/es: JULICHER,JOSEPH, SMIT,ZACHARIAS MARTHINUS, STEEDMAN,SEAN, DELPORT,VIVIEN, ZDENEK,JERROLD S, ELLISON,RYAN SCOTT, SCHROEDER,ERIC.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • G06F9/30 FISICA.G06 CALCULO; CONTEO.G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › G06F 9/00 Disposiciones para el control por programa, p. ej. unidades de control (control por programa para dispositivos periféricos G06F 13/10). › Disposiciones para ejecutar instrucciones de máquinas, p. ej. decodificación de instrucciones (para ejecutar microinstrucciones G06F 9/22).
  • G06F9/318 G06F 9/00 […] › con extensión o modificación de operaciones.
  • G06F9/35 G06F 9/00 […] › Direccionamiento indirecto.

PDF original: ES-2396800_T3.pdf

 


Fragmento de la descripción:

Microprocesador o microcontrolador potenciado El campo tecnico de la presente solicitud se refiere a microprocesadores o a microcontroladores.

Los microcontroladores constituyen, en general, un sistema en un chip y comprenden un microprocesador y una pluralidad de componentes perifericos. Existe una amplia variedad de tales microcontroladores que tienen una arquitectura de 8 bits, de 16 bits y de 32 bits. Los microcontroladores existentes, tal como los microcontroladores de 8 bits fabricados por Microchip Technology Inc., proporcionan una arquitectura flexible. Tales microcontroladores comprenden una arquitectura Harvard en la que las memorias de programa y de datos estan separadas. Los microcontroladores del presente tipo comprenden ademas un sistema de almacenamiento en bancos especifico que permite el acceso a la memoria de datos. En general, la memoria de datos se divide en una pluralidad de bancos y un registro de seleccion de banco define cual de los bancos esta seleccionado y es accesible actualmente. Para acceder a otros bancos, tiene que volver a programarse el registro de seleccion de banco. Incluso a pesar de que un esquema de almacenamiento en bancos, por lo tanto, solo permite el acceso a un banco de memoria definido, estos controladores incluyen unas instrucciones que fuerzan una conmutacion a un banco predefinido. Esto proporciona un rendimiento mejorado y potente a pesar de las limitaciones de acceso generales.

No obstante, aun existen cuellos de botella en el acceso a la memoria. Por lo tanto, existe necesidad de una arquitectura de microcontrolador mejorada.

Por lo tanto, es un objetivo de la invencion mejorar el acceso a la memoria, potenciando de este modo la funcionalidad de un microprocesador o microcontrolador. El presente objetivo puede lograrse mediante un 20 microprocesador de n bits y un procedimiento tal como se define en las reivindicaciones independientes. Mejoras adicionales se caracterizan en las reivindicaciones dependientes.

De acuerdo con una realizacion, un dispositivo de microprocesador de n bits puede comprender una unidad central de procesamiento de n bits (CPU) ; una pluralidad de registros de funciones especiales y de registros de proposito general con los que se establece una correlacion en memoria con una pluralidad de bancos, con por lo menos dos 25 registros de direccion de memoria indirecta de 16 bits a los que puede acceder dicha CPU a traves de todos los bancos; una unidad de acceso a banco para acoplar dicha CPU con uno de dicha pluralidad de bancos; una memoria de datos acoplada con la CPU; y una memoria de programa acoplada con la CPU, en el que dichos registros de direccion indirecta pueden accionarse para acceder a dicha memoria de datos o memoria de programa y en el que un bit en cada uno de dichos registros de direccion de memoria indirecta indica un acceso a dicha memoria de datos o a dicha memoria de programa.

De acuerdo con una realizacion adicional, n = 8. De acuerdo con una realizacion adicional, el microprocesador de n bits puede comprender ademas por lo menos un registro virtual, en el que la escritura de datos en dicho registro virtual da lugar a un acceso indirecto usando uno de dichos registros de direccion de memoria indirecta a dicha memoria de datos o a dicha memoria de programa. De acuerdo con una realizacion adicional, se establece una 35 correlacion del por lo menos un registro virtual con cada banco de memoria. De acuerdo con una realizacion adicional, el microprocesador de n bits puede comprender ademas un registro virtual, en el que la lectura de datos a partir de dicho registro virtual da lugar a un acceso indirecto usando uno de dichos registros de direccion de memoria indirecta a dicha memoria de datos o a dicha memoria de programa. De acuerdo con una realizacion adicional, puede establecerse una correlacion en memoria del por lo menos un registro virtual con cada banco de memoria. De 40 acuerdo con una realizacion adicional, el registro virtual no puede implementarse fisicamente en dicho dispositivo de microprocesador. De acuerdo con una realizacion adicional, la memoria de datos puede tener una anchura de 8 bits y dicha memoria de programa puede tener una anchura de 14 bits. De acuerdo con una realizacion adicional, un bit adicional de una direccion de memoria de datos puede definir un intervalo de direcciones de memoria ampliado que se usa en un modo de depuracion. De acuerdo con una realizacion adicional, el bit en dicho registro de direccion 45 indirecta puede ser el bit mas significativo.

De acuerdo con otra realizacion, un procedimiento para accionar un dispositivo de microprocesador de n bits puede comprender las etapas de: proporcionar una unidad central de procesamiento de n bits (CPU) ; proporcionar una pluralidad de registros de funciones especiales y de registros de proposito general con los que se establece una correlacion en memoria con una pluralidad de bancos; proporcionar por lo menos dos registros de direccion de 50 memoria indirecta de 16 bits a los que puede acceder dicha CPU a traves de todos los bancos; proporcionar una unidad de acceso a banco para acoplar dicha CPU con uno de dicha pluralidad de bancos; proporcionar una memoria de datos acoplada con la CPU; proporcionar una memoria de programa acoplada con la CPU; y realizar un direccionamiento indirecto usando un registro de direccion indirecta para acceder a dicha memoria de datos o memoria de programa, en el que un bit en cada uno de dichos registros de direccion de memoria indirecta indica un 55 acceso a dicha memoria de datos o a dicha memoria de programa, respectivamente.

De acuerdo con una realizacion adicional, n = 8. De acuerdo con una realizacion adicional, el procedimiento puede comprender ademas la etapa de generar un acceso de escritura a memoria indirecta mediante la escritura de datos en por lo menos un registro virtual, en el que el acceso a memoria indirecto usa uno de dichos registros de direccion de memoria indirecta. De acuerdo con una realizacion adicional, puede establecerse una correlacion en memoria del registro virtual con todos los bancos de memoria. De acuerdo con una realizacion adicional, el procedimiento puede comprender ademas la etapa de generar un acceso de lectura a memoria indirecta mediante la lectura de datos a partir de por lo menos un registro virtual, en el que el acceso de lectura a memoria indirecta usa uno de dichos registros de direccion de memoria indirecta. De acuerdo con una realizacion adicional, puede establecerse una correlacion en memoria del registro virtual con todos los bancos de memoria. De acuerdo con una realizacion adicional, el registro virtual no puede implementarse fisicamente en dicho dispositivo de microprocesador.

De acuerdo con una realizacion adicional, la memoria de datos puede tener una anchura de 8 bits y dicha memoria de programa puede tener una anchura de 14 bits. De acuerdo con una realizacion adicional, un bit adicional de una direccion de memoria de datos puede definir un intervalo de direcciones de memoria ampliado que se usa en un modo de depuracion. De acuerdo con una realizacion adicional, el bit en dicho registro de direccion indirecta puede ser el bit mas significativo.

Otras ventajas tecnicas de la presente divulgacion seran facilmente evidentes para un experto en la tecnica a partir de las siguientes figuras, descripciones y reivindicaciones. Varias realizaciones de la presente solicitud pueden obtener solo un subconjunto de las ventajas que se exponen. Ninguna ventaja es critica para las realizaciones.

Una comprension mas complete de la presente divulgacion y de las ventajas de la misma puede adquirirse consultando la siguiente descripcion tomada junto con los dibujos adjuntos, en los que numeros de referencia similares indican caracteristicas similares, y en los que:

La figura 1 muestra un diagrama de bloques de una arquitectura de microcontrolador de acuerdo con una realizacion.

La figura 2 muestra una realizacion de un contador de programa y su acoplamiento a un bus interno. Las figuras 3-6 muestran diferentes operaciones sobre el contador de programa dependiendo de la instruccion que se esta ejecutando.

La figura 7 muestra una realizacion de una logica de control y pila.

La figura 8 muestra una realizacion de una pila y correlacion de memoria de programa.

La figura 9 muestra una realizacion de un registro de seleccion de banco.

La figura 10 muestra una realizacion de la estructura de un banco de memoria en la memoria de datos.

La figura 11 muestra un esquema de acceso para un acceso a memoria indirecto.

La figura 12 es una tabla que muestra el resumen de registro de funciones especiales de acuerdo con una realizacion.

La figura 13A y B son una tabla que muestra el conjunto de instrucciones de un microprocesador o microcontrolador de acuerdo con una... [Seguir leyendo]

 


Reivindicaciones:

1. Un dispositivo de microprocesador de n bits que comprende:

una unidad central de procesamiento de n bits (CPU) ; una pluralidad de registros (185) de funciones especiales y de registros de proposito general con los que se establece una correlacion en memoria con una pluralidad de bancos, en el que los registros (185) de funciones especiales comprenden por lo menos dos registros (150; 960) de direccion de memoria indirecta de 16 bits a los que puede acceder dicha CPU a traves de todos los bancos; una unidad de acceso a banco para acoplar dicha CPU con uno de dicha pluralidad de bancos; una memoria (160) de datos acoplada con la CPU; y una memoria (120) de programa acoplada con la CPU, en el que dichos registros (150; 960) de direccion de memoria indirecta pueden accionarse para acceder a dicha memoria (160) de datos o memoria (120) de programa y en el que un bit (965) en cada uno de dichos registros (150; 960) de direccion de memoria indirecta determina un acceso a dicha memoria (160) de datos o a dicha memoria (120) de programa.

2. El microprocesador de n bits de acuerdo con la reivindicacion 1, en el que n = 8.

3. El microprocesador de n bits de acuerdo con la reivindicacion 1 o 2, que ademas comprende por lo menos un registro (INDF0; INDF1) de funciones especiales que no esta implementado fisicamente, en el que la escritura de datos en dicho registro (INDF0; INDF1) de funciones especiales da lugar a un acceso indirecto usando uno de dichos registros (150; 960) de direccion de memoria indirecta a dicha memoria (160) de datos o a dicha memoria

(120) de programa.

4. El microprocesador de n bits de acuerdo con una de las reivindicaciones anteriores, que ademas comprende un registro (INDF0; INDF1) de funciones especiales que no esta implementado fisicamente, en el que la lectura de datos a partir de dicho registro (INDF0; INDF1) de funciones especiales da lugar a un acceso indirecto usando uno de dichos registros (150; 960) de direccion de memoria indirecta a dicha memoria (160) de datos o a dicha memoria (120) de programa.

5. El microprocesador de n bits de acuerdo con la reivindicacion 3 o 4, en el que se establece una correlacion del por lo menos un registro (INDF0; INDF1) de funciones especiales con cada banco de memoria.

6. El microprocesador de n bits de acuerdo con una de las reivindicaciones anteriores 3-5, en el que un acceso a memoria indirecto a dicha memoria de programa usando uno de dichos registros (150; 960) de direccion de memoria indirecta lee los n bits mas bajos de una ubicacion de memoria de programa.

7. El microprocesador de n bits de acuerdo con una de las reivindicaciones anteriores, en el que dicha memoria

(160) de datos tiene una anchura de 8 bits y dicha memoria (120) de programa tiene una anchura de 14 bits.

8. El microprocesador de n bits o el procedimiento de acuerdo con la reivindicacion 7, en el que un bit adicional de una direccion de memoria de datos define un intervalo de direcciones de memoria ampliado que se usa en un modo de depuracion.

9. El microprocesador de n bits o el procedimiento de acuerdo con la reivindicacion 8, en el que dicho bit adicional en dicho registro (150; 960) de direccion indirecta es el bit mas significativo.

10. Un procedimiento para accionar un dispositivo de microprocesador de n bits que comprende

una unidad central de procesamiento de n bits (CPU) ; una pluralidad de registros (185) de funciones especiales y de registros de proposito general con los que se establece una correlacion en memoria con una pluralidad de bancos, en el que los registros de funciones especiales comprenden por lo menos dos registros (150; 960) de direccion de memoria indirecta de 16 bits a los que puede acceder dicha CPU a traves de todos los bancos; una unidad de acceso a banco para acoplar dicha CPU con uno de dicha pluralidad de bancos; una memoria (160) de datos acoplada con la CPU; una memoria (120) de programa acoplada con la CPU; en el que el procedimiento comprende:

realizar un direccionamiento indirecto usando un registro (150; 960) de direccion indirecta para acceder a dicha memoria (160) de datos o memoria (120) de programa, en el que un bit (965) en cada uno de dichos registros (150; 960) de direccion de memoria indirecta indica un acceso a dicha memoria (160) de datos o a dicha memoria (120) de programa, respectivamente.

11. El procedimiento de acuerdo con la reivindicacion 10, en el que n = 8.

12. El procedimiento de acuerdo con la reivindicacion 10 u 11, que ademas comprende la etapa de generar un acceso de escritura a memoria indirecta mediante la escritura de datos en por lo menos un registro (INDF0; INDF1) de funciones especiales que no esta implementado fisicamente, en el que el acceso a memoria indirecto usa uno de

dichos registros (150; 960) de direccion de memoria indirecta.

13. El procedimiento de acuerdo con una de las reivindicaciones anteriores 10-12, que ademas comprende la etapa de generar un acceso de lectura a memoria indirecta mediante la lectura de datos a partir de por lo menos un registro (INDF0; INDF1) de funciones especiales que no esta implementado fisicamente, en el que el acceso de

lectura a memoria indirecta usa uno de dichos registros (150; 960) de direccion de memoria indirecta.

14. El procedimiento de acuerdo con la reivindicacion 12 o 13, en el que se establece una correlacion en memoria de dicho registro (INDF0; INDF1) de funciones especiales con todos los bancos de memoria.

15. El procedimiento de acuerdo con una de las reivindicaciones anteriores 12-14, que ademas comprende la lectura de los n bits mas bajos de una ubicacion de memoria de programa cuando se realiza un acceso a memoria

indirecto a dicha memoria de programa usando uno de dichos registros (150; 960) de direccion de memoria indirecta.


 

Patentes similares o relacionadas:

MICROPROCESADOR CON SELECCIÓN AUTOMÁTICA DE PARALELISMO SIMD, del 9 de Junio de 2011, de QUALCOMM INCORPORATED: Un procedimiento para controlar el paralelismo de operaciones en un procesador de datos en paralelo, que comprende: monitorizar una o más condiciones […]

MECANISMO EN UN MICROPROCESADOR PARA EJECUTAR INSTRUCCIONES NATIVAS DIRECTAMENTE DESDE LA MEMORIA, del 13 de Enero de 2011, de IP-FIRST LLC: Un aparato en un microprocesador para ejecutar las instrucciones nativas que se proporcionan directamente al microprocesador a través de un canal principal […]

SISTEMA DE PROCESAMIENTO DE DATOS CON EJECUCION CONDICIONAL DE INSTRUCCIONES COMPUESTAS EXTENDIDAS., del 16 de Diciembre de 2004, de MOTOROLA, INC.: Un sistema para dar órdenes a un procesador de datos, el sistema incluye una raíz de instrucción que tiene un campo de selección de operación para seleccionar […]

SISTEMA INFORMATICO., del , de COMMUNICATE LTD.: EN UN SISTEMA DE ORDENADOR CON UN PROCESADOR RISC QUE UTILIZA INSTRUCCIONES DE 32 BITS, CIERTAS INSTRUCCIONES SE ALMACENAN EN FORMA COMPRIMIDA DE 16 BITS Y SE EXPANDEN […]

MICROPROCESADOR QUE UTILIZA UN CAMPO DE INSTRUCCION PARA ESPECIFICAR FUNCIONALIDAD EXTENDIDA, del 1 de Junio de 1999, de ADVANCED MICRO DEVICES INC.: SE DESCRIBE UN MICROPROCESADOR QUE EXPANDE LA FUNCIONALIDAD O RENDIMIENTO DE UNA ARQUITECTURA IMPLEMENTADA DE MANERA TRANSPARENTE O NO TRANSPARENTE. EL […]

Imagen de 'MECANISMO DE FUSIBLE CONFIGURABLE PARA IMPLEMENTAR PARCHES DE…'MECANISMO DE FUSIBLE CONFIGURABLE PARA IMPLEMENTAR PARCHES DE MICROCÓDIGOS, del 24 de Enero de 2011, de VIA TECHNOLOGIES, INC.: Un aparato de parches en un microprocesador, que comprende: una pluralidad de bancos de fusibles , configurada para almacenar registros de parches […]

Imagen de 'INVALIDACION DE ALMACENAMIENTO, BORRADO DE ELEMENTOS DE LA MEMORIA…'INVALIDACION DE ALMACENAMIENTO, BORRADO DE ELEMENTOS DE LA MEMORIA INTERMEDIA, del 23 de Octubre de 2009, de INTERNATIONAL BUSINESS MACHINES CORPORATION: Un método para invalidar una gama de dos o más elementos de una tabla de traducción de direcciones en un sistema informático que tiene tablas de traducción […]

Imagen de 'TRATAMIENTO DE INSTRUCCIONES DE RESUMEN DE MENSAJE'TRATAMIENTO DE INSTRUCCIONES DE RESUMEN DE MENSAJE, del 16 de Agosto de 2007, de INTERNATIONAL BUSINESS MACHINES CORPORATION: Un método para ejecutar una instrucción de resumen de mensaje en un sistema de ordenador, comprendiendo la instrucción de resumen de mensaje una función […]

Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .