stringtranslate.com

Tecnología MOS 6502

El MOS Technology 6502 (que se pronuncia típicamente "sixty-five-oh-two" o "six-five-oh-two") [3] es un microprocesador de 8 bits que fue diseñado por un pequeño equipo dirigido por Chuck Peddle para MOS Technology . El equipo de diseño había trabajado anteriormente en Motorola en el proyecto Motorola 6800 ; el 6502 es esencialmente una versión simplificada, menos costosa y más rápida de ese diseño.

Cuando se presentó en 1975, el 6502 era el microprocesador más económico del mercado por un margen considerable. Inicialmente se vendió por menos de una sexta parte del costo de los diseños de la competencia de empresas más grandes, como el 6800 o el Intel 8080. Su introducción provocó rápidas disminuciones en los precios en todo el mercado de procesadores. Junto con el Zilog Z80 , desencadenó una serie de proyectos que dieron como resultado la revolución de las computadoras domésticas de principios de la década de 1980.

Las consolas de videojuegos y los ordenadores domésticos de los años 70 hasta principios de los 90, como el Atari 2600 , los ordenadores Atari de 8 bits , Apple II , Nintendo Entertainment System , Commodore 64 , Atari Lynx , BBC Micro y otros, utilizan el 6502 o variaciones del diseño básico. Poco después de la introducción del 6502, MOS Technology fue adquirida directamente por Commodore International , que continuó vendiendo el microprocesador y las licencias a otros fabricantes. En los primeros días del 6502, fue adquirido por Rockwell y Synertek , y más tarde se licenció a otras empresas.

En 1981, el Centro de Diseño Occidental comenzó a desarrollar una versión CMOS , la 65C02 . Esta sigue utilizándose ampliamente en sistemas integrados , con volúmenes de producción estimados en cientos de millones. [4]

Historia y uso

Orígenes en Motorola

Placa de demostración Motorola 6800 construida por Chuck Peddle y John Buchanan en 1974

El 6502 fue diseñado por muchos de los mismos ingenieros que habían diseñado la familia de microprocesadores Motorola 6800. [5] Motorola inició el proyecto del microprocesador 6800 en 1971 con Tom Bennett como arquitecto principal. Los ingenieros de Motorola podían ejecutar simulaciones analógicas y digitales en una computadora central IBM 370-165 . [6] El diseño del chip comenzó a fines de 1972, los primeros chips 6800 se fabricaron en febrero de 1974 y la familia completa se lanzó oficialmente en noviembre de 1974. [7] [8]

John Buchanan fue el diseñador del chip 6800 [9] [10] y Rod Orgill, quien más tarde hizo el 6501, ayudó a Buchanan con los análisis de circuitos y el diseño del chip. [11] Bill Mensch se unió a Motorola en junio de 1971 después de graduarse de la Universidad de Arizona (a la edad de 26 años). [12] Su primera tarea fue ayudar a definir los circuitos integrados periféricos para la familia 6800 y más tarde fue el diseñador principal del adaptador de interfaz periférica (PIA) 6820. [13] Bennett contrató a Chuck Peddle en 1973 para realizar trabajos de soporte arquitectónico en los productos de la familia 6800 que ya estaban en progreso. [14] Contribuyó en muchas áreas, incluido el diseño de la ACIA (interfaz serial) 6850. [15]

Los clientes objetivo de Motorola eran empresas de electrónica establecidas como Hewlett-Packard , Tektronix , TRW y Chrysler . [16] En mayo de 1972, los ingenieros de Motorola comenzaron a visitar a clientes selectos y a compartir los detalles de su sistema de microprocesador de 8 bits propuesto con ROM, RAM, interfaces paralelas y seriales. [17] A principios de 1974, proporcionaron muestras de ingeniería de los chips para que los clientes pudieran crear prototipos de sus diseños. La estrategia de "familia total de productos" de Motorola no se centró en el precio del microprocesador, sino en reducir el costo total de diseño del cliente. Ofrecieron software de desarrollo en una computadora de tiempo compartido, el sistema de depuración "EXORciser", capacitación en el sitio y soporte de ingenieros de aplicaciones de campo. [18] [19] Tanto Intel como Motorola habían anunciado inicialmente un precio de 360 ​​dólares estadounidenses para un solo microprocesador. [20] [21] El precio real para las cantidades de producción fue mucho menor. Motorola ofreció un kit de diseño que contenía el 6800 con seis chips de soporte por 300 dólares estadounidenses . [22]

Peddle, que acompañaba a los vendedores en las visitas a los clientes, se dio cuenta de que los clientes se sentían desanimados por el alto coste de los chips de microprocesador. [23] Al mismo tiempo, estas visitas invariablemente daban como resultado que los ingenieros a los que se presentaba produjeran listas de instrucciones necesarias que eran mucho más pequeñas que "todas esas instrucciones sofisticadas" que se habían incluido en el 6800. [24] Peddle y otros miembros del equipo comenzaron a esbozar el diseño de un microprocesador de tamaño reducido y con características mejoradas. En ese momento, la nueva planta de fabricación de semiconductores de Motorola en Austin, Texas , estaba teniendo dificultades para producir chips MOS, y mediados de 1974 fue el comienzo de una recesión de un año en la industria de los semiconductores. Además, muchos de los empleados de Mesa, Arizona, estaban descontentos con la inminente reubicación en Austin. [25]

La dirección de la división de productos semiconductores de Motorola no mostró ningún interés en la propuesta de Peddle de fabricar un microprocesador de bajo coste. Finalmente, Peddle recibió una carta oficial en la que se le ordenaba que dejara de trabajar en el sistema. [26] Peddle respondió a la orden informando a Motorola de que la carta representaba una declaración oficial de "abandono del proyecto" y, como tal, la propiedad intelectual que había desarrollado hasta ese momento era ahora suya. [27] En una entrevista de noviembre de 1975, el presidente de Motorola, Robert Galvin, finalmente estuvo de acuerdo en que el concepto de Peddle era bueno y que la división había perdido una oportunidad: "No elegimos a los líderes adecuados en la división de productos semiconductores". La división se reorganizó y se reemplazó a la dirección. El nuevo vicepresidente del grupo, John Welty, dijo: "La organización de ventas de semiconductores perdió su sensibilidad a las necesidades de los clientes y no podía tomar decisiones rápidas". [28]

Tecnología MOS

Un anuncio de MOS Technology de 1973 que destaca sus capacidades de circuitos integrados personalizados
MOS Technology MCS6501, en encapsulado cerámico blanco, fabricado a finales de agosto de 1975

Peddle comenzó a buscar fuera de Motorola una fuente de financiación para este nuevo proyecto. En un principio se puso en contacto con el director ejecutivo de Mostek, LJ Sevin , pero éste le denegó su oferta. Sevin admitió más tarde que esto se debía a que temía que Motorola los demandara. [29]

Mientras Peddle visitaba Ford Motor Company en uno de sus viajes de ventas, Bob Johnson, más tarde jefe de la división de automatización de motores de Ford, mencionó que su ex colega John Paivinen se había trasladado a General Instrument y había aprendido por su cuenta el diseño de semiconductores. [30] Paivinen luego formó MOS Technology en Valley Forge, Pensilvania en 1969 con otros dos ejecutivos de General Instrument, Mort Jaffe y Don McLaughlin. Allen-Bradley , un proveedor de componentes electrónicos y controles industriales, adquirió una participación mayoritaria en 1970. [31] La empresa diseñó y fabricó circuitos integrados personalizados para los clientes y había desarrollado una línea de chips para calculadoras. [32]

Después de que los esfuerzos de Mostek fracasaran, Peddle se acercó a Paivinen, quien "lo entendió de inmediato". [33] El 19 de agosto de 1974, Chuck Peddle, Bill Mensch, Rod Orgill, Harry Bawcom, Ray Hirt, Terry Holdt y Wil Mathys dejaron Motorola para unirse a MOS. Mike Janes se unió más tarde. De los diecisiete diseñadores de chips y personas de diseño en el equipo 6800, ocho se fueron. El objetivo del equipo era diseñar y producir un microprocesador de bajo costo para aplicaciones integradas y apuntar a una base de clientes lo más amplia posible. Esto sería posible solo si el microprocesador fuera de bajo costo, y el equipo estableció el precio objetivo para las compras por volumen en $ 5. [ 34] Mensch declaró más tarde que el objetivo no era el precio del procesador en sí, sino crear un conjunto de chips que pudieran venderse a $ 20 para competir con el recientemente presentado Intel 4040 que se vendía por $ 29 en un chipset completo similar. [35]

