Hace 1 año | Por escritor_espora... a falstad.com
Publicado hace 1 año por escritor_esporadico a falstad.com

Simulación del juego de 1972 Atari Pong. El Pong original no tenía nada de código ni microprocesadores. Era todo un circuito, implementado mayormente usando puertas lógicas, unos cuantos temporizadores y otros componentes analógicos.

Comentarios

A

#7 Coincido. para mí hay algoritmo y hay código. la diferencia es que es físico y sólo sirve para una función determinada. Puedes controlar un ascensor al 100% con puertas lógicas tipo SNxx, pero si quieres cambiar algo habrá que reemplazar todo el hardware (o al menos retocarlo) en cambio con un microprocesador probablemente baste con cambiar o añadir unas líneas de código.

S

#2 #1 Quizás esto empiece a convertirse en algo filosófico, creo que lo que quiere transmitir la noticia es claro y se entiende, o eso espero. Por lo demás, mientras mas te mueves a bajo nivel, la diferencia entre hardware y software se vuelve bastante difusa.

Tannhauser
D

#4 Yo soy mas de donuts....

z

#1 Pues sí, en la carrera el ejemplo que nos pusieron de algoritmos implementados en hardware era el de Tomasulo
https://es.wikipedia.org/wiki/Algoritmo_de_Tomasulo

Democrito

#5 Mira que me costó entender al señor Tomasulo. La risita generalizada en clase cada vez que pronunciaban su nombre tampoco ayudaba.

Aiarakoa

#5, el algortimo de Tomasulo, implementarlo es un por...

cc/ #1

F

#1 Bueno, dice que no hay código y eso es verdad. No dice que no haya un algoritmo.

D

#1 Siempre que haya necesidad de interpretar unos y ceros para un objetivo específico, habrá un algoritmo. Independientemente de si ese algoritmo es interpretado por software o pura y exclusivamente por hardware.

Tienes razón en lo que dices.

No obstante, creo que todos entendemos qué quiere decir el autor del artículo.

Jesulisto

#1 De hecho, Veritassium tiene por ahí un vídeo sobre computación y computadores analógicos, yo creo que en este caso nos encontramos ante una especie de computador analógico lo que, como tú dices, no excluye que exista un algoritmo que lo controle.

N

Venía a esto y lo encuentro en #1

m

#1 Creo que aquí falta el concepto instrucción. Pienso que si el sistema usa instrucciones o microinstrucciones, aunque sea en binario, o aunque sean microinstrucciones mapeadas a nivel físico, . es un sistema programable. Si el sistema no admite instrucciones no. Evidentemente, eso no significa que el comportamiento del circuito no puedas convertirlo en algoritmo sobre papel, pero igual que puedes convertir en algoritmo el comportamiento de una piedra caiendo por una rampa, eso no significa que la piedra sea programable.

Un ascensor, se puede programar usando un microprocesador con instrucciones, pero también puedes hacerlo con componentes electrónicos tipo multiplexores, transistores.. sin un microprocesador con instrucciones. Sobre el papel lo puedes convertir en algoritmo en ambos casos, pero el sistema no es programable en el segundo.

D

#19 Respecto a lo que dices:
. Evidentemente, eso no significa que el comportamiento del circuito no puedas convertirlo en algoritmo sobre papel
Es al revés. TODO algoritmo se puede convertir en un circuito, que es lo que se ha hecho con este juego.

Mezclas conceptos que no van necesariamente de la mano.

Un código es la implementación de un algoritmo.
Una instrucción es un comando para ejecutar en un procesador capaz de ejecutar múltiples comando diferentes.
SOLO en los procesador capaces de ejecutar varios comandos a la vez se puede hablar de "instrucción".
En un entorno donde no hay procesadores multi-instrucción el término en sí carece de sentido.

Es la conversión de la implementación de un algoritmo - es decir un CÓDIGO - en un DETERMINADO medio - por ejemplo un procesador - a través de un compilador lo quye genera instrucciones.

PERO si creas un compilador que en lugar de generar instrucciones para un procesador te genere un circuito de puertas lógicas, ya no tienes instrucciones. El propio circuito es el código.

De hecho, puedes generar tu mismo el circuito en múltiples herramientas.
¿Cual es el código? El mismo diagrama del circuito
¿Hay instrucciones? No

Resumiendo: Un código NO requiere instrucciones, solo allí donde hay procesadores multi-instrucciones.

Ejemplo:
La máquina enigma tiene un algoritmo, pero no tiene instrucciones, ya que es está implementada en hardware de la forma causa-efecto.
¿Tiene código la máquina enigma?
Bien, es discutible, yo creo que su esquema es el código.

m

#20
Un código es la implementación de un algoritmo.
Una instrucción es un comando para ejecutar en un procesador capaz de ejecutar múltiples comando diferentes.
SOLO en los procesador capaces de ejecutar varios comandos a la vez se puede hablar de "instrucción".
En un entorno donde no hay procesadores multi-instrucción el término en sí carece de sentido.


Hasta aquí no veo donde está la contradicción con lo que digo ni la relación.

Estás corrigiendo el artículo cuando creo que está bien dicho.
"El juego no usaba nada de código ni procesadores" se entiende que el sistema no es programable, que no había instrucciones que el procesador deba ejecutar, ni procesador, claro.
A lo que se refiere es a que si se hace esto:
De hecho, puedes generar tu mismo el circuito en múltiples herramientas.
¿Cual es el código? El mismo diagrama del circuito
¿Hay instrucciones? No

No hay código ni microcódigo en el sistema. No hay instrucciones almacenadas en el sistema.

DDJ

#1 Por esas cosas no te invitan a las fiestas

D

#21 No es por eso. Es porque no me dejan salir después de las 12.
Sino me invitarían. Seguro.

E

#1 Si el esquemático fue diseñado sin usar un HDL (https://en.wikipedia.org/wiki/Hardware_description_language), pues no hay código. Que cualquier algoritmo se pueda implementar con un ASIC (https://en.wikipedia.org/wiki/Application-specific_integrated_circuit) , no significa que para ello hagas uso de código (codificar dicho algoritmo usando un lenguaje).

D

#24 No lo digas muy alto ahora que tengo muchos votos lol lol lol

Bueno la verdad que igual tienes razón, pero no se si también es una cuestión normativa o fliosófica.

C

#1 no solo puertas. Hacen falta mínimo biestables o registros para implementar un sistema secuencial como este

D

#26 Un biestable (flip flop) se puede hacer con puertas lógicas.
Un registro si, cierto, pero no implica el uso de un procesador.

C

#27 tal y como lo dices parece que solo hacen falta circuitos combinacionales y no, es más complejo que eso
De todas maneras no veo qué tiene de asombroso que lo hicieran así. Hay sistemas más complejos que ese que fueron hechos sin necesidad de programa compilado y antes de las fpgas

D

#29 No tiene nada de asombroso, ese es mi punto.

D

Como todos los juegos de la época. Incluso cuando ya se usaban microprocesadores para la lógica de juego, algunos aspectos como el sonido seguían implementándose mediante circuitería "a pelo".

juvenal

¿Y qué es un microprocesador más que circuitos encapsulados en un espacio pequeño?

Rosquis

Lleva unos años emulado en el MAME, por cierto.

hexion

Infinitos FPS

c

#3 por supuesto que no. Aunque fuera un sistema completamente analógico, se vería limitado por su ancho de banda

SaulBadman

#3 Para nada. Al estar todo dirigido por la frecuencia de refresco de la pantalla, esto sería como tener el VSync activado

hexion

#32 Conéctalo a una pantalla a 100Hz, y luego a una que soporte 120Hz...