Worshipping at the altar of color clock
Back in that day, everything was built around the NTSC color clock frequency of 3.579545 MHz. Everything from the Atari VCS to the C64 made ample use of it, because some iteration of your product would inevitably need to talk to a commodity color NTSC display operating at that frequency.
This will come up; so FYI the way you divide by 3.5 is by starting with a crystal at 4x the color clock (14.31818) and dividing by 14.
- The Atari VCS/2600 used 1.19 MHz -- color clock / 3 -- crystal / 12
- The Atari 400/800 used 1.79 MHz -- color clock / 2 -- crystal / 8
- Most of the rest used 1.022 MHz -- color clock / 3.5 -- crystal / 14
By "rest" I mean Apple II family, Commodore Pet, Vic, C64.
Note that most of these systems actually overclocked the CPU. I can vouch that Apple did not use a 2 MHz version of the 6502 chip; they used the 1 MHz version.
The 8088 master clock operates at 4x RAM cycle speed
Mind you, all these systems above have one system clock per memory cycle. The Intel philosophy was quite different, with a fast master clock, but memory fetches only occurring at 1/4 of this speed.
So the IBM PC clock was chosen, still worshipping the color clock, at 4.77 MHz -- crystal / 3.
Wow, that sounds fantastic, right? IBM, big gorilla of the computer biz, comes out with a processor seemingly an order of magnitude faster than those clunky 1.02-1.79 MHz 6502 systems. Yeah, hold on. It has an 8-bit bus, and memory operations happened at 1/4 this frequency, at 1.19 MHz -- crystal / 12.
The IBM PC had the memory throughput of an Atari 2600.
That's not so awesome. Nor was it intended to be. IBM's market strategy was not to be "Amiga", outshining the competition in raw performance. Much the opposite, they wanted to avoid at all costs cannibalizing sales of their larger and much, much more expensive minicomputer line e.g. Series/1. The purpose of the IBM PC was to put I B M
on a conservatively designed system -- and let IBM's unbelievable reputation and market power sell it. That can't be overstated - they had market dominance of (larger-than-Apple-II) computers like Google has dominance in search. My dad was an IBM salesman, and there was an adage universally known:
Nobody ever got fired for buying IBM.
Seriously. It was just like that. If your mainframe or minicomputer project went sideways for any of a variety of reasons, scuttlebutt is "this wouldn't have happened if you had bought IBM". (even if that had nothing to do with it). So the business desktop market was a vacuum, avoiding perfectly useful offerings by Tandy, Commodore and Apple, holding its breath for 3 magic letters.
All that to say, performance was not Job One.
Why would IBM give any care at all about color clock?
After all, it grew up as a business machine; many systems actually used the Monochrome Display Adapter (which had much higher resolution than NTSC); many monitors were RGBI for which color clocks did not matter, and IBM's dabble in the home market with the PCjr was a fiasco.
True, but nobody knew that, at the time.
IBM did not know what it would take for the PC to adopt. But they certainly knew the home computer market was proven. So they wanted to "keep their options open" for a side-step into the home market, where they MUST by necessity play nice with NTSC. Costs must be kept low in such a system - which means doing what everyone else does: sharing main RAM with the video card, which in turn requires memory and therefore CPU clock to be in syncopation with NTSC color clock.
As such, choosing 1.19 MHz memory clock was a conservative, safe choice; as made by the Atari VCS/2600.
The choice of 4.77 MHz instead of 5 MHz only cost 4.5% performance. You can argue that they could have architected the system for 4.77 MHz and then just used a faster crystal in the 5150 PC (planning to downsize the crystal to 4.77 in the future imaginary consumer PC). However, in that era, the prevailing view was if you change hardware, it breaks existing software, which as a rule were written to run on bare metal and software routines as-shipped. (think Apple's Sweet16 and FP routines, which were removed to fit AppleSoft BASIC). So they wouldn't want to risk it for 4.5% performance.
They did end up doing that "future imaginary consumer PC" and making use of those concepts, but far past the time of its relevance (technical or market). Maybe they were thinking "nobody ever got kicked out of bed for buying IBM".