Thread: 68k details
View Single Post
Old 24 August 2018, 22:35   #201
Bruce Abbott
Registered User

Bruce Abbott's Avatar
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 254
Originally Posted by plasmab View Post
It doesnt limit it on the Amiga accessing chip ram. But it does accessing fast memory.
True, and that means a 68000 running at 7MHz doesn't make best use of possible Fast RAM bandwidth. Which was a good thing. Why? because having no great performance improvement with Fast RAM meant that developers didn't have a great incentive to use it, and users weren't forced to buy more expensive machines to run the latest software.

Contrast this with what happened in the PC world. The original PC ran an 8 bit bus at 4.77MHz, and software was designed to match that speed. The next development was XTs running at up to 10MHz, which needed a 'turbo' button to reduce speed to 4.77MHz for compatibility. Then came 16 bit 286s, which often also had a button to slow them down to 6 or 8 MHz. This trend continued with the 386DX/SX and 486, so developers had a plethora of machines with different processing speeds to cater to. With a choice of 'dumbing down' to the XT, producing multiple versions optimized for different machines, or just developing for the latest hardware, many developers took the latter route - or worse, produced sluggish bloatware that would only run at an acceptable speed on the next generation hardware. You could say this was good because it drove the development of ever more powerful hardware, but that came at high cost to manufacturers and users, who were constantly trying to keep up.

Commodore could have taken the same route, with each new machine incorporating the latest 68K CPU and fastest RAM running at max bus speed. But that would have continued to make each new Amiga too expensive and incompatible with a large proportion of the existing software base (which was the biggest problem the Amiga faced from day 1). At the same time that some Amiga users were complaining about the A500+ not running all games or the A600 missing a numeric keypad, trying to get a game to run properly on a PC was often a nightmare. This was a very common complaint from PC users and a major selling point for the Amiga.

From the developers and users point of view, compatibility is more important than wringing the last drop of performance out of the CPU. The Amiga's custom chips were its real advantage, so so breaking compatibility to get an extra 20% CPU speed would have been counterproductive. IMO Commodore made the right choice here. Other machines that did attempt to max out CPU performance suffered as result. The C16/Plus 4 was a good example - nobody cared that the CPU was faster, only that C64 compatibility was compromised. The C128 had a fallback mode that was almost 100% compatible, but the higher price killed it.

you're assuming the CPU only uses 16 bit wide instructions.. thats not always the case. often it has to wait for the operand to even start the execution (e.g. a full address load is potentially 3 x 16 bits wide... = (4+4+4) 12 clock cycles ? whereas with a faster bus you'd get that in 2+2+2+(2 for execution) = 8.
Yes, it's true that the 68000 is not as efficient as it could be. So what? Neither was the 6502 or the Z80, but both were very popular CPUs that did a good job. Bus efficiency was improved in later version of all these processor lines, yet the original chips still do a good job in retro and DIY machines. The key is optimizing the entire system, not getting hung up on minor inefficiencies in one area that don't make a big difference overall.
Bruce Abbott is offline  
Page generated in 0.04627 seconds with 11 queries