Recreación de un sistema de cribado numérico con microcontroladores modernos
KB Sriram ha logrado recrear una máquina de cribado numérico, un tipo de hardware dedicado que, antes de la era de los ordenadores digitales, se construía para resolver problemas matemáticos complejos con una velocidad superior. El proyecto, bautizado como ‘A Tiny Sieve’, se basa en un diseño de cribado numérico electrónico de 1982, que empleaba bancos de ROMs y contadores para descartar candidatos imposibles a gran velocidad antes de que un ordenador convencional realizara cálculos más costosos. Este trabajo ha sido documentado por Hackster.io.
La implementación de Sriram sustituye cada par de ROM y contador por un microcontrolador ATtiny412. Un total de treinta de estos microcontroladores se conectan a un backplane compartido, mientras que un RP2040 se encarga de configurar el sistema, generar el reloj y verificar los candidatos que superan el filtro. Cada ATtiny es responsable de un módulo específico y almacena un patrón repetitivo de aceptación o rechazo. Cuando el RP2040 avanza el reloj, los 30 microcontroladores procesan sus patrones simultáneamente. Si algún chip determina que un candidato no puede ser una solución, activa una línea compartida de votación. Solo cuando ningún microcontrolador emite una señal, el RP2040 realiza la prueba matemática más lenta, lo que permite que el hardware dedique la mayor parte de su tiempo a descartar números rápidamente en lugar de calcular con ellos.
La historia de las máquinas de cribado se remonta a 1928, cuando el matemático D. H. Lehmer construyó el primer dispositivo utilizando 19 cadenas de bicicleta. Las generaciones posteriores emplearon engranajes de acero, líneas de retardo, registros de desplazamiento y, finalmente, hardware VLSI personalizado. A pesar de los cambios tecnológicos, la arquitectura básica se mantuvo constante: un filtro de hardware rápido seguido de una etapa de verificación más lenta. Para evaluar la fidelidad de su recreación, Sriram reprodujo problemas publicados de las máquinas de Lehmer de 1928 (cadenas), 1932 (engranajes) y 1965 (línea de retardo), y todas las soluciones coincidieron con los resultados históricos.
Durante este proceso, Sriram también identificó lo que parecen ser errores menores en la literatura publicada, incluyendo paradas intermedias no reportadas previamente en los experimentos de 1928 y un cálculo de período incorrecto para una máquina de engranajes de 1933. A máxima velocidad, el hardware moderno puede evaluar aproximadamente 500.000 candidatos por segundo, lo que representa una velocidad cien veces superior a la máquina de Lehmer de 1932, manteniendo los mismos principios operativos. Sin embargo, la obsolescencia de las máquinas de cribado no se debió a procesadores más rápidos, sino a avances en las matemáticas. En 2001, Daniel J. Bernstein describió un algoritmo capaz de generar candidatos directamente, eliminando la necesidad de hardware de cribado especializado.
Fuente original: Hackster.io