Los chips se producen imprimiendo múltiples copias del diseño del chip en la superficie de una oblea , un disco delgado de silicio de alta pureza. Se pueden imprimir chips más pequeños en mayor cantidad en la misma oblea, lo que reduce su precio relativo. Además, las obleas siempre incluyen una cierta cantidad de pequeños defectos físicos que se encuentran dispersos por toda la superficie. Cualquier chip impreso en esa ubicación fallará y deberá desecharse. Los chips más pequeños significan que es menos probable que se imprima una sola copia en un defecto. Por ambas razones, el costo del producto final depende en gran medida del tamaño del diseño del chip. [36]

Los chips 6800 originales estaban pensados ​​para tener 180 por 180 milésimas de pulgada (4,6 mm × 4,6 mm), pero el diseño se completó en 212 por 212 milésimas de pulgada (5,4 mm × 5,4 mm), o un área de29,0 mm 2 . [37] Para el nuevo diseño, el objetivo de costo exigía un tamaño de 153 por 168 milésimas de pulgada (3,9 mm × 4,3 mm), o un área de16,6 mm 2 . [38] Se necesitarían varias técnicas nuevas para alcanzar este objetivo.

Mudanza a NMOS

Dos avances significativos llegaron al mercado justo cuando se estaba diseñando el 6502, lo que supuso una reducción significativa de los costes. El primero fue el paso al NMOS de carga por agotamiento . El 6800 utilizaba un proceso NMOS temprano, el modo de mejora, que requería tres voltajes de suministro. Una de las características principales del 6800 era un duplicador de voltaje integrado que permitía utilizar una única fuente de alimentación de +5 V para +5, −5 y +12 V internamente, a diferencia de otros chips de la época, como el Intel 8080 , que requerían tres pines de alimentación independientes. [39] Aunque esta característica reducía la complejidad de la fuente de alimentación y el diseño de los pines, seguía requiriendo una línea de alimentación independiente para las distintas puertas del chip, lo que aumentaba la complejidad y el tamaño. Al pasar al nuevo diseño de carga por agotamiento, todo lo que se necesitaba era una única fuente de alimentación de +5 V, lo que eliminaba toda esta complejidad. [40]

Otra ventaja era que los diseños de carga de agotamiento consumían menos energía durante la conmutación, por lo que funcionaban a menor temperatura y permitían velocidades de funcionamiento más altas. Otra consecuencia práctica es que la señal de reloj de las CPU anteriores tenía que ser lo suficientemente fuerte como para sobrevivir a toda la disipación a medida que viajaba por los circuitos, lo que casi siempre requería un chip externo independiente que pudiera proporcionar una señal potente. Con los requisitos de energía reducidos del diseño de carga de agotamiento, el reloj podía trasladarse al chip, lo que simplificaba el diseño general de la computadora. Estos cambios redujeron en gran medida la complejidad y el costo de implementar un sistema completo. [40]

Un cambio más amplio que se produjo en la industria fue la introducción del enmascaramiento por proyección . Anteriormente, los chips se modelaban sobre la superficie de la oblea colocando una máscara sobre la superficie de la oblea y luego iluminándola con una luz brillante. Las máscaras a menudo recogían pequeños trozos de suciedad o fotorresistencia al despegarse del chip, lo que causaba fallas en esas ubicaciones en cualquier enmascaramiento posterior. Con diseños complejos como las CPU, se utilizaban 5 o 6 pasos de enmascaramiento de este tipo, y la probabilidad de que al menos uno de estos pasos introdujera una falla era muy alta. En la mayoría de los casos, el 90% de estos diseños tenían fallas, lo que resultaba en un rendimiento del 10%. El precio de los ejemplos funcionales tenía que cubrir el costo de producción del 90% que se desechaba. [41]

En 1973, Perkin-Elmer introdujo el sistema Micralign , que proyectaba una imagen de la máscara sobre la oblea en lugar de requerir contacto directo. Las máscaras ya no acumulaban suciedad de las obleas y duraban alrededor de 100.000 usos en lugar de 10. Esto eliminó los fallos paso a paso y las altas tasas de defectos que se observaban anteriormente en los diseños complejos. El rendimiento de las CPU aumentó inmediatamente del 10% al 60 o 70%. Esto significó que el precio de la CPU se redujo aproximadamente en la misma cantidad y el microprocesador se convirtió de repente en un dispositivo de consumo. [41]

Las líneas de fabricación existentes de MOS Technology se basaban en la antigua tecnología PMOS ; aún no habían comenzado a trabajar con NMOS cuando llegó el equipo. Paivinen prometió tener una línea NMOS en funcionamiento a tiempo para comenzar la producción de la nueva CPU. Cumplió su promesa: la nueva línea estuvo lista en junio de 1975. [42]

Notas de diseño

Chuck Peddle, Rod Orgill y Wil Mathys diseñaron la arquitectura inicial de los nuevos procesadores. Un artículo de septiembre de 1975 en la revista EDN ofrece este resumen del diseño: [43]

La familia MOS Technology 650X representa un intento consciente de ocho ex empleados de Motorola que trabajaron en el desarrollo del sistema 6800 de crear una pieza que reemplazara y superara al 6800, pero que se vendiera a un precio inferior. Con la ventaja de la retrospección obtenida del proyecto 6800, el equipo de MOS Technology encabezado por Chuck Peddle realizó los siguientes cambios arquitectónicos en la CPU de Motorola...

El principal cambio en términos de tamaño del chip fue la eliminación de los controladores triestado de las salidas del bus de direcciones. Un bus de tres estados tiene estados para "1", "0" y "alta impedancia". El último estado se utiliza para permitir que otros dispositivos accedan al bus, y se utiliza normalmente para multiprocesamiento , o más comúnmente en estas funciones, para acceso directo a memoria (DMA). Si bien es útil, esta característica es muy costosa en términos de circuitos en chip. El 6502 simplemente eliminó esta característica, de acuerdo con su diseño como un controlador económico que se utiliza para tareas específicas y se comunica con dispositivos simples . Peddle sugirió que cualquiera que realmente requiriera este estilo de acceso podría implementarlo con un solo 74158. [44] [a]

La siguiente gran diferencia fue la simplificación de los registros. Para empezar, se eliminó uno de los dos acumuladores . Los registros de uso general, como los acumuladores, deben ser accedidos por muchas partes del decodificador de instrucciones y, por lo tanto, requieren una cantidad significativa de cableado para mover datos hacia y desde su almacenamiento. Dos acumuladores facilitan muchas tareas de codificación, pero le cuestan una complejidad significativa al diseño del chip en sí. [43] Se lograron ahorros adicionales al reducir el registro de pila de 16 a 8 bits, lo que significa que la pila solo podía tener 256 bytes de longitud, lo que era suficiente para su función prevista como microcontrolador. [43] [ verificación fallida ]

El registro de índice IX de 16 bits se dividió en dos, convirtiéndose en X e Y. Más importante aún, el estilo de acceso cambió. En el 6800, IX contenía una dirección de 16 bits que se compensaba con un número de 8 bits almacenado con la instrucción y se sumaban. En el 6502 (y la mayoría de los demás diseños contemporáneos), la dirección base de 16 bits se almacenaba en la instrucción y se le añadían los 8 bits X o Y. [44]

Finalmente, se simplificó el conjunto de instrucciones, liberando espacio en el decodificador y la lógica de control. De las 72 instrucciones originales del 6800, se implementaron 56. Entre las que se eliminaron se encontraban instrucciones que operaban entre los dos acumuladores del 6800 y varias instrucciones de bifurcación inspiradas en el PDP-11 . [44]

El diseño de alto nivel del chip tuvo que convertirse en dibujos de transistores e interconexiones. En MOS Technology, el "diseño" fue un proceso muy manual realizado con lápices de colores y papel vitela . El diseño consistía en miles de formas poligonales en seis dibujos diferentes; uno para cada capa del proceso de fabricación. Dados los límites de tamaño, el diseño completo del chip tuvo que ser considerado constantemente. Mensch y Paivinen trabajaron en el decodificador de instrucciones [46] mientras que Mensch, Peddle y Orgill trabajaron en la ALU y los registros. Un avance adicional, desarrollado en una fiesta, fue una forma de compartir parte del cableado interno para permitir que la ALU se redujera en tamaño. [47]

