14

I know dual socket motherboards were around in the 90's before Intel released the Core series. And SMP hardware and operating systems have been around earlier than the PC platform of course.

Multiprocessor support on the IBM PC-based platform, as far as I know, required BIOS support and additional hardware support, and introduced things like the MPS specification and the APIC. This is an interesting event in the evolution of the architecture, possibly up there with the introduction of the PCI/PCIe bus and the integration the northbridge with the CPU.

So which motherboard was the first to support multiple CPUs and SMP? Basically asking what would be the first PC-compatible motherboard I could ever buy that could take 1 or 2 CPUs.

  • 5
    The question is a bit vague about what is asked. Do you look for x86 multiprocessor or PC compatible multi processor? – Raffzahn Aug 7 at 23:08
  • I worked with an awful early one that blue-screened Windows NT every few days. Don't remember the manufacturer but that would have been mid-90s. My boss wouldn't believe that it was not my software's fault, until we finally got a dual CPU Dell that didn't blue-screen. – Greg Hewgill Aug 7 at 23:32
  • 5
    Are you only interested in motherboards you could have bought? That would push the answer back quite a few years — early MP PCs were only available as complete systems. For motherboards end users could buy (in theory; their availability was very limited), I suspect the answer would be something like the Tyan S1562D (aka Tomcat II Dual), in 1996. – Stephen Kitt Aug 8 at 8:31
  • @StephenKitt good point. In addition the question is unclear if it has to be a motherboard at all, or if systems with multiple boards fit as well. – Raffzahn Aug 8 at 9:38
  • The first such MB I saw was 386/486 with ISA IIRC it did not have PCI. But I have no clue of the year ... anyway for server MBs there where usual to have multiple CPUs of the same type but hard to say if that counts too or in which CPU it started ... – Spektre Aug 9 at 8:01
18

Preface

The question is a bit unclear(*1) about the margins set regarding:

  • Must it be a single motherboard or do separate assemblies qualify?
  • Must it be PC-compatible or does any x86 system qualify?
  • Must the board have been available separately (to the general public) or do complete assembled systems qualify?

So answers do vary a lot depending on what criteria are to be applied, offering year tags from 1979 all the way to 1995. Pick your choice.


Three Quick Answers:

  • If it's just about being x86 and SMP, then the earliest 8086 multibus boards will qualify - even way before the PC.
  • If it's about PC compatibility, then the dual 80386 configured Compaq SystemPro will make it.
  • In the most strict sense of the above criteria, then the motherboards found by Stephen Kitt are the answer you're looking for.

The Long Read

The original 8086 was already not only capable of sharing the bus between multiple CPUs, it was a core feature to enable operation of configurations with an 8089 I/O processor - as well as multiple CPUs and multiple I/O processors in one system. It was there from the very beginning. In fact, the first ever systems made by Intel for Multibus have been used in SMP configurations.

Intel can't really be blamed for IBM using the CPU in a somewhat crippling design.

Multiprocessor support on the IBM PC-based platform, as far as I know, required BIOS support and additional hardware support, and introduced things like the MPS specification and the APIC.

Not really. It just simplifies standard usage.

So which motherboard was the first to support multiple CPUs and SMP?

Well, ignoring pre/non-PC MP systems like Sequent's 80386-based Symmetry systems (1987), the dual 80386 Compaq SystemPro of 1989 might be a good starting point for dual CPU and PC compatible. That was before the APIC and way before MPS. Though, I'm not really sure if it does fully fit the SMP category, as the second CPU acted as a dedicated I/O processor running driver code; it didn't take any user tasks. So while memory access was common to both, processing was asymmetric.

Then again, according to a quite interesting benchmarking project (found by Stehen Kitt), Windows NT 3.1 does seem to recognize both CPUs, so there might be more research necessary.

