Movatterモバイル変換


[0]ホーム

URL:


Ir al contenido
WikipediaLa enciclopedia libre
Buscar

MOS 6502

De Wikipedia, la enciclopedia libre
MOS 6502
Información
Tipomodelo de circuito integrado
DesarrolladorMOS Technology
FabricanteMOS Technology
Datos técnicos
Frecuencia de reloj de CPU1MHz — 3 MHz
Conjunto de instruccionesMOS 6502
Cronología
MOS 6501
MOS 6502

ElMOS 6502 oMOS Technology 6502 es un microprocesador de 8 bits diseñado porMOS Technology en 1975. Cuando fue introducido fue, con bastante diferencia, laCPU más barata con características completas de mercado, con alrededor de un sexto del precio o menos que las CPU con las que competía de compañías más grandes comoMotorola eIntel. Era sin embargo más rápido que la mayoría de ellos, y, junto con elZilog Z80, fueron la chispa de una serie de proyectos de computadores que finalmente darían lugar a la revolución del ordenador personal de finales de los 1970 y principios de los años 1980. Además de MOS Technology, el diseño del 6502 tuvo originalmente como segunda fuente aRockwell ySynertek y fue licenciado más adelante a varias compañías más. Todavía se hace para sistemas integrados (embedded systems).

El 6502 consiste en realidad en una familia de CPU que comparten el chip, pero están encapsuladas con diferentes números de patillas, abaratando costes y sacrificando algunas prestaciones. Éstos a su vez se dividen en dos grupos: los 650x, con reloj interno, y los 651x, que necesitan reloj de dos fases (como el MC6800).

Historia y uso

[editar]

El 6502 fue diseñado primariamente por el mismo equipo que había diseñado elMotorola 6800. Después de abandonar el grupoMotorola, rápidamente diseñaron el6501, un diseño totalmente nuevo que era sin embargo compatible a nivel de pines con el 6800. Motorola les demandó inmediatamente, y aunque hoy en día el caso habría sido descartado inmediatamente, el daño a MOS fue lo bastante grande para que acordaran parar la producción de los 6501.

El resultado fue el 6502, el cual no podría causar un litigio legal con Motorola, ya que por un diferente ordenamiento de sus patillas, era inutilizable en una tarjeta madre para el6800. Sin embargo esto dejó a MOS Technology con el problema de conseguir nuevos desarrolladores para el sistema, así que en respuesta el ingenieroChuck Peddle diseñó elKIM-1 una computadora en una sola placa. Para su sorpresa, el KIM-1 se vendió en cantidades enormes a los aficionados y a las personas que les gustaba experimentar, y también entre los ingenieros para los cuales fue pensado. ElAIM 65, un sistema de control, entrenamiento, y desarrollo, manufacturado por Rockwell también se vendió bien. Otro diseño más o menos similar fue el SynertekSync.

Introduciendo al 6502

[editar]
Publicidad introductoria para los microprocesadores MOS Technology MCS6501 y MCS6502.

El 6502 fue lanzado al mercado en una feria tecnológica en septiembre de 1975. El precio era deUS$25 (equivalente a $141,56 en 2023), mientras que el6800 y el8080 se vendían porUS$179 (equivalente a $1014 en 2023). Al principio, mucha gente pensaba que era alguna clase de fraude, pero antes de que la feria terminara, tanto Motorola como Intel habían bajado sus precios aUS$79 (equivalente a $447,32 en 2023). Ahora el 6502 estaba legitimado y comenzaba a venderse por cientos.

Uno de los primeros usos «públicos» para el diseño fue lavideoconsolaAtari 2600. Los 2600 utilizaron un descendiente del 6502 llamado6507, que tenía menos pines y como resultado podía direccionar solamente 8 kB dememoria RAM. Millones serían vendidos en esta forma. El 6502 luego fue usado en la familia delApple II, y entonces rápidamente apareció en varios computadores personales como elCommodore PET,Commodore VIC-20, lafamilia Atari de 8 bits, la familiaBBC Micro, y un enorme número de otros diseños ahora perdidos en la historia. El6510, un sucesor directo del 6502, fue laCPU usada en el extremadamente popular computador personalCommodore 64.

