72937 - Computer Architecture M

Academic Year 2022/2023

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Computer Engineering (cod. 5826)

    Also valid for Second cycle degree programme (LM) in Electronic Engineering (cod. 0934)

Learning outcomes

Focus is on quantitative aspects of computer architecture.
Expected outcome is understanding of:

  • instruction level parallelism and latency tolerance
  • memory hierarchy
  • Uniform Memory Access (UMA) architectures
  • protection and task management
  • architecture impact on power and performance at processor and system level
Within the course the student will practice abstraction as the most effective method to handle the complexity of modern computer architectures. The final test verifies the ability to apply methods and concepts offered by the course.

Course contents

Processor Architecture:

  • Instruction set architecture for multitasking protected systems (Intel IA32 architecture)
  • Instruction level parallelism; dependencies; hazards; hazards avoidance
  • superscalar architectures; superpipelining and underpipelining; non blocking architectures; out of order execution (Tomasulo approach); speculative execution;
  • Introduction to simultaneous multithreading, logical processors, multicore architectures and virtualisation
Memory Hierarchy
  • Goals, reference model and performance parameters
  • memory hierarchy in the Intel IA32 architecture: segmentation, virtual memory, main memory and caches
  • address mapping, write policies, replacement policies; implementation techniques and performance analysis
  • the MESI protocol for memory coherence in shared memory multiprocessor architecture (UMA architectures)
System Architecture
  • Interleaved memory access in multibyte data bus systems
  • Uniform Memory Access (UMA) architectures, and introduction to NUMA multicore based architectures
  • Bus hierarchy and bus protocols
  • Multimaster systems with DMA based I/O: hardware/software power/performance perspective

Readings/Bibliography

J. L. Hennessy, D. A. Patterson, Computer Architecture: a quantitative approach, Sixth Edition, Morgan Kaufmann (https://www.elsevier.com/books/computer-architecture/hennessy/978-0-12-811905-1)

David J. Greaves, Modern System-on-Chip Design on Arm, ARM Education Media (https://www.arm.com/resources/education/books/modern-soc)

 

Teaching methods

Slides stored in the platform (IOL) are presented and interactively discussed in the classroom.

Classroom lectures may be complemented or replaced by online interactive lectures.

Assessment methods

Assessment shall be based on the outcome of a written test and an optional oral exam.

Teaching tools

In case of sanitary emergencies classroom lectures might be complemented or replaced by online interactive lectures on Microsoft Teams.

Office hours

See the website of Andrea Bartolini