-
Moore‘s Law
-
Reliability
-
Memory Wall
-
Programmability Wall
-
Design complexity
-
Power/energy constraints
-
Programmability Wall
-
Tradeoffs
-
Three key components of computing: Computation, communication, storage (memory)
-
von Neumann model of computation
-
Stored program
-
Instruction pointer
-
Sequential instruction processing
-
Data flow model of computation
-
Precise state
-
Barrier synchronization
-
Relational and conditional operations
-
Control versus data-driven execution
-
Instruction set architecture
-
Microarchitecture
-
The Connection Machine
-
Bit serial, ripple carry, carry lookahead adder
-
High-level overview of hardware exposure (we‘ll go into these in more detail in future lectures): pipelining, out-of-order, memory access scheduling, speculative execution, superscalar processing, clock gating, caching, prefetching, voltage/frequency scaling, error correction
-
Very Large Instruction Word (VLIW) processors
-
Design points: Cost, performance, maximum power consumption, energy consumption, availability, reliability and correctness, time to market