A pesar de sus mejores esfuerzos, el diseño final terminó siendo 5 milésimas de ancho. [48] Los primeros 6502 chips tenían 168 por 183 milésimas de ancho (4,3 mm × 4,6 mm), para un área de19,8 mm 2 . La versión original del procesador no tenía capacidad de rotación a la derecha (ROR), por lo que la instrucción se omitió de la documentación original. La siguiente iteración del diseño redujo el tamaño del chip y agregó la capacidad de rotación a la derecha, y la ROR se incluyó en la documentación revisada. [49] [b]

Presentamos los modelos 6501 y 6502

Anuncio de presentación de los microprocesadores MCS6501 y MCS6502 de MOS Technology

MOS introduciría dos microprocesadores basados ​​en el mismo diseño subyacente: el 6501 se conectaría al mismo zócalo que el Motorola 6800, mientras que el 6502 reorganizó el pinout para admitir un oscilador de reloj en chip. Ambos funcionarían con otros chips de soporte diseñados para el 6800. No ejecutarían el software del 6800 porque tenían un conjunto de instrucciones diferente, registros diferentes y, en su mayoría, modos de direccionamiento diferentes. [3] Rod Orgill fue responsable del diseño del 6501; había ayudado a John Buchanan en Motorola en el 6800. Bill Mensch hizo el 6502; fue el diseñador del adaptador de interfaz periférica (PIA) 6820 en Motorola. Harry Bawcom, Mike Janes y Sydney-Anne Holt ayudaron con el diseño.

La presentación de los microprocesadores de MOS Technology fue diferente del tradicional lanzamiento de un producto que duraba varios meses. La primera tirada de un nuevo circuito integrado se utiliza normalmente para pruebas internas y se comparte con clientes selectos como "muestras de ingeniería". Estos chips suelen tener uno o dos defectos de diseño menores que se corregirán antes de que comience la producción. El objetivo de Chuck Peddle era vender la primera tirada de chips 6501 y 6502 a los asistentes a la feria comercial WESCON en San Francisco a partir del 16 de septiembre de 1975. Peddle fue un portavoz muy eficaz y los microprocesadores de MOS Technology recibieron una amplia cobertura en la prensa especializada. Una de las primeras fue una historia de página completa sobre los microprocesadores MCS6501 y MCS6502 en la edición del 24 de julio de 1975 de la revista Electronics . [53] También aparecieron artículos en EE Times (24 de agosto de 1975), [54] EDN (20 de septiembre de 1975), Electronic News (3 de noviembre de 1975), Byte (noviembre de 1975) [55] y Microcomputer Digest (noviembre de 1975). [56] Los anuncios del 6501 aparecieron en varias publicaciones la primera semana de agosto de 1975. El 6501 estaría a la venta en Wescon por 20 dólares cada uno. [57] En septiembre de 1975, los anuncios incluían tanto el microprocesador 6501 como el 6502. El 6502 costaría sólo 25 dólares (equivalente a 142 dólares en 2023). [58]

Cuando MOS Technology llegó a Wescon, se encontró con que a los expositores no se les permitía vender nada en el piso de exhibición. Alquilaron la Suite MacArthur en el Hotel St. Francis y dirigieron a los clientes allí para comprar los procesadores. En la suite, los procesadores se almacenaban en grandes frascos para dar a entender que los chips estaban en producción y disponibles. Los clientes no sabían que la mitad inferior de cada frasco contenía chips no funcionales. [59] Los chips costaban $ 20 y $ 25, mientras que el paquete de documentación costaba $ 10 adicionales . Se animó a los usuarios a hacer fotocopias de los documentos, una forma económica para MOS Technology de distribuir información del producto. Las hojas de datos preliminares enumeraban solo 55 instrucciones excluyendo la instrucción Rotate Right (ROR) que no era compatible con estos primeros chips. Las revisiones en Byte y EDN señalaron la falta de la instrucción ROR. La siguiente revisión del diseño solucionó este problema y la hoja de datos de mayo de 1976 enumeraba 56 instrucciones. Peddle quería que todos los ingenieros y aficionados interesados ​​tuvieran acceso a los chips y a la documentación, mientras que otras empresas de semiconductores sólo querían tratar con clientes "serios". Por ejemplo, Signetics estaba presentando el microprocesador 2650 y sus anuncios pedían a los lectores que escribieran para solicitar información en papel membretado de la empresa. [60]

MOS Technology MCS6502, en paquete de cerámica blanca, fabricado a finales de 1975

Demanda contra Motorola

La hoja de datos de mayo de 1976 omitió el microprocesador 6501 que estaba en la versión de agosto de 1975 .

La introducción del 6501/6502 en forma impresa y en Wescon fue un enorme éxito. La desventaja fue que la amplia cobertura de prensa atrajo la atención de Motorola. En octubre de 1975, Motorola redujo el precio de un solo microprocesador 6800 de $175 a $69 . El kit de diseño del sistema de $300 se redujo a $150 y ahora venía con una placa de circuito impreso. [61] El 3 de noviembre de 1975, Motorola solicitó una orden judicial en la Corte Federal para impedir que MOS Technology fabricara y vendiera productos de microprocesadores. También presentaron una demanda alegando violación de patentes y apropiación indebida de secretos comerciales. Motorola afirmó que siete ex empleados se unieron a MOS Technology para crear los productos de microprocesadores de esa empresa. [62]

Motorola era una empresa multimillonaria con un caso plausible y abogados caros. El 30 de octubre de 1974, Motorola había presentado numerosas solicitudes de patentes sobre la familia de microprocesadores y se le concedieron veinticinco patentes. La primera fue en junio de 1976 y la segunda fue para Bill Mensch el 6 de julio de 1976, para el diseño del chip 6820 PIA. Estas patentes cubrían el bus 6800 y cómo los chips periféricos interactuaban con el microprocesador. [63] Motorola comenzó a fabricar transistores en 1950 y tenía una cartera de patentes de semiconductores. Allen-Bradley decidió no luchar en este caso y vendió su participación en MOS Technology a los fundadores. Cuatro de los antiguos ingenieros de Motorola fueron nombrados en la demanda: Chuck Peddle, Will Mathys, Bill Mensch y Rod Orgill. Todos fueron nombrados inventores en las solicitudes de patente 6800. Durante el proceso de descubrimiento, Motorola descubrió que un ingeniero, Mike Janes, había ignorado las instrucciones de Peddle y había llevado sus documentos de diseño del 6800 a MOS Technology. [64] En marzo de 1976, la ahora independiente MOS Technology se estaba quedando sin dinero y tuvo que resolver el caso. Acordaron abandonar el procesador 6501, pagarle a Motorola 200.000 dólares y devolver los documentos que Motorola sostenía que eran confidenciales. Ambas compañías acordaron conceder licencias cruzadas sobre patentes de microprocesadores. [65] En mayo de ese mismo año, Motorola redujo el precio de un solo microprocesador 6800 a 35 dólares . En noviembre, Commodore había adquirido MOS Technology. [66] [67]

Computadoras y juegos

Con los problemas legales a sus espaldas, MOS todavía tenía el problema de conseguir que los desarrolladores probaran su procesador, lo que llevó a Chuck Peddle a diseñar el ordenador de placa única MDT-650 ("terminal de desarrollo de microordenadores") . Otro grupo dentro de la empresa diseñó el KIM-1 , que se vendió semicompleto y podía convertirse en un sistema utilizable con la adición de un terminal de ordenador de terceros y una unidad de casete compacta . Si bien se vendió bien en su mercado objetivo, la empresa descubrió que el KIM-1 también se vendió bien entre los aficionados y los manitas. El sistema de control, formación y desarrollo Rockwell AIM-65 relacionado también tuvo buenos resultados. El software del AIM 65 se basaba en el del MDT. Otro producto más o menos similar fue el Synertek SYM-1 .

