BBC Micro ARM7 co-processor availableBy Chris Williams. Published: 8th Mar 2006, 00:13:15 | Permalink | Printable
BBC Micro and Master users bowled over by speed boostThe ultimate accessory for 8 bit Acorn users, an ARM7 co-processor, is now available to order. Robert Sprowson's ingenious project to produce a second processor sees a 64MHz ARM7TDMI from OKI running alongside a BBC Master's dinosaur 6502 CPU. The box of tricks uses an Altera FPGA as digital glue to bind together the second processor, 16M of RAM, 512K of Flash ROM, and optional serial port and EEPROM chip. The ARM7 chip includes a 8K cache, and the kit took over six months to develop.
Robert told fellow Beeb users this week that the co-processor runs approximately "128 times faster than the host BBC micro which is left to do I/O chores such as reading the keyboard and floppy discs".
He explained: "The coprocessor is a general purpose application processor, but it could be used for running a fast Econet fileserver; emulating other hard-to-find coprocessors such as a Z80; writing BASIC programs where memory is short such as databases; complex multilevel games; as an ARM7 learning tool or development platform; and so on."
As to whether he found the task of designing the electronics tricky, he added: "Not especially difficult, the worst point is where the 6502 is sitting looking at the ARM expecting something to happen and the ARM is sitting looking back at the 6502 expecting something to happen and they just deadlock. Fortunately there's a spare serial port on the coprocessor which can be made to spew trace information via an assembly time switch."
The system uses Acorn's Tube interface - a proprietary method of hooking a 'parasite' processor to the host 6502 chip. in a twist of fate, Acorn used the Tube in the development of the first ARM cores back in the late 1980s. The company would later design the RiscPC, which could juggle an ARM and Intel x86 compatible processor at the same time. Robert also developed a simple operating system that runs on the ARM7 processor and is stored in the Flash ROM: it provides various interfaces for applications wishing to access the kit's hardware, and it implements some of the software interfaces provided by RISC OS - namely, the OS SWIs.
He said: "When you take out the VDU drivers, as handled by the 6502; memory management, as there's no memory management unit; and module handler, as there's no module chain, the RISC OS kernel doesn't actually do that much. So implementing the remaining few SWIs wasn't too much pain with a trusty set of programmer's manuals. All those pesky OS_Convert calls were a bit dull though."
According to Robert, the custom 'ARM Tube OS' is made up of 4884 lines of ARM assembler source code, and 560 lines of Verilog to implement Acorn's custom Tube chip. There are 65 components in the basic electronic design, with a few extra connectors depending on whether the co-processor unit is fitted internally or in an external box.
Co-processor project website - prices, ordering details, plus PDFs of early Acorn multi-processor documents
Previous: Driver for USB IO kit started
Next: Unix Porting Project issues refunds
DiscussionViewing threaded comments | View comments unthreaded, listed by date | Skip to the end
Please login before posting a comment. Use the form on the right to do so or create a free account.
Search the archives
Today's featured article
Drobe Special Projects
2 comments, latest by piemmm on 21/10/03 12:23PM. Published: 23 Jul 2003
Alligata republishes programming first steps
4 comments, latest by Martyn Fox on 8/4/03 5:17PM. Published: 6 Apr 2003
News and media:
RISCOS Ltd •
RISC OS Open •
MW Software •
Advantage Six •
CJE Micros •
Liquid Silicon •
Chris Why's Acorn/RISC OS collection •
The Register •
The Inquirer •
Apple Insider •
BBC News •
Sky News •
Google News •