Cátedras del martes 7 y 9 de mayo

Luis Mateu B. 6 May6 de Mayo a las 19:39 hrs.2024-05-06 19:39:06

Martes 7


Temario: assembler Risc-V, registros del procesador, argumentos de una función, instrucciones aritméticas, saltos condicionales, valor de retorno de una función, accesos a la memoria, ciclos.

Presentación: pdf
Video de un semestre previo
Ejemplos del video (requiere instalar el toolchain de la GNU, lea más abajo)

(Como el video se grabó para el curso de arquitectura, el primer slide dice CC4301.  Pero es el video correcto.  La materia de assembler se veía en el programa antiguo en arquitectura de computadores.  Ahora se ve en PSS.)

Jueves 9


Temario de la clase presencial de mañana: compilación de expresiones aritméticas, instrucciones if, while y for, acceso a arreglos de enteros, llamadas a funciones, definición de funciones, tipo char (unsigned) y signed char.

pdf de la clase presencial
Video y pdf de un semestre previo

Observaciones importantes con respecto a los ejemplos de los videos:

Para poder compilar los ejemplos y la tarea de assembler necesitan instalar el toolchain de la GNU con gcc para Risc-V.  Para ello deben descargar riscv.tgz (riscv-arm.tgz para arquitecturas ARM) de esta carpeta de google drive (descomprimidos ocupan 1.4 GB aproximadamente). Necesitan hacerse root para descomprimir:

cd ... directorio en donde descargaron riscv.tgz ...

sudo bash
cat riscv.tgz   |   ( cd / ; tar zxvf - )
exit

Con esto el toolchain de la GNU estará instalado en /opt/riscv.  Para verificar que está bien instalado, ejecuten el comando:

ls /opt/riscv

Si reclama que el directorio no existe, la instalación no fue exitosa.  Quizás quedó instalado pero no en /opt/riscv y los ejemplos no van a funcionar.  Además se instala el emulador qemu-riscv32 en /usr/local/bin. Como se trata de archivos binarios ejecutables, no garantizo que puedan ejecutarse en otras distribuciones de Linux.


En el video dije que pueden llegar e invocar ./test-fun, a pesar de que es un binario para Risc-V, pero no funciona.  Deben ejecutarlo con este comando: qemu-riscv32 test-fun

Cuando usen make, tengan en consideración que make no recompila si un archivo ya está compilado.  Esto es un problema cuando algo ya está compilado con opciones de optimización y ahora lo necesitan con opciones de depuración.  Para rehacer la compilación usen la opción -B.  Por ejemplo: make -B test-fun

A veces ddd reclama que no existe un archivo o directorio.  Es normal porque está tratando de encontrar el código fuente de una función de biblioteca, para la cual no hay código fuente.  Presionen el botón OK e ignoren el problema.
Categoría Cátedras
Última Modificación 6 May6 de Mayo a las 19:39 hrs.2024-05-06 19:39:06
Vistas Únicas 43
Compartir
Comentarios