CompactRISC es una familia de arquitecturas de conjuntos de instrucciones de National Semiconductor . Las arquitecturas están diseñadas de acuerdo con principios informáticos de conjuntos de instrucciones reducidos y se utilizan principalmente en microcontroladores . [1] Las subarquitecturas de esta familia son la de 16 bits CR16 y CR16C y el 32-bit CRX . [2]
Arquitecturas CR16
Características de la familia CR16: implementaciones compactas (menos de 1 mm 2 con 250nm ), direccionamiento de 2 MB (2 ^ 21), frecuencias de hasta 66 MHz, multiplicador de hardware para enteros de 16 bits. [1]
Tiene instrucciones complejas como manipulación de bits, guardar / restaurar y empujar / hacer estallar varios registros con un solo comando. [1]
CR16 tiene 16 registros de propósito general de 16 bits y registros de direcciones de 21 bits de ancho. Hay 8 registros especiales: contador de programa, puntero de pila de interrupciones ISP, registro de dirección de vector de interrupción INTBASE, registro de estado PSR, registro de configuración y 3 registros de depuración. El registro de estado implementa banderas: C, T, L, F, Z, N, E, P, I. [1]
Las instrucciones se codifican en forma de dos direcciones en varios formatos, por lo general tienen codificación de 16 bits, pero hay dos formatos para instrucciones intermedias inmediatas con una longitud de 32 bits. La longitud típica del código de operación es de 4 bits (bits 9-12 de la mayoría de los tipos de codificación. Los formatos de codificación básicos son: registro a registro, valor inmediato corto de 5 bits a registro, medio inmediato de valor de 16 bits a registro (codificación de 32 bits) , Cargar / almacenar relativo con desplazamiento corto de 5 bits (código de operación de 2 bits), Cargar / almacenar relativo con desplazamiento medio de 18 bits (codificación de 32 bits, código de operación de 2 bits). [1] CR16C viene con un formato de codificación de código de operación diferente, tiene Registros de direcciones de 23-32 bits de ancho y proporciona dos registros de propósito general de 32 bits. [3]
CR16 implementa trampas e interrupciones. Las implementaciones de CR16 tienen una canalización de tres etapas: Fetch, Decode, Execute. [1]
Productos CR16
CR16 se utilizó en varios microcontroladores de National Semiconductor y, desde 2001, los microcontroladores integrados estaban disponibles con memoria flash incorporada. [4] [5] Desde 2007, la propiedad intelectual basada en CR16 estaba disponible para la concesión de licencias [6]
Referencias
- ^ a b c d e f Brunvand, Erik. "National Semiconductor CR16, Compact RISC Processor, Baseline ISA and Beyond" (PDF) . CS / EE 3710 . Universidad de Utah . Consultado el 3 de diciembre de 2016 .
- ^ von Hagen, William (2011). La guía definitiva de GCC . Presione. pag. 422. ISBN 9781430202196.
- ^ "Manual de referencia del programador CR16C" (PDF) .
- ^ Graham, Jeanne (22 de febrero de 2001). "MCU de 16 bits de National Semi integra flash, analógico" . EETimes . Consultado el 3 de diciembre de 2016 .
- ^ "MCU RISC de 16 bits de National promociona flash de alta resistencia" . EETimes. 2001-03-13 . Consultado el 3 de diciembre de 2016 .
- ^ Hammerschmidt, Christoph (21 de febrero de 2007). "NatSemi aprovecha IPextreme para la reventa de IP incorporada" . EETimes . Consultado el 3 de diciembre de 2016 .
enlaces externos
- Microcontroladores integrados de semiconductores nacionales (CR16 y COP8 )
- Página de CompactRISC Core Architecture en el sitio web de National Semiconductor (copia archivada de 2007)
- Manual de referencia del programador de CR16B , National Semiconductor, 1997
- Puerto GCC CR16