Hace 4 años | Por ccguy a youtube.com
Publicado hace 4 años por ccguy a youtube.com

Ben Eater continúa con su proyecto "Hello world" partiendo de la CPU (chip físicamente en su mano, no en un ordenador completo), un tablero de circuitos, una EEPROM, cables, y toda la documentación técnica del chip.

Comentarios

D

#1 ¿Me equivoco o eran básicamente un KIM-1?

D

#1. Me acuerdo perfectamente, yo programaba 8751 (8748 con 2k de memoria) 'a pelo' en el taller.

sxentinel

#1 Que tiempos aquellos de la Elektor, aun tengo por ahí los cd´s recopilatorios que sacaron cuando la iban a cerrar.

D

Muy sencillo. El contador de programa va incrementando la dirección de memoria a la que acceder. La memoria saca por su bus de datos la instrucción correspondiente a la dirección de memoria dada por el contador de programa. Esa instrucción se introduce en el procesador para su ejecución.

Una instrucción no es más que una palabra de control que a su paso por las distintas partes del procesador activa y desactiva los interruptores que lo hacen funcionar.

Todo esto admite numerosas mejoras: predictores de saltos, prebúsqueda de instrucciones, predictores de accesos a memoria, leer más de 1 instrucción por ciclo...

sonixx

#2 eso es a nivel básico, y lo sabe cualquira, pero se te olvida que hay arquitecturas que no funcionan así

D

#17
Lo del vídeo también lo sabe cualquiera, es aún más básico.
El meneo no trata otro tipo de arquitecturas. Von Neumann es lo que hay.

D

Incluso es más sencillo. Son voltios de un lado para otro. Porque lo de sacar los datos por el bus..., la gente puede que no lo entienda, pero simplemente es pasar una corrie te por un cable durante un tiempo seguido para que el procesador pueda manejar la señal y guardar la salida o llevarla a otra parte. Son como tuberías que hacen que los voltios que entran por distintas tuberías salgan por otras al final.

llorencs

#19 Sí, me pensaba que te referías a una de las porciones más pequeñas del CPU que de eso no me acuerdo nada. A ver, soy inculto, pero no a nivel tan básico. Estudié Fundamentos de Computadores hace muchos años (digo estudié porque no lo aprobé), y actualmente hago algunos desarrollos con lenguajes de alto nivel (Python), pero a nivel de electrónica de la CPU y de los buses estoy bastante muy pez.

Así que cuando lo has explicado algo a la memoria me ha venido y supongo que sí que uP es la unidad de proceso, que viene a ser la CPU como bien dices. Pero creo recordar de computadores que podía haber más uP y no solo la CPU, por ejemplo tenemos la GPU, que también es una unidad de proceso (¿verdad?) y antiguamente los 386 tenían una UP extra que se podía añadir (que ahora no me sale el nombre) ¿es correcto?

tranki

#20 Todo es lo mismo al final.
Depende de como integres los diferentes elementos.

Si coges una CPU, memoria, y otros circuitos y los metes todos en el mismo circuito integrado (chip) en vez de un microprocesador tienes un microcontrolador.

Pero es lo mismo, simplemente has integrado más cosas en un mismo componente. Pero la CPU sigue siendo la misma.

A los 386, te refieres al procesador matemático FPU. Este componente permitía a la CPU librarse de hacer cálculos matemáticos por programa.
Le mandaba a la FPU los cálculos más complejos (números en coma flotante, etc.) y se quitaba trabajo de encima.

l

#20 el coprocesador 387?
El 486 tenia una version con el copro quitado los 486SX y los normales con copro eran 486DX.
Ahora creo que tiene integrado el controlador de memoria en la CPU.

D

Ahh sí el 6052, con quad core, predictive branching, 8mb de caché y un pipeline de 12 stages.

tranki

#12 Y lo más importante, sabías como funcionaba el uP, como direcionaba la memoria, como accedías a las entradas / salidas, como se calculaban las operaciones lógicas y aritméticas, etc.

Ese programa escrito en C es sumamente simple, pero se ha cambiado el punto de vista un montón. Ya no te digo si usas otros lenguajes interpretados, no tienes ni idea de lo que está haciendo el uP.

Programar en código máquina y/o assembler, aunque puede ser tedioso, te abre la mente y desmitificas un poco lo "asombroso" que es un ordenador, y al final son "cuatro registros" construidos con puertas lógicas.
(he exagerado un poco pero para que se me entienda)

llorencs

#15 El uP es la unidad de proceso? Sorry, no tengo ni idea de la electrónica básica del ordenador.

tranki

#18 El microprocesador (o procesador a secas), efectivamente es la CPU. En español Unidad Central de Proceso es el alma del ordenador.
Este componente precisa de memoria externa donde se colocarán los datos y programas.
Además también habrán circuitos de entrada / salida para comunicarse con el exterior (teclado, monitor, impresora, etc.)

Un ordenador groso modo es eso

S

#14 puto punto.. roll

S

Ah, programando "a pelo", qué tiempos..

tranki

#6 pues mira el otro día, aceptando un reto, escribí este programa "a pelo" en assembler para la Rasp
Me hizo rememorar viejos tiempos

15-000-desarrolladores-responden-twitter-cual-lenguaje-favorito/c0215#c-215

Hace 4 años | Por --525300-- a genbeta.com

S

#8 #11 la de líneas que tirabas para hacer cualquier cosa. Pero tenía su aquel, y tenías mucho control sobre casi todo.

D