The very same machine could be ordered after 1990 with dual 80486 which also introduced APIC (*2). But APIC was restricted to Intel systems as its workings were patented - AMD and other compatible manufacturers introduced openPIC, but with limited success (*3). There was simply no real need for SMP when it came to machines that had to be 100% compatible, while at the same time multi-CPU servers were a special case anyway. This continued with the Pentium (*4). Fully PC-compatible systems stayed rather rare.

The restriction to a 'motherboard' makes it a bit problematic, as the SystemPro has the CPUs plus all arbitration logic on a sub-assembly. The motherboard itself is agnostic of the number of CPUs installed. So again, not sure if it counts.

It only took off with the Pentium Pro, after 1995, when Intel pushed dual socket systems for high end PCs. Almost every major manufacturer had one or more such system made close to Intel's specifications, including the separate voltage converter modules(*5). Compaq's 273708-001 board may serve as a good example for a workstation - here both sockets and all logic are on the motherboard. On the server side there was a dual PPro card for the ProLiant 5500 Model 6/200 (type 285100-001), which could take two of them making it a quad CPU system, but that would again be not on the motherboard.

By the time of the Pentium II, AMD licensed APIC from Intel for their K7 design and the rest is history...


A notable mention should go here as well for Intel's iPSC of 1985. Although not SMP, the system is, with up to 128 80286 CPUs, the first major example for using off-the-shelf x86 components to build a supercomputer, something standard in today's high-end world. (These x86-based systems are not really PC compatible, even though they are standard x86 SoCs.)


*1 - It's not always easy to set a history question from today's POV, is it?

*2 - For the advent of multi-processor systems, Intel's MPS of 1994 was way more important than the APIC hardware itself. Before that, everyone tried their own methods for communication.

*3 - Interestingly, IBM, Apple and Motorola implemented openPIC in the form of MPIC for PowerPC based systems, like various RS/6000 or Macs.

*4 - At this point Alan Cox might be helpful, as he, AFAIR, brought MPS for the Pentium into Linux.

*5 - One of the hassles of finding PPro System is when they are taken, as it renders the machine useless. This is quite similar to 68k Macs, where the socketed system ROM was taken out by someone salvaging RAM modules.

  • 1
    Compaq shipped a version of SCO UNIX which could use both CPUs as equals on the SystemPro, so in some cases the second CPU wasn’t limited to being an I/O processor. – Stephen Kitt Aug 8 at 8:11
  • 1
    Upvoted for mentioning the Sequent system which I nearly got to work with back in the day. – JeremyP Aug 8 at 8:55
  • 1
    @StephenKitt You're right. And it all comes down to how the question is interpreted. Personally I'd go with 8086 on Multibus as first - wich would as well be the first 8086 system at all. But I guess the OPs view is more in hindsight based on todays POV. In fact, the mentioning of 'motherboard would exclude next to all early systems (until like the mentioned PP, as they all put their CPUs including arbitration on a subassembly, while the motherboard was agnostic of the number of CPUs. – Raffzahn Aug 8 at 9:27
  • 1
    Incidentally, these threads on VOGONS suggest that the Wikipedia article is incorrect; at least, the NT 3.1 task monitor seems to indicate that both CPUs are considered equal. – Stephen Kitt Aug 8 at 9:55
  • @StephenKitt Interesting find. I'd love to see more details about the Windows installation. Similar alltests so far are basd on the 386 board using 386 or TI (Cyrix) 486SLX2 CPUs -They are weired beasts, somewhat like a 486SX with a 386 bus interface. Much like the RapidCAD. – Raffzahn Aug 8 at 10:33
11

If you’re looking specifically for motherboards directly supporting multiple x86 CPUs, in a multiprocessor configuration, and available for purchase outside the system they were designed for, a likely candidate for the first such motherboard is the Gigabyte GA-586ID, which supported two socket 5 Pentium CPUs in an SMP configuration. It was released in 1994. Supermicro and Tyan apparently produced dual-486 motherboards too but I haven’t found them yet. There were quite a few dual-Pentium motherboards, see this post for a selection (thanks to snips-n-snails for the link).

