Logo UAB

Arquitectura de computadors

Codi: 102775 Crèdits: 6
2024/2025
Titulació Tipus Curs
2502441 Enginyeria Informàtica OB 2

Professor/a de contacte

Nom:
Miquel Àngel Senar Rosell
Correu electrònic:
miquelangel.senar@uab.cat

Equip docent

Juan Carlos Moure Lopez
Xiaoyuan Yang
Manuel Montoto González
August Arnal Rus
Quim Aguado Puig
Ana Candelaria Alvarez
Vicente José Ivars Camañez
Javier Panadero Martinez
(Extern) Joan Piedrafita

Idiomes dels grups

Podeu consultar aquesta informació al final del document.


Prerequisits

Encara que no hi ha prerequisits formalment establerts, és indispensable un bon coneixement del llenguatge de programació C i de l'estructura bàsica del computador, incloent la organització de la jerarquia de memòria, i entendre el llenguatge assemblador (Resultats d'Aprenentatge d'Estructura de Computadors).


Objectius

  1. Entendre les tècniques arquitectòniques basades en paral·lelisme per millorar el rendiment del computador.
  2. Entendre el principi de localitat d'accés a dades i les solucions arquitectòniques aplicades a la jerarquia de memòria.
  3. Descriure les tècniques d'avaluació de rendiment, les mètriques emprades, i els mètodes de visualització de resultats.
  4. Avaluar el rendiment de fragments d'aplicacions en sistemes de còmput multi-nucli i GPU, seleccionant les tècniques d’avaluació adequades.
  5. Analitzar els colls d'ampolla del rendiment de l'execució d'un fragment de programa: límits per capacitat d'execució dels recursos del computador, límits per dependències de dades i latències de les operacions, i límits per fallades a la jerarquia de memòria.
  6. Fer servir l'anàlisi per a seleccionar el sistema de còmput adequat a una aplicació i/o aplicar optimitzacions del codi que millorin el seu paral·lelisme (a nivell d'instrucció i de fils d'execució) i la localitat d'accés a les dades.

Competències

  • Capacitat per definir, avaluar i seleccionar plataformes de maquinari i programari per al desenvolupament i l'execució de sistemes, serveis i aplicacions informàtiques.
  • Capacitat per dissenyar, desenvolupar, seleccionar i avaluar aplicacions i sistemes informàtics, assegurant-ne la fiabilitat, la seguretat i la qualitat, d'acord amb els principis ètics i la legislació i la normativa vigents.
  • Coneixement, administració i manteniment de sistemes, serveis i aplicacions informàtiques.
  • Conèixer i aplicar els principis fonamentals i tècniques bàsiques de la programació paral·lela, concurrent, distribuïda i de temps real.
  • Conèixer, comprendre i avaluar l'estructura i arquitectura dels computadors, així com els components bàsics que els conformen.
  • Tenir una actitud personal adequada.

Resultats d'aprenentatge

  1. Analitzar i entendre la translació que fa el computador del codi font original per generar el codi binari executable.
  2. Analitzar les diverses alternatives de disseny d'un computador en funció de paràmetres tècnics (prestacions) i econòmics (costos).
  3. Confeccionar codi eficient per ser executat en arquitectures multinucli i multiprocessador.
  4. Conèixer i aplicar els principis fonamentals i tècniques bàsiques de la programació paral·lela i de temps real.
  5. Conèixer, administrar i mantenir sistemes informàtics des del punt de vista hardware.
  6. Dissenyar, desenvolupar, seleccionar i avaluar sistemes informàtics, assegurant la seva fiabilitat, seguretat i qualitat.
  7. Entendre el llenguatge assemblador per depurar errors en el codi font i per detectar problemes de rendiment.
  8. Generar propostes innovadores i competitives en l'activitat professional.
  9. Gestionar la informació incorporant de manera crítica les innovacions del propi camp professional, i analitzar les tendències de futur.
  10. Identificar anomalies, ineficiències i colls d'ampolla de rendiment en executar un programa en un computador monoprocessador, tant en còmput com en accés a memòria, i proposar modificacions al programa per millorar el rendiment.
  11. Identificar l'arquitectura i organització dels microprocessadors actuals, des dels sistemes monoprocessador fins als sistemes multinucli.
  12. Mesurar el temps d'execució d'un programa en un processador i el recompte d'instruccions executades.

Continguts

1. Fonaments de Disseny i Avaluació dels Computadors

  • Latència, Paral·lelisme i Localitat
  • Cost, Rendiment, Consum Energètic i Fiabilitat
  • Mètriques i Tècniques d'Avaluació del Rendiment
  • Mètodes de Visualització de Resultats

