Instruction Level Parallelism:
Basic concepts of pipelining,Arithmetic pipelines,Instruction pipelines,Hazards in a pipeline: structural, data, and control hazards,Overview of hazard resolution techniques,Dynamic instruction scheduling,Branch prediction techniques,Instruction-level parallelism using software approaches,Superscalar techniques,Speculative execution,Review of modern processors /*The objective is to explain how ILP
techniques have been deployed in modern processors*/,Pentium Processor: IA 32 and P6 microarchitectures,ARM Processor.
Memory Hierarchies:
Basic concept of hierarchical memory organization,Main memories,Cache memory design and implementation,Virtual memory design and implementation,Secondary memory technology,RAID.
Peripheral Devices:
Bus structures and standards,Synchronous and asynchronous buses,Types and uses of storage devices,Interfacing I/O to the rest of the system,Reliability and availability,I/O system design,Platform architecture.
Thread Level Parallelism:
Centralized vs. distributed shared memory,Interconnection topologies,Multiprocessor architecture,Symmetric multiprocessors,Cache coherence problem,Synchronization,Memory consistency,Multicore architecture,Review of modern multiprocessors.
Process Level Parallelism:
Distributed computers,Clusters,Grid,Mainframe computers.