Creación de CPU nuevas y extrañas en FPGAS

La popularización de las FPGA para el mercado aficionado indica mucho más que los controladores LED a medida, así como los clones de sistemas informáticos tradicionales. Las FPGA son también una herramienta fantástica para explorar la arquitectura informática, produciendo nuevas, raras, CPU que no cumplen con las convenciones que el mercado ha utilizado durante 40 años. [Victor] está creando una nueva CPU que dificulta las convenciones de cómo obtener acceso exactamente a las diferentes ubicaciones de memoria, así como en el proceso, incluso se le ocurrió un poco de código de ejemplo que se ejecuta en un microcontrolador de brazo.

La mayoría de las veces, el código del fabricante que se ejecuta en su escritorio o computadora portátil no es tan interesante; Son solo cuerdas largas de direcciones para ser procesados ​​linealmente. La magia de una computadora viene con comparaciones, una declaración de IF o un salto en código, donde la CPU puede ejecutar una de las dos piezas de código, dependiendo de un valor en un registro. Sin embargo, existe el tema del alcance: si una pieza de código hace que un código directo sea directo a una pieza de código más, la dirección del nuevo código necesita en forma dentro de una instrucción. En un procesador de brazo, solo se ofrecen 24 bits para codificar la dirección, lo que indica que un salto en el código solo puede ir de 16 MB en ambos lados de su llamada. Ir a cualquier tipo de necesidad adicionalmente necesita muchas más instrucciones, así como el golpe de rendimiento que se unen con eso.

[Victor] tomó una decisión Una opción para este problema sería producir un poco de circuito que sería una ventana móvil para almacenar las ubicaciones de direcciones. En lugar de almacenar la dirección literal para saltos en el código, cada sucursal en el código se mantiene como un miembro de la familia de lugar a lo que sea en el mostrador del programa. El resultado es un método simple para JMP a código extremadamente lejos en la memoria, con menos de un golpe de rendimiento.

Hay una solicitud para esta cosa de token de la ventana en movimiento [Victor] batida para el microprocesador M3 de ARM CORTEX M3 de NXP, así como estará trabajando en una aplicación de esta idea en una nueva CPU sobre su git.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post