Back to ART home page.


The ARM Processor
or
The RISC for the Rest of Us

By Art Sobel


Building projects with the ARM Computer and derivatives
or
Confessions of an ARM Evangelist


I must admit that I have been very enthusiastic about the ARM processor and I will try to communicate some of this to the readers. I first became aware of the ARM through an article in Byte magazine (1987) by Dick Pountain about the Acorn RISC computer - made in England. He has since written more about the ARM in Byte and Tom Cantrell has also mentioned the ARM processor in Circuit Cellar INK.

I was overjoyed to find that VLSI Technology right here in Silicon Valley was the chief source of the ARM chip. As I had an ongoing business relationship with VLSI it proved easy to get ARM information and samples from their Rep.
(Bob Roselli of Emerging Technical Sales. )

I had been studying the architectures of the available processors for several years, in the hope of make some sort of home brew computer, and had been interested in the National 16C32 and the 68000. The simplicity of the ARM and its performance numbers impressed me. As a processor designer myself, I could appreciate the elegance, efficiency and symmetry of the design. Another good feature of the ARM was the fact that there was an auxiliary chip set available that one could use to design and make a high (at that time) performance computer. The ARM design promised a 3-4 MIP computer, which was 2 to 3 times the performance of then current 286 computers. This chip set consisted of: the ARM2; the MEMC1 which contained DRAM controller, inverted page table MMU and sound and video DMA channels; VIDC with 4 to 8 bit per pixel video and sound output at up to VGA resolution, and the IOC with serial keyboard interface, interrupt controller and peripheral decodes. I resolved to get hold of this computer. Acorn unfortunately would not sell any of its computers to the US market, so I had to find a small computer store in Manchester to ship me an Acorn Archimedes A310 (See Figure1) .

The Acorn Archimedes A310 had (beside the ARM and Support Chips) 1 Mbyte of RAM, a floppy, keyboard, video output, and serial and parallel ports. With the addition of a multisync monitor, I was in business. I verified the advertised performance. I wrote a Basic version of the Mandlebrot set and was impressed by the fact that it was 10 times faster than the same Basic program running on my 8 MHz AT. This performance improvement was not only due to the shear processor power, but also due to the superior BASIC interpreter and the simple, but efficient video display architecture. After all, the best VGA chip is NO VGA. The complicated access modes and non-packed pixels in a VGA display chip get in the way of the CPU's access to the display RAM.

Unfortunately getting an Acorn computer proved to be very difficult and involve losing the unit in the Heathrow Airport collecting insurance and receiving a replacement. This took 4 months!

Figure 1. ACORN ARCHIMEMES A310 BLOCK DIAGRAM.

At this time the ARM processor was tightly connected to Acorn and although Acorn had thought it would be nice to have wider use for the chip, it had no way of actually promoting the architecture.

I contacted the division of VLSI technology that was supporting the ARM in Tempe, Arizona and offered to develop an ARM test board for them. Unfortunately, the job went to another consultant who was not able to complete the job. The problem was that the development software only operated on the Acorn computer itself, or on a hokey ARM based PC co-processor board.

This board was only manufactured by Acorn and had a funky operating system that was fundamentally incompatible with PC files. What a Pain! This was going to be harder than I thought! (RISCOS has had 6 years of development since then - see Acorn RISC Technology)

In frustration, I went off to Redwood City to work with some insanely great guys, building black computers. Interesting to note - the first NeXT (25Mhz 68030) had the same Dhrystone rating (6000) as the 8 Mhz ARM based A310 computer - showing the inherent ARM efficiency.

Despite these software problems, Apple computer had been persuaded to try an ARM project to replace the obsolete Apple II, code named the Mobius. The result was very impressive. Not only was the ARM based computer prototype able to emulate the 6502 and 65C816 processors, it even ran Macintosh software faster than the 68000 could. Of course this had to be nipped in the bud and the project was terminated. Apple would have to find a home for the ARM that was not threatening to the existing computer groups. After all, the ARM processor was owned by a direct competitor. (Acorn has [had] a large percentage of the UK education market).

