4 ms·
'...memory locations, which are just wires turned sideways in time' I hope I'm not the only one who finds this hilarious.
by DaniFong 18y ago
'...memory locations, which are just wires turned sideways in time'
I hope I'm not the only one who finds this hilarious.
- jcl 18y agoIt struck me as quite clever (perhaps too clever, which seems to be a common thread in these recent Thinking Machines articles...). His point, if I'm reading it correctly, is that we treat wires as an ideal and instantaneous transfer medium. In reality, however, wires take up physical space, so there are physical limits to the number and length of wires you can actually have. The more wires you use, the longer they need to be to route around each other, hence more time needed to transfer the data, breaking the abstraction. Analogously, a memory location ideally represents something you can dump data into at one time, then extract it instantaneously at a later time. In reality, however, processors need to address memory via the bus. With a single bus, processors will have to queue their requests -- resulting in longer "time wires" and a slower computer. The alternative is to have multiple memories/buses (more "time wires"), but since the buses are constrained by physical limits, the number of "time wires" you can have is constrained just like the number of real wires. So our abstraction of memory is broken -- the amount of time it takes to access a memory location depends on how many locations we need. You can see a similar result in today's machines, in the behavior of cache locality: if your algorithm tries to access too much data (many "time wires"), it overflows the cache and you're forced to wait (use longer "time wires"). Algorithms designed to exploit cache effects are sometimes an order of magnitude faster, illustrating the leakiness of our memory abstraction.
- DaniFong 18y agoNot to mention you still have to locate the things in 3space.
- ComputerGuru 18y agoIt struck me as quite clever (perhaps too clever, which seems to be a common thread in these recent Thinking Machines articles...). Just to put "recent" into perspective, this article is from 1981 :)