Uno de los primeros usos "públicos" del diseño fue el microordenador Apple I , introducido en 1976. El 6502 se utilizó a continuación en el Commodore PET y el Apple II , [68] ambos lanzados en 1977. Más tarde se utilizó en los ordenadores Atari de 8 bits , Acorn Atom , BBC Micro , [68] VIC-20 y otros diseños tanto para ordenadores domésticos como para empresas, como los ordenadores Ohio Scientific y Oric . El 6510 , un sucesor directo del 6502 con un puerto de E/S digital y un bus de direcciones triestado , fue la CPU utilizada en el ordenador doméstico más vendido [69] [70] Commodore 64 .

Otro uso importante de la familia 6500 fue en los videojuegos. El primero en hacer uso del diseño del procesador fue el Atari VCS de 1977, posteriormente rebautizado como Atari 2600. El VCS utilizó una variante del 6502 llamada 6507 , que tenía menos pines, por lo que solo podía direccionar 8  KB de memoria. Se venderían millones de consolas Atari, cada una con un procesador MOS. Otro uso significativo fue el de Nintendo Entertainment System y Famicom. El 6502 utilizado en la NES fue una segunda versión de origen de Ricoh , un sistema parcial en un chip , que carecía del modo decimal codificado en binario pero añadía 22 registros mapeados en memoria y hardware en el chip para la generación de sonido, la lectura del joystick y la lista de sprites DMA . Llamado 2A03 en las consolas NTSC y 2A07 en las consolas PAL (la diferencia es el divisor de frecuencia de reloj y una tabla de búsqueda para las frecuencias de muestreo de audio), este procesador fue producido exclusivamente para Nintendo .

El 6502 o variantes se utilizaron en todas las unidades de disquete de Commodore para todas sus computadoras de 8 bits, desde la línea PET hasta el Commodore 128D, incluido el Commodore 64. Las unidades PET de 8 pulgadas tenían dos procesadores 6502. Atari utilizó el mismo 6507 utilizado en el Atari VCS para sus unidades de disco 810 y 1050 utilizadas para toda su línea de computadoras de 8 bits, desde el 400/800 hasta el XEGS.

En la década de 1980, una popular revista de electrónica, Elektor/Elektuur, utilizó el procesador en su placa de desarrollo de microprocesadores Junior Computer .

El sucesor CMOS del 6502, el WDC 65C02 , también se utilizó en ordenadores domésticos y consolas de videojuegos. Apple lo utilizó en la línea Apple II a partir del Apple IIc y variantes posteriores del Apple IIe y también ofreció un kit para actualizar los sistemas IIe más antiguos con el nuevo procesador. [71] El chip Hudson Soft HuC6280 utilizado en el TurboGrafx-16 se basaba en un núcleo 65C02. El Atari Lynx utilizó un chip personalizado llamado "Mikey" [72] diseñado por Epyx que incluía una celda con licencia VLSI VL65NC02. La variante G65SC12 de GTE Microcircuits (rebautizada como California Micro Devices) se utilizó en el BBC Master . Algunos modelos del BBC Master también incluían un coprocesador G65SC102 adicional.

Descripción técnica

Procesador 6502. La sección regular en la parte superior es la ROM de decodificación de instrucciones, la sección aparentemente aleatoria en el centro es la lógica de control y en la parte inferior están los registros (derecha) y la ALU (izquierda). Las conexiones del bus de datos están a lo largo de la parte inferior derecha y el bus de direcciones a lo largo de la parte inferior e inferior izquierda. [38]
Configuración de 6502 pines ( DIP de 40 pines )
Registros MOS 6502

El 6502 es un procesador little-endian de 8 bits con un bus de direcciones de 16 bits . Las versiones originales se fabricaron utilizando un chip de tecnología de proceso de 8 µm [73] con un tamaño de chip de 3,9 mm × 4,3 mm (153 por 168 milésimas de pulgada), para un área total de16,6 mm2 . [ 38]

La lógica interna funciona a la misma velocidad que la frecuencia de reloj externa. Presentaba una secuencia de comandos sencilla: en cada ciclo, el procesador extrae un byte de la memoria y procesa otro. Esto significa que cualquier instrucción individual puede tardar tan solo dos ciclos en completarse, dependiendo de la cantidad de operandos que utilice esa instrucción. A modo de comparación, el Zilog Z80 requería dos ciclos para extraer memoria y el tiempo mínimo de instrucción era de cuatro ciclos. Por lo tanto, a pesar de las velocidades de reloj más bajas en comparación con los diseños de la competencia, generalmente en el entorno de 1 a 2400 bytes, el procesador extrae un byte de la memoria y procesa otro.A 2  MHz , el rendimiento del 6502 era competitivo con las CPU que usaban relojes significativamente más rápidos. Esto se debe en parte a una máquina de estados simple implementada mediante lógica combinacional (sin reloj) en mayor medida que en muchos otros diseños; el reloj de dos fases (que proporciona dos sincronizaciones por ciclo) podía controlar así directamente el ciclo de la máquina.

Este diseño también dio lugar a una nota de diseño útil del 6502 y del 6800 anterior. Como el chip solo accedía a la memoria durante una determinada parte del ciclo de reloj, y esta duración se indicaba mediante el pin de salida de reloj φ2-low, otros chips del sistema podían acceder a la memoria durante esos momentos en los que el 6502 estaba fuera del bus. Esto se conocía a veces como "acceso oculto". Esta técnica era muy utilizada por los sistemas informáticos; utilizaban una memoria capaz de acceder a 2 MHz y, a continuación, ejecutaban la CPU a 1 MHz. Esto garantizaba que la CPU y el hardware de vídeo pudieran intercalar sus accesos, con un rendimiento total que coincidiera con el del dispositivo de memoria. Como este acceso se producía cada dos ciclos, no era necesario indicar a la CPU que evitara utilizar el bus, lo que hacía que este tipo de acceso fuera fácil de implementar sin ninguna lógica de bus. [74] Cuando memorias más rápidas estuvieron disponibles en la década de 1980, las máquinas más nuevas podían usar esta misma técnica mientras funcionaban a velocidades de reloj más altas; el BBC Micro usó una RAM más nueva que le permitió a su CPU funcionar a 2 MHz mientras seguía usando las mismas técnicas de uso compartido de bus.

Al igual que la mayoría de las CPU simples de la época, el chip dinámico NMOS 6502 no se secuencia mediante microcódigo, sino que se decodifica directamente mediante un PLA dedicado . El decodificador ocupaba aproximadamente el 15 % del área del chip. Esto se compara con los diseños posteriores basados ​​en microcódigo, como el Motorola 68000 , donde la ROM de microcódigo y el motor decodificador representaban aproximadamente un tercio de las puertas del sistema.

Registros

Al igual que su precursor, el 6800, el 6502 tiene muy pocos registros . Entre ellos se incluyen [75]

Esto se compara con un competidor contemporáneo, el Intel 8080 , que también tiene un acumulador de 8 bits y un contador de programa de 16 bits, pero tiene seis registros de 8 bits de propósito general más (que se pueden combinar en tres punteros de 16 bits) y un puntero de pila de 16 bits más grande. [78]

Para compensar un poco la falta de registros, el 6502 incluye un modo de direccionamiento de página cero que utiliza un byte de dirección en la instrucción en lugar de los dos necesarios para direccionar la página completa.64 KB de memoria. Esto proporciona un acceso rápido a la primera256 bytes de RAM mediante el uso de instrucciones más cortas. Por ejemplo, una instrucción para agregar un valor de la memoria al valor del acumulador normalmente sería de tres bytes, uno para la instrucción y dos para la dirección de 16 bits. El uso de la página cero reduce esto a una dirección de 8 bytes, lo que reduce la longitud total de la instrucción a dos bytes y, por lo tanto, mejora el rendimiento de la instrucción.

El espacio de direcciones de la pila está conectado directamente a la página de memoria $01, es decir, al rango de direcciones $0100$01FF( 256511). El acceso del software a la pila se realiza a través de cuatro instrucciones de modo de direccionamiento implícito, cuyas funciones son empujar o sacar (extraer) el acumulador o el registro de estado del procesador. La misma pila también se utiliza para llamadas a subrutinas a través de las instrucciones JSR (saltar a subrutina) y RTS (regresar desde subrutina) y para el manejo de interrupciones .

Direccionamiento

El chip utiliza los registros de índice y pila de manera efectiva con varios modos de direccionamiento , incluido un modo rápido de "página directa" o "página cero", similar al que se encuentra en el PDP-8 , que accede a las ubicaciones de memoria de las direcciones 0 a 255 con una única dirección de 8 bits (ahorrándose el ciclo normalmente requerido para obtener el byte de orden superior de la dirección); el código para el 6502 usa la página cero de manera muy similar a como el código para otros procesadores usaría registros. En algunas microcomputadoras basadas en el 6502 con un sistema operativo, el sistema operativo usa la mayor parte de la página cero, dejando solo un puñado de ubicaciones para el usuario.

Los modos de direccionamiento también incluyen implícito (instrucciones de 1 byte); absoluto (3 bytes); absoluto indexado (3 bytes); página cero indexada (2 bytes); relativo (2 bytes); acumulador (1); indirecto,x e indirecto,y (2); e inmediato (2). El modo absoluto es un modo de propósito general. Las instrucciones de bifurcación utilizan un desplazamiento de 8 bits con signo en relación con la instrucción después de la bifurcación; por lo tanto, el rango numérico −128..127 se traduce en 128 bytes hacia atrás y 127 bytes hacia adelante desde la instrucción que sigue a la bifurcación (que es 126 bytes hacia atrás y 129 bytes hacia adelante desde el inicio de la instrucción de bifurcación). El modo acumulador opera en el registro acumulador y no necesita ningún dato de operando . El modo inmediato utiliza un operando literal de 8 bits .

Direccionamiento indirecto

Los modos indirectos son útiles para el procesamiento de matrices y otros bucles. Con el modo "(indirect),y" de 5/6 ciclos, el registro Y de 8 bits se agrega a una dirección base de 16 bits leída desde la página cero, que se encuentra a un solo byte después del código de operación. Por lo tanto, el registro Y es un registro de índice en el sentido de que se utiliza para almacenar un índice real (a diferencia del registro X en el 6800, donde se almacenaba directamente una dirección base y al que se podía agregar un desplazamiento inmediato). Incrementar el registro de índice para recorrer la matriz byte a byte solo requiere dos ciclos adicionales. Con el modo "(indirect,x)" menos utilizado, la dirección efectiva para la operación se encuentra en la dirección de la página cero formada al agregar el segundo byte de la instrucción al contenido del registro X. Al usar los modos indexados, la página cero actúa efectivamente como un conjunto de hasta 128 registros de dirección adicionales (aunque muy lentos).

El 6502 es capaz de realizar sumas y restas en binario o decimal codificado en binario . Al colocar la CPU en modo BCD con la SEDinstrucción (establecer indicador D) se realiza una aritmética decimal, en la que $99 + $01se activaría $00 y se activaría el indicador de acarreo (C). En modo binario ( CLDborrar indicador D), la misma operación daría como resultado $9A y se borraría el indicador de acarreo. Aparte del BASIC de Atari , el modo BCD rara vez se utilizó en aplicaciones de computadoras domésticas.

Consulte el artículo ¡Hola mundo! para ver un ejemplo simple pero característico del lenguaje ensamblador 6502 .

Instrucciones y códigos de operación

Los códigos de operación de la instrucción 6502 ( opcodes ) tienen 8 bits de longitud y tienen la forma general AAABBBCC, donde AAA y CC definen el opcode y BBB define el modo de direccionamiento. [79] Por ejemplo, la ORAinstrucción realiza un OR bit a bit en los bits del acumulador con otro valor. El opcode de la instrucción tiene la forma 000bbb01, donde bbb puede ser 010 para un valor de modo inmediato (constante), 001 para una dirección fija de página cero, 011 para una dirección absoluta, etc. [79] Este patrón no es universal, ya que hay excepciones, pero permite que los valores del opcode se conviertan fácilmente en mnemotécnicos de ensamblaje para la mayoría de las instrucciones, manejando los casos extremos con código de propósito especial. [79]

De los 256 códigos de operación posibles disponibles utilizando un patrón de 8 bits, el 6502 original utiliza 151 de ellos, organizados en 56 instrucciones con (posiblemente) múltiples modos de direccionamiento . Dependiendo de la instrucción y el modo de direccionamiento, el código de operación puede requerir cero, uno o dos bytes adicionales para los operandos. Por lo tanto, las instrucciones de máquina 6502 varían en longitud de uno a tres bytes. [80] [81] El operando se almacena en el formato little-endian habitual del 6502 .

El 65C816 , el descendiente CMOS de 16 bits del 6502, también admite direccionamiento de 24 bits, lo que da como resultado instrucciones ensambladas con operandos de tres bytes, también dispuestos en formato little-endian.

Los 105 códigos de operación restantes no están definidos. En el diseño original, no se utilizaron instrucciones donde los 4 bits de orden inferior ( nibble ) eran 3, 7, B o F, lo que dejaba espacio para una expansión futura. Del mismo modo, la columna $2x tenía una sola entrada, . Las 25 ranuras vacías restantes se distribuyeron. Algunas de las ranuras vacías se utilizaron en el 65C02 para proporcionar nuevas instrucciones y variaciones de las existentes con nuevos modos de direccionamiento. Las instrucciones $Fx inicialmente se dejaron libres para permitir que los proveedores externos añadieran sus propias instrucciones, pero las versiones posteriores del 65C02 estandarizaron un conjunto de instrucciones de manipulación de bits desarrolladas por Rockwell Semiconductor .LDX #constant

Lenguaje ensamblador

Una instrucción en lenguaje ensamblador 6502 consta de una mnemotecnia de instrucción de tres caracteres seguida de cualquier operando . Las instrucciones que no toman un operando separado sino que apuntan a un solo registro según el modo de direccionamiento combinan el registro de destino en la mnemotecnia de instrucción, por lo que el ensamblador utiliza INXen lugar de para INC Xincrementar el registro X.

Tabla de instrucciones

Código de ejemplo

El siguiente código fuente en lenguaje ensamblador 6502 corresponde a una subrutina denominada , que copia una cadena de caracteres terminada en cero de una ubicación a otra, convirtiendo caracteres de letras mayúsculas en letras minúsculas. La cadena que se copia es la "fuente" y la cadena en la que se almacena la fuente convertida es el "destino".TOLOWER

Comportamiento detallado

Matriz del procesador 6502 con transistores NMOS incorporados y etiquetas que insinúan la funcionalidad de los componentes del 6502

La entrada de interrupción no enmascarable (NMI) del procesador es sensible a los flancos , lo que significa que la interrupción se activa por el flanco descendente de la señal en lugar de por su nivel. La implicación de esta característica es que no se admite fácilmente un circuito de interrupción OR cableado . Sin embargo, esto también evita que se produzcan interrupciones NMI anidadas hasta que el hardware vuelva a desactivar la entrada NMI, a menudo bajo el control del controlador de interrupciones NMI .

La activación simultánea de las líneas de interrupción de hardware NMI e IRQ (enmascarables) hace que se ignore IRQ. Sin embargo, si la línea IRQ permanece activada después de la activación de NMI, el procesador responderá inmediatamente a IRQ, ya que IRQ es sensible al nivel . Por lo tanto, se estableció una especie de prioridad de interrupción incorporada en el diseño del 6502.

El indicador B se establece mediante el muestreo periódico de la salida del detector de borde NMI y la entrada IRQ del 6502. Sin embargo, la señal IRQ que se activa a nivel bajo solo se reconoce si el indicador I permite IRQ. Si de esta manera se detecta una solicitud NMI o una IRQ (enmascarable), el indicador B se establece en cero y hace que el procesador ejecute la instrucción BRK a continuación en lugar de ejecutar la siguiente instrucción según el contador de programa. [82] [83]

La instrucción BRK luego coloca el estado del procesador en la pila, con el bit de la bandera B establecido en cero. Al final de su ejecución, la instrucción BRK restablece el valor de la bandera B a uno. Esta es la única forma en que se puede modificar la bandera B. Si una instrucción distinta de la instrucción BRK coloca la bandera B en la pila como parte del estado del procesador [84], la bandera B siempre tiene el valor uno.

