ARCHITETTURA DEGLI ELABORATORI - MOD.2
- Anno accademico
- 2020/2021 Programmi anni precedenti
- Titolo corso in inglese
- COMPUTER ARCHITECTURE
- Codice insegnamento
- CT0005 (AF:332800 AR:176662)
- Lingua di insegnamento
- Italiano
- Modalità
- In presenza
- Crediti formativi universitari
- 6 su 12 di ARCHITETTURA DEGLI ELABORATORI
- Livello laurea
- Laurea
- Settore scientifico disciplinare
- INF/01
- Periodo
- II Semestre
- Anno corso
- 1
- Sede
- VENEZIA
- Spazio Moodle
- Link allo spazio del corso
Inquadramento dell'insegnamento nel percorso del corso di studio
Il corso permette di acquisire i fondamenti teorici e le tecniche per la progettazione di un elaboratore nelle sue componenti principali: Processore -
Input/Output - Memoria.
Permette altresì di approfondire la conoscenza sui livelli macchina/assembler di un calcolatore convenzionale.
Vengono inoltre fornite le conoscenze sulle misure e le tecniche usate per valutare le prestazioni di un calcolatore.
Il corso enfatizza infine l'interfaccia tra l'hardware e il software di un elaboratore.
Risultati di apprendimento attesi
Lo studente avrà acquisito padronanza della terminologia tecnica specifica.
Sarà in grado di riconoscere e comprendere le basi teoriche per la progettazione delle componenti principali di un elaboratore.
Avrà conoscenze sulla rappresentazione dell'informazione e sulle misure di valutazione delle prestazioni.
Comprenderà la complessità delle moderne architetture degli elaboratori, e la loro influenza sulla progettazione e prestazione del software.
Inoltre, lo studente acquisirà conoscenza sul livello di programmazione macchina/assembly, e sulla traduzione di semplici programmi ad alto livello in linguaggio assembly.
Capacità di applicare conoscenza e comprensione.
Lo studente sarà in grado di svolgere esercizi finalizzati ad applicare le conoscenze acquisite nei vari argomenti del corso; in particolare, sulla rappresentazione di valori numerici interi e reali, sulla progettazione logica dei circuiti, sul parallelismo a livello di istruzioni, sulla realizzazione dei vari livelli delle gerarchie di memoria, sulla valutazione delle prestazioni dei processori e dei sottosistemi di I/O, sulla traduzione in assembly di programmi imperativi ad alto livello.
Inoltre sarà in grado di fare scelte hardware/software applicando i principi della valutazione delle prestazioni.
Prerequisiti
Contenuti
- Progetto avanzato della CPU: pipeline
- Gerarchie di memoria
- Input/Output
- Esecuzione dei programmi: compilatore, assemblatore, linker, loader
- Processo di traduzione: dal C all'assembler MIPS
- Simulatore SPIM
Testi di riferimento
David A. Patterson, John L. Hennessy. "Struttura e Progetto dei Calcolatori - Quarta Edizione Zanichelli". Zanichelli, 2015.
Modalità di verifica dell'apprendimento
La prima riguarda un insieme di domande teoriche a risposta aperta, il cui scopo è testare la padronanza della studente rispetto ai vari argomenti del corso e alla terminologia tecnica specifica.
La seconda parte dell'esame mira a testare le competenze acquisite, attraverso la soluzione di esercizi sugli argomenti del corso.
Modalità di esame
Metodi didattici
Esercitazioni.
Lezioni pratiche.