2. Jerarquia de Memòria: Funcionalitat i Tasa de Fallades

  • Funcionament de la Jerarquia de Memoria: Caché, Memòria i Disc
  • Bloc i línea de Caché. Algorismes d'emplaçament i reemplaçament
  • Tassa de Fallades i Rendiment de l'execució seqüèncial
  • Patrons d'Accés a Memòria 
  • Optimitzacions de codi per a millorar la localitat d'accés a les dades

3. Paral·lelisme al nucli d'Execució del Processador i a la Jerarquia de Memòria

  • Segmentació de l'execució: Latència i Capacitat d'execució
  • Execució Múltiple d'instruccions i Predicció de Salts
  • Anàlisi de dependències entre instruccions i de límits de capacitat del processador
  • Instruccions explícites per aprofitar el Paral·lelisme de Dades (SIMD)
  • Paral·lelisme en l'accés a la jerarquia de memòria: Latència i Amplada de Banda
  • Optimitzacions de codi que aprofiten el paral·lelisme intern del processador
  • Introducció als sistemes paral·lels multiprocessador i multicomputador.
  • Introducció als sistemes distribuïts.

Activitats formatives i Metodologia

Títol Hores ECTS Resultats d'aprenentatge
Tipus: Dirigides      
Classes de Teoria 26 1,04 1, 2, 3, 4, 5, 6, 8, 9, 10, 11
Problemes 12 0,48 1, 2, 3, 4, 5, 6, 7, 10
Pràctiques de Laboratori 12 0,48 1, 3, 5, 6, 7, 8, 9, 10, 12
Tipus: Autònomes      
Estudi i Preparació de Proves 30 1,2 1, 2, 3, 4, 7, 8, 9, 10, 11, 12
Preparació de Problemes 30 1,2 1, 3, 4, 7, 10, 11, 12
Preparació de Pràctiques 32 1,28 1, 3, 4, 7, 8, 9, 10, 11, 12

Classes de Teoria: s'exposaran els coneixements propis de l'assignatura. Es descriuran els conceptes bàsics i s'indicaran exemples i petits problemes de com fer-los servir en la pràctica. Es ressaltaran els problemes d'aprenentatge més importants i es mostrarà com completar i aprofundir en els continguts. Es discutiran casos pràctics i el professor detectarà els problemes de comprensió i raonament més comuns i els resoldrà per a tots els estudiants.

Classes de Problemes: es faran activitats cooperatives de resolució de problemes. A partir del treball previ individual dels alumnes, aquests faran una posta en comú en grup i resoldran els dubtes que hagin pogut sorgir. El professor detectarà els problemes de comprensió i raonament més comuns i els resoldrà per grups o per a tots els estudiants. Aquests seminaris permetran aportar els coneixements que li falten a l'estudiant o indicar on es poden adquirir. Serviran de pont entre les classes de teoria i el treball pràctic. Al llarg del curs es proposaran exercisis que s'hauran d'entregar com a evidències avaluables a les sessions de problemes o a través del Moodle.

Classes de Laboratori: serviran de suport a la teoria. Els alumnes disposaran de la informació de pràctiques amb temps suficient abans de cada sessió, i hauran de preparar la part prèvia indicada a l'informe per tal que el professor, al començament de la sessió, la pugui revisar. Durant la sessió els alumnes hauran d'informar al professor sobre els seus avenços i els problemes que es puguin trobar, i en finalitzarla sessió entregaran un document amb els resultats de la pràctica i un resum dels problemes trobats.

Competències transversals: Seran treballades i avaluades en diversos moments al llarg del curs. Concretament:

  • T06.03 - Generar propostes innovadors i competitives en l'activitat professional: al llarg del curs es treballaran exemples per il·lustrar de quina forma es poden proposar diferents solucions a un mateix problema, avaluant-ne la seva rellevància des d'un punt de vista del rendiment obtingut. A les classes de laboratori s'avaluarà aquesta competència mitjançant exercicis que els estudiants hauran de resoldre aportant solucions que tinguin aspectes originals i innovadors.
  • T06.04 - Gestionar la informació incorporant de manera crítica les innovacions del propi camp professional, i analitzar les tendències del futur: al llarg del curs es presentaran aquells elements que siguin més innovadors des del punt de vista de l'arquitectura dels nous processadors. A les classes de laboratori s'inclouran preguntes específiques sobre aquestes innovacions tecnològiques contrastant-les amb els equips usats en la resolució dels exercicis pràctics.

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, per a la complementació per part de l'alumnat de les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.


Avaluació

Activitats d'avaluació continuada

