Can anyone explain how separate data inputs and outputs for RAM would be useful for a computer system designer?
There are several advantages:
- Timing is only defined by address transfer
- No additional requirement for access timing
- Outputs is static, only defined by address input
- No specific bus structure required
- Any bus adaption (latches, buffers) is external
In addition it reduces the pincount quite a lot:
- No direction signal needed
- No output enable needed
- No chip select needed (*1)
Thus even a 256 KiBit chip could be made into a 16 pin device (*2) keeping the pinout (mostly) compatible. It wasn't until the 1 MiBit that a new pinout was needed - which, as usual, did lead to some variation.
Bottom line: That way a RAM chip is just that, a RAM, without any additional circuitry.
Wider (4-bit an 8-bit) DRAM chips didn't bother using separate input and output pins, possibly due to the larger number of pins that would have been required if they chose to do so
Yes, as that would have pushed the pincount up to 22 for a 41464, which is rather unusual for 600 mil spacing, thus a switch to 600 mil would have had to follow, eating up much more board space, increasing cost further. Quite unhandy when considering that these x4 chips were mainly intended for cost reduced designs of conventional micros. Thus a reduction to only bidirectional bus designs was acceptable.
Examples of machines that took advantage of this would be appreciated.
There are not many with classic microprocessor designs, as they work with bidirectional busses anyway.
I once (~1983) did a video capture board using separate, not connected D/Q pins, working on a fixed (TV) timing frame(*3). Data input was continuous feed from an AD stage digitizing camera input and stored in RAM (/WR active). At the same time data output was feed synchronous feed into a DA stage creating output for a monitor (*4).
While WR was active, each frame was stored, overwriting the previous. By releasing WR (during retrace) the last picture stored was held, continued output displayed, and on demand transferred (*5) into the PC.
*1 - The original Mostek 4096 still required CS at pin 13.
*2 - Getting rid of additional voltages of the original 4116 freed pin 9 and 1 for A7 (4164) and A8 (41256)
*3 - Simply created by some counters triggered by filtered camera timing, so no internal clock source needed.
*4 - Well, since the system was meant to take employee photos, there were two screens, one 'regular' for the operator and a second with flipped Y axis to act like a mirror :)
*5 - Using a separate set of address counters and during retrace to not interference with the picture still displayed. It could have worked by reusing the picture counters, but that would have introduced a one frame flicker, which I did not want to happen, as it disturbs the UI process.