Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Ingegneria
INGEGNERIA INFORMATICA
Insegnamento
ARCHITETTURA DEGLI ELABORATORI (Numerosita' canale 3)
IN05122464, A.A. 2018/19

Informazioni valide per gli studenti immatricolati nell'A.A. 2018/19

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea in
INGEGNERIA INFORMATICA
IN0508, ordinamento 2011/12, A.A. 2018/19
N4cn3
porta questa
pagina con te
Curriculum Percorso Comune
Crediti formativi 9.0
Tipo di valutazione Voto
Denominazione inglese COMPUTER ARCHITECTURE
Dipartimento di riferimento Dipartimento di Ingegneria dell'Informazione (DEI)
Obbligo di frequenza No
Lingua di erogazione ITALIANO
Sede PADOVA
Corso singolo È possibile iscriversi all'insegnamento come corso singolo
Corso a libera scelta È possibile utilizzare l'insegnamento come corso a libera scelta

Docenti
Responsabile SERGIO CONGIU

Mutuante
Codice Insegnamento Responsabile Corso di studio
IN05122464 ARCHITETTURA DEGLI ELABORATORI (Numerosita' canale 3) SERGIO CONGIU IN0507

Dettaglio crediti formativi
Tipologia Ambito Disciplinare Settore Scientifico-Disciplinare Crediti
BASE Matematica, informatica e statistica INF/01 1.0
BASE Matematica, informatica e statistica ING-INF/05 8.0

Organizzazione dell'insegnamento
Periodo di erogazione Secondo semestre
Anno di corso I Anno
Modalità di erogazione frontale

Tipo ore Crediti Ore di
didattica
assistita
Ore Studio
Individuale
LEZIONE 9.0 72 153.0

Calendario
Inizio attività didattiche 25/02/2019
Fine attività didattiche 14/06/2019

Commissioni d'esame
Commissione Dal Al Membri
28 A.A. 2017/2018 01/10/2017 15/03/2019 COMIN MATTEO (Presidente)
RODA' ANTONIO (Membro Effettivo)
FANTOZZI CARLO (Supplente)
MENEGATTI EMANUELE (Supplente)
SILVESTRI FRANCESCO (Supplente)

Syllabus
Prerequisiti: Fondamenti di Informatica.
Conoscenze e abilita' da acquisire: Conoscenza e comprensione delle principali funzioni svolte da un’architettura di calcolo.
Conoscenza e comprensione delle principali tecniche di organizzazione di un’architettura di calcolo.
Essere in grado di sviluppare semplici programmi in linguaggio assembly in architettura ARM.
Modalita' di esame: L’esame finale consiste in una parte scritta e una parte orale. La parte orale può essere sostituita dal superamento delle due prove intermedie.
Criteri di valutazione: La valutazione dello studente si basa sulla conoscenza e comprensione dei concetti e metodologie presentati durante il corso, e sulla capacità di applicarli per risolvere specifici problemi.
Contenuti: • Rappresentazione dell’informazione numerica: rappresentazione di numeri naturali, interi e razionali; complemento a due; floating point; rappresentazione delle informazioni non numeriche: testi, audio, immagini, video.
• Reti logiche: sistemi combinatori e sequenziali.
• Organizzazione di un elaboratore: datapath; memoria centrale; modulo di controllo; unità aritmetico e logica; dispositivi di input/output.
• Architettura di un elaboratore: istruzioni macchina; metodi di indirizzamento; chiamate a subroutine; allocazione dinamica della memoria.
• Introduzione all’architettura ARM: organizzazione; programmazione in linguaggio assembly.
• Compilazione di un programma: dal file sorgente al file eseguibile; compilatore, assemblatore, linker.
• Sistemi di interruzione: commutazione del contesto; riconoscimento delle interruzioni; interruzioni esterne e interruzioni software.
• Organizzazione della memoria: memoria cache; memoria virtuale; memory mapping and management unit (MMU); accesso diretto alla memoria (DMA).
• Tecniche avanzate di organizzazione di un elaboratore: pipelining; branch prediction; speculazione; out of order execution; acceleratori hardware; multicore.
• Prestazioni di un’architettura: misure di prestazioni; impatto dell’hardware sulle prestazioni.
Attivita' di apprendimento previste e metodologie di insegnamento: L’insegnamento prevede lezioni frontali in aula ed esercitazioni in un laboratorio informatico. Le esercitazioni in laboratorio consistono nel progetto e collaudo di semplici programmi in linguaggio assembly per l’architettura ARM, con la sperimentazione di alcuni aspetti avanzati dell'hardware (interrupt, DMA, ...).
Eventuali indicazioni sui materiali di studio: Il materiale di studio consiste nel testo di riferimento indicato e di altro materiale fornito in Moodle (slide, manuali ARM,…)
Testi di riferimento:
  • Stallings, William, Computer organization and architecture: designing for performance - tenth edition. --: Pearson education, 2016. Testo di riferimento del corso Cerca nel catalogo
  • Patterson, Hennessy, Computer Organization and Design ARM Edition: The Hardware Software Interface. --: Morgan Kaufmann, 2017. Testo per consultazione Cerca nel catalogo
  • Congiu, Sergio, Architettura degli elaboratoriorganizzazione dell'hardware e programmazione in linguaggio assembly. --: Patron, 2012. Testo per consultazione Cerca nel catalogo