[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

As mentioned previously, the custom chips have DMA access to RAM which
allows them to perform graphics, audio, and I/O chores independently of
the CPU.  This shared memory that both the custom chips and the CPU can
access directly is called Chip memory.

The custom chips and the 680x0 CPU share Chip memory on a fully
interleaved basis.  Since the 680x0 only needs to access the Chip memory
bus during each alternate clock cycle in order to run full speed, the rest
of the time the Chip memory bus is free for other activities.  The custom
chips use the memory bus during these free cycles, effectively allowing
the CPU to run at full speed most of the time.

There are some occasions though when the custom chips steal memory cycles
from the 680x0.  In the higher resolution video modes, some or all of the
cycles normally used for processor access are needed by the custom chips
for video refresh.  In that case, the Copper and the blitter in the custom
chips steal time from the 680x0 for jobs they can do better than the
680x0.  Thus, the system DMA channels are designed with maximum
performance in mind.

Even when such cycle stealing occurs, it only blocks the 680x0's access to
the internal, shared memory.  When using ROM or external memory, also
known as Fast memory, the 680x0 always runs at full speed.

The DMA capabilities of the custom chips vary depending on the version of
the chips and the Amiga model.  The original custom chip set found in the
A1000 could access the first 512K of RAM.  Most A1000s have only 512K of
RAM so some of the Chip RAM is used up for operating system overhead.

A later version of the custom chips found in early A500s and A2000s
replaced the original Agnus chip (8361) with a newer version called Fat
Agnus (8370/8371).  The Fat Agnus chip has DMA access to 512K of Chip
memory, just like the original Agnus, but also allows an additional 512K
of internal slow memory or pseudo-fast memory located at ($00C0 0000).
Since the slow memory can be used for operating system overhead, this
allows all 512K of Chip memory to be used by the custom chips.

The name slow memory comes from the fact that bus contention with the
custom chips can still occur even though only the CPU can access the
memory.  Since slow memory is arbitrated by the same gate that controls
Chip memory, the custom chips can block processor access to slow memory in
the higher resolution video modes.

The latest version of Agnus and the custom chips found in most A500s and
A2000s is known as the Enhanced Chip Set or ECS.  ECS Fat Agnus (8372A)
can access up to one megabyte of Chip memory.  It is pin compatible with
the original Fat Agnus (8370/8371) found in earlier A500 and A2000 models.
In addition, ECS Fat Agnus supports both the NTSC and PAL video standards
on a single chip.

In the A3000, the Enhanced Chip Set can access up to two megabytes of Chip
memory.

The amount of Chip memory is important since it determines how much
graphics, audio, and disk data the custom chips can operate on without the
680x0 CPU. Table 1-1 summarizes the basic memory configurations of the
Amiga.


                  Chip RAM     Maximum    Total RAM     Maximum
                (base model)   Chip RAM  (base model)  Total RAM
                ------------   --------  ------------  ---------
     Amiga 1000     256K        512K        256K          9 MB
     Amiga  500     512K        1 MB        1 MB          9 MB
     Amiga 2000     512K        1 MB        1 MB          9 MB
     Amiga 3000     1 MB        2 MB        2 MB     over 1 GB


                Table 1-1: Summary of Amiga Memory Configurations


Another primary feature of the Amiga hardware is the ability to
dynamically control which part of the Chip memory is used for the
background display, audio, and sprites.  The Amiga is not limited to a
small, specific area of RAM for a frame buffer.  Instead, the system
allows display bitplanes, sprite processor control lists, coprocessor
instruction lists, or audio channel control lists to be located anywhere
within Chip memory.

This same region of memory can be accessed by the bit blitter.  This
means, for example, that the user can store partial images at scattered
areas of Chip memory and use these images for animation effects by rapidly
replacing on screen material while saving and restoring background images.
In fact, the Amiga includes firmware support for display definition and
control as well as support for animated objects embedded within playfields.


[Back to Amiga Developer Docs]