COMPUTER ARCHITECTURE
cod. 03716

Academic year 2012/13
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
63 hours
of face-to-face activities
9 credits
hub:
course unit
in - - -

Learning objectives

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.
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 assembler.

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.
Randall Hyde, “The art of Assembly Programming”; an online handbook on assembly language: http://www.ce.unipr.it/didattica/calcolatori/docs/aoa.pdf.

Teaching methods

The course includes 60 hours of traditional classroom lectures and 12 hours of training in the laboratory.

Assessment methods and criteria

The course includes a written test on the topics of the course and a practical test of programming in assembler.

Other information

- - -