memoria para la computadora más simple posible (Pi0K)

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 con 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 la ejecución de cada ciclo de reloj (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, entender y mejorar el diseño. Por lo tanto, el presupuesto total debe estar muy por debajo de las 400 libras esterlinas, preferiblemente alrededor de las 100 libras esterlinas.

He investigado esto durante muchos años y tengo buenas ideas para la CPU (registros mínimos, microcódigo en interruptores DIP y operaciones aritméticas/lógicas de bits en serie para reducir el número de transistores). Lo que no puedo entender es cómo obtener la memoria, me gustaría de 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 la tienen, 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 de los minutos (lo cual es una pena, ya que esta sería la única parte que no mostraría el estado).

Otras ideas incluyen alguna forma de unidad de cinta (mecanismo de casete compacto: gran almacenamiento, demasiado complejo, sin búsqueda), memoria de tambor (cinta alrededor de una lata de frijoles: demasiado difícil para que funcione la mecánica), memoria mecánica (rueda de bicicleta y cojinetes de bolas: demasiados errores de bits), memoria central (núcleos de ferrita grandes y duros: aún es muy difícil obtener la escala requerida), cinta/tarjeta (¿podemos comprar los lectores de cinta), disco giratorio con orificios perforados en orden binario y algo magnético 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 la memoria sean 'visibles', de modo que pueda ver la búsqueda de instrucciones, la decodificación a microcodificación y la decodificación de direcciones/acceso de registro/lógica todo. 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.

tonio

El estado actual de PS está en http://www.blinkingcomputer.org/

Simplemente busque en Google a las personas que ya hicieron esto y cosas similares, los diseños están ahí, puede hacer una lista de materiales y descubrir que probablemente necesite un poco más de dinero y tiempo.
Sugeriría que ir al nivel del transistor podría ser demasiado para un proyecto escolar. Creo que la integración de CMOS a pequeña y mediana escala sería mucho más factible y probablemente más comprensible (puertas, registros, búferes, decodificadores, etc.). Podría incluir algo que demuestre cómo las puertas están hechas de transistores, los flip-flops están hechos de puertas, etc.).
Solo una idea: debe hacer que la memoria (del programa) sea fácilmente modificable a mano, para que las personas puedan "programar" manualmente con sus manos :-).
Primero decida qué quiere que la computadora sea capaz de hacer. Eso determinará cuánta memoria necesita y cuál debe ser el conjunto de instrucciones.
Gracias a todos. PlasmaHH: Sí, es un gran desafío hacer esto con limitaciones de dinero y tiempo, es por eso que nadie más lo ha hecho todavía. Tut: Realmente quiero poder ver cada señal. Luego, la gente verá cómo se construyen puertas lógicas a partir de transistores. oywind: Sí, será programable a través de una Raspberry Pi con una interfaz web en la que puedes escribir tu propio código y verlo funcionar con una cámara web. Tony Ennis: Quiero construir la computadora más simple que muestre cada señal; esto demostrará todos los aspectos y necesitará arquitecturas no estándar, como una ALU de bits en serie.
Dado que la memoria es aburrida y repetitiva, la mayoría de la gente parece hacer trampa y usar chips SRAM disponibles comercialmente.
Para ROM al menos, podría probar con cinta perforada. Lea una palabra a la vez utilizando varios LED y fotodiodos/fototransistores/LDR/etc. Tener perforaciones a lo largo de los lados, para que la cinta pueda ser arrastrada por ruedas dentadas conectadas a motores paso a paso. Escríbelo con cualquier perforadora normal. No es de acceso aleatorio, pero es muy barato expandirlo.
Buscar "EDUC8" -> = ed you cate
Suena como un gran proyecto. Estoy interesado en lo que ha diseñado para la CPU hasta ahora; envíeme un correo electrónico si cree que es demasiado detalle para publicarlo aquí.
TBH, la mayoría de estas computadoras hacen trampa. Podría usar, por ejemplo, un Arduino que almacene valores internamente y también controle una matriz de LED.

