fbpx
Wikipedia

MOS 6510

El MOS Technology 6510 es un microprocesador diseñado por MOS Technology, Inc., y es el sucesor directo del célebre 6502.

Imagen de los componentes de un Commodore 64 mostrando algunos de los más importantes chips de MOS Technology : la CPU 6510 (chip de 40 pines DIP, a la izquierda) y el 6581 SID (derecha). La producción Semana/Año (SSAA) de cada chip está debajo de cada nombre.
Configuración de los pines de la versión más común de la CPU 6510.

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 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 mapa de memoria del ordenador, y en el C64, para controlar el motor eléctrico del Commodore Datasette, la lectograbadora dedicada de casete. Era posible, escribiendo la correcta máscara de bits al procesador en la dirección $01, mapear la totalidad de los 64K de 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. 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.[1]​ 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.[2]​ Fue usado en los ordenadores domésticos C16, C116 y Plus/4 de Commodore, donde el puerto de E/S controla no sólo el Datasette, sino también la interface del CBM Bus. La principal diferencia entre las CPU 7501 y 8501 es que se fabricaron con procesos ligeramente diferentes: el 7501 con proceso HMOS-1 y el 8501 con HMOS-2.[1]

MOS 8502

La variante 8502 capaz de correr a 2 MHz fue usada en el Commodore 128. Todas estas CPU eran compatibles a nivel opcode (incluyendo opcodes no documentados).[3]

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 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 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.

Características y Mnemotécnicos

A partir de un código creado en C para emular el funcionamiento se obtiene:

Definiendo los tipos word de tamaño de 16 bits (2 bytes) y byte (8 bits) Un struct cpu:

word cpu.PC, cpu.MAR byte cpu.A, cpu.X, cpu.Y, cpu.IR, cpu.SP, cpu.MBR, cpu.FLAGS

funciones "void":

memoria() cmp() fetch_dato() cpx() fetch_codigo() cpy() poner_dato() dec() fetch_dir() eor() carry() inc() negative() lsr() zero() pop() overflow() push() adc() rol() and() ror() asl() sbc() brach() cilco_ejec()

El switch (cpu.IR) contendrá 85 opcodes (codop) de los 256 disponibles (0..255) ya que solo hay definidos 151 de ellos y se utilizan 105.

Los cases del swich son los siguientes y a cada uno le corresponde un opcode:

ADC 0x69
0x6D
0x7D
0x69
PHA 0x48
AND 0x29
0x2d
0x3D
0x39
PHP 0x08
ASL 0x0A
0x0E
0x1E
PLA 0x68
Branch 0x90
0xB0
0xF0
0x30
0xD0
0x10
PLP 0x28
Clear 0x18
0xB8
ROL 0x2A
0x2E
0x3E
CMP 0xC9
0xCD
0xDD
0xD9
0xE0
0xEC
0xC0
0xCC
ROR 0x6A
0x6E
0x7E
DEC 0xCE
0xDE
0xCA
0x88
SBC 0xE9
0xED
0xFD
0xF9
DEX
DEY
0xCA
0x88
SEC 0x38
0xF8
0x78
EOR 0x49
0x4D
0x5D
0x59
STA 0x8D
0x9D
0x99
INC 0xEE

0xFE

STX
STY
0x8E
0x8C
INX
INY
0xE8
0xC8
TAX
TAY
0xAA
0xA8
JMP 0x4C TXA
TYA
0x8A
0x98
JSR 0x20 TXS
TSX
0x9A
0xBA
LDX 0xA2
0xAE
0xBE
LDA 0xA9
0xAD
0xBD
0xB9
LDY 0xA0
0xAC
0xBC
LSR 0x4A
0x4E
0x5E
ORA 0x09
0x0D
0x1D
0x19
RTS 0x60


Se definieron banderas como constantes:

NFLAG 0x80 10000000 Bandera de negativo
VFLAG 0x40 01000000 Bandera de overflow
DFLAG 0x08 00001000 Bandera de modo decimal
IFLAG 0x04 00000100 Bandera de interrupt
VFLAG 0x02 00000010 Bandera de cero
CFLAG 0x01 00000001 Bandera de carry

