Saltar al contingut Menu
Mapa
  • Inici
  • Informació
  • Contacte
  • Mapa

Arquitectures de Computadors Avançades (ACA)

Crèdits Dept.
7.5 (6.0 ECTS) AC

Professors

Responsable:  (-)
Altres:(-)

Objectius Generals

Que l'alumne sigui capaç de:

- comprendre el funcionament i implementar a nivell de blocs un processador segmentat senzill amb una jerarquia de cache (instruccions i dades) i amb suport per a memoria virtual paginada.

- comprendre el funcionament i implementar a nivell de blocs un processador segmentat senzill amb excepcions precises i suport per a interrupcions externes

- comprendre el funcionament i implementar a nivell de blocs tecniques actuals de millora del rendiment d'un processador segmentat, incloent execució superescalar, execució fora d'ordre i tècniques de multithreading

- comprendre el funcionament i implementar a nivell de blocs les tècniques de processament vectorial, aplicades en particular al suport de programes multimedia.

- comprendre el funcionament de processadors de propòsti específic com poden ser els DSP o les targes acceleradores de gràfics 3D.

Objectius Específics

Coneixements

  1. Concepte de jerarquia de memòria, ordenació d'instruccions de "store", tècniques d'escriptura a la cache, write buffer, merge buffer, cache flush.
    Dependencies store-load en un pipeline de 2 etapes de write.
  2. Concepte de TLB, suport a la memòria paginada virtual del Sistema Opeatiu i gestió de fallades en el TLB.
  3. Concepte d'excepcions precises (i no precises). Concepte d'Interrupció. Impacte de les excepcions i interrupcions en el proces de segmentació. Recuperació d'estar precís. Ordenació d'excepcions. Implementació vector interrupcions.
  4. Concepte de predicció de salts. Predictors de 2 bits i predictors amb historia. Integració del predictor en el pipeline segmentat. Entrenament del predictor. Recuperació en cas d'error
  5. Concepte d'execució fora d'ordre, en les variants de "completar en desordre" i "iniciar i completar en desordre. Técnica de Reorder Buffer i Futur File de Smith & Plezskun, 1985. Recuperació de l'estat precís en cas d'excepció i interrupció.
  6. Concepte de renombrament de registers. Integració del renombrament en el pipeline. Integració amb Reorder Buffer. Recuperació taula renombrament en cas d'excepció.
  7. Concepte de selecció (pick & wakeup) d'instruccions dins una finestra d'instruccions. Control de dependencies entre registres. Control dependencies entre instruccions memòria.
  8. Concepte d'execució superescalar. Fetch de múltiples instruccions en un cicle. Estructures necessaries per suport execució de dues instruccions simultànies.
  9. Concepte d'execució multithread. Tipus de multithreading: fine-grain, switch-on-event, simultaneous multithreading. Concepte de Chip-Multiprocessor. Integració de dos threads en el pipeline segmentat fora d'ordre amb renaming.
  10. Concepte d'execució vectorial. Avantatges i problemes de l'execució vectorial. Instruccions específiques d'accés a memoria (Strides i Gather/Scatter). Particionat del datapath en lanes. Organització de la memoria per a accessos vecotrials.
  11. Concepte de processador de propòsit específic: embedded, DSP i gràfics 3D. Exemple funcionament processador gràfic 3D.

Habilitats

  1. Fer servir amb soltura el simulador LogicWorks 4 i LogicWorks 5. Ser capaç de crear un model dels processadors presentats i simular-los.
  2. Usar verilog com a llenguatge de modelat de hardware per modelar els processadors presentats a classe.

Competències

  1. Capacitat de resoldre problemes aplicant els mètodes de la ciència i l'enginyeria
  2. Capacitat per crear i utilitzar models de la realitat.
  3. Capacitat per dissenyar i dur a terme experiments, i d'analitzar-ne els resultats.
  4. Saber aplicar el cicle de resolució de problemes típic de la ciència i l'enginyeria: especificació, generació d'idees i alternatives, disseny d'una estratègia de solució, execució de l'estratègia, validació, interpretació i avaluació dels resultats. Capacitat d'analitzar el procés un cop acabat.
  5. Capacitat per prendre decisions en presència d'incertesa o de requisits contradictoris
  6. Capacitat d'iniciativa: ser resolutiu, saber prendre decisions i actuar per solucionar un problema.
  7. Capacitat per treballar efectivament en grups grans de persones per a la resolució d'un problema complex.
  8. Capacitat de formar i organitzar un equip, uni o multidisciplinar, per abordar un projecte complex.
  9. Capacitat de lideratge.
  10. Ser capaç d'entendre i criticar constructivament les presentacions d'altres.
  11. Assumir la responsabilitat del propi treball

