7

Acorn's BBC Micro series is well known for the range of add-on processors (or Second Processors) that could be connected through it's Tube interface. These included the 6502, Z80, 80186, and also the ARM Second Processor, effectively a development kit for the processor in Acorn's forthcoming Archimedes machines.

The Archimedes' successor, the RISC PC, was designed to support guest processors inside the main unit. Commerically available options included an x86-based PC card (to run PC-compatible software), and a second ARM processor for use with a multiprocessor operating system.

The Archimedes itself, however, saw very little in the way of add-on processors. The ARM2 processor was designed with a co-processor interface, and the podule expansion bus reserved a set of pins for use by a co-processor podule. The original podule specification notes that:

Coprocessor Podules share the same interface as other Podules, but they are not mapped into the I/O space as are other Podules. In addition to the normal Podule signals, coprocessors require access to the main system data bus, and extra control signals. These are provided by a special Coprocessor Podule connector, which has 96 pins. When a coprocessor is not required, this connector may be used as a normal Podule slot. Note that in this context the term `coprocessor' refers to a dedicated hardware processor, and not an additional general purpose microprocessor system.

I interpret this last sentence to mean they only supported floating-point coprocessors, similar to the x87 chips in PC-compatible systems. The only co-processor podule I'm aware of is Acorn's own (AKA20) We32206 co-processor. Later Archimedes machines (in particular the A series) had fewer podule slots, and the addition of a co-processor would require the use of a custom expansion board in the CPU's socket. Both of these are floating-point co-processors.

Given that Acorn designed both the ARM processor and the Archimedes platform, what reasons would Acorn have to remove the support for general-purpose co-processors in their Archimedes systems, given that its predecessors and successors did support them?

  • 2
    There is a huge difference between 'guest' or 'add-on' processors on one hand, and co-processors, on the other. First type is basically a complete CPU or even computer on its own, that is able to access host memory through the interface. The coprocessor, however, is a tightly-coupled device that operates in close connection with the host CPU and is made specifically to co-operate with the given CPU. In your question you're mixing two different phenomena: why did some computers have interface to access their host memory and why did other computers have an exposed co-processor interface. – lvd Jul 4 at 11:53
  • @lvd From a consumer point of view, the machines achieved a similar goal: one could run CP/M applications on a BBC with a Z80 Second Processor, and you could run Windows applications on a RISC PC with a PC Card podule. But on the Archimedes line, there was nothing equivalent. – Kaz Jul 4 at 12:15
  • 1
    @lvd My understanding of the Tube interface is that the two devices communicated by memory-mapped I/O (address and data bus) combined with interrupt requests. Most, if not all, of these resources were provided on the podule connector, and podules are allocated memory space. But it seems nothing equivalent was developed. With regard to a tightly-coupled co-processor, ARM supports 16 "types" of coprocessor, and most of these had undefined instruction sets. They were also designed to operate at an independent clock rate, so weren't as closely tied to the host as other FPUs that I'm aware of. – Kaz Jul 4 at 12:30
  • What influence had the fact that The BBC micro was made according to specs from another company (BBC)? Did they have a demand for easy use of other processors? Since the BBC micro was to be used to teach the public of computer science, it might be so. Does anyone know where one can find the specification BBC gave to those who were asked to construct and produce the computer? – UncleBod Jul 6 at 9:37
4

Acorn's BBC Micro series is well known for the range of add-on processors ...

... however, other Acorn computers (the Atom, the Electron and the ABC range) did not have such an interface.

So the Tube interface was not Acorn specific, but it was specific for the BBC range of computers.

... given that its predecessors ... did support them?

Of course any answer to your question can only be opinion-based.

However, on many internet sites I have read that Acorn advertised the Archimedes as "new generation home computer".

This means that Acorn did not see the Archimedes as successor of something already existing (like the BBC or the ABC) but as a completely different type of device.

This would mean that Acorn did not "remove" this feature but they simply did "not add" this feature.

Adding the Tube interface in the BBC made sense:

The BBC was designed as a device for beginners who wanted to learn programming.

In 1981 "professional programming" often meant "assembly language". So an engineer who has never used a computer before could buy a BBC model B, learn programming in general and then he could buy the 68000, 8088, 6809, Z80 ... card to learn the assembly language that was required for his work.

The expensive high-end Archimedes was definitely not intended for this purpose.

And in 1987 "professional programming" did not necessarily mean "assembly language" any more because the power of computers was enough to use compiler-based programming languages.

... and successors did support them?

I think the reason why this feature was added to the RISC PC was completely different to the reason why the BBC had this feature:

There was a lot of software for non-ARM CPUs available on the market. The customers should be able to use this software.

The A1060 for the Amiga and the SunPCi for SUN workstations had the same purpose.

So the reason why only x86 CPUs were available as second CPU for the RISC PC is quite simple: In 1994 nearly all considerable software on the market was MS-DOS and Windows software.

The ABC range supported second processors ...

However, if I understand the information about the ABC computers correctly, it was not intended that the user changed the CPUs in the ABC.

Instead, if you bought an ABC 200 (as an example), you were intended only to use the 32016 CPU.

This is completely different to the BBC's Tube system where you were intended to exchange the second CPUs and/or simply to switch off the second CPU to use the main 6502 for programming.


By the way

... only supported floating-point coprocessors ...

Not only floating-point:

Beginning with the ARM2 (used in the original Archimedes), ARM CPUs support up to 16 co-processors to be connected at the same time.

Many (later) ARM-based microcontrollers have the memory management and the debugging system implemented as co-processors.

I know (non-ARM) CPUs that have real-time control and/or security/encryption co-processors.

... that could be connected through it's Tube interface.

If I understand the Tube interface correctly, it is simply a second expansion connector with a chip select signal. (You'll find the same signals in the Commodore C64's expansion connector.)

The actual Tube electronics is located in the second CPU's housing.

The second CPU had its own memory and the Tube system is not comparable to modern two-CPU system but it is more like two independent computers using a VNC or remote-desktop software.

If this is correct, it should be quite easy to connect a second CPU intended for the Acorn BBC to another home computer such as a C64, an A800, a Spectrum or ... an Archimedes (*)!

(*) To the "1 MHz" connector of the AKA-10 podule

You would need special software, of course.

  • The ABC range supported second processors, per en.m.wikipedia.org/wiki/Acorn_Business_Computer. (The original eurocard-based System line also had an optional 6809 card instead of the default 6502.) Your points on professional programming are interesting, however. With regard to later uses for the ARM coprocessor interface, do you know of any such examples in the Archimedes line? – Kaz Jul 6 at 13:42
  • @Kaz I modified the section about the second processors and the ABC. However, the Acorn Electron would be another example of an Acorn computer not supporting second CPUs... – Martin Rosenau Jul 6 at 20:24
  • One CPU for programs and one CPU for I/O is exactly how the BBC used second processors. Comments at old-computers.com/museum/computer.asp?c=990 mention the ABC's influence on second processors for the BBC Master (which were fitted internally, like the ABC). As for the Electron, I wouldn't describe it as a "completely different" device: it was pretty much a cut-down BBC for the home market. The Tube interface could be added back on: computinghistory.org.uk/det/31838/… – Kaz Jul 7 at 5:23
  • @Kaz I updated the section about the ABC. – Martin Rosenau Jul 7 at 8:08
  • 1
    @Kaz But if I understand the drawing in the thesis correctly, the A500 was used as "second processor" of a BBC computer using that podule. – Martin Rosenau Jul 10 at 19:15
3

The original BBC Micro was designed very quickly and was subject to internal debate over its processor; the 6502 was already seven years old, and the tube appears to have been a compromise: they would ship the base machine with only a 6502 and could then experiment with the various newer processors on the market after the fact, demoting the 6502 to a mere IO processor. It allowed Acorn to evaluate the 32016, 68000, etc, on an existing design.

The RISC PC launched in 1994, when there was already a clear Windows hegemony forming — even in the UK. So it's likely that support for alternative processors was overt recognition of that.

Since neither of those reasons applies to the Archimedes, which launched in 1987 with the then-best consumer processor, it doesn't have explicit support for alternative processors.

2

Three contributory reasons:

  • After the BBC Micro, Acorn were using their own processor
  • They didn't need hardware to support other platforms
  • Microsoft Windows hadn't cornered the market yet

Using their own Processor

In the 8-bit era, Acorn had used existing, off-the-shelf processors in their computers, predominantly the 6502. When designing the Acorn Proton (which later became the BBC Micro), the company were unsure whether to continue in that vein, or switch to a newer processor:

Where was Acorn to go next? Many possibilities were emerging with a new generation of 16-bit processors (like the 68000) set to come on to the market, and other developments, such as networking, gaining in importance.

Should Acorn abandon the 6502 processor which lay at the heart of all its machines? Should the next machine be full of the latest features or should it sacrifice advanced technology for the mass market?

After many lively meetings, the Acorn designers went away to work on Hauser's compromise suggestion, an improved 6502 machine with expansion possibilities. The 'Tube' was born to allow more sophisticated processors such as the 68000 to be added later. The new machine was to be called the Proton, continuing a trend born with the Atom.

This indecision that led to the Tube interface had another benefit: the possibility of using a Z80 processor was appealing to the BBC, as it would allow the machine to support CP/M, still considered important in business applications at the time.

When Acorn started planning a successor to the BBC Micro line, they once again looked at processor options, but this time they decided to design their own. Because the ARM processor was their own creation, individual employees' enthusiasm for using an alternative processor instead would be greatly reduced.


Software Emulation

The ARM processor was very simple, and fast, for its time. This meant that software emulation of other platforms was a viable option.

From the release of RISC OS 2, the Archimedes was distributed with !65Host and !65Tube, two emulators that supported running BBC Micro and Master software natively under RISC OS (including Tube-compatible software). This provided backward compatibility with existing BBC software, without requiring a 6502 co-processor.

A PC Emulator was also released, emulating an 80186, and running MS-DOS 3.1, albeit somewhat slowly. Curiously, the linked article quotes an Acorn representative as saying "There'll be an 80186 co-processor card out for the Archimedes soon", indicating that they were considering a hardware-based solution too.


Competition was from DOS, not Windows

The Archimedes' RISC OS was a modern 32-bit operating system with a graphical user interface. Compare the promotional image of DOS 3.1 from the above article on the 80186 emulator:

Text-based ProComm software running on an A300 machine

With a RISC OS desktop:

Desktop of an Archimedes A3020 running RISC OS

It would be quite reasonable to expect software developers of the late 1980s would be drawn to the ARM/RISC OS ecosystem rather than continue working under the antiquated constraints of the IBM PC and MS-DOS. If your machine is the best thing since sliced bread, why encourage people to keep using old-fashioned software?

By 1994, when the RISC PC was introduced, the MS-DOS/Windows hegemony was well established, and Windows 95 was just around the corner. The Archimedes line, while innovative, hadn't penetrated the market significantly (except the education sector). As a result, hardware compatibility with the PC platform was now essential, if the RISC PC was to succeed in the marketplace.

1

While there is no evidence that Acorn released a general-purpose co-processor, they did intend to (at one point).

A review of the Archimedes line, in the August 1987 issue of Personal Computer World magazine, includes the following statement:

So far Acorn has announced its intention to produce the following podules: 'Floating Point', a hardware floating point coprocessor; ' ROM', a card to hold ROM based applications, similar to the BBC sideways ROMs; 'BBC I/0', which reproduees the ports of the BBC B and Master, including DtoA and 1MHz bus; 'MIDI', the music synthesiser control; and '80186', which runs an MSDOS environment for IBM software.

Acorn had used the 80186 for an add-on second processor for the BBC Micro, and was sold built-in as part of the BBC Master 512.

In the absence of the 80186 for the Archimedes line, a third party manufacturer eventually stepped in. Aleph One released a number of PC Expansion cards based on 386 and 486 processors. One of these was reviewed by PC World in December 1992. (This would have been toward the end of the Archimedes' lifetime, a year and a half before the launch of the RISC PC.) They also released an expansion for the smaller A3000/A4000 machines (which did not have an internal podule bay).

It remains the case that Acorn didn't release their own add-on processor, leaving it to the aftermarket instead.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.