AROS Vision
Modern and free Amiga-Compatible Experience on Amiga and PC
Amiga Chapter 1: How Does an Amiga Actually Work?
The classic Amiga is much more than just a computer built around a Motorola processor. One of the most interesting aspects of its design is the way the workload is divided between the main CPU and several specialized chips.
Instead of asking the processor to handle everything, the Amiga uses dedicated hardware for graphics, sound, memory access, and other tasks.
This architecture is one of the main reasons why the Amiga was able to produce impressive graphics, animation, and sound despite the relatively modest performance of its main processor.
In this first article, we will look at the basic architecture of the Amiga and see how its most important components work together.
The Amiga Is More Than Its CPU
At the heart of many classic Amiga computers is a processor from Motorola's 68000 family.
The Amiga 500, for example, uses a Motorola 68000.
The CPU executes the program code and performs general calculations. But unlike in a simpler computer architecture, it does not have to handle every task itself.
The classic Amiga also contains several specialized chips, usually referred to as the Custom Chips.
The three most important names are:
Agnus
Denise
Paula
Together with the CPU and memory, these chips form the core of the classic Amiga architecture.
In a simplified form, we can think of their responsibilities like this:
Motorola 68000 Executes programs and performs general calculations.
Agnus Coordinates access to Chip RAM and contains important functionality such as DMA control, the Blitter, and the Copper.
Denise Handles important parts of graphics generation and video output.
Paula Provides audio, disk data handling, interrupts, and several I/O functions.
The important idea is that these components can work together instead of leaving all the work to the CPU.
T
he CPU: The General-Purpose Processor
The Motorola 68000 executes the instructions that make up a program.
For example, imagine a game running on an Amiga.
The CPU might calculate:
the position of the player
enemy movement
collisions
scores
game logic
input processing
operating system calls
In principle, this is similar to the role of a CPU in other computers.
What makes the Amiga interesting is what the CPU doesn't always have to do itself.
Graphics, audio, and data transfers can partly be handled by dedicated hardware.
This allows different parts of the computer to perform different jobs.
What Are the Amiga Custom Chips?
The Custom Chips are specialized chips designed to perform certain tasks efficiently.
For the early classic Amiga architecture, three chips are particularly important:
Agnus Chip RAM coordination, DMA, Blitter and Copper
Denise Graphics and video generation
Paula Audio, disk data handling, interrupts and I/O
An important concept behind this system is DMA, or Direct Memory Access.
DMA allows supported hardware components to transfer data to or from Chip RAM without requiring the CPU to perform every individual data transfer itself.
This becomes especially important for graphics and audio.
Chip RAM: Memory Shared with the Custom Chips
To understand the Amiga architecture, we have to understand Chip RAM.
Chip RAM is a memory area accessible to both the CPU and the Amiga Custom Chips.
It can contain things such as:
program code
program data
screen data
bitplanes
sprites
audio samples
Copper lists
For graphics and audio, Chip RAM is particularly important because the Custom Chips need access to the corresponding data.
Consider a simple example.
A game stores its graphics data in Chip RAM. The graphics hardware can access this memory while generating the video display.
At the same time, Paula may fetch audio data from Chip RAM for playback.
The CPU also needs access to the same memory.
This creates an important problem:
Several components want to access Chip RAM.
Those accesses have to be coordinated.
This is where Agnus becomes particularly important.
Agnus: Coordinating the System
Agnus is one of the central components of the classic Amiga architecture.
Among its important responsibilities is the coordination of access to Chip RAM.
Several components can require memory access, including:
the CPU
display DMA
audio DMA
disk DMA
the Blitter
the Copper
They cannot all arbitrarily use the same memory bus at the same moment.
The system therefore divides memory access into bus cycles that can be allocated to different components.
A simplified way to imagine Agnus is as a traffic controller.
Different parts of the Amiga want to use the road to Chip RAM. The hardware coordinates when the different participants are allowed to use that road.
This concept is extremely important because it explains many characteristics of the Amiga.
It also explains why accessing Chip RAM can sometimes be slower for the CPU than accessing Fast RAM. We will examine this in much more detail in the next article.
Denise: Turning Data into an Image
Denise is primarily associated with the Amiga's graphics output.
Classic Amiga graphics frequently use a system known as bitplanes.
Instead of storing each pixel simply as one complete color value, the bits representing an image can be distributed across several separate planes of memory.
The graphics hardware combines information from these bitplanes to generate the displayed image.
Denise also provides important functionality associated with sprites and video generation.
The important point is that the CPU does not have to continuously generate every pixel sent to the monitor.
Dedicated graphics hardware performs much of this work.
This is one of the fundamental principles of the Amiga architecture:
Use specialized hardware for jobs that would otherwise consume CPU time.
Paula: Sound and Much More
Paula is probably best known for the Amiga's sound capabilities.
The classic Amiga provides four hardware-assisted PCM audio channels.
Audio sample data can be stored in Chip RAM. The audio hardware can retrieve this data using DMA and use it for playback.
The CPU therefore does not have to manually transfer every individual audio sample during playback.
But Paula is much more than simply the Amiga's "sound chip."
It also participates in functions involving:
floppy disk data
interrupts
serial communication
certain controller and I/O functions
Paula therefore plays an important role in several different areas of the Amiga architecture.
Two Special Helpers: The Blitter and Copper
Two particularly fascinating parts of the Amiga hardware are the Blitter and Copper.
They demonstrate particularly well how the Amiga distributes work between the CPU and specialized hardware.
The Blitter
The Blitter is specialized in manipulating and transferring blocks of data.
This is especially useful for graphics.
Rather than having the CPU process every piece of graphical data individually, the Blitter can perform block-oriented operations in hardware.
Among other things, it can copy and combine memory data using logical operations.
This makes the Blitter extremely useful for many classic 2D graphics operations.
The CPU can set up an operation and leave much of the actual data processing to the Blitter.
The Copper
The Copper, short for coprocessor, is another unusual feature of the Amiga.
It is a small specialized processor closely synchronized with the video display.
A Copper program, usually called a Copper list, can wait for particular positions during display generation and modify certain Custom Chip registers.
This allows hardware parameters to be changed while a video frame is being generated.
For example, software can change certain display parameters at different vertical positions on the screen.
This technique is behind many characteristic Amiga effects.
Instead of creating everything through CPU calculations, programmers can make the video hardware itself perform carefully synchronized operations.
Fast RAM: Memory for the CPU
Chip RAM is not the only type of memory an Amiga can have.
Many Amiga configurations also contain Fast RAM.
Conceptually, there is a very important difference:
Chip RAM can be accessed by the Custom Chips.
Fast RAM is CPU-side memory and is not directly available to the classic Custom Chips for their DMA operations.
Why is it called "Fast" RAM?
When the CPU accesses Chip RAM, it shares the Chip RAM bus with the Custom Chips. Depending on what the hardware is doing, the CPU may have to wait before it can use the bus.
CPU access to suitable Fast RAM does not have this same competition with the Custom Chips.
As a result, programs can benefit considerably from having Fast RAM available.
This gives us one of the most important rules for understanding Amiga memory:
Chip RAM
CPU + Custom Chips
Used for data that the Custom Chips must access directly, such as many graphics and audio resources.
Fast RAM
CPU
Used for data and code that do not need to be directly accessed by the Custom Chips.
How Does Everything Work Together?
Imagine that we are running a game.
The CPU executes the game program and calculates things such as:
player movement
enemy behavior
collisions
game rules
scores
Graphics data required by the Custom Chips resides in Chip RAM.
The display hardware fetches the necessary data to generate the image.
The Blitter may help move or manipulate graphical data.
The Copper may modify display-related registers at precisely controlled positions during display generation.
At the same time, Paula can fetch audio sample data from Chip RAM and generate sound.
Agnus plays a central role in coordinating DMA and access to the shared Chip RAM.
Instead of one processor doing everything sequentially, several specialized parts of the Amiga can therefore be active during the same overall period.
This hardware cooperation is one of the most interesting aspects of the Amiga.
The Basic Principle of the Amiga
For now, we can reduce the classic Amiga architecture to five basic ideas:
1. The CPU executes programs
The Motorola 68000 is the general-purpose processor responsible for program execution and calculations.
2. Custom Chips handle specialized tasks
Agnus, Denise, Paula, the Blitter, and the Copper provide dedicated hardware for specific jobs.
3. Chip RAM is shared
Both the CPU and the Custom Chips can access Chip RAM.
4. Fast RAM is CPU memory
The Custom Chips cannot directly use Fast RAM for their classic DMA operations, allowing the CPU to access it without competing for the Chip RAM bus.
5. DMA reduces CPU involvement
DMA allows supported hardware components to transfer data to and from Chip RAM without requiring the CPU to perform every individual transfer.
Why This Architecture Matters
Once you understand this basic principle, many other Amiga concepts become much easier to understand.
Terms such as:
Bitplanes
Sprites
DMA
Copper lists
Blitter operations
Chip RAM
Fast RAM
audio channels
bus cycles
may initially appear to describe completely different things.
In reality, they are closely connected.
At the center of everything is one fundamental idea:
The CPU does not do everything. The Amiga distributes work among specialized hardware components.
This approach gave the Amiga its distinctive architecture and is one of the reasons why the machine remains technically fascinating decades after its introduction.
Coming Next: Chip RAM and Fast RAM
In Article 2: "Chip RAM and Fast RAM: Understanding Amiga Memory", we can take a much closer look at the Amiga's memory architecture.
In particular, we can examine how the CPU accesses Chip RAM, how Agnus assigns memory cycles to DMA channels, why the CPU sometimes has to wait, and why Fast RAM can make such a significant difference.
That will also give us a good foundation for later articles about the bus, DMA, Blitter, Copper, and the individual Custom Chips.