Dual cpu computers

Other than CP/M did people use other coprocessor cards?
Steve Ciarcia had a Z8000 project for his Circuit Cellar, was the only one I knew
about in the 80’s for the PC.I think also NS32C016 had processor card for the PC.
I always liked NS32C016 architecure but never found computer using it.

The BBC Micro (c1981) was designed from the start to support dual CPUs.

So while you could (and most did) use the base or host CPU, those who could afford it had the options of a faster 6502 with more RAM, Z80, NS32016 … and over the years many more like e.g. PDP11.

It wasn’t really SMP but with clever programming you could run tasks on both at the same time. The host system was responsible for video, keyboard, sound, network, filing systems, etc. with the “Tube” processor doing your hard work.

Operations could be performed concurrently as there is a large FIFO (and a few smaller ones) used for communication between the devices.

Today people are still using it and developing even more 2nd processors for it - by using a Raspberry Pi with some good software to emulate the Tube interface and the target CPU and RAM - including a 65C02 that runs at nearly 300MHz…

Other than that, there were the various Z80 “softcards” for the Apple II at the same time to give it CP/M.

-Gordon

2 Likes

(crossed in the post!)

It’s worth having a look at the BBC Micro’s facilities for a second processor (aka The Tube) - included a larger faster 6502 as one option, or z80 and x86 for compatibility, or ns32k for performance.

I’ve written some summaries elsewhere:

There’s also the special-firmware 68000 which acted as a 360 in a PC - see
370 processor on an ISA card

And of course Inmos made Transputer cards - ISA cards for PCs.

2 Likes

The NS32K for PC (ISA) was by Definicon, I think; it was featured in Byte. The most intriguing (to me, at least) co-processor for the PC was probably the PC/370, though. There were also several Apple-II-on-a-card implementations for the PC.

For the Apple II, there were Z80, 68008, 6809 cards; I think the 6809 may have been marketed as a better platform for UCSD Pascal. There’s also a recent(ish) card for the Apple II, for making the Apple II into a Transputer development system.

1 Like

PC-on-a-card systems for IBM PC compatibility on various systems were very popular in the late 80s through mid-90s. Sun released such coprocessors for the SBus and later PCI SPARC and UltraSPARC workstations, for example. There were also PC-compatible extension cards for the 68k and PowerPC Macintosh lines, both designed by Apple and by third-parties, such as the OrangePC.

There were also compatibility and extension cards going the other direction, several manufacturers made 32-bit non-x86 expansion cards for the IBM PC to allow them to run various workstation software. An example of this is the Opus 100m, which in fact used an NS32k processor.

1 Like

Kaypro went the other way by adding a 8088 card so you could run MS-DOS in some of their CP/M systems. Kaypro 4/84 Plus 88.

Bens original ask about co-processing cards and Eds mention of the Transputer surfaced some old memories …

Many years back (80s/early 90s) I worked for a UK supercomputer company and we started off with the Inmos Transputer - the Computing Surface (for that’s what it was called) was front-ended by a PC, VAX or Sun… So It made the host computer not just dual but have potentially 1000s of CPUs at its disposal.

Latterly the CS was fronted by an internal Sun Sparcstation that had a daughterboard with the transputer link interface and interface to the Surfaces control network.

And after that when the customers wanted bigger, better, faster, etc. the transputer boards were supplemented with intel i860 CPUs which themselves contained dual execution units touted as being able to perform 3 instructions per cycle with the transputer being relegated to a simple communications engine…

There is a lot more to it than that but that’s the jist of it - multiple CPUs in the 1980s…

-Gordon

2 Likes

BTW Udo Möller’s site is very good for all sorts of ns32k systems including Opus:
The Web Site to Remember National Semiconductor’s Series 32000 Family

Some amusingly well-equipped ISA cards from vendors other than Inmos here:

One is a 9-transputer card with 10 transputers on it - extra value! Called a T9 but they are all T800.

1 Like

I mentioned it elsewhere, the Ohio Scientific OSI 560-Z had a card for Z80 and Intersil 6100

1 Like

It’s worth having a look at the BBC Micro’s facilities for a second processor
(aka The Tube) - included a larger faster 6502 as one option, or z80 and x86 for
compatibility, or ns32k for performance.

There’s a BBC Micro emulator called B-em which also emulates the Tube,
and in fact there’s even a National 32000 “co-emulator” which will
run Acorn’s PanOS operating system for the 32000, their Fortran compiler,
and other tools.

It works:

