4 ms·
Funny piece, but some parts are terribly uninformed of the actual history. This part irks me greatly: > "Why is it so helpful to have the data and instruction
by FullyFunctional 3y ago
Funny piece, but some parts are terribly uninformed of the actual history. This part irks me greatly:
> "Why is it so helpful to have the data and instructions share the same memory? Well, for starters, it's simpler, cheaper, and it made execution faster because stuff is all closer together. It was also convenient to access stuff in a single address space rather than having separate schemes."
Why are ALL µprocessors today then using separate instruction and data cache? For early pre-"von-Neumann" computers, memory was an extremely precious resource and you wouldn't waste it some something as frivolous as almost-completely static code. Only once memory became large/cheap enough did the (not-so-surprising) idea of stored-program become practical. The benefits were many: self-modifying code (for good reasons very popular in those days, even much younger PDP-8 can't be used without it), moving more complexity of IO and bootstrapping into code, and eventually, code to make code.
Another point that is glossed over is that none of these technology changes were a slam dunk. For example, in the early days, transistors were FAR from the 1000X faster claim; they were limited, unreliable, and expensive and not all in the industry believe they would ever take over "proven technology like radio tubes". Same, it actually took a good while before silicon memory replaced core-memory. A more recent example: CMOS was originally the slow technology, only suitable for watches and cheap calculators.
Source: countless books on the early history of Z1-3, ENIAC, Cray, Intel, etc.