Hace 5 años | Por --175549-- a neoteo.com
Publicado hace 5 años por --175549-- a neoteo.com

Ensamblar un ordenador es dentro de todo sencillo una vez que adquieres los conocimientos básicos, e incluso existen simuladores como PC Building Simulator que te ayudan a practicar (hasta cierto punto). Sin embargo, la construcción de los componentes, y en especial de un procesador, es un desafío completamente diferente. Requiere un entendimiento profundo de su lógica, algo que no siempre se encuentra a nuestro alcance, pero gracias al juego Nand Game podemos absorber todo lo esencial sobre la construcción de procesadores en cuestión de...

Comentarios

llorencs

#8 Yo diría que aún se enseña, al menos parte. En primero se sigue enseñando fundamentos de computadores (al menos cuando he mirado planes de informática que alguna vez he pensado en estudiarla).

g

#8 yo empecé la carrera en el 2001 y no solo nos explicaban los componentes de la CPU desde el transistor, también nos enseñaban la física que hay detrás de un transistor. También teníamos prácticas. Lo que hicimos distaba mucho de ser una CPU pero podías ver los fundamentos básicos en los que se basan. Las hacíamos con un simulador.

ElPerroDeLosCinco

#10 Mi práctica favorita de toda la carrera fue montar un procesador 8085 en una placa, con su EPROM y su RAM, con todas las conexiones hechas mediante cables wrapinados a mano. La alimentación era una pila de 9V. Las entradas y salidas eran varios interruptores y luces o displays, según de lo que tratara tu proyecto. Se desarrollaba un programa que llevabas en un diskete y te lo grababan en la EPROM del aparato. Si todo iba bien, tenías un "ordenador" que cabía en la palma de la mano, el tatarabuelo de la Raspberry Pi.

ElPerroDeLosCinco

#14 Yo conocí a un tipo que podía "leer" código en assembler, como quien lee una novela. Iba mirando un programa compilado y nos iba explicando en voz alta sobre la marcha lo que hacía. Pero no traduciendo las instrucciones, sino realmente entendiendo a alto nivel el objetivo de ese código.

M

#19 Sale muchísimo más barato el kilo de carne de programador de Java o m$.net que el kilo de carne de programador de ensamblador.

S

¿Con o sin vulnerabilidades de Intel?

m

#1: Primero tienes que entender lo que es un "latch". lol

S

#2 ¿Eso no es leche en Aleman suizo?

D

#3 No, es vergüenza en caló alemán.

zhensydow

#2 por cierto, estoy atascado en la fase del Latch y siguiendo la wikipedia no me lo acepta.

m

#22: El latch al menos tiene una ayuda, lo que hay que hacer es conectar la salida a una de las entradas.

zhensydow

#23 gracias, genial. Me estaba complicando y basta un solo componente para resolverlo

Suigetsu

#22 El latch la verdad es que nunca lo toqué así en la carrera, lo que usábamos era un flip-flop RS de toda la vida. Y no sé hasta que punto se llega a usar este tipo de biestable en la práctica.
Aquí tienes una foto de como lo he montado.

zhensydow

#29 si, es la misma solucion a la que llegue yo

musg0

https://www.nand2tetris.org/

Este libro que se basa en hacer ejercicios en un emulador también está muy bien para aprender los principios básicos teóricos desde la cpu hasta un intérprete basado en máquina virtual.
Tienen también cursos en Coursera

D

Me ha recordado al libro "But How Do It Know? - The Basic Principles of Computers for Everyone" donde paso a paso te va instruyendo para crear un ordenador, usando únicamente puertas lógicas NAND.
Bastante recomendable .
https://www.amazon.com/But-How-Know-Principles-Computers/dp/0615303765

D

Comienza con el ensamblaje de puertas lógicas basado en puertas lógicas más sencillas, luego componentes para hacer aritmética binaria, como Half Adder y Full Adder, y después componentes más complejos hasta llegar a un CPU.

Todavía incompleto y muy difícil si no se tiene cierta documentación, pero Internet está llena de ésta.

sxentinel

#4 Así es como nos enseñaron a nosotros en fp la electrónica digital y la verdad que se me quedo bastante bien... empezamos con componentes discretos a crear puertas lógicas y usándolas crear otros tipos de circuitos cada vez mas complejos usando elementos anteriores hasta llegar a los distintos arrays de datos.

zhensydow

#4 "Never Go Full Adder"

XiaXiaXia

Estoy en el "Instruction decoder" y debería funcionar pero me da error en un output al menos. ¿Alguien se lo ha pasado?

eddard

yo en la carrera diseñé un procesador de 12 estados... la verdad que lo recuerdo como todo un reto... subir de los 10 estados era jodido

t

Por los ejemplos parece un simulador de circuitos lógicos, más que una herramienta para entender como funciona un procesador. Ese conocimiento está en un nivel de abstracción más alto. Por ejemplo, para entender un procesador no hace falta conocer el detalle de la lógica de las unidades de suma/resta de enteros.

D

#11 Va subiendo de nivel. Comienza con la creación de circuitos básicos, luego funciones aritméticas, después circuitos cada vez más complejos hasta llegar al CPU (ver sección de la derecha http://nandgame.com/)

Lo malo es que no es un simulador donde se vean los circuitos trabajando. Hay algunos libres.

p

#12 si hay simulador: http://www.buthowdoitknow.com/cpu_model_intro.html incluso en excell

p

Otro que mola mucho es Cardiac, simula el funcionamiento de una CPU con papel, con su memoria, instrucciones, registro....

https://www.cs.drexel.edu/~bls96/museum/cardiac.html

Por ahí andan los PDFs para imprimirlo y el manual de uso.

D

Me he quedado en la puerta or

me encantaaaaaaaaa!!!