Computadora Breadboard [cerrado]

19

¿Es posible hacer una computadora simple completamente con placas de pruebas y componentes electrónicos básicos? ¿Es factible, por ejemplo, construir una calculadora científica de esta manera?

    
pregunta C.T.

5 respuestas

32

No voy a estar de acuerdo en que colocar un microcontrolador en una placa de pruebas califica como la construcción de una computadora en una placa de pruebas. Excepto por E / S (como un teclado y una pantalla), un microcontrolador en sí mismo es prácticamente una computadora completa. El solo hecho de colocarlo en una placa y conectar algunos cables es trivial y se puede hacer en diez minutos.

Cuando el OP preguntó: "¿Es posible hacer una computadora simple completamente con placas de pruebas y componentes electrónicos básicos?", por componentes electrónicos básicos, creo que significa algo más como esto:

Ahoraesunacomputadoraenunaplacadepruebas(bueno,variastablasdepruebas),construidaapartirdecomponentesbásicos.Ladescripcióndelmismo está aquí . Se compone de una docena de tipos de circuitos integrados de la serie 74LS00. (No creo que queramos volver a los transistores; el original PDP-8 era del tamaño de un refrigerador pequeño ).

En lo que respecta a una calculadora científica, si construyes una computadora de uso general como la que se muestra arriba, podría programarse como una calculadora científica. La construcción de una calculadora científica que utilice solo circuitos integrados lógicos (sin computadora) sería extremadamente difícil; todos los fabricantes de calculadoras como esa (Ti, HP, etc.) utilizaron circuitos integrados de gran escala . Aquí hay una calculadora casera que usa el IC de la calculadora de 4 bits temprano.

Estaré de acuerdo en que si uno quiere poner una computadora en funcionamiento lo más rápido posible, entonces usar un microcontrolador es el camino a seguir. Si uno quiere entender realmente cómo funciona una computadora internamente, construir uno a partir de circuitos integrados básicos es el camino correcto.

    
respondido por el tcrosley
22

No solo es posible, en realidad lo he hecho: consulte enlace

Aquí se muestra el cableado en la parte posterior de una de las placas de pruebas:

Porsupuesto,tododependedequécomponentescalificancomo"básicos". En mi caso, los componentes básicos eran 74 ... chips TTL serie, aproximadamente un centenar de ellos. Para construir una computadora completamente a partir de, digamos, transistores ... eso sería demasiado abrumador.

Además, mi computadora de 4 bits no es lo suficientemente poderosa como para ser utilizada como calculadora científica, principalmente debido a las limitaciones de memoria (256 nybbles de 4 bits). Sin embargo, no es terriblemente difícil ampliar el espacio de direcciones, tal vez utilizando un mecanismo de paginación, y 4096 nybbles (direcciones de 12 bits) ya podrían ser suficientes, 65536 nybbles (direcciones de 16 bits) con seguridad.

    
respondido por el Viktor Toth
10

Sí, es posible, pero necesitaría un poco más que unas pocas tablas de apoyo para crear una calculadora científica, dependiendo, por supuesto, de lo que considera un componente básico: si considera que un transistor es un componente básico o un flip-flop, una EEPROM o simplemente algo que puede soldar desde un refrigerador viejo.

Hay algunas buenas respuestas aquí, pero me gustaría señalar una cosa que la gente a menudo no considera. En cuanto a la historia de los dispositivos informáticos, la dificultad para construir una computadora a partir de corteza de árbol y clavos no es la CPU ni la ALU. El problema principal es la memoria . Porque necesita una gran cantidad para que funcione todo el concepto de programa almacenado. Puedes hacer una CPU a partir de unos pocos flip-flops y puertas NAND; por ejemplo, para una aplicación de electrónica de potencia con restricciones específicas, una vez diseñé un microprocesador que usa solo 69 flip-flops (4 registros de 16 bits, 4 indicadores y 1 bit de registro de estado que denota FETCH / EXECUTE). Se implementa en silicio y la gente escribe software que se ejecuta en él. Es simple y se ajusta al tamaño de un contacto de drenaje de un transistor de potencia. Pero la memoria necesaria para almacenar cualquier programa útil es mucho, mucho más grande.

Al principio, la memoria fue el punto de partida del diseño. Podría usar relés biestable como lo hicieron en las primeras centrales telefónicas. Puede usar tubos de vacío o transistores para hacer chanclas; y los registros de la CPU usualmente fueron implementados de esta manera. Pero para el programa y el almacenamiento de datos, se utilizaron cintas de papel, cintas magnéticas, discos giratorios o tambores giratorios. Incluso las ondas acústicas en el alambre de acero son constantemente recibidas y retransmitidas por la electrónica. Cualquier cosa que se pueda imaginar podría contener algunos bits por un tiempo razonable con un costo razonable. Las computadoras del orbitador de Apolo y del módulo de aterrizaje lunar usaron memorias de núcleo de bobina enrolladas como cuerdas. Todo esto necesita un equipo de interfaz diferente y tiene un gran impacto en cómo debe ser la CPU para acceder a ese tipo de memorias. La memoria de los semiconductores solo apareció realmente en la década de 1970, finalmente descartando ese tipo de complejidad. Pero, de nuevo, las RAMS dinámicas modernas tampoco son tan fáciles.

Luego está la maravilla adicional de tener que diseñar el equipo de entrada-salida para la computadora. Algunas bombillas están bien para algunas aplicaciones, pero si necesita entrada / salida de texto o algo aún más complejo, nuevamente enfrenta más dificultades. Los lectores de tarjetas perforadas, impresoras y terminales de papel eran un gran negocio en sus días. Un terminal de video en modo de texto VT100 de 1978 tiene mucha más memoria y capacidad de procesamiento que la que tendría su computadora de tablero de cálculo científico.

    
respondido por el PkP
7

Es posible, pero la complejidad y el tamaño dependen de lo que se denomina componentes electrónicos básicos. Una lógica de ALU y secuenciador es un poco compleja, pero factible. La memoria es simple, pero el patrón básico debe repetirse un gran número de veces (piense en miles de veces).

Además del hardware, también necesitará un software que se ejecute en él. Como estimación aproximada, para una CPU moderadamente compleja (instrucciones clásicas de 16 bits a nivel de datos de 8 bits) su esfuerzo de software será comparable a su esfuerzo de hardware. (Para una CPU más simplista, necesitará más esfuerzos de software). ¿Y cómo va a cargar ese software en su máquina?

La caza de errores (y la solución) será una empresa interesante. Te aconsejo que comiences a escribir en VHDL y lo ejecutes en un simulador, que será mucho más fácil de depurar que un montón de chips y cables.

Dos estudiantes míos crearon una CPU de 16 bits con un software básico (incluido un puerto de back-end GCC) en aproximadamente 1 año, comenzando con VHDL y el código C para la simulación. La ALU usó 74181 chips, la memoria era RAM estática y usaron un atMega para interactuar entre la PC y su computadora. La computadora estaba parcialmente en barras de pan sin soldadura y en parte en PCB (los registros de 8 16 bits). (Estos dos no eran no estudiantes promedio)

    
respondido por el Wouter van Ooijen
5

Sí, es posible. Pero necesitas un microcontrolador para hacer los cálculos. Este es un proyecto de ejemplo. Utiliza un microcontrolador AVR y una pantalla LCD de 16 × 2.

    
respondido por el Oka

Lea otras preguntas en las etiquetas