Changes between Version 56 and Version 57 of Archi-1-TP10
- Timestamp:
- Jan 4, 2021, 8:31:54 AM (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Archi-1-TP10
v56 v57 616 616 * Le numéro du processeur est dans les 12 bits de poids faible du registre $15 (`c0_cpuid`) du coprocesseur système (à côté des registres `c0_epc`, `c0_sr`, etc.). Ajoutez la fonction `int cpuid(void)` qui lit le registre `c0_cpuid` et qui rend un entier contenant juste les 12 bits de poids faible.\\Vous pouvez vous inspirez fortement de la fonction `int clock(void)`. Comme il n'y a qu'un seul processeur dans cette architecture, `cpuid` rend toujours `0`.\\Ecrivez un programme de test (vous devrez modifier les fichiers `hcpu.h`, `hcpu.S` et `kinit.c`) 617 617 618 618 {{{#!protected 619 **hcpu.S** 620 {{{#!asm 621 .globl cpuid 622 cpuid: 623 mfc0 $2, $15 624 andi $2, $2, 0xFFF 625 jr $31 626 }}} 627 **hcpu.h** 628 {{{#!c 629 /** 630 * \brief cpu identifier 631 * \return a number 632 */ 633 extern unsigned cpuid (void); 634 }}} 635 }}} 619 636 == B2. Programme utilisateur mais exécuté en mode kernel 620 637