ARCHITETTURA DEGLI ELABORATORI E LABORATORIO A - L

Anno accademico 2021/2022 - 1° anno - Curriculum Elaborazione Dati e Applicazioni e Curriculum Sistemi e Applicazioni
Docenti Crediti: 9
SSD: INF/01 - Informatica
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. Esercitazione su sistema binario e sui sistemi di rappresentazione
    2. Esercitazione su analisi e sintesi di funzioni logiche
    3. Esercitazione su circuiti sequenziali
    4. Esempio di ALU
    5. Esercitazione programmi assembly calcolo prodotto scalare e ricerca minimo
    6. Esercitazione di programmazione assembly per chiamata a sottoprogramma
    7. Esercitazione sulla struttura dei processori RISC e CISC
    8. Esercitazione sul pipelining
    9. Esercitazione interfacce di I/O
    10. Esercitazione Circuiti aritmetici

    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.


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
1Esercitazione su sistema binario e sui sistemi di rappresentazioneCapitolo 1 (1.4-1.5) 
2Esercitazione su analisi e sintesi di funzioni logicheAppendice A (A.1-A4) 
3Esercitazione su circuiti sequenzialiAppendice A (A.5-A.10) 
4Esempio di ALUCapitolo 9 (9.1) 
5Esercitazione programmi assembly calcolo prodotto scalare e ricerca minimoCapitolo 2 (2.1-2.5, 2.11, App 2.1-2.2(ARM)) 
6Esercitazione di programmazione assembly per chiamata a sottoprogrammaCapitolo 2 (2.6-2.10, 2.12-2.13 App 2.3-2.4(ARM)) 
7Esercitazione sulla struttura dei processori RISC e CISCCapitolo 5 
8Esercitazione sul pipeliningCapitolo 6 
9Esercitazione interfacce di I/OCapitolo 7 
10Esercitazione Circuiti aritmeticiCapitolo 9 (9.1-9.4, 9.6-9.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)

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


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

    Home page del Docente: https://nigno17.github.io/