Dual cpu computers

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

A fun one is the MTU-130 and its “Datamover” memory expansion. Fun, because the MTU-130 was a (quite capable) 6502 system and used a full-fledged Motorola 68000 as an auxiliary processor (avaoiding conflicted words) in the Datamover for shuffling data, DMA, but also for executing tasks under the control of 6502:

The Datamover-256 is an advanced high speed microprocessor/memory expansion for the MTU-130 desktop computer. In use it provides the MTU-130 user with 256K additional bytes of memory, all fully accessible by the MTU-130’s 6502 processor. It also provides a slave processor function using the Motorola MC68000 16 bit microprocessor which is currently the most powerful microprocessor in general use. The 68000 can directly access the 256K of memory as well. Together these Datamover features allow the MTU-130 user to tackle applications heretofore impossible or impractical to do on a low cost desktop system.

(https://www.trailingedge.com/mtu130/Datamover%20Hardware%2068000%20Microprocessor%20Board%20Manual.pdf)

1 Like

Hi, since the PD32 design contains two separate computer interfaces (ISA and the parallel port) I am thinking to update the PD32 KiCAD files and see if it is practical to convert to a duodyne board.

It may be that we really don’t need the ISA connector and the PD32 could be repurposed as a duodyne NS32016 second processor. That would be cool. The ISA connector would only be useful in the context of an ISA type computer (PC/XT or PC/AT type computer).

Does add-on accelerator qualify as dual CPU? Assuming it does, there is an accelerator for Apple II , among many others, called Ultrawarp. I mentioned this specific accelerator because I’ve upgraded it from 65816+RAM+44 TTL to 65816+RAM+CPLD+1 TTL. Also made it faster in the process, up to 20Mhz. Unfortunately I don’t own the design of Ultrawarp, so the conversion to CPLD is not for public dissemination. I have a page here.
https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:apple2:ultrawarp2:rev1:uw2r1

The general design approach of coprocessor for Apple II is interesting and can be reused for other processors. So I do have an Apple II board with general CPLD interface that can hosts different processors.
https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:apple2:a2cpld:a2cpldhome

2 Likes

Interesting info about Ultrawarp, and the interface and your plans… but for me, dual cpu would have to mean some way of running both in parallel, at least some of the time. If they are running in an either-or relationship, for me it’s not quite the same, although it is a thing.