Titolo insegnamento in inglese: Algorithms and Data Structures I
Lingua: italiano
Insegnamento: Algoritmi e Strutture Dati I
Anno di corso: I
CFU: 9
Semestre: 2
Docenti:
- Canale 1: 1 Silvia Rossi
- Canale 2: Luigi Sauro
- Canale 3: Roberto Prevete
Insegnamenti propedeutici previsti
nessuno
Obiettivi Formativi
Conoscere e applicare le principali codifiche digitali dei dati. Saper interpretare e manipolare espressioni dell’algebra di Boole. Saper tradurre un’espressione booleana in circuito combinatorio e viceversa. Saper minimizzare espressioni booleane. Conoscere le macchine di Moore e Mealy. Conoscere la struttura dei principali circuiti logico-aritmetici e delle ALU. Conoscere l’architettura dei microprocessori basati sul paradigma ARM. Saper realizzare programmi in linguaggio assembly di un processore ARM. Conoscere le principali architetture di memoria, incluse le memorie cache e la memoria virtuale.
Contenuti
Rappresentazioni digitale dei dati. Operazioni aritmetiche e overflow. Algebra di Boole, funzioni booleane, circuiti combinatori e porte logiche. Minimizzazione di funzioni booleane. Multiplexer e decoder. Elementi di timing. Circuiti sequenziali elementari: latch e flip-flop. Macchine di Mealy e Moore: analisi e sintesi. Circuiti addizionatori e ALU. Architettura ARM: elementi hardware, formato istruzione, architettura interna. Programmazione in assembly ARM. Connessioni con i costrutti del linguaggio C. Introduzione alle memorie cache. Analisi delle prestazioni di sistemi con cache. Introduzione al concetto di memoria virtuale. Traduzione degli indirizzi. Architetture a ciclo singolo, a ciclo multiplo e basate su pipeline.
Modalità didattiche
Lezioni frontali. Esercitazioni.
Modalità di esame
L'esame si articola in prova scritta e orale.
La prova scritta è a risposta libera e a risposta multipla.