Skip to content
Juan Gonzalez-Gomez edited this page Oct 25, 2020 · 67 revisions

ACC (Apollo CPU Core)

Una CPU sintetizable en FPGAs libres, descrita en Verilog, basada en la utilizada en el ordenador de navegación del Apollo XI en su aterrizaje en la luna

Introducción

Módulo de Mando Módulo lunar

El ordenador de navegación del Apollo XI (AGC) es el que controlaba la orientación y navegación del Módulo de Mando y del Módulo lunar. Había por tanto dos AGC independientes en cada misión apollo.

Motivación

¿No sería genial hacerte un robot que use la CPU del Apollo? ¿O usarla como controlador para alguno de tus proyectos? ¿Quieres aprender cómo se programa la CPU que guió la primera nave que aterrizó en la luna? Esto es posible usando FPGAs

Si con esta CPU lograron que el apollo navegase hasta la luna, seguro que es posible usarlo para hacer un robot siguelíneas :-D

Vídeo de presentación

VideoBlog 23: ACC: Apollo CPU Core. Vídeo en Youtube (pinchar en la imagen)

Click to see the youtube video

Qué es ACC

El ACC (Apollo CPU Core) es una implementación simplificada del AGC, en Verilog, y que se pueda sintetizar en FPGAs libres. No es una réplica exacta, ni incluye toda su funcionalidad ni todas sus intrucciones. La idea es que se pueda programar utilizando un subconjunto de las instrucciones originales, y que se pueda usar para nuestros proyectos de makers

El ACC en realidad es un microcontrolador: contiene en su interior la CPU, la memoria y algunos periféricos

Familia ACC: Aprendiendo paso a paso

Iremos implementando el ACC poco a poco, mediante versiones simplificadas que nos permitirán ir aprendiendo los detalles y poniendo a punto las herramientas

Documentación ACC Descripción
ACC0 Versión "Hola Mundo". Memoria ROM de 2K con registro S para su direccionamiento y Registro G (15 bits) para lectura de instrucciones
ACC1 Unidad de control que le permite ejecutar las instrucciones TCF (salto incondicional) y NOOP (no operación). Modo de ejecución automático y manual, seleccionable mediante pulsador
ACC2 Incorpora registro A (15 bits). Instrucción CA para cargar un dato almacenado en memoria en el acumulador A
ACC3 Por definir
ACC4 Por definir
.... ....

Historia

(Más recientes primero)

Autor

  • Juan González-Gomez (Obijuan)

Licencia

Código Resto material

Más información

Recopilación de informacion sobre la CPU del Apollo XI

Créditos