Exercise 1: The 6502's One Genuine Divergence From RISC — Possible Solution ==================================================================== THE SPECIFIC DIVERGENCE ------------------------------ Per this chapter's own compare table and its "Why Neither Chip Is Really RISC or CISC" section, the divergence is REGISTER COUNT. Real RISC design, once formalized, generally concluded that a CPU should have MANY registers. The 6502 has the opposite — only 3 (A, X, Y) — which is the exact reverse of what later RISC theory would call for. WHY REAL RISC CHIPS WANTED MANY REGISTERS ------------------------------ Per this chapter's own explanation, the RISC-ideal reasoning for many registers is to REDUCE HOW OFTEN A PROGRAM NEEDS TO TOUCH MEMORY AT ALL. If a CPU has a large number of registers available, a program can keep many of its actively-used values sitting in fast on-chip storage simultaneously, minimizing slower trips out to memory. This is a deliberate STRATEGY specifically targeting memory-access frequency. WHY THE 6502 HAS FEW REGISTERS FOR A COMPLETELY DIFFERENT REASON ------------------------------ Per cpu8bit1-2's own explanation, the 6502's tiny register count traces directly back to the chip's $25 manufacturing cost target — fewer registers meant fewer transistors, meant a smaller and cheaper die. This has NOTHING to do with minimizing memory traffic; it's a straightforward transistor-budget constraint. In fact, cpu8bit1-4's own zero-page addressing trick exists specifically to compensate for NOT having more registers — meaning the 6502's actual design still needed to solve the same "avoid excessive memory access" problem RISC would later solve with abundant registers, but reached for a DIFFERENT solution (a fast memory region) precisely because the register-count route was closed off by cost, not chosen against on purpose. WHY THIS WORKS AS AN ANSWER ------------------------------ It identifies register count as the specific point of divergence (not a vague "the 6502 isn't perfectly RISC"), states the actual RISC-ideal reasoning behind wanting many registers (reducing memory traffic), and contrasts it precisely with the 6502's own real motivation (transistor cost, entirely unrelated to memory-traffic strategy) — showing the two philosophies arriving at opposite register counts for genuinely unrelated reasons.