Continguts
Tema 1: Introducció
- 1.1 La gestió de la complexitat: capes i interfícies
- 1.2 El cicle de vida del programa: generació vs. execució
- 1.2.1 El flux de generació: la visió del programador
- 1.2.2 El flux d’execució: la visió del processador
- 1.2.3 El rol de les interfícies
- 1.2.4 La dualitat de l’entorn: amfitrió vs. target
- 1.2.5 El llenguatge C: el pont de l’abstracció
- 1.2.6 Traducció: de C al llenguatge màquina
- 1.2.7 C vs. C++
- 1.2.8 Llenguatges interpretats
- 1.3 Arquitectura física: el model de von Neumann
- 1.4 Codificació de nombres naturals en base 2
- 1.5 Codificació de nombres enters en base 2
- 1.6 Operacions aritmètiques en complement a 2
Tema 2: Instruccions i tipus de dades bàsics
Tema 3: Traducció de programes
- 3.1 Desplaçaments de bits
- 3.2 Operacions lògiques bit a bit
- 3.3 Comparacions i operacions booleanes
- 3.4 Salts
- 3.5 Revisió dels modes d’adreçament
- 3.6 Sentències alternatives:
if-then-elseiswitch - 3.7 Sentències iteratives:
while,do-whileifor - 3.8 Estructura de la memòria
- 3.9 Subrutines
- 3.10 Compilació, assemblatge, enllaçament i càrrega
Tema 4: Aritmètica entera i matrius
Tema 5: Coma flotant
Tema 6: Rendiment i potència
Tema 7: Memòria cau
Tema 8: Memòria virtual
Tema 9: Excepcions i interrupcions
- 9.1 Introducció
- 9.2 Suport de maquinari: registres de control i estat
- 9.2.1 El model de privilegis de RISC-V
- 9.2.2
mcause— Codi de causa - 9.2.3
mepc— Adreça de retorn - 9.2.4
mstatus— Estat global - 9.2.5
mtvec— Vector d’excepcions - 9.2.6
mtval— Informació addicional de l’excepció - 9.2.7
mip/mie— Peticions i màscares d’interrupció - 9.2.8 Els registres equivalents en mode S
- 9.3 Flux de maquinari en detectar una excepció o interrupció
- 9.4 La rutina de servei d’excepcions
- 9.5 Crida al sistema (
ecall) - 9.6 Interrupcions de dispositius d’E/S
- 9.7 La fallada de pàgina