Contents | < Browse | Browse >
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Is the AAA obsolete? by Aric R. Caley %%
%% dances@qedbbs.com %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Is AAA already obsolete?
------------------------
Recent rumors of AAA being "too little, too late" have been making the
rounds. Some rumors say that Commodore has canceled AAA because they A)
can't afford to make it, and B) it's already obsolete. Well, I don't buy
into that.
According to Dave Haynie, one of the senior engineers at Commodore, and
who is responsible for the system design of the next generation high end
Amiga, and who seemed enthusiastic just three months ago, said some
important things publicly. And I tend to believe him over other less
reliable people. Here's some quotes from Dave's conference on Portal
three months ago:
"Everyone's heard about AAA, of course, and I did build a AAA prototype
machine, which we have running in the labs of course."
So, AAA *IS* real and *IS* up and RUNNING, even if only in a prototype
machine. And that was three months ago.
"There are things in AAA which will make a very impressive difference in
many of the things we're doing with computers these days."
"The AAA chip set is a radical departure from anything you have seen
before. Everything in it was designed new, from the ground up."
"I don't think AAA is coming out too late, though it's later than I (and
all of you, of course) would have liked. There's still not a big move to
4MB floppies yet, everyone's still trying to work out just how to do
multimedia, and I think AAA supports much of this in hardware, the right
way."
He seems confident that AAA isn't obsolete.
"AAA will cost more [than AGA], though much less than we originally
guessed, thanks to the downsizing of chips (AAA takes about a million
transistors)."
That's good news. Things are turning out, at least in some aspects,
BETTER than they had planned.
"I think you'll find this new system isn't lacking as a '94 machine. I
can't get into too much detail, only to say that [a] I have been working
on this architecture for two years, something that never happened at C=
before (two weeks was more like it in the... old days), and [b] I'm
doing things with system throughput no one else is doing, or at least
talking about, now. No big surprise, really, though. There's little
incentive to get too fancy in "standard" architecture. Apple doesn't
build clever hardware, and they seem to be wanting out of the hardware
business anyway."
Sounds like a nice *system*, no?
"C= "high-end" is $4k and below, generally. I think it should start at
about $1.5K-$2K, less if possible."
With a great price...
"There's perhaps an aggregate bandwith of 400-600MB/s in a basic next
generation machine."
Yikes! The AGA chipset has a total bandwidth of just 14MB. The 32 bit
ram in the A4000 has around 10MB bandwidth, as does the Zorro III and CPU
slots. The "A5000" has 400-600MB total? WHOA!
I will now detail why I think AAA and the next generation machine won't
be obsolete, and in fact will be innovative, based on facts presented by
Dave.
. . .
First of all, lets talk about the features of AAA and the next
generation machine (hereafter refered to as the A5000, even though we
don't know if that is what it will be called).
AAA
---
AAA consists of four custom CMOS chips, with a total of approximately
one million transistors. It's a totaly new design, not an upgrade from
AGA, thus it has none of the limitations of AGA. The four chips are
called Andrea, Monica, Linda and Mary.
They are all full 32 bit chips, with the "exception" of Linda and
Monica which also have 64 bit modes. They are not limited by the 14Mhz
clock of AGA, or the hardware-fixed DMA slots (see the hardware reference
manual).
DMA: the soul of AAA
--------------------
There are 40 DMA channels, with dynamic allocation of bandwidth. That
means that each channel can be as fast as it needs to be (up to the limit
of total bandwidth in the system).
DMA is used for everything, from the blitter and copper, to sprites,
the audio voices, video display, floppy disk I/O and serial ports.
These DMA channels are the heart of AAA and part of what sets the Amiga
apart from other computers. It's part of what gives the Amiga its
performance. The OS is fully capable of taking advantage of DMA and
hardware coprocessing, due to it's multitasking nature.
When one task is waiting for some DMA or other hardware processing to
finish, another task can switch on and use the processor. This is
something that other computers have a hard time with (for instance, the
Mac, which doesn't have the pre-emptive multitasking required for this.
The Mac IIfx had DMA channels that couldn't be used by the Mac's OS!
Only UNIX on the Mac could use this hardware).
The blitter and the copper
--------------------------
The pride and joy of the Amiga. In AGA, the blitter and copper became
very outdated. They are slow by modern standards, very slow, although
there is still nothing that quite duplicates the functionality of the
copper.
In AAA, these two important components become greatly enhanced.
The blitter is basicly just some DMA channels that feed data (graphics)
into a processor and then write it back out to RAM. The blitter can
easily do all the necessary bit shifting, modulo counting, and bit
masking required to move 2D images around in a raster/bitmap; in addition
to doing things like combining more than one image based on a logic
operation. These calculations are quite a bit more time consuming when
done by a general purpose CPU.
The AAA blitter can blit 24 blit images "significantly faster" than AGA
can blit 8 bit images (according to Dave Haynie, who built a prototype!).
I've seen Mac's manipulating 24 bit graphics, and you can visualy see the
windows "slosh" ("shear", "squish", etc) when they are moved (you can see
the graphics get redrawn slowly from top to bottom). AAA will move such
windows instantly (just like back in 1985, when comparing a colour Amiga
to a B/W Mac -- the Mac windows moved very slowly).
The Amiga's "Copper" is also a DMA channel. It feeds a stream of
instructions into a very simple processor (one could almost call it a
RISC CPU). It's capable of doing almost anything the CPU can do; loading
chipset registers, jumping, looping and waiting. It can be used to
control *everything* in the chipset, independant of the CPU. It lets the
Amiga have dragable screens, giant scrolling screen bitmaps, and many
other things characteristic and unique to the Amiga.
With the high bandwidth and flexibility of AAA's DMA channels, you can
see that the new blitter and copper are going to be quite powerfull
indeed.
Glorious sound
--------------
Another hallmark trait of the Amiga is its built in sound ability.
Most computers do not have good built in sound (the exceptions being the
Apple IIgs and the Atari Falcon, both of which failed despite being
decent machines), most even have none standard.
The Amiga's old 4 voice, 8 bit sound has been quite sufficient for a
number of years and remains better than average for a PC. But AAA takes
this to new levels: it now has 8 independant voices, each with 16 bit
accuracy, and 64Khz sampling rates (compared to 30Khz for AGA). That
puts each channel well beyond a CD player in technical accuracy, and far
beyond what the human ear can hear. It's also far beyond typical sound
boards on other computers.
Amiga sound samples are fed by DMA channels, thus relieving the CPU
from 99% of the work normaly involved.
Video!
------
Ah, here we get massive improvements over AGA! Utilizing 32/64 bit
DRAM and VRAM, and high speed burst access, AAA increases bandwidth over
AGA by 20 times!
First of all, AAA just simply runs faster, due to its high speed CMOS
chip design. Everything is at least 32 bits, further increasing
bandwidth. Memory can now be accessed in "burst mode", which allows you
to read four successive locations in memory very quickly. And finaly,
VRAM!
What's VRAM? It stands for "Video RAM". In order to get the high
transfer rates (bandwidth) required for hi-res displays, VRAM was
invented. It has two "ports" (and is hence also called "dual ported"
RAM), one exclusively for video and one for accessing and changing the
bitmaps. That effectively doubles the speed.
With VRAM, there will be no more "video contention". Ever notice how
slow your Amiga gets when you open up the largest, most colourfull screen
(640 x 400 x 16c for ECS or 640 x 400 x 256c for AGA)? That's because
those modes need so much bandwidth, that there is almost none left for
the CPU and blitter to use.
In the AAA chipset, using VRAM, this won't be a problem anymore! The
video DMA only uses one of the ports on the VRAM (in fact, this port is
designed specificaly for video, and the VRAM has a built in shift
register for this purpose). You can open the largest most colourfull
screen you can, and the blitter and copper etc won't slow down! Of
course, they'll have more graphics to chew on..
You can also use normal everyday DRAM, which will be slower, but
cheaper. VRAM costs about twice as much. Luckily, you can combine both!
VRAM is good just for the display, DRAM is good for everything else. So
as long as you have enough VRAM to open your screens, you're OK. This
flexibility is a great advantage. You can have upto 16MB divided between
DRAM and VRAM.
So, what kind of resolutions are we talking about? The maximum
resolution, NON-INTERLACED, should be around 1280 x 1024 (at 8 or 16
bits). That's quite a far cry from 640 x 480 x 8 in AGA. It should be
able to do 1024 x 768 x 24 bits as well. And it'll be FAST in these
modes.
We'll also have our choice of chunky or bitplane modes. Chunky will be
2, 4, 8 or 16 bits. Bitplane mode will allow up to 16 planes. The types
can be combined. For a 24 bit mode, for instance, you would have three
bitplanes, each of which is an 8 bit chunky bitmap.
There is also some kind of new compressed display mode (in addition to
HAM which is also technicaly compressed). Of course, there's HAM and
HAM8, which at a resolution of 1280 x 1024 will be very nice, and there
is likely to be a HAM10 mode, giving 24 bit graphics with only 10 bits
per pixel!
Serial, floppies, mouses
------------------------
As if that weren't enough, AAA does still more. It has serial ports,
floppy drive support, and input device ports.
The two joystick/mouse ports can support a wide range of devices,
including standard joysticks, mechanical and optical mice, analog
joysticks, lightpens, and drawing tablets.
AAA also has two, high speed buffered serial ports. The old single
port on AGA can handle as much as 115.2K Baud, but requiring significant
CPU overhead to prevent loosing characters. AAA uses a FIFO buffer and
DMA to remove the overhead and danger of dropouts at high speeds. This
will come as great news to those planning on keeping up with modem
technology!
Finaly, the floppy port. One of the most annoying things that has not
been upgraded, until now. While AGA requires a special, half speed drive
to support HD floppies, AAA is so fast they don't even make a floppy that
can keep up! It easily supports the Quad Density drives that are still
not commonplace (High Density being the standard now). And with AmigaOS
formating, that means 3.52MB on a disk!
The floppy support can handle the transfer rates of a CD-ROM or slow
HD, which is far in excess of current floppy drives. So if they ever
make an "Octa Density" floppy drive, AAA will be ready for it! It could
also handle a 20MB floptical drive, if there was a non-SCSI version
available.
A little help from a DSP
------------------------
Though it's not part of the Amiga custom chip set, it fits right in. A
DSP is a natural companion to the AAA chip set.
A DSP isn't limited just to sound, although it can be of great use for
creating music and sound effects. But it can also be used for things
like high-speed modem emulation (indeed, high speed modems have DSP's in
them), speech synthesis, JPEG/MPEG image compression/decompression, data
aquisition and processing, speech recognition, graphics and image
processing, and more.
The Amiga DSP has a multitasking OS of it's own. This allows the DSP
to do many things at once, so you are not limited to just doing sound or
modem emulation.
Commodore has selected the AT&T 3210 DSP. This is full 32 bit,
floating point processor (unlike the limited 24 bit fixed point processor
used in Atari's Falcon). It has an 8K on-chip memory cache and 33MFlops
of computing power, and shares the system bus with the Amiga's CPU,
giving it access to all memory and resources. Finaly, there's a high
speed serial I/O port with DMA, capable of 24Mbit/sec transfers.
Last, but not least, the OS
---------------------------
One needs an OS to orchestrate the use of the hardware. AmigaOS has
been maturing for almost 9 years now. It now has most of the basic tools
needed for multimedia out of the box.
* Pre-emptive multitasking. A great help, especialy in a
hardware-oriented machine like the Amiga.
* Advanced interprocess communication. Adopting ARexx was a great move.
Any application can communicate with another, control it, or offer
services to other apps. This communication can even exist accross a
network (see "Envoy", Commodore's networking software).
* Object oriented GUI. While not yet being fully taken advantage of,
this is great thing for the future. An important offspring of this,
Datatypes, play an important role in multimedia.
* Datatypes :). Datatypes allow applications to support multiple file
formats without any extra work. Since Datatypes are objects, they can be
embeded into windows, or even each other. The full power of Datatypes
have yet to be realized.
Currently, Datatypes cover the basic multimedia data forms: Pictures,
Sounds, Animation, Hypertext. Support for specific file formats include
the standard IFF formats, including ILBM (images), ANIM and CDXL
(animation), 8SVX (sound); Amigaguide (hypertext), ASCII text. Third
party (public domain) datatypes cover GIF's, JPEG and other forms.
* Multitasking GUI. The AmigaOS GUI is designed with multitasking in
mind. It does not have such unfreindly things like "modal dialogs" and
other "features".
* Fully 32 bit from the begining. All Amiga apps are 32 bit. There is
no baggage from 8 bit OS's.
* Extendable design. Anyone can add new function libraries, or devices.
* Shared code libraries/devices.
* DSP support library(ies).
* This list goes on.. :)
Amiga, The Next Generation
--------------------------
What good would AAA be, if it doesn't have a nice computer around it?
The "A5000" is going to be a perfect match for AAA. Like AAA, it will be
a totaly new design.
* Processor independant, high speed 64 bit local bus. So you aren't
locked into the 040 or 060. When you are ready, go RISC, with no
bottlenecks.
This is probably one of the most important aspects of the new system.
With this as the backbone of the system, everything else will fly. It
gives massive bandwidth to the entire system, and a high degree of
modularity.
* PCI slots. A future industry standard. Why go with this? Isn't this
"anti Amiga"? Well, why not. PCI is good. It's fast, it's standard,
it's perfect. The Amiga will still have Zorro III slots, too.
* 64 bit memory. While the 68040 and 68060 are only 32 bit processors,
having 64 bit memory actualy will speed things up. It's also handy for
when you can add a 64 bit RISC processor.
* Motorola '040 and '060 CPU's. The 40Mhz 040, and the upcoming 60Mhz
060 are still formidable processors. They can hold their own against the
Pentium (PowerPC doesn't count, yet).
* High speed SCSI-II on the motherboard, connected to the 64 bit local
bus.
* DSP. As if the AAA chipset isn't powerfull enough, you'll have a DSP
to play with too!
Why the A5000 is still a good idea
----------------------------------
And now, the point to this article. The primary feature of the A5000
will be the level of integration of the *system*. All the parts will
cooperate smoothly, complementing each other, and giving the system an
overall feel and power that is greater than the sum of its parts.
Look at the A5000 and look at what the competition will have then.
Sure, there may be individual areas where other machines will beat it.
Particularly, IBM clones will still be cheaper. But as an overall
system, the A5000 will win for many applications.
The A5000 will have very respectable graphics. How many people will
have 1280 x 1024 graphics? Such monitors are very expensive.
How many will have 8 voice 16 bit sound? Cards that do that alone are
expensive.
Will QuadDensity floppies be standard by then? Probably not.
Will there be a system that has all these things, and more, in a
perfectly balanced system?
Will there be an OS for it that uses all these features, and lets
applications take full advantage of them?
The A5000 system is built right, from the ground up. With a high speed
64 bit local bus at its core, a fast 32 bit CPU, a fast 32/64 bit custom
highly integrated multipurpose chip set, SCSI-II, DSP, and PCI slots, its
a formidable system.
And running on this hardware, you have an OS that already knows how to
use all this power. A very fast, multitasking kernel. All the basic
multimedia extensions, built in.
The Amiga, and especialy the A5000 (or whatever they call it), is a
perfect multimedia system. It can go full blast doing sound, graphics,
communications, number crunching, multitasking, disk I/O, networking, etc
all at once with ease.
I've heard altogether too many stories about Macs that just barf when
trying to multitask with serial or network transfers going on, slow
animation, mega expensive video hardware and software, and just plain
being slow no matter what you're doing.
I don't think the A5000 or AAA is too little, too late. Sure, I think
Commodore could have created this machine two years ago (which would have
been mind blowing), but that's the way it goes.
Lets take a look at what you'd need to approximate the AAA chipset and
the A5000, if you have an IBM clone:
* Modern motherboard.
64 bit local bus (CPU to DRAM).
Full PCI slots.
EISA or ISA or something for backwards compatibility.
Sockets for plenty of 64 bit SIMM's (well, pairs of 32 bit SIMMs).
* SVGA card
PCI based, or built into motherboard.
64 bit high speed bus interface.
32 bit fast blitter.
co-processor (completely independant instruction list, can control ALL
aspects of the system -- sound, video, blitter, sprites, etc).
Sprites
Bitplane (1 - 16), chunky (2, 4, 8, 16) and hybrid modes (8 x 8 x 8).
VRAM, DRAM, in varying combinations.
Upto 16MB VRAM/DRAM.
Compressed video modes.
* Sound card.
8 voices, 16 bits each, 64Khz sampling.
Separate volume and balance registers.
DMA fed.
* Serial port card.
2 high speed serial ports.
FIFO buffers and DMA.
* Game port/mouse port/floppy/CD-ROM card
Two ports, which support mice, joystick, lightpen, drawing tablets.
Floppy port:
Supports Quad Density disks.
Is fast enough to support CD-ROMs or other devices in this speed
range (flopticals, etc).
* SCSI-II card
PCI card or on motherboard.
High speed SCSI-II FAST (10MB/sec).
DMA driven.
* Powerfull OS
Pre-emptive multitasking.
Object oriented GUI.
Datatypes.
Interprocess communication.
System script language (Rexx?).
Etc.
(this narrows it down to OS/2).
* DSP card
PCI card or on motherboard.
32 bit floating point DSP.
33MFlops computing power.
8K cache.
Access to system memory.
I don't think you could set up such a system today, and the closest setup
would be very expensive.