It's possible one needs to have been involved in computing for as long as I have (I wrote my first program for an electronic digital computer in 1967, but I built a pressboard Geniac computer before my age broke into double digits, and I did outrageous things with my Minivac 601 relay computer in the early 1960s) in order to fully appreciate how difficult a problem computer memory was over most of the history of computing. In these days of 512 Mb DRAM modules, 300 Gb hard drives, and 2 Gb flash memory cards for digital cameras, it's easy to forget that until the 1980s, the cost of random access memory dwarfed that of any other computer component, and programmers were consequently required to expend enormous effort and cleverness squeezing programs into extremely limited memory.

The reason for this is simple. While a CPU can be simplified at the expense of speed, every bit of random access memory requires physically fabricating a discrete object to hold the bit. (I exclude here historical footnotes such as Williams tubes and EBAM [electron beam addressable memory] as they were even more expensive and/or limited in capacity). When each bit was a ferrite core, through which some bleary-eyed human had to string three tiny wires, the reason for the high cost was obvious. (In the mainframe core memory era, I worked for a year on a project which ended up consuming about ten man-years to write a new operating system for a UNIVAC mainframe machine solely to avoid the need to buy another half-megabyte memory module. This made a kind of bizarre economic [if not strategic] sense, since all of the salaries of the implementors added up to far less than the memory would have cost.)

Even a monolithic solid-state dynamic RAM chip requires that you photolithographically fabricate a capacitor cell for every bit, and that means that for a 256 megabit DRAM you need to make a quarter of a billion memory cells, and if one doesn't work, the chip is junk. It took human beings a great deal of intellectual effort and time to figure out how to do such an extraordinary thing, and we should never forget how recently it became possible.

When the first reasonably cheap medium-scale integrated circuits (for example, four NAND gates or two flip flops on a chip) appeared around 1970, it was obvious to me that it was now possible to build a simple CPU powerful enough to do useful things which would be inexpensive enough for an individual to afford. But memory was the sticking point—the only viable technology at the time was core memory, and enough core to do anything useful at all would cost more than a luxury car. It wasn't until almost 1980 that the advent of the 16 Kb dynamic RAM made it possible to envision affordable bulk memory. Memory is tough.

To read more, click here.