Estructura de computadors

Departament d’Arquitectura de Computadors

Autor/a

Professors de l’assignatura

Publicat

2 de novembre del 2026

Presentació

Estructura de Computadors (EC) és una assignatura obligatòria de 7,5 crèdits del Grau en Enginyeria Informàtica (GEI) de la Facultat d’Informàtica de Barcelona (FIB), impartida pel Departament d’Arquitectura de Computadors (DAC) de la Universitat Politècnica de Catalunya (UPC).1

L’assignatura tracta de l’organització bàsica en què s’estructura un computador per donar suport als llenguatges de programació d’alt nivell: tant els tipus de dades que utilitzen els programes com les sentències de control més habituals. L’eix vertebrador és la relació entre el maquinari i el programari a través del nivell d’abstracció de l’arquitectura del repertori d’instruccions (instruction set architecture, ISA).2

✅️ Qualificació

🎯 Nota final

La nota final (NF) s’obté a partir de:

  • Nota de teoria i problemes (NT): 80 % de \(\text{NF}\). Distribució:
    • Examen parcial (EP): \(0{,}20 \cdot \max\{\text{EP}, \text{EF}\}\).
    • Examen final (EF): \(0{,}60 \cdot \text{EF}\).
  • Nota de laboratori (NL): 20 % de \(\text{NF}\). Distribució:
    • Examen de laboratori (EL): 85 % de \(\text{NL}\).
    • Avaluació continuada (AC): 15 % de \(\text{NL}\).

\[\text{NF} = 0{,}20 \cdot \max\{\text{EP}, \text{EF}\} + 0{,}60 \cdot \text{EF} + 0{,}20 \cdot (0{,}85 \cdot \text{EL} + 0{,}15 \cdot \text{AC})\]

📖️ Examen parcial — temari

📖️ Examen final — temari

⚗️ Laboratori

  • Avaluació continuada: mitjana de les notes de les 6 sessions.
    • Treball previ: Treball que s’ha de lliurar al Racó abans de l’inici de la sessió per poder ser avaluat a la pràctica. Consisteix a lliurar els fitxers de cada sessió. No s’exigeix que les respostes siguin totalment correctes, però sí suficientment completes per assegurar que durant la pràctica s’obtingui una nota positiva.
    • Nota de la sessió: L’avaluació es fa individualment durant la pràctica a través de la verificació de la validesa de les respostes als exercicis i de les respostes a les preguntes que pugui fer el professor. És responsabilitat de l’estudiant d’avisar amb temps suficient el professor perquè l’avaluï.
  • Examen de laboratori: Es realitza individualment en un ordinador dels laboratoris docents. És responsabilitat de l’estudiant assegurar-se:
    • Abans de l’examen, de disposar d’almenys 10 MB d’espai lliure en la seva zona de disc per poder baixar i editar els fitxers de l’examen.
    • Durant l’examen, de lliurar els fitxers de la solució dins del termini temporal establert.
      • No hi ha límit de lliuraments. Sempre s’avaluarà només la darrera versió de cada fitxer.

🌿️ Competència transversal

La competència transversal treballada a EC és Sostenibilitat i Compromís Social (G2), amb èmfasi en la relació entre rendiment i consum elèctric dels computadors. S’avalua mitjançant un problema específic de l’EF. La nota d’aquest problema també es té en compte per al càlcul de la nota de l’EF.

📚 Material docent

📗️ Apunts, problemes i solucions

Cada tema, T1–T9, està format pel conjunt d’apunts, A1–A9, problemes, P1–P9 i solucions S1–S9.

Taula 1: Temes de l’assignatura, amb els apunts, els problemes i les solucions de cadascun.
Tema Apunts Problemes Solucions

Tema 1: Introducció

A1 P1 S1

Tema 2: Instruccions i tipus de dades bàsics

A2 P2 S2

Tema 3: Traducció de programes

A3 P3 S3

Tema 4: Aritmètica entera i matrius

A4 P4 S4

Tema 5: Coma flotant

A5 P5 S5

Tema 6: Rendiment i potència

A6 P6 S6

Tema 7: Memòria cau

A7 P7 S7

