19 votos

Ordenador de mesa

¿Es posible fabricar un ordenador sencillo íntegramente con prototipos y componentes electrónicos básicos? ¿Es posible, por ejemplo, construir una calculadora científica de esta manera?

10 votos

No sólo es posible, sino que la gente lo hace, por ejemplo. megaprocesador.com y muchos más, sólo hay que buscar en Google "discrete transistor cpu" o similar. Simplemente se vuelve terriblemente complejo y lleva años construir y depurar

0 votos

Depende de lo que se entienda por protoboard. Si incluye Veroboard, tiras de etiquetas o construcción de bichos muertos anclados con clavos clavados en la protoboard de mamá (sí) - todo soldado entonces sí, definitivamente. Si te refieres a esas cosas de plástico que sueltan cables al azar, olvídalo...

0 votos

@BrianDrummond En cuanto a las placas de plástico, parece que es posible (ver mi respuesta). He visto un par de ordenadores construidos de esta manera. Si uno accidentalmente sacó algunos cables, qué pesadilla. Estoy realmente asombrado de que realmente funcionen.

33voto

Matt McMinn Puntos 6067

No estoy de acuerdo en que colocar un microcontrolador en una protoboard sea lo mismo que construir un ordenador en una protoboard. Excepto por las E/S (como el teclado y la pantalla), un microcontrolador por sí mismo es prácticamente un ordenador completo. Colocar un microcontrolador en una protoboard y conectar unos pocos cables es trivial y puede hacerse en diez minutos.

Cuando el OP preguntaba: "¿Es posible hacer un ordenador sencillo completamente con breadboards y componentes electrónicos básicos?", por componentes electrónicos básicos creo que quiere decir algo más parecido a esto:

enter image description here

Eso sí que es un ordenador en una protoboard (bueno, varias protoboards), construido a partir de componentes básicos . La descripción de la misma está aquí . Está compuesto por una docena de tipos de CI de la serie 74LS00. (No creo que queramos remontarnos a los transistores; el original PDP-8 era del tamaño de un nevera pequeña ).

En cuanto a la calculadora científica, si se construye un ordenador de propósito general como el que se muestra arriba, se podría programar como una calculadora científica. Construir una calculadora científica utilizando únicamente circuitos integrados lógicos (sin ordenador) sería extremadamente difícil; todos los fabricantes de calculadoras de este tipo (Ti, HP, etc.) utilizaban CI a gran escala . Aquí hay un calculadora casera que utiliza un primer CI de calculadora de 4 bits.

Estoy de acuerdo en que si uno quiere poner en marcha un ordenador lo más rápidamente posible, entonces el uso de un microcontrolador es el camino a seguir. Si uno quiere entender realmente cómo funciona un ordenador internamente, entonces construir uno a partir de circuitos integrados básicos es el camino correcto.

1 votos

@ColeJohnson ¡Sus notas dicen que no tiene esquemas para ello!

1 votos

@JohnD gracias, arreglado.

23voto

Paulo Puntos 1921

No sólo es posible, sino que lo he hecho: véase https://www.vttoth.com/CMS/projects/47

Este es el aspecto del cableado en la parte trasera de una de las placas:

enter image description here

Por supuesto, todo depende de los componentes que se consideren "básicos". En mi caso, los componentes básicos eran 74... chips TTL en serie, aproximadamente un centenar de ellos. Construir un ordenador enteramente de, digamos, transistores... sería demasiado abrumador.

Además, mi ordenador de 4 bits no es lo suficientemente potente como para usarlo como calculadora científica, principalmente por 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) podrían ser ya suficientes, 65536 nybbles (direcciones de 16 bits) con seguridad.

0 votos

Enhorabuena. Es todo un logro. Me gusta el conjunto de instrucciones me recuerda a un 6800.

1 votos

Hay un tipo que está trabajando en la construcción de un procesador usando nada más que transistores. La RAM, el procesador, todo. MegaProcessor.com

4 votos

Algunas personas son más pacientes que yo.

10voto

Dror Puntos 745

Sí, es posible, pero se necesitaría algo más que unas cuantas placas para conseguir una calculadora científica, dependiendo, por supuesto, de lo que se considere un componente básico: si se llama componente básico a un transistor, o a un flip-flop, a una EEPROM o simplemente a algo que se pueda soldar de un viejo frigorífico.

