COMPUTER ARCHITECTURE
cod. 1005688

Academic year 2013/14
3° year of course - Second semester
Professor
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
Ingegneria informatica
Type of training activity
Characterising
42 hours
of face-to-face activities
6 credits
hub: PARMA
course unit
in - - -

Learning objectives

Knowledge and understanding
The purpose of the course to illustrate the basic mechanisms of operation of computing systems and in particular the interaction between the modules (CPU, memory, I / O) of a computer.

Applying knowledge and understanding
The student will acquire the ability to understand the basic functioning of modern CPUs.
Students completing the course will be able to write simple programs in Assembly.

Prerequisites

- - -

Course unit content

The purpose of the course is to give the students the basic concepts of the modern CPU architectures and computer systems. The course comprises the fundamental knowledge of the programming in language assembly. The concepts are exposed in a general way; when necessary it is made directed reference the architecture of the INTEL CPU family.
Program
Advanced Computer architecture
Introduction to the architecture of the modern CPUs.
CISC and RISC approaches.
Pipeline and superscalar architectures.
I/O subsystem: interrupt and DMA
* The Memories:
Memory systems hierarchy
Electronic and magnetic technologies. Memory technologies such as
DRAM, EPROM.
Main memory organization: characteristics and performance
Latency, cycle time, bandwidth, and interleaving
Cache memories (address mapping, line size, replacement and write-
back policies)
Virtual memory systems.
* Distributed and parallel architectures
Taxonomies: parallel machine models (SIMD, MIMD, SISD, MISD): Flynn’s
taxonomy. Amdahl law and performance parameters.
Multiprocessors and multi-computers: topology, tightly coupled and
loosely coupled architectures
Introduction to clusters.
* The Architecture of the CPU x86
Instruction formats
Registers and register files
Instruction types and addressing modes
Subroutine call and return mechanisms
Programming in assembly language
I/O techniques and interrupts

Full programme

- - -

Bibliography

* G.Bucci, Architettura e organizzazione dei calcolatori elettronici – Strutture avanzate, McGraw-Hill, 2006.
* Andrew S. Tanenbaum e Todd Austin, Architettura dei calcolatori. Un approccio strutturale, Pearson, 2013
* Randall Hyde, The art of Assembly Programming
http://www.ce.unipr.it/didattica/calcolatori/docs/aoa.pdf.

Teaching methods

The course includes around 30 hours of traditional classroom lectures and 15 hours of training in the laboratory.

Assessment methods and criteria

Written test to validate the student knowledge about computer architectures and assembly programming test.

Other information

- - -