COMPUTER ARCHITECTURE
cod. 13598

Academic year 2011/12
3° year of course - First semester
Professor
Academic discipline
Informatica (INF/01)
Field
A scelta dello studente
Type of training activity
Student's choice
48 hours
of face-to-face activities
6 credits
hub: PARMA
course unit
in - - -

Learning objectives

The course starts from the basics of information representation, passes through logic networks, to provide the basic architectural aspects of modern computers.
The course is structured into frontal lessons and a set of directed exercitations on logic networks and IA-32 assembly programming.

Prerequisites

None

Course unit content

Part I – Introduction to computing systems

Part II – Logic level

Part III – Functional level

Part IV – IA-32 Architecture and assembly language

Part V – Software level

Part VI – Micro-architetture level

Full programme

Part I – Introduction to computing systems
Computing systems
Historic and technological evolution
Architecture and organization of modern computers
System levels and models
Binary, hexadecimal and octal numeric systems
Binary representation of real numbers
Alphanumeric information and its representation
Representation of sounds, images and videos

Part II – Logic level
Algebra of networks
Elementary circuits
Canonical forms and transformations
Logic networks minimization
Combinatorial networks
Sequential networks

Part III – Functional level
Relationship between the functional level and micro-architectures
Organization of a modern computer
Instructions set
The CPU
Memory systems
The I/O subsystem

Part IV – IA-32 Architecture and assembly language
IA-32 architecture
The CPU IA-32: memory management, registers, flags
IA-32 instructions set
Modern extensions to the instructions set: MMX, 3DNow!, SSE, SSE2
Assembly programming and interface with the C level

Part V – Software level
Basic introduction to operating systems
Basic introduction to compilers for C-like languages
Assembly code generation for a subset of the C language

Part VI – Micro-architetture level
The micro-architecture: hardwired and micro-programmed design
Micro-programmed architectures
Basic introduction on a micro-programmed architecture for NMOS 6502 CPUs
I/O management at the micro-architecture level: interrupts and DMA
Interaction with the software level

Bibliography

David A. Patterson, John L. Hennessy. Struttura e Progetto dei Calcolatori, Zanichelli, 2006.
Giacomo Bucci. Architettura e organizzazione dei calcolatori elettronici - Fondamenti, McGraw-Hill, 2004.
William Stallings. Architettura e organizzazione dei calcolatori - Progetto e prestazioni, Addison Wesley, 2004.
Andrew S. Tanenbaum. Architettura dei Calcolatori, 5a edizione, Prentice Hall, 2006.
Randall Hyde. The Art of Assembly Programming, disponibile online.

Teaching methods

Classes and laboratory exercizes

Assessment methods and criteria

Written and oral exams

Other information

- - -