Syllabus
Review of Computer Design – Measuring performance Instruction level parallelism – Branch prediction techniques – Static & Dynamic scheduling Speculation – Limits of ILP. Thread-level parallelism, multi-issue, and multi-core processors Homogenous and Heterogenous multicore systems. Shared and Distributed memory -Transaction Memory issues Memory hierarchy design – Cache coherence, Memory wall problem – Advanced Cache Memory design – Virtual Memory, Storage Systems – Ware-house Scale Computers Power optimization- Dynamic Voltage Frequency Scaling – Multi-core architectures for embedded systems Fault Tolerant aspects for multi core systems- Programming environments for multi-core.