L'objectiu general és comprendre com funciona un computador actual i els fonaments de disseny i avaluació dels computadors. Es cobreix l'impacte de les decisions de disseny en el rendiment, la potència, el consum energètic, el cost i la fiabilitat. Es tracten temes com ara jerarquia de memòria, memòria virtual, sistemes d'emmagatzematge, joc d'instruccions i tècniques avançades com ara segmentació, processadors superescalars i multiprocessadors. Posant també cert èmfasi en la interacció hardware/software per assolir el rendiment.
Professorat
Responsable
Josep Llosa Espuny (
)
Altres
Miquel Moretó Planas (
)
Teresa Monreal Arnal (
)
Victor Soria Pardos (
)
Hores setmanals
Teoria
2
Problemes
1
Laboratori
1
Aprenentatge dirigit
0.4
Aprenentatge autònom
5.6
Competències
Competències Tècniques
Competències tècniques comunes
CT2 - Utilitzar d'una manera apropiada teories, procediments i eines en el desenvolupament professional de l'enginyeria informàtica en tots els seus àmbits (especificació, disseny, implementació, desplegament -implantació- i avaluació de productes) de manera que es demostri la comprensió dels compromisos adoptats a les decisions de disseny.
CT2.3
- Dissenyar, desenvolupar, seleccionar i avaluar aplicacions, sistemes i serveis informàtics i, al mateix temps, assegurar-ne la fiabilitat, la seguretat i la qualitat en funció de principis ètics i de la legislació i la normativa vigents.
CT2.4
- Demostrar coneixement i capacitat per a aplicar les eines necessàries a l'emmagatzematge, el processament i l'accés als sistemes d'informació, fins i tot els que es basen en la web.
CT3 - Demostrar coneixement i comprensió del context organitzatiu, econòmic i legal en el qual es desenvolupa la seva feina (coneixement adequat del concepte d'empresa, del marc institucional i jurídic de l'empresa, d'organització i gestió de les empreses).
CT3.6
- Demostrar coneixement de la dimensió ètica a l'empresa: la responsabilitat social i corporativa en general i, en particular, les responsabilitats civils i professionals de l'enginyer en informàtica.
CT5 - Analitzar, dissenyar, construir i mantenir aplicacions de forma robusta, segura i eficient, triant el paradigma i els llenguatges de programació més adequats.
CT5.2
- Conèixer, dissenyar i utilitzar de forma eficient els tipus i les estructures de dades més adients per a la resolució d'un problema.
CT6 - Demostrar coneixement i comprensió del funcionament intern d'un computador i del funcionament de les comunicacions entre ordinadors.
CT6.2
- Demostrar coneixement, comprensió i capacitat d'avaluar l'estructura i l'arquitectura dels computadors, i els components bàsics que els componen.
CT7 - Avaluar i seleccionar plataformes de producció hardware i software per a l'execució d'aplicacions i de serveis informàtics.
CT7.1
- Demostrar coneixement de les mètriques de qualitat i saber-les utilitzar.
CT7.2
- Avaluar sistemes hardware/software en funció d'un criteri de qualitat determinat.
CT7.3
- Determinar els factors que incideixen negativament en la seguretat i la fiabilitat d'un sistema hardware/software, i minimitzar-ne els efectes.
CT8 - Planificar, concebre, desplegar i dirigir projectes, serveis i sistemes informàtics en tots els àmbits, liderar-ne la posada en marxa, la millora contínua i valorar-ne l'impacte econòmic i social.
CT8.1
- Identificar tecnologies actuals i emergents i avaluar si són aplicables, i en quina mesura, per a satisfer les necessitats dels usuaris.
CT8.4
- Elaborar el plec de condicions tècniques d'una instal·lació informàtica que compleixi els estàndards i la normativa vigent.
Competències Transversals
Sostenibilitat i compromís social
G2 [Avaluable] - Conèixer i comprendre la complexitat dels fenòmens econòmics i socials típics de la societat del benestar. Ser capaç d'analitzar i valorar l'impacte social i mediambiental.
G2.2
- Aplicar els criteris de sostenibilitat i els codis deontològics de la professió en el disseny i l'avaluació de solucions tecnològiques. Identificar la necessitat d'aplicar la legislació, les regulacions i les normatives, en particular les que afecten l'exercici de la professió d'enginyer tècnic en informàtica. Analitzar i valorar l'impacte mediambiental de les solucions tècniques en l'àmbit TIC.
Objectius
L'alumne ha de ser capaç de traduir rutines i fragments de codi d'alt nivell a assemblador d'una màquina real (IA32) i enllaçar rutines en assemblador amb un llenguatge d'alt nivell (C) fent servir la Interfície Binaria d'Aplicacions de Linux.
L'alumne ha de ser capaç de descriure l'estructura interna i el funcionament dels principals components de la jerarquia de memòria i les tècniques per millorar el seu rendiment.
Competències relacionades:
CT6.2,
CT7.2,
CT8.1,
L'alumne ha de ser capaç de descriure el funcionament i utilitzar els principals mecanismes de detecció i correcció d'errors.
Competències relacionades:
CT2.3,
CT7.3,
L'alumne ha de ser capaç de descriure l'estructura i funcionament dels sistemes d'emmagatzemament de dades i avaluar la seva fiabilitat.
Competències relacionades:
CT7.2,
CT7.3,
CT8.1,
CT2.4,
CT6.2,
L'alumne ha de ser capaç de descriure la taxonomia dels llenguatges màquina (ISA) i els trets característics dels diferents paradigmes (com ara RISC-CISC).
Competències relacionades:
CT7.2,
CT6.2,
L'alumne ha de ser capaç de descriure les tècniques emprades en el disseny de computadors basades en paral·lelisme (com ara: segmentació, processadors superescalars, processadors VLIW, extensions vectorials i SIMD, processadors multifil, multiprocessadors i multicomputadors) i els seus principis de funcionament.
Competències relacionades:
CT2.3,
CT7.2,
CT6.2,
L'alumne ha de ser capaç d'avaluar el rendiment de fragments de codi i/o aplicacions (tant en assemblador com en alt nivell) tenint en compte components com: la jerarquia de memòria, els sistemes d'emmagatzemament, el disseny del llenguatge màquina (ISA) i les principals tècniques de disseny de processadors basades en paral·lelisme.
Competències relacionades:
CT2.3,
CT5.2,
CT7.1,
CT7.2,
CT6.2,
L'alumne ha de ser capaç d'avaluar l'impacte en la potencia i el consum energètic de fragments de codi i/o aplicacions (tant en assemblador com en alt nivell) tenint en compte components com: la jerarquia de memòria, els sistemes d'emmagatzemament, el disseny del llenguatge màquina (ISA) i les principals tècniques de disseny de processadors basades en paral·lelisme.
Competències relacionades:
G2.2,
CT3.6,
CT6.2,
CT7.1,
CT7.2,
CT8.4,
L'alumne ha de ser capaç d'aplicar optimitzacions senzilles en fragments de codi per tal de millorar el seu rendiment i/o consum tenint en compte: la jerarquia de memòria, els sistemes d'emmagatzemament, el disseny del llenguatge màquina (ISA) i les principals tècniques de disseny de processadors basades en paral·lelisme.
Competències relacionades:
CT5.2,
CT7.1,
Continguts
Fonaments de disseny i avaluació de computadors
Interfície alt nivell-assemblador
Jerarquia de memòria
Sistemes d'emmagatzemament
Disseny del joc d'instruccions
Segmentació i paral·lelisme en el disseny de computadors
Classes de teoria magistrals amb algun problema petit intercalat.
A les classes de teoria es posaran problemes als estudiants per la següent classe de problemes.
A les classes de problemes es faran activitats en grup. A partir de la resolució individual dels problemes fets a casa, els estudiants faran una posta en comú en grup i resoldran els dubtes que hagin pogut sorgir. Degut a la metodologia emprada a les classes de problemes es recomana que els estudiants no es matriculin amb solapament, ja que les activitats de grup les han de fer al grup que estan matriculats.
Les classes de laboratori serviran de suport a la teoria. Els alumnes disposaran de la informació de pràctiques abans de cada sessió. És fonamental que els alumnes preparin la pràctica abans de realitzar-la (llegir la documentació, estudiar els conceptes utilitzats, etc). Igualment és recomanable, un cop acabada la sessió, repassar els conceptes vists. Els estudiants han de preparar un treball previ que entregaran al principi de cada sessió. Les sessions de laboratori son presencials i avaluables, i es realitzen al grup que està matriculat l'alumne, per tant es imprescindible que no hi hagi solapaments amb el laboratori a l'hora de fer la matriculació.
Mètode d'avaluació
L'avaluació es fa a partir dels dos controls (C1 i C2), la nota de laboratori (LAB) i la nota d'activitat a problemes (AP).
La nota final (NF) es calcula (amb un sol decimal i arrodoniment al parell) com:
NF = 0,3*C1 + 0,4*C2 + 0,2* LAB + 0,1* AP
Els estudiants només seran avaluats de LAB i AP si ASSISTEIXEN a les classes del GRUP ON ESTAN MATRICULATS.