Seguici su
Cerca

ARCHITETTURA DEGLI ELABORATORI E LABORATORIO A - L

Anno accademico 2020/2021 - 1° anno - Curriculum Elaborazione Dati e Applicazioni e Curriculum Sistemi e Applicazioni
Docenti 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

  • ARCHITETTURA DEGLI ELABORATORI

    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.

  • LABORATORIO

    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

  • ARCHITETTURA DEGLI ELABORATORI
    • Lezioni frontali

    • Esercitazioni in aula

    • Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.

  • LABORATORIO
    • Lezioni frontali
    • Esercitazioni in aula

Prerequisiti richiesti

  • ARCHITETTURA DEGLI ELABORATORI

    Nessun prerequisito è richiesto.

  • LABORATORIO

    Nessun prerequisito è richiesto.


Frequenza lezioni

  • ARCHITETTURA DEGLI ELABORATORI

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

  • LABORATORIO

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


Contenuti del corso

  • ARCHITETTURA DEGLI ELABORATORI
    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.
  • LABORATORIO
    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).

Testi di riferimento

  • ARCHITETTURA DEGLI ELABORATORI
    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.
  • LABORATORIO
    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.

Programmazione del corso

ARCHITETTURA DEGLI ELABORATORI
 ArgomentiRiferimenti testi
1Finalità e organizzazione dello studio. Macchine da calcolo: cenni storici.1: 1.7 
2Macchine da calcolo: unità funzionali, architetture1: 1.0-3, 1.6 
3Strutture algebriche, algebre di Boole.
4Realizzazione di porte logiche, circuiti sequenziali, flip-flop.1: A.5-6  
5Architetture RISC e CISC, modi d'indirizzamento, esempi di ISA reali.1: 2.0-4, A2.1-2  
6Tipi e formati di istruzioni, esempi di linguaggi assemblativi reali.1: 2.8, 2.10.2, A2.4-5 
7Operazioni di I/O, controllo e servizio delle interruzioni.1: 3.0-2.5, A3.1 
8Software di supporto, linguaggi assemblativi e C, sistema operativo.1: 4.0-9.2  
9Struttura di base del processore, microarchitetture RISC e CISC.1: 5.0-4  
10 Processori ad alte prestazioni, tecniche predittive, processori superscalari.1: 6.6-10  
11Dispositivi di memoria principale, DMA, gerarchia delle memorie.1: 8.0-5  
12Circuiti efficienti per l'aritmetica binaria.1: 9.2-4, 9.6  
LABORATORIO
 ArgomentiRiferimenti testi
1Rappresentazione binaria dei numeri e dell'informazione.1: 1.4-5, A1.1-3  
2Logica della commutazione, porte logiche, sintesi di funzioni logiche.1: A.0-4  
3Registri, componenti di chip di memoria e del processore, ALU.1: A.7-11, 9.1  
4Linguaggio assemblativo, direttive di assemblatore, pile e sottoprogrammi. 1: 2.5-7, A2.3  
5Modi di indirizzamento complessi, esempi di programmi assemblativi.1: 2.9-10.1, 2.11-13, A2.6  
6Gestione di interruzioni ed eccezioni in architetture reali.1: 3.2.6, A3.2-3  
7Esempi di programmi con integrazione di linguaggi C e assemblativi. 
8Progetto di microarchitetture, microprogrammazione, pipelining.1: 5.5-7, 6.0-5  
9Progetto di microarchitetture, microprogrammazione, pipelining.1: 5.5-7, 6.0-5  
10Bus e circuiti d'interfaccia, standard d'interconnessione (cenni).1: 7.0-4 (7.5)  
11Memorie cache, miglioramento delle prestazioni, memoria secondaria.1: 8.6-7, 8.10  
12Moltiplicazione veloce, aritmetica binaria in virgola mobile (IEEE 754).1: 9.5, 9.7-8 

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

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

    La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.

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

Esempi di domande e/o esercizi frequenti

  • ARCHITETTURA DEGLI ELABORATORI
    • Conversione binario/decimale, binario/esadecimale, decimale/esadecimale
    • Somma in complemento a 2
    • Analisi di funzioni logiche (da funzione a tabella della verita')
    • Sintesi di funzioni logiche (da tabella della verita' a funzione), mappe di Karnaugh
    • Circuito sommatore binario
    • Allineamento delle word in memoria
    • Instruction-Set Architecture
    • Data Path
    • Pipeline
    • Cache Memory
    • Somma di vettori
    • Ricerca all'interno di un vettore
    • Filtraggio di un vettore
  • LABORATORIO
    • Algoritmo della moltiplicazione intera
    • Algoritmo della divisione intera
    • Algoritmo del massimo comun divisore
    • Somma degli elementi di un vettore
    • Ricerca lineare in un vettore
    • Filtraggio degli elementi di un vettore