Acorn Springboard

Powered by Acorns innovative ARM RISC processor, the Springboard coprocessor board turns your PC into a very powerful workstation, albeit minus the stunning graphics. Such numbercrunching power doesnt come cheap, however, as Dick Pountain discovered.

The Acorn Springboard is a coprocessor board for IBM PC compatibles, powered by an Acorn ARM RISC processor. It contains either 1 or 4Mbytes of memory and communicates with the host PC through Acorns Tube parallel interface, originally developed on the BBC Micro. The Springboard is a selfcontained computer and can run programs quite independently of the host PC; this enables dual tasking, where the user runs an application on the PC while the Springboard runs its own program in the background. On the other hand, the Springboard Interface Software permits the board to swap data with the host PC using fast block transfers, to make DOS interrupt calls and use the host disks and filing system. The 8MHz ARM processor is one of the fastest available today, capable of sustaining 4MIPS (million ). Adding a Springboard to a PC or AT gives you a workstation with computing power, for suitable tasks, that rivals that of a VAX control, which further reinforces this podule interface is not fast enough to support minicomputer. The sort of tasks that Acorn orientation toward the laboratory. the required level of VIDC/ MEMC has in mind for the Springboard are mainly One thing to be clear about right from the communication. If you need the graphics, buy numbercrunching ones, especially for start is that the Springboard will not turn your an Archimedes; Springboard is for CPU scientists and engineers; a Fortran compiler PC into an Acorn Archimedes, for the simple power only. is available, as is a Lisp interpreter complete reason that it lacks the Archimedes graphics. Hardware with the Reduce 4 Symbolic Maths system, The Springboard relies entirely on the host which until now has been too much for a PC for screen I/O, and the Acorn VIDC chip The Springboard is a full length card which occupies a single PC slot. It contains a micro to handle. The Springboard contains a which is responsible for the Archimedes jumper block that allows alteration of the fast external bus connector which can take graphic displays is not even present on the addresses of the I/O ports through which it addon podules, and the first two podules to board. Nor is it likely that graphics ability will will appear to the PC, a facility which I tested be released will be a very fast floatingpoint be added as a podule, because the immediately because my external hard disk coprocessor and an IEEE parallel interface Archimedes attains its superb graphics occupies the default port used by for data capture and instrument performance thanks to the close coupling of Springboard at 300hex. To inform the its various components, and the software of the new I/O address it is merely necessary to alter the