Continguts

Hores estimades de:

T P L Alt L Ext. Est A Ext.
Teoria Problemes Laboratori Altres activitats Laboratori extern Estudi Altres hores fora d'horari fixat

1. Introducció a l'arquitectura dels processadors actuals.
T      P      L      Alt    L Ext. Est    A Ext. Total 
2,0 0 0 0 0 0 0 2,0
Introducció dels conceptes actuals d'arquitectura de processadors. Repàs de les tècniques de fabricació de processadors i les restriccions que imposen en l'arquitecte. Presentació del curs.

2. Revisió de conceptes d'arquitectura de computadors
T      P      L      Alt    L Ext. Est    A Ext. Total 
2,0 0 0 0 0 0 0 2,0
Revisió Llei de Rendiment i Llei d'Amdhal. Concepte de dependència registres i memòria. Revisió concepte de segmentació. Revisió curtircuits.

3. El processador Base
T      P      L      Alt    L Ext. Est    A Ext. Total 
6,0 2,0 0 0 0 6,0 0 14,0
Repàs processador segmentat en 5 etapes. Repàs motivació i concepte jerarquia de memòria. Introducció cache instruccions i dades en el processador. Pipeline de stores: dificultat implementació uni-cicle i solucions. Recordatori memòria virtual. Introducció concepte TLB. Acoblament del TLB en el processador. Solucions a les fallades de TLB. Excepcions precises: introducció i problemàtica. Propagació vector excepcions. Comunicació amb el sistema operatiu.

4. Operacions Multicicle
T      P      L      Alt    L Ext. Est    A Ext. Total 
4,0 2,0 0 0 0 4,0 0 10,0
Pipeline de punt flotant. Acabament instruccions en desordre. Problemes en conflictes de write back. Solució riscs WAW. Problema excepcions precises: solució reorder buffer i future file (Smith & Plezskun). Problemes amb pipeline de stores, dependencies load-store i bypassos.

5. Predicció de salts
T      P      L      Alt    L Ext. Est    A Ext. Total 
2,0 0 0 0 0 2,0 0 4,0
Concepte de predicció de salts. Integració del predictor en el pipeline segmentat. Tècniques d'implementació de predictors: 2-bit i amb història.

6. Processadors amb execució fora d'ordre
T      P      L      Alt    L Ext. Est    A Ext. Total 
4,0 2,0 0 0 0 4,0 0 10,0
Problema ordenació dinàmica. Renaming centralitzat tipus MIPS R10000. Noves estructures: finestra instruccions, taula renombrament, llista graduació (ROB). Implementació Pick & Wakeup. Algorisme renombrament registres R10000. Excepcions: recuperació de la taula renaming. Integració amb el predictor: còpies de la taula de renaming. Implementació Free List. Implementació mort selectiva d'instruccions.

7. Processadors amb execució Superescalar
T      P      L      Alt    L Ext. Est    A Ext. Total 
2,0 1,0 0 0 0 2,0 0 5,0
Objectiu IPC > 1. Problema Fetch: aprofitament línia cache per obtenir dues instruccions per cicle. Modificacions a decode: renombrament en cascada. Modificacions a finestra: nou picker. Modificacions per retirar instruccions.

8. Processadors amb execució multi-threaded
T      P      L      Alt    L Ext. Est    A Ext. Total 
4,0 1,0 0 0 0 4,0 0 9,0
Concepte thread. Rel.lació amb S.O. Objectiu multithreading: augmentar throughput i millorar eficiencia. Tècniques de multithreading: fine-grain, switch-on-event, simultaneous multithreading. Integració mutlithreading en el pipeline segmentat fora d'ordre. Exemple Penitum-4. Processadors multi-core.

9. Processadors amb Execució Vectorial
T      P      L      Alt    L Ext. Est    A Ext. Total 
6,0 2,0 0 0 0 6,0 0 14,0
Execució paralela amb múltiples unitats funcionals: problemes i solucions. Concepte "Single Instruction Multiple Data". Variants multimedia. Instruccions específiques vectorials: accés a memoria amb stride, gather/scatter, execució sota máscara. Implementació banc registres vectorial. Accés a memória organitzada en bancs.

10. Acceleradors 3D
T      P      L      Alt    L Ext. Est    A Ext. Total 
5,0 2,0 0 0 0 5,0 0 12,0
Pipeline Grafic. Etapes de proces: geometry, transform, rasterize, fragment, raster ops. Vertex Shaders, Pixel Shaders, Controlador de Memoria. Etapes de funcio fixa del pipeline. Organització Multithreaded. Sincronitzacio. Cache de Textures.

