Questa materia è incompleta Tutti i contributi sono ben accetti perché sono state scritte poche lezioni di questa materia (o nessuna). Se vuoi contribuire è consigliato (ma non obbligatorio) prendere visione della pagina del Dipartimento che si occupa dello sviluppo delle lezioni di tuo interesse.
Uno degli elementi fondamentali che ha permesso ai personal computer di entrare nelle case di tutto il mondo è la sua relativa facilità di utilizzo. L'utente moderno è abituato a lavorare con interfacce user-friendly che mascherano la complessa serie di eventi che ha luogo all'interno del calcolatore. Tuttavia, per comprendere il modo di procedere e le problematiche relative alla costruzione e all'utilizzo di queste macchine, è necessario analizzarne il comportamento più in profondità.
Questa materia si propone di fornire le nozioni di base riguardo alla logica digitale, al linguaggio macchina, alla struttura dei componenti e al loro impiego all'interno di un sistema a microprocessore. Risulta quindi essere una tappa fondamentale per chiunque volesse approfondire gli argomenti legati ad un calcolatore elettronico moderno.
Prerequisiti
Per la comprensione approfondita del corso occorre aver acquisito dimestichezza con le modalità di codifica dei dati e aver appreso i fondamenti di programmazione di alto livello. In particolare sono indispensabili le nozioni riguardanti la codifica binaria ed esadecimale. È consigliata inoltre la conoscenza del linguaggio C che, pur essendo un linguaggio di alto livello, presenta molte caratteristiche che lo accomunano ad un linguaggio Assembly.
Lo studente imparerà a conoscere gli elementi costituenti di un calcolatore elettronico e ne conoscerà sommariamente la composizione fisica e logica. Il corso é molto lungo e complesso, ma al suo termine molte delle problematiche che quotidianamente rallentano il computer non saranno più un mistero per lo studente che saprà non solo descrivere e conoscere al meglio i componenti del proprio computer, ma sarà anche in grado di acquistarne uno adatto alle proprie esigenze di studio/lavoro.
Struttura interna di una CPU ad esecuzione sequenziale
Controllo e datapath
Datapath del DLX
Diagramma degli stati dell’unità di controllo del DLX
Prestazioni
Struttura interna di una CPU in pipeline
Datapath in pipeline del DLX
Dipendenze e alee
Stalli e unità di forwarding
Prestazioni
La memoria
Mapping dei chip di memoria e delle periferiche di ingresso/uscita
Decodifica degli indirizzi
Decodifica semplificata
Decodificatori e PAL
Prestazioni
Gestione dell’input/output
Polling ed interrupt
Interfacce per comunicazioni seriali e parallele
Progetto di semplici sistemi basati su CPU IA16
Cicli di bus
Generazione del segnale di ready
Calcolo degli stati di wait
Verifiche d'apprendimento
È possibile, e fortemente consigliato, integrare le lezioni e valutare la propria preparazione attraverso queste esercitazioni. È possibile verificare la conoscenza di un argomento specifico o dell'intero programma.
Questa materia al momento non prevede verifiche d'apprendimento.
Risorse
La Biblioteca del Dipartimento di Informatica contiene risorse utili per approfondire.