Hi
In 2017, I was interested in NS32016 CPU computers and did some research. I found the plans for PD32 and PD32plus boards. I was able to reconstruct them in KiCAD and designed a PCB for the PD32. Only a schematic for the PD32plus though. If I recall correctly, the PD32 stands for public domain 32K. It is an 8-bit ISA board with a 32016 processor and RAM. It is in an older version of KiCAD and would take some effort to update to a recent version. I checked the file set tonight and it seems to be complete.

Also, there was another 32016 CPU design by Bruce Culbertson that was fairly complete. I captured the schematic and did a PCB layout. Never made it to prototype phase though before also put in the deep archive. But it exists. As I recall, I converted the board to a mini-ATX design to install in a case so it was somewhat modified from the original design.

Anyway, the idea of a 32016 revival resurfaces every few years. Hopefully one of these days it will gain critical mass to actually launch.

PS, I just checked and the PD32 is actually from a Microcornicopia article (I have a PDF) and it is called the Public Domain 32000. The file set looks complete including the files for the three PALs. Looks to be in CUPL or maybe PALASM but the files appear to be complete and I think could be converted to GALs.

2 Likes

Well, this thread is more about added CPU cards to the systems, but I will stick with the thread name.

Grundy NewBrain is a dual CPU system, there is Z80 as main CPU and also COP400 4bit microcontroller for driving keyboard, VF display and few other things. It is accessible even from BASIC and is commonly used for things like time counters.

1 Like

Another couple in this vein spring to mind…

The Decmate II c1982 - PDP-8 and Z80.

The Commodore SuperPet SP9000: 6502 and 6809. c1981.

These are (to me) more interesting than todays multi-cpu computers as the CPUs are different…

-Gordon

Interesting case! I was thinking of noting that the Amiga has a 6502-family micro to control the keyboard, but that’s not so interesting, I think, because it’s hardcoded to do just one job, and doesn’t offer other facilities. Indeed, I suspect for later machines it’s not uncommon to see a microcontroller in use for something, but it’s not application-accessible so doesn’t contribute to multiprocessing.

Nice example! However, it seems that the two CPUs are strictly active one at a time. So it’s another kind of multi-CPU, the alternate-CPU. It seems the C128 is similar (6502+Z80)

Hi
If anyone wants to work on the MicroCornicopia Public Domain 32000 PC card with NS32016 processor please let me know. I have most of the hardware design work done already but the project would likely need a lot of software work. As I understand it from the 1986 MicroCornicopia article, the board runs Unix System V which would be very cool.

The main remaining hardware tasks would be conversion of the PAL files to GALs and updating the older version of the KiCAD files to a newer version. Of course, we could probably get the old school PALs as NOS and program them as per the article. I’d rather use GALs personally, but it may be easier to use the older chips than deal with the design change. The PALs they call out seem to be common models emulated by the GALs so maybe not too hard?

Please think it over and send me a PM. Thanks, Andrew Lynch

1 Like

One obscure one I ran across is the Hector (Interact) DISK II system, where the Hector’s internal CPU managed the display and input/output, while the DISK II’s CPU ran CP/M and managed the floppies.

I haven’t found any more info about it, though.

Of course, the C64 1541 floppy also had its own CPU, but it didn’t run any sort of OS … just did floppy drive file system stuff and left the serious work to the host computer’s CPU.

1 Like

GAL’S seem to be short stocked by the suppliers. Finding PAL’s unlikely.
I seem to be ordering on ebay from China or Poland but you don’t have much
selection in speed or power and all the chips are CMOS.
A usb programer is not that much. $200?

I re-read the MicroCornicopia article and it discusses PAL to GAL conversion. I am less concerned about it now. I usually get GAL16V8 and GAL22V10 from AliExpress. The quality is hit-or-miss but if you get enough you can get some decent parts.

The original article is amazingly complete. I noticed that I also have the source code for the boot ROMs although I am going to have to keep digging to find out what the tool chain is. The filename is ROM.A32 if that provides any clue. Looks to be some form of NS32000 assembler.

Also, the article mentions the PAL equations are documented in PALASM. There are modern equivalents like GALASM which can synthesize the JEDEC files from the PALASM code. So very positive on the hardware side.

Still would need someone to work on the software side.

Although the PD32 is on a PC/XT board, there are instructions for converting to other 8-bit computers. The PD32 uses a parallel port to communicate with the host computer so the interface is quite basic.

Atmel (Now Microchip) still manufacture GALs but you might need an updated programmer - e.g. the TL866II Plus or their newer variants. The older Lattice GALs are becoming harder to find but I’ve not had issues with the ones I’ve bought via ebay (from China).

-Gordon

Well, you actually can run a program on the 1541 without actual computer (sort of), here is a video: Freespin demo running on Commodore 1541 floppy drive

2 Likes