La RAM de chip [1] es un término que se utiliza habitualmente para referirse a la RAM integrada que se utiliza en la línea de ordenadores Amiga de Commodore . La RAM de chip se comparte entre la unidad central de procesamiento (CPU) y el chipset dedicado de Amiga (de ahí el nombre). [2] También se la conocía, de forma un tanto engañosa, como "RAM gráfica".
En la arquitectura Amiga, el controlador de acceso directo a memoria (DMA) está integrado en el chip Agnus (Alice en los modelos AGA ). Tanto la CPU como otros miembros del chipset tienen que arbitrar el acceso a la RAM compartida a través de Agnus. Esto permite que los chips personalizados realicen operaciones de video, audio u otras operaciones de DMA independientemente de la CPU. Como el procesador 68000 utilizado en los primeros sistemas Amiga normalmente solo accede a la memoria cada segundo ciclo de memoria, Agnus opera un sistema en el que el ciclo de reloj "impar" se asigna al acceso al chip personalizado de tiempo crítico y el ciclo "par" se asigna a la CPU: por lo tanto, para la demanda media de DMA, la CPU normalmente no se bloquea para el acceso a la memoria y puede funcionar sin interrupción. Sin embargo, ciertos DMA de chipset, como los gráficos de alta resolución con una paleta de colores más grande, Copper o las operaciones blitter , pueden usar cualquier ciclo libre, bloqueando efectivamente los ciclos de la CPU. En tales situaciones, los ciclos de la CPU solo se bloquean mientras se accede a la RAM compartida, pero nunca cuando se accede a la RAM rápida (solo para CPU) (cuando está presente) o ROM . [2]
La mayoría de los sistemas Amiga de serie estaban equipados únicamente con Chip RAM y se entregaban con entre 256 kiB y 2 MiB.
El bus de datos de RAM compartida es de 16 bits en los sistemas OCS y ECS [c] . Los sistemas AGA posteriores utilizan un bus de datos de 32 bits controlado por el coprocesador Alice (que reemplaza a Agnus) y RAM de 32 bits. El reloj de memoria funciona al doble de velocidad en los sistemas AGA. Como resultado, el ancho de banda de RAM del chipset se incrementa cuatro veces en comparación con el diseño anterior de 16 bits. Sin embargo, el acceso de 32 bits está limitado al DMA de CPU y gráficos y no se puede utilizar para otros dispositivos. El A3000 basado en ECS también tiene RAM de chip de 32 bits, pero el acceso es solo de 32 bits para operaciones de CPU; el chipset siguió siendo de 16 bits.
La cantidad máxima de memoria RAM Chip depende de la versión Agnus/Alice. El chip Agnus original instalado en los sistemas A1000 y A2000 tempranos es un encapsulado DIP de 48 pines capaz de manejar 512 KiB de memoria RAM Chip. Las versiones posteriores de Agnus están en un encapsulado PLCC de 84 pines (ya sea en zócalo o montado en superficie ). Todos los modelos excepto el A1000 se pueden actualizar a 2 MiB de memoria RAM Chip. El A500 y el A2000B temprano pueden acomodar 1 MiB instalando un chip Agnus de revisión posterior (8732A) con modificaciones mínimas de hardware; las máquinas de producción tardía generalmente ya contenían ese chip, por lo que solo eran necesarias modificaciones de puentes . Del mismo modo, se pueden instalar 2 MB instalando un Agnus 8372B y memoria adicional.
La cantidad máxima de memoria RAM de chip en cualquier modelo es de 2 MiB. La placa base Amiga 4000 incluye un puente no funcional que anticipó chips posteriores y está etiquetado para 8 MiB de memoria RAM de chip; independientemente de su posición, el sistema solo reconoce 2 MiB debido a las limitaciones del chip Alice. [3] Sin embargo, el emulador de software UAE puede emular un sistema Amiga con el límite de diseño de hasta 8 MiB de memoria RAM de chip. [4]
Los sistemas Amiga también pueden ampliarse con Fast RAM, a la que solo tiene acceso la CPU. Esto mejora la velocidad de ejecución, ya que los ciclos de la CPU nunca se bloquean, incluso cuando el chipset personalizado accede simultáneamente a Chip RAM. Agregar Fast RAM a sistemas con CPU de 32 bits duplica aproximadamente la velocidad de instrucción , ya que las CPU 68020 , '030 y '040 más avanzadas pueden utilizar más ciclos de memoria que las 68000 anteriores.
Resulta confuso que un sistema tenga varios tipos y velocidades diferentes de RAM rápida. Por ejemplo, un Amiga 3000 puede contener RAM de expansión Zorro II de 16 bits, RAM de expansión Zorro III de 32 bits , RAM de placa base de 32 bits y RAM de tarjeta CPU de 32 bits simultáneamente (en orden de velocidad creciente). El sistema prioriza la RAM configurada automáticamente, por lo que se utiliza primero la memoria más rápida.
Las primeras versiones del Amiga 2000B y la configuración más común de "memoria expandida con trampilla" del Amiga 500 contienen 512 KiB de RAM pseudo-rápida ("RAM lenta") controlada por Agnus con las mismas limitaciones que la RAM Chip, pero inutilizable como tal debido a limitaciones de registros . Numerosas expansiones con trampilla de bajo presupuesto [5] para el 500 ampliaron este concepto "sin controlador" hasta 1,8 MB de RAM lenta (que requiere un adaptador Gary para direccionamiento).