As soon as the ARM1 project was completed, work began on its successor, the ARM2, which later in 1985 became the first commercially available RISC processor. This processor was intended to correct some problems noted with the first design, and was aimed specifically for use in the Acorn Archimedes series of personal computers. While the ARM1 was a success as far as it went, there were some performance problems which needed to be fixed before it could be realistically used in the Archimedes.
One of the key problems was a lack of hardware multiply support. This led to a software routine being used to do multiplication, using shifts and adds, which was "horribly slow", according to Steve Furber. This was fixed in the ARM2, by adding two instructions: MUL (multiply) and MLA (multiply with accumulate). These allowed the ARM2 to be realistically used for mathematical calculation, and very simple digital signal processing, in particular generating synthesised sound.
Another issue which still affects most ARM processors even today is the lack of floating point hardware. Acorn decided to address this problem by adding hardware co-processor support to the ARM2, and at a later date intended to ship an optional floating point accelerator. Ultimately, the ARM2 FPA was never produced, despite demand from the Acorn user community: the first hardware FP came as an option with the ARM3 powered A5000, and around the same time a third party ARM3 and FPA upgrade was marketed by Simtec for all Archimedes computers.
Finally, the design team noted that banking only registers R10 to R15 in fast interrupt mode was slightly over-frugal, and added R8 and R9 to that list. This increased performance of the very common FIQ by lowering memory accesses to stack registers. The ARM2 was manufactured at a slightly smaller fabrication size than the ARM1, 2.5µm as opposed to 3.5µm, had just over 25,000 transistors, and ran at 8MHz.
The first product to use the ARM processor was the ARM Development System, a co-processor expansion for the BBC Master. It was only widely deployed using the ARM2 processor: the ARM1 versions were made in a limited run, but early enough to claim the prize of the first commercially available RISC processor. The ARM2 was clocked at 8MHz and backed up by the VIDC, MEMC, and IOC support chips, and 4MB of RAM. The kit was sold for around £4000, and included a development version of BBC BASIC, aimed at allowing software developers to begin porting to the new platform.
After several years of delay, caused mostly by a lack of operating system, the first computer products to use the ARM2 were released in 1987: the Acorn Archimedes A305, A310, and A440. Despite their obvious power (the A310 had a 3000 dhrystone rating, matching the 25MHz 68030 powered NeXT workstation), the Archimedes received only a luke-warm reception. The IBM PC had grasped the previously diverse home computer market firmly, and being the first RISC-based low-cost personal computer meant nothing if your machine didn't run DOS.
The ARM2 was also used in Acorn's UNIX workstation, the R140, and in the BBC's replacement for the BBC Micro, the Acorn BBC A3000. The first series of Archimedes machines were succeeded by the A540 and the R260, both of which used the new ARM3 core.
- Used in: A305, A310, A440, A410/1, A440/1, R140, A3000
- Clock: 8MHz
- Fabrication: 2.5µm
- Registers: 16 general purpose, selectively banked
- Pipeline: three-stage
- Cache: none
- Addressing: 26-bit
- Architecture: ARMv2
- Notable features: conditional execution, coprocessor support, hardware multiply
"The ARM RISC Chip", Atack/van Someren, Addison-Wesley, 1993
"ARM Assembly Language", Ginns, Dabs Press, 1988
"ARM Chips List", Banks