Inizio della pagina -
Logo DISCO
|
Visita la Versione ad elevata leggibilità
|
Vai al Contenuto della pagina
|
Vai alla Fine dei contenuti
|
Vai al Menu Principale
|
Vai alla Barra di navigazione (sei in)
|
Vai al Menu di navigazione (albero)
|
Vai alla Lista dei comandi
|
Vai alla Lista degli approfondimenti
|
Vai al Menu inferiore
|
Logo Ateneo
   
Didattica
Architettura dei calcolatori e parallelismo

Docente: R. Bisiani

Crediti: 6 CFU

Descrizione e Programma del Corso

L'obiettivo di questo corso è di estendere le conoscenze di architettura dei calcolatori acquisite nel corso di base e affrontare il problema dell'ottimizzazione delle prestazioni. Partendo da un rinfresco dei principi di funzionamento di un calcolatore, intendiamo coprire gran parte delle tecniche architetturali che permettono di migliorare il rapporto costo/prestazioni o semplicemente le prestazioni di un calcolatore. Queste tecniche coinvolgono generalmente qualche forma di esecuzione parallela, sia essa a livello di unità funzionali, e quindi "nascosta" all'interno della CPU come nel caso di un Pentium, sia essa a livello di interi programmi eseguiti in parallelo su CPU differenti e lascamente interconnesse, come nel caso di alcune macchine parallele.

In sintesi il corso tratterà di come a partire da una idea guida generale - l'esecuzione in parallelo - viene implementato un unico insieme di meccanismi a livelli diversi per ottenere lo stesso risultato: eseguire un algoritmo piu' in fretta e con minor costo

Programma:

  • Considerazioni di base e misura delle prestazioni.
  • Misura sul campo delle prestazioni di un'architettura
  • Tecniche di base di pipelining
  • Progetto dell'implementazione di una CPU con unità funzionali multiple
  • Instruction Set Architecture (ISA) - considerazioni e alternative - ruolo dei compilatori
  • Analisi del codice generato per un MIPS-64, valutazione dell'influenza dell'ISA sulle prestazioni
  • Instruction Level Parallelism (ILP) - soluzioni hardware
  • Simulazione del flusso di esecuzione in un'architettura implementata con tecniche per lo sfruttamento hardware dell'ILP
  • ILP - soluzioni software tra cui VLIW
  • Riscrittura manuale di piccole sequenze di codice per sfruttare l'ILP in diverse architetture
  • Gerarchie di memoria e considerazioni tecnologiche che le giustificano
  • Calcolare le prestazioni di una gerarchia di memoria a piu' livelli sulla base di statistiche reali
  • Thread-level Parallelism
  • Scrivere un piccolo ma efficiente programma parallelo per un'architettura message-passing
  • Memorie di massa
  • Valutazione in Internet delle soluzioni RAID a delle specifiche necessità prestazionali e di robustezza
  • Interconnessioni
  • Valutazione in Internet delle soluzioni SAN che rispondono a certe specifiche.

Testi utilizzati:

  • Hennessy, Patterson, Computer Architecture - A Quantitative Approach, Terza edizione, Morgan Kaufmann

Per ulteriori informazioni sul corso rivolgersi direttamente ai docenti.

Vai al sito web del corso

Approfondimenti

Google Translate
Translate to English Translate to French Translate to German Translate to Spanish Translate to Chinese Translate to Portuguese Translate to Arabic
Translate to Albanian Translate to Bulgarian Translate to Croatian Translate to Czech Translate to Danish Translate to Dutch Translate to Finnish Translate to Greek Translate to Hindi
Translate to Hungarian Translate to Irish Translate to Japanese Translate to Korean Translate to Norwegian Translate to Polish Translate to Romanian Translate to Russian Translate to Serbian
Translate to Slovenian Translate to Swedish Translate to Thai Translate to Turkish

(C) Copyright 2016 - Dipartimento Informatica Sistemistica e Comunicazione - Viale Sarca, 336
20126 Milano - Edificio U14
redazioneweb@disco.unimib.it - ultimo aggiornamento di questa pagina 28/03/2011