Vinaora Nivo Slider 3.x

Calcolatori Elettronici

SSD: ING-INF/05
CFU: 9

Insegnamenti propedeutici (se previsti dall'Ordinamento del CdS)

 

Eventuali prerequisiti

Conoscenza base di linguaggi di programmazione e di algoritmi fondamentali per gestire strutture dati elementari

Obiettivi formativi

Fornire gli strumenti metodologici per l’analisi e la sintesi di macchine elementari per la elaborazione delle informazioni (reti logiche combinatorie e sequenziali). Progettare macchine elementari fondamentali. Presentare i fondamenti dell’architettura dei calcolatori elettronici di tipo von Neumann, il repertorio dei codici operativi e la programmazione in linguaggio assemblativo.

Risultati di apprendimento attesi

Conoscenza e capacità di comprensione

Lo studente deve dimostrare di conoscere e comprendere le problematiche relative al progetto di macchine elementari con particolare riferimento alle macchine elementari per applicazioni elementari e aritmetiche, alle macchine sequenziali (registri, contatori, flip flop). Deve inoltre dimostrare di conoscere le architetture dei calcolatori e dei relativi sottosistemi, incluso il funzionamento del processore, le modalità di comunicazione con la memoria, il dimensionamento delle memorie e il collegamento con i vari dispositivi di input e output.

Capacità di applicare conoscenza e comprensione

Lo studente deve dimostrare di essere in grado di progettare e sviluppare reti combinatorie elementari, reti combinatorie aritmetiche, resti sequenziali. Deve inoltre essere in grado di sviluppare semplici programmi in linguaggio assembler per la gestione di strutture dati elementari (vettori, pile,…).

Programma - Syllabus

Analisi e sintesi di reti combinatorie. Minimizzazione di funzioni booleane completamente e incompletamente specificate. Mappe di Karnaugh. Metodo di Quine-McCluskey. Sintesi di reti combinatorie in logica NAND e NOR. Ritardi e problemi di alea nelle reti combinatorie.

Reti combinatorie elementari. Multiplexer e de-multiplexer. Encoder e decoder. Controllori di parità.

Macchine aritmetiche elementari: addizionatori, sottrattori, comparatori.

Analisi e sintesi di reti sequenziali. Modelli per la tempificazione e struttura delle reti sequenziali sincrone e asincrone. Flip-flop: generalità, Flip-flop RS a porte NOR. Flip-flop latch ed edge-triggered. Flip-flop D. Flip-flop a commutazione. Flip-flop T e JK. Registri. Caricamento seriale e parallelo. Registri a scorrimento.

Metodologia di progetto delle reti sincrone. Contatori sincroni e asincroni. Collegamento di contatori. Riconoscitori di sequenza. Bus e trasferimenti tra registri.

Il calcolatore elettronico: sottosistemi e architettura.

Il processore. Algoritmo del processore. Il ruolo dell’unità di controllo. Processori ad accumulatore e processori a registri generali. Tecniche di indirizzamento. Codifica delle istruzioni.

La memoria centrale. Interfacciamento processore-memoria. Organizzazione del sistema memoria.

Collegamento di moduli di memoria. Memorie RAM statiche e dinamiche. Sistemi di interconnessione e bus. Meccanismo delle interruzioni. Protezioni e controlli del processore. Gestione dell’I/O mediante polling e interruzioni. Il sottosistema di I/O.

Linguaggio macchina e linguaggio assembler. Corrispondenza tra linguaggi di alto livello e linguaggio macchina. Linguaggio assembler del processore Motorola 68000. Direttive di assemblaggio.

Allocazione in memoria dei programmi.

Simulatore di processore MC68000. Assemblaggio ed esecuzione di programmi in linguaggio assembler. Sottoprogrammi in linguaggio assembler. Tecniche di passaggio dei parametri a procedure in linguaggio macchina.

Materiale didattico

Si veda sito web del docente della materia.

Modalità di svolgimento dell'insegnamento

Il corso prevede circa il 70% di lezioni frontali in cui vengono affrontati gli argomenti teorici, mentre il restante 30% è riservato a lezioni pratiche ed esercitazioni riguardanti lo sviluppo di macchine combinatorie, macchine sincrone e sviluppo di programmi in linguaggio assembler.

Verifica di apprendimento e criteri di valutazione

Modalità di esame

L’esame prevede una prova scritta propedeutica che include esercizi su analisi e progetto di reti combinatorie, reti sequenziali, sviluppo di un programma assembler.

L'esame si articola in prova scritta e orale. In caso di prova scritta i quesiti sono: A risposta libera, Esercizi numerici.

 

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.