CALCOLATORI ELETTRONICI

Angelo MARCELLI CALCOLATORI ELETTRONICI

0612700011
DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE ED ELETTRICA E MATEMATICA APPLICATA
CORSO DI LAUREA
INGEGNERIA INFORMATICA
2023/2024



OBBLIGATORIO
ANNO CORSO 1
ANNO ORDINAMENTO 2022
SECONDO SEMESTRE
CFUOREATTIVITÀ
648LEZIONE
324ESERCITAZIONE


Obiettivi
L'INSEGNAMENTO FORNISCE LA CONOSCENZA DEI PRINCIPI FONDAMENTALI SUI QUALI SI BASA L’ORGANIZZAZIONE DI UN CALCOLATORE ELETTRONICO, DEL MODELLO DI PROGRAMMAZIONE IN LINGUAGGIO MACCHINA DEL PROCESSORE, DEI PRINCIPALI COMPONENTI DELL’ARCHITETTURA E DEGLI INDICI PER LA MISURA DELLE SUE
PRESTAZIONI. VENGONO INOLTRE PRESENTATE ARCHITETTURE NOTEVOLI DI RETI COMBINATORIE E DI SEMPLICI CIRCUITI SEQUENZIALI.

CONOSCENZA E CAPACITÀ DI COMPRENSIONE
PRINCIPI DI ORGANIZZAZIONE E DI PROGRAMMAZIONE DI BASSO LIVELLO DI UN CALCOLATORE. VALUTAZIONE DELLE
PRESTAZIONI DI UN CALCOLATORE E DELL’IMPATTO SULLE PRESTAZIONI DEI PROGRAMMI. ARCHITETTURA E
DIMENSIONAMENTO DEI COMPONENTI DI UN CALCOLATORE. FUNZIONAMENTO DEI CIRCUITI COMBINATORI (ADDER, MULTIPLEXER, ENCODER, DECODER) E SEQUENZIALI (FLIP.FLOP, CONTATORI, REGISTRI A SCORRIMENTO) USATI NELL'IMPLEMENTAZIONE DEI PRINCIPALI BLOCCHI ARCHITETTURALI.

CONOSCENZA E CAPACITÀ DI COMPRENSIONE APPLICATE
PROGRAMMARE UN CALCOLATORE IN LINGUAGGIO ASSEMBLATIVO. PROGETTARE A LIVELLO LOGICO COMPONENTI DELLE UNITÀ FONDAMENTALI DI UN CALCOLATORE. INTEGRARE PROGETTAZIONE HARDWARE E SOFTWARE.
Prerequisiti
L'INSEGNAMENTO RICHIEDE COME PREREQUISITI LA CONOSCENZA DEL LINGUAGGIO DI PROGRAMMAZIONE C E NOZIONI FONDAMENTALI DI FISICA E ANALISI MATEMATICA.
Contenuti
Unità didattica 1: CONCETTI FONDAMENTALI E LINGUAGGIO DEL CALCOLATORE
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 20/0/8)
- 1 (2 ORE Lezione):Introduzione al corso. Modello di von Neumann. Modello di programmazione del processore MIPS
- 2 (2 ORE Lezione):Classi di istruzioni dell'Assembly MIPS. Operandi e modalità di indirizzamento.
- 3 (2 ORE Lezione):Rappresentazione binaria dei numeri interi unsigned e signed.
- 4 (2 ORE Lezione):Istruzioni aritmetiche. Istruzioni di trasferimento dati.
- 5 (2 ORE Laboratorio):Esercitazione: operazioni tra interi signed e unsigned in base 2. Istruzioni aritmetiche. Traduzione in Assembly di istruzioni di calcolo e assegnazione.
- 6 (2 ORE Lezione):Rappresentazione delle istruzioni. Operazioni logiche
- 7(2 ORE Lezione):Istruzioni di salto: jump e branch. Costrutti di selezione in Assembly.
- 8 (2 ORE Laboratorio):Costrutti di selezione
- 9 (2 ORE Lezione):Costrutti iterativi in Assembly.
- 10 (2 ORE Lezione):Direttive dell'assemblatore. Definizione e gestione di array.
- 11 (2 ORE Laboratorio):Costrutti iterativi, array
- 12 (2 ORE Lezione):Sottoprogrammi. Istruzioni di chiamata e passaggio dei parametri tramite registri
- 13 (2 ORE Lezione):Sottoprogrammi. Passaggio dei parametri tramite lo stack. Salvataggio e ripristino dei registri.
- 14 (2 ORE Laboratorio):Esercitazione: Codifica ed esecuzione di programmi con sottoprogrammi

CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Principi di organizzazione e di programmazione di basso livello di un calcolatore
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Realizzare programmi in linguaggio Assembly

Unità didattica 2: Elementi di reti logiche
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 8/4/0)
- 15 (2 ORE Lezione):Porte logiche ed Algebra di Boole. Funzioni booleane.
- 16 (2 ORE Lezione):Reti combinatorie. Minimizzazione e sintesi
- 17 (2 ORE Esercitazione): Sintesi di reti combinatorie
- 18 (2 ORE Esercitazione):Macchine combinatorie notevoli (encoder/decoder. mux/demux, addizionatori)
- 19 (2 ORE Lezione):Reti sequenziali sincrone: clock e metodologia di sincronizzazione
- 20 (2 ORE Lezione):Macchine sequenziali notevoli: flip-flop e registri
CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Funzionamento dei circuiti combinatori e sequenziali elementari
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Progettare semplici circuiti combinatori.