11. Implementació d'un processador segmentat multicicle superescalar de 2 vies amb predictor de salts
T      P      L      Alt    L Ext. Est    A Ext. Total 
0 0 14,0 0 30,0 0 0 44,0
En les classes de laboratori s'anirà desenvolupant la implementació (usant LogicWorks) d'un processador segmentat multicicle superescalar. El processador fara fetch i retirarà dues instruccions per cicle. Preferiblement, els alumnes implementaran un processador de 2 vies generals, pero només caldrà fer un accés a la cache de dades per cicle. El sistema inclourà memòria principal i un controlador de disc amb DMA que haurà de interrompore el processador. Opcionalment, alguns alumnes podran fer una versió amb 2 threads.
  • Activitats de laboratori addicionals:
    Treball personal per part dels alumnes per portar endavant la practica: implementació dels schematics, vectors de test, ensamblat d'etapes, etc...

12. Processador Modern
T      P      L      Alt    L Ext. Est    A Ext. Total 
4,0 0 0 0 0 4,0 0 8,0
En aquest tema s'unifiquen tots els conceptes vistos fins al moment i es presenten en el context d'un pipeline i un processador real (Pentium 4 o Pentium M), per completar aquells aspectes que han quedat simplificats en els temes anteriors.


Total per tipus T      P      L      Alt    L Ext. Est    A Ext. Total 
41,0 12,0 14,0 0 30,0 37,0 0 134,0
Hores addicionals dedicades a l'avaluació 0
Total hores de treball per l'estudiant 134,0

Metodologia docent

Teoria i Problemes: Habitual (magistral)

Laboratori:

Els alumnes realitzen COL.LECTIVAMENT una única pràctica que consisteix en implementar un processador senzill amb 5, 6 o 7 etapes, superescalar, multicicle i amb predicció de salts. El processador ha d'incloure una jerarquia de cache (instruccions i dades), i ha de compartir dades amb un controlador de disc a través del bus i la memòria principal.

Es important emfatitzar que tots els alumnes treballen en el MATEIX processador. Es a dir, els alumnes s'estructuren en grups per etapes, pero al final han d'ensamblar totes les peces del processador i fer que funcioni. No cal destacar l'excel.lent impacte docent, de motivació i d'interès que aquesta manera de treballar comporta. Els alumnes s'enfronten a un projecte real, en el que els diferents equips s'han de comunicar entre ells, negociar, arribar a a acords i escollir una implementació que sigui simple per a tothom. A més a més, el professor vetlla per a que no es facin simplificacions excessives en la implementació, afegint doncs pressió per a que el procés total s'acosti al màxim a la realitat.

La planificació del curs s'adapta a la pràctica. Al prinicpi, es fan el màxim de classes de teoria (i alguna de problemes) per poder exposar en 4 setmanes els coneixements que permetin iniciar la pràctica quan abans millor.

Les sessions del laboratori poden ser indistinatament a l'aula de PCs o a l'aula de pissarra. En les primeres, els alumnes implementen detalls concrets de la pràctica i debuggen els circuits. Aquestes sessions son especialment útils en els moments que cal integrar les diferents etapes del processador.
El segon tipus de sessions son les sessions de disseny del processador, en el que els diferents grups discuteixen la implementació exacta del processador sota la supervisió del professor.

Mètode d'avaluació

NP1 = Nota Pràctica Primera Entrega
NP2 = Nota Pràctica Segona Entrega
NE = Nota Examen

Nota Final = 0.4 NE + 0.2 NP1 + 0.4 NP2

La primera entrega de pràctica es realitzarà abans de la meitar del curs per verificar el bon funcionament dels components bàsics del processador i el bon seguiment de l'alumne dels conceptes explicats a teoria i posats en aplicació a la pràctica.

Bibliografía bàsica

  • David A. Patterson, John L. Hennessy Computer Organization and Design, 3rd Edition, Morgan Kaufmann, 1997.

Bibliografía complementària

  • Mike L. Johnson Superscalar Microprocessor Design, Prentice Hall, 1991.
  • Bruce D. Shriver, Bennett Smith The Anatomy of a high-performance microprocessor : a systems perspective, IEEE Computer Society Press, 1998.
  • Capilano Computing Systems, Ltd LogicWorks 5 : interactive circuit design software, Prentice Hall, 2004.

Enllaços web

(Informació no introduïda)

Capacitats prèvies

(-)


Compartir

 
logo FIB © Facultat d'Informàtica de Barcelona - Contacte - RSS
Aquest web utilitza cookies pròpies per oferir una millor experiència i servei. En continuar amb la navegació entenem que acceptes la nostra política de cookies.
Versió clàssica Versió mòbil