CALCOLATORI ELETTRONICI

CALCOLATORI ELETTRONICI

_
iten
Codice
65938
ANNO ACCADEMICO
2019/2020
CFU
12 cfu al 2° anno di 8719 INGEGNERIA INFORMATICA (L-8) GENOVA
SETTORE SCIENTIFICO DISCIPLINARE
ING-INF/05
LINGUA
Italiano
SEDE
GENOVA (INGEGNERIA INFORMATICA )
periodo
Annuale
materiale didattico

PRESENTAZIONE

Il corso vuole mettere in grado lo studente di comprendere e descrivere caratteristiche, funzioni e interazioni delle principali componenti di un moderno calcolatore elettronico sia dal punto di vista architetturale che del sistema operativo.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Il corso nella prima parte presenta l'architettura di un calcolatore elettronico, le funzioni delle unit? hardware che lo compongono e le interazioni fra di loro; nella seconda parte descrive la struttura dei sistemi operativi, le funzioni dei moduli in cui sono organizzati, gli algoritmi e le strutture software che utilizzano.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Parte I – Architettura dei calcolatori

  • Instruction Set Architecture: il caso del processore MIPS.
  • Aritmetic Logic Unit. Architettura interna.
  • Architettura del processore. Pipelining delle istruzioni. Conflitti sui dati e sui controlli. Data forwarding e hazard detection.
  • Unità di controllo. Implementazione cablata. Implementazione microprogrammata
  • Gerarchia di memoria. Memoria cache: principi di funzionamento, elementi di progettazione.
  • Memorie a dischi magnetici. Sistemi RAID. Memorie a dischi ottici.
  • Metodi e strumenti per la valutazione delle prestazioni.

Parte II – Sistemi Operativi

  • Concetti base, struttura monolitica e a microkernel. Macchine virtuali.
  • Le chiamate a sistema e loro gestione.
  • La gestione dei processi e dei thread. Lo scheduling della CPU.
  • La comunicazione e sincronizzazione fra processi. Corse e regioni critiche. Mutua esclusione e polling attesa. Semafori e loro utilizzo per mutua esclusione e sincronizzazione.
  • La gestione della memoria. Gestione paginata. Gestione segmentata.
  • Il file system. Metodi di implementazione. Problematiche di protezione e condivisione.
  • La gestione dell’input-output. Architettura DMA. Gestione dei dischi. Gestione clock.

Modalità didattiche

Lezioni ed esercitazioni

PROGRAMMA/CONTENUTO

Parte I – Architettura dei calcolatori

  1. Introduzione al corso. Definizione di architettura dei calcolatori e sua  virtualizzazione e astrazione. Evoluzione e prestazioni dei calcolatori. Progettazione in funzione delle prestazioni.
  2. Instruction Set Architecture: il caso del processore MIPS. Caratteristiche delle istruzioni: elementi, rappresentazione, tipi, numero di indirizzi, progettazione del repertorio di istruzioni. Tipi di operandi. Tipi di operazioni. Modi di indirizzamento. Formati delle istruzioni. Supporto alle procedure. Interazioni con il Compilatore e ottimizzazioni del codice.
  3. Aritmetic Logic Unit. Architettura interna. Rappresentazioni dei numeri reali (IEEE 754). Somma moltiplicazione e divisione di numeri in virgola mobile.
  4. Il processore centrale. Architettura del processore. Organizzazione dei registri. Ciclo di esecuzione delle istruzioni. Pipelining delle istruzioni. Conflitti sui dati e sui controlli. Data forwarding e hazard detection.
  5. Unità di controllo. Fasi di una istruzione e microoperazioni. Controllo del processore: requisiti funzionali, segnali di controllo, organizzazione interna. Implementazione cablata. Implementazione microprogrammata: microistruzioni, unità di controllo microprogrammata.
  6. La memoria primaria. Gerarchia di memoria. Memoria cache: principi di funzionamento, elementi di progettazione (dimensione, funzioni di traduzione, algoritmi di sostituzione, politica di scrittura, dimensionamento delle linee, cache multiple). Tipi memoria (ROM, DRAM e SRAM) e loro organizzazione.
  7. Memorie a dischi magnetici: meccanismi di lettura e scrittura, organizzazione e formattazione dei dati, sistemi RAID. Memorie a dischi ottici.
  8. La valutazione delle prestazioni dei calcolatori. Metodi e strumenti per la valutazione delle prestazioni. Parametri misurabili e loro attendibilità. Interpretazione delle misure di prestazione.

TESTI/BIBLIOGRAFIA

Materiale didattica disponibile su Aulaweb.

Bibliografia: Struttura e progetto dei calcolatori di D. Patterson, J. Hennessy, Zanichelli.

DOCENTI E COMMISSIONI

Ricevimento: su appuntamento da richiedere via email: p.baglietto@cipi.unige.it

Commissione d'esame

ALESSANDRO ARMANDO (Presidente)

PIERPAOLO BAGLIETTO (Presidente)

ALESSIO MERLO

MASSIMO MARESCA

LEZIONI

Modalità didattiche

Lezioni ed esercitazioni

ESAMI

Modalità d'esame

Scritto, Orale

Modalità di accertamento

capacità di risolvere semplici problemi di progettazione e di programmazione sugli argomenti del corso

conoscenza degli argomenti trattati a lezione e capacità di analisi e discussione delle tematiche trattate