Títol Pes Hores ECTS Resultats d'aprenentatge
Prova Individual de Problemes, Teoria i Laboratori 25% 2 0,08 1, 2, 3, 4, 5, 7, 9, 10, 11
Prova Individual de Problemes, Teoria i Laboratori 25% 2 0,08 1, 2, 3, 4, 5, 7, 9, 10, 11
Resolució de Problemes en Grup 20% 2 0,08 1, 2, 4, 6, 7, 9, 10
Treball en grup al Laboratori 30% 2 0,08 1, 3, 4, 6, 7, 8, 9, 10, 12

Les dates d'avaluació continuada i lliurament de treballs es publicaran a la plataforma Moodle de la UAB i poden estar subjectes a possibles canvis de programació per motius d'adaptació a possibles incidències; sempre s'informarà al Moodle sobre aquests canvis ja que s’entén que és la plataforma habitual d'intercanvi d'informació entre professor i estudiants. Els estudiants que siguin repetidors hauran de fer les mateixes activitats que la resta i no es preveu cap mena de convalidació per activitats realitzades en cursos anteriors. L'assignatura consta de les acivitats d'avaluació següents:

Proves individuals (I1, I2; 25% i 25% sobre la qualificació final).  Són dues proves de resolució de problemes, de preguntes teòriques i de preguntes relacionades amb les pràctiques de laboratori. L'avaluació de l'alumne es farà a partir de les respostes de les proves.

Problemes resolts en grup i participació a les classes de problemes (Prb;  20% sobre la qualificació final). Al llarg del curs es proposaran una sèrie d'exercisis que es resoldran i es lliuraran de forma individual o en grup. Hi haurà 4 entregues, com a mínim, previstes al llarg del curs i totes tindran el mateix pes relatiu en la qualificació d'aquest apartat. Cada entrega serà avaluada per separat i no hi haurà cap mecanisme de recuperació per a aquesta part.

Pràctiques de laboratori en grup (Lab; 30% sobre la qualificació final), amb discussió i ajuda del professor. Les activitats s'estenen durant una o dues sessions i cal entregar un document de resultats, respostes i conclusions al finalitzar la darrera sessió (entre 2 i 4 entregues). L'avaluació de l'alumne es farà a partir de la participació enles sessions i dels documents lliurats. No hi haurà cap mecanisme de recuperació per a aquesta part.

Cal una nota igual o superior a 5 sobre 10 en la nota Lab per a aprovar l'assignatura.  En cas contrari, l'assignatura tindrà una qualificació de Suspès amb un valor numèric igual a la nota Lab / 2.

L'alumne no necessita realitzar més proves si les qualificacions de les proves individuals (I1 i I2) compleixen la condició següent:

     ((max (I1, I2) + 2* min (I1, I2)) / 3 >= 5   (qualificacions I1 i I2 sobre escala de 10 punts)

 

En aquest supòsit, la nota final de l'assignatura es calcula com:

Nota FINAL =   (I1*2,5+ I2*2,5 Prb*2 Lab*3)/10

Cal una nota igual o superior a 5 punts en la Nota FINAL per a aprovar l'assignatura.

 -----------------

Si no es compleix la condició anterior, l'alumne ha de realitzar necessàriament una prova final de recuperació.

Prova Final (F), durant la data reservada per l'Escola. L'avaluació de l'alumne es farà a partir de les respostes de la prova.

Nota FINAL =   (F*5 Prb*2 Lab*3 ) / 10

Cal una nota igual o superior a 5 punts en la Prova Final (F) i una nota igual o superior a 5 punts en la Nota FINAL per a aprovar  l'assignatura. Si la nota de laProvaFinal és inferior a 5, l'assignatura tindrà una qualificació de suspès amb un valor numèric igual a la nota de la Prova Final.

---------------

La qualificació de Matrícula d'Honor es podrà obtenir si la qualificació final és igual o superior a 9.00. Com que el nombre d'estudiants amb aquesta distinció no pot excedir el 5% del nombre d'estudiants matriculats en el curs, aquesta distinció s'atorgarà a qui tingui una participació més destacada en tot el curs a criteri dels professors del curs.

Un estudiant es considerarà No Avaluable si no s'ha presentat a cap prova individual (ni I1 ni I2), o en casos excepcionals que seran analitzats i decidits pels responsables docents (malalties o accidents greus,...).

Per a cada activitat d’avaluació, s’indicarà un lloc, data i hora de revisió a través de la plataforma moodle en la que l'estudiant podrà revisar l’activitat amb el professor. En aquest context, es podran fer reclamacions sobre la nota de l’activitat, que seran avaluades pel professorat responsable de l’assignatura. Si l'estudiant no fa cap reclamació o no es presenta, l'activitat no tindrà una revisió posterior.

---------------

Aquesta assignatura no preveu el sistema d’avaluació única.

---------------

NOTES:

a) A part de les activitats d'avaluació descrites anteriorment, al llarg del curs es podran proposar altres activitats de caire voluntari que podran contribuir a la nota final de l'assignatura.

