Architetture e reti digitali

Obiettivi formativi e Competenze in uscita

Obiettivi Formativi e Risultati di Apprendimento

L'obiettivo formativo principale del corso è la comprensione da parte dello studente degli elementi fondamentali dell'architettura di un sistema di calcolo basato su microprocessore e di come la progettazione dei suoi componenti interni possa influenzare le prestazioni del sistema. Attraverso una visione top-down, lo studente acquisirà familiarità con la struttura di un calcolatore generico, per poi passare ai dettagli specifici e ai concetti base dell'elettronica digitale necessari per la sua progettazione. Lo studente apprenderà inoltre i principi fondamentali delle reti di comunicazione e di Internet.


Le principali conoscenze acquisite saranno:

  • Principi di funzionamento della macchina di Von Neumann.

  • Calcolo delle prestazioni di un sistema di calcolo basato su un microprocessore.

  • Legame tra circuiti digitali ed energia consumata

  • Architettura di base di un processore RISC-V e come esso comunica

  • Elementi di base dell'algebra booleana e porte logiche per la rappresentazione di istruzioni e dati.

  • Rappresentazione numerica e circuiti combinatori per l'esecuzione di operazioni matematiche elementari in un sistema digitale.

  • Architettura di rete (in particolare fino al livello 4), metodi di accesso multiplo, algoritmi di instradamento (routing) e internetworking.


Le principali abilità (ovvero la capacità di applicare le conoscenze acquisite) saranno:

  • Rappresentare numeri e caratteri nei formati binari più diffusi.

  • Comprendere l'architettura e il funzionamento delle unità aritmetico-logiche (ALU)

  • Comprendere i vantaggi e i limiti dell'architettura di Von Neumann.

  • Comprendere il funzionamento di base e il comportamento di una rete dati.

Prerequisiti

Il corso non prevede requisiti specifici. Tuttavia, potrebbe essere utile per alcuni argomenti del corso avere acquisito le seguenti abilità:

- Dimestichezza con gli algoritmi dell'aritmetica decimale
- Programmazione di base

Contenuti

1. Introduzione
Cos’è un calcolatore elettronico ed un sistema digitale? – Tipi di calcolatori elettronici - Fasi di progettazione di un calcolatore – Evoluzione e struttura dei sistemi di calcolo

2. Il concetto di algoritmo
Cos'è un algoritmo e che sfida rappresenta per i calcolatori elettronici - Risoluzione tramite sistemi CPU, FPGA ed ASIC - Cenni alle architetture eterogenee e modalità di design delle stesse – Consumo di energia

3. Introduzione ai circuiti logici e all'algebra di Boole
Rappresentazione dello stato di un circuito mediante numeri binari – Funzioni logiche elementari: NOT, AND, OR – Tabella della verità – Gate logici elementari – Circuiti logici – Analisi di un circuito logico – Algebra di Boole – Sintesi di circuiti logici e legame con energia – Perché un circuito logico consuma energia

4. Cenni sui principali componenti combinatori
Multiplexer e loro applicazioni – Decoders – Demultiplexer e Encoders – Dispositivi logici programmabili PLA e cenni di FPGA

5. Rappresentazione dei numeri e circuiti aritmetici
Rappresentazione ottale e esadecimale – Addizione di numeri interi positivi – L’addizionatore Ripple Carry – Considerazioni sulle prestazioni – Addizionatori veloci: l’addizionatore Carry-Lookahead – Numeri con segno – Rappresentazione “complemento a 1” e “complemento a 2”– Sottrazione di numeri con segno – Circuito sommatore/sottrattore – Overflow – Rappresentazione di numeri reali: virgola fissa e virgola mobile – Codifica ASCII – Concetto di bit di parità

6. Elementi di base dei circuiti sequenziali: flip-flop, registri, contatori
Terminologia – Latch S-R – Gated latch S-R – Concetto di clock – D latch – Flip-flop Master-Slave – Flip-flop edge triggered – Registri – Shift register – Register file – Contatori asincroni – Divisore di frequenza

7. Caratteristiche della macchina di von Neumann
Componenti principali della macchina di von Neumann e sue caratteristiche – Astrazioni legate agli accessi ai vari componenti (memorie) – Limiti dell'architettura – Cenni soluzioni future per la rivoluzione del paradigma di calcolo

8. Calcolo delle prestazioni di un calcolatore elettronico
Definizione delle prestazioni – Throughput e tempo di esecuzione di un programma – Prestazioni relative – Prestazioni di una CPU (CPI e MIPS) – Legge di Amdahl

9. Il microprocessore RISC-V
Implementazione di base della micro-architettura a singolo ciclo del processore RISC-V - Realizzazione di un'unità di elaborazione e schema semplificato del funzionamento/realizzazione della sua ALU – Cenni delle pipeline - Gestione degli interrupts e delle eccezioni per comunicare con il mondo esterno


10. Fondamenti e basi di reti di telecomunicazione

Classificazione geografica e topologica delle reti digitali - Architetture di rete (modello OSI) - Commutazione di circuito e di pacchetto - Metodi di accesso multiplo - Algoritmi di instradamento


11. Panoramica sugli standard per la trasmissione dati (fra cui Ethernet, WiFi, WiMax)

Internetworking: repeater, hub, bridge, switch, router - Introduzione a Internet ed ai relativi servizi

 

Metodi e Approcci Didattici 

Il corso sarà tenuto solamente in presenza e sarà basato su didattica frontale in aula.

Come ausilio per la didattica, durante le lezioni legate alla parte più orientata verso l'Elettronica Digitale verrà utilizzata una piattaforma di quiz interattivi per verificare il grado di comprensione della classe sui concetti fondamentali trattati durante la lezione o nella lezione precedente.

Ogni argomento teorico del corso è accompagnato da domande sulla teoria e da esercizi che gli studenti svolgeranno autonomamente.

La correzione delle domande verrà svolta in aula.

 

Testi e Materiali Didattici 

Il corso adotta i seguenti testi di riferimento.


Per la parte di calcolo delle prestazioni e del processore RISC-V


Struttura e Progetto dei Calcolatori – seconda edizione D.A. Patterson, J.L. Hennessy Ed. Zanichelli 2023


Per la parte orientata al Progetto Digitale (algebra booleana, circuiti combinatori e sequenziali):


Progettazione Digitale – terza edizione F. Fummi, M. Lora, M. Sami, C. Silvano Ed. McGraw Hill-education 2023


Per la parte di Reti di Calcolatori e comunicazioni di rete:


G. Mazzini, "Reti di Telecomunicazioni" Ed. Pitagora 2002


Altri riferimenti utili:

A. Pattavina, Internet e Reti Fondamenti

A.S. Tanenbaum, "Reti di Calcolatori"

F. Halsall, "Networking e Internet"

A. Capone, S. Gaito "Reti di calcolatori e Internet"


Le slide proiettate a lezione costituiscono esse stesse materiale di riferimento disponibile su Classroom.

 

Modalita’ di valutazione

L'esame è opportunamente organizzato per consentire la verifica dell’apprendimento delle conoscenze e delle abilità descritte negli obiettivi formativi.


L'esame consisterà in una prova orale con tipicamente tre domande che spaziano sui temi affrontati durante le lezioni come da programma del corso.


L'esame può essere sostenuto anche in lingua inglese.


Il superamento dell'esame è prova di aver acquisito le conoscenze e le abilità specificate negli obiettivi formativi dell'insegnamento