Motorola 6883

De El Museo de los 8 bits
Revisión a fecha de 13:31 17 jul 2007; Museo8bits (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar
SN74LS783
Patillaje del SAM

El SN74LS783/MC6883 Synchronous Address Multiplexer (SAM) es un microchip de múltiples funciones en un encapsulado DIL de 40 pines, fabricado por Motorola, y pensado para actuar en conjunto con el VDP Motorola 6847 y los microprocesadores Motorola 6800, Motorola 6801E, Motorola 6809E y Motorola 68000, sustituyendo numerosos chips pequeños tipo LS/TTL. Se encarga de las siguientes tareas:

  • Generación y sincronización de reloj para la CPU y el VDG
  • Control y refresco de hasta 64 KB de Memoria de Acceso Aleatorio Dinámica (DRAM). 96 KB el SN74LS785
  • Selección de dispositivos basada en la dirección de memoria de la CPU para determinar si el acceso de la CPU es a DRAM, ROM, PIA, etc.
  • Duplicación del contador de dirección del VDG para "alimentar" al VDG con los datos que está esperando

Su propósito principal era controlar la DRAM pero también integraba algunas otras funciones. Generalmente estaba conectado con un cristal a 4 veces la frecuencia del colorburst del televisor (14.31818 MHz para los países NTSC). Internamente se dividía por 4 y con el resultado alimentaba al VDG para su propia sincronización interna (3.579545 MHz para NTSC). El SAM también dividía el reloj principal en 16 (8 en ciertos casos) para el reloj de dos fases de la CPU, esto era 0,89 MHz en NTSC (ó 1,8 MHz si era dividido por 8).

El SN74LS783 original podía manejar memorias de 4K x 1, 16K x 1 y 64K x 1 (128 columnas de refresco). Motorola sacó una segunda versión, etiquetada SN74LS785 que soportaba además memorias de 16K x 4 y 64K x 1 (256 columnas de referesco) y ROMs de bajo consumo (como la MCM68364) sin necesidad de circuitería adicional. Esto se lograba mediante un contador de refresco de 8 bits. Varias ampliaciones de memoria para equipos basados en estos chips (como los Dragon 32 o los CoCo que utilizan DRAM de 256K con conmutación de bancos de memoria requerían de un SN74LS785.

Cambiar el SAM para operar a 1.8 MHz daba a la CPU el tiempo usado ordinariamente por el VDG y el refrescamiento, teniendo como efecto colateral que la pantalla mostrara basura. Este modo fue raramente usado. Sin embargo, había un inusual modo disponible en el SAM llamado modo Dependiente de la Dirección, en donde la lectura de la ROM, puesto que no usaba la DRAM, ocurría a 1.8 MHz pero el acceso regular de la RAM ocurría a .89 MHz. En efecto, puesto que el intérprete BASIC corría desde la ROM, poniendo la máquina en este modo doblaba aproximadamente el desempeño de los programas escritos en BASIC mientras que mantenía la exhibición de video y el refresco de la DRAM. Por supuesto, esto destrozaba los ciclos de sincronización del software y las operaciones de I/O eran afectadas. Sin embargo, a pesar de estos problemas, la instrucción "poke de alta velocidad" fue usada por muchos programas BASIC, aunque causaba un overclocking en un hardware diseñado para operar a 1 MHz.

El SAM no tenía ninguna conexión al bus de datos del MPU. Debido a esto, estaba programado de una manera curiosa, su registro de configuración de 16 bits está distribuido a través de 32 direcciones de memoria (FFC0-FFDF). Escribir a bytes pares, ponían el registro correspondiente a 0, y escribir a bytes impares lo ponían a 1.

Debido a las limitaciones en el empaquetado de 40 pines, el SAM contenía un duplicado del contador interno de dirección de 12 bits del VDG. Normalmente los ajustes del contador estaban dispuestos para duplicar el modo de exhibición de video del VDG. Sin embargo esto no era requerido y resultaba en la creación de algunos nuevos modos de exhibición de video no posibles cuando era usado solamente el VDG en un sistema. En vez de que el VDG leyera por sí mismo datos de la memoria RAM, éste era "alimentado" con datos por la copia interna en el SAM del contador de dirección del VDG. Este proceso era llamado por Motorola como "Interleaved Direct Memory Access" (IDMA) (Acceso Directo de Memoria Intercalado), y aseguraba que el procesador y el VDG siempre tuvieran acceso completo, sin estados de espera o contención, a este recurso de memoria compartido.

Patillaje del SAM

Nombre # Descripción
Vcc 40 Alimentación a +5 Voltios. El SAM consume menos de 230 mA.
GND 20 Masa para el Vcc
A15 36 Bit más significativo
A14 37 Bits de direcciones de la CPU
A13 38
A12 39
A11 1
A10 2
A9 3
A8 4
A7 24
A6 23
A5 22
A4 21
A3 19
A2 18
A1 17
A0 16 Bit menos significativo