Una transición de alto a bajo en el pin de entrada SO activará el bit de estado de desbordamiento del procesador. Esto se puede utilizar para una respuesta rápida al hardware externo. Por ejemplo, un controlador de dispositivo de sondeo de alta velocidad puede sondear el hardware una vez en solo tres ciclos utilizando una instrucción Branch-on-oVerflow-Clear ( BVC) que se ramifica a sí misma hasta que se activa el desbordamiento mediante una transición descendente SO. El Commodore 1541 y otras unidades de disquete Commodore utilizan esta técnica para detectar cuándo el serializador está listo para transferir otro byte de datos del disco. El diseño del hardware y el software del sistema debe garantizar que no se produzca un SO durante el procesamiento aritmético e interrumpa los cálculos.

Variaciones y derivados

El 6502 fue la variante más prolífica de la familia de la serie 65xx de MOS Technology .

Los modelos 6501 y 6502 tienen encapsulados DIP de 40 pines ; los modelos 6503, 6504, 6505 y 6507 son versiones DIP de 28 pines, lo que reduce el costo del chip y de la placa de circuito. En todas las versiones de 28 pines, se reduce el número de pines al omitir algunos de los pines de dirección de orden superior y varias combinaciones de pines de función, lo que hace que esas funciones no estén disponibles.

Por lo general, los 12 pines que se omiten para reducir el número de pines de 40 a 28 son los tres pines no conectados (NC), uno de los dos pines Vss, uno de los pines de reloj, el pin SYNC, el pin de desbordamiento de conjunto (SO), la interrupción enmascarable o la interrupción no enmascarable (NMI) y las cuatro líneas de dirección más significativas (A12–A15). La omisión de cuatro pines de dirección reduce la direccionabilidad externa a 4 KB (de los 64 KB del 6502), aunque el registro de PC interno y todos los cálculos de dirección efectiva siguen siendo de 16 bits .

El 6507 omite ambos pines de interrupción para incluir la línea de dirección A12, lo que proporciona 8 KB de direccionabilidad externa pero no capacidad de interrupción. El 6507 se utilizó en la popular consola de videojuegos Atari 2600 , cuyo diseño divide el espacio de memoria de 8 KB a la mitad, asignando la mitad inferior a la RAM interna de la consola y los periféricos, y la mitad superior al cartucho de juego, por lo que los cartuchos Atari 2600 tienen un límite de dirección de 4 KB (y el mismo límite de capacidad a menos que el cartucho contenga circuitos de conmutación de bancos ).

Un ordenador popular basado en el 6502, el Commodore 64 , utilizaba una CPU 6502 modificada, la 6510. A diferencia de los 6503–6505 y 6507, el 6510 es un chip de 40 pines que añade hardware interno: un puerto de E/S paralelo de 6 bits asignado a las direcciones 0000 y 0001. El 6508 es otro chip que, al igual que el 6510, añade hardware interno: 256 bytes de SRAM y un puerto de E/S de 8 bits similar a los que presenta el 6510. Aunque estos chips no tienen un número reducido de pines en comparación con el 6502, necesitan nuevos pines para el puerto de E/S paralelo añadido. En este caso, no hay líneas de dirección entre los pines eliminados.

16-bit derivatives

The Western Design Center designed and currently produces the WDC 65C816S processor, a 16-bit, static-core successor to the 65C02. The W65C816S is a newer variant of the 65C816, which is the core of the Apple IIGS computer and is the basis of the Ricoh 5A22 processor that powers the Super Nintendo Entertainment System. The W65C816S incorporates minor improvements over the 65C816 that make the newer chip not an exact hardware-compatible replacement for the earlier one. Among these improvements was conversion to a static core, which makes it possible to stop the clock in either phase without the registers losing data. Available through electronics distributors, as of March 2020, the W65C816S is officially rated for 14 MHz operation.

The Western Design Center also designed and produced the 65C802, which was a 65C816 core with a 64-kilobyte address space in a 65(C)02 pin-compatible package. The 65C802 could be retrofitted to a 6502 board and would function as a 65C02 on power-up, operating in "emulation mode." As with the 65C816, a two-instruction sequence would switch the 65C802 to "native mode" operation, exposing its 16-bit accumulator and index registers, and other 65C816 features. The 65C802 was not widely used and production ended.

Bugs and quirks

The 6502 had several bugs and quirks, which had to be accounted for when programming it:

See also

Notes

  1. ^ One example of such a design was the Atari 8-bit computers, which use DMA to share memory between the 6502 and the ANTIC video chip. This was implemented with a single flip-flop, which was later built into custom "Sally" versions of the 6502 used in these machines.[45]
  2. ^ Since the OP code still did something in the original version of the processor, just not a correct ROR instruction, this caused a persistent myth that the original 6502 had a bug in its ROR instruction.[50][51][52]
  3. ^ a b More precisely these systems internally divide an NTSC colorburst crystal yielding 315176 Mhz = 1.7897727 MHz
  4. ^ Eric Schlaepfer, who built a transistorized replica of the 6502 at monster6502.com, argues in his Youtube video "The 6502 Rotate Right Myth" (by TubeTimeUS) that according to Chuck Peddle and Bill Mensch there was no ROR bug. Instead, the instruction was not implemented at all as it was deemed unnecessary. Schlaepfer then compares screenshots from the early revision to later revisions of the 6502 and proves that the ROR instruction was not present in either the instruction decoding, wiring, or execution parts of the chip.

References

