Computer systems organization from a designer’s point of view; assembly language; addressing, stacks, argument passing, arithmetic operations, decisions, modularization; input/output operations and interrupts; memory hierarchy and cache memory; pipeline design techniques; super-scalar CPU architecture; parallel architectures.