Diferencia entre revisiones de «MOS 6510»

Contenido eliminado Contenido añadido
Piero71 (discusión · contribs.)
Piero71 (discusión · contribs.)
Ampliar variantes
Línea 6:
El principal cambio respecto del 6502 es la incorporación de un puerto de [[Entrada/Salida]] de 8 bits de propósito general (solo seis pines I/O están disponibles en la versión más común del 6510). Además, el bus de direcciones podía hacerse [[Buffer_triestado|triestado]].
 
El 6510 fue usado ampliamente en el [[ordenador doméstico]] [[Commodore 64]] y, en cantidades significativamente más pequeñas, en el [[Commodore SX-64]] (una versión portátil del C64). En ambos casos los pines extra del procesador se utilizaron para controlar el [[Paginación|mapa de memoria]] del ordenador, y en el C64, para controlar el [[motor eléctrico]] del [[Commodore DatassetteDatasette]], la lectograbadora dedicada de [[casete]]. Era posible, escribiendo la correcta [[bit|máscara de bits]] al procesador en la dirección $01, mapear la totalidad de los 64K de [[Memoria de acceso aleatorio|RAM]] del C64, no dejando mapeados ni la [[ROM]] ni los puertos de entrada/salida.
 
==Variantes==
 
=== MOS 8500 ===
En [[1985]] MOS produjo el '''8500''', una versión [[HMOS]] del 6510. Aparte del cambio del proceso de fabricación, era idéntico a la versión [[NMOS]] del 6510. Aunque el 8500 se diseñó principalmente para utilizarlo en el Commodore 64C, una versión modernizada del C64 en carcasa tipo [[Commodore 128]], cantidades limitadas del 8500 se utilizaron en viejos C64 con base NMOS.
 
En [[1985]] MOS produjo el '''8500''', una versión [[HMOS]] del 6510. Aparte del cambio del proceso de fabricación, era idéntico a la versión [[NMOS]] del 6510. Aunque el 8500 se diseñó principalmente para utilizarlo en el Commodore 64C, una versión modernizada del C64 en carcasa tipo [[Commodore 128]], cantidades limitadas del 8500 se utilizaron en viejos C64 con base NMOS. Hizo su debut oficial en 1987, aparciendo en una placa madre con el nuevo chipset HMOS 85xx.
 
=== MOS 7501/8501 ===
 
La variante '''7501/8501''' del 6510 fue introducida en 1984.<ref name="auto">http://plus4world.powweb.com/hardware/MOS_75018501 Hardware – MOS 7501/8501</ref> Comparado con el 6510, esta variante amplía el número de pines del puerto de E/S de 6 a 8, pero omite los pines para la interrupción no enmascarable y la salida de reloj.<ref>https://ist.uwaterloo.ca/~schepers/MJK/7501.html CPU 7501 / 8501</ref> Fue usado en las computadoras hogareñas [[Commodore 16|C16]], [[Commodore 16|C116]] y [[Commodore Plus/4|Plus/4]] de Commodore, donde el puerto de E/S controla no sólo el [[Commodore Datasette|Datasette]], sino también la interface del [[Commodore 1541#Interface|CBM Bus]]. La principal diferencia entre las CPU 7501 y 8501 es que se fabricaron con procesos ligeramente diferentes: el 7501 con proceso [[HMOS|HMOS-1]] y el 8501 con HMOS-2.<ref name="auto"/>
 
=== MOS 8502 ===
 
La variante [[MOS Technology 8502|8502]] capaz de correr a 2&nbsp;[[Hercio|MHz]] fue usada en el [[Commodore 128]]. Todas estas CPU eran compatibles a nivel [[Código de operación|opcode]] (incluyendo [[opcode ilegal|opcodes no documentados]]).<ref>{{cite web|url=http://www.oxyron.de/html/opcodes02.html|title=6502/6510/8500/8502 Opcodes|first=|last=Graham|website=www.oxyron.de}}</ref>
 
=== MOS 6510T ===
 
La unidad de disco [[Commodore 1551]] usaba el '''6510T''', una versión del 6510 con ocho líneas de E/S. Las señales de [[Interrupción no enmascarable|NMI]] y RDY no están disponibles.
 
==Componentes==
 
[[*Program Counter:]]
Elemento que una vez proporcionada la primera instrucción, basta que sea incrementado en una unidad para que proporcione la dirección de la segunda instrucción.
[[*Registros índices X e Y:]]
Sirven para llevar a cabo un modo de direccionamiento, denominado indexado con el que la localización del operando de una instrucción se busca en la MEM añadiendo el contenido de estos registros a la dirección especificada en la instrucción.
[[*Registro de Estados:]]
Registro de 8 bits, 7 son significativos y sirven para señalar una situación provocada en la ejecución que se acaba de realizar.
[[*Stack Pointer:]]
Se trata de un contador programable que direcciona la página 1 de la MEM como si se tratase de una [[pila (informática)|pila]] [[LIFO]]. Para simplificar la localización de las posiciones de MEM se lee la estructura en forma de páginas, cada una de las cuales consta de varias líneas o posiciones.
Así, una MEM de 64K posiciones, se puede dividir en 256 páginas de 256 líneas cada una.
[[*Bus de direcciones:]]
Comprende las 16 líneas del bus de direcciones, de carácter unidireccional.
[[*Bus de Datos:]]
Consta de 8 líneas bidireccionales, por las que se transfieren los datos y las instrucciones, en sus salidas hay buffers amplificadores capaces de soportar una carga.