The Rough Guide to MBus Modules
Introduction Buses Modules Systems Chips Miscellany

The Buses


MBus

MBus is a circuit-switched, cache-coherent shared-memory (ie: multiprocessor) bus, using a 36-bit physically addressed 64-bit datapath. It was originally designed by Sun Microsystems for their first SPARC-based multiprocessor system, the SPARCserver-690.

All MBus-based computers use SPARC-architecture CPUs. Usually, the CPUs are mounted on plug-in daughter-cards, called "modules". Most MBus systems provide one or more "slots" into which modules can be plugged: each module contains one or two CPUs and (optionally) some second-level cache memory.

In principle, the MBus can support a maximum of 8 "nodes", one of which must be a memory-controller (a "North Bridge" in PC terms), another was typically an I/O-bus interface (a "South Bridge"), thus leaving a capacity for upto 6 CPUs. However, none of the MBus implementations actually produced could support more than 4 CPUs, although a few systems accomodated more CPUs by having several independant MBuses.

CPU modules lacking a L2 cache-controller take their CPU clock directly from the MBus clock.

The HMx4.5S, HMx4S and HMx4D CPU modules generate their CPU clock by multiplying the MBus clock. For instance, the HMx4S runs at 160MHz on a 40MHz MBus, but at 200MHz on a 50MHz MBus.

The other CPU modules generate their own CPU clock internally (using a phase-locked-loop circuit), which must be at least equal-to (for HyperSPARC-based modules) or faster than (for SuperSPARC modules) than the MBus clock.

For example: SM41 will run on a 40MHz MBus (because it is actually internally clocked at 40.3MHz); SM40, SM41 and SM51 will not run on a 50MHz MBus; whereas SM50 would run at 50MHz on a 50MHz MBus, or at 40Mhz on a 40MHz MBus.

Some system chipsets that are normally clocked at 50MHz, are capable of automatically reducing their MBus speed to 40MHz in the presence of SM40, SM41, SM52 or SM51 modules.

This leads to the strange situation that in the SPARCstation-20, uncached SM50 modules can outperform cached SM51 modules for some workloads (because they allow the SS20 MBus to run at full speed).

See also: Whither the High-Speed MBus?.


XBus

XBus is a packet-switched version of the MBus - it is electrically compatible, but uses a completely different signalling protocol. It is the intra-system-board bus used on the SPARCserver-1000, SPARCcenter-2000 and the Cray CS6400.

These systems have multiple system-boards, each with CPU-, memory- and I/O-slots. The system-boards are connected together via one or more XDBus backplanes. All memory is "owned" by an XDBus, rather than an XBus, even "local" memory.

The XBus uses the same slot-connectors as the MBus, and some MBus CPU modules are also XBus modules - they automatically detect the host bus protocol and adapt accordingly. Thus, IMHO, it is appropriate to include XBus systems in this guide.

I am not sure whether the XBus protocol would prevent use of dual-CPU modules or not. If you know, please email spooferman@excite.com.

The XBus can only use modules that contain a Sun MXCC L2 cache-controller (cached SuperSPARC modules).

The XBus runs at a fixed clock-speed, regardless of the CPU modules installed. Unlike MBus, such modules can run at the same or a higher clock-speed than the XBus itself.

For example: SM100, SM40 and HyperSPARC modules cannot be used (no MXCC); SM41 modules can be used on a 40MHz XBus but not a 50MHz one; SM51 modules will run at 50MHz on both a 40MHz or 50MHz XBus.


KBus

KBus is the inter-system-board bus used in the Solbourne Series 6 and Series 7 server systems. It is a high-bandwidth, high-latency, circuit-switched bus used to interconnect multiple independant MBuses.

KBus does not in itself effect the module-configuration of those MBuses.


VBus and other private affairs

VBus is the "private" intra-module bus used between the Sun SuperSPARC CPU and the Sun MXCC level-2 cache-controller. It is not related to (nor is it visible to) the MBus.

Note that the SuperSPARC-I CPU chip could run on an MBus or VBus, selected via an input control pin.

The other manufacturer of MBus modules with an L2 cache, Ross Technologies (now Bridgepoint), used their own private intra-module bus between CPU and cache-controller.

These buses do not directly effect the module-configuration of the MBus, at least as far as we are concerned here.


Introduction Buses Modules Systems Chips Miscellany
Mike Spooner, revised 9th May 2006