Advanced Computer Architectures
Presentation
This curricular unit completes the subjects previously addressed in the Course Units of Digital Systems and Computer Architecture. The concepts addressed are of higher level and the topics are current and actual - used in practice in nowadays CPUs. The understanding of these advanced concepts of computer architecture makes students aware of the limitations and possibilities of the hardware. As a result, they will be able to create more efficient programs, capable of taking advantage of the hardware's capabilities and taking into account any hardware limitations.
Part of this Programme
Computing Engineering
Level of Qualification|Semesters|ECTS
| Semestral | 6
Year | Type of course unit | Language
2 |Mandatory |Português
Code
ULHT260-13398
Recommended complementary curricular units
Digital Systems Computer Arquitecture
Prerequisites and co-requisites
n/a
Professional Internship
Não
Syllabus
1. Introduction
2. The processor
Main functional units
Pipeline and hazards
Exceptions
Instructionlevel
parallelism
3. Memory hierarchy
Storage devices and technology: magnetic disk, flash memory
Cache memory
Virtual memory
Dependability in the memory hierarchy
Parallelism: cache coherence, RAID
4. Parallel architectures
Clock speed, power dissipation, and memory limits
Parallelism and the limits to performance improvements
SIMD and vector processors
Hardware multithreading
Multiprocessor architectures¿ clusters and grid computing.
GPUs
Performance measurement
5. Virtualization
Origin and definition of the virtual machine concept
Hypervisor
Implementation variations
System virtualization: processor, memory, and peripheral devices (I/O)
Objectives
This curricular unit aims to present the recent evolutions in Computer Architecture (multicore processors, GPUs, virtualization support), in order to provide students with a detailed comprehension of its structure and functioning. These evolutions are responsible for the current advances observed at functional and performance levels, in infrastructures, operating systems and applications. At the end of this curricular unit, the students shall detain knowledge about the hardware components of a modern computer from a functional point of view. This competence is directly applicable in the hardware and systems administration realms, and indirectly applicable in the software realm ¿ allows to educate future computer engineers who take software analysis, design and implementation decisions that take advantage from the hardware capabilities and/or take into account eventual limitations thereof.
Teaching methodologies and assessment
Given the announced goals, the used methodology is based in two fundamental aspects: (1) Exposition of the main topics of the program, leading learners to comprehend the new concepts recently introduced in processor architectures. Students are encouraged to perform their formative course autonomously, based in previous acquired knowledge, complemented by new acquired elements. (2) Orientation towards open learning, based on doing and research, through the conception and programming of concrete functional modules based on the microprocessor ATmega328P, and aided by breadboard, LEDs, temperature sensors, and other electronic components. All the classes are in-person. The assessment is continuous, based in theoretical tests (50%) and in the results obtained in laboratorial exercises, which are performed across the semester (50%). Each component is subject to a minimum grade of 9.5 points (out of 20).
References
Office Hours
Nome do docente Horário de atendimento Sala