Programma
Il corso è articolato nei seguenti argomenti principali:
Macchine da calcolo: Cenni storici - Introduzione alla storia delle macchine da calcolo, dall'aritmetica Maya all'abaco, e utilizzo di simulatori storici. Analisi delle prime unità funzionali e architetture delle macchine da calcolo.
Rappresentazione binaria dei numeri e dell'informazione - Studio della rappresentazione binaria, delle basi matematiche, e della conversione tra differenti basi numeriche. Approfondimento sulla rappresentazione dei dati nei calcolatori.
Strutture algebriche e Algebre di Boole - Introduzione alle strutture algebriche fondamentali e alle algebre di Boole. Applicazione della logica booleana alla progettazione di circuiti logici.
Logica della commutazione e Porte logiche - Studio dei principi della logica della commutazione, delle porte logiche fondamentali e della sintesi di funzioni logiche.
Circuiti sequenziali e Flip-Flop - Progettazione e analisi di circuiti sequenziali, inclusi i flip-flop e la loro applicazione nei registri e nei contatori.
Componenti di chip di memoria e processore - Esplorazione dei registri, delle unità di memoria, delle PLA, FPGA e ALU, e delle loro funzioni nelle architetture dei calcolatori.
Architetture RISC e CISC - Studio delle architetture RISC e CISC, dei loro vantaggi e svantaggi, e dei modi di indirizzamento utilizzati.
Linguaggio assemblativo - Introduzione al linguaggio assemblativo, alle direttive dell'assemblatore, all'uso delle pile e dei sottoprogrammi, con esempi di linguaggi assemblativi reali.
Operazioni di I/O e gestione delle interruzioni - Approfondimento delle operazioni di input/output, della gestione delle interruzioni ed eccezioni, e del software di supporto nei sistemi operativi.
Progettazione di microarchitetture - Studio della struttura di base dei processori, della microprogrammazione, del pipelining e delle tecniche predittive per processori ad alte prestazioni.
Dispositivi di memoria e gerarchia delle memorie - Analisi dei dispositivi di memoria principale, delle memorie cache, della memoria secondaria, e delle tecniche per il miglioramento delle prestazioni.
Circuiti efficienti per l'aritmetica binaria - Progettazione di circuiti per l'aritmetica binaria, inclusi algoritmi per la moltiplicazione veloce e l'aritmetica in virgola mobile secondo lo standard IEEE 754.
Prerequisiti
Per seguire con profitto il corso, gli studenti devono possedere una conoscenza di base dell'informatica e della programmazione. È fondamentale che abbiano già acquisito familiarità con i concetti di programmazione in un linguaggio di alto livello, preferibilmente il C, e che comprendano i fondamenti dell'algebra e della logica matematica. Conoscenze preliminari su come funzionano i sistemi operativi e su nozioni di base di elettronica digitale saranno utili per affrontare al meglio gli argomenti trattati nel corso.
Testi di riferimento
Per il corso, verranno adottati i seguenti testi:
Carl Hamacher, Zvonko Vranesic, Safwat Zaky, Naraig Manjikian: "Introduzione all'Architettura dei Calcolatori", McGraw-Hill (2013) - Questo libro offre una panoramica completa sull'architettura dei calcolatori, coprendo aspetti fondamentali come le unità funzionali, le architetture RISC e CISC, e i principi di progettazione dei processori. È un testo essenziale per comprendere le basi delle macchine da calcolo e delle loro componenti.
Andrew S. Tanenbaum: "Architettura dei Calcolatori", Pearson (2013) - Un testo classico e molto apprezzato che esplora in profondità i concetti di base e avanzati dell'architettura dei calcolatori. Tanenbaum affronta argomenti chiave come la logica della commutazione, i registri, le memorie cache e i processori ad alte prestazioni, offrendo esempi pratici e applicazioni reali.
Frequenza
Fortemente consigliata
Strongly suggested
Modalità di esame
L’esame consiste di una prova scritta svolta in aula, della durata di 1 ora, gli studenti dovranno dotarsi solo di un documento di riconoscimento valido e di penna nera o blu non cancellabile. Durante la prova non è consentito l’utilizzo di appunti, manuali o libri, è inoltre vietato comunicare con i colleghi durante lo svolgimento della prova così come l’utilizzo di dispositivi di comunicazione, pena l’annullamento della prova stessa. Per sostenere l'esame occorre esibire un documento di identità in sede di esame. La valutazione ha carattere complessivo e terrà in considerazione l’esito dell’esame in ogni sua parte.
REGOLAMENTO DELLA PROVA SCRITTA
La prova ha lo scopo di valutare il conseguimento degli obiettivi formativi essenziali e si svolge per iscritto. Al candidato è richiesto di rispondere a 12 quesiti:
10 quesiti a cui sono assegnati 1,75 punti solo nel caso di risposta corretta ed in particolare:
• 8 domande a risposta multipla
• 1 esercizio di completamento con etichette di uno schema (valutabile da 0 a 1,75 punti)
• 1 esercizio di identificazione di operatori logici elementari
1 esercizio sulla sintesi di reti combinatorie (valutate da 0 a 3 punti, alle risposte particolarmente brillanti saranno attribuiti 3,5 punti)
2 quesiti a risposta aperta (valutate da 0 a 4 punti, alle risposte particolarmente brillanti saranno attribuiti 4,5 punti).
1 esercizio di programmazione assembly (valutato da 0 a 3 punti, alle risposte particolarmente brillanti saranno attribuiti 3,5 punti).
Il punteggio totale che costituirà il voto della prova scritta espresso in trentesimi, sarà calcolato sommando i punteggi ottenuti dalle risposte alle domande.
L’esame è svolto in aula, gli studenti dovranno dotarsi solo di un documento di riconoscimento valido e di penna non cancellabile. L’esame ha durata massima di un'ora. Non è consentito l’utilizzo di appunti, manuali, libri, è inoltre vietato comunicare con i colleghi durante lo svolgimento della prova così come l’utilizzo di dispositivi di comunicazione (cellulari, smartphone, smart watch, messaggi scritti, piccioni viaggiatori, formiche ammaestrate, esperimenti di telepatia, etc...).
Eventuali violazioni di queste regole, così come l'uscita dall'aula prima della consegna, comportano l'annullamento del compito. Qualora emergessero eventuali evidenze di violazione delle regole d'esame qui esposte o dei regolamenti vigenti presso questo ateneo la commissione provvederà all'annullamento dell'esame d'ufficio ed alla registrazione di questo con esito negativo, saranno inoltre valutate le sanzioni ed i provvedimenti disciplinari del caso.
Il conseguimento, da parte del candidato, di una conoscenza basilare della disciplina si ritiene attestato dall'aver conseguito una valutazione di almeno 18 punti nella prova scritta. Nel caso in cui il candidato ottenga una valutazione inferiore a 18/30 nella prova scritta, l’esame è da considerarsi concluso con esito negativo.
VOTO FINALE
La valutazione ha carattere complessivo e terrà in considerazione l’esito dell’esame in ogni sua parte. L’esame si intende superato con una valutazione maggiore o uguale a 18/30. Ai candidati particolarmente meritevoli, oltre alla massima votazione (30/30) potrà essere attribuita la lode.
Sostenendo l’esame il candidato prende nota, approva e sottoscrive questo regolamento.
Modalità di erogazione
Lezioni frontali in aula
Frontal lectures in class