Algoritmi e strutture dati II

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.