Tema 8: Memòria virtual

A8 P8 S8

Tema 9: Excepcions i interrupcions

A9 P9 S9
Taula 2: Requadres de text: significat i rellevància.
Color Icona Tipus Matèria avaluable Contingut
RISC-V Sí Referències tècniques
EC Sí Criteris de l’assignatura
Essencial Sí Contingut indispensable
Exemple Sí Exemples il·lustratius
Aprofundiment No Contingut opcional

⚗️ Laboratori

El laboratori es numera per sessions (L1–L6).

Taula 3: Sessions del laboratori, amb els enunciats i les solucions de cadascuna.
Laboratori Enunciats i solucions

Laboratori 1: Introducció al simulador RARS

L1

Laboratori 2: Assemblador RISC-V i tipus bàsics de dades

L2

Laboratori 3: Traducció de programes

L3

Laboratori 4: Matrius i subrutines

L4

Laboratori 5: Coma flotant i compilació separada

L5

Laboratori 6: Memòria cau

L6

🛠️ Recursos per a l’estudi

💻️ El simulador (RARS)

El simulador del laboratori és el RISC-V Assembler and Runtime Simulator (RARS).

  • Indispensable per al laboratori.
  • Recomanat per a l’assignatura en general.
    • Davant de qualsevol dubte relatiu al llenguatge d’assemblador, és recomanable desenvolupar un exemple mínim (minimal working example) i experimentar-hi.
    • Als materials, hi ha fragments de codi que poden servir d’orientació.

Treballar amb codi de manera habitual és una manera molt efectiva d’aclarir i consolidar conceptes.

Instal·lació

  1. Descarregueu i guardeu el fitxer rars1_6.jar de la versió de referència (referències tècniques).
  2. Descarregueu i instal·leu Java Runtime Environment (JRE) versió 8.0 o superior.

Inicialització

  1. Obriu un terminal (GNU/Linux: Ctrl+Alt+T).
  2. Aneu al directori de rars1_6.jar (per exemple amb l’ordre cd <DIR_FULL_PATH>).
  3. Executeu: java -jar rars1_6.jar.

⚙️ El compilador (GNU/GCC)

El compilador de C de referència és el de la GNU Compiler Collection (GCC).

  • Recomanat per a l’assignatura en general.
    • Pels mateixos motius que per al codi d’assemblador.
    • Als materials, també hi ha fragments de codi com a orientació.

🌐️ El Racó

  • Avisos/Notícies
    • Convocatòria d’exàmens
    • Comunicacions dels professors i distribució de material (diapositives, problemes addicionals, etc.)
  • Laboratori
    • Estudis previs
    • Examen
  • Exàmens d’anys anteriors
    • Enunciats
    • Solucions

🌐️ Pàgina de l’assignatura

  • Grups
  • Professors
  • Dates de laboratori

🌐️ Guia docent (FIB)

  • Competències
  • Objectius
  • Rol de l’assignatura dins del pla d’estudis

🧭️ Referències tècniques

Les referències següents estableixen els criteris tècnics segons els quals s’avaluarà.

EC 1: Referències tècniques de l’assignatura
Taula 4: Llenguatges, eines i estàndards de referència.
Ítem Nom Estàndard
Llenguatge d’alt nivell C23 (ISO/IEC 9899:2024) [1]
Compilador C1 GCC 16 [2]
Llenguatge d’assemblador RISC-V de 32 bits: RV32I, M, F i Zicsr (especificació de l’ISA v20260120) [8]
Simulador1 RARS 1.6 (32 bits) [9]
Cadena d’eines riscv32-unknown-elf-gcc (RISC-V GNU Compiler Toolchain) [10]
Sistema operatiu GNU/Linux Qualsevol distribució generalista

1 En cas de conflicte RARS preval sobre el compilador.

📚️ Bibliografia

