Está en la página 1de 5

El MOS 6502 o MOS Technology 6502 es un microprocesador de 8 bits dise�ado por MOS

Technology en 1975. Cuando fue introducido fue, con bastante diferencia, la CPU 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 como
Motorola e Intel. Era sin embargo m�s r�pido que la mayor�a de ellos, y, junto con
el Zilog 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 a Rockwell y Synertek y fue licenciado m�s
adelante a un n�mero de compa��as. Todav�a se hace para sistemas integrados
(embedded systems). En realidad, consiste en una familia de CPU's que comparten el
chip, pero est�n encapsuladas con diferentes n�meros de patillas, abaratando costes
y sacrificando algunas prestaciones. Adem�s hay dos grupos: los 650x, con reloj
interno, y los 651x, que necesitan reloj de dos fases (como el MC6800).

Un procesador MOS 6502 en un paquete pl�stico DIP-40.

�ndice
1 Historia y uso
2 Introduciendo al 6502
3 Descripci�n
4 Caracter�sticas dudosas
5 Aceleraci�n
6 Familia 65xx
7 Trivia 6502
8 Segundas fuentes
9 Microcomputadores que usaron el 6502
10 V�ase tambi�n
11 Enlaces externos
Historia y uso

Apple IIe

Atari 800XL

Commodore vic 20

Atari 2600

El 6502 fue dise�ado primariamente por el mismo equipo que hab�a dise�ado el
Motorola 6800. Despu�s de abandonar el grupo Motorola, r�pidamente dise�aron el
6501, 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 el 6800. Sin embargo esto dej� a MOS Technology con el problema
de conseguir nuevos desarrolladores para el sistema, as� que en respuesta el
ingeniero Chuck Peddle dise�� el KIM-1 una computadora en una simple tarjeta. Para
su sorpresa, el KIM-1 se vendi� en cantidades enormes a los aficionados y a las
personas que les gustaba experimentar, tambi�n como a los ingenieros para los
cuales fue pensado. El AIM 65, un sistema de control, entrenamiento, y desarrollo,
manufacturado por Rockwell tambi�n lo hizo bien. Otro dise�o m�s o menos similar
fue el Synertek SYM-1.

Introduciendo al 6502

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 de $25, mientras que el 6800 y el 8080 se vend�an por $179. 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 a $79. Ahora
el 6502 estaba legitimado y comenzaba a venderse por cientos.

Uno de los primeros usos "p�blicos" para el dise�o fue la videoconsola Atari 2600.
Los 2600 utilizaron un descendiente del 6502 llamado 6507, que ten�a menos pines y
como resultado pod�a direccionar solamente 8 KB de memoria RAM. Millones ser�an
vendidos en esta forma. El 6502 luego fue usado en la familia del Apple II, y
entonces r�pidamente apareci� en varios computadores personales como el Commodore
PET, Commodore VIC-20, familia Atari de 8 bits, la familia BBC Micro, y un enorme
n�mero de otros dise�os ahora perdidos en la historia. El 6510, un sucesor directo
del 6502, fue la CPU usado en el extremadamente popular computador personal
Commodore 64.

Otro uso importante del 6502 fue en el Nintendo Famicom, una videoconsola japonesa.
Su equivalente estadounidense y europeo, el Nintendo 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 consolas NTSC y 2A07 en
las consolas PAL, 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
del joypad (control del juego) y el DMA para los sprites.

El eficiente dise�o del 6502 tambi�n inspir� a los principales dise�adores del ARM,
un procesador RISC, 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 sistemas de mano
(hanheld) y de otros empotrados (embedded), y vendido como bloque de IP para ser
usado en productos tipo System on a chip.

Descripci�n

Configuraci�n de pines del 6502 (DIP de 40 Pines).


