CESE4085 Modern computer architectures

The course emphasises on theoretical aspects and practical trade-offs of computer architecture and organization of the newest microprocessors currently on the market, and the latest developments in computer architecture research. Quantifying design decisions in terms of performance and cost. Subjects: basic principles, instruction set architectures, pipelining and pipelining consequences, multiple-issue (superscalar and VLIW) processors, multimedia SIMD extensions, out-of-order execution, branch prediction, speculative execution, advanced memory hierarchies, pre-fetching, multithreaded processors and multiprocessors, energy consumption, and reliability.

Study Goals

  1. The student can operate with concepts and notions related to:
    •  Instruction sets: characteristics, functions, formats, addressing modes;
    •  Processor structure, functions, and pipelining;
    • Instruction level parallelism and its static and dynamic exploitation;
    • Distributed memory hierarchy;
    • Multiprocessors.
  2. Given a set of functional and non-functional requirements, the student can select the most appropriate architecture among a set of different architectures of modern microprocessors.
  3. She/he can optimize code for a particular processor using, e.g., code scheduling and loop unrolling.
  4. She/he can perform design space exploration and quantify design decisions in terms of performance, energy consumption, cost, flexibility, programmability, predictability for various processor and multiprocessors building blocks and architecture features, e.g., instruction set, predication vs. speculation, cache vs. scratch-pad memory, in-order/out-of-order execution, message passing vs. shared memory, etc.
  5. She/he can study recent advances in computer architecture, classify research papers, and report about them.

Teachers

S. Cotofana

S. Wong

Last modified: 2023-11-04

Details

Credits: 5 EC
Period: 0/4/0/0