[1]
D. A. Patterson and J. L. Hennessy, Computer organization and design RISC-v edition: The hardware software interface, 2nd ed. Morgan Kaufmann, 2020.
[2]
S. L. Harris and D. M. Harris, Digital design and computer architecture: RISC-V edition. Morgan Kaufmann, 2021.
[3]
G. M. Amdahl, “Validity of the single processor approach to achieving large scale computing capabilities,” in AFIPS spring joint computer conference, AFIPS, 1967, pp. 483–485.
[4]
ISO/IEC JTC1/SC22/WG14, “ISO/IEC 9899:2024 — information technology — programming languages — C,” International Organization for Standardization, ISO/IEC 9899:2024, Oct. 2024. Available: https://www.open-std.org/jtc1/sc22/wg14/
[5]
GCC Developers, “GCC 16 release series.” https://gcc.gnu.org/gcc-16/, 2026.
[6]
RISC-V International, “RV32I base integer instruction set, version 2.1,” RISC-V International, Jan. 2026. Available: https://docs.riscv.org/reference/isa/unpriv/rv32.html
[7]
RISC-V International, “RISC-V assembly programmer’s manual.” https://github.com/riscv-non-isa/riscv-asm-manual, 2024.
[8]
B. Landers, “RARS: RISC-V assembler and runtime simulator, v1.6.” https://github.com/TheThirdOne/rars/tree/v1.6, 2023.
[9]
RISC-V Collab, “RISC-V GNU compiler toolchain.” https://github.com/riscv-collab/riscv-gnu-toolchain, 2024.
[10]
J. M. Parcerisa, “Tema 1: introducció.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, Mar. 2020.
[11]
J. M. Parcerisa, “Tema 2: Instruccions i tipus de dades bàsics.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, Feb. 2022.
[12]
J. M. Parcerisa, R. Tous, and J. Tubella, “Tema 3: Traducció de programes.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, Sept. 2019.
[13]
J. M. Parcerisa, “Tema 4: matrius.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, Mar. 2016.
[14]
J. M. Parcerisa, “Tema 5: Aritmètica d’enters i coma flotant.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, Mar. 2020.
[15]
J. M. Parcerisa and R. Tous, “Tema 6: Memòria cache.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, Feb. 2023.
[16]
J. M. Parcerisa, R. Tous, and J. Tubella, “Tema 7: Memòria virtual.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, June 2018.
[17]
J. M. Parcerisa, “Tema 8: Excepcions i interrupcions.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, June 2018.
[18]
E. Castillo et al., “Quadern de laboratori, sessió 0: introducció.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, 2015.
[19]
E. Castillo et al., “Quadern de laboratori, sessió 1: Assemblador MIPS i tipus bàsics de dades.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, 2015.
[20]
E. Castillo et al., “Quadern de laboratori, sessió 2: Traducció de programes.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, 2015.
[21]
E. Castillo et al., “Quadern de laboratori, sessió 3: Tipus de dades estructurats.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, 2015.
[22]
E. Castillo et al., “Quadern de laboratori, sessió 4: Codificació en coma flotant.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, 2015.
[23]
E. Castillo et al., “Quadern de laboratori, sessió 5: Memòria cache.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, 2015.
[24]
M. Fernández, D. López, J. M. Parcerisa, A. Toribio, R. Tous, and J. Tubella, “Col·lecció de problemes.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, 2015.
[25]
M. Fernández, D. López, J. M. Parcerisa, A. Toribio, R. Tous, and J. Tubella, “Solucionari de la col·lecció de problemes.” Material docent intern. Departament d’Arquitectura de Computadors, FIB-UPC, 2015.
[26]
F. Fritz and JmsDoug, “Intel core i9-13900K labelled die shot.” Wikimedia Commons, 2023. Available: https://commons.wikimedia.org/wiki/File:Intel_Core_i9-13900K_Labelled_Die_Shot.jpg

Bibliografia complementària


  1. Totes les assignatures esmentades en aquests apunts són del Grau en Enginyeria Informàtica (GEI) de la Facultat d’Informàtica de Barcelona (FIB), si no s’especifica explícitament el contrari.↩︎

  2. A partir del curs 2025/26, l’arquitectura de referència de l’assignatura és RISC-V (variant RV32I, la base entera de 32 bits, i extensions M, F i Zicsr); anteriorment havia estat l’arquitectura Microprocessor without Interlocked Pipeline Stages (MIPS).↩︎