7

The bi-directional 8-bit data bus of the Intel 8080 was split into two unidirectional 8-bit data buses. Later these two 8-bit busses would be combined to support a 16-bit data width for more advanced processors.

https://en.wikipedia.org/wiki/S-100_bus

Why were the data lines of the early S-100 bus split into these unidirectional lines? Certainly the control signals provided were sufficient to allow cards to properly buffer a bidirectional signal.

1 Answer 1

4

It's rather simple concerning the hardware. To operate the bus without the CPU (while plugged in), the databus needs to be separable from the CPU. That's why buffers are needed. While the processors direction signal (DBIN) could have been used for CPU initiated transfers, it would not be possible to use that when the CPU is halted in any state. Also a simple override wouldn't have worked well, as changing memory when the data bus was driven by the CPU would have resulted in an undefined CPU behaviour (possible damage). A more complicated logic would have been needed to not only define direction but also validity. Further it would have been complicated due the fact that the front panel was not only meant to access memory insted of the CPU, but also be able to directly present data to the processor.

Having two separate drivers and control for each was the only way to solve all the requirements.

Of course, after doing so it would have been possible to join these busses again. But then again, the selected 100 pin connector offered way more lines than needed anyway and keeping them separate might have opened other use cases as well. So not joining them again was a sensible decision.

2
  • Do you mean to test non-CPU cards from the front panel?
    – DrSheldon
    Commented Sep 29, 2018 at 20:23
  • 1
    I don't understand your question. The Altair had a front panel that could drive the bus to read or write any address, memory or I/O - asl well as present data to the CPU.
    – Raffzahn
    Commented Sep 29, 2018 at 20:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .