CALCOLATORI ELETTRONICI
cod. 03716

Anno accademico 2011/12
3° anno di corso - Secondo semestre
Docente
Settore scientifico disciplinare
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
Ingegneria informatica
Tipologia attività formativa
Caratterizzante
72 ore
di attività frontali
9 crediti
sede:
insegnamento
in - - -

Obiettivi formativi

Lo scopo del corso quello di illustrare i meccanismi di base di funzionamento dei sistemi di calcolo e in particolare l'interazione fra i moduli (CPU, memoria, I/O) di un calcolatore.
Lo studente acquisirà la capacità di comprendere il funzionamento di base delle moderne CPU.
Lo studente al termine del corso sarà capace a scrivere anche semplici programmi a livello assembler.

Prerequisiti

E' consigliabile avere seguito il corso di Fondamenti di programmazione

Contenuti dell'insegnamento

Il corso fornisce i concetti di base delle architetture dei sistemi di elaborazione, analizzandone l'organizzazione interna e descrivendo i principi di funzionamento delle CPU, delle memorie, delle strutture di interconnessione e di ingresso/uscita. Il corso comprende le nozioni fondamentali della programmazione in linguaggio assembly. I concetti sono esposti in modo generale; quando necessario si fa diretto riferimento all’architettura dei processori INTEL.
Programma
Approfondimenti sull’architettura dei calcolatori
Introduzione alle architetture delle moderne CPU.
Pipeline e architetture susperscalari.
Unità di controllo, unità di controllo a microprogramma.
Sottosistema di ingresso uscita:
* Gestione a controllo di programma
* Gestione sotto controllo di interrupt
* DMA
Cenni ai processori RISC con esempi.

Le Memorie:
* Generalità, memorie a semiconduttore (ROM e RAM)
* Memorie secondarie: tecnologie e prestazioni.
* Gerarchie di memoria
* Principio di località e concetti generali
* Memoria virtuale (segmenti e pagine)
* Memoria cache (tecniche di accesso, politiche di sostituzione, .)

Introduzione all’assembly dell’architettura x86
* Architettura logica delle CPU x86.
* Sintassi. Modi di indirizzamento. Operazioni e pseudo-operazioni.
* Funzioni DOS e BIOS .
* Esempi di programmi in assembly.

Introduzione alle architetture parallele e distribuite.
* Classificazione e tassonomie
* Legge di Amdhal
* Architetture SIMD e MIMD
* Clusters

Programma esteso

- - -

Bibliografia

G.Bucci, Architettura e organizzazione dei calcolatori elettronici – Strutture avanzate, McGraw-Hill, 2006.

Randall Hyde, The art of Assembly Programming
http://www.ce.unipr.it/didattica/calcolatori/docs/aoa.pdf.

Metodi didattici

Il corso comprende 60 ore di lezioni tradizionali in aula e 12 ore di esercitazione in laboratorio.

Modalità verifica apprendimento

Il corso prevede una prova scritta sui temi del corso e una prova pratica di programmazione in assembler.

Altre informazioni

- - -