Citations

  1. ^ "The MOS 6502 and the Best Layout Guy in the World". swtch.com. 2011-01-03. Archived from the original on 2014-09-08. Retrieved 2014-08-09.
  2. ^ "MOnSter6502 A complete, working discrete transistors (i.e. not integrated all on a single chip) replica of the classic MOS 6502 microprocessor". monster6502.com. 2017. Archived from the original on 2017-05-12. Retrieved 2017-05-01.
  3. ^ a b William Mensch (October 9, 1995). "Interview with William Mensch" (Web video). Interviewed by Rob Walker. Atherton, California: Silicon Genesis Project, Stanford University Libraries. Archived from the original on March 4, 2016. Retrieved December 22, 2023. William Mensch and the moderator both pronounce the 6502 microprocessor as "sixty-five-oh-two".
  4. ^ "Western Design Center (WDC) Home of 65xx Microprocessor Technology". www.westerndesigncenter.com. Archived from the original on 2019-04-08. Retrieved 2019-04-08.
  5. ^ "Motorola Sues MOS Technology" (PDF). Microcomputer Digest. 2 (6). Cupertino CA: Microcomputer Associates: 11. December 1975. Archived from the original (PDF) on July 4, 2009.
  6. ^ Jenkins, Francis; Lane, E.; Lattin, W.; Richardson, W. (November 1973). "MOS-device modeling for computer implementation". IEEE Transactions on Circuit Theory. 20 (6). IEEE: 649–658. doi:10.1109/tct.1973.1083758. ISSN 0018-9324. All of the authors were with Motorola's Semiconductor Products Division.
  7. ^ "Motorola joins microprocessor race with 8-bit entry". Electronics. 47 (5). New York: McGraw-Hill: 29–30. March 7, 1974.
  8. ^ Motorola 6800 Oral History (2008), p. 9
  9. ^ US3942047A, Buchanan, John K., "MOS DC Voltage booster circuit", issued 1976-03-02  Archived 2024-02-13 at the Wayback Machine
  10. ^ US3987418A, Buchanan, John K., "Chip topography for MOS integrated circuitry microprocessor chip", issued 1976-10-19  Archived 2024-02-13 at the Wayback Machine
  11. ^ Motorola 6800 Oral History (2008), p. 8
  12. ^ Mensch Oral History (1995) Mensch earned an Associate degree from Temple University in 1966 and then worked at Philco Ford as an electronics technician before attending the University of Arizona.
  13. ^ US3968478A, Jr, William D. Mensch, "Chip topography for MOS interface circuit", issued 1976-07-06  Archived 2024-02-13 at the Wayback Machine
  14. ^ Donohue, James F. (October 27, 1988). "The microprocessor first two decades: The way it was". EDN. 33 (22A). Cahners Publishing: 18–32. ISSN 0012-7515. Page 30. Bennett already was at work on what became the 6800. "He hired me," Peddle says of Bennett, "to do the architectural support work for the product he'd already started." … Peddle says. "Motorola tried to kill it several times. Without Bennett, the 6800 would not have happened, and a lot of the industry would not have happened, either."
  15. ^ US3975712A, Hepworth, Edward C.; Means, Rodney J. & Peddle, Charles I., "Asynchronous communication interface adaptor", issued 1976-08-17  Archived 2024-02-13 at the Wayback Machine
  16. ^ Motorola (August 5, 1976). "They stay out front with Motorola's M6800 Family". Electronics. 49 (16). McGraw-Hill: 51. Archived from the original on January 10, 2014. Retrieved June 4, 2012. Advertisement showing three embedded applications from TRW, HP and RUSCO.
  17. ^ Motorola 6800 Oral History (2008), p. 89
  18. ^ "It's the total product family". Electronics. 48 (1). New York: McGraw Hill: 37. January 9, 1975. Archived from the original on November 11, 2012. Retrieved June 4, 2012. Motorola advertisement emphasizing their complete set of peripheral chips and development tools. This shortened the customer's product design cycle.
  19. ^ Motorola 6800 Oral History (2008) p. 18
  20. ^ "Motorola microprocessor set is 1 MHz n-MOS". Control Engineering. 21 (11): 11. November 1974. MC6800 microprocessor price was $360. The MC6850 asynchronous communications interface adaptor (ACIA) was slated for first quarter 1975 introduction.
  21. ^ Kaye, Glynnis Thompson, ed. (1984). A Revolution in Progress: A History to Date of Intel (PDF). Intel Corporation. p. 14. Order number:231295. Archived from the original (PDF) on 23 October 2012. Retrieved 30 December 2016. "Shima implemented the 8080 in about a year and the new device was introduced in April 1974 for $360."
  22. ^ "Motorola mounts M6800 drive". Electronics. 48 (8). New York: McGraw-Hill: 25. April 17, 1975. "Distributors are being stocked with the M6800 family, and the division is also offering an introductory kit that includes the family's six initial parts, plus applications and programming manuals, for $300."
  23. ^ Interview 2014, 52:30.
  24. ^ Interview 2014, 54:45.
  25. ^ Bagnall (2010), p. 11. Peddle's new offer came at an opportune time for the 6800 developers. "They didn't want to go to Austin, Texas," explains Mensch.
  26. ^ Interview 2014, 54:40.
  27. ^ Interview 2014, 55:50.
  28. ^ Waller, Larry (November 13, 1975). "Motorola seeks to end skid". Electronics. 48 (23). New York: McGraw-Hill: 96–98. Summary: Semiconductor Products split into two parts, integrated circuits and discrete components. Semiconductor losses for the last four quarters exceeded $30 million. The sales organization lost its sensitivity to customer needs, "delays in responding to price cuts meant that customers bought elsewhere." Technical problems plagued IC production. The troubles are "not in design, but in chip and die yields." Problems have been solved. The MC6800 microprocessor "arrived in November 1974."
  29. ^ Interview 2014, 56:30.
  30. ^ Interview 2014, 55:00.
  31. ^ Bagnall (2010), p. 13.
  32. ^ MOS Technology (November 14, 1974). "The First Single Chip Scientific Calculator Arrays". Electronics. 47 (23). McGraw-Hill: 90–91. Archived from the original on January 10, 2014. Retrieved June 4, 2012.
  33. ^ Interview 2014, 57:00.
  34. ^ Interview 2014, 58:30.
  35. ^ Cass, Stephen (16 September 2021). "Q&A With Co-Creator of the 6502 Processor". IEEE Spectrum. Archived from the original on 20 September 2021. Retrieved 20 September 2021.
  36. ^ Ho, Joshua (9 October 2014). "An Introduction to Semiconductor Physics, Technology, and Industry". Anandtech. Archived from the original on 24 February 2020. Retrieved 24 February 2020.
  37. ^ Motorola 6800 Oral History (2008), p. 10.
  38. ^ a b c Cushman 1975, p. 40.
  39. ^ "8080A microprocessor – DIP 40 package". CPU World. Archived from the original on 2020-09-15. Retrieved 2020-02-24.
  40. ^ a b Cushman 1975, p. 38.
  41. ^ a b "Moore's Law Milestones". IEEE. 30 April 2015. Archived from the original on 2020-02-24. Retrieved 2020-02-24.
  42. ^ Bagnall (2010), p. 19: "Paivinen promised Peddle he would have the n-channel process ready. He was true to his word."
  43. ^ a b c Cushman 1975, p. 36.
  44. ^ a b c Cushman 1975, p. 41.
  45. ^ Purcaru, John (2014). Games vs. Hardware. The History of PC video games: The 80's. p. 317.
  46. ^ Interview 2014, 1:01:00.
  47. ^ Interview 2014, 1:02:00.
  48. ^ Interview 2014, 1:02:30.
  49. ^ a b File:MCS650x Instruction Set.jpg
  50. ^ "Measuring the ROR Bug in the Early MOS 6502 – pagetable.com". Archived from the original on 2023-03-21. Retrieved 2023-02-25.
  51. ^ "How to test a ceramic 6502 for the ROR bug? | Applefritter". Archived from the original on 2023-02-25. Retrieved 2023-02-25.
  52. ^ "The 6502 Rotate Right Myth". YouTube. Archived from the original on 2023-02-25. Retrieved 2023-02-25.
  53. ^ "Microprocessor line offers 4, 8, 16 bits". Electronics. 48 (15). New York: McGraw-Hill: 118. July 24, 1975. The article covers the 6501 and 6502 plus the 28-pin versions that would only address 4K of memory. It also covered future devices such as "a design that Peddle calls a pseudo 16".
  54. ^ Sugarman, Robert (25 August 1975). "Does the Country Need A Good $20 Microprocessor?" (PDF). EE Times. Manhasset, New York: CMP Publications: 25. Archived from the original (PDF) on 3 February 2007. Retrieved 5 February 2008.
  55. ^ Fylstra, Daniel (November 1975). "Son of Motorola (or the $20 CPU Chip)". Byte. 1 (3). Peterborough, NH: Green Publishing: 56–62. Comparison of the 6502 and the 6800 microprocessors. Author visited MOS Technology in August 1975.
  56. ^ "3rd Generation Microprocessor" (PDF). Microcomputer Digest. 2 (2). Cupertino, CA: Microcomputer Associates: 1–3. August 1975. Archived from the original (PDF) on 2009-07-04. Retrieved 2009-11-27.
  57. ^ "MOS 6501 Microprocessor beats 'em all". Electronics. 48 (16). New York: McGraw-Hill: 60–61. August 7, 1975.
  58. ^ "MOS 6502 the second of a low cost high performance microprocessor family". Computer. 8 (9). IEEE Computer Society: 38–39. September 1975. doi:10.1109/C-M.1975.219074. Archived from the original on 2021-02-24. Retrieved 2012-06-04.
  59. ^ Bagnall (2010), pp. 33–35.
  60. ^ Signetics (October 30, 1975). "Easiest-to-use microprocessor". Electronics. 48 (22). McGraw-Hill: 114–115. Archived from the original on November 20, 2015. Retrieved November 20, 2015.
  61. ^ Motorola (October 30, 1975). "All this and unbundled $69 microprocessor". Electronics. 48 (22). McGraw-Hill: 11. Archived from the original on December 15, 2011. Retrieved August 8, 2010. The quantity one price for the MC6800 was reduced from $175 to $69. The previous price for 50 to 99 units was $125.
  62. ^ Waller, Larry (November 13, 1975). "News briefs: Motorola seeks to stop microprocessor foe". Electronics. 48 (23). New York: McGraw-Hill: 38."Motorola said last week it would seek an immediate injunction to stop MOS Technology Inc., Norristown, Pa., from making and selling microprocessor products, including its MCS6500." (This issue was published on November 7.)
  63. ^ Motorola was awarded the following US Patents on the 6800 microprocessor family: 3962682, 3968478, 3975712, 3979730, 3979732, 3987418, 4003028, 4004281, 4004283, 4006457, 4010448, 4016546, 4020472, 4030079, 4032896, 4037204, 4040035, 4069510, 4071887, 4086627, 4087855, 4090236, 4145751, 4218740, 4263650.
  64. ^ Bagnall (2010), p. 53–54. "He [Mike Janes] had all his original work from the 6800 and hid it from Motorola…
  65. ^ "Motorola, MOS Technology settle patent suit". Electronics. 49 (7). New York: McGraw-Hill: 39. April 1, 1975. "MOS Technology Inc. of Norristown, Pa. has agreed to withdraw its MCS6501 microprocessor from the market and to pay Motorola Inc. $200,000 ..." "MOS Technology and eight former Motorola employees have given back, under court order documents that Motorola contends are confidential." "…both companies have agreed to a cross license relating to patents in the microprocessor field."
  66. ^ Bagnall (2010), pp. 55-56
  67. ^ "Mergers and Acquisitions". Mini-Micro Systems. 9 (11). Cahners: 19. November 1976." Commodore International … is buying MOS Technology (Norristown, PA). This saves the six-year-old semiconductor house from impending disaster."
  68. ^ a b Goodwins, Rupert (December 4, 2010). "Intel's victims: Eight would-be giant killers". ZDNet. Archived from the original on May 5, 2013. Retrieved March 7, 2012.
  69. ^ Reimer, Jeremy. "Personal Computer Market Share: 1975-2004". Archived from the original on 6 June 2012. Retrieved 2009-07-17.
  70. ^ "How many Commodore 64 computers were sold?". Archived from the original on 2016-03-06. Retrieved 2011-02-01.
  71. ^ "Apple IIe Enhancement Kit - Peripheral - Computing History". www.computinghistory.org.uk. Archived from the original on 2020-08-08. Retrieved 2023-10-23.
  72. ^ "4. CPU/ROM". www.monlynx.de. Archived from the original on 2023-09-20. Retrieved 2023-10-23.
  73. ^ Corder, Mike (Spring 1999). "Big Things in Small Packages". Pioneers' Progress with picoJava Technology. Sun Microelectronics. Archived from the original on 2006-03-12. Retrieved April 23, 2012. The first 6502 was fabricated with 8 micron technology, ran at one megahertz and had a maximum memory of 64k.
  74. ^ "How to implement bus sharing / DMA on a 6502 system". Archived from the original on 2020-08-15. Retrieved 2020-09-30.
  75. ^ "PROGRAMMING MODEL MCS650X". MOS MICROCOMPUTERS PROGRAMMING MANUAL. MOS TECHNOLOGY, INC. January 1976.
  76. ^ Anderson, J.S. (2012-08-21). Microprocessor Technology. Routledge. p. 153. ISBN 9781136078057.
  77. ^ "Status flags". NESdev Wiki. Retrieved 2024-06-11.
  78. ^ "8080A/8080A-1/8080A-2 8-Bit N Channel Microprocessor" (PDF). Intel. Archived (PDF) from the original on November 15, 2021. Retrieved November 16, 2021.
  79. ^ a b c Parker, Neil. "The 6502/65C02/65C816 Instruction Set Decoded". Neil Parker's Apple II page. Archived from the original on 2019-07-16. Retrieved 2019-07-16.
  80. ^ 6502 Instruction Set Archived 2018-05-08 at the Wayback Machine.
  81. ^ NMOS 6502 Opcodes. Archived 2016-01-14 at the Wayback Machine.
  82. ^ Breaking NES Book – 6502 Core (PDF) (B5 ed.). 2022-06-24. pp. 61–62. Archived (PDF) from the original on 2024-04-12. Retrieved 2023-12-24. The arrival of any interrupt is reflected on flag B, the output of which (B_OUT) forces the processor to execute a BRK instruction ...
  83. ^ "6502 BRK and B bit". VisualChips. Archived from the original on 2021-04-05. Retrieved 2021-05-15.
  84. ^ "FLAGS". ogamespec. Retrieved 2021-05-15. B_OUT; INTERNAL DATA BUS (DB)
  85. ^ a b "FAQ 400 800 XL XE: What are SALLY, ANTIC, CTIA/GTIA/FGTIA, POKEY, and FREDDIE?". Archived from the original on 19 July 2020. named SALLY by Atari engineers, but [support documents call it] "6502 (Modified)", "6502 Modified", "Custom 6502", or "6502C". [..] SALLY 6502 chips are never marked "6502C" but, other than the UMC UM6502I, always [marked] C014806. [..] [Other] chips marked "6502C" [..] are NOT the Atari "6502C" but [standard 6502] certified for 4MHz
  86. ^ "6502 (modified) CPU Microprocessor". ATARI 1200 XL HOME COMPUTER FIELD SERVICE MANUAL. ATARI. February 1983.
  87. ^ a b c d e f g 1982 MOS Technology Data Catalog (PDF obtained from bitsavers.org)
  88. ^ "AtariAge: A2600 clone, 6591 chip pinout". 3 August 2015. Archived from the original on 2020-08-05. Retrieved 2019-07-22.
  89. ^ "Hackaday: The teensiest Atari 2600 ever". 7 April 2012. Archived from the original on 2019-07-22. Retrieved 2019-07-22.
  90. ^ "Rockwell R6511Q". Archived from the original on 15 September 2020. Retrieved 30 Apr 2020.
  91. ^ "Rockwell R6500/11, R6500/12 and R6500/15 One-Chip Microcomputers". 7 Jun 1987. Archived from the original on 4 August 2020. Retrieved 30 Apr 2020.
  92. ^ Randy M. Dumse. "The R65F11 and F68K Single-Chip Forth Computers". [1][permanent dead link][2] Archived 2014-12-02 at the Wayback Machine1984.
  93. ^ Ed Schmauch. "A Computerized Corrosion Monitoring System"[permanent dead link]. 1986.
  94. ^ Lawrence P. Forsley. "Embedded systems: 1990 Rochester Forth Conference: June 12 – 16th, 1990 University of Rochester" Archived 2015-03-25 at the Wayback Machine. p. 51.
  95. ^ Rockwell. "RSC-Forth User's Manual" Archived 2013-12-07 at the Wayback Machine. 1983.
  96. ^ "Rockwell R65F11 R65F12 Forth Based Microcomputers" (PDF). June 1987. Archived (PDF) from the original on 4 August 2020. Retrieved 28 Apr 2020.
  97. ^ Zaks, Rodnay. Programming the 6502. p. 348.
  98. ^ "Arquivo.pt" (PDF). Archived from the original (PDF) on 2016-05-15. Retrieved 2014-10-26.
  99. ^ "rockwell :: dataBooks :: 1985 Rockwell Data Book" – via Internet Archive.
  100. ^ "East-European Home-Computer: Bulgaria". HCM: Home Computer Museum. Archived from the original on 1 July 2006. Retrieved 3 October 2020.
  101. ^ a b http://plus4world.powweb.com/hardware/MOS_75018501 Archived 2020-02-20 at the Wayback Machine Hardware – MOS 7501/8501
  102. ^ https://ist.uwaterloo.ca/~schepers/MJK/7501.html Archived 2021-07-19 at the Wayback Machine CPU 7501 / 8501
  103. ^ Service Manual C-128/C128D Computer, Commodore Business Machines, PN-314001-08, November 1987
  104. ^ "VL65NC02". IC Datasheet: 1988 VTI ASIC. pp. 225–238.
  105. ^ Moser, Carl W. (January 1979). "Add a Trap Vector for Unimplemented 6502 Opcodes" (PDF). Dr. Dobb's Journal of Computer Calisthenics and Orthodontia. No. 31. Menlo Park, California. p. 32. Archived (PDF) from the original on 2016-06-11. Retrieved 2017-01-07.
  106. ^ Harrod, Dennette A. (October 1980). "The 6502 Gets Microprogrammable Instructions". BYTE. Vol. 5, no. 10. Peterborough, New Hampshire. p. 282. Retrieved 2017-01-07.
  107. ^ Draco (19 June 1997). "65c02, 6502, 65816 ??? CPU sells but who's buying..." Archived from the original on 2 January 2008.
  108. ^ Andrews, Mark (1984). "6". Atari Roots – A Guide To Atari Assembly Language. Datamost, Incorporated. ISBN 0-88190-171-7. Archived from the original on 2008-04-24. Retrieved 2008-06-14.
  109. ^ "1.4.1.2.8 RDY--Ready (p.37)". 6500 Series Hardware Manual; 2nd Ed. MOS Technology, INC. January 1976.

Bibliography

Further reading

Datasheets and manuals
Books
Reference cards

External links

Simulators, emulators
Tableros
FPGA