Hay un Microcontrolador con 16MB de Ram?
Sí. El único que conozco, sin embargo, es en la Renesas SuperH de la familia, y no incluye ninguna ROM - así que tienes que tener flash externo, pero ha 16MBytes de memoria SRAM.
Estoy buscando a escribir un emulador de la Sega Megadrive (Sega Genesis) que se ejecuta en AVR.
No hay 16MByte SRAM microcontrolers en el Atmel AVR de la familia. O en cualquier lugar en el Atmel línea de productos.
Sin embargo, varios dispositivos en el Atmel AVR formación Externa Interfaz de Bus que te permite conectar memoria adicional. Específicamente, el ATxmega128A1U puede soportar hasta 16MBytes de SRAM externa.
Por lo que he estado buscando un Micro-controlador que tiene características similares a las de Motorola 68k que se entregan con la MegaDrive.
...
Estoy seguro de que la moderna SRAM no es casi lo mismo que cualquiera que sea el 68k tenido, pero es posible para mí para conseguir un AVR micro que coincide con la potencia de un 68k, estoy mirando este problema mal? ¿Necesito cambiar mi diseño para acomodar moderno micros?
No sé si alguna fuente externa de la memoria será lo suficientemente rápido.
Ah, aquí está el problema que estamos teniendo.
El procesador 68k (es decir, el Motorola 68000) NO es un microcontrolador y NO tiene 16MBytes de SRAM interna.
Mientras que el procesador es de 32 bits internamente, debido a pin limitaciones que sólo puede direccionar hasta 16MBytes de memoria externa, incluyendo flash, sram, y cualquier asignados a la memoria de los dispositivos.
Usted no necesita un microcontrolador con 16MBytes de SRAM interna para emular el procesador 68k.
Hay un Atmel AVR de 8 bits del microcontrolador que se puede emular el Motorolla procesador 68000?
Yo así lo creo. El ATxmega128A1U tiene una memoria externa de autobús tan grande como el procesador 68k del autobús, y tiene un montón de flash y RAM que le permitan ejecutar una versión de microcódigo del procesador 68k.
Puede ejecutar hasta 32MHz, y muchas instrucciones de tomar un ciclo, pero incluso en el peor de los casos tarda de 5 ciclos en la memoria interna. La interfaz externa es más lento, pero si usted elige memoria rápida que todavía va a ser mucho más rápido que el de 68k.
El procesador 68k, no solo se corre 4 veces más lento, pero la más rápida de operaciones, toma al menos 4 ciclos de reloj, y muchos toman de 2 a 4 veces más de tiempo, particularmente accesos a la memoria.
Así que incluso con lento (por estándares de hoy) SRAM (es decir, un 70 ns 8MByte parte por menos de $10) puede utilizar 0 estados de espera en la 32MHz procesador y correr en círculos alrededor de la 68k ejecutando en 7MHz. Por ejemplo, un simple movimiento de la instrucción en el 68k que llevaría a 4 ciclos en 7.61 MHz toma 525 nS. Un simple similar mover la instrucción en el ATxmega128A1U corriendo a 32MHz toma 31nS. Así que el AVR podría ejecutar 16 mueve por el tiempo que el 68 fue hecho con uno. 68 k lleva el 50 ciclos para algunos tipos de interrupción, mientras que el AVR salta a la interrupción en 3 ciclos - de modo que el AVR podría manejar un puñado de interrupciones en el tiempo que tarda el 68k simplemente saltar en uno.
Espero que usted podría ejecutar el ciclo precisa con un cuidadoso esfuerzo si acepta alguna fluctuación, aunque usted puede ser capaz de conseguir que se ejecute a la perfección el ciclo precisa sin jitter si se meticulosa. El AVR procesadores se ejecuta bien, con moderada overclocking, por lo que probablemente se podría ejecutar en 38.35 MHz y 5 AVR ciclos por 68k ciclo de reloj.
Esto no es decir que sería fácil, y puede haber algunos muy complicado instrucciones que tardaría más en el AVR, de lo contrario -, pero incluso estos pueden ser explicados con un diseño cuidado.
Puedo emular un Sega Genesis con un Atmel AVR de 8 bits?
No. El Sega Genesis, en su corazón, un procesador 68k, pero también tiene un procesador de sonido (Z80) y un procesador de vídeo que usted necesita significativamente más recursos para emular. En el diagrama a continuación, usted encontrará el procesador 68k en la parte superior izquierda de la nota que es una pequeña parte de todo lo necesario para emular un total de Sega Génesis del sistema.
Así, mientras que usted fácilmente podría emular el 68k núcleo de la Sega Genesis, usted no será capaz de ejecutar juegos hechos para la Génesis con un solo microcontrolador AVR. Emulando el 68k sola en un chip sería bastante difícil - incluso si usted simplificado las cosas dudo que podría caber los tres procesadores en un solo 32MHz chip AVR.
Sin embargo, usted probablemente podría emular los dos chips con dos más AVRs. Si usted mira una simple pantalla gráfica LCD que no requieren extraño NTSC y horarios de generación, usted podría ser capaz de simplificar un poco las cosas, y tal vez incluso podría poner ambas funciones en un chip.
Este es un proyecto enorme, aunque, ciertamente, no es un proyecto de fin de semana. Si usted está en la etapa en la que sólo están cómodos con Arduino placas de desarrollo, entonces podría ser interesante crear un sencillo procesador 68k emulador y conectar un poco externo de memoria RAM y ROM de accesos a la memoria. El Arduino ATMega no tiene una memoria externa de la interfaz, pero se puede juguetear con líneas de e/S y emular así. Si te alejas lo suficiente a lo largo del proyecto donde se puede emular simple 68k programas, entonces puede ser vale la pena amaraje arduino, utilizando el Atmel entorno de desarrollo y un mejor chip AVR con un bus externo de la interfaz, y usted puede comenzar a leer y ejecución de los cartuchos. Usted podría incluso ser capaz de tubería de vídeo y sonido de datos para el ordenador y los interpretan en el procesamiento - que va a ser todavía demasiado lento (el Arduino Mega es sólo 16MHz) pero al menos le dará una buena idea de la cantidad de trabajo que tendría que hacer para tener completa la velocidad de la emulación, y usted puede comenzar a juguetear con cuánto esfuerzo sería para emular el VDP y los procesadores de sonido.
Asegúrese de que sus rutinas de emulación son portátiles y usted será capaz de cambiar a un mejor procesador, más que suficiente de que usted no será atrapado.
Si el simple Arduino Mega proyecto nunca llega muy lejos, no has perdido muchos recursos en este proyecto. Si usted se encuentra impulsado a finalizarlo, para pasar a una más capaz chip Atmel no va a ser tan abrumadora.
Yo digo que darle una oportunidad. Algunos de los que he dicho y que otros han dicho, puede parecer que esto es insuperable, pero no nos deja en su camino. Sigue haciendo preguntas cada vez que se ejecuta en un obstáculo y usted encontrará que la mayoría de los ingenieros de disfrutar de un desafío y le dará la comprensión y la ayuda que necesita ir muy lejos por este camino.
La emulación es un montón de diversión.