How God Created the Computer
In the beginning, God created the bit. And the bit was a zero; nothing.
On the first day, He toggled the 0 to 1, and the Universe was. (In those days, bootstrap loaders were simple, and "active low" signals didn't yet exist.)
On the second day, God's boss wanted a demo, and tried to read the bit. This being volatile memory, the bit reverted to a 0. And the universe wasn't. God learned the importance of backups and memory refresh, and spent the rest of the day ( and his first all-nighter ) reconstructing the universe.
On the third day, the bit cried "Oh, Lord! If you exist, give me a sign!" And God created rev 2.0 of the bit, even better than the original prototype. Those in Universe Marketing immediately realized the the "new and improved" wouldn't do justice to such a grand and glorious creation. And so it was dubbed the Most Significant Bit, or the Sign bit. Many bits followed, but only one was so honored.
On the fourth day, God created a simple ALU with 'add' and 'logical shift' instructions. And the original bit discovered that by performing a single shift instruction, it could become the Most Significant Bit. And God realized the importance of computer security.
On the fifth day, God created the first mid-life kicker, rev 2.0 of the ALU, with wonderful features, and said "Screw that add and shift stuff. Go forth and multiply." And God saw that it was good.
On the sixth day, God got a bit overconfident, and invented pipelines, register hazards, optimizing compilers, crosstalk, restartable instructions, microinterrupts, race conditions, and propagation delays. Historians have used this to convincingly argue that the sixth day must have been a Monday.
On the seventh day, an engineering change introduced UNIX into the Universe, and it hasn't worked right since.
|