logitech888 escribió:Entiendo, creo, la diferencia entre emular por software (mi PC con retroarch por ejemplo) y un hardware específico que reproduce fielmente las lógicas del hardware original y que por lo tanto obtiene resultados idénticos. Lo que se me escapa es porque no se necesita una "placa" específica para cada sistema.
Saludos, logitech888. La mister incluye una FPGA, que es un tipo de lógica reconfigurable. Eso es lo que le permite implementar distintos sistemas. Por lo tanto, para aclarar tu duda debo intentar explicar como funciona la lógica reconfigurable. Pido disculpas por adelantado si no lo consigo o si las analogías que expongo a continuación os parecen demasiado burdas.
Para empezar, examina el juguete educativo de la figura:
El propósito del juguete es enseñar a construir distintos circuitos electrónicos descritos en el manual. El la caja hay una regleta, un conjunto de componentes electrónicos y una serie de varillas conductoras. Los componentes están encapsulados en cajas de plástico transparente con unos conectores de medidas especiales para insertarlos en la regleta, de modo que en principio solo puedes usar los componentes que vienen en la caja. Las varillas sirven para interconectar los componentes de la placa, y tienen también unas medidas especiales, de modo que solo puedes usar las que vienen en la caja. A pesar de esas restricciones, seleccionando distintos componentes de los disponibles y eligiendo su interconecxión, el juego permite crear multitud de circuitos distintos. Por tanto se trata de un circuito "configurable". Además, después de hacer un circuito puedes desenchufar de la placa todos los componentes y varillas para hacer otro circuito distinto, es decir, es reconfigurable.
Supón ahora que, con el propósito de ahorrarte el usar las varillas, modificas la regleta añadiéndole multitud de mini-interruptores en la parte posterior. Cada interruptor lo conectas a un par de agujeros de la regleta. De esta forma, para interconector dos agujeros ya no te hace falta insertar una varilla. En lugar de eso solo tienes que cerrar el interruptor correspondiente. Por lo tanto, para variar el circuito solo tienes que abrir o cerrar los interruptores. Los chips de lógica configurable funcionan de esa forma: Los componentes ya están fijos en el chip, pero es posible variar su interconexión abriendo y/o cerrando estos "interruptores". En algunos tipos de lógica configurable, en lugar de "interruptores" hay fusibles (o antifusibles) que, una vez fundidos, no pueden volver a su estado original, por lo que el dispositivo solo puede configurarse una vez (no es reconfigurable).
Como último paso en la analogía, supón que los interruptores están controlados por tensión. Si la terminal de control del interruptor tiene un valor lógico 1 el interruptor se cierra y si tiene un valor lógico 0 se abre. Cada una de las terminales de control de los interruptores se conecta a una celda de una memoria. Esto permite decidir que interruptores estarán abiertos y cuales estarán cerrados decidiendo el contenido de dicha memoria. Si la memoria es re-escribible, el circuito puede reconfigurarse escribiendo en ella. Muchos tipos de lógica reconfigurables funcionan de esa forma, permitiendote variar los circuitos que implementa simplemente reescribiendo su memoria de configuración. Ten en cuenta que dichos circuitos no se están emulando, sino que se están construyendo realmente en la reconfiguración.
P.D. La "P" de FPGA viene de "programable". Esa palabra puede dar lugar a confusión porque lo que se escribe en la memoria de la FPGA no es realmente un programa sino los bits de configuración (bitstream).