b) Sense perjudici d'altres mesures disciplinàries que s'estimin oportunes, i d'acord amb la normativa acadèmica vigent,les irregularitats comeses per un estudiant que puguin conduir a una variació de laqualificació en unaactivitat avaluable es qualificaran amb un zero (0). Les activitats d'avaluació qualificades d'aquesta forma i per aquest procediment no seran recuperables. Si és necessari superar qualsevol d'aquestes activitats d'avaluació per aprovar l'assignatura, aquesta assignatura quedarà suspesa directament, sense oportunitat de recuperar-la en el mateix curs. Aquestes irregularitats inclouen, entre d'altres:

  • la còpia total o parcial d'una pràctica, informe, o qualsevol altra activitat d'avaluació;
  • deixar copiar;
  • presentar un treball de grup no fet íntegrament pels membres del grup (aplicat a tots els membres, no solament els què no han treballat);
  • presentar com a propis materials elaborats perun tercer, encara que  siguin traduccions o adaptacions, i en general treballs amb elementsno originals i exclusius de l'estudiant;
  • tenir dispositius de comunicació (com telèfons mòbils, smart watches, boligrafs amb càmera, etc.) accessibles durant les proves d'avaluació teorico-pràctiques individuals (exàmens);
  • parlar amb companys durant les proves d'avaluació teorico-pràctiques individuals (exàmens);
  • copiar o intentar copiar d'altres alumnes durant les proves d'avaluació teorico-pràctiques (exàmens);
  • usar o intentar usar escrits relacionats amb la matèria durant la realització de les proves d'avaluació teorico-pràctiques (exàmens), quan aquests no hagin estat explícitament permesos.
La nota numèrica de l'expedient serà el valor menor entre 3.0 i la mitjana ponderada de les notes en cas que l'estudiant hagi comès irregularitats en un acte d'avaluació (i, per tant, no serà possible l'aprovat per compensació). En edicions futures d'aquesta assignatura, a l'estudiantquehagicomès irregularitats en un acte d'avaluació no se li convalidaran cap de les activitats d'avaluació realitzades.

En resum: copiar, deixar copiar o plagiar (o l'intent de) en qualsevol de les activitats d'avaluació equival a un SUSPENS, no compensable i sense convalidacions.


Bibliografia

  • HENNESSY, John L. and PATTERSON, David, Computer Architecture: A Quantitative Approach. Morgan Kaufmann (Elsevier), 2018 (Cap. 1, 2 i 3)
  • BRYANT, Randal and O'HALLARON David, Computer Systems: A Programmer's Perspective (3rd. Ed.). Prentice Hall, 2016 (Cap. 5 i 6)
  • BAKHVALOV, Denis, Performance Analysis and Tuning on Modern CPUs, easyperf.net, 2020
  • PATTERSON, David and HENNESSY, John, Computer Organization and Design: The Hardware/Software Interface. Morgan Kauffman (Elsevier), 2009 (Cap. 4 i 5)

Programari

Linux (sistema operatiu) + eines bàsiques (editors, navegadors,...) 

gcc/icc (compiladors)

perf (eina de perfilat d'aplicacions)


Llista d'idiomes

Nom Grup Idioma Semestre Torn
(PAUL) Pràctiques d'aula 411 Català segon quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 412 Català segon quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 431 Català/Espanyol segon quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 432 Català/Espanyol segon quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 451 Català segon quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 452 Català segon quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 471 Català segon quadrimestre tarda
(PLAB) Pràctiques de laboratori 411 Català segon quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 412 Català segon quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 413 Català segon quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 414 Català segon quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 415 Català segon quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 416 Català segon quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 417 Català segon quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 418 Català segon quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 419 Català segon quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 420 Català segon quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 421 Català segon quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 422 Català segon quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 423 Català segon quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 424 Català segon quadrimestre matí-mixt
(TE) Teoria 41 Espanyol segon quadrimestre matí-mixt
(TE) Teoria 43 Anglès segon quadrimestre matí-mixt
(TE) Teoria 45 Espanyol segon quadrimestre tarda
(TE) Teoria 47 Espanyol segon quadrimestre tarda