There were multiprocessor x86 systems available for purchase earlier than that, as described in the other answers. They typically used per-CPU daughtercards. Multiprocessing on PC-based x86 only became possible in generic systems with the advent of the MultiProcessor Specification in 1994; before that, operating systems needed hardware-specific support (as was the case with Windows NT 3.1 on the SystemPro).

There were also motherboards which supported multiple CPUs, but only used one at a time; I used to have a Forex board which could use a 386 or 486. Arguably any 486SX motherboard with a socket for a 487 qualifies in this category, since the 487 is a full-blown 486DX, so a 486SX with a 487 is a system with two CPUs, only one of which is used.

  • 1
    Good candidate when going for the most strict interpretation of being a) PC compatible, b) a single motherboard and c) sold separate. – Raffzahn Aug 8 at 9:40
  • 1
    Yes, I think the Tyan S1462 is the kind of answer LawrenceC was looking for. It's based on the Intel 430NX chipset described at en.wikipedia.org/wiki/List_of_Intel_chipsets#Pentium_chipsets which says this chipset was introduced in 1994 (although some motherboards based on this chipset may have been single-CPU), and lists.de.freebsd.org/archive/de-bsd-questions/… lists some other SMP dual CPU motherboards from the same era. – snips-n-snails Aug 8 at 17:29
  • @snips-n-snails that bsd-questions post is a nice find, thanks for the info! – Stephen Kitt Aug 8 at 17:37
5

If you expand the criteria to include systems where the two CPUs are not on the same circuit board, the Intel ISBC 86/12 from 1979 is a Multibus-compatible single board computer.

Later, the Compaq SystemPro from 1989 supported up to two 33 MHz 386 processors, also on their own cards, and could run Windows NT 3.1, but this version of SystemPro only supported asymmetric multiprocessing (ASMP). SystemPro/XL from 1992 which was based on the 486/50 was SMP.

Another interesting product is the Evergreen Rev to SMP from 1995 which allows you to plug two 486 CPUs into a single socket on the motherboard.

  • 1
    Well, AFAIK the SystemPro was asymetric as the second CPU was dedicated to I/O operation, run by driver code, while Windows NT did only run on the first one. – Raffzahn Aug 8 at 0:26
  • 1
    @Raffzahn no, NT was limited in what it could use the second CPU for, but SCO UNIX could use both CPUs equally. If we’re expanding the criteria, we could include crazier systems such as the NetFrame mainframe-style series (NF100 etc.) also released in 1989. – Stephen Kitt Aug 8 at 8:14
  • 2
    @Raffzahn You're right, SystemPro for the 386 was ASMP, but SystemPro XL for the 486/50 was SMP. I've edited my answer. – snips-n-snails Aug 8 at 8:23
  • Wow, Never seen one of these Rev-to-SMP boards. Would be a great find. – Raffzahn Aug 8 at 22:55
4

The DEC Rainbow (1982) was built with two CPUs on the motherboard. One was an 8088 and the other was a Z80. It could run 8 bit CPM, 16 bit CPM, or MS-DOS. When running MS-DOS, the 8080 was used as an I/O processor for disk access.

This doesn't quite fit your criterion, because only one of the two CPUs was x86, and because there was no OS that allowed user tasks to run concurrently on the two CPUs.

https://en.wikipedia.org/wiki/Rainbow_100

3

Does an Apple II motherboard count? Back circa early 1981, I used a design similar to that of the Z80 Softcard to prototype an 8088 softcard that could do asymmetric shared memory multiprocessing with the 6502 in an Apple II. Used it to demo using the 8087 as a math accelerator for the Apple II. Jobs was unimpressed, but didn’t fire me.

  • 1
    Did you demo VisiCalc using the 8087? – snips-n-snails Aug 12 at 7:05

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.