The architecture course offers a comprehensive overview of current topics in computer architecture and their consequences for the programmer: from the basic Von Neumann schema to its modern-day expansions. Understanding hardware-software interaction allows us to better use all features of available computer hardware and compilers. Specific architectural features are discussed (such as execution ports, branching algorithms, etc), as well as instruction sets, compilers, memory operation and architecture, fundamentals of floating point and acceleration. Hands-on labs are included.
Concepts:
-From the basic Von Neumann model to modern processors
-Scaling through the Seven Dimensions of Performance - from vectors to datacenters
-Controlling hardware options of computers
-Compilation
-GPU and accelerator techniques primer