El 6502 es un procesador de 8 bits con un bus de direcci�n de 16 bits. La l�gica
interna corre a la misma velocidad que la frecuencia del reloj externo, pero las
aparentemente lentas velocidades de reloj de t�picamente 1 MHz eran realmente
competitivas con otras CPUs corriendo cuatro veces m�s r�pido porque el 6502 era un
procesador pipelined, y los otros de su tiempo 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, de esta manera bajando 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.

A diferencia del Intel 8080 y de similares microprocesadores, el 6502 ten�a muy


pocos registros. En ese tiempo, la memoria RAM era m�s r�pida que las CPUs, 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 registro acumulador "A" de 8 bits, dos registros
�ndice "X" e "Y" de 8 bits, un registro de estado "SR" de 8 bits, un puntero de
pila "SP" de 8 bits, y un contador de programa "PC" de 16 bits. El espacio de
direcci�n de la pila para llamadas a subrutinas o almacenamiento temporal estaba
fijado (hardwired) 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 o Pop). Hab�a instrucciones Push y Pop para
contenido del acumulador o para el registro de estado del procesador.

El chip utiliz� los registros del �ndice y de la pila efectivamente con varios
modos 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.

Los modos de direccionamiento tambi�n inclu�an:

implied (instrucciones de 1 byte)


absolute (3 bytes)
relative (2 bytes)
acumulador (1 byte)
indirect, x e indirect, y (2 bytes)
immediate (2 bytes)
indexado, X e indexado, 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 de operando. El modo inmediato
utilizaba un operando literal de 8 bits.

Los modos indirectos eran �tiles para procesamiento de vectores 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 el opcode 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 el arreglo era una operaci�n de 8
bits de dos ciclos, aunque el arreglo 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 del Motorola 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
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 un arreglo l�gico fijo (hardwired) (similar a un
PLA) definido solamente para los opcodes v�lidos. Los ~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's,
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 versiones NMOS del 6502 como el 8502 y
el 2A03. Bill Mensch en Western Design Center fue el primero en corregirlo, en el
derivado CMOS 65C02, pero a costa de un ciclo de reloj m�s. Posteriormente dise��
el procesador 65816, un sucesor de 16 bits del 65C02 como tambi�n un descendiente
h�brido llamado 65802 que era un 65816 con un espacio de direcci�n de 64 KB y un
paquete compatible a nivel de pines con el 65(C)02.
Aceleraci�n
Muchos usuarios de sistemas basados en 6502 de 1 MHz pronto deseaban que sus
computadoras pudieran ir m�s r�pidamente. Un n�mero de compa��as vendieron hardware
de reemplazo para acelerar esos sistemas. Generalmente, los aceleradores de los
sistemas 6502 fueron basados en:

