Friday, November 27, 2015

The Visual ARM1

Today is the 25th anniversary of ARM Ltd., UK.  To celebrate and honor their amazing work, we present the Visual ARM1,  created in collaboration with some of ARM's founding engineers.

Designed by Sophie Wilson and Steve Furber before there was an ARM Ltd., the Acorn RISC Machine was the first of a line of processors that power our cell phones and tablets today.  Unlike our projects based on microscope images, the Visual ARM was created from a resurrected .cif chip layout file, used under our license agreement with ARM.  We also photographed one of the few ARM1 chips at very high resolution, and our photograph is featured at the Centre for Computing History in Cambridge.

Credit goes to ARM founding engineers John Biggs for inspiring the project, discovering the tape, and recovering a usable .cif file, Lee Smith for spotting the variable record format used to encode the file (an artifact of the VMS on Acorn's VAX that at first appeared to be widespread corruption of the file), to Cambridge University Computing Services for reading the Exabyte tape, and to ARM founder Dave Howard for help unraveling the VLSI CIF dialect.  Our chip simulation and visualization was developed by Barry Silverman, Brian Silverman, Ed Spittles, and Greg James.

Information Age:  The Microchip that Changed Our World
Unsung Heros of Tech:  ARM Creators Sophie Wilson and Steve Furber
Meet ARM1, Grandfather of Today's Mobile, Tablet CPUs
Wikipedia: ARM Architecture
Brief history and technical details


  1. Is there an easy way to view memory for this simulator? The javascript looks like it allows configuring memory with some URL parameters. Will there be more posted about this simulator and how to make use of it? BTW, it looks awesome and thanks for sharing!

  2. Excellent stuff. But it would be really nice to be able to view and edit memory contents as well. :) There seems to be a relatively easy JavaScript hack to enable the memory view?

  3. We plan to develop memory and programming tools for the simulator, similar to what we've done for the 6502. This would let you upload or poke at the bits of whatever program you'd like to run.

  4. awesome stuff! how many gates on that thing? - does anybody know if you could reimplement it in a cheap FPGA rig just for fun? - I guess the routing would eat up too many gates?

    1. You could totally implement it in an FPGA. A medium Spartan, or a small Artix/Virtex would totally do. Cannot speak of other than Xilinx, as I am unfamilar with these.

  5. Wow, this is amazing. Can't wait for programming ability!

  6. The number of transistors can be taken a few ways. A single logical switch might be implemented as two or more physical transistors. This is the case with the pad drivers around the perimeter. The resurrected .cif chip design file has 9226 P transistors and 14206 N transistors for a total of 23432. Our javascript simulation adds 75 hidden transistors to make i/o read and write operations easier.

  7. A product permit understanding is either a manual or electronic update of a contractual assention between the maker of programming and the end client, allowing to the end client a product permit to utilize the product lawfully. The client can be either a legitimate substance or an end client and in some cases the assention is known as the end client permit understanding. This agreement will unmistakably express every one of the parameters of the different authorizations given to the end client. End-___ license agreement

  8. Amazing, the early (26 bit addressing space) ARMs have always struck me as some of the most elegant architectures ever. Do you have any documentation on the ARM v1 instruction set, though? I know it didn't have the multiply and MAC instructions or the atomic swap that was wedged into some "nonsense" instructions or the coprocessor stuff, but are there any other changes? If you are in touch with ARM, do they have any old documentation?

  9. Hi

    I want to speak with you about your domain
    please let me know your email address or contact number to contact on.

    Talha Hassan
    Skype : m_talhahassan

  10. Not sure where to post this since I did not find any Contact pages. I used the AMD 9085 layers and converted them to use them in my 3D Software. I then rendered several shots of the Die. Might be of interest:

    With best wishes,