1 puntos por GN⁺ 2024-09-21 | 2 comentarios | Compartir por WhatsApp

Inicio

  • En 2012 se logró ejecutar Linux en un microcontrolador de 8 bits (AVR), estableciendo un récord mundial de Linux corriendo en la máquina con las especificaciones más bajas
  • En 2023 apareció un proyecto que arrancaba Linux en un MOS 6510, con especificaciones aún más bajas que AVR
  • El Intel 4004 fue el primer microprocesador comercial del mundo, y este proyecto comenzó para establecer un nuevo mínimo al arrancar Linux en un chip de 4 bits

4004

  • El 4004 opera en unidades de 4 bits y fue desarrollado principalmente para calculadoras
  • No tiene operaciones lógicas y existen sobre todo instrucciones ADD y SUB
  • Usa un método de operación particular basado en la bandera de acarreo
  • Tiene 16 registros de 4 bits, un contador de programa de 12 bits y una pila de hardware de 4 niveles
  • Requiere una velocidad mínima de reloj y no tiene soporte para interrupciones
  • Existen algunas instrucciones capaces de realizar operaciones de memoria directamente

Flujo de control

  • Llamadas y retornos de subrutinas usando la pila de hardware
  • Hay instrucciones de salto condicional, y es posible detectar eventos externos mediante el pin TEST
  • Administra 4096 bytes de espacio de código usando el concepto de páginas de código

Memoria y E/S

  • El 4004 no procesa directamente las instrucciones de memoria; los chips de memoria se encargan de ello
  • Soporta hasta 8 bancos de RAM, y cada banco está compuesto por 4 chips 4002
  • El 4001 incluye 256 bytes de ROM y un puerto de E/S de 4 bits
  • El 4265 es un dispositivo de E/S de propósito general con 4 puertos de E/S de 4 bits

4008, 4009, 4289

  • El 4008 y el 4009 fueron diseñados para poder interactuar con chips de memoria de uso general
  • El 4289 es un chip que combina el 4008 y el 4009, y puede comunicarse con niveles de señal de 5V

Uso de memoria y nibble de estado

  • Se usa la instrucción DCL para seleccionar un banco de memoria
  • Cada banco de RAM está compuesto por 4 chips 4002, y cada chip tiene 16 nibbles direccionables y 4 nibbles de estado

Resumen de GN⁺

  • Este proyecto ayuda mucho a entender cómo funcionaban los primeros microprocesadores como el Intel 4004
  • Muestra cómo superar el diseño particular y las funciones limitadas del 4004
  • Ofrece la oportunidad de experimentar las limitaciones de los primeros microprocesadores en comparación con los microcontroladores modernos
  • Un proyecto similar en funcionalidades es el de arrancar Linux en un MOS 6510

2 comentarios

 
y15un 2024-09-21

Así que el autor original es justamente ese tipo al que esta vez sacaron del escenario en DEF CON por el tema de la badge. No voy a ponerme del lado de nadie, pero aun así de verdad tiene un nivel impresionante.

 
GN⁺ 2024-09-21
Comentarios de Hacker News
  • Pensé que NetBSD era lento en un m68030 de 15 MHz, pero este proyecto es realmente impresionante

    • A finales de los 80 y principios de los 90, las computadoras empezaron a tener almacenamiento permanente, espacio de direcciones abierto y MMU, alcanzando así la computación moderna
    • Una Amiga 3000 o una computadora con i80486 también pueden realizar las mismas funciones que una computadora moderna
    • Dmitry muestra qué tan flexible puede ser la definición de "funcional"
  • Me gustaría ampliar mis conocimientos hasta poder entender este proyecto

    • Entendí por completo la parte de "Section 14.b & 14.c - Getting the data..."
    • Procesé un archivo de 400K durante 4 años (aproximadamente 275 fotos al día)
    • A pesar de tener mucha capacidad de procesamiento, almacenamiento y red, las apps de sincronización de medios fallan o sufren de sincronización lenta
    • AirDrop falla y falta una función de UI de 'Select-All'
  • Me gustan los ejemplos con AVR, y ahora hay uno nuevo

    • Me pregunto cuánta RF emite considerando la frecuencia y el consumo de energía
    • Es posible que "soubroutine" sea un error tipográfico
  • Este proyecto no fue barato, gracias a los coleccionistas de Ebay

    • Yo habría elegido VFD en lugar de LCD; el VFD podría dañarse durante una compilación larga
  • Es un proyecto asombroso

    • Se puede ver lo que se está ejecutando actualmente en los bits altos de la PC
    • P.D.: carga el kernel más rápido que el IPMI de un servidor por internet
  • La grabación del video tomó 9 días, con 4 horas por segundo emulado

    • Me pregunto por qué usa Windows 95
  • Este tipo de proyecto necesita un Premio Nobel

  • Fue una lectura muy interesante

    • Sabía un poco sobre el 4004, pero ese nivel de complejidad fue sorprendente
    • Me hizo preguntarme si se podría construir una CPU con la misma cantidad de transistores
    • 8 bits hacen que programar sea mucho más fácil
    • Gracias por documentar tan bien el trabajo
  • En las primeras microcomputadoras funcionaban máquinas virtuales (Z-machine o JVM)

  • En la sección "Why MIPS?":

    • Algunas tienen modos de direccionamiento lentos (RISCV)
    • Me pregunto qué problema tienen los modos de direccionamiento de RISC-V con eso