Politecnico di Torino | |||||||||||||||||
Anno Accademico 2017/18 | |||||||||||||||||
02GQCOQ Integrated systems architecture |
|||||||||||||||||
Corso di Laurea Magistrale in Ingegneria Elettronica (Electronic Engineering) - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
Presentazione
Il corso e' tenuto in lingua Inglese.
Questo insegnamento è offerto a scelta nel corso di laurea magistrale in Ingegneria Elettronica ed è collocato al primo periodo didattico del secondo anno. In particolare, l’insegnamento completa la formazione degli studenti interessati al progetto di circuiti e sistemi digitali. L’obiettivo principale dell’insegnamento è fornire le tecniche per il progetto di architetture avanzate per l’elaborazione numerica, con riferimento sia alle soluzioni programmabili, come i microprocessori, sia a quelle completamente dedicate a una applicazione specifica (ASIC). Tra i sistemi programmabile, l’insegnamento tratta soprattutto il caso delle architetture superscalari e concepite per sfruttare il parallelismo a livello istruzione (ILP). Sono poi illustrati i metodi e gli strumenti per progettare e ottimizzare architetture dedicate, partendo dalle specifiche iniziali e arrivando fino alla verifica post-layout del circuito. Infine, l’insegnamento copre anche il progetto di circuiti aritmetici e interconnessioni on-chip. Le attività di laboratorio sono una parte importante dell’insegnamento e prevedono l’uso dei moderni strumenti di progetto per circuiti integrati. |
Risultati di apprendimento attesi
Conoscenza delle metodologie di progetto dei sistemi integrati digitali
Conoscenza dell’architettura dei microprocessori Conoscenza degli strumenti di progetto basati su linguaggi HDL (VHDL, Verilog, System C) Conoscenza e capacità nel progetto dei componenti fondamentali delle architetture digitali integrate, come circuiti aritmetici, memorie, interfacce e interconnessioni Capacità di progettare un circuito integrato digitale, dalle specifiche iniziali, fino alla verifica post-layout Capacità di leggere e apprendere da un articolo scientifico Capacità di scrivere un report tecnico di progetto. |
Prerequisiti / Conoscenze pregresse
Elettronica digitale di base, al livello corrispondente al termine del primo corso obbligatorio di Elettronica Digitale nel corso di laurea magistrale. In particolare devono essere noti i circuiti digitali combinatori e sequenziali e relative tecniche di sintesi, il progetto di unità di controllo hardwired e micro programmate, la temporizzazione delle unita' di elaborazione nonche' i concetti base relativi alle architetture di elaborazione complesse, comprese le memorie e le interconnessioni, il linguaggio di descrizione dell'hardware VHDL.
|
Programma
L’insegnamento comprende quattro argomenti principali: 1. Metodi per la trasformazione di un algoritmo in un’architettura dedicata (1,5 CFU) Questi metodi (per esempio, pipelining, retiming, folding, unfolding) sono basati sulla rappresentazione mediante grafo dell’algoritmo e permettono l’esplorazione di soluzioni architetturali alternative, con diverso costo implementativo e prestazioni. Come esempi guida, sono usati i filtri numerici. 2. Architettura dei microprocessori (2 CFU) Ripasso delle architetture con pipelining (MIPS). Studio qualitativo e quantitativo delle architetture superpipelined, superscalari, dataflow e VLIW. Parallellismo potenziale. Esecuzione out-of-order. Reservation stations. Reorder buffer. Tecniche per la branch prediction. Valutazione delle prestazioni. Processori multi-core. Processori customizable. 3. Progetto di circuiti aritmetici (1,5 CFU) Sommatori, moltiplicatori, divisione hardware, radice quadrata 4. Interconnessioni on-chip (1 CFU) Fondamenti sui bus, esempi di bus on-chip, Network-on-Chip (NoC) |
Organizzazione dell'insegnamento
Le attività di laboratorio sono una parte importante dell’insegnamento e prevedono l’uso dei moderni strumenti di progetto per circuiti integrati. In laboratorio sono formati gruppi di lavoro di due o tre studenti, che devono completare i progetti assegnati su tre casi di studio:
1. Progetto di una unità di processing per un’applicazione specifica, dal VHDL al layout Progetto descritto in VHDL strutturale Strumenti usati: Synopsys + Encounter 2. Progetto di un processore customizable Progetto descritto in linguaggio C e VHDL behavioural Strumenti usati: TTA-based Co-design Environment (TCE) + VHDL tools 3. Progetto di un sistema in SystemC Progetto descritto in linguaggio SystemC Strumenti usati: co-simulazione (Modelsim) di SystemC a VHDL I progetti assegnati devono essere completati entro la fine del corso. I risultati conseguiti devono essere riportati in un elaborato, che viene valutato e concorre alla formazione del voto finale. |
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Il materiale didattico usato per lezioni e laboratori è reso disponibile tramite il sito web dell’insegnamento: questo materiale comprende appunti, slide, articoli scientifici e capitoli di libro.
Testi di riferimento che coprono parte dei contenuti sono: David A. Patterson, John L. Hennessy, Computer Organization and Design, third edition,Elsevier, 2005 K.K. Parhi, VLSI Digital Signal ProcessingSystems: Design and Implementation, John Wiley, 1999 |
Criteri, regole e procedure per l'esame
Il voto finale è formato sulla base di due componenti:
1. Valutazione dell’esame scritto (80%), fino a 24 punti (l’esame scritto comprende una o due problemi di progetto, e due o tre domande a risposta aperta su tutto il programma. La durata dell’esame è di due ore.) 2. Valutazione dei progetti e colloquio orale (20%), fino a 6 punti (il colloquio riguarda principalmente i progetti) |
Orario delle lezioni |
Statistiche superamento esami |
|