Respuestas (7)

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 máquinas de 32 bits. Los 4 bits, por supuesto, serán los más simples que pueda 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:

ingrese la descripción de la imagen aquí

En lo que respecta a la memoria, algunos de estos proyectos que de otro modo usan transistores discretos "hacen trampa" y usan chips SRAM. Son increíblemente baratos para cantidades moderadas de memoria, 32 KB cuestan $ 3.28 y no requieren relojes ni actualizaciones.

Incluso si el resto de su computadora usa relés, usarlos para la memoria será prohibitivamente costoso.

Si puede arreglárselas con 1K bits, podría construir uno con flip-flops transistorizados; Los 2048 2N3904 costarán 3¢ cada uno ($60 en total, más los otros componentes que serán aún más baratos: resistencias por 1/2 centavo, etc.). Puede obtener PCB por $ 10 cada uno, luego contratar a un niño para rellenarlos.

Las computadoras de retransmisión se remontan a fines de la década de 1930, y una de las primeras fue la Harvard Mark I. Es de donde proviene el nombre de 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 la construida por Harry Porter.

ingrese la descripción de la imagen aquí

Echa un vistazo a los videos de la computadora en funcionamiento. Me recuerda a una antigua central telefónica electromecánica.

Aquí hay una parte de otra computadora de retransmisión casera llamada Zusie :

ingrese la descripción de la imagen aquí

Un montón de 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 lógica aritmética) en una computadora.

Lo siento, el "He investigado esto durante muchos años" estaba enterrado en el segundo párrafo. Edité el título de la publicación para indicar claramente que es la memoria lo que me importa. Si puede arreglárselas con 1K bits, podría construir uno con flip-flops transistorizados; Los 2048 2N3904 costarán 3¢ cada uno ($60 en total, más los otros componentes que serán aún más baratos: resistencias por 1/2 centavo, etc.). Puede obtener PCB por $ 10 cada uno, luego contratar a un niño para rellenarlos.
ctd ... esto está más cerca de lo que había estimado, pero necesita la decodificación de direcciones y pondría más transistores por celda de memoria. Tal vez una celda de memoria 'DRAM' de un transistor y un capacitor también sea posible dentro del presupuesto.
@TonyRobinson Traté de abordar el uso de la memoria (como reconoció), pero también estaba tratando de proporcionar información sobre su deseo de hacer una computadora con transistores y/o relés discretos, y para ilustrar que varios han tenido éxito en esto. Buena suerte en tus esfuerzos.

Si desea una memoria simple , no busque más allá de un flip-flop . Con dos transistores y cuatro resistencias, puedes tener un poco de memoria. También puede hacer un flip-flop con dos puertas NOR acopladas en cruz, o simplemente comprar un IC con un montón de flip-flops ya.

De hecho, la caché de CPU muy rápida es básicamente un montón de flip-flops integrados en la CPU.

La DRAM consume más energía, ya que necesita actualizarse constantemente, mientras que la SRAM usa solo una pequeña corriente de reposo cuando está inactiva. La razón para usar condensadores es que solo requiere un transistor por bit, por lo que permite densidades de memoria mucho más altas.
Tienes razón: tenía en mente simples chanclas RTL. Editaré para aclarar.
Los circuitos integrados están fuera: ocultan lo que realmente está sucediendo. Quiero que cada señal quede expuesta en la medida de lo posible. Realmente no me importa la energía: no veo que la energía sea un problema, se conectará a una Raspberry Pi para que haya energía disponible. Una DRAM de transistor puede ser una forma mucho mejor de hacerlo que mi conjunto de ideas de capacitores como sugirió la publicación anterior: tendré que averiguar qué transistores se necesitan para mantener la fuga de carga lo suficientemente baja (necesito tiempos de actualización en el orden de minutos). De lo contrario, sí, las chanclas parecen la siguiente mejor idea.
@TonyRobinson "Estará conectado a una Raspberry Pi para que haya energía disponible". - ...quizás. Depende de la potencia máxima disponible a través de una Raspberry Pi y de la familia lógica que planee usar. (Sin embargo, esperaría que una fuente de alimentación de banco promedio pudiera suministrar un poco más de energía)

