Modern Computer Architectures

ΕΠ38 - Modern Computer Architectures

General Information

School: Digital Technology

Department: Informatics and Telematics

Level: Undergraduate

Course Title: Modern Computer Architectures

Course id: ΕΠ38

Type: Core Course 

Semester: 6

Teaching and Examination Language: Greek

Is the course offered in Erasmus: Yes

Course web-page: https://eclass.hua.gr/courses/DIT207/

Activities

Lectures (Theory): 3,0

Lab lectures: 0,0

ECTS credits: 5,0

Learning Outcomes

Modern computer system architectures are highly heterogeneous as they have moved into the age of multicore systems and the use of specialized hardware accelerators. The aim of the course "Modern Computer Architecture" is to offer students the necessary knowledge and skills at the level of micro-architecture required to be able to understand in depth the design of such modern computer systems and extend the knowledge acquired in the compulsory 2nd semester course "Computer Architecture". In addition, modern architectures of specialized accelerators, e.g. GPU, FPGA, TPU, etc., will be examined. Through laboratory exercises, a further acquaintance with the HDL Verilog material description language and with concepts such as programming of heterogeneous architectures and composition of material from a high algorithmic level (High-Level Synthesis) is made.

General Skills

  •       Retrieve, analyze and synthesize data and information, with the use of necessary technologies
    ●        Adapt to new situations
    ●        Make decisions
    ●        Work autonomously
    ●        Work in teams
    ●        Advance free, creative and causative thinking

Course Content

- Processor performance - Micro-architectural improvements, data path design with pipeline.
- Control unit design, data hazards, forwarding, MIPS in Verilog
- Control / branching hazards, static branch prediction, branching delay reduction, dynamic branch prediction.
- Memory hierarchy and caches, measure and improve cache performance.
- Parallel computing, multi-core processors - distributed memory multiprocessors
- GPU architecture and programming
- Architecture composition and programming / design of FPGA systems 

Learning and Teaching Methods - Evaluation

Teaching methods: face-to-face

Use of ICT: 

- Use of specialized digital circuit design software for FPGAs
- Use of specialized compilation software for Cuda, OpenCL
- Use of Unix operating system (local and remote)
- Learning process support through the electronic platform e-class 

Course Organization

 

Activity

Semester work load

Lectures

27,0

Lab exercises

12,0

Individual of group projects

 

Lab report preparation

 

Thesis 

30,0

Independent Study

56,0

Total

125

Assessment

I. Written final exam (60%) which includes:
-        Multiple choice questions
-        Problem solving
- Evaluation of theory elements
II. Individual or Group Work (40%)

Literature

"JOHN L. HENNESSY, DAVID A. PATTERSON:" COMPUTER ARCHITECTURE: A QUANTITATIVE APPROACH ", 6th American Edition.

WILLIAM J. DALLY - R. CURTIS HARTING: "DIGITAL DESIGN".

 

ΙΕΕΕ Transaction on Computers, IEEE Computer Architecture Letters, ACM Transactions on Architecture and Code Optimization, ACM Transactions on Computing Systems