Otro uso importante del 6502 fue en elNintendo Famicom, unavideoconsolajaponesa. Su equivalente estadounidense y europeo, elNintendo Entertainment System (NES), también tenía el 6502. El 6502 usado en el NES eran una versión modificada, que fue producida solamente para los Nintendo, llamada 2A03 en las consolasNTSC y 2A07 en las consolasPAL, la diferencia entre los dos era el divisor frecuencias del reloj. El procesador personalizado para el NES careció del modo decimal del 6502 pero agregó 22 registros de memoria mapeada para la generación del sonido, la lectura deljoypad (control del juego) y elDMA para lossprites.

El eficiente diseño del 6502 también inspiró a los principales diseñadores delARM, un procesadorRISC, y así se puede decir que la herencia del 6502 ha trascendido la familia original del procesador puesto que su espíritu vive en el diseño del ARM, usado en varios computadores de escritorio así como una plétora de sistemas de mano (hanheld) y de otros empotrados (embedded), y vendido como bloque deIP para ser usado en productos tipoSystem on a chip.

Descripción

[editar]
Troquel del 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 UAL (izquierda). Las conexiones del bus de datos se encuentran en la parte inferior derecha y el bus de direcciones en la parte inferior e inferior izquierda.
Configuración de pines del 6502 (DIP de 40 Pines).

El 6502, unmicroprocesador de 8 bits con unbus de dirección de 16 bits, fue lanzado en septiembre de 1975 porMOS Technology. La lógica interna corre a la misma velocidad que la frecuencia del reloj externo, pero las aparentemente lentas velocidades de reloj, normalmente 1 MHz, eran realmente competitivas con otras CPU corriendo cuatro veces más rápido, porque el 6502 era un procesadorpipeline, y los otros de su época fueron microcodificados y tenían velocidades comparables con la del 6502. El reloj del Z80, por ejemplo, necesita 4 ciclos para leer una instrucción. Aunque esto puede sonar como un «truco», el 6502 tenía el efecto secundario de bajar los requerimientos de velocidad de los periféricos unidos a la CPU, bajando de esta manera el coste total del sistema, un importante factor para conseguir un diseño ganador en los muy sensibles mercados de las consolas de juegos y los computadores personales. Cuenta con 3510 transistores.

A diferencia delIntel 8080 y de similares microprocesadores, el 6502 tenía muy pocosregistros. En ese tiempo, lamemoria RAM era más rápida que lasCPU, así que tenía sentido optimizar el acceso a RAM más que aumentar el número de registros en el chip. Dentro del 6502 había un registroacumulador «A» de 8 bits, dosregistros índice «X» e «Y» de 8 bits, unregistro de estado «SR» de 8 bits, unpuntero de pila «SP» de 8 bits, y uncontador de programa «PC» de 16 bits. El espacio de dirección de lapila para llamadas a subrutinas o almacenamiento temporal estaba fijado por hardware a la página $01 de la memoria, es decir la gama de direcciones $0100-$01FF (256-511). El acceso del software a la pila se hacía mediante cuatro instrucciones con modo de direccionamiento implícito cuya función era colocar o retirar un elemento en la pila (Push oPop). Había instrucciones Push y Pop para el contenido del acumulador o para el registro de estado del procesador.

El chip utilizó los registros del índice y de la pila efectivamente con variosmodos de direccionamiento, incluyendo un rápido modo de «página directa» o «página cero» que accedía a posiciones de memoria de las direcciones 0 a 255 (00 a FF hexadecimal) con una sola dirección 8 bits (no tenía que leer un segundo byte para la dirección). El código para el 6502 utilizaba mucho la página cero, tanto como el código para otros procesadores habrían usado sus registros. En la mayoría de los microcomputadores basados en el 6502 con un sistema operativo, el sistema operativo en sí mismo utilizaba casi completamente la página cero, dejando quizás un puñado de localizaciones para el usuario.