In order to promote the ARM processor and make it possible for Apple to buy the CPU, the Acorn advanced development group that had developed the ARM was spun off to make a new company called ARM Ltd. (Advanced RISC Machines Ltd) , partly owned by Acorn, Apple Computer, VLSI Technology, and others.

The VLSI ARM application group that had originally been in Arizona was restarted in San Jose, California, making it possible for me to join. (After 20 years in one spot, I was firmly planted in Silicon Valley)

To make a short story long I eventually got a job, working for VLSI Technology , which company happens to make the ARM processor, and became the Hardware Applications manager. So I now I am paid to do what I would have wanted to do in my home lab.

SIDEBAR 1- DATES

Why it hasn't been easy to do an ARM project?

The ARM60 is quite different from the typical CPU or Micro-controller normally discussed in the popular computing press.

Looking at the pinnout will cause most experimenters to throw up their hands in frustration.
"Where is the IORD and IOWR pins and where are the other friendly Intel type signals?"
The ARM60 was meant to be CONTROLLED by a memory controller which in turn had responsibility for generating the other (normal ?) control signals seen by RAM, ROM, and IO devices. The Memory controller can be made from 2-3 GALs in the case of a static RAM system. The designer would then add a set of peripheral chips in the final board that are addressed in memory space as if they were static RAM .

Making it easy (or easier - its never THAT easy)
As Hardware applications manger, one of my first tasks was to build development cards so the customers would not have a steep learning curve . Also I wanted to see I if I could design, build and program the ARM for myself after all those years of thinking about it.

In this endeavor I had the help of the wise folks at ARM Ltd.
The first development board was the PID (or Platform Independent Development Board. This board used the ARM600 which is and ARM6 cell with 4KBytes or cache , an MMU, and a write buffer. In addition the ARM600 has a co-processor port for use with a Floating point co-processor or other customer invented co-processor.

The PID (currently the PID3) featured a large DRAM of 1 to 16 Mbytes (according to which 30 pin SIMMs are installed), a large EPROM space of 128K to 4Mbytes, QuickLogic PGA based memory controller, and interrupt controller. The output of the memory controller contains the standard intel IORD and IOWR pulses. On board is also a 16C551 serial/Parallel port chip. Communication to the host computer is accomplished through the serial port. Once the application has been developed , it can be transported to the Eprom and live independently from the host - hence the board name. Expansion to customers own application is provided by an "AT " like slot. This board has proved popular with our ARM developers.

Meanwhile in merry olde England, the folks at ARM Ltd. developed the PIE (or Platform Independent Evaluation) board. This little guy has 128K of SRAM, one 128K EPROM and 2 GALS to run and decode memory space. The serial port function is provided by a Signetics 2691. Expansion is somewhat more difficult with this board as it has only the HP compatible logic analyzer ports for add on circuitry.

ARM Applied - What companies have done with the ARM.

Figure 2 - 3DO Interactive MultiMedia Player

The ARM60 was designed into the 3DO Interactive Multiplayer as the original designers worked on the Apple ARM project. 3DO opted for the ARM60 running at 16 Mhz and subsequent versions never used the faster cached ARM610 or ARM710. The original design team was replaced by a crew from Apple`s Power Computing program who discarded the original design and opted for a power PC version. This (as you can see) never came to market. Think of what could have happened if the ARM60 had been replaced by an ARM610/710 or even the SA110 StrongARM running at 265Mhz!.

The 3DO machine faded after a full court press by the Sony PlayStation which uses a MIPS3000 RISC core. The Play Station may soon fade after the Super Nintendo appears!

Figure 3 - Newton Block Diagram

Apple decided to use the the ARM610 (with added cache, MMU and write buffer) in the Newton (tm) Message Pad. The Newton has remained the premier PDA despite chalenges by Microsoft and the embedded 386 processor. WinPad- Yech!

Microshift has come back with Windows-CE (in a project formally known as Pegasus) based on the SH3 RISC by Hitachi. Apple's latewst Newton has been announced with the StrongARM processor built by ARM licensee Digital Semi-Conductors (DEC). This version of the ARM operates at 100 Mhz giving a 5-10x performance boost over the original 20 Mhz ARM610.

Back to ART home page.