1/7
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Design for Moore’s Law
Anticipate that hardware performance doubles about every 18–24 months, and design systems to take advantage of this growth.
Example: Adding electromagnetic aircraft catapults to carriers, enabled by more powerful reactors.
Use Abstraction to Simplify Design
Hide lower-level details by using layers of abstraction, making complex systems easier to build and understand.
Example: Self-driving cars reusing existing lane departure and cruise control systems.
Make the Common Case Fast
Optimize the part of the system that is used most often, since that gives the biggest performance gain.
Example: Express elevators in buildings that serve the busiest floors directly.
Performance via Parallelism
Improve performance by performing many tasks at once.
Example: Increasing the gate area on CMOS transistors to allow faster, parallel switching.
Performance via Pipelining
Break a task into smaller stages and overlap their execution, like an assembly line.
Example: Automobile manufacturing assembly lines.
Performance via Prediction
Guess future outcomes and speculatively work ahead, improving performance when guesses are correct.
Example: Navigation systems predicting position using wind or current information.
Hierarchy of Memories
Organize memory in levels (fast/small/expensive → slow/large/cheap) to balance speed and cost.
Example: Library reserve desk storing frequently used books for faster access.
Dependability via Redundancy
Increase reliability by adding backup components or systems.
Example: Suspension bridge cables using many parallel strands for strength.