Información general


Tipo de asignatura: obligatoria

Coordinador: Vladimir Bellavista Pariente

trimestre: Segundo trimestre

Créditos: 4

Profesorado: 

Vladimir Bellavista Pariente
Pere Vidiella Catalan 

Curso académico: 2025

Curso de impartición: 1

Lenguas de impartición


  • Catalá

La asignatura se imparte en catalán/castellano. Sin embargo, la documentación de la asignatura será mayoritariamente en inglés. Por tanto, el estudiante debe poder leer correctamente en inglés para comprender la documentación técnica que se le proporcione. 

Competencias / Resultados de aprendizaje


competencias básicas
  • B2_Que los estudiantes sepan aplicar sus conocimientos en su trabajo o vocación de una forma profesional y tengan las competencias que demuestran mediante la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio

  • B5_Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía

competencias transversales
  • T1_Que los estudiantes conozcan un tercer idioma, que será preferentemente el inglés, con un nivel adecuado de forma oral y por escrito, de acuerdo con las necesidades que tendrán las graduadas y graduados en cada titulación

  • T2_Que los estudiantes tengan capacidad para trabajar como miembros de un equipo interidisciplinar ya sea como un miembros más, o realizando tareas de dirección con el fin de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos teniendo en cuenta los recursos disponibles

Presentación de la asignatura


Esta asignatura introduce al estudiante en el funcionamiento interno de un sistema computacional mediante la programación de bajo nivel sobre la arquitectura RISC-V, utilizando un sistema Linux real y la consola de pedidos como herramienta principal de trabajo.

La asignatura combina programación en assembler, programación en C y el uso básico de la línea de pedidos de Linux, con el objetivo de que el estudiante entienda cómo se construye, ejecuta y analiza un programa desde el código fuente hasta la ejecución sobre el procesador.

El alumno deberá llevar su portátil personal durante las clases, tanto teóricas como prácticas.

Contenidos


La asignatura está organizada en los siguientes temas:

1. Entorno de trabajo y consola de Linux

  • Introducción a la línea de órdenes.
  • Navegación por el sistema de archivos.
  • Edición, compilación y ejecución de programas desde el terminal.
  • Ejecución de programas y permisos.

2. Proceso de compilación y ejecución

  • Qué significa compilar un programa.
  • Punto de entrada del programa (_start).
  • Uso de gcc para compilar código ensamblador y C.

3. Arquitectura RIESGO-V

  • Registros generales y convenciones de uso.
  • Modelo de memoria.
  • Tipo de instrucciones.
  • Flujo de ejecución y saltos.

4. Programación en ensamblador RISC-V

  • Secciones del programa (.texto, .fecha, .bss).
  • Acceso a memoria.
  • Bucles y estructuras condicionales.
  • Tratamiento de vectores.
  • Algoritmos básicos: contar valores, ordenar vectores, comparaciones.

5. Entrada y salida en Linux

  • Llamadas al sistema (read, write, exit).
  • Gestión de datos ASCII.
  • Diferencia entre datos y representación textual.
  • Control explícito de la longitud de los datos.

6. Introducción al lenguaje C

  • Variables y memoria.
  • Vectores y recorrido de datos.
  • Funciones y paso de parámetros.
  • Puntero básico y aritmética de punteros.
  • Estructuras (struct).

 

Actividades y sistema de evaluación


La asignatura se evalúa a partir de las siguientes actividades:

  • Examen teoría (TEORIA): 40%
  • Examen laboratorio (LABORATORIO): 20%
  • Prácticas (PRÁCTICAS): 40%

La nota final de la asignatura (NFA) se calcula según:

  • EXÁMENES = TEORÍA x 0,4 + LABORATORIO x 0,2
  • Si EXÁMENES >= 5: NFA = EXÁMENES + PRÁCTICAS x 0.4
  • Si EXÁMENES < 5: NFA = EXÁMENES

Consideraciones adicionales:

  • Todas las actividades son de carácter obligatorio; las actividades a las que no se ha asistido o no se han realizado se evalúan con un cero (0).
  • Las notas de los exámenes (TEORIA y LABORATORIO) son recuperables a fecha oficial, mientras que las notas de las prácticas no son recuperables.
  • Cualquier indicio de copia o plagio (de compañeros, de fuentes no citadas, o de herramientas como ChatGPT) comportará que la actividad se evalúe con un cero (0).
  • El comportamiento reiterado de copia o plagio comportará que la asignatura se evalúe con un No Presentado (NP) y el estudiante sea reportado a la dirección de la Universidad.

Bibliografía


Básico

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

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

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

Sarah Harris, David Harris. RISC-V.