CPU Word Size & Address Width & Quasi-Facts
A few days ago I came across this clearly AI-generated tweet which is all fucking wrong. It's genuinely quicker to point out what they've got correctly because there wasn't a single thing in the tweet that is actually correct.
- The "XYZ" when people mention a "XYZ-bit CPU" refers to its word size, which I thought roughly refers to the size of operands a CPU's ALU can handle but turns out to be not that well-defined. People use the word because many things (e.g. ALU operand width, major register width, data line width) often unite under a single number.
- The highway is a shit analogy because data transfer does not work like highways. (EWD 1036)
- There has never been a point in time within the history of computing that word size has a direct relation with the address width. The fact that they are both determined by the architecture of the CPU does not imply that they determine each other.
- The bottom "verdict" part - it's so wrong it's not even wrong, it's just saddeningly cringe.
Incorrectly calling a real-life design decision thing as a limited-by-theory thing is one of the things I personally have an issue with the most. Theoretically there really isn't anything that stops me from designing a 32-bit CPU with 64-bit address width by doing what people have done with 8-bit CPUs as long as I accept whatever penalties that might follow; heck, I can even go backwards and make the address width 29-bit (which VAX-11/780 actually did). It's my own design, who's there to stop me? And then people are starting to say things like "64-bit is not unlimited it's 16EBytes". At first I wondered where did this number come from so I asked Grok. Grok said it's because 264 is around 16EBytes. I asked how does the 264 number come about, it told me that it's because "a 64-bit pointer is a 64-bit number" (which is technically a tautology that gives no useful info - of course a 64-bit thing is a fucking 64-bit thing), weirdly fixated itself on how people "don't actually uses the whole 64-bit", and made absolute no mentions of the 64-bit address line assumption it (and whoever's talking about 16EBytes) did. At the end it did not teach me anything because I have to realize and re-confirm the fact that there's no intrinsic relation between word size and address width myself (and even after that I struggled to get Grok to agree with me), and when I realized this I had some of the most intense anger I've had in a while; like, what do you mean people think this is okay to take as a proper explanation of things, this level of low quality and stupidity parroting? Do they not care about being correct and do they not actually reflect on their thought, even if just for a minute?
I don't have a proper ending to this blog post, I just want to say when I realized what's actually going on I was very triggered, and to me it's substantial enough that I had to write it down. The clearly AI-generated tweet image (I still can't get over the fact that it's so fucking wrong), the people who made the same mistake as the AI, everything. I hate these "quasi-facts" - facts that are technically correct facts but nothing other than myths and incorrect ideas on a higher level. Is this not the "slop" feel some people feel when they look at AI-generated social media posts? What will happen when all the things that surround us are nothing but this kind of quasi-facts? At the very least a part of me is genuinely worried.
Last update: 2026.1.17