Salta al contenuto principale
CODICE 65938
ANNO ACCADEMICO 2018/2019
CFU
SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05
LINGUA Italiano
SEDE
  • GENOVA
PERIODO Annuale
MATERIALE DIDATTICO AULAWEB

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.

MODALITA' 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

Commissione d'esame

ALESSANDRO ARMANDO (Presidente)

PIERPAOLO BAGLIETTO (Presidente)

MASSIMO MARESCA

ALESSIO MERLO

LEZIONI

Orari delle lezioni

CALCOLATORI ELETTRONICI

ESAMI

MODALITA' D'ESAME

Scritto, Orale

MODALITA' 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

Calendario appelli

Data appello Orario Luogo Tipologia Note
14/01/2019 14:30 GENOVA Scritto
08/02/2019 14:30 GENOVA Scritto
14/06/2019 15:00 GENOVA Scritto
12/07/2019 15:00 GENOVA Scritto
13/09/2019 15:00 GENOVA Scritto
14/02/2020 14:30 GENOVA Scritto