Losmodos de direccionamiento también incluían:

  • implied (instrucciones de 1 byte)
  • absolute (3 bytes)
  • relative (2 bytes)
  • acumulador (1 byte)
  • indirect, x eindirect, y (2 bytes)
  • immediate (2 bytes)
  • indexado, X eindexado, Y (2 o 3 bytes, dependiendo de que la base esté en la página cero o no)

El modo absoluto era un modo de uso general. El modo relativo era usado para instrucciones de bifurcación condicional que podrían mover el contador de programa hasta 128 bytes adelante o atrás. El modo acumulador usó el acumulador como una dirección efectiva, y no necesitaba ningún dato deoperando. El modo inmediato utilizaba un operandoliteral de 8 bits.

Los modos indirectos eran útiles para procesamiento devectores y otras operaciones repetitivas con bucles. Con el modo indirecto, y el registro Y, de 8 bits, era agregado a una base de 16 bits localizada en la página cero de la memoria (un byte en elopcode denotaba la localización de página cero). Los registros de 8 bits X e Y eran usados como offset (desplazamiento) más que su uso 'normal' como registros índice. El incremento de X o Y para caminar por la matriz era una operación de 8 bits de dos ciclos, aunque la matriz pudiera estar situado en cualquier parte del espacio de dirección 16 bits (obteniendo la base de 16 bits leída de la página cero). Aquí es donde el 6502 se diferencia más delMotorola 6800. Un superficial vistazo en las especificaciones del 6502 mostrando que había solamente registros de índice de 8 bits es absolutamente engañoso.

Características dudosas

[editar]
  • Los 6502 son notorios por tener una variedad de instrucciones indocumentadas, que variaban de un diseño al siguiente. La decodificación de instrucciones en el 6502 está implementada por medio de una matriz lógica fija implementada en hardware (similar a unPLA) definido solamente para losopcodes válidos. Los aproximadamente 32 opcodes indocumentados accionan varias instrucciones válidas a la vez, conduciendo a resultados inesperados. En las versiones CMOS (65Cxx) estos códigos se ejecutan como NOP, pero de número de bytes y ciclos variables según el código.
  • La instrucción de salto indirecto del 6502, JMP (xxxx), tenía un defecto. Si la dirección era xxFF hexadecimal, el procesador no tendría acceso a la dirección almacenada en xxFF y xxFF+1, sino en xxFF y xx00. El 6510 no corrigió este error, ni fue corregido en cualquiera de las otras versionesNMOS del 6502 como el 8502 y el 2A03.Bill Mensch enWestern Design Center fue el primero en corregirlo, en el derivadoCMOS65C02, pero a costa de un ciclo de reloj más. Posteriormente diseñó el procesador65816, un sucesor de 16 bits del 65C02 como también un descendiente híbrido llamado65802 que era un 65816 con un espacio de dirección de 64 kB y un encapsulado compatible a nivel de pines con el 65(C)02.

Aceleración

[editar]

Muchos usuarios de sistemas basados en 6502 de 1 MHz pronto deseaban que sus computadoras pudieran ir más rápidamente. Varias compañías vendieron hardware de reemplazo para acelerar esos sistemas. Generalmente, los aceleradores de los sistemas 6502 fueron basados en:

  • Chips 6502 o 65C02 que cuentan con una velocidad de reloj más rápida.
  • Chips 65C816 en modo de emulación del 6502, que cuenta con una velocidad de reloj mucho más rápida (hasta 20 MHz).
  • Procesadores Zip Chip de 4 MHz y 8 MHz, hechos porZip Technology, y Rocket Chips de 10 MHz, hechos porBits and Pieces, todos usandocaché RAM incorporado en la placa para acelerar el proceso de datos frecuentemente accesados mientras se permanecía compatible con una placa madre de 1 MHz. Finalmente, la patente n.º 4 794 523 de Zip Technology fuerza a Bits and Pieces a cesar de manufacturar el Rocket Chip.

