El 6309 es la versión CMOS de Hitachi del microprocesador Motorola 6809 , con datos preliminares disponibles en 1985. [ 1 ] Inicialmente se comercializó como una versión de bajo consumo del 6809, sin hacer referencia a sus numerosas mejoras internas.
En modo de emulación, es totalmente compatible con el 6809. A las especificaciones del 6809 se le añaden frecuencias de reloj más altas, funciones mejoradas, nuevas instrucciones y registros adicionales . La mayoría de las nuevas instrucciones se añadieron para dar soporte a los registros adicionales, así como a operaciones matemáticas de hasta 32 bits, división por hardware, manipulación de bits y transferencia de bloques. El 6309 es generalmente un 30 % más rápido en modo nativo que el 6809.
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. Posteriormente, Hirotsugu Kakugawa publicó detalles de las nuevas características del 6309 e instrucciones para comp.sys.m6809. [ 2 ] Esto condujo al desarrollo de NitrOS-9 [ 3 ] para la Tandy Color Computer 3 .
Modelo de programación

Diferencias con el Motorola 6809
El modelo 6309 se diferencia del 6809 en varios aspectos clave.
Tecnología de procesos
El 6309 está fabricado con tecnología CMOS , mientras que el 6809 es un dispositivo NMOS . Por lo tanto, el 6309 requiere menos energía para funcionar que el 6809.
Aunque se trata de un diseño dinámico (la hoja de datos [ 4 ] especifica una frecuencia de reloj mínima de 500 kHz y perderá su estado si la velocidad de reloj es demasiado baja), puede pausarse hasta 15 ciclos. Esto resulta útil para el acceso directo a la memoria, ya que permite que los dispositivos externos pausen la CPU para liberar el bus de memoria , leer o escribir pequeñas cantidades de memoria y, posteriormente, reanudar la CPU. No se requiere ninguna otra lógica.
Velocidad del reloj
El 6309 tiene versiones B (2 MHz), al igual que el 6809. Sin embargo, se produjo una versión con 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 consultada. (Varias computadoras japonesas tenían CPU 63C09 con un cristal de ráfaga de color de 3,58 MHz , por lo que la clasificación de 3,5 MHz parece la más probable). Informes anecdóticos e individuales indican que la variante 63C09 puede funcionar a 5 MHz sin efectos adversos. Al igual que el 6809, la CPU Hitachi viene en versiones con reloj interno y externo (HD63B/C09 y HD63B/C09E, respectivamente).
Eficiencia computacional
Al activar el modo nativo 6309 (en lugar del modo predeterminado compatible con 6809), muchas instrucciones clave se completarán en menos ciclos de reloj. Esto suele mejorar 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 de 16 bits, 'W'. El acumulador D de 16 bits del 6809 se puede concatenar con W para formar un acumulador de 32 bits, 'Q'. Es probable que D sea la abreviatura de 'Double' y Q de 'Quad', en referencia a la cantidad de bytes que almacenan.
- Registro de transferencia 'V' para instrucciones entre registros. Su valor no se ve afectado por un reinicio de hardware, por lo que puede mantener un valor constante, de ahí la denominación 'V'.
- Registro cero de 8/16 bits '0' para acelerar las operaciones mediante una constante cero. Este registro siempre lee cero y las escrituras en él se ignoran.
- El registro de modo 'MD' es un registro secundario de código de condición 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 gestionar la presencia de los registros adicionales, como carga, almacenamiento, suma, etc. Las adiciones genuinas del 6309 incluyen aritmética entre registros, transferencias de bloques, división por hardware y manipulación a nivel de bits. Además, los registros D y W de 16 bits pueden ser el destino de aritmética de 16 bits con acarreo y operaciones de desplazamiento y rotación de 16 bits. En el 6809, estas operaciones están limitadas a operandos de 8 bits.
A pesar de la facilidad de uso de las instrucciones adicionales, los análisis realizados por expertos en programación del 6809 indican que muchas de las nuevas instrucciones son en realidad más lentas que el código equivalente del 6809, especialmente en bucles muy ajustados.
La mayoría de las nuevas instrucciones utilizan prefijos de código de operación que las hacen más lentas en un ciclo en comparación con instrucciones similares del 6809. Por otro lado, el modo nativo del 6309 ejecuta muchas instrucciones más rápido en uno o más ciclos. A continuación, se muestra una comparación de tiempos de una instrucción LD de 8 bits para los registros 'A' y 'E' en el 6809 y el 6309:
Las operaciones entre registros y las nuevas operaciones de 16 bits presentan resultados mixtos. Dependiendo del modo de direccionamiento y del modo 6309, el código equivalente en el 6809 puede ser más rápido. A modo de ejemplo, analicemos la temporización de la instrucción OR exclusiva.
Como se indica en la tabla anterior, la operación OR exclusiva del registro D de 16 bits con parámetro inmediato puede reemplazarse por dos instrucciones de 8 bits, EORA imm y EORB imm, y se ejecutará más rápido cuando el procesador 6309 funcione en modo de emulación. Sin embargo, cabe destacar que la secuencia de instrucciones de 8 bits EORA imm y EORB imm no es un equivalente exacto de la instrucción EORD imm de 16 bits, ya que el registro de código de condición CC se establece según el resultado de la operación de 8 bits en el primer caso y según el resultado de la operación de 16 bits en el segundo.
Un problema similar se presenta con la instrucción EORR entre registros. Esta acepta operandos de 8 y 16 bits y siempre se ejecuta en 4 ciclos. Sin embargo, para operandos de 8 bits, es más rápido usar las instrucciones EORA imm o EORB imm cuando sea apropiado. Además, cuando el 6309 se ejecuta en modo nativo, las instrucciones EORA direct y EORB direct solo tardan 3 ciclos, uno menos que la operación entre registros.
Características de hardware adicionales
Es posible cambiar el modo de operación de la interrupción FIRQ. En lugar de apilar los registros PC y CC (comportamiento normal del 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 modos de trampa posibles: uno para la captura de una instrucción ilegal y otro para la división por cero. La captura de una instrucción ilegal no se puede enmascarar, y muchos usuarios de la TRS-80 Color Computer informaron que sus 6309 presentaban errores, cuando en realidad se trataba de un indicador de funciones mejoradas y desconocidas.
Características no documentadas
Existe un registro adicional, llamado M, que se utiliza para almacenamiento temporal y que también está disponible para su uso. [ 5 ]
Referencias
- ↑ Hitachi (1985). Manual de datos de microcomputadoras multichip de 8/16 bits (PDF) . Hitachi. pág. 284. Consultado el 21 de abril de 2026 .
- ^ Kakugawa, Hirotsugu (23 de febrero de 1992). "Una nota sobre las características secretas de 6309" . Grupo de noticias : comp.sys.m6809 . Usenet: KAKUGAWA.92Mar5202606@huisav4.csl.hiroshima-u.ac.jp . Consultado el 17 de septiembre de 2024 .
- ↑ "El proyecto NitrOS-9" . SourceForge . 17 de diciembre de 2023.
- ↑ Hitachi. HD63BO9E, HD63CO9E MPU (Unidad de Microprocesamiento) CMOS (Hoja de datos) – vía Archive.org.
- ↑ David Banks. "Comportamientos no documentados 6309" . GitHub .
Enlaces externos
- Artículo publicado en la edición de abril de 1988 de Oh! FM (en japonés).
- El "Memorándum sobre las características secretas del 6309" original de Hirotsugu Kakugawa y el hilo en el archivo Usenet de Google.
- Guía de referencia técnica HD63B09EP
- Burke, Chris (2013) [1993]. El libro del 6309: Dentro del microprocesador 6309 (PDF) (2.ª ed.).
- Conjuntos de instrucciones del microprocesador 6x09 archivados el 23/10/2016 en Wayback Machine.
- [Información de montaje y mnemotecnia 6809/6309 (PDF) Por Chris Lomont, Versión 1.2, mayo de 2007]
- Comparación de las listas de instrucciones 6809 y 6309
- Productos Hitachi
- microprocesadores de 8 bits