Procesador XAP - XAP processor
El procesador XAP es una arquitectura de procesador RISC desarrollada por Cambridge Consultants desde 1994. Los procesadores XAP son una familia de núcleos de 16 y 32 bits , todos los cuales están diseñados para su uso en un circuito integrado específico de aplicación o diseño de chip ASIC . Los procesadores XAP se diseñaron para su uso en circuitos integrados de señal mixta para sensores o aplicaciones inalámbricas , incluidos Bluetooth , ZigBee , GPS , RFID o chips de comunicación de campo cercano . Por lo general, estos circuitos integrados se utilizan en productos de bajo costo y alto volumen que funcionan con baterías y deben tener un bajo consumo de energía. Hay otras aplicaciones en las que los procesadores XAP se han utilizado con buenos resultados, como redes de sensores inalámbricos y dispositivos médicos , por ejemplo, audífonos.
El microprocesador suave XAP se ha implementado en varios estilos de diseño en chip , incluido el circuito asíncrono temporizado , la codificación 1 de 4 , el circuito totalmente síncrono y FPGA. Esto lo hace útil para hacer comparaciones justas entre estilos de diseño en chip.
Historia
XAP1
El primer procesador XAP fue XAP1, diseñado en 1994 y utilizado para varios proyectos ASIC inalámbricos y de sensores en Cambridge Consultants. Era un procesador de 16 bits de arquitectura Harvard muy pequeño, de 3000 puertas, con un bus de datos de 16 bits y un bus de instrucciones de 18 bits destinado a ejecutar programas almacenados en una memoria ROM o de sólo lectura en un chip . Cada uno de los datos y las instrucciones fueron direccionados por un bus de direcciones de 16 bits separado .
XAP2
Se desarrolló y utilizó un XAP2 más potente a partir de 1999. También tenía una arquitectura Harvard y datos de 16 bits, y adoptó un ancho de instrucción de 16 bits más convencional adecuado para el almacenamiento de programas en Flash u otras memorias fuera del chip. Los programas grandes se acomodaron en un bus de direcciones de 24 bits para instrucciones y había un bus de direcciones de 16 bits para datos. XAP2 era un procesador de 12.000 puertas con soporte para interrupciones y una cadena de herramientas de software que incluía un compilador C y el ensamblador XAPASM para su lenguaje ensamblador . XAP2 también se utilizó en los diseños ASIC de Cambridge Consultants y también se proporcionó a otras empresas de semiconductores como núcleo de propiedad intelectual de semiconductores o núcleo de IP .
XAP2 fue adoptado por tres empresas de semiconductores sin fábrica que surgieron de Cambridge Consultants: CSR plc (Cambridge Silicon Radio) es el principal proveedor de chips Bluetooth para teléfonos móviles y auriculares; Ember Corporation es un proveedor líder de chips ZigBee; y Cyan Technology suministra microcontroladores con tecnología XAP2 . Como consecuencia, y combinado con otros licenciatarios y proyectos ASIC de Cambridge Consultants, ahora hay más de mil millones (1,000 millones) de procesadores XAP en uso en todo el mundo.
XAP3
XAP3 fue un procesador experimental de 32 bits diseñado en Cambridge Consultants en 2003. Fue optimizado para implementaciones ASIC de bajo costo y bajo consumo de energía utilizando tecnologías modernas de proceso de semiconductores CMOS . El conjunto de instrucciones se optimizó para GNU GCC para lograr una alta densidad de código. El XAP3 fue el primero de los procesadores de Cambridge Consultants en utilizar una arquitectura de Von Neumann con un espacio de direcciones lógicamente compartido para programas y datos. La memoria física del programa puede ser Flash o EPROM o SRAM programable una vez . El diseño de ASIC se simplificó mediante el uso de una única memoria donde no había necesidad de predeterminar la división entre Programa (instrucciones) y Datos en el momento del diseño. El conjunto de instrucciones de XAP3 con el compilador GCC produjo una densidad de código muy alta. Esto redujo el tamaño de la memoria del programa, lo que redujo el costo unitario del chip y redujo el consumo de energía.
XAP4
En 2005, los requisitos adicionales del proyecto vieron un nuevo procesador de 16 bits, el XAP4, diseñado para reemplazar al XAP2 teniendo en cuenta la experiencia obtenida en XAP3 y los requisitos en evolución de los diseños ASIC. XAP4 es un núcleo de procesador de 16 bits, bus Von Neumann , muy pequeño, de 12.000 puertas, capaz de direccionar un total de 64 kBytes de memoria para programas, datos y periféricos. Ofrece una alta densidad de código combinada con un buen rendimiento en la región de 50 Dhrystone MIPS cuando se registra a 80 MHz. XAP4 fue diseñado para su uso en aplicaciones modernas de ASIC o microcontroladores capaces de procesar datos del mundo real capturados por un convertidor de analógico a digital (ADC) o fuentes similares. La palabra entera de 16 bits del procesador admite la precisión de la mayoría de los ADC sin tener que soportar la sobrecarga de un procesador de 32 bits. XAP4 también ofrece una ruta de migración desde procesadores de 8 bits, como 8051 , en aplicaciones que necesitan un mayor rendimiento y tamaño del programa, pero no pueden justificar el costo y la sobrecarga de un procesador de 32 bits. Los registros XAP4 (todos de 16 bits) son; 8 Propósito general, Contador de programa, Puntero vectorial, BANDERAS, INFO, BRKE, 2 Punto de interrupción. Las instrucciones XAP4 son de 16 y 32 bits. La cadena de compilación XAP4 se basa en GNU GCC y Binutils.
XAP5
El desarrollo de una versión extendida de esta arquitectura comenzó en 2006 y dio como resultado el XAP5, que se anunció en julio de 2008. XAP5 es un procesador de 16 bits con un bus de direcciones de 24 bits que lo hace capaz de ejecutar programas desde la memoria hasta 16 MBytes . XAP4 y XAP5 se implementan con una canalización de instrucciones de dos etapas , que maximiza su rendimiento cuando se registran a bajas frecuencias. Esto se adapta a los requisitos de los ASIC pequeños y de bajo consumo, ya que minimiza el tamaño del hardware del procesador (el núcleo XAP5 utiliza 18.000 puertas) y se adapta a diseños que tienen una frecuencia de reloj relativamente lenta para reducir el consumo dinámico de energía de un ASIC y ejecutar programas directamente desde Memoria flash u OTP que tiene un tiempo de acceso lento. Las velocidades de reloj típicas para XAP5 están en el rango de 16 a 100 MHz en un proceso de 0.13 . XAP5 tiene características de diseño particulares que lo hacen adecuado para ejecutar programas desde Flash, incluido un puntero vectorial y una ventana de traducción de direcciones, que se combinan para permitir la ejecución in situ de programas y la reubicación de programas independientemente de dónde estén almacenados en la memoria física. Los registros XAP4 (16 y 24 bits) son; 8 Propósito general, Contador de programa, Puntero vectorial, BANDERAS, INFO, BRKE, 4 Punto de interrupción. Las instrucciones XAP5 son de 16, 32 y 48 bits. La cadena de compilación XAP5 se basa en GNU GCC y Binutils.
XAP6
XAP6 es un procesador de 32 bits y se lanzó en 2013. Tiene el mismo tipo de arquitectura de almacenamiento de carga que XAP4 y XAP5, pero tiene registros de 32 bits y buses de 32 bits para datos y direcciones. La implementación de XAP6a tiene una canalización de instrucciones de tres etapas . Como todos los procesadores XAP, el XAP6 ha sido optimizado para una verificación fácil, de bajo costo y bajo consumo de energía. XAP6 está diseñado para ASIC pequeños de bajo consumo y minimiza el tamaño del hardware del procesador (el núcleo de XAP6 usa 30.000 puertas). Los registros XAP6 (todos de 32 bits) son; 8 Propósito general, Contador de programa, Puntero vectorial, Puntero global, BANDERAS, INFO, BRKE, 4 Punto de interrupción. Las instrucciones XAP6 son de 16, 32 y 48 bits. La cadena de compilación XAP6 se basa en GNU GCC y Binutils.
Caracteristicas
XAP4, XAP5 y XAP6 están diseñados con una arquitectura RISC de almacenamiento de carga que se complementa con instrucciones de ciclos múltiples para multiplicación, división, copia / almacenamiento de bloques y entrada / salida de funciones para una máxima eficiencia. Los ingenieros de Cambridge Consultants reconocieron el requisito de que estos procesadores ejecuten sistemas operativos en tiempo real capaces de manejar eventos preventivos y con una respuesta de interrupción rápida. En consecuencia, los procesadores están diseñados con soporte de conjunto de instrucciones y hardware para modos operativos de software protegidos que dividen el código de usuario del sistema operativo privilegiado e interrumpen el código del controlador. El hardware del procesador XAP gestiona las transiciones de modo y la pila de llamadas en respuesta a eventos y este enfoque asegura una respuesta de interrupción rápida y determinista. Los modos de operación protegidos permiten diseñar un sistema en un chip que sea un sistema seguro o confiable y que ofrezca alta disponibilidad .
Los procesadores XAP actuales están diseñados utilizando el lenguaje de descripción de hardware Verilog y se proporcionan como código RTL listo para simulación lógica y síntesis lógica con un banco de pruebas . Están respaldados por las herramientas de desarrollo de software xIDE de Cambridge Consultants y la tecnología de depuración SIF. Estos procesadores y herramientas permiten la verificación funcional y la verificación de software que reduce el riesgo del proyecto, acelera los plazos y reduce el costo de propiedad, especialmente para la ingeniería de software.