Hay algunas respuestas buenas aquí, pero me gustaría señalar una cosa que la gente a menudo no tiene en cuenta. Si observamos la historia de los dispositivos informáticos, la dificultad para construir un ordenador a partir de corteza de árbol y clavos no es la CPU ni la ALU. El principal problema es la memoria . Porque se necesita una gran cantidad de ella para que todo el concepto de programa almacenado funcione. Se puede 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 utiliza sólo 69 flip-flops (4 registros de 16 bits, 4 banderas y 1 bit de registro de estado que denota FETCH/EXECUTE). Está implementado en silicio y la gente escribe software que se ejecuta en él. Es sencillo y cabe en el 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 era el punto de partida del diseño. Se podían utilizar relés biestables, como se hacía en las primeras centrales telefónicas. Se podían utilizar tubos de vacío o transistores para hacer flip-flops; y los registros de la CPU solían implementarse de esta manera. Pero para el almacenamiento de programas y datos se utilizaban cintas de papel, cintas magnéticas, discos giratorios o tambores giratorios. Incluso ondas acústicas sobre hilo de acero que se reciben y retransmiten constantemente por la electrónica. Cualquier cosa que se te ocurra que pueda retener algunos bits durante un tiempo razonable con un coste razonable. Los ordenadores del orbitador Apolo y del módulo de aterrizaje lunar utilizaron memorias con 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. Las memorias semiconductoras no aparecieron realmente hasta los años 70, descartando finalmente ese tipo de complejidad. Pero, por otra parte, las modernas RAMS dinámicas tampoco son tan fáciles.

Además, hay que añadir la maravilla de tener que diseñar equipos de entrada-salida para el ordenador. Unas cuantas bombillas están bien para algunas aplicaciones, pero si necesitas entrada/salida de texto o algo aún más complejo, te enfrentas de nuevo a más dificultades. Los lectores de tarjetas perforadas, las impresoras y los terminales de papel fueron un gran negocio en sus días. Un terminal de vídeo en modo texto VT100 de 1978 tiene mucha más memoria y potencia de procesamiento que la que tendría tu ordenador de placa de cálculo científico.

0 votos

Aunque ciertamente es posible implementar la memoria utilizando flip-flops, creo que es necesario hacer una concesión para permitir los ICs de memoria (al igual que en estos ordenadores caseros se suele utilizar un 74181 para la ALU). Puedes conseguir un 8Kx8 SRAM en un paquete DIP por unos 2 dólares. Eso debería ser suficiente para una calculadora. Lo mismo para la EEPROM.

1 votos

@tcrosley Estoy de acuerdo. Sólo apunto un comentario de la historia. Si vas a construir un ordenador casero hoy en día, no lo vas a hacer para seguir una serie de reglas arbitrarias, lo vas a hacer para divertirte y aprender. Y diseñar un microprocesador es más divertido y una mejor experiencia de aprendizaje que enrollar 16 mil bits de memoria central ;)

0 votos

@PkP Hay algo que decir de alguien que recuerda cómo para tejer la memoria del núcleo y conseguir que se documente. No tanto a nivel de cómo funciona un bit o dos, sino el lado práctico de cómo hacer 16 kbits sin volverse loco. He trabajado en proyectos de semillas. Puedo visualizar la locura... Supongo que alguna vez hubo automatización de fábrica para hacerlo, pero he visto muy poco escrito sobre el lado de la producción.

7voto

GetFree Puntos 495

Es posible, pero la complejidad y el tamaño dependen de lo que se llame componentes electrónicos básicos. Una ALU y una lógica de secuenciación son un poco complejas, pero factibles. La memoria es sencilla, 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ás un software que funcione con él. Como estimación aproximada, para una CPU moderadamente compleja (instrucciones clásicas de 16 bits y nivel de datos de 8 bits) el esfuerzo del software será comparable al del hardware. (Para una CPU más simplista necesitarás más esfuerzo de SW.) ¿Y cómo vas a cargar ese SW en tu máquina?

La búsqueda (y resolución) de errores será una empresa interesante. Te aconsejo que empieces a escribir en VHDL y lo ejecutes en un simulador, 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 algo de software básico (incluyendo un puerto GCC backend) en ~ 1 año, comenzando con VHDL y código C para la simulación. La ALU utilizaba chips 74181, la memoria era RAM estática, y utilizaron un atMega para la interfaz entre el PC y su ordenador. El ordenador estaba en parte en panes sin soldadura y en parte en PCBs (los 8 registros de 16 bits). (Estos dos fueron no estudiantes medios).

5voto

Oka Puntos 761

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

0 votos

+1 Tengo una calculadora que utiliza un procesador ARM. Hoy en día un microcontrolador debería considerarse un componente básico.

25 votos

No necesitas un micro, sólo facilita las cosas.

0 votos

@PlasmaHH ya sea un microcontrolador, o múltiples breadboards. ¿Sólo tienes puertas básicas de 2 entradas? Diviértete. OTOH una ROM o dos + un MUX + registro = un simple microcontrolador ya.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X