Seguici su
Cerca

COMPUTER ARCHITECTURE & LABORATORY

Anno accademico 2019/2020 - 1° anno - Curriculum Information Technology
Docenti
  • COMPUTER ARCHITECTURE: Docente non ancora assegnato
  • LABORATORY: Docente non ancora assegnato
Crediti: 9
Organizzazione didattica: 225 ore d'impegno totale, 153 di studio individuale, 36 di lezione frontale, 24 di esercitazione, 12 di laboratorio
Semestre:

Obiettivi formativi

  • COMPUTER ARCHITECTURE

    Conoscenza e capacità di comprensione: acquisire conoscenza e capacità di comprensione dei concetti fondamentali di architettura dei sistemi di calcolo e dei principi metodologici che ne ispirano lo sviluppo, nella prospettiva storica della loro evoluzione;

    Capacità di applicare conoscenza e comprensione: acquisire capacità di risolvere problemi di progetto di sistemi di calcolo, cimentandosi con esercizi proposti a tal fine, e di adoperare, progettare e realizzare strumenti software, quali simulatori ed interpreti, per macchine astratte relative ai livelli più bassi della organizzazione dei sistemi di calcolo.

    Autonomia di giudizio: essere in grado di confrontare e valutare la qualità di soluzioni a problemi di progetto di sistemi di calcolo.

    Abilità comunicative: acquisire abilità comunicativa e proprietà di linguaggio utili alla comunicazione di problematiche inerenti il funzionamento, la progettazione, la realizzazione e la valutazione di sistemi di calcolo, anche con interlocutori non esperti.

    Capacità di apprendimento: sviluppare capacita di adattamento delle proprie conoscenze alla rapida evoluzione della disciplina e di aggiomamento mediante la consultazione di fonti specialistiche del settore.

  • LABORATORY

    Conoscenza e capacità di comprensione: acquisire conoscenza e capacità di comprensione dei concetti fondamentali di architettura dei sistemi di calcolo e dei principi metodologici che ne ispirano lo sviluppo, nella prospettiva storica della loro evoluzione;

    Capacità di applicare conoscenza e comprensione: acquisire capacità di risolvere problemi di progetto di sistemi di calcolo, cimentandosi con esercizi proposti a tal fine, e di adoperare, progettare e realizzare strumenti software, quali simulatori ed interpreti, per macchine astratte relative ai livelli più bassi della organizzazione dei sistemi di calcolo.

    Autonomia di giudizio: essere in grado di confrontare e valutare la qualità di soluzioni a problemi di progetto di sistemi di calcolo.

    Abilità comunicative: acquisire abilità comunicativa e proprietà di linguaggio utili alla comunicazione di problematiche inerenti il funzionamento, la progettazione, la realizzazione e la valutazione di sistemi di calcolo, anche con interlocutori non esperti.

    Capacità di apprendimento: sviluppare capacita di adattamento delle proprie conoscenze alla rapida evoluzione della disciplina e di aggiomamento mediante la consultazione di fonti specialistiche del settore.


Modalità di svolgimento dell'insegnamento

  • COMPUTER ARCHITECTURE
    • Lezioni frontali

    • Esercitazioni in aula

  • LABORATORY
    • Lezioni frontali

    • Esercitazioni in aula


Prerequisiti richiesti

  • COMPUTER ARCHITECTURE

    Nessun prerequisito è richiesto.

  • LABORATORY

    Nessun prerequisito è richiesto.


Frequenza lezioni

  • COMPUTER ARCHITECTURE

    Per una piena comprensione degli argomenti del corso e delle tecniche presentate, la frequenza delle lezioni e delle esercitazioni è fortemente consigliata.

  • LABORATORY

    Per una piena comprensione degli argomenti del corso e delle tecniche presentate, la frequenza delle lezioni e delle esercitazioni è fortemente consigliata.


Contenuti del corso

  • COMPUTER ARCHITECTURE
    1. Rappresentazione binaria dei numeri e dell'informazione.
    2. Logica della commutazione, porte logiche
    3. Analisi e sintesi di funzioni logiche.
    4. Registri, componenti di chip di memoria e del processore, ALU.
    5. Linguaggio assemblativo, direttive di assemblatore, pile e sottoprogrammi.
    6. Modi di indirizzamento complessi, esempi di programmi assemblativi.
    7. Gestione di interruzioni ed eccezioni in architetture reali.
    8. Esempi di programmi con integrazione di linguaggi C e assemblativi.
    9. Progetto di microarchitetture, microprogrammazione, pipelining.
    10. Bus e circuiti d'interfaccia, standard d'interconnessione (cenni).
    11. Memorie cache, miglioramento delle prestazioni, memoria secondaria.
    12. Moltiplicazione veloce, aritmetica binaria in virgola mobile (IEEE 754).
  • LABORATORY
    1. Finalità e organizzazione dello studio. Macchine da calcolo: cenni storici.
    2. Macchine da calcolo: unità funzionali, architetture.
    3. Strutture algebriche, algebre di Boole.
    4. Realizzazione di porte logiche, circuiti sequenziali, flip-flop.
    5. Architetture RISC e CISC, modi d'indirizzamento, esempi di ISA reali.
    6. Tipi e formati di istruzioni, esempi di linguaggi assemblativi reali.
    7. Operazioni di I/O, controllo e servizio delle interruzioni.
    8. Software di supporto, linguaggi assemblativi e C, sistema operativo.
    9. Struttura di base del processore, microarchitetture RISC e CISC.
    10. Processori ad alte prestazioni, tecniche predittive, processori superscalari.
    11. Dispositivi di memoria principale, DMA, gerarchia delle memorie.
    12. Circuiti efficienti per l'aritmetica binaria.

Testi di riferimento

  • COMPUTER ARCHITECTURE
    1. C. Hamacher, Z. Vranesic, S. Zaky & N. Manjikian : Introduzione all'architettura dei calcolatori. Terza edizione, McGraw-Hill Education (Italy), 2013
    2. Note integrative fornite dal docente durante lo sviluppo delle lezioni.
  • LABORATORY
    1. C. Hamacher, Z. Vranesic, S. Zaky & N. Manjikian : Introduzione all'architettura dei calcolatori. Terza edizione, McGraw-Hill Education (Italy), 2013
    2. Note integrative fornite dal docente durante lo sviluppo delle lezioni.

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

  • LABORATORY
    1. prova scritta
    2. colloquio orale di convalida
    3. presentazione e discussione di un progetto (opzionale)

Esempi di domande e/o esercizi frequenti

  • LABORATORY

    Su Studium