Arquitectura retro – EL kindergarten

El primer paso es el más difícil, quisiera intentar el exponer brevemente como funciona una máquina DIGITAL DE VIDEO JUEGOS primitiva a lo Kindergarten sin muchos detalles técnicos.

http://es.wikipedia.org/wiki/Unidad_central_de_procesamiento
Placa Mega drive (genesis)

Los primeros video juegos para uso no eran digitales, eran ANÁLOGOS. Mediante circuitos PASIVOS (resistencias y condensadores) con el uso de amplificadores operacionales y transistores Ralph Baer logró producir un cuadrado en movimiento en pantalla.

ralph_baer

Para 1976 ya se habían lanzado las primeras maquinas de vídeo juegos con micro procesadores. Para nuestra fortuna una consola de juegos viejuna DIGITAL tiene pocas partes y es un esquema que se repite y hablamos de tiempos donde no había troll de patentes, eran  tiempos de la ley de la selva.

Esquema contiene:

PROCESADOR – BUS DE DATOS – RAM – ROM – ENTRADAS – PROCESADOR GRÁFICO – SALIDA DE VIDEO

Tenemos un PROCESADOR es el corazón de la máquina, no es más que una serie de circuitos electrónicos interconectados y reducidos a la máxima expresión microchip.

El PROCESADOR está construido de tal manera que al introducir una serie de instrucciones o mandatos produce una salida, y lo hace como una calculadora de “esas LCD suma papas/manzanas”, porque el primer procesador INTEL está destinado a una calculadora

La primera calculadora digital con un INTEL 4004 desarrollada por Busicom en Japón

El PROCESADOR parece ser complicado, pero es más sencillo entender si se compara con una calculadora.

Para ejecutar cada una las instrucciones se utilizan una serie de pequeños bancos o REGISTROS  de 8 bits o 16 bits. Un poco más claro en número de monos humanos  hasta el 255 se puede almacenar en 8 bits y  hasta el 65535 en 16 bits.

Estos registros son poco y se destinan almacenar temporalmente los datos de entrada de las instrucciones, la instrucciones claro esta son el SOFTWARE.

Analogía de Kindergarten de la CPU es un ábaco no tiene mas que las líneas de ábaco así que sumar y restar es solo cambiar entre las líneas del ábaco.

Es claro que estos aparatos viejos solo trabajan con enteros positivos como las papas/manzanas/zanahorias que no son negativas, ni fraccionarias, ni irracionales.

Existen muchos tipos de instrucciones o mandatos que puede realizar el PROCESADOR. Algunas como la asignación de datos a un registro, operaciones aritméticas entre registros,  mover/copiar/borrar datos de la memoria RAM/ROM, comparación/suma/resta de números y saltos de programa (o salto-comparación).

EL SOFTWARE o esta serie de instrucciones son recibidas directamente desde un dispositivo de almacenamiento en nuestro caso una ROM o sencillamente una memoria,  “cartucho”, que es de solo lectura y que accede a través de un BUS DE DATOS.

borrar

La analogía Kindergarten es que un BUS DE DATOS es como una banda transportadora pero que solo puede transportar una caja a la vez

En otras palabras el PROCESADOR accede a todos los elementos como si se tratara de un libro de datos que se accede a través de un número de página. Claro el ancho de bus  es el mismo ancho o número los bits es el mismo que numero máximo del procesador que era  8 o 16 btis.

Lo genial porque cuando enciendes una consola viejuna esta lee directamente la ROM  en búsqueda de instrucciones y no tienes que esperar una pantalla de carga y el logotipo de la consola si existe se guarda en la ROM del juego.

Comprar un DLC esperar un parche etc son cosas muy chulas que no teníamos en los 80s, todo gracias a que no puedes modificar una ROM.

Este tipo de ROM permite borrado mediante luz ultravioleta y es el mas comúnmente usado en la actualidad

La velocidad de la lectura del programa la controla un reloj o más bien un oscilador de cuarzo que sincroniza el sistema (los famosos Hz hercios de potencia). De esta manera un contador en el procesador lee secuencialmente cada una instrucciones y las acata ordendamente. Algunas instrucciones pueden ejecutarse en un ciclo de reloj  (1 HZ) y otras pueden tomar 2 o 4 según lo indique el fabricante del procesador. La velocidad de procesamiento depende de la  respuesta de los semiconductores o  latencia,  y la precisión depende del número de integrados dentro del chip.

Imagen
La analogía kindergarten del reloj es el tipo que te latiga cada segundo para que te muevas más rápido. Si no te da látigo pues paras pero  a mas látigo mas rápido

Existe conectado al bus de direcciones y de lectura un chip que se encarga de almacenar  información o “memoria” RAM que se borra cuando se apaga.  En nuestros aparatos viejunos cuantos kilobytes son suficientes. Si comparamos con el 2016 estamos sugiriendo unos millones de veces mayor, les dejo el cálculo y  tampoco será un lió.

Que guardamos en la RAM?  pues información como puntuación, datos gráficos y cualquier cosa que podamos usar después. En consolas viejas no se guardan instrucciones en RAM!

https://i2.wp.com/imrannazar.com/content/img/jsgb-mmu-map.png
Mapa de memoria GB

Encontramos los SISTEMA DE ENTRADA  osea los botones.  Es claro son interruptores pulsadores apagado y prendido o un circuito que hace las veces de interfaces como el (S)NES.

Finalizando y siendo lo más importante en una consola viejuna esta el PROCESADOR DE VIDEO, que tiene muchos nombres según la consola retro así que a esta le enviamos instrucciones, sprites tiles, etc. Explicare algunos detalles antes de terminar este pequeño articulo.

https://i2.wp.com/emu-docs.org/Genesis/mega3.png
Arquitectura Mega Drive

Llegamos a unas aclaraciones muy importantes:

  1. No hay misterio en las consolas viejunas, son un libro abierto.
  2. Todas las consolas usan procesador y generalmente en los 80′ y 90´ eran clonicos  o derivaciones de versiones de otros procesadores. Como ejemplos los Zilog y los Motorola eran los más populares.
  3. Toda consola viejuna tiene un bus de direcciones y cuando miras una hoja. En explicaciones avanzadas veras como esta memoria se divide según cada aplicación o video consola.
  4. Pueden existir varios chip RAM para guardar diferentes datos, los datos del programa, los datos de video, sonido etc.
  5. El número de direcciones de RAM y ROM son muy limitadas por lo que los cartuchos podían implementar circuitos adicionales para engañar al sistema haciéndole creer que solo accedemos a la memoria direccionada cuando en realidad esta es mayor.
  6. Algunos cartuchos tiene ROM y RAM adicionales lo que era muy común, también agregaban una pequeña batería para guardar las partidas décadas antes de las flash-RAM (pendrives)
  7. Incluso el cartucho podía incluir procesadores adicionales.
  8. Las consolas más avanzadas como la Gameboy Advance (GBA) incorporan ya una DMA que en resumen es un controlador de memoria e independiente al procesador.
https://i1.wp.com/www.sqa.org.uk/e-learning/CompArch02CD/images/pic011.jpg
DMA

para aclarar una datos de BITS y MEGAHERCIOS pueden leer estos articulos:

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s