El núcleo del procesador Amber es un procesador de procesamiento de conjunto de instrucciones reducido (RISC) de 32 bits compatible con la arquitectura ARM . Es de código abierto , alojado en el sitio web de OpenCores y es parte de un movimiento para desarrollar una biblioteca de proyectos de hardware de código abierto . [1]
Descripción general
El núcleo Amber es totalmente compatible con el conjunto de instrucciones ARMv2a y, por lo tanto, es compatible con la cadena de herramientas GNU . Esta versión anterior del conjunto de instrucciones ARM es compatible porque no está cubierta por patentes, por lo que se puede implementar sin licencia de ARM Holdings , a diferencia de algunos proyectos anteriores de código abierto (por ejemplo, nnARM ). [2] Los núcleos se desarrollaron en Verilog 2001 y están optimizados para la síntesis de matriz de puertas programables en campo (FPGA). Por ejemplo, no hay lógica de reinicio: todos los registros se reinician como parte de la inicialización de FPGA. El proyecto Amber proporciona un sistema completo de matriz de puertas programable en campo (FPGA) integrado que incorpora el núcleo Amber y varios periféricos, incluidos receptores / transmisores asíncronos universales (UART), temporizadores y un MAC Ethernet .
El proyecto Amber proporciona dos versiones del núcleo. Ambos núcleos implementan la misma arquitectura de conjunto de instrucciones (ISA) y son totalmente compatibles con el software.
- El Amber 23 tiene una canalización de 3 etapas, una instrucción unificada y caché de datos, una interfaz Wishbone y es capaz de 0.75 DMIPS ( Dhrystone ) por MHz. El núcleo Amber 23 es un núcleo muy pequeño de 32 bits que funciona bien. Las instrucciones basadas en registros se ejecutan en un ciclo, excepto las que involucran multiplicación. Las instrucciones de carga y almacenamiento requieren tres ciclos. La canalización del núcleo se detiene cuando se produce un error de caché o cuando el núcleo realiza un acceso a Wishbone.
- El Amber 25 tiene una canalización de 5 etapas, cachés de instrucciones y datos separados, una interfaz Wishbone y es capaz de 1.0 DMIPS por MHz. El núcleo Amber 25 proporciona un rendimiento de 30 a 40% mejor que el núcleo Amber 23 y es de 30 a 40% más grande. Las instrucciones basadas en registros se ejecutan en un ciclo, excepto las instrucciones que involucran multiplicaciones u operaciones de cambio complejas. Las instrucciones de carga y almacenamiento también se ejecutan en un ciclo a menos que haya un conflicto de registro con una instrucción siguiente. La canalización del núcleo se detiene cuando se produce una falta de caché en cualquiera de los dos, cuando se detecta un conflicto de instrucciones, cuando se ejecuta un cambio complejo o cuando el núcleo realiza un acceso a Wishbone.
Ambos núcleos se han verificado al arrancar un kernel de Linux 2.4. Las versiones del kernel de Linux de la rama 2.4 y anteriores contienen configuraciones para el ISA compatible. Las versiones del kernel de Linux 2.6 y posteriores no admiten explícitamente ARM v2a ISA y, por lo tanto, necesitan más modificaciones para ejecutarse. Los núcleos no contienen una unidad de administración de memoria (MMU), por lo que solo pueden ejecutar una variante de memoria no virtual de Linux, como μClinux .
Ver también
Otras lecturas
Para obtener una descripción de ARMv2a ISA, consulte Sistema operativo de Arquímedes: una guía de Dabhand , [3] o el Manual de datos de la familia de máquinas Acorn RISC . [4]
Referencias
- ^ Spooner, John G. (2 de enero de 2002). "El credo de código abierto se traslada al diseño de chips" . Industria de la tecnología. CNET . Consultado el 15 de mayo de 2018 .
- ^ "Núcleo RISC ámbar" . Procesador suave. Micro de 32 bits . Archivado desde el original el 2 de febrero de 2015.
- ^ van Someren, Alex; van Someren, Nic (febrero de 1989). Sistema operativo de Arquímedes: una guía de Dabhand (PDF) . Dabs Press . ISBN 1-870336-48-8. Consultado el 15 de mayo de 2018 ..
- ^ Tecnología VLSI (1990). Manual de datos de la máquina Acorn RISC (ARM) (PDF) . Prentice Hall . ISBN 0-13-781618-9. Consultado el 15 de mayo de 2018 ..
enlaces externos
- Página web oficial
- Especificación de núcleo ámbar
- Blog de Marsohod
- Clarke, Peter (24 de junio de 2013). "Cambridge Calling: el surgimiento de los clones ARM" . Blog de automoción. EE Times . Consultado el 21 de mayo de 2018 .