Cuando intentaba aprender arquitectura de ordenadores lo que más me ayudó fue hacer un procesador de juguete de 4 bits (mediante el diseño a nivel de puerta de cada cosa). Ahora quiero aprender sobre procesadores DSP y me preguntaba si hay algún libro que adopte este enfoque para enseñar arquitecturas DSP.
Respuesta
¿Demasiados anuncios?Las características que (¿se solían?) distinguir a un DSP de una CPU de propósito más general se centran más o menos en la ejecución efectiva de un bucle cerrado de instrucciones MAC (multiplicar-acumular), iterando sobre dos matrices. Esto implica
- una instrucción MAC (con comportamiento de saturación)
- acceso a dos operandos por instrucción MAC (a menudo realizado por dos memorias)
- baja sobrecarga del bucle interno (por ejemplo, contador de hardware/registros de inicio/fin)
- ajuste rápido de los (dos) punteros de datos
- cuando hay caché: control preciso del comportamiento de la caché, incluida la prefijación de datos
En tu situación, yo buscaría algunos algoritmos DSP típicos (convolución, filtros, FFT), encontraría el bucle interno, idearía las instrucciones necesarias para hacer ese bucle lo más rápido posible, implementaría esas instrucciones y luego añadiría otras instrucciones para que pareciera una CPU real. Para conseguir puntos extra: minimiza el número de transistores para reducir el consumo de batería.