ISA et assembleur
Les instructions de branchement conditionnel RISC-V (format B) représentent la distance jusqu'à la cible par un nombre d'octets signé sur 13 bits, dont le bit de poids faible, toujours 0, n'est pas stocké dans l'instruction. Quelle est approximativement la portée directe d'une instruction de branchement ?
- AEnviron 4 KiB de part et d'autre de l'instruction de branchement
- BEnviron 1 MiB de part et d'autre de l'instruction de branchement
- CN'importe où dans toute la mémoire
Afficher la réponse et l'explication
Réponse : A. Environ 4 KiB de part et d'autre de l'instruction de branchement
Une valeur signée sur 13 bits représente -4096 à +4095, mais les instructions étant alignées sur 2 octets, le bit de poids faible est toujours 0, d'où une plage de -4096 à +4094 octets. Omettre ce bit double la portée pour une même taille de champ. Pour un branchement plus lointain, l'assembleur le réécrit en un branchement court à condition inversée qui saute par-dessus un jal à longue portée (environ ±1 MiB).