Me gustaría construir la computadora más simple posible. No me importa la velocidad o el almacenamiento, de hecho, tener una velocidad lenta y un almacenamiento bajo es una gran ventaja, ya que quiero construirlo a partir de transistores (¡idealmente relés!) Y quiero un LED para cada estado. Se programará a través de una Raspberry Pi que albergará una cámara para que pueda ver cada ciclo de reloj ejecutándose (sí, se ejecutará a Hz, no a GHz). Será un diseño abierto con la intención de que las escuelas puedan comprar las piezas, comprender y mejorar el diseño. Por lo tanto, el presupuesto total debe estar por debajo de £ 400, preferiblemente alrededor de £ 100.
He investigado esto durante muchos años y tengo buenas ideas para la CPU (registros mínimos, microcódigo en interruptores DIP y operaciones lógicas / aritméticas en serie de bits para reducir el recuento de transistores). Lo que no puedo entender es cómo obtener la memoria, me gustaría 1024 a 8096 bits.
Lo mejor que se me ocurre son dos decodificadores uno de n de 6 bits que dan acceso a una red de condensadores de 64 x 64. O tienen una carga en ellos o no, y la lectura reforzaría ese estado. No habría LED en los condensadores ya que la actualización de esta 'DRAM' estaría en el orden o minutos (lo cual es una pena, ya que esta sería la única parte que no muestra el estado).
Otras ideas incluyen alguna forma de unidad de cinta (mecanismo de cassette compacto: excelente almacenamiento, demasiado complejo, sin búsqueda), memoria de tambor (cinta alrededor de una lata de frijoles: demasiado difícil para que la mecánica funcione), memoria mecánica (rueda de bicicleta y rodamientos de bolas: demasiados errores de bits), memoria central (núcleos de ferrita grandes y duros: todavía es muy difícil de conseguir a la escala requerida), cinta / tarjeta (¿podemos comprar los lectores de cinta?), disco giratorio con agujeros perforados en orden binario y algunos magnéticos memoria para almacenamiento (demasiado complejo para construir).
En última instancia, el objetivo es publicar un diseño que se pueda construir en un año escolar donde todas las partes de una CPU y memoria estén 'visibles' y así pueda ver la búsqueda de instrucciones, la decodificación en microcódigo y la decodificación de direcciones / acceso de registro / lógica. sucediendo en el transcurso de minutos.
Si alguien tiene ideas para una memoria realmente barata (<< £ 100) donde está claro exactamente cómo funciona, hágamelo saber.
Tony
El estado actual del juego de PS está en http://www.blinkingcomputer.org/
fuente
Respuestas:
Hay muchas personas que han construido computadoras con transistores discretos, circuitos integrados, relés e incluso tubos de vacío. Van desde máquinas de 4 bits hasta 32 bits. Los 4-bitters, por supuesto, serán los más simples que puedes construir y hacer cualquier cosa. El primer microprocesador fue el 4004 de 4 bits de Intel .
Comenzaría buscando en Google " computadoras caseras de 4 bits " (sin las comillas).
Aquí hay una placa de una computadora transistorizada de 4 bits:
En lo que respecta a la memoria, algunos de estos proyectos que de otro modo están usando transistores discretos "engañan" y usan chips SRAM. Son increíblemente baratos para cantidades moderadas de memoria, 32 KB es $ 3.28 y no requiere relojes ni actualización.
Incluso si el resto de su computadora usa relés, usarlos para la memoria será prohibitivamente costoso.
Si puede sobrevivir con 1K bits, puede construir uno con flip-flops transistorizados; 2048 2N3904 costará 3 ¢ cada uno ($ 60 en total, más los otros componentes que serán aún más baratos, resiste por 1/2 centavo, etc.). Puede obtener PCB's por $ 10 cada uno, luego contratar a un niño para rellenarlos.
Retransmiten computadoras datan toda la vuelta camino a finales de 1930, y uno de los primeros fue el Harvard Mark I . De ahí proviene el nombre de la arquitectura de Harvard (espacio de programa y datos separados, en comparación con la arquitectura de von Neumann que combina los dos).
La computadora de retransmisión casera más famosa es una construida por Harry Porter.
Mira los videos de la computadora en funcionamiento. Me recuerda a una antigua central telefónica electromecánica.
Aquí hay una porción de otra computadora de retransmisión casera llamada Zusie :
Muchas luces parpadeantes.
Y finalmente, aquí hay un enlace a un video de un sumador de 4 bits, compuesto por 24 relés. Los sumadores como este son el corazón de la ALU (unidad de lógica aritmética) en una computadora.
fuente
Si quieres memoria simple , no busques más que un flip-flop . Con dos transistores y cuatro resistencias, puede tener un poco de memoria. También puede hacer un flip-flop con dos puertas NOR cruzadas, o simplemente comprar un IC con un montón de flip-flops ya.
De hecho, la memoria caché de la CPU muy rápida es básicamente un conjunto de flip-flops, integrados en la CPU.
fuente
Estoy de acuerdo en que sería genial tener un sistema informático completo con un LED para cada estado, visible para el ojo humano.
La computadora del relé TIM 8 utiliza 8 condensadores, 2 diodos y un relé SPDT por byte en sus 12 bytes de memoria RAM principal (memoria de datos). (El TIM 8 tiene 16 bytes de memoria variable si incluye registros).
La computadora de retransmisión TIM 8 utiliza cinta perforada para su memoria de programa.
¿Es posible reemplazar esos diodos con LED, por lo que hay un breve pulso que muestra los datos que entran o salen de un byte de RAM? Quizás si el sistema actualiza la DRAM lo suficientemente rápido, escaneando cada byte de RAM, entonces cada bit de estado parecería visible en esos LED (aunque técnicamente solo se activaría un byte de LED en cualquier instante). (Esos tendrían que ser LED de alta corriente si queremos CARGAR y ALMACENAR datos de esos condensadores a registros basados en relés).
¿Es posible colocar una resistencia y un LED en cada condensador de almacenamiento de bits, mostrando de manera simultánea cada bit de estado? (Deberían ser LED de baja corriente y condensadores físicamente grandes si queremos que el condensador retenga los datos el tiempo suficiente para una frecuencia de actualización razonable. Algunos LED se pueden ver fácilmente con solo 1 mA de corriente. Con una actualización de 1 segundo condensadores de ciclo y (estimación aproximada) cargados inicialmente a 12 V aunque (estimar) una carga de 7 V en el condensador es suficiente para cargar el hardware aguas abajo, entonces el condensador necesita una clasificación de C ~ = i * t / V = 1 mA * 1 s / (12 V - 7 V) = 200 uF.).
Esto, por supuesto, será mucho más grande y requerirá más trabajo humano para ensamblar que casi cualquier memoria principal basada en circuito integrado.
fuente
¿Por qué no utiliza una CPU simple de 8 bits (p. Ej., 6502) y una cantidad muy pequeña de memoria (registros de CPU, IC RAM y una cantidad muy pequeña de almacenamiento externo (p. Ej .: FD, HD o disco flash, etc.)? .) y luego simplemente explica con diapositivas lo siguiente:
Si desea mantener el dispositivo lo más simple y económico posible, use un sistema de desarrollo de microcontrolador como su sistema base o incluso un Arduino es lo suficientemente simple y económico. Ninguno de los estudiantes va a construir un simple relé o una computadora con tubo de vacío, y nadie debería realmente querer que lo hagan. Deben comenzar con un buen libro y un Arduino para la comprensión básica de la programación. Luego, más adelante, si quieren entrar a leer / controlar dispositivos externos, pueden profundizar en la programación específica o en la ingeniería.
Aquí hay un buen proyecto para que lo consideres para ideas:
http://www.instructables.com/id/How-to-Build-an-8-Bit-Computer/?ALLSTEPS
fuente
Estoy de acuerdo en que sería genial tener un sistema informático completo con un LED para cada estado, visible para el ojo humano, en lugar de estar oculto dentro de una misteriosa caja negra.
Puede considerar usar un bus de memoria paralelo de bits más o menos estándar, tal vez algo como el STEbus (bus IEEE-1000) .
Puede considerar usar un montón de circuitos integrados como 74HC273 o 74LS373 o 74HC564 para almacenar los datos de modo que el estado actual de los datos dentro del chip siempre sea visible en los LED conectados a los pines de salida paralela. Luego use memorias intermedias octales de 3 estados (como 74HC241 o 74LS245) o muxes, también conectados a esos pines de salida paralelos, para canalizar los datos al bus. Terminas con unos pocos chips decodificadores uno de N y 2 chips por cada 8 bits de almacenamiento. "Esto le permite ... ver qué datos se almacenan realmente en cada byte de RAM". - Pong Guy SAP-1 Computadora simple como posible con RAM de componentes discretos . La misma disposición se utiliza para los registros en la CPU Fourbit de Jaromir o los registros en la CPU de espagueti de 8 bits de Kyle .
Los precios actuales (2016) de Mouser.com son de aproximadamente $ 0.11 / bit en la cantidad 10 para tal disposición (un pestillo de almacenamiento octal más un búfer octal de 3 estados por 8 bits) y $ 0.05 / bit para los nuevos LED en la cantidad 500. Para 2 ^ 9 bytes = 512 bytes = 2 ^ 12 bits = 4096 bits, eso es (muy aproximadamente)
Tal vez podría construir (muy aproximadamente) 64 bytes de memoria de datos (la misma cantidad de memoria de datos que un Atmel ATTINY13 o un Microchip PIC16F570) por aproximadamente $ 90 (que puede caber dentro de su presupuesto de $ 150 ~ = £ 100).
Puede ver por qué es tentador reemplazar todos esos chips de almacenamiento y búfer y la mayoría de los chips decodificadores con un chip SRAM paralelo 32Kx8 disponible en el mercado que le brinda mucho más almacenamiento por menos de $ 10. (Alliance AS6C1008-55PCN, Cypress CY7C199CN-15PXC, etc.)
Esta puede ser la razón por la cual la mayoría de las CPU caseras, desde la pequeña CPU Nibbler de 4 bits hasta la impresionante computadora de retransmisión RC-3 http://www.computerculture.org/2012/09/rc-3-relay-computer/ http: / /www.computerculture.org/projects/rc3/ , están conectados a un chip SRAM de caja negra para la memoria principal.
Con algo como un bus de memoria estándar, quizás podría tener varias tarjetas de memoria diferentes conectadas a la CPU al mismo tiempo:
fuente
Aquí hay otra sugerencia para un proyecto similar que podría valer la pena: construir una máquina Turing . Se trata de la máquina informática más simple posible
fuente