4

Going through schematics of several home or small office computers of the era, I was wondering why almost none of them (1) used dual-ported video RAM. I understand that those chips were initaly expensive and thus mostly used on high-end hardware. But, starting from the middle of the eighties, their cost went down considerably (2). Effective processing speed of computers was a a real competitive issue, as attested by magazine reviews of home and office hardware. So why not use DP RAM to avoid slow interleaving schemes, and allow the CPU to run at full memory speed while offering high resolutions?


(1) The only exception I found is the Amstrad PC1512, which seemed to have a couple of UPD4126C-15. But those were apparently dropped in the PC1640 for single ported TMS4464.

(2) Found 41264 chips in advertisements of '87, at approximately double the cost of equivalent 4464 SP chips. In '89 at 1.33x.

5
  • 3
    In the early eighties, RAM was faster then the CPU, so you have e.g. the Apple II interlacing CPU and video access, while still running the CPU at 1 MHz. Only when the CPU got faster than RAM (and as a result, caches close to the CPU were needed), and you had video cards with RAM dedicated to video memory, then using dual-ported video memory started to make sense. – dirkt May 1 at 16:04
  • Dual ported RAm commonly does not allow concurrent write and read accesses. Since the video logic cannot wait, the CPU would be forced to wait during collisions. So the advantage is not as good as you might think. – the busybee May 1 at 17:38
  • @thebusybee: I looked again in the TMS4461 datasheet, and saw that the memory row and the serial register are not connected unless /TRG is asserted. So I assume it's safe to write on the random access port while reading on the serial access port. – airman May 2 at 7:03
  • 1
    The Amstrad PC1512 hat an integrated extended CGA solution. The PC1640 used the same "chipset", but the extended CGA solution was deactivated and a multi-standard (CGA/EGA/Hercules) solution which had its own memory chips. – idspispopd May 3 at 14:26
  • 1
    The PC1640 video solution was pretty much an off-the-shelf ISA video card (Paradise EGA) added to the mainboard and connected to its ISA bus, so its use of single- or dual- ported video RAM would have been dictated by what the Paradise EGA was designed for. – john_e May 4 at 7:57
3

The IBM PS/2 model 30 (and it's variant, model 25) use 64K of VRAM in their MCGA video system. They manage to display the 256-color VGA graphics mode (requiring around 12.6MB/s streaming to the monitor) with an 8-bit data bus, whereas the VGA card requires a 32-bit data bus with its single-ported data RAM to provide enough bandwidth.

The video RAM chips are two 41264 according to the schematics, as drawn on page 7, chips U6 and U7. The actual PS/2 model 30 I posess has two Hyundai HM53461P-15 chips installed in that position.

6

Well, depends on the definition of dual port. After all, all 9918ff based machines can as well be classified as dual ported. Similar PC graphic cards, like VGA.

Beside that, the most most important reason was No need to do so.

Early 8 bit CPUs were not only slow enough (compared to RAM) to allow interleaved video and CPU access on a fixed schedule, it as well saved money (*1) to make the CPU run according to whatever the video needed. In real world usage it didn't matter that an Apple II was running at (roughly) 1.024 MHz to satisfy instead of 1 MHz, or a C64 at 1.023 (NTSC) or 0.985 (PAL) (*2). Or that many Z80 systems did utilize less than the 4 MHz the CPU and other components were designed for.

Were talking (usually) less than 10% difference from some hypothetical speed, so way below anything noticeable beyond some benchmarks. Not to mention that these were usually way more influenced by software implementation details, like the BASIC used, than the hardware itself.

Sure, speed was a criteria, but only one among many others, like RAM size, screen resolution, ability to show 80 columns or colour.

And, eventually the killer one: PRICE

So what good would it be for a manufacturer in such a price sensitive area, as home computers were, to add hardware to archive an effect barely noticeable, but increasing price quite drastic? (*3)

Building computers is a business to make money, not a race for the best machine - that is only done if money doesn't matter (but performance does).

The ZX81 is maybe the most prominent counter example here - it wasted 60+% performance to save on video hardware - and people bought it like sliced bread.


*1 - With synchronized access windows a concurrent access simply never happened, so no need to add hardware for dual access, thus less cost. It's like with waste (refusal) management - best waste management is to not have waste in the first place :))

*2 - It did ofc, matter when porting tight knitted software between either, but that's beyond the point.

*3 - Keep in mind, counter price of any hardware component added is usually at least four times that components price. So adding 25 USD in logic and RAM interface results in 100 USD higher sales price.

4
  • I was thinking more of the 16/32 machines, such as the ST, in the 85-89 era. From what we can read, adding more color depth to the display was an important competitive advantage. As computers like the Amiga or the ST were loaded with custom chips, I wondered if 4 TMS4461 chips would not be less expensive. And there's a limit on how many bits per pixel can be thrown at the shift register even using page mode. I've read the discussion you had with rwallace, and learned much, but still the picture is not clear. – airman May 1 at 16:31
  • 1
    @airman Doesn't matter much. Atari/Amiga was still about the same era as 8 bit. CPUs were still quite slow, RAM fast enough, and holding back the CPU in cases of conflict the more acceptable solution. No need to spend money on effects that can not be realized. Ask yourself, what would have been the gain of dual port in an Atari ST? Would it be measurable? And if so, would it be in a region users would notice enough to be willing to pay a higher price. Especially with the ST, being placed as lowest cost possible for a 'grown up' system. – Raffzahn May 1 at 16:45
  • 1
    As proof that the performance difference didn’t matter, it was possible on many 8-bit systems to disable video refresh temporarily, which was helpful for CPU- and RAM-bound calculations, but was a rare occurrence in practice. – Stephen Kitt May 1 at 18:38
  • @StephenKitt: How rare was screen blanking in cases where an active screen would impose more than a 10% performance hit? Atari 2600 games like Maze Craze and Video Chess certainly blanked the screen when thinking, the C64 blanked the screen during cassette accesses, the IBM PC Color Graphics Adapter blanked the screen when scrolling, and many Nintendo Entertainment System games blank the screen during bulk redraws. – supercat May 3 at 16:51
1

Given packaged component costs at the time, for a given performance target, it was cheaper to time division multiplex either a wider or faster memory bus than to procure dual ported chips (much lower volume and/or higher pin count packages, synchronization circuit costs. etc).

Pins were not free.

1
  • If I understand you correctly, it would have been cheaper to put 4464 chips on a 32 bits bus on the video side, than use double-ported 41264 on a 16 bits video bus? In the late eighties, I found out that the latter would cost 1.33x the price of former (which were used in VGA apparatus). But I've always thought that doubling the bus size is expensive, even if only between the framebuffer and the video shift register. – airman May 2 at 11:50

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.