7

The Altair 8800 had a backplane with 18 connectors for S-100 cards. Why was the number 18 particularly chosen?

It is fairly common for a computer to have the number of expansion cards be a power of 2, or some number slightly less than a power of 2. Often this is a result of how the address space is divided. But this is slightly more than a power of 2, so there is likely some other reason.

6
  • 1
    Somewhat related: retrocomputing.stackexchange.com/questions/13163/… - looks like a 19 inch rack mount, not sure of ‘standard’ card spacing…
    – Jon Custer
    Mar 23 at 1:30
  • 1
    CPU + I/O + (4K x 16)? Mar 23 at 1:30
  • 1
    Didn't the IBM PC originally have 4+1 slots?
    – Brian H
    Mar 23 at 16:07
  • 7
    Where have you got that assumption It is fairly common for a computer to have the number of expansion cards be a power of 2 from? I'm not aware of any examples that would and not aware of any reasoning why they should.
    – tofro
    Mar 23 at 18:35
  • 4
    Number of slots seems more likely to be related to available space for slots, coupled with the 'thickness' of any one expansion card, rather than any number-of-bits issue which is where a 'power of two' factor would come from. Mar 23 at 20:11

3 Answers 3

18

The Altair 8800 had a backplane with 18 connectors for S-100 cards.

To start with, the genuine Altair had a 4 slot backplane, or 'Expander Board' as they called it. To cite their advertizement:

The basic Altair 8800 includes the CPU, front panel control board, front panel lights and switches, power supply and expander board (with room for 3 extra cards) all enclosed in a handsome, aluminium case.

If anyone needed more slots, multiple 'expander boards' could be mounted side by side and connected by soldering 100 wires.

When IMSAI introduced their Altair clone with a 22 slot backplane, the wire-extended multiple-of-4 solution looked rather clumsy in comparison. MITS responded with their B-model now offering 18 slot.

Why was the number 18 particularly chosen?

For the space available?

The question might be rather why the 8800b not had 22 like the IMSAI 8080. The reason is the way the Altair power supply was placed. IMSAI did design their PS to occupy the right side of the case, so the backplane could be placed along (front to back), giving space for 22. In contrast MITS' design placed the PS at the rear. Without changing the PS it was only possible to put an extended backplane across (left to right) of its 19" enclosure. So 18 it was (*1).

Space wise the maximum would be around 35 with tighter packaging of slots and no oversized cards.

It is fairly common for a computer to have the number of expansion cards be a power of 2, or some number slightly less than a power of 2.

Any source for such a generic assumption?

Often this is a result of how the address space is divided. But this is slightly more than a power of 2, so there is likely some other reason.

Address decoding is exactly not the point here. The S100 bus is for most parts simply a collection of all decoded 8080 CPU signals. It does not provide any services, like address decoding, not does it add any limitations, beside what the CPU provides.

Altair Bus in particular and S100 in general can have any number of slots/boards. Anything from a single slot to >20 has been produced. Of course overly high numbers will add issues in terms of timing, power and signal quality. Thus the IEEE 696 later introduced a maximum path length (on the backplane) of 25 inches and a maximum number of 22 slots.


*1 - It might be noteworthy that the Altair didn't use a case made to the 19" standard, but a custom (read cheap) one that would fit onto a shelf inside a 19" rack. Outer dimensions were 17 (width) x 7 (height) x 18 (depth).

3
  • In what situations would people need anywhere close to 18 slots? Even using 256x4 SRAM chips, I would think one could practically build a board with 8KB of RAM (64 such chips and control circuitry in a 5"x10" wouldn't have a huge amount of extra space, but should be able to fit given how many connections the RAM chips would have in common). So 48K of RAM would be six boards.
    – supercat
    Mar 24 at 21:35
  • @supercat What family car does need 150 HP? 50 would be more than enough for all situations they ever encounter. Still, look what they buy...
    – Raffzahn
    Mar 24 at 22:04
  • A higher-performance engine will affect driving experience, even if one could get by with a lower-performance one. On the other hand, a computer with 18 slots of which six are used would behave identically to a computer with 8 slots of which 6 are used. Having some room for expansion is desirable, but going for something that's more than half again the highest foreseeable need would seem excessive.
    – supercat
    Mar 24 at 22:13
7

so there is likely some other reason.

This pre-supposes some sort of rationality in the early PC industry - I'm not sure that was really the case :-) I suspect it wasn't chosen, based on the history of the bus (created as part of the Altair rather than before it). The IEEE standard came later.

The Altair 8800 was not, from memory, necessarily going to use the S-100 (or any?) bus but delays in getting everything completed meant that the functionality needed to be split between different boards (with missing boards added later) so a connecting bus was then required.

And, since it was "designed" in part by seeking out the cheapest surplus connectors, it's possibly also true that some random board or case was selected in the same way, and that just happened to have capacity for 18 connectors, with decent clearance between the boards.

That's supposition on my part but it fits in reasonably well with the "design-by-just-get-it-done" nature of the project :-)

Powers-of-two may be a good approach if you have an Apple II style rule where each card has a memory chunk allotted for its onboard ROM but I don't recall S-100 cards being restricted in any way by that. The S-100 "spec" was mostly a "what is each line on this bus used for" rather than a "this is how your card should operate" one.

1
  • "design-by-just-get-it-done" a timeless strategy :)
    – Thomas
    Mar 24 at 13:49
0

@Raffzahn already provided an excellent and comprehensive answer, so I'll elaborate on one of your points, the odd number of slots.

The S-100 bus (like the PC ISA bus we all know and hate) was not addressable (like the Apple II's, for comparison). On an Apple II, every slot had a corresponding address range where ROM routines could be expected to be. When the II boots, it checks every slot, from 7 downwards, for a ROM and tries to boot from it. That's how disk booting works on the II. This is how the II can tell there is an 80-column card on slot 3 and a printer card on slot 1.

But I digress. On an S-100 machine, you can't tell which slot holds what because all boards share all lines (well... You could, with very clever timing, measure the signal delay to a given known functionality). If you plug in a RAM board, you'll need to configure it so that its address do not overlap other RAM boards on the same bus. This is why we had interrupt conflicts on ISA PCs - you needed to configure your modem in such a way it didn't use your serial (yes, that was a thing) mouse port. Things were made worse on the PC because serial port pairs shared a single interrupt line. Having a bus like that has advantages, however: the backplane can be a little bit simpler and you can have as many slots and boards as signal degradation will allow.

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.