Estoy de acuerdo en que sería genial tener un sistema informático completo con un LED para cada bit de estado, visible para el ojo humano.

La computadora del relé TIM 8 usa 8 capacitores, 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 del relé TIM 8 usa cinta perforada para su memoria de programa.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

¿Es posible reemplazar esos diodos con LED, de modo que haya un breve pulso que muestre 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 ser visible en esos LED (aunque técnicamente solo se activaría un byte de LED en un instante). (Esos tendrían que ser LED de corriente bastante alta si queremos CARGAR y ALMACENAR datos de esos condensadores en registros basados ​​​​en relés).

¿Es posible colocar una resistencia y un LED en cada capacitor de almacenamiento de bits, mostrando realmente simultáneamente cada bit de estado? (Deberían ser LED de muy baja corriente y capacitores físicamente grandes si queremos que el capacitor contenga 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 (estimando) cargados inicialmente a 12 V aunque (estimando) 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 ensamblarlo que casi cualquier memoria principal basada en un circuito integrado.

¿Por qué no usa una CPU simple de 8 bits (por ejemplo, 6502) y una cantidad muy pequeña de memoria (registros de CPU, IC RAM y una cantidad muy pequeña de almacenamiento externo (por ejemplo, FD, HD o disco flash, etc.) .) y luego simplemente explique con diapositivas lo siguiente:

  1. Los componentes de hardware, subcomponentes y sus funciones
  2. El sistema operativo, los programas del sistema y los programas de usuario
  3. Carga y ejecución de un programa simple para sumar 2 números, almacenar el resultado en cada tipo de memoria y mostrarlo en una pantalla de video.

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 de tubo de vacío, ni nadie debería querer que lo hagan. Deben comenzar con un buen libro y un Arduino para una comprensión básica de la programación. Luego, si quieren adentrarse en la lectura/control de dispositivos externos, pueden profundizar en la programación específica o en la ingeniería.

Este es un buen proyecto que puede considerar para obtener ideas:
http://www.instructables.com/id/How-to-Build-an-8-Bit-Computer/?ALLSTEPS

Aunque hoy en día lo llamamos el " W65C02S "
Gracias, vengo de 6502 días (BBC micro pero también trabajé en la ZX80). Estoy de acuerdo en que hay mucho que aprender en ese nivel, de hecho, estaba releyendo la Guía del usuario avanzado de microcomputadoras de la BBC . Realmente quiero estar un nivel por debajo de eso, ves entrar una instrucción de 5 bits, salta a través de un pequeño conjunto de microcódigo que establece algunos registros de bits y líneas de bus y llama a un bit serial ALU para que puedas ver toda la lógica sucediendo poco a poco. Es por eso que será el más lento de todos.
Sí, eso será más lento. ¿Revisó los detalles en esta url: instructables.com/id/How-to-Build-an-8-Bit-Computer/?TODOS LOS PASOS En realidad es bastante bueno y permite una personalización única para su sistema.

Estoy de acuerdo en que sería genial tener un sistema informático completo con un LED para cada bit de estado, visible para el ojo humano, en lugar de estar escondido dentro de una misteriosa caja negra.

Podría considerar usar un bus de memoria paralelo de bits más o menos estándar, tal vez algo como el STEbus (bus IEEE-1000) .

Podría 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 esté visible en los LED conectados a los pines de salida en paralelo. Luego use búferes octales de 3 estados (como el 74HC241 o el 74LS245) o muxes, también conectados a esos pines de salida paralelos, para canalizar los datos hacia el 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 están realmente almacenados en cada byte de RAM". - Computadora SAP-1 de Pong Guy, tan simple como sea posible, con RAM de componentes discretos . El mismo arreglo se usa para los registros en la CPU Fourbit de Jaromir o los registros en la CPU spaghetti de 8 bits de Kyle .

Los precios actuales (2016) de Mouser.com son de aproximadamente $0,11/bit en una cantidad de 10 para una disposición de este tipo (un latch de almacenamiento octal más un búfer octal de 3 estados por 8 bits) y $0,05/bit para LED nuevos en una cantidad de 500. Para 2^9 bytes = 512 bytes = 2^12 bits = 4096 bits, eso es (más o menos)

  • $ 205 en LED
  • $ 450 en chips de almacenamiento y búfer
  • ps los chips decodificadores 1 de N para seleccionar el chip de memoria intermedia o almacenamiento adecuado; el costo de tableros, alambre, mano de obra, etc.

Tal vez podría construir (más o menos) 64 bytes de memoria de datos (la misma cantidad de memoria de datos que un Atmel ATTINY13 o un Microchip PIC16F570) por aproximadamente $ 90 (lo 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 de 32Kx8 listo para usar que le brinda mucho más almacenamiento por menos de $ 10. (Alianza AS6C1008-55PCN, Cypress CY7C199CN-15PXC, etc.)

Esta puede ser la razón por la que la mayoría de las CPU caseras, desde la pequeña CPU Nibbler de 4 bits hasta la impresionante computadora de relé 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 así como un bus de memoria estándar, tal vez podría tener varias tarjetas de memoria diferentes conectadas a la CPU al mismo tiempo:

  • Unos pocos bytes de almacenamiento variable completamente visible y unos pocos bytes de ROM de programa cableado completamente visible, lo que debería ser suficiente para algunos programas de demostración interesantes.
  • Un chip SRAM que se puede enchufar ocasionalmente para almacenar programas o datos, o ambos, cuando aún no ha creado suficiente memoria completamente visible para almacenarlos.

Si desea una memoria de programa que sea relativamente barata, existe exactamente una solución que se ajustará a su presupuesto: ROM de circuito impreso electromagnético de máquina de estado HP 9100A . Dado que los planos de la línea de transmisión y detección deben estar muy juntos, necesita una placa de 4 capas y usar las dos capas internas para ella, o la PCB más delgada que pueda encontrar, y hacer un prototipo primero para asegurarse de que sus controladores y los amplificadores sense funcionan bien. Y, por supuesto, deberá escribir un script para generar el archivo PCB de KiCaD, ya que no querrá dibujar decenas de miles de segmentos de seguimiento a mano.

Alternativamente, si tiene ganas de hacer muchas cuerdas manuales, entonces puede hacer una memoria de cuerda similar a la ROM de control HP 9100A . Esa calculadora tenía dos ROM a escalas físicas bastante diferentes, ambas electromagnéticas. La memoria de la cuerda allí usaba núcleos toroidales con devanados de sentido dedicados. Eso es diferente de la computadora de guía Apollo, donde los núcleos no tenían devanados dedicados: había una línea de detección global.

Entonces, si puede permitirse el tiempo para hacer mucho bobinado del núcleo del toroide, entonces podría tener una ROM basada en el núcleo como la tienda de control de 9100, y eso termina siendo barato por bit si su tiempo es libre. Incluso podría usar relés de láminas como "amplificadores" de sentido para esto, con un transformador de adaptación de impedancia, pero dicha memoria tiene un sentido aún más económico para los sistemas transistorizados.

Si desea construir una computadora de relés a partir de relés, compre a los principales distribuidores, es decir. partes que estarían razonablemente disponibles para cualquier otra persona que lo construya, entonces un presupuesto de £ 400 no llegará muy lejos. Por ejemplo, los relés de forma C de 4 polos le costarán £ 5 cada uno, por lo que son <100 relés y <400 polos.

Lo que descubrí es que definitivamente puedes comprar miles de relés pequeños y rápidos en eBay por <£ 100/mil, pero nunca sabes cuáles obtendrás. Tengo 6.000 cañas SPST por <$500 en total, pero eso no es necesariamente un resultado representativo, y esos miles se distribuyeron en tres, no, cuatro (!) tipos de piezas diferentes, todas con diferentes clasificaciones de potencia de bobina y diferentes voltajes de bobina. Mi proyecto en curso ha crecido de 7.000 a más de 10.000 relés en este punto y costaría más de 40.000 libras esterlinas para que alguien vaya y compre los mismos relés a precios de distribuidor. No importa las otras piezas que no son baratas pero que se piden por miles, como los interruptores DIP giratorios hexadecimales para las PROM. O el hecho inconveniente de que uno de los relés clave que uso solo se fabrica bajo pedido y el pedido mínimo es de 100 000 piezas, y todavía cuestan más de un dólar. Entonces, incluso si quisiera comprarlos "nuevos", tendría que ser una compra grupal para un gran grupo de personas que construyan la misma computadora y estén dispuestas a sentarse y soldar miles de relés.

No hace falta decir que esta escala está fuera del alcance de los aficionados sin buscar ofertas serias de eBay, tener suerte y luego basar el diseño en qué piezas estaban disponibles a bajo precio en comparación con cualquier diseño preexistente. Y mi presupuesto era definitivamente aficionado en ese sentido. Y sí, tomó una cantidad de tiempo irrazonable recorrer literalmente miles (más probablemente decenas de miles en este punto) de listados de eBay solo para encontrar la "cola larga" de las ofertas, las que estaban lo suficientemente mal etiquetadas como para permanecer fuera de la corriente principal. Resultados de la búsqueda. Comprar 1,000 cañas de Hamlin por $ 40 enviadas a mi puerta es una victoria pírrica si toma 12 horas localizar el listado (de hecho, me tomó un poco más). Revisé mis notas hace un momento y promedí unas 6 horas de búsqueda en eBay por cada 1000 retransmisiones. y con otras partes que necesitaba, ya había invertido unas 100 horas solo en tiempo de eBay. Eso no es ingeniería ni diseño ni nada, solo mirar los resultados y buscar valores atípicos. Encontrar relevos en masa a $1 cada uno es fácil. "lote de retransmisión" en la búsqueda de eBay, ordene primero el precio más alto, 200 resultados por página, y encontrará al menos un par de listados en este mismo momento que podrían usarse en cualquier proyecto de computadora de retransmisión razonable, si tiene miles de dólares en gastar dinero en ello, eso es. Encontrarlos por más de un orden de magnitud menos es otra historia, dada la prevalencia de basura con la que se mezclan, incluso si la búsqueda de eBay permite cierto grado de ajuste y términos aditivos/sustractivos. Así que ese es el lado menos glamoroso de este tipo de proyectos, y probablemente por qué muchas personas pierden interés en algún momento:

Estaba muy motivado por las especificaciones de las piezas disponibles y, por ejemplo, tener lengüetas que respondieran en ~0,3 ms marcó una gran diferencia en lo que podía hacer, ya que se hizo posible una lógica combinatoria compleja y de múltiples capas que aún tenía tiempos de propagación medidos en solo milisegundos. P.ej. un multiplicador de enteros de 8x8 que produce un resultado en menos de 5ms. Pero si no tuviera esos relés de lengüeta rápidos, habría implementado un multiplicador canalizado más amplio y más lento, y no habría forma de apuntar a ciclos de reloj de menos de 10 ms. Lo mismo ocurre con la RAM y los registros: si no tuviera tantos relés biestables, no podría haber implementado una memoria densamente empaquetada de baja potencia. La memoria de relé astable consume mucha energía y requiere mucho flujo de aire para mantenerse lo suficientemente fría como para no disminuir la vida útil del relé. no importa que todo se derrita si se permitiera un estado de memoria de "todos unos" con relés en contacto físico sin espacios. Pero con los relés biestables eso no es ningún problema, ya que solo unas pocas bobinas están activas en un momento dado, y uno puede colocarlas de modo que los bits adyacentes en una palabra no se acerquen entre sí, de modo que no se produzca un patrón de acceso típico. producir un punto caliente en el tablero.

Los proyectos de relés grandes que utilizan relés físicamente pequeños deben prestar mucha atención al fanout y al mantenimiento de las cargas de contacto bajo control. La escala de los proyectos informáticos de retransmisión populares como el de Harry Porter no es suficiente para que esto sea un factor determinante. Pero una vez que haya pasado un par de miles de relés y no use diodos para la conmutación, los árboles de abanico y la gestión de la carga de contactos se convierten en restricciones que impulsan todo el diseño y requieren un pensamiento innovador. Por lo tanto, un corolario: hacer computadoras de relés a partir de relés físicamente grandes que pueden transportar de 2 a 8 amperios por contacto es un juego de pelota completamente diferente a hacer computadoras de relés a partir de relés que tendrán una vida útil prolongada solo si mantiene las cargas de contacto por debajo de 100 mA, idealmente en 50mA o menos. P.ej. El diseño popular de Harry Porter no se puede usar tal como está con tales relés, no importa que ninguna de las implementaciones use memoria de retransmisión, lo que realmente impulsaría el punto sobre el fan-out. En mi caso, el diseño se basó en la memoria, y la memoria se diseñó primero, ya que resultó ser el mayor desafío. El primer kilobit fue el más difícil de diseñar, y en mi caso hubo diferentes diseños ya que no tenía grandes lotes del mismo tipo de relé. Tendría un kilobit de memoria hecho todo desde el mismo tipo de relé, dos si tuviera suerte. A veces, comprar los 1.000 relés de un tipo dado cuesta tanto como comprar los 30 restantes necesarios para terminar el kilobit dado (siempre parece haber uno o dos defectuosos por cada mil en esos lotes de eBay, no tengo idea de por qué). como resultó ser el más desafiante. El primer kilobit fue el más difícil de diseñar, y en mi caso hubo diferentes diseños ya que no tenía grandes lotes del mismo tipo de relé. Tendría un kilobit de memoria hecho todo desde el mismo tipo de relé, dos si tuviera suerte. A veces, comprar los 1.000 relés de un tipo dado cuesta tanto como comprar los 30 restantes necesarios para terminar el kilobit dado (siempre parece haber uno o dos defectuosos por cada mil en esos lotes de eBay, no tengo idea de por qué). como resultó ser el más desafiante. El primer kilobit fue el más difícil de diseñar, y en mi caso hubo diferentes diseños ya que no tenía grandes lotes del mismo tipo de relé. Tendría un kilobit de memoria hecho todo desde el mismo tipo de relé, dos si tuviera suerte. A veces, comprar los 1.000 relés de un tipo dado cuesta tanto como comprar los 30 restantes necesarios para terminar el kilobit dado (siempre parece haber uno o dos defectuosos por cada mil en esos lotes de eBay, no tengo idea de por qué).

He estado investigando la forma más económica de construir una computadora discreta casera y los transistores le dan el mejor "beneficio por el dinero", especialmente porque luego puede usar PROM muy rentable, y una computadora sin PROM no es de mucha utilidad. Ahora admito que mi aplicación era tal que no había necesidad de cambiar el código, esencialmente una calculadora con mucho código fijo que se utiliza para implementar funciones matemáticas. Pero incluso para una máquina que tiene como objetivo una gran capacidad de programación por parte del usuario, una biblioteca sólida de funciones reducirá el tamaño de los programas del usuario y exigirá menos RAM escasa. Hablando de RAM: no hay sorpresa allí; la memoria central es muy rentable si está dispuesto a enhebrar los núcleos usted mismo y considerar su tiempo libre. Eso puede ser un orden de magnitud más barato que la RAM estática bipolar, ya que usa dos transistores por celda, y también algunas resistencias y condensadores. Si está de acuerdo con la RAM dinámica, entonces una matriz de condensadores dirigidos por diodos también puede ser muy económica, pero relativamente lenta, ya que los condensadores tienen que ser mucho más grandes que la capacitancia de las uniones de diodos, y el consumo de energía también se vuelve crítico.

Aquí hay otra sugerencia para un proyecto similar que podría valer la pena: construir una máquina de Turing . Se trata de la máquina informática más simple posible.