Diferencia entre revisiones de «Motorola 6883»

De El Museo de los 8 bits
Saltar a: navegación, buscar
 
Línea 30: Línea 30:
 
|A15||36||Bit más significativo
 
|A15||36||Bit más significativo
 
|---
 
|---
|A14||37||rowspan=14| Bits de direcciones de la CPU
+
|A14||37||rowspan=14| Bits de direcciones de la CPU (A0-A15). Las señales vienen directamente de la CPU y se utilizan para direccionar hasta 64 KB direcciones de memoria, o indirectamente hasta 96 KB.
 
|---
 
|---
 
|A13||38
 
|A13||38
Línea 59: Línea 59:
 
|---
 
|---
 
|A0||16||Bit menos significativo
 
|A0||16||Bit menos significativo
 +
|---
 +
|R/W||15||CPU '''READ''' o '''WRITE'''. La señal viene directamente de la CPU y para permitir escribir en el registro de control del SAM, en la memoria dinámica (mediante WE) y para haiblitar la selección del dispositivo 0
 +
|---
 +
|OscIn||5||Entrada del cristal externo
 +
|---
 +
|DA0||8||Display Adress DA0. La función primaria de este pin es leer el bit menos significativo de una dirección de pantalla de 16 bits. Los 15 bits más significativos son salidas para un
 +
|---
 +
|HS||9||
 +
|---
 +
|VClk||7||
 +
|---
 +
|OscOut||6||
 +
|---
 +
|S2||25||
 +
|---
 +
|S1||26||
 +
|---
 +
|S0||27||
 +
|---
 +
|E||14||E(Enable Clock). '''E''' y '''Q''' están 90 grados fuera de fase y son usados por la CPU '''6809E''' como relojes. Las cPU MC6800 y MC6801E sólo usan E, que también es utilizada por varios chips periféricos del MC6800
 +
|---
 +
|Q||13||Q (quadrature clock)
 +
|---
 +
|Z7||35||Bit más significativo
 +
|---
 +
|Z6||34||rowspan=6|
 +
|---
 +
|Z5||33
 +
|---
 +
|Z4||32
 +
|---
 +
|Z3||31
 +
|---
 +
|Z2||30
 +
|---
 +
|Z1||29
 +
|---
 +
|Z0||28||Bit menos significativo
 +
|---
 +
|RAS1||35||
 +
|---
 +
|RAS0||12||
 +
|---
 +
|CAS||11||
 +
|---
 +
|WE||10||'''Write Enable''' cuando está bajo habilita a la CPU para escribir en la RAM dinámica
 
|}
 
|}
 
[[Categoría:Microchips]]
 
[[Categoría:Microchips]]

Revisión de 14:59 17 jul 2007

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 (A0-A15). Las señales vienen directamente de la CPU y se utilizan para direccionar hasta 64 KB direcciones de memoria, o indirectamente hasta 96 KB.
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
R/W 15 CPU READ o WRITE. La señal viene directamente de la CPU y para permitir escribir en el registro de control del SAM, en la memoria dinámica (mediante WE) y para haiblitar la selección del dispositivo 0
OscIn 5 Entrada del cristal externo
DA0 8 Display Adress DA0. La función primaria de este pin es leer el bit menos significativo de una dirección de pantalla de 16 bits. Los 15 bits más significativos son salidas para un
HS 9
VClk 7
OscOut 6
S2 25
S1 26
S0 27
E 14 E(Enable Clock). E y Q están 90 grados fuera de fase y son usados por la CPU 6809E como relojes. Las cPU MC6800 y MC6801E sólo usan E, que también es utilizada por varios chips periféricos del MC6800
Q 13 Q (quadrature clock)
Z7 35 Bit más significativo
Z6 34
Z5 33
Z4 32
Z3 31
Z2 30
Z1 29
Z0 28 Bit menos significativo
RAS1 35
RAS0 12
CAS 11
WE 10 Write Enable cuando está bajo habilita a la CPU para escribir en la RAM dinámica