118 PCW JANUARY 1988 contents of a text file, ARMREG.DAT, from Part of the interface software lives in ROM places, with which you can become familiar, 300 to 308, or whatever. This faecility allows on the Springboard itself. The rest takes the rather than between two abstract modes; it up to four Springboards to be fitted in a single form of a hefty TSR ( is precisely the same illusion that makes PC, all of which could run different programs terminateandstayresident) program which SideKick and other popup software so simultaneously. runs on the PC host, called ARMINIT.EXE effective. Which reminds me: to my great The board I tested was the 4Mbytes and a frontend command interpreter called surprise and pleasure, I was able to pop up version, and its memory comes in the ARM.EXE. This takes up 131k of memory SideKick while running the ARM without any increasingly familiar form of four SIMM and so it is not worth using Springboard with trouble; this is quite a testament to the modules filled with nine 1Megabit chips each much less than a full 640k PC if you plan to hygiene of the interrupt handling in ARM. (parity checking is included, hence the extra run large PC applications too. ARMINIT loads EXE. one), and mounted in angled plastic grooves itself and resets the ARM, reporting on its I said that the Springboard screen would be to reduce the board area consumed. The rest success as it does so; then it goes to sleep exactly as you left it, but in fact there may of the neatly laid out board contains the ARM until summoned. The only small problem I have been some activity while you were itself, the Acorn MEMC memory controller found here is that the ARM will only initialise away, because any program running on the chip which translates all the addresses fed to properly if ARMINIT is run from the directory ARM continues to run when you return to the ARM, and the Acorn IOC chip which in which the ARM files are stored (probably DOS. When you have launched an ARM controls the podule interface, a Tube chip ARMREG.DAT is the important one); it program from the A> prompt, you can exit and four hefty EPROMs containing interface doesnt like PATH specifications and hangs back to DOS without waiting for it to software. Rather surprisingly, the EPROM the PC if invoked from another directory. terminate by pressing the CtrlEsc keys, does not contain Basic V, which comes To wake up the Springboard you type ARM leaving the program running. The converse is separately on disk and is RAMresident. at the PCDOS prompt, whereupon the screen not true; a DOS program cannot be running Across the very middle of the card runs a clears and the prompt changes from your when you activate the ARM because you 96pin female connector which is the podule normal prompt to A>. You are now talking to need to be at the DOS prompt to do it, and bus. The podules will be piggybacked boards the Springboards ARM rather than the PCs nor does CtrlEsc interrupt DOS programs. It which occupy a second PC slot adjacent to 8088. However, if you type DIR, a directory is possible to write DOS programs that can the Springboard, both for reasons of listing appears as usual, and whats more it is communicate with Springboard programs, but mechanical rigidity and to draw their power the listing of the directory you were in when more of that later. The point is that the directly from the PC bus. I was not supplied you typed ARM. The file system has crossed Springboard cannot be invoked from inside with any podules for review, but I do have the over from the PC to the ARM address space. standard DOS applications. I had a problem specifications of the floating point and IEEE This means for example that you could use a with the CtrlEsc command, in that it wouldnt podules. PCbased text editor to prepare program work while I had Borlands SuperKey loaded ( The floating point unit eschews the better code, then type ARM to perform the switch in whatever order). However, Ive had trouble known coprocessors like the Motorola 68881, and compile the resulting file with the ARM C with several other applications and Intel 80387 or Weitek in favour of ATTs Compiler, without any copying or conversion SuperKey, which appears to be rather WE32206 Math Acceleration Unit. This part of files at all. The frontend program maintains badlybehaved, and so dont feel inclined to was designed to complement ATTs 32bit its own default drive and directory which may put much blame on Acorn. engine, the 32200, and looks like a very be different from that set in DOS. The ARM command can also take serious device indeed. Fabricated in 1 micron When you type EXIT to leave the command line parameters which make it CMOS, it performs single (32bit), double ( Springboard, you are returned to DOS even easier to set off a Springboard program. 64bit) and doubleextended (80bit) maths to exactly as you left it. I mean exactly, for the Typing ARM E MYPROG at DOS causes an ANSI/IEEE standard with onchip support for interface software actually buffers the original ARM program called MYPROG to be run on trig functions and square root. It uses a 32bit screen and restores it so that you see the the Springboard but then exits immediately bidirectional data bus to communicate with its word ARM you typed to leave it. When you back to DOS; its like launching a background ARM host, and can be clocked at up to type ARM again the A> screen is similarly task. ARM X MYPROG means exit back to 24MHz. restored exactly as when you left it. A DOS only when the ARM application The IEEE488 interface podule from seemingly trivial detail like this has a powerful MYPROG terminates. When an ARM Intelligent Interfaces Ltd is developed from effect on the ease of use of the software, application is running in background it one it produces for the BBC Micro, and can because it creates the concrete illusion of cannot do any I/O at all, either to screen or control up to 14 IEEE test and measurement switching between two real disk. I/O calls are suspended until you switch devices, plotter or printers. It can transfer back to the ARM side of the fence, hence any data at 250k per second and may be application which needs to do screen or disk programmed in highlevel languages such as I/O is better launched with ARM X. However, Basic, Pascal, C and Fortran in addition to a pure numbercrunching program can happily Assembler. churn along in background with ARM E and will only print its result when you switch back. ARM R resets the ARM, the ARM I initialises Software the interface software without resetting the The Springboard interface software has been ARM and can be used to run multiple designed to be as nearly as possible Springboards in one PC (by altering the port transparent to the PC user, and it succeeds address in ARMREG.DAT). to a large extent. You can edit files, and The frontend program ARM.EXE which compile and run programs on the ARM in an produces the A> prompt supports 38 environment which looks very much like commands in all, and they are by no means PCDOS v 2.0, rather than less familiar Acorn all exact copies of their DOS equivalents, operating systems.

