Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Juan José Pons López

Trimestre: Segon trimestre

Crèdits: 4

Professorat: 

Vladimir Bellavista Parent
Pere Vidiella Catalan 

Curs acadèmic: 2025

Curs d'impartició: 1

Llengües d'impartició


  • Català

L'assignatura s'imparteix en català/castellà. Així i tot, la documentació de l'assignatura serà majoritàriament en anglès. Per tant, l'estudiant ha de poder llegir correctament en anglès per tal de comprendre la documentació tècnica que se li proporcioni. 

Competències / Resultats d'aprenentatge


Competències bàsiques
  • B2_Que els estudiants sàpiguen aplicar els seus coneixements a la seva feina o vocació d'una forma professional i tinguin les comptències que demostren mitjançant l'elaboració i defensa d'arguments i la resolució de problemes dins de la seva àrea d'estudi

     

  • B5_Que els estudiants hagin desenvolupat aquelles habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia

     

Competències transversals
  • T1_Que els estudiants coneixin un tercer idioma, que serà preferentment l'anglès, amb un nivell adequat de forma oral i per escrit, d'acord amb les necessitats que tindran les graduades i els graduats a cada titulació

     

  • T2_Que els estudiants tinguin capacitat per a treballar com a membres d'un equip interidisciplinar ja sigui com un membres més, o realitzant tasques de direcció amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, assumint compromisos tenint en compte els recursos disponibles

     

Presentació de l'assignatura


Aquesta assignatura introdueix l’estudiant al funcionament intern d’un sistema computacional mitjançant la programació de baix nivell sobre l’arquitectura RISC-V, utilitzant un sistema Linux real i la consola de comandes com a eina principal de treball.

L’assignatura combina programació en assembler, programació en C i l’ús bàsic de la línia de comandes de Linux, amb l’objectiu que l’estudiant entengui com es construeix, s’executa i s’analitza un programa des del codi font fins a l’execució sobre el processador.

L'alumne haurà de dur el seu portàtil personal durant les classes, tant teòriques com pràctiques.

Continguts


L'assignatura està organitzada en els següents temes:

1. Entorn de treball i consola de Linux

  • Introducció a la línia d'ordres.
  • Navegació pel sistema de fitxers.
  • Edició, compilació i execució de programes des del terminal.
  • Execució de programes i permisos.

2. Procés de compilació i execució

  • Què vol dir compilar un programa.
  • Punt d’entrada del programa (_start).
  • Ús de gcc per compilar codi assembler i C.

3. Arquitectura RISC-V

  • Registres generals i convencions d’ús.
  • Model de memòria.
  • Tipus d’instruccions.
  • Flux d’execució i salts.

4. Programació en assembler RISC-V

  • Seccions del programa (.text, .data, .bss).
  • Accés a memòria.
  • Bucles i estructures condicionals.
  • Tractament de vectors.
  • Algorismes bàsics: comptar valors, ordenar vectors, comparacions.

5. Entrada i sortida en Linux

  • Crides al sistema (read, write, exit).
  • Gestió de dades ASCII.
  • Diferència entre dades i representació textual.
  • Control explícit de la longitud de les dades.

6. Introducció al llenguatge C

  • Variables i memòria.
  • Vectors i recorregut de dades.
  • Funcions i pas de paràmetres.
  • Punter bàsic i aritmètica de punters.
  • Estructures (struct).

Activitats i sistema d'avaluació


L'assignatura s'avalua a partir de les següents activitats:

  • Examen teoria (TEORIA): 40%
  • Examen laboratori (LABORATORI): 20%
  • Pràctiques (PRÀCTIQUES): 40%

La nota final de l’assignatura (NFA) es calcula segons:

  • EXÀMENS = TEORIA x 0,4 + LABORATORI x 0,2
  • Si EXÀMENS >= 5: NFA = EXÀMENS + PRÀCTIQUES x 0.4
  • Si EXÀMENS < 5: NFA = EXÀMENS

Consideracions addicionals:

  • Totes les activitats són de caràcter obligatori; les activitats a les quals no s’ha assistit o no s’han realitzat s’avaluen amb un zero (0).
  • Les notes dels exàmens (TEORIA i LABORATORI) són recuperables en data oficial, mentre que les notes de les pràctiques no són recuperables.
  • Qualsevol indici de còpia o plagi (de companys, de fonts no citades, o d’eines com ChatGPT) comportarà que l’activitat s'avaluï amb un zero (0).
  • El comportament reiterat de còpia o plagi comportarà que l’assignatura s'avaluï amb un No Presentat (NP) i l’estudiant sigui reportat a la direcció de la Universitat.

Bibliografia


Bàsic

David A. Patterson, John L. Hennessy. Computer Organization and Design, the Hardware/Software Interface: RISC-V Edition. Ed. Morgan Kaufman, 1a Edició. 

David Patterson and Andrew Waterman. The RISC-V Reader: An Open Architecture Atlas. Ed. Strawberry Canyon, 1a edició.

Dennis M. Ritchie, Brian W. Kernighan. The C Programming Language. Pearson Education, 2a Edició.

Sarah Harris, David Harris. Digital Design and Computer Architecture, RISC-V Edition: RISC-V.  Morgan Kaufmann, 1a edició.