The Amiga utilised three types of memory - Kickstart ROM, CHIP RAM and FAST RAM. The workings and amount of each depended
on the Custom Chip Set and the microprocessor chip being used. The following table lists the characteristics of each type,
while a detailed description relating to particular Chip Sets is contained in the respective sections.
KICKSTART ROM was read-only memory that contained the kernal of the Amiga's Operating System. The kernal contained a
number of operating system routines that were immediately available when the Amiga was booted, and did not need to be
loaded from disk. Sometimes errors were found in Kickstart ROM code, and these were typically fixed by loading the
routines into memory and applying fixes using another routine that was stored on disk known as SETPATCH.
CHIP RAM was shared memory that was accessible by the microprocessor chip and by the Amiga's custom chips. Because it was
shared, the applications had to lock any memory before they could change it, to prevent other applications updating it at
the same time. As soon as the update was complete, the application had to release the locked memory as soon as possible,
otherwise other applications would be kept waiting unnecessarily. However, no such locking was required to read memory,
and even locked memory could still be read in share mode. Chip RAM was used for the Amiga OS, graphics, sounds, and
anything else which needed to be shared by the various processing chips. Because the amount of chip RAM was limited,
the total size depending on the Custom Chipset being used, applications had to be written to use Fast RAM whenever
possible and only use Chip RAM if there is no free Fast RAM, or when the data needed to be shared. Programs such as
Deluxe Paint tended to use large amounts of Chip RAM.
FAST RAM was accessible only by the microprocessor chip and could not be accessed by any of the Custom Chips, and the size
was only limited by the addressing range of the microprocessor chip. When an application requested some Fast RAM, the
requested size was reserved exclusively for that program, so it did not need to be locked before it could be updated.
Fast RAM was used for applications or data that didn't not need to be shared. Furthermore Fast RAM, as the name implies,
was faster than Chip RAM, or was it? Electronically, Fast RAM was actually no faster than Chip RAM, but the requirement
for Chip RAM to be locked and unlocked when it was updated inevitably used more CPU cycles and therefore the process was
slightly slower, but reading Chip RAM was almost as fast, but it didn't first have to check to ensure there is no
exclusive lock on the memory. Some machines such as the A1200 were sold with no Fast RAM (only Chip RAM), and considerable
performance improvements were experienced by adding even a couple of megabytes of Fast RAM.