El Motorola 6809 (" sesenta y ocho-cero-nueve ") es una CPU con microprocesador de 8 bits con algunas características de 16 bits . Fue diseñado por Terry Ritter y Joel Boney de Motorola y presentado en 1978. Aunque la fuente era compatible con el Motorola 6800 anterior , el 6809 ofrecía una gran cantidad de mejoras y diseños contemporáneos de 8 bits como el 6502 , incluida una multiplicación de hardware. , matemáticas, el usuario y el sistema de 16 bits registros de la pila para una rápida operación del sistema de cambios de contexto , la mejora de las interrupciones y código independiente de la posición para hacer gestión de memoria más sencilla.
Información general | |
---|---|
Lanzado | 1978 |
Fabricante (s) común (es) | |
Actuación | |
Ancho de datos | 8 |
Ancho de la dirección | dieciséis |
Arquitectura y clasificación | |
Conjunto de instrucciones | 6809 |
Instrucciones | 59 |
Especificaciones físicas | |
Transistores |
|
Paquete (s) |
|
Aunque se encontraba entre los procesadores de 8 bits más potentes de su época, también era mucho más caro; en 1980, un 6809 en cantidades de una sola unidad costaba $ 37 en comparación con $ 9 para un Zilog Z80 y $ 6 para un 6502. [1] Además, se lanzó al mismo tiempo que una nueva generación de diseños de 16 bits como el Intel 8086 , y diseños de 32 bits estaban en el horizonte, incluido el propio 68000 de Motorola . No era competitivo en cuanto a características con los diseños más nuevos ni en precio competitivo con los más antiguos, por lo que tuvo relativamente poco uso en el mercado.
Encontró uso en las computadoras domésticas TRS-80 Color Computer , Dragon 32/64 y Thomson MO / TO , el sistema de juego Vectrex y máquinas recreativas de principios de la década de 1980, incluidas Star Wars , Defender , Robotron: 2084 , Joust y Gyruss . La serie II de la estación de trabajo de audio digital Fairlight CMI y el juego de arcade Time Pilot '84 de Konami utilizan procesadores duales 6809. [2]
Hitachi fue un usuario importante del 6809 y luego produjo una versión más actualizada como Hitachi 6309 .
Historia
6800 y 6502
El Motorola 6800 fue diseñado a partir de 1971 y lanzado en 1974. En términos de diseño general, tiene un gran parecido con otras CPU que fueron diseñadas desde el principio como diseños de 8 bits, como el Intel 8080 . [a] Inicialmente se fabricó utilizando la lógica NMOS temprana , que normalmente requería varios voltajes de suministro de energía diferentes . Una característica clave fue un duplicador de voltaje en el chip que le permitió funcionar con una sola fuente de + 5V, una gran ventaja sobre sus competidores como el Intel 8080 que requería -5, +5, -12 y tierra. [3]
El 6800 se fabricó inicialmente utilizando el proceso de litografía de contacto actual . En este proceso, la fotomáscara se coloca en contacto directo con la oblea , se expone y luego se levanta. Existía una pequeña posibilidad de que parte del material de grabado quedara en la oblea cuando se levantara, lo que provocaría que fallasen las virutas futuras estampadas con la máscara. Para diseños complejos de múltiples patrones como una CPU, esto llevó a que aproximadamente el 90% de los chips fallaran cuando se probaban. Para obtener ganancias con la pequeña cantidad de chips que funcionaban, los precios de los modelos que funcionaban tenían que ser bastante altos, del orden de cientos de dólares en pequeñas cantidades. [4] Como resultado, el 6800 tuvo una aceptación relativamente baja en el mercado después de su lanzamiento.
Varios de los diseñadores del 6800 estaban convencidos de que un sistema de menor costo sería clave para una aceptación generalizada. Entre ellos se destacó Chuck Peddle , que fue enviado a viajes de ventas y vio a los posibles clientes rechazar repetidamente el diseño por ser demasiado caro para los usos previstos. Comenzó un proyecto para producir un diseño mucho menos costoso, pero la gerencia de Motorola demostró no estar interesada y finalmente le dijo que dejara de trabajar en él. Peddle y otros miembros del equipo 6800 dejaron Motorola por MOS Technology e introdujeron este diseño en 1975 como MOS Technology 6502 . [5] En cantidades de una sola unidad, el 6502 se vendió por $ 25, [6] mientras que el 6800 se apuntó inicialmente a $ 360, [7] pero se había reducido a $ 295 en este momento.
Había tres razones para el bajo costo del 6502. Una fue que los diseñadores eliminaron cualquier característica que no fuera absolutamente necesaria. Esto llevó a la eliminación de un acumulador y al uso de registros de índice de 8 bits más pequeños , lo que resultó en menos cableado interno. Otro cambio fue el paso a la lógica NMOS de carga de agotamiento , una nueva técnica que solo requería + 5V. El 6800 tenía solo un pin de + 5V externamente pero tenía múltiples voltajes dentro del chip que requieren rieles de alimentación separados para ser enrutados alrededor del chip. Estos dos cambios permitieron que el 6502 tuviera 16.6 mm 2 , [8] en lugar de los 29.0 mm 2 del 6800 , [9] lo que significa que se podrían producir el doble de chips a partir de una sola oblea. Finalmente, MOS estaba utilizando el nuevo sistema de litografía Micralign que mejoró el rendimiento promedio de alrededor del 10% al 70%. [4]
Con la introducción del 6502, Motorola bajó inmediatamente el precio del 6800 a 125 dólares, pero siguió siendo poco competitivo y las perspectivas de ventas se atenuaron. La introducción del Micralign en las líneas de Motorola permitió nuevas reducciones y para 1981 el precio del 6800P entonces actual era ligeramente menor que el 6502 equivalente, al menos en cantidades de una sola unidad. [1] En ese momento, sin embargo, el 6502 había vendido decenas de millones de unidades y el 6800 se había olvidado en gran medida.
6809
Mientras que el 6502 comenzó a apoderarse del mercado del 6800, Intel estaba experimentando el mismo problema cuando el advenedizo Zilog Z80 comenzó a robarle ventas al Intel 8080 . Tanto Motorola como Intel comenzaron nuevos ciclos de diseño para superar esos diseños. Este proceso llevó a Intel a comenzar el diseño de una serie de procesadores de 16 bits, que surgieron como Intel 8086 en 1978. Motorola también comenzó el diseño de un diseño similar de gama alta, en el proyecto MACSS, [10] pero también decidió para producir diseños de 8 bits muy mejorados pero compatibles que se convirtieron en el 6809.
Uno de los principales objetivos del nuevo diseño era admitir un código independiente de la posición . El mercado de Motorola consistía principalmente en sistemas integrados y sistemas similares de un solo propósito, que a menudo ejecutaban programas muy similares a los de otras plataformas. El desarrollo de estos sistemas a menudo tomó la forma de recopilar una serie de subrutinas pre-enrolladas y combinarlas. Sin embargo, como el lenguaje ensamblador generalmente se escribe comenzando en una "dirección base", la combinación de módulos preescritos normalmente requiere un largo proceso de cambio de constantes (o "equivale") que apuntan a ubicaciones clave en el código.
La idea de Motorola era eliminar esta tarea y hacer que el concepto de bloques de construcción fuera mucho más práctico. Los integradores de sistemas simplemente combinarían código estándar en ROM para manejar tareas comunes. Las bibliotecas de rutinas comunes como aritmética de punto flotante, primitivas de gráficos, compresión Lempel-Ziv, etc., estarían disponibles para licenciar, combinar junto con código personalizado y grabar en ROM. [b] Un ejemplo más grande se encuentra en el manual de programación 6809 de Motorola, que contiene la lista completa de assist09 , un llamado monitor , un sistema operativo en miniatura destinado a ser grabado en ROM. [11]
En diseños de procesadores anteriores, incluido el 6800, había una combinación de formas de referirse a las ubicaciones de la memoria. Algunos de estos eran relativos a la ubicación actual en la memoria o a un valor en un registro de índice, mientras que otros eran absolutos, un valor de 16 bits que se refería a una ubicación física en la memoria. El estilo anterior permite que el código se mueva porque la dirección a la que hace referencia se moverá junto con el código. Las ubicaciones absolutas no lo hacen; el código que usa este estilo de direccionamiento deberá recompilarse si se mueve. Para abordar esto, el 6809 completó sus códigos de operación de instrucciones para que hubiera más instancias de direccionamiento relativo cuando fuera posible. [12]
Como ejemplo, el 6800 incluyó un modo de direccionamiento "directo" especial que se utilizó para hacer el código más pequeño y más rápido; en lugar de una dirección de memoria que tenga 16 bits y, por lo tanto, requiera dos bytes para almacenar, las direcciones directas solo tenían 8 bits de longitud. La desventaja era que solo podía referirse a la memoria dentro de una ventana de 256 bytes, la "página directa", que normalmente estaba en la parte inferior de la memoria; el 6502 se refería a esto como "direccionamiento de página cero". El 6809 agregó un nuevo registro DP de 8 bits, para "página directa". El código que antes tenía que estar en la página cero ahora se puede mover a cualquier lugar de la memoria siempre que se cambie el DP para que apunte a su nueva ubicación. [12]
El uso de DP resolvió el problema de hacer referencia a direcciones dentro del código, pero los datos generalmente se encuentran a cierta distancia del código, fuera de la ROM. Para resolver el problema de hacer referencia fácilmente a los datos sin dejar de ser independiente de la posición, el 6809 agregó una variedad de nuevos modos de direccionamiento. Entre estos se encontraba el direccionamiento relativo al contador del programa, que permitía que cualquier ubicación de la memoria fuera referida por su ubicación relativa a la instrucción. Además, la pila se usó más ampliamente, de modo que un programa en ROM podría apartar un bloque de memoria en RAM, establecer el SP como la base del bloque y luego referirse a los datos dentro de él usando valores relativos. [13]
Para ayudar aún más a este tipo de acceso, el 6809 cambió el nombre del SP a U para "usuario" y agregó un segundo puntero de pila, S, para "sistema". [14] La idea era que los programas de usuario usarían U mientras que la propia CPU usaría S para almacenar datos durante las llamadas a subrutinas . Esto permitió que se llamara fácilmente al código del sistema cambiando S sin afectar a ningún otro programa en ejecución. Por ejemplo, un programa que llama a una rutina de punto flotante en ROM colocaría sus datos en la pila U y luego llamaría a la rutina, que luego podría realizar los cálculos utilizando datos en su propia pila privada apuntada por S, y luego regresar, dejando la pila U intacta. [14]
Otra razón importante para el acceso a la pila expandido fue admitir código reentrante , código que se puede llamar desde varios programas diferentes al mismo tiempo sin preocuparse por la coordinación entre ellos, o que puede llamarse a sí mismo de forma recursiva. Esto facilita mucho la construcción de sistemas operativos ; el sistema operativo tenía su propia pila y el procesador podía cambiar rápidamente entre una aplicación de usuario y el sistema operativo simplemente cambiando qué puntero de pila estaba usando. Esto también hace que las interrupciones de servicio sean mucho más fáciles por la misma razón. [15]
Otra adición importante para el 6809 fue uno de los primeros multiplicadores de hardware dedicados, que tomó números de 8 bits en los acumuladores A y B y produjo un resultado en A + B, conocido colectivamente como D. [16] También agregó un nuevo rápido estilo de interrupción, que guardaba automáticamente solo el contador de programa y el registro de código de condición antes de llamar al código de interrupción, mientras que el estilo original en el 6800, ahora denominado "normal", guardaba todos los registros y, por lo tanto, tomaba ciclos adicionales antes de la interrupción se llamó al código, y más para desenrollar la pila al salir. [17]
Aceptación del mercado
Gran parte del diseño se basó en el concepto de mercado del código de bloques de construcción. Pero el mercado de módulos ROM pre-enrollados nunca se materializó: el único ejemplo lanzado por Motorola fue la ROM de punto flotante MC6839. La industria en su conjunto resolvió el problema de integrar módulos de código de fuentes independientes mediante el uso de cargadores y enlazadores de reubicación automática, que sigue siendo la solución que se utiliza en la actualidad. Sin embargo, las decisiones tomadas por el equipo de diseño permitieron sistemas operativos multiusuario y multitarea como OS-9 y UniFlex .
Las características adicionales del 6809 eran costosas; la CPU tenía aproximadamente 9.000 transistores en comparación con los 4.100 del 6800 o los 3.500 del 6502. Si bien las mejoras del proceso significaron que se podía fabricar a un costo menor que el 6800 original, esas mismas mejoras se estaban aplicando a los otros diseños y, por lo tanto, el costo relativo seguía siendo el mismo. Tal era el caso en la práctica; en 1981, el 6809 se vendió en cantidades de una sola unidad por aproximadamente seis veces el precio de un 6502. [1] Para aquellos sistemas que necesitaban algunas de sus características especiales, como el multiplicador de hardware, el sistema podía justificar su precio, pero en la mayoría de los roles. , se pasó por alto.
Otro factor en su bajo uso fue la presencia de diseños más nuevos con un rendimiento significativamente mayor. Entre estos se encontraba el Intel 8086 , lanzado el mismo año, y su versión de menor costo, el Intel 8088 de 1979. Se puede ver una idea del problema en los resultados del lenguaje ensamblador de Byte Sieve en comparación con otros diseños comunes de la época (tomados de 1981 [18] y 1983 [19] ):
Procesador | Segundos |
---|---|
6502 1 MHz | 13,9 |
Z80 de 4 MHz | 6,8 |
6809 2 MHz | 5.1 |
8086 8 MHz | 1,9 |
68000 8 MHz | 0,49 |
Aunque el 6809 ofreció una mejora de rendimiento con respecto a los modelos 6502 [c] y Z80, la mejora no estuvo en consonancia con el aumento de precio. Para aquellos en los que el precio no era la principal preocupación, pero el rendimiento absoluto sí lo era, los nuevos diseños lo superaron hasta en un orden de magnitud .
Incluso antes de que se lanzara el 6809, en 1976 Motorola había lanzado su propio proyecto avanzado de CPU, entonces conocido como Proyecto Motorola Advanced Computer System on Silicon, o MACSS. Aunque era demasiado tarde para ser elegido para el proyecto de IBM PC , cuando MACSS apareció como Motorola 68000 en 1979, tomó cualquier interés restante en el 6809. Motorola pronto anunció que sus futuros sistemas de 8 bits serían impulsados por versiones reducidas del 68000 en lugar de versiones mejoradas del 6809.
Usos principales
Su primer uso importante fue en la computadora en color TRS-80 , lo que sucedió en gran parte por accidente. Se le había pedido a Motorola que diseñara una terminal de computadora con capacidad de color para un proyecto de ayuda agrícola en línea, un sistema conocido como "AgVision". Tandy ( Radio Shack ) se incorporó como socio minorista y los vendió con el nombre de "VideoTex", pero el proyecto finalmente se canceló poco después de su introducción en 1980. [20] Tandy luego reelaboró el diseño para producir una computadora doméstica. , que se convirtió en una de las victorias de diseño más notables del 6809. [21]
Buscando una plataforma de programación de bajo costo para estudiantes de ciencias de la computación , la Universidad de Waterloo desarrolló un sistema que combinaba una computadora en una tarjeta basada en 6809 con una PET Commodore existente , incluyendo varios lenguajes de programación y editores de programas en ROM. . El resultado fue luego recogido por Commodore, quien lo vendió como SuperPET o MicroMainframe en Europa. Estos fueron relativamente populares a mediados de la década de 1980 antes de que la introducción del mercado de clones de PC asumiera el papel de programación para la mayoría de los usuarios.
Otros usos populares de computadoras en el hogar incluyen Fujitsu FM-7 , Canon CX-1, Dragon 32/64 y la serie Thomson TO7 . También estaba disponible como una opción en las computadoras Acorn System 2 , 3 y 4. La mayoría de los diseños de bus SS-50 que se habían construido alrededor del 6800 también tenían opciones para el 6809 o se cambiaban exclusivamente a él. Los ejemplos incluyen máquinas de SWTPC , Gimix, transmisión de señales de humo, etc. Motorola también construye una serie de sistemas de desarrollo EXORmacs y EXORset.
Hitachi produjo sus propias máquinas basadas en 6809, la MB6890 y más tarde la S1. Estos fueron principalmente para el mercado japonés, pero algunos fueron exportados y vendidos en Australia , donde el MB6890 fue apodado "Peach", probablemente en referencia al Apple II . El S1 fue notable porque contenía hardware de paginación que extendía el rango de direccionamiento nativo de 64 kilobytes (64 × 2 10 bytes ) del 6809 a 1 megabyte completo (1 × 2 20 bytes) en páginas de 4 KB. Era similar en esto a las máquinas producidas por SWTPC , Gimix y varios otros proveedores. TSC produjo un sistema operativo similar a Unix, uniFlex, que solo se ejecutaba en tales máquinas. OS-9 Level II, también aprovechó estas funciones de administración de memoria. La mayoría de las otras computadoras de la época con más de 64 KB de direccionamiento de memoria se limitaban a la conmutación de bancos donde gran parte, si no todos los 64 KB, simplemente se intercambiaban por otra sección de memoria, aunque en el caso del 6809, Motorola ofrecía su propia MMU MC6829. mapeo de diseño 2 megabytes (2 × 2 20 bytes ) en páginas de 2 KB. [22]
El 6809 también vio cierto uso en varios sistemas de videojuegos . Destaca entre ellos, en su encarnación 68A09, en la exclusiva máquina de videojuegos doméstica Vectrex basada en gráficos vectoriales . También se usó en el sistema Milton Bradley Expansion (MBX) (una consola arcade para usar con la computadora doméstica Texas Instruments TI-99 / 4A, y una serie de juegos arcade , lanzados desde principios hasta mediados de la década de 1980. Williams Electronics fue un prolífico usuario del procesador, que se implementó en Defender , Stargate , Joust , Robotron: 2084 , Sinistar y otros juegos. La CPU 6809 forma el núcleo del exitoso Williams Pinball Controller . El KONAMI-1 es un 6809 modificado utilizado por Konami en Roc'n Rope , Gyruss y Los Simpson . [23]
La serie II de Fairlight CMI (instrumento musical de computadora) usó CPU 6809 duales con OS-9 , y también usó una CPU 6809 por tarjeta de voz. El 6809 se empleaba a menudo en sintetizadores de música de otros fabricantes como Oberheim (Xpander, Matrix 6/12/1000), PPG (Wave 2 / 2.2 / 2.3, Waveterm A) y Ensoniq (Sampler Mirage, SDP-1, ESQ1, SQ80). Este último utilizó el 6809E como su CPU principal. La versión (E) se utilizó para sincronizar el reloj del microprocesador con el chip de sonido (Ensoniq 5503 DOC) en esas máquinas; en el ESQ1 y SQ80 se utilizó el 68B09E, que requería una lógica de árbitro dedicada para garantizar una sincronización de bus de 1 MHz al acceder al chip DOC.
A diferencia de los productos anteriores de Motorola, el 6809 no tuvo un uso generalizado en el campo de los microcontroladores . Se usó en controladores de señales de tráfico fabricados en la década de 1980 por varios fabricantes diferentes, [24] así como en los controladores centrales troncalizados SMARTNET y SMARTZONE de Motorola (llamados así el "controlador 6809"). Estos controladores se utilizaron como procesadores centrales en muchos de los sistemas de comunicaciones de radio bidireccionales troncalizados de Motorola. [25]
Mitel utilizó el 6809 como procesador principal en su sistema telefónico de oficina SX20
Versiones
El Motorola 6809 se produjo originalmente en clasificaciones de velocidad de 1 MHz , 1,5 MHz (68A09) y 2 MHz (68B09). Posteriormente, Hitachi produjo versiones más rápidas. Con poco que mejorar, el 6809 marca el final de la evolución de los procesadores de 8 bits de Motorola; Motorola pretendía que los futuros productos de 8 bits se basaran en una versión de bus de datos de 8 bits del 68000 (el 68008 ). Una versión de microcontrolador con un conjunto de instrucciones ligeramente modificado, el 6811 , se suspendió en la segunda década del siglo XXI.
El Hitachi 6309 es una versión mejorada del 6809 con registros e instrucciones adicionales, que incluyen movimiento de bloque, instrucciones de multiplicación adicionales y división.
Legado
Motorola escindió su división de microprocesadores en 2004. La división cambió su nombre a Freescale y posteriormente fue adquirida por NXP .
Ni Motorola ni Hitachi producen más procesadores o derivados 6809. Los núcleos 6809 están disponibles en VHDL y pueden programarse en un FPGA y usarse como un procesador integrado con índices de velocidad de hasta 40 MHz. [ cita requerida ] Algunos códigos de operación 6809 también viven en los procesadores integrados de Freescale . En 2015, Freescale autorizó a Rochester Electronics a comenzar a fabricar el MC6809 una vez más como reemplazo y copia del dispositivo NMOS original. Freescale suministró a Rochester la base de datos de diseño físico original de GDSII . A finales de 2016, el MC6809 de Rochester (incluidos el MC68A09 y el MC68B09) está completamente calificado y disponible en producción.
El desarrollador australiano John Kent ha sintetizado la CPU Motorola 6809 en lenguaje de descripción de hardware (HDL). [26] Esto ha hecho posible el uso del núcleo 6809 a velocidades de reloj mucho más altas que las disponibles con el 6809 original. CoCo3FPGA de Gary Becker ejecuta el núcleo Kent 6809 a 25 MHz. [27] Matchbox CoCo de Roger Taylor funciona a 7,16 MHz. CoCoDEV de Dave Philipsen funciona a 25 MHz. [28]
Descripción
Diseño general
El diseño interno del 6809 está más cerca de diseños de CPU más simples y sin microcodificación . Como la mayoría de los microprocesadores de 8 bits, la implementación 6809 es una máquina de nivel de transferencia de registro , que utiliza un PLA central para implementar gran parte de la decodificación de instrucciones, así como partes de la secuenciación.
Al igual que el 6800 y el 6502, el 6809 usa un reloj de dos fases para abrir los pestillos. Este ciclo de reloj de dos fases se utiliza como un ciclo de máquina completo en estos procesadores. Las instrucciones simples se pueden ejecutar en tan solo dos o tres ciclos de este tipo. El 6809 tiene un generador de reloj interno de dos fases (necesita solo un cristal externo) mientras que el 6809E necesita un generador de reloj externo. Hay variantes como el 68A09 (E) y 68B09 (E); la letra interna indica la velocidad de reloj nominal del procesador.
El 6800, 6502, el sistema de reloj del 6809 se diferencia de otros procesadores de la época. Por ejemplo, el Z80 usa un solo reloj externo y los pasos internos del proceso de instrucción continúan en cada transición. Esto significa que el reloj externo generalmente corre mucho más rápido; Los diseños de 680x generalmente funcionaban a 1 o 2 MHz, mientras que el Z80 generalmente funcionaba a 2 o 4. Internamente, los 680x convertían el reloj externo más lento en un programa interno de frecuencia más alta, por lo que, instrucción por instrucción, funcionaban aproximadamente el doble rápido al comparar los relojes externos.
La ventaja del acceso estilo 680x era que los chips RAM dinámicos de la época generalmente funcionaban a 2 MHz. Debido a la temporización del ciclo, había períodos del reloj interno en los que se garantizaba que el bus de memoria estaría libre. Esto permitió al diseñador de la computadora intercalar el acceso a la memoria entre la CPU y un dispositivo externo, digamos un controlador de acceso directo a la memoria , o más comúnmente, un chip de visualización de gráficos. Al ejecutar ambos chips a 1 MHz y pasarlos uno tras otro, podrían compartir el acceso a la memoria sin ninguna complejidad o circuitos adicionales. Dependiendo de la versión y el grado de velocidad, aproximadamente el 40-60% de un solo ciclo de reloj normalmente está disponible para el acceso a la memoria en un 6800, 6502 o 6809.
Registros e instrucciones
El 6800 original incluía dos acumuladores de 8 bits , A y B, un solo registro de índice de 16 bits , X, un contador de programa de 16 bits , PC, un puntero de pila de 16 bits , SP y un registro de estado de 8 bits . El 6809 agregó un segundo registro de índice, Y, un segundo puntero de pila, U (mientras cambiaba el nombre del S original), y permitió que los registros A y B fueran tratados como un solo acumulador de 16 bits, D. También agregó otro 8- registro de bits, DP, para establecer la dirección base de la página directa. Estas adiciones eran invisibles para el código 6800, y el 6809 era 100% compatible con el código fuente anterior. [dieciséis]
Otra adición significativa fue el direccionamiento relativo al contador del programa para todas las instrucciones de manipulación de datos. Esta fue una adición clave para el código independiente de la posición , ya que permite hacer referencia a los datos en relación con la instrucción, y siempre que exista la ubicación de memoria resultante, las instrucciones se pueden mover libremente en la memoria. El sistema también retuvo sus modos de direccionamiento anteriores, aunque en el nuevo lenguaje ensamblador , lo que antes eran instrucciones separadas ahora se consideraban modos de direccionamiento diferentes en otras instrucciones. Esto redujo el número de instrucciones de las 78 instrucciones del 6800 a las 59 del 6809. Estos nuevos modos tenían los mismos códigos de operación que la instrucción separada anteriormente, por lo que estos cambios solo eran visibles para el programador que trabajaba en un nuevo código. [12]
El conjunto de instrucciones y el complemento de registro son muy ortogonales , lo que hace que el 6809 sea más fácil de programar que sus contemporáneos. Al igual que el 6800, el 6809 incluye una instrucción de prueba de bus de direcciones no documentada que llegó a ser apodada Halt and Catch Fire (HCF) . [29]
Notas
- ^ En contraste con otros diseños de CPU tempranos que intentaban emularconjuntos de instrucciones de minicomputadora y eran mucho más complejos.
- ^ Otros ejemplos son aritmética matricial, codificación / decodificación de Huffman, funciones estadísticas, búsqueda de cadenas (por ejemplo, mediante el algoritmo de Boyer-Moore ) y gestión de estructura de árbol.
- ^ Que en ese momento también estaba ampliamente disponible en versiones de 2 MHz, como se usa en la familia Atari de 8 bits .
Referencias
Citas
- ^ a b c Ancrona .
- ^ "Hardware basado en Konami Dual 6809" . Sistema 16 .
- ^ "Microprocesador 8080A - Paquete DIP 40" . CPU World .
- ^ a b "Hitos de la ley de Moore" . IEEE .
- ^ Peddle, Chuck (12 de junio de 2014). "Historia oral de Chuck Peddle" (Entrevista). Entrevistado por Doug Fairbairn y Stephen Diamond.
- ^ "MOS 6502 el segundo de una familia de microprocesadores de alto rendimiento y bajo costo" . Computadora . Sociedad de Informática IEEE. 8 (9): 38–39. Septiembre de 1975. doi : 10.1109 / CM.1975.219074 .
- ^ "El conjunto de microprocesadores de Motorola es n-MOS de 1 MHz". Ingeniería de control . 21 (11): 11. noviembre de 1974.El precio del microprocesador MC6800 era de $ 360. El adaptador de interfaz de comunicaciones asíncronas MC6850 (ACIA) estaba programado para su introducción en el primer trimestre de 1975.
- ^ Cushman, Robert H. (20 de septiembre de 1975). "ΜP de 2-1 / 2 Generación - $ 10 piezas que funcionan como las Mini de gama baja" (PDF) . EDN . Boston: Cahners Publishing. 20 (17): 36–42. Archivado desde el original (PDF) el 24 de abril de 2016.
- ^ Historia oral de Motorola 6800 (2008), p. 10.
- ^ "Motorola 68000" . La Asociación de Tecnología Vintage . 17 de mayo de 2007.
- ^ Manual 1983 , p. B.1.
- ^ a b c Manual 1983 , pág. 1.2.
- ^ Manual 1983 , págs. 2.1-2.4.
- ^ a b Manual 1983 , p. 1.3.
- ^ Manual 1983 , 4.
- ^ a b Manual 1983 , p. 1.1.
- ^ Manual 1983 , p. 1.9.
- ^ Gilbreath, Jim (septiembre de 1981). "Un punto de referencia del lenguaje de alto nivel" . Byte . págs. 180–198.
- ^ Gilbreath, Jim; Gilbreath, Gary (enero de 1983). "Eratóstenes revisitado: una vez más a través del tamiz" . Byte . págs. 283–325.
- ^ "Terminal AgVision Videotex" . Computadora Vintage . 2016-12-22 . Consultado el 16 de abril de 2018 .
- ^ G. Pitre, Boisy; Loguidice, Bill (2013). CoCo: La colorida historia de la computadora desvalida de Tandy . Europa: CR Press. pag. 19. ISBN 9781466592483. Consultado el 16 de febrero de 2018 .
- ^ "Manual de datos de microprocesadores Motorola 1981" . archive.org. 1981 . Consultado el 2 de abril de 2018 .
- ^ Nicola Salmoria y el equipo MAME. "Konami: emulador de cpu Konami portátil" . Archivado desde el original el 4 de octubre de 2012 . Consultado el 21 de octubre de 2012 .
- ^ Robert J. Simpson; Raveendran Paramesran (1998). Microprocesador avanzado de 8 bits, MC6809: su software, hardware, arquitectura y técnicas de interfaz . Saltador. ISBN 978-981-3083-09-7.
- ^ "Motorola Type II SmartZone" . El Wiki de RadioReference .
- ^ "Página web de inicio de John Kent" .
- ^ http://www.davebiz.com/wiki/CoCo3FPGA
- ^ http://www.davebiz.com/wiki/CoCoDEV
- ^ John Bayko. "Grandes microprocesadores del presente y del pasado" . Archivado desde el original el 1 de julio de 2013 . Consultado el 1 de julio de 2013 .
Bibliografía
- "Ancrona es mejor" (PDF) . Radioelectrónica . Abril de 1981. p. 111.
- MC6809-MC6809E Manual de programación del microprocesador . Motorola. Mayo de 1983.
Otras lecturas
- Hojas de datos y manuales
- Hoja de datos del MC6809 ; Motorola; 36 páginas; 1983.
- Hoja de datos del MC6809E ; Motorola; 34 páginas.
- Libro de datos de microprocesadores de 8 bits de Motorola ; Motorola; 1182 páginas; 1981.
- Libros
- 6809 Programación en lenguaje ensamblador ; 1ª Ed; Lance Leventhal; 579 páginas; 1981; ISBN 0-931988-35-7 . (archivo)
- El libro de cocina MC6809 ; 1ª Ed; Carl Warren; 180 páginas; 1980; ISBN 0-8306-9683-0 . (archivo)
- Microprocesador avanzado de 8 bits: MC6809: su software, hardware, arquitectura y técnicas de interfaz ; 1ª Ed; Robert Simpson; 274 páginas; 1998; ISBN 978-9813083097
- Revistas
- Un microprocesador para la revolución: el 6809 ; Terry Ritter y Joel Boney (co-diseñadores de 6809); Revista BYTE; Enero-febrero de 1979. (archivo)
- Microprocesador MC6809 ; Ian Powers; Microprocesadores, Volumen 2, Edición 3; Julio de 1978; página 162; ISSN 0308-5953 , doi : 10.1016 / 0308-5953 (78) 90010-7 .
- Tarjetas de referencia
- Tarjeta de referencia MC6809 ; Motorola; 16 páginas; 1981. (archivo)
- Tarjeta de referencia 6809/6309 ; Chris Lomont; 10 páginas; 2007. (archivo)
enlaces externos
- Simuladores / Emuladores
- Página de emulación 6809 - colección de instrucciones 6809, emuladores, herramientas, depuradores, desensambladores, ensambladores
- Emulador 6809 basado en el sistema SWTPC 6809
- Tableros
- Computadora 6809 de 6 chips de Grant
- Tablero de entrenamiento con microprocesador 6809
- FPGA
- Núcleo de CPU System09 6809 - código fuente VHDL - OpenCores - sitio web del proyecto