#12 mucho control y mucho fallo jodido de depurar. Todavía tengo clavado un puto fallo que fuimos incapaces de detectar con un puto busca-minas en ensamblador.

maloconocido

#14 imagina el control de un cohete programado en ensamblador, o peor, programar un ERP en ensamblador

maloconocido

#8 yeah! Aún tengo que ejecutarlo

D

#6 Si..., que pinte un formulario en una web con control de errores a ver cuánto tarda así...

D

Tan hartos estamos ya de Cataluña, Franco y las elecciones que la gente ha decidido que esto llegue a portada?

D

#9 No metas a los niños de 16 años en esto. Que cierren las tiendas de electrónica son los precios de reparar vs comprar algo nuevo y mucho mejor y de gente que está entre los 40 y 70 años actualmente, que somos los que comprábamos en vez de mandar a reparar.
Gente que cacharrea las sigue habiendo, que tú lo hicieras no significa que la gente de tu alrededor lo hiciera. Igual que ahora, que la gente a la que conoces no lo haga no quiere decir que no haya gente que lo siga haciendo. Sigue habiendo gente a la que le gusta la electrónica, el tema está en que la electrónica real muchas veces ya no está al alcance de cualquiera como tal, ya necesita más disciplinas, todo viene mucho más integrado y ahora ya hay mucho software embebido. Lo que hay ahora dentro de un auricular in-ear es mucho más de lo que podía ocupar el equivalente a un din A4.
Que si, que para aprender se puede simular todo a nivel “macroscópico”, pero ya no se puede toquetear lo que tenemos como antes.

l

#9 #13 Realmente hoy en dia las cosas podria ser mas manipulables y para las tiendas pequeñas podria ser un valor añadido respecto a los grandes almacenes, con los que no pueden competir si se venden cajas.
Si en el pasado nos tuviesemos que hacer un tornillo concreto muy poca gente podria, pero son estandar y puede encontrar un recambio.
Se podrian hacer muchas cosas facilmente programables, pero los fabricantes no quieren y hacer ingeniria inversa es casi imposible.

Tecnologia que permitirian un mundo mas personalizable:
*Programación
*Buses: No hace falta conectar algo punto a punto. Lo conectas a cualquier punto del bus y solo tienes que mandar el mensaje adecuado y el receptor saber que hacer con él. Los coches lo usan en lugar de llevar los cables punto a punto. ver CANBUS.
*Referencias e internet: Las piezas pueden tener una referencia y con internet se deberia poder encontrar la original, la version digital para imprimir en 3D u otra compatible para hacer alguna funcion diferente.
*Bibliotecas de partes: Seria dificil ponerse de acuerdo con los standares, pero si haces algo 3d es mas facil encontrar algo que esta hecho que hacerlo algo mismo y es una forma de estandarizar. Si se tiene una biblioteca "libre" de partes, es mas facil diseñar con piezas extendidas y facil de encontrar para reparar.
*Tambien se podrian añadir:protocolos, soldaduras de ultrasonidos, impresion 2d y 3d, CNC, etc

Conde_Lito

#9 Sí y no, actualmente sale mucho más barato comprar por internet, mucho más cómodo y lo mejor de todo es que además vas a encontrar cualquier componente por raro que este sea.

Yo por ejemplo suelo comprar en Mouser, que además de vender al por menor también son distribuidores, en EEUUU además de Mouser también tienes DigiKey, Arrow, Farnell y Avnet emea y aquí en Europa las divisiones Europeas de Farnell y Avnet Emea, que también son distribuidores además de vender al por menor.

De todas formas de vez en cuando suelo aprovechar e ir a una de las tiendas de toda la vida, me encanta y siempre acabo con un sonrisa en la cara sin darme cuenta durante un buen rato.
En Bilbao ya quedan pocas y tienen cuatro cosas mal contadas, si vas a compra un 555, un 741, un 4053 o los más standard de la familia 74HC(T) normalmente no tienes problemas, pero seguramente no tengan un 4558 y ya mucho menos si lo quieres de tal o cual fabricante.

Mouser hasta la fecha me ha dado un servicio impecable y mira que he comprado cosas raras, componentes raros, poco comunes actualmente e incluso con tiempo de espera para que sean fabricados, como por ejemplo los condensadores de poliester de 0.5uF/3500V que no se pueden encontrar muy facilmente, de ese voltaje ni uno standard de 0.47uF, es más necesitaba uno de papel y no de poliester, que también tenían en stock pero costaba casi 100€ y el duplicador de tensión con el de poliester iba a funcionar igual, esa vez también compré junto con el condensador unas cuantas bastántes resistencias de carbón de 1/2W...

Mouser está en Texas, si haces un pedido de más de 50€ los gastos de envío te salen gratis, hace año y pico era a partir de 20€ y de ahí que comprara en EEUU y no en alguna tienda de Europa como por ejemplo en Farnell, el envío desde Texas a Bilbao es muy rápido, tarda día y medio aproximádamente. El coste de aduana y el IVA queda calculado automáticamente antes de pagar, así que el paquete no se va a quedar retenido ni te vas a llevar una sorpresita.
Por la mañana el paquete sale del almacén y a la tarde ha llegado a París, de París a Madrid en esa misma noche y de ahí a Bilbao, normalmente me suele llegar el paquete entre las 13h y las 18h.
Todos los componentes del mismo grupo empaquetados y etiqutados en bolsas individuales. los semiconductores idem pero en bolsas antiestáticas, etc., etc.