The unifying principle of this course has been parallelism:
We live in interesting times--by the end of your career, it is clear that massive and radical changes will have occurred in both hardware and software. This is our chance to shape the future!
Silicon semiconductors have given us a very good run, but they're facing major challenges in the next few decades. The high switching voltage of silicon, about 0.6 volts, is a limiting factor in reducing energy consumption of modern chips. There are also serious obstacles to scaling semiconductor dopants below the few-nanometer (dozen-atom) regime, and maintaining reliability despite electromigration, especially at elevated temperatures.
We've radically switched computing technologies every few generations for the past 200 years, so it's quite possible for another radical transformation to occur.
Technology | Past | Present | Future | Issues |
Electronic digital computer | Sequential computer (1950s) | Multicore (2000s) | Many-core? | Programming model is restrictive. Data movement problems such as energy and race conditions dominate performance. |
Hydraulic computer | MONIAC, hydraulic automatic transmission (1940s) | Microfluidics | Nanofluidics? | Viscosity limits cycle rates to KHz range. Reactant recycling is difficult. |
Mechanical computer | Babbage's Analytical Engine (1830s) | Keyless lock | Viscosity determines operating rate. Wear limits operating lifetime. Routing mechanical power via line shafts is harder than routing electricity or fluids. | |
Electromechanical computer | Hollerith's tabulating machine (1890 census) | Piezoelectric transistors | Nano electro-mechanical systems? | Mechanical creep affects electrical properties. |
Analog computer | Tube amplifiers, the gears of war | Probabilistic Processor | Quantum computers? | Noise and nonlinearity corrupt the computation results. |
Networked computer | Mainframe & terminals (1970s) | Cloud server & phone apps | Skynet? | Latency, scalability, and reliability. |
CS 441 Lecture Note, 2014, Dr. Orion Lawlor, UAF Computer Science Department.