Ability to optimize programs to reduce execution time and cache misses.
Ability to modify a basic CPU design to improve its performance.
Memory Hierarchy Modeling
Ability to create a software simulator that accurately models a cache memory.
Understanding Security Vulnerabilities
Ability to create software that exploits common security flaws in example programs.