El 6309 es la versión CMOS de Hitachi del microprocesador Motorola 6809 . Mientras está en "Modo de emulación", es totalmente compatible con el 6809. A las especificaciones del 6809, agrega frecuencias de reloj más altas, funciones mejoradas, nuevas instrucciones y registros adicionales . La mayoría de las instrucciones nuevas se agregaron para admitir registros adicionales, así como matemáticas de hasta 32 bits, división de hardware, manipulaciones de bits y transferencias de bloques. El 6309 es generalmente un 30% más rápido en modo nativo que el 6809.
Sorprendentemente, esta información nunca fue publicada por Hitachi. El número de abril de 1988 de Oh! FM , una revista japonesa para usuarios de computadoras personales Fujitsu, contenía la primera descripción de las capacidades adicionales del 6309. Más tarde, Hirotsugu Kakugawa publicó detalles de las nuevas funciones e instrucciones del 6309 en comp.sys.m6809. Esto llevó al desarrollo de NitrOS9 [1] para Tandy Color Computer 3 .
Modelo de programación
Diferencias con el Motorola 6809
El 6309 se diferencia del 6809 en varias áreas clave.
Proceso tecnológico
El 6309 está fabricado con tecnología CMOS , mientras que el 6809 es un dispositivo NMOS . Como resultado, el 6309 requiere menos energía para funcionar que el 6809. Se puede usar con DMA externo sin necesidad de actualizar después de un máximo de 15 ciclos como lo hace el 6809. Es un diseño dinámico . La hoja de datos especifica una frecuencia de reloj mínima y perderá su estado cuando la velocidad del reloj sea demasiado baja.
Velocidad de reloj
El 6309 tiene versiones B (2 MHz) al igual que el 6809. Sin embargo, se produjo una clasificación de velocidad "C" con una frecuencia de reloj máxima de 3,0 o 3,5 MHz, según la hoja de datos a la que se hace referencia. (Varias computadoras japonesas tenían CPU 63C09 sincronizadas a 3.58 MHz, la frecuencia de explosión de color NTSC , por lo que la calificación de 3.5 parece más probable). Los informes anecdóticos e individuales indican que la variante 63C09 se puede sincronizar a 5 MHz sin efectos nocivos. Al igual que el 6809, la CPU Hitachi viene en versiones de reloj interno y externo (HD63B / C09 y HD63B / C09E respectivamente)
Eficiencia computacional
Cuando se cambia al modo nativo 6309 (a diferencia del modo compatible con 6809 predeterminado), muchas instrucciones clave se completarán en menos ciclos de reloj. Esto a menudo mejora la velocidad de ejecución hasta en un 30%.
Registros adicionales
- Dos acumuladores de 8 bits : 'E' y 'F'. Estos se pueden concatenar para formar un acumulador 'W' de 16 bits. El acumulador D de 16 bits 6809 existente se puede concatenar con W para formar el acumulador 'Q' de 32 bits. Es probable que D sea la abreviatura de 'Double' y Q de 'Quad', la cantidad de bytes que contienen.
- Transfiera el registro 'V' para obtener instrucciones entre registros. Su valor no se ve afectado por un reinicio de hardware, por lo que puede retener un valor constante, por lo tanto, 'V'.
- Registro cero de 8/16 bits '0' para acelerar las operaciones utilizando una constante cero. Este registro siempre lee cero y las escrituras en él se ignoran.
- Registro de modo 'MD', un registro de código de condición secundario que controla el modo de funcionamiento. Solo se definen 4 bits de este registro.
Instrucciones adicionales
La mayoría de las nuevas instrucciones son modificaciones de las instrucciones existentes para manejar la existencia de registros adicionales, como cargar, almacenar, agregar y similares. Las adiciones genuinas del 6309 incluyen aritmética entre registros, transferencias de bloques, división de hardware y manipulaciones a nivel de bits.
A pesar de la facilidad de uso de las instrucciones adicionales, el análisis realizado por 6809 gurús de la programación [ ¿quién? ] indica que muchas de las nuevas instrucciones son en realidad más lentas que el código 6809 equivalente, especialmente en bucles estrechos. [ cita requerida ] Se debe hacer un análisis cuidadoso para asegurar que el programador use el código más eficiente para la aplicación en particular.
Funciones de hardware adicionales
Es posible cambiar el modo de operación de la interrupción FIRQ. En lugar de apilar los registros de PC y CC (comportamiento normal de 6809), la interrupción FIRQ puede configurarse para apilar todo el conjunto de registros, como lo hace la interrupción IRQ. Además, el 6309 tiene dos posibles modos de captura, uno para la obtención de instrucciones ilegales y otro para la división por cero. La búsqueda ilegal de instrucciones no se puede enmascarar, y muchos usuarios de TRS-80 Color Computer informaron que sus 6309 tenían "errores" cuando en realidad era un indicador de características mejoradas y desconocidas.
Referencias
enlaces externos
- Artículo del número de abril de 1988 de Oh! FM (japonés)
- La "nota secreta 6309 de características" original de Hirotsugu Kakugawa y el hilo en el archivo de Usenet de Google
- HD63B09EP Guía de referencia técnica
- Conjuntos de instrucciones de microprocesador 6x09
- Referencia del conjunto de instrucciones para 6809/6309 (PDF) Por Chris Lomont
- Comparación de la lista de instrucciones 6809 y 6309