From: torbenm@diku.dk (Torben AEgidius Mogensen)
Newsgroups: comp.sys.acorn.tech
Subject: Re: ARM risc speed?
Date: 11 Jan 93 13:00:37 GMT
Organization: Department of Computer Science, U of Copenhagen

aramsey@ugly.UVic.CA (Aaron  Ramsey) writes:

>I'll start off by saying that I know nothing about the Acorn. But, I
>have heard that the ARM risc chips are going to be used in the new
>3DO systems that will start showing up in the next year or so. My
>problem is that I know nothing about these risc chips. What different
>kinds are there? What speeds do they run at (mhz mips, whatever),
>and most important, how do they compare to motorola and intel cisc
>chips? I'm particularily interested in how the ARM risc chips compare
>to a 68040 motorola chip.

ARM Ltd. tend to be fairly secretive about new products, so the 3DO
might use some not-yet-disclosed version of the ARM chip set.

Currently available (to my knowledge) is

ARM2	The original ARM processor. Usually runs on 8MHz systems, but
	can supposedly run somewhat faster.

VIDC	Video controller for use with ARM processors. Can display up
	to 8bpp at various resolutions. Has only 16 entry palette, so
	8bpp modes does not have free colour selection. Also supports
	stereo sound.

MEMC1a	Memory controller for ARM processors. Has 128 pages of memory
	selectable from 8K to 32K each, allowing up to 4MB of memory.
	Up to 16MB can be addressed by chaining 4 MEMC1a's.

IOC	i/o controller for ARM.

ARM3	An ARM2 + cache, running up to 25Mhz. Some early versions has
	been clocked at 35+ MHz.

ARM250	ARM2+VIDC+MEMC1a+IOC on a single chip, currently running in
	12MHz systems. Maximum speed is not known to me.

ARM610	This is the one that Apple will use in the Newton. Essentially
	an improved ARM3 with an on-chip improved MEMC, capable of
	addressing large amounts of memory by a two-level page table.
	Also includes a write-buffer, which speeds up memory stores.

ARM60	As ARM610, but without cache, MEMC and write buffer.

VIDC20	Improved VIDC capable of using up to 32bpp and with CD quality
	sound support.


Soon to be released:

FPA	Floating point processor for use with ARM processors.

MEMC2	Stand-alone version of the MEMC used in ARM610.

The ARM processors have in user mode 16 32-bit registers, of which one
is the PC. Arithmetic is register-to-register and allows a free
barrel-shift-operation with every arithmetical or logical operation.
Load/store of registers can use several different indexed addressing
modes. Load/store of multiple registers (like on MC68***) provides
effective use of burst-mode RAM. All instructions are conditional by
one of 16 different condition codes, including "always" and "never".
32x32 -> 32 bit integer multiplication is supported in the instruction
set. There is a variety of supervisor and interrupt modes, 3 on the
ARM2 and ARM3, 8 on the ARM6**. Arithemtical and logical operations
are typically single-cycle, but load/store and multiply require
several cycles to complete.

Instruction-set-wise the ARM6 series differs mainly in that, while the
ARM2 and 3 keep status flags in the high-end bits of the PC, the ARM6
processors keep them in a separate register, allowing full 32 bit
addresses in the PC. The ARM6 has a 32 bit user mode, 5 32 bit system
modes and can emulate all 4 ARM2/3 modes, making a total of 10
processor modes. The ARM6 series use very little power, so they are
ideal for portable computers.

Currently all ARM chips use a simple 4-stage pipeline with no attempt
at super-scalarity or super-pipelining. There are no branch-delay
slots, but use of conditional instructions reduce the need for many
short forwards branches.

At the moment no ARM processor can compete speed-wise against a 68040,
but the main aim of the ARM chipset is to provide cost-effective
solutions for small to medium size computers. Acorn computers sell a
home-computer with a 12MHz ARM250, 1MB RAM and 3MB ROM for less than
500 pounds. The integer speed is roughly comparable with a 30MHz 80386
system or a 25MHz 68020 system.

Judging only from the purpose of the 3DO, my guess is that it will use
a single-chip solution similar to the ARM250, but with a VIDC20 (since
CD's are mentioned) and possibly a better MEMC. Probably something
in-between MEMC1a and MEMC2, since the latter has a lot of
protection/tagging features that are not of much use on a game
console.

	Torben Mogensen (torbenm@diku.dk)

P.S.
There may be small inaccuracies in the above, but I'm sure these will
be corrected in follow-ups ;-)