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

11

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 bajo almacenamiento 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 cada ciclo de reloj ejecutándose (sí, va a funcionar 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 los interruptores DIP y operaciones de lógica / aritmética de bit bit para reducir el conteo de transistores). Lo que no puedo entender es cómo obtener la memoria, me gustaría 1024 a 8096 bits.

Lo mejor que puedo encontrar son dos decodificadores de 6 bits uno de n que dan acceso a una red de condensadores de 64 x 64. O bien 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 en los minutos (lo que es una pena, ya que esta sería la única parte que no se muestra el estado).

Otras ideas incluyen algún tipo de unidad de cinta (mecanismo de cassette compacto: gran almacenamiento, demasiado complejo, sin búsqueda), memoria del tambor (cinta alrededor de un frijol: demasiado difícil para que funcione la mecánica), memoria mecánica (rueda de bicicleta y rodamientos de bolas: demasiados errores de bits), memoria del núcleo (grandes núcleos de ferrita duros: todavía es muy difícil llegar directamente a la escala requerida), cinta / tarjeta (todavía podemos comprar los lectores de cinta), disco giratorio con orificios perforados en orden binario y alguna memoria magnética para almacenamiento (demasiado compleja de construir).

En última instancia, el objetivo es publicar un diseño que se pueda construir en un año escolar en el que todas las partes de una CPU y de la memoria estén 'visibles', de modo que pueda ver las instrucciones de recuperación, descodificación a microcódigo y acceso a descodificación / registro de direcciones / Lógica todo sucede en el transcurso de minutos.

Si alguien tiene ideas para una memoria realmente barata (< < £ 100) donde está claro exactamente cómo funciona, por favor, avíseme.

Tony

    
pregunta Tony Robinson

5 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 32 bits. Los 4 bitters, por supuesto, serán los más simples que puedas construir y hacer cualquier cosa. El primer microprocesador fue el 4004 de Intel.

Comenzaría por buscar en Google " computadoras de 4 bits de uso doméstico "(sin las comillas).

Aquí hay una placa de una computadora transistorizada de 4 bits:

Enloquerespectaalamemoria,algunosdeestosproyectosquedeotramanerautilizantransistoresdiscretos"engañan" y usan chips SRAM. Son increíblemente baratos para cantidades moderadas de memoria, 32KB es de $ 3.28 y no requiere relojes ni refrescos .

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

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

Las computadoras de retransmisión se remontan a finales de la década de 1930, y una de las primeras fue la Harvard Mark I . Es de donde proviene el nombre arquitectura de Harvard (espacio y datos del programa por separado, en comparación con von arquitectura Neumann que combina los dos).

La computadora de retransmisión casera más famosa es una creada por Harry Porter.

Echaunvistazoalosvideosdelacomputadoraenejecución.Merecuerdaaunaantiguacentraltelefónicaelectromecánica.

Aquíhayunapartedeotracomputadoraderelevocaserallamada Zusie :

Muchaslucesparpadeantes.

Yfinalmente, aquí hay un enlace a un video de un sumador de 4 bits, compuesto de 24 relés. . Los agregadores como este son el corazón de la ALU (unidad de lógica aritmética) en una computadora.

    
respondido por el tcrosley
4

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

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

    
respondido por el Phil Frost
0

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

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

Si desea mantener el dispositivo como simple & lo más económico posible, use un sistema de desarrollo de microcontrolador como su sistema base o incluso un Arduino es simple y amp; lo suficientemente barato Ninguno de los estudiantes va a construir una computadora de relé o de tubo de vacío simple, ni nadie debería realmente querer que lo hagan. Deben comenzar con un buen libro & Un Arduino para la comprensión básica de la programación. Luego, más adelante, si desean comenzar a leer / controlar dispositivos externos, pueden profundizar en programación específica o en ingeniería.

Este es un buen proyecto para que tenga en cuenta las ideas:
enlace

    
respondido por el DIYser
0

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 de relé TIM 8 utiliza 8 condensadores, 2 diodos y un SPDT relé 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 relevo TIM 8 usa cinta perforada para su memoria de programa.

¿Es posible reemplazar esos diodos con LED, ¿Entonces hay un breve impulso que muestra los datos que entran o salen de un byte de RAM? Tal vez si el sistema hace DRAM actualizar lo suficientemente rápido, escaneando aunque cada byte de RAM, entonces cada bit de estado parecería ser visible en esos LEDs (aunque técnicamente solo se activaría un byte de LED en cualquier instante). (Esos tendrían que ser LEDs de muy 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 forma simultánea cada bit de estado? (Esos tendrían que ser LED de baja corriente y condensadores físicamente grandes si queremos que el condensador mantenga los datos el tiempo suficiente para una tasa de actualización razonable. Algunos LED se pueden ver fácilmente con solo 1 mA de corriente. Con un ciclo de actualización de 1 segundo. y (guesstimating) capacitores cargados inicialmente a 12 V aunque (estimando) una carga de 7 V en el condensador es suficiente para cargar el hardware corriente 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 que cualquier otra memoria principal basada en circuitos integrados.

    
respondido por el davidcary
0

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 ocultarlo 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) .

Puede considerar el uso de un conjunto 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 buffers octales de 3 estados (como el 74HC241 o 74LS245) o muxes, también conectados a esos pines de salida paralelos, para canalizar los datos al bus. Usted termina con unos pocos chips decodificadores uno-de-N y 2 chips por 8 bits de almacenamiento. "Esto le permite ... ver qué datos se almacenan realmente en cada byte de RAM". - SAP-1 de Pong Guy, lo más simple posible como computadora con RAM de componente discreto . La misma disposición se utiliza para los registros en CPU Fourbit de Jaromir o los registros en CPU de spaghetti de 8 bits de Kyle .

Los precios actuales (2016) de Mouser.com son de aproximadamente $ 0.11 / bit en la cantidad 10 para dicha disposición (un cierre de almacenamiento octal más un buffer de 3 estados octal por 8 bits) y $ 0.05 / bit para nuevos LED en la cantidad 500. Para 2 ^ 9 bytes = 512 bytes = 2 ^ 12 bits = 4096 bits, eso es (muy aproximadamente)

  • $ 205 en LEDs
  • $ 450 en almacenamiento y chips de búfer
  • $ ??? los chips decodificadores 1-de-N para seleccionar el chip de almacenamiento o búfer apropiado; el costo de las tablas, alambre, mano de obra, etc.

Quizás podrías 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 pueden 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 que ofrece mucho más almacenamiento por menos de $ 10. (Alliance AS6C1008-55PCN, Cypress CY7C199CN-15PXC, etc.)

Esta puede ser la razón por la que la mayoría de las CPU de fabricación casera, de lo minúsculo CPU de 4 bits Nibbler a lo impresionante RC-3 Relay Computer enlace enlace , 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 puedas 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 conectar ocasionalmente para mantener programas o datos o ambos Cuando todavía no has construido suficiente memoria completamente visible para almacenarlos.
respondido por el davidcary

Lea otras preguntas en las etiquetas