JANUARY 1988 PCW 119 CHECKOUT some being lifted straight from Acorns ADFS. terrupts without machine code. those DOS calls, like the filing system ones, However, the main housekeeping ones DIR, Several of the new funetions are to do with that pass parameters in memory. OSFILE CHDIR, MKDIR, RMDIR, and RENAME are initialising and resetting the ARM, connecting saves or loads data to disk (or to the PC the same and a DOS user will feel at home the ARM to the host keyboard and screen, memory), and as just mentioned is used to very quickly. Some of the commands perform and passing commands to the executive fulfil the ARMs end of a synehronous block operations which have no equivalent in DOS. firmware. For example, ARMCCE (function 4) transfer. For instance, CACHE connects the keyboard, inserts a command loads an application into high memory and string into the keyboard buffer, and exits Performance leaves it resident, after which it can be when the ARM program has read the buffer. I was supplied with Fortran 77 and ARM C invoked without disk aceess by typing The similar ARMCCAE (function 7) does the compilers and a disk version of Basie V. This . With 4Mbytes of memory you same but only exits when the ARM program latter looks identical to the language used on can cache both the C compiler and the TWIN terminates. ARMSERV (function 8) checks to the Archimedes, and the redundant graphics editor (and more besides) which speeds up see if the ARM program has requested a commands simply do nothing. I ran the PCW the development cycle splendidly. Some of DOS service, and tries to satisfy the request. Benchmarks, apart from GrafScrn, in Basic V the other A> commands are to do with An ARMSERV request can fail because a and ARM C with the results shown on page debugging, and under DOS would be part of DOS call is already being served or because 119. As you will see, the maths functions run the DEBUG program. the Tube is currently being read from. even faster than on the Archimedes (TrigLog To prevent confusion between executable ARMPOLL and ARMEXEC (functions 9 and is twice as fast) while the screen I/O runs at files for the 8088 and those for the ARM, the 10) are to do with running programs on the typical IBM PC speeds, exactly as you would file extension .AXE (by analogy with .EXE) is ARM; ARMPOLL checks whether the expect. used for most ARM programs; there is no Springboard is waiting to do I/O and What I didnt expect, however, was the equivalent of a .COM file for the ARM. There ARMEXEC is like the DOS EXEC function extraordinarily fast time for Store H/D, which is, though, a seeond kind of executable file except that it loads and runs a program on must be pushing my old hard disk close to its called .AXH which contains a header that the ARM instead of the 8088. hardware limits; you can see how slow specifies its load and execute addresses, The rest of the functions are all to do with BasicA (Store H/D=12.7 sees) really is at I/O. whereas .AXE files always load and execute data transfer between the two memory Prices at 8000hex. spaces of the PC and Springboard. Data can be transferred either a byte at a time or in Springboard 1Mbyte £1000 Programmers interface blocks, and in both directions. For byte Springboard 2Mbyte £2000 transfers the interface software maintains its C, Fortran, Pascal, Lisp, Acorn has devoted as much effort to own standard input and output buffers, but for Prolog £250 eaeh smoothing the program interface between block transfers the programmer must supply Basic V £50 Springboard and the PC as it has to the user buffers, passing their length and start interface. Programs written for the Conclusion address in registers. Both synchronous and Springboard alone using C, Fortran or Basic asynchronous block transfers are supported. At £1-2000 the Springboard is not cheap, and V can use the PC hosts disks and screen via In a synchronous block transfer both many people will immediately compare its the normal commands, just as if the PC were programs, on the PC and the Springboard, price unfavourably with that of the Acorn a terminal. All the PCW Benchmarks run must cooperate. The PC issues an ARMBKR Archimedes itself, which starts at £799. When exactly as published. (read) or ARMBKW (write) call and the ARM doing this comparison though, dont forget Writing programs which communicate must issue an OSFILE call. If either party is that that Archimedes price buys only 512k of between the two processors cannot be quite not ready to transfer, the other will be forced memory, and that the price doesnt include a so transparent for fundamental reasons; to wait until it is; the PC can use ARMPOLL monitor. A fairer comparison would perhaps when working with a coprocessor it is to see if the ARM is ready. be with other fast coprocessor boards for the impossible to disguise the fact that there are Asynchronous block transfers using IBM PC, such as the 80386, the 68020 and two separate memory spaces, and that the ARMBKGET and ARMBKPUT are more the Transputer boards. The prices are operations of two independent CPUs need to passive affairs in which the PC alone broadly similar or more expensive. be synchronised. The solution chosen by transfers data to or from the Springboard. A Viewed as a highperformance addon for a Acorn is effected through BIOS software program running on the Springboard is not PC, the Springboard works very well indeed. interrupts, which is a very good solution given expected to do anything at all, and indeed The interface software is better thought out that this is a level at which IBM PC there need not even be a program running on than most I have seen in this field and makes programmers commonly work. the ARM. This is the fastest way to transfer it quite straightforward to write PC programs The new PC BIOS interrupt 64H has 14 data, and the calls always succeed. that use the ARM as an aceelerator. When functions, which are called by the usual the floating point and IEEE podules are PCDOS convention of putting the function On the Springboard side of the fence, released, the Springboard will turn a number in the 8088 AX register and then services are called using PC or clone into a very powerful issuing the interrupt. Incidentally, this OSWORD calls reminiseent of those on the workstation for scientific number- interrupt-driven interface means that it is not BBC Micro. The ones of partieular interest crunching and laboratory control necessary (though it may sometimes be here are OSWORD 128 which requests a applications. preferable) to write Assembler programs to DOS software interrupt, and OSWORD 129 drive the Springboard. Many modern PC which returns the address of a 64byte languages, including Turbo Pascal, C and parameter block in the PC for Modula 2, have the ability to issue software is on (0223) 245200. in- Dick Pountain is a consultant editor to PCW, and has just cowritten a book on occam programming (see the review in this months Bibliofile). END

120 PCW JANUARY 1988