An introduction to computer architecture and how to evaluate the performance of workloads running on processor architectures. Topics include statically and dynamically scheduling instructions in a processor pipeline; speculative execution through branch prediction; hardware cache organizations, their policies, and prefetching; multi-core processors, cache coherence, and synchronization primitives. Additional topics may include other relevant architectures, such as GPUs or domain specific accelerators.
An introduction to computer architecture and how to evaluate the performance of workloads running on processor architectures. Topics include statically and dynamically scheduling instructions in a processor pipeline; speculative execution through branch prediction; hardware cache organizations, their policies, and prefetching; multi-core processors, cache coherence, and synchronization primitives. Additional topics may include other relevant architectures, such as GPUs or domain specific accelerators.