Unità didattica 3: Architettura del processore
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 8/4/0)
- 21 (2 ORE Lezione):Datapath a ciclo singolo: definizione dell'unità di elaborazione.
- 22 (2 ORE Lezione):Datapath a ciclo singolo: definizione dell'unità di controllo. Sincronizzazione e definizione del clock.
- 23 (2 ORE Esercitazione): Simulazione di esecuzione di istruzioni sul data path implementato
- 24 (2 ORE Lezione):Pipeline: struttura hardware. Alee
- 25 (2 ORE Lezione):Pipeline: unità di controllo
- 26 (2 ORE Esercitazione): Simulazione di esecuzione di istruzioni su pipeline. Simulazione di alee
CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Architettura di un processore a ciclo singolo e pipelined
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Riconoscere e prevedere l'impatto delle scelte di programmazione sul tempo di esecuzione


Unità didattica 4: Gerarchia di memoria
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 6/4/0)
- 27 (2 ORE Lezione):Gerarchia di memoria. Cache ad accesso diretto
- 28 (2 ORE Lezione):Cache associative e set-associative
- 29 (2 ORE Esercitazione): Accesso alla cache
- 30 (2 ORE Lezione):Memoria virtuale
- 31 (2 ORE Esercitazione):Accesso alla memoria virtuale
CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Principi di funzionamento della gerarchia di memoria e sua organizzazione
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Riconoscere e prevedere l'impatto dell’accesso alla gerarchia di memoria sulle prestazioni.


Unità didattica 5: Input/Output
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 6/0/4)
- 32 (2 ORE Lezione):Eccezioni e interruzioni
- 33 (2 ORE Lezione):Input/Output. Interfacce. Memory mapped e insulated I/O.
- 34 (2 ORE Lezione):Tecniche di sincronizzazione (polling e interrupt). DMA
- 35 (2 ORE Laboratorio): Codifica ed esecuzione di semplici driver
- 36 (2 ORE Laboratorio): Codifica ed esecuzione di semplici driver
CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Organizzazione e principi di funzionamento del sistema di I/O di un calcolatore
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Realizzare semplici driver per interfacce di I/O a partire da specifiche assegnate


TOTALE ORE LEZIONE/ESERCITAZIONE/LABORATORIO 48/12/12
Metodi Didattici
L'INSEGNAMENTO CONTEMPLA LEZIONI FRONTALI ED ESERCITAZIONI IN AULA.
NELLE ESERCITAZIONI IN AULA VENGONO PROPOSTI AGLI ALLIEVI DEI PROBLEMI DA RISOLVERE CON LA GUIDA DEL DOCENTE. ALCUNE ATTIVITA' PREVEDONO L'UTILIZZO DI UN AMBIENTE DI PROGRAMMAZIONE ASSEMBLY.
Verifica dell'apprendimento
IL PROFITTO DEGLI ALLIEVI VIENE VALUTATO MEDIANTE UNA PROVA SCRITTA INTERMEDIA E UNA PROVA SCRITTA FINALE. OGNI PROVA SCRITTA CONSISTE NELLO SVOLGIMENTO DI ESERCIZI DELLA STESSA TIPOLOGIA DI QUELLI PROPOSTI NELLE ESERCITAZIONI.

DURANTE LE PROVE SCRITTE È CONSENTITA LA CONSULTAZIONE DEL LIBRO DI TESTO E DI MATERIALE FORNITO AL CORSO ED ESPRESSAMENTE CONSENTITO. NON È CONSENTITO L'USO DI APPUNTI, MATERIALE NON FORNITO AL CORSO E STRUMENTI ELETTRONICI PER LA MEMORIZZAZIONE E/O ELABORAZIONE DI DATI.

NELLE PROVE A CIASCUN ESERCIZIO E' ASSOCIATO UN PUNTEGGIO MASSIMO TALE CHE LA SOMMA DEI PUNTEGGI MASSIMI PER OGNI PROVA SIA 32.
IL PUNTEGGIO ASSEGNATO AD OGNI ESERCIZIO TIENE CONTO DELLA CORRETTEZZA, COMPLETEZZA E QUALITÀ DELLE SOLUZIONI PROPOSTE. IL PUNTEGGIO DELLA SINGOLA PROVA È OTTENUTO SOMMANDO I PUNTEGGI ASSEGNATI AI SINGOLI ESERCIZI.
IL VOTO FINALE SI OTTIENE ARROTONDANDO LA MEDIA DEI PUNTEGGI OTTENUTI NELLE SINGOLE PROVE.

GLI ALLIEVI CHE NON SOSTENGONO LA PRIMA PROVA O CHE CONSEGUONO UN PUNTEGGIO INFERIORE A 18 DOVRANNO SOSTENERE UNA PROVA SCRITTA FINALE UNICA COMPRENSIVA DI TUTTI GLI ARGOMENTI.

LA LODE PUÒ ESSERE ATTRIBUITA AGLI STUDENTI CHE ABBIANO CONSEGUITO UN PUNTEGGIO SUPERIORE A 30.
Testi
D.A. PATTERSON AND J.L. HENNESSY, STRUTTURA E PROGETTO DEI CALCOLATORI, ZANICHELLI, 5A EDIZIONE, 2015.

MATERIALE DIDATTICO INTEGRATIVO SARA' DISPONIBILE NELLA SEZIONE DEDICATA DELL'INSEGNAMENTO ALL'INTERNO DELLA PIATTAFORMA E-LEARNING DI ATENEO (HTTP://ELEARNING.UNISA.IT) ACCESSIBILE AGLI STUDENTI DEL CORSO TRAMITE LE CREDENZIALI UNICHE DI ATENEO.
Altre Informazioni
L'INSEGNAMENTO E' EROGATO IN ITALIANO
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2024-11-05]