CMPUT 429/530 - Computer Systems and Architecture

Overview

An investigation of computer system design concepts including requirements, specifications, implementation and modification of computer architectures. Instruction sets, arithmetic/logic unit design, bus structures, I/O structures, control organization and implementation. Predictors used for branches and within the memory hierarchy. A study of super-scalar, deep-pipelined, multi-threaded, and muti-core architectures.

Objectives

  • Understand the tradeoffs in the design of a computer
  • Understand the design of contemporary computer systems
  • Learn to evaluate performance based on simulation
  • Write efficient programs through the understanding on the roles of compilers, programming language, instruction-set architecture, and hardware design on performance and programming productivity

Course Work

  • Homework
  • Lab Exercises
  • Exams