View Single Post
Old 24 April 2022, 08:39   #72
Bruce Abbott
Registered User
 
Bruce Abbott's Avatar
 
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,696
Quote:
Originally Posted by mc6809e View Post
I think in the end the problem for Amiga graphcs was lack of appreciation for using page mode for DRAM accesses.
It wasn't a problem. By not using page mode the timing was easier to work out, alignment wasn't an issue, and any DRAM was compatible. Compatibility became an issue in 1988, when a world-wide DRAM shortage occurred as a result of anti-dumping laws. Commodore may have saved a lot of money because they could use whatever DRAM was cheapest at the time.

And it clearly wasn't a problem in practice because the Amiga was mind-blowing compared to other home computers of the time. A product doesn't have to be the best it could possibly be to be successful, it just has to be significantly better than the competition (which could mean - cheaper, nicer, more accessible etc., not necessarily technically superior).

Quote:
The key to maximizing bandwidth for graphics (and CPU, for that matter) is exploiting DRAM's ability to produce after a RAS an entire page of bits to be accessed with CAS.

Amiga's interleved DMA is great for random accesses by mutiple devices, but for sequetial accesses it just isn't the best idea.
Typical perfectionist engineering talk. Have you seen the Lorraine prototype? Thousands of TTL chips spread over dozens of boards, which took years to create. Now imagine being told by some armchair engineer that that it 'just wasn't the best idea' because you didn't 'maximize bandwidth'. So you spend another year trying to create the 'perfect' design, and... the market has passed you by.

Yes, the Amiga's memory design is great for random access by multiple devices. So you can have plenty of stuff going on at once without having to worry about whether they will interfere with each other, important for multitasking and smooth gameplay. Contrast this with the C64, which has a pathetically slow disk drive because the display steals all the bandwidth on some lines (yet the C64 was the most successful home computer model of all time - because they shipped it like that rather than try to make it 'perfect').

Quote:
Exploiting page mode is what helped VGA take off.
VGA took off because it was on the PC. The PC didn't have a unified memory structure. RAM on the VGA card was separate from main board RAM, so it could easily run whatever timing it wanted. The downside of course was that memory on the VGA card couldn't be used for programs or peripheral DMA. The A1000 came stock with only 256k RAM. To do it the VGA way it would have needed twice as much RAM, of which nearly half would be wasted much of the time.

The Amiga probably could have combined unified memory with page mode video access, but the timing would be much more complex and it might only work with certain DRAM chips. The Amiga's designers apparently felt that page mode was too risky, or simply not necessary because they already had enough bandwidth for what they wanted.

Quote:
But consider using page mode for the very same memory in 1987. After the initial RAS and first CAS, each additional access to the page takes just 75ns -- more than three times as fast.
After the first access. Some kind of caching would be required to even out the timing, which might impact horizontal scrolling etc. Blitter and CPU access could also be a problem.

1987 was the year that IBM introduced VGA. By that time the Amiga's hardware design was mature, but had not yet been fully exploited. So what was mainly needed was not improved graphics, but software making better use of what was already there.

PCs were a different story. The limitations of CGA and EGA were painfully obvious, and PC gamers were hanging out for something better. That is what made VGA so popular in the PC world. Ironically the Amiga was constantly dismissed by PC users as being a mere 'games machine', until their own platform got suitable hardware. Then they immediately started crowing about how great their games machine was, when Amiga users had been experiencing its greatness for years.

Quote:
What's interesting is just how little improvement there's been to random access times for DRAM in the past 30+years. A random DMA in 1985 for the Amiga was 280 ns. For today's CPUs and GPUs a completely random access takes about 60ns. The huge gains in memory bandwith you see today are mostly due to accessing the same page as quickly as possible and filling caches once a row is opened.
Yes, and the circuitry to do this is extremely complex.

In my own designs I use SRAM. 70ns SRAM has been available for many years and is very cheap today (when you don't need huge quantities). Even back in the 80s I found the simplicity of SRAM made up for the increased price.
Bruce Abbott is offline  
 
Page generated in 0.04439 seconds with 11 queries