Chips 6502 o 65C02 cuentan con una velocidad de reloj m�s r�pida.
Chips 65C816 en modo de emulaci�n del 6502, cuenta en una velocidad de reloj mucho
m�s r�pida (hasta 20 MHz).
Procesadores Zip Chip de 4 MHz y 8 MHz, hechos por Zip Technology, y Rocket Chips
de 10 MHz, hechos por Bits and Pieces, todos usando cach� RAM incorporado en la
tarjeta para acelerar el proceso de datos frecuentemente accesados mientras se
permanec�a compatible con una tarjeta madre de 1 MHz. Finalmente, la patente
#4,794,523 de Zip Technology fuerza a Bits and Pieces a cesar de manufacturar el
Rocket Chip.
Familia 65xx
65xx
Tipo Memoria / KiB Otras se�ales Encapsulado
6502 64 IRQ NMI F1 F2 Fo SYNC RDY 40-pin
6503 4 IRQ NMI Fo 28-pin
6504 8 IRQ Fo 28-pin
6505 4 IRQ Fo RDY 28-pin
6506 4 IRQ F1 F2 Fo 28-pin
6507 8 RDY Fo 28-pin
6512 64 IRQ NMI F1 F2 DBE SYNC RDY 40-pin
6513 4 IRQ NMI F1 F2 28-pin
6514 8 IRQ F1 F2 28-pin
6515 4 IRQ F1 F2 RDY 28-pin
Variaciones ulteriores
* Commodore Semiconductor Group a�adi� las variaciones siguientes:
6508 64K Un 6502 conteniendo 256 bytes de RAM y una puerta de 8-bits,
permitiendo un �C con s�lo dos chips: 6508 y ROM
6509 1M Contiene la l�gica necesaria para paginar los 64 KiB y proporcionar un
bus de direcciones de 20 bits.
6510 64K Contiene una puerta de seis u ocho bits, dependiendo de la versi�n.
6570 �C Contiene RAM y ROM. Microcontrolador de prop�sito general. CBM lo usa
como controlador de teclado en el Amiga
65CE02 64K (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/21 Microcontrolador doble. Funciona como dos CPU operando sobre la
misma memoria.
65C29 64K Microprocesador doble
65F11 Microcomputador Forth
65F12 Microcomputador Forth
6516 64K Una modificaci�n de Rockwell (cmos) que respeta poco el dise�o
original.
Trivia 6502
En la pel�cula de ciencia ficci�n Terminator (1984), protagonizada por Arnold
Schwarzenegger, la audiencia en determinados momentos ve a trav�s del ojo/c�mara
del Terminator T-800 Model-101 algunos fragmentos de programa del 6502 en lenguaje
ensamblador/m�quina haciendo en la pantalla scroll hacia abajo. Tambi�n se muestra
la salida de una ejecuci�n, en un computador Apple II, de un programa de suma de
verificaci�n llamado KEY PERFECT 4.0, publicado por la revista Nibble.
Bender, un androide "robot industrial" manufacturado en el 2998 DC, protagonista de
la serie de TV de dibujos animados Futurama, en el episodio "Fry y la f�brica
Slurm", se revel� que ten�a una CPU 6502 como su "cerebro", es curioso se�alar que
en el mercado se encuentran CPUs producidos en M�xico y esto es consistente con la
afirmaci�n de que Bender es mexicano tras mostrar el sello de "Hecho en M�xico" que
trae de manera interna al t�rax.
Incluso hoy, 30 a�os despu�s de la introducci�n del 6502, la Escuela de Computaci�n
de la Universidad Tasmania todav�a usa el procesador para ense�ar lenguaje
ensamblador en el curso de Arquitectura y Organizaci�n del Computador.
Todav�a es usado para ense�ar lenguaje ensamblador en la Universidad de Ciencias
Aplicadas en Colonia, Alemania.
Es usado para ense�ar lenguaje ensamblador en la Escuela Superior de C�mputo
(ESCOM) del Instituto Polit�cnico Nacional (IPN) en M�xico.
Es usado para ense�ar lenguaje ensamblador en la Centro de Estudios Cient�ficos y
Tecnol�gicos #9 Juan de Dios Batiz Paredes (CECyT 9) del Instituto Polit�cnico
Nacional (IPN) en M�xico.
Los Furbys funcionan con un procesador 6502 contenido en su cuerpo. Los Furbys
Es usado para ense�ar lenguaje ensamblador en la Escuela de Formaci�n Profesional
Fundaci�n Revillagigedo de Gij�n.
Segundas fuentes
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
El procesador MOS 6502 y sus variantes fueron usados, entre otros equipos, en:

Apple I, Apple II, Apple III


Commodore PET, Commodore VIC-20
Atari 400/800/400XL/600XL/800XL/1200XL/65XE/130XE/XG/XGS, consola Atari Lynx 1 y 2
MOS Technology KIM-1
Ohio Superboard, Ohio Superboard II, Ohio Challenger (Ohio Scientific)
Acorn Atom, BBC Micro, Acorn Electron
Oric 1, Oric Atmos
Nintendo Entertainment System (consola)
PC-Engine (TurboGrafx-16) (dos CPU's 6502)