COMPUTER ARCHITECTURE
cod. 13598

Academic year 2009/10
1° year of course - First semester
Professor
Academic discipline
Informatica (INF/01)
Field
Formazione informatica di base
Type of training activity
Basic
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. <br />
The course is structured into frontal lessons and a set of directed exercitations on logic networks and IA-32 assembly programming. <br />

Prerequisites

- - -

Course unit content

<strong>Part I – Introduction to computing systems </strong><br />
Computing systems <br />
Historic and technological evolution <br />
Architecture and organization of modern computers <br />
System levels and models <br />
Binary, hexadecimal and octal numeric systems <br />
Binary representation of real numbers <br />
Alphanumeric information and its representation <br />
Representation of sounds, images and videos <br />
<br />
<strong>Part II – Logic level </strong><br />
Algebra of networks <br />
Elementary circuits <br />
Canonical forms and transformations <br />
Logic networks minimization <br />
Combinatorial networks <br />
Sequential networks <br />
<br />
<strong>Part III – Functional level <br />
</strong>Relationship between the functional level and micro-architectures <br />
Organization of a modern computer <br />
Instructions set <br />
The CPU <br />
Memory systems <br />
The I/O subsystem <br />
<br />
<strong>Part IV – IA-32 Architecture and assembly language <br />
</strong>IA-32 architecture <br />
The CPU IA-32: memory management, registers, flags <br />
IA-32 instructions set <br />
Modern extensions to the instructions set: MMX, 3DNow!, SSE, SSE2 <br />
Assembly programming and interface with the C level <br />
<br />
<strong>Part V – Software level <br />
</strong>Basic introduction to operating systems <br />
Basic introduction to compilers for C-like languages <br />
Assembly code generation for a subset of the C language <br />
<br />
<strong>Part VI – Micro-architetture level <br />
</strong>The micro-architecture: hardwired and micro-programmed design <br />
Micro-programmed architectures <br />
Basic introduction on a micro-programmed architecture for NMOS 6502 CPUs <br />
I/O management at the micro-architecture level: interrupts and DMA <br />
Interaction with the software level <br />

Full programme

- - -

Bibliography

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

Teaching methods

Classes and laboratories are located at Dipartimento di Matematica. <br />
<br />
Laboratory exercizes share time slots with classes. <br />
<br />
Classes are allocated according to the calendar of Facoltà di Scienze MM.FF.NN. <br />
<br />
Dates of exams will be available at <a href="http://informatica.unipr.it">http://informatica.unipr.it</a> <br />
<br />
Meetings with lecturers can be requested via e-mail.

Assessment methods and criteria

- - -

Other information

- - -