Computer Architecture


This course covers advanced techniques for the effective execution of computations and programs. It focuses on the design of Instruction Set Architectures and the quantitative evaluation of design options using benchmarks. Then it covers advanced techniques for maximizing the overlapped execution of instructions, speculative and out-of-order execution, etc, while maintatining the illusion of in-order instruction execution as specified by the programmer/compiler. Then it covers advanced memory system design (main memory and caches), the effective HW support of virtual memory (virtual address translation, TLBs, etc), multicore- and multithreaded-processors, and IO systems.


Objectives

Advanced techniques for the deisign of computing systems and memory systems. Separation between specification and implementation techniques used internally


Prerequisites

Computer Organization (suggested)


Syllabus

Quantitative evaluation of computer systems, evaluation using benchmarks, Instruction Sets and their impact on implementation, advanced pipelining: superscalar, scoreboard, Tomasulo. Speculative execution and branch prediction. Cache memories and their design parameters, virtual memory and its efficient hardware support, TLBs. Vector, multi-core and multithreaded processors. I/O systems.

COURSE DETAILS

Level:

Type:

undergraduate

(A-)


Instructors: DIONISIOS PNEVMATIKATOS
Department: School of Electronic and Computer Engineering
Institution: Technical University of Crete
Subject: Computer and Electronic Engineering
Rights:

Visit Course Page

SHARE THIS COURSE
RELATED COURSES