Referencias

  1. http://plus4world.powweb.com/hardware/MOS_75018501 Hardware – MOS 7501/8501
  2. https://ist.uwaterloo.ca/~schepers/MJK/7501.html CPU 7501 / 8501
  3. Graham. «6502/6510/8500/8502 Opcodes». www.oxyron.de. 

Enlaces externos

  • MOS 6510 datasheet (formato GIF, zip)
  • MOS 6510 datasheet (formato PDF)
  • MOS 6510 datasheet (Nov. 1982, formato PDF)
  • Emulador MOS 6510 creado por Angélica Partida Hanon
  •   Datos: Q378246
  •   Multimedia: MOS Technology 6510 / Q378246

6510, technology, 6510, microprocesador, diseñado, technology, sucesor, directo, célebre, 6502, imagen, componentes, commodore, mostrando, algunos, más, importantes, chips, technology, 6510, chip, pines, izquierda, 6581, derecha, producción, semana, año, ssaa,. El MOS Technology 6510 es un microprocesador disenado por MOS Technology Inc y es el sucesor directo del celebre 6502 Imagen de los componentes de un Commodore 64 mostrando algunos de los mas importantes chips de MOS Technology la CPU 6510 chip de 40 pines DIP a la izquierda y el 6581 SID derecha La produccion Semana Ano SSAA de cada chip esta debajo de cada nombre Configuracion de los pines de la version mas comun de la CPU 6510 El principal cambio respecto del 6502 es la incorporacion de un puerto de Entrada Salida de 8 bits de proposito general solo seis pines I O estan disponibles en la version mas comun del 6510 Ademas el bus de direcciones podia hacerse triestado El 6510 fue usado ampliamente en el ordenador domestico Commodore 64 y en cantidades significativamente mas pequenas en el Commodore SX 64 una version portatil del C64 En ambos casos los pines extra del procesador se utilizaron para controlar el mapa de memoria del ordenador y en el C64 para controlar el motor electrico del Commodore Datasette la lectograbadora dedicada de casete Era posible escribiendo la correcta mascara de bits al procesador en la direccion 01 mapear la totalidad de los 64K de RAM del C64 no dejando mapeados ni la ROM ni los puertos de entrada salida Indice 1 Variantes 1 1 MOS 8500 1 2 MOS 7501 8501 1 3 MOS 8502 1 4 MOS 6510T 2 Componentes 3 Caracteristicas y Mnemotecnicos 4 Referencias 5 Enlaces externosVariantes EditarMOS 8500 Editar En 1985 MOS produjo el 8500 una version HMOS del 6510 Aparte del cambio del proceso de fabricacion era identico a la version NMOS del 6510 Aunque el 8500 se diseno principalmente para utilizarlo en el Commodore 64C una version 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 Editar La variante 7501 8501 del 6510 fue introducida en 1984 1 Comparado con el 6510 esta variante amplia el numero de pines del puerto de E S de 6 a 8 pero omite los pines para la interrupcion no enmascarable y la salida de reloj 2 Fue usado en los ordenadores domesticos C16 C116 y Plus 4 de Commodore donde el puerto de E S controla no solo el Datasette sino tambien la interface del CBM Bus La principal diferencia entre las CPU 7501 y 8501 es que se fabricaron con procesos ligeramente diferentes el 7501 con proceso HMOS 1 y el 8501 con HMOS 2 1 MOS 8502 Editar La variante 8502 capaz de correr a 2 MHz fue usada en el Commodore 128 Todas estas CPU eran compatibles a nivel opcode incluyendo opcodes no documentados 3 MOS 6510T Editar La unidad de disco Commodore 1551 usaba el 6510T una version del 6510 con ocho lineas de E S Las senales de NMI y RDY no estan disponibles Componentes EditarProgram Counter Elemento que una vez proporcionada la primera instruccion basta que sea incrementado en una unidad para que proporcione la direccion de la segunda instruccion Registros indices X e Y Sirven para llevar a cabo un modo de direccionamiento denominado indexado con el que la localizacion del operando de una instruccion se busca en la MEM anadiendo el contenido de estos registros a la direccion especificada en la instruccion Registro de Estados Registro de 8 bits 7 son significativos y sirven para senalar una situacion provocada en la ejecucion que se acaba de realizar Stack Pointer Se trata de un contador programable que direcciona la pagina 1 de la MEM como si se tratase de una pila LIFO Para simplificar la localizacion de las posiciones de MEM se lee la estructura en forma de paginas cada una de las cuales consta de varias lineas o posiciones Asi una MEM de 64K posiciones se puede dividir en 256 paginas de 256 lineas cada una Bus de direcciones Comprende las 16 lineas del bus de direcciones de caracter unidireccional Bus de Datos Consta de 8 lineas bidireccionales por las que se transfieren los datos y las instrucciones en sus salidas hay buffers amplificadores capaces de soportar una carga Caracteristicas y Mnemotecnicos EditarA partir de un codigo creado en C para emular el funcionamiento se obtiene Definiendo los tipos word de tamano de 16 bits 2 bytes y byte 8 bits Un struct cpu word cpu PC cpu MAR byte cpu A cpu X cpu Y cpu IR cpu SP cpu MBR cpu FLAGSfunciones void memoria cmp fetch dato cpx fetch codigo cpy poner dato dec fetch dir eor carry inc negative lsr zero pop overflow push adc rol and ror asl sbc brach cilco ejec El switch cpu IR contendra 85 opcodes codop de los 256 disponibles 0 255 ya que solo hay definidos 151 de ellos y se utilizan 105 Los cases del swich son los siguientes y a cada uno le corresponde un opcode ADC 0x690x6D0x7D0x69 PHA 0x48AND 0x290x2d0x3D0x39 PHP 0x08ASL 0x0A0x0E0x1E PLA 0x68Branch 0x900xB00xF00x300xD00x10 PLP 0x28Clear 0x180xB8 ROL 0x2A0x2E0x3ECMP 0xC90xCD0xDD0xD90xE00xEC0xC00xCC ROR 0x6A0x6E0x7EDEC 0xCE0xDE0xCA0x88 SBC 0xE90xED0xFD0xF9DEXDEY 0xCA0x88 SEC 0x380xF80x78EOR 0x490x4D0x5D0x59 STA 0x8D0x9D0x99INC 0xEE0xFE STXSTY 0x8E0x8CINXINY 0xE80xC8 TAXTAY 0xAA0xA8JMP 0x4C TXATYA 0x8A0x98JSR 0x20 TXSTSX 0x9A0xBALDX 0xA20xAE0xBE LDA 0xA90xAD0xBD0xB9LDY 0xA00xAC0xBC LSR 0x4A0x4E0x5EORA 0x090x0D0x1D0x19 RTS 0x60Se definieron banderas como constantes NFLAG 0x80 10000000 Bandera de negativoVFLAG 0x40 01000000 Bandera de overflowDFLAG 0x08 00001000 Bandera de modo decimalIFLAG 0x04 00000100 Bandera de interruptVFLAG 0x02 00000010 Bandera de ceroCFLAG 0x01 00000001 Bandera de carryReferencias Editar a b http plus4world powweb com hardware MOS 75018501 Hardware MOS 7501 8501 https ist uwaterloo ca schepers MJK 7501 html CPU 7501 8501 Graham 6502 6510 8500 8502 Opcodes www oxyron de Enlaces externos EditarMOS 6510 datasheet formato GIF zip MOS 6510 datasheet formato PDF MOS 6510 datasheet Nov 1982 formato PDF Emulador MOS 6510 creado por Angelica Partida Hanon Datos Q378246 Multimedia MOS Technology 6510 Q378246 Obtenido de https es wikipedia org w index php title MOS 6510 amp oldid 140874980, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos