Page begin -
Logo DISCO
|
Go to the Highly accessible area
|
Go to the Content page
|
Go to the End of content
|
Go to the Main menu
|
Go to the Navigation Bar (location)
|
Go to the Navigation menu (tree)
|
Go to the Commands list
|
Go to the Further readings
|
Go to the Bottom Menu
|
Logo Ateneo
   
Education
Architettura dei calcolatori e parallelismo

Docente: R. Bisiani

Crediti: 6

L'obbiettivo 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

Testi utilizzati:

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

Per ulteriori informazioni sul corso rivolgersi direttamente ai docenti.

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.

Vai al sito web del corso

Further readings
(C) Copyright 2016 - Dipartimento Informatica Sistemistica e Comunicazione - Viale Sarca, 336
20126 Milano - Edificio U14
redazioneweb@disco.unimib.it - last update of this page 28/03/2011