Familia 65xx

[editar]
Véase también:Anexo:Familia MOS Technology 65xx
65xx
TipoMemoria / KiBOtras señalesEncapsulado
650264IRQ NMI Φ1 Φ2 Φo SYNC RDY40-pin
65034IRQ NMI Φo28-pin
65048IRQ Φo28-pin
65054IRQ Φo RDY28-pin
65064IRQ Φ1 Φ2 Φo28-pin
65078RDY Φo28-pin
651264IRQ NMI Φ1 Φ2 DBE SYNC RDY40-pin
65134IRQ NMI Φ1 Φ228-pin
65148IRQ Φ1 Φ228-pin
65154IRQ Φ1 Φ2 RDY28-pin
Variaciones ulteriores
*Commodore Semiconductor Group añadió las siguientes variantes:
650864KUn 6502 conteniendo 256 bytes de RAM y una puerta de 8-bits, permitiendo un μC con sólo dos chips: 6508 y ROM
65091MContiene la lógica necesaria para paginar los 64 KiB y proporcionar un bus de direcciones de 20 bits.
651064KContiene una puerta de seis u ocho bits, dependiendo de la versión.
6570μCContiene RAM y ROM. Microcontrolador de propósito general. CBM lo usa como controlador de teclado en el Amiga
65CE0264K(Cmos Enhaced) Última expansión que Commodore realizó del 6502. Contiene registros adicionales y mayor número de instrucciones y direccionamientos. Destinado a ser la CPU (4510) del Commodore 65.
*Rockwell tomó el núcleo 6502 y le añadió RAM y ROM en su familia 6500/xx.
6500/21Microcontrolador doble. Funciona como dos CPU operando sobre la misma memoria.
65C2964KMicroprocesador doble
65F11MicrocomputadorForth
65F12Microcomputador Forth
651664KUna modificación de Rockwell (CMOS) que respeta poco el diseño original.

Licenciamiento

[editar]

MOS Technology licenció pronto su 65xx, entre otras, a las siguientes compañías:

  • Rockwell Semiconductor
  • Synertek
  • AMI
  • ITT
  • UMC
  • NTE

Microcomputadores que usaron el 6502

[editar]

El procesador MOS 6502 y sus variantes fueron usados, entre otros equipos, en:

Hardware que emula el MOS 6502

[editar]

Existen múltiples proyectos que buscan emular el MOS 6502 y derivados a nivel de software, así como también a nivel de hardware. Entre los proyectos que implementan/emulan un MOS 6502 a nivel de hardware:

  • MOnSter 6502, una placa que implementa la parte "funcional " de un MOS 6502 sobre una placa compuesta por transistores y resistencias y luces LED visibles. El nombre "monster" hace referencia al tamaño de la placa, de 30 x 38 cm.[1]
  • Gigatron TTL, una microcomputadora de estilo retro, que, entre sus características, es la capacidad de emular el MOS 6502.
  • EnMinecraft, fue posible implementar una computadora completa basada en el MOS6502 gracias al modRedPower 2.[2][3]

Véase también

[editar]

Otros microprocesadores de la época

Computadores prototipo y para experimentación

Microcomputadores

Referencias

[editar]
  1. «MOnSter 6502: El clásico procesador de 8 bits, construido a gran escala – NeoTeo».www.neoteo.com. Consultado el 14 de julio de 2022. 
  2. Toor, Amar (21 de mayo de 2012).«RedPower 2 mod brings fully emulated 6502 CPU to Minecraft».The Verge(en inglés). Consultado el 14 de julio de 2022. 
  3. By (20 de mayo de 2012).«Building A 6502 In Minecraft».Hackaday(en inglés estadounidense). Consultado el 14 de julio de 2022. 

Enlaces externos

[editar]
Control de autoridades
Obtenido de «https://es.wikipedia.org/w/index.php?title=MOS_6502&oldid=163908795»
Categorías:
Categorías ocultas:

[8]ページ先頭

©2009-2025 Movatter.jp