What has made computing pervasive? What is the backbone of the computing industry?
- Computation: Although we had computation in calculators before, it is about programmability!
- Communication: Although we had phones to do this, we can do more (social media, games, news…) and it is about networking!
- What has made computing pervasive is its programmability and networking capability
What makes computers programmable?
Model of computation gives us programmability.
Von-Neumann Model: Notion of computer + Execution model
- Computer is a collection of components
- Memory (Random Access Memory: go anywhere in the memory and grab data)
- Central Processing Unit
- Control Unit: in charge of giving the instructions
- Arithmetic Logical Unit (ALU): does the arithmetic logic operations on the data
- Input/Output System: provides data from the outside
- Memory that stores program and data
- Program instructions execute sequentially (sequential execution paradigm)
- Program counter (PC): keeps track of the current instruction
Programmability vs Efficiency
- Pipeline: Instruction Fetch, Decode, Execute, Memory, Write Back
- We do a lot of extra work to support programmability, and this lets us use economy of scale to reduce the price. As a result, commoditize computing!
* Specialized hardware is similar to ASIC. ASIC does one application, specialized hardware does more than one.
What is the difference between the computing industry and the paper towel industry?
- Computing industry is an industry of new possibilities.
Can we continue being an industry of new possibilities?
- Moore’s law
- Doubling number of transistors every two years or 18 months
- Build higher performance general-purpose processors
- This itself is of no use; computer architecture offers abstraction and generalization to help programmers write codes.
- Dennard scaling: provides the physics and equations on how shrinking device sizes shrinks voltage, current, current density, thus makes power density a constant
- Transistor: two dimensional voltage controlled switch
- Power = Capacitance x Frequency x Voltage^2
Power Density = Power / Area
- 0.7x dimension
- 0.7x capacitance
- 1.4x frequency
- 0.7x voltage
What is the catch?
- End of Dennard scaling
- Pushing down threshold voltage exponentially increases the leakage current. So voltage cannot get under 0.9 volts.
- Lower capacitance is impossible because we cannot reduce the distance
- We have to stop scaling the frequency.
- Dark Silicon
- If you reduce the dimensions of transistors but not the power and reducing frequency does not compensate for the lack of power, you cannot turn all of them on.
Single-core era to multicore era
- Two issues with the idea
- Can we continuously increase the number of cores?
- How will it be programmed?
- It is a stopgap solution
Radical departures from conventional approaches are necessary
- Bio computing, quantum computing
- Specialization and co-design, approximate computing