Gest
2. Organisation logicielle en relation avec l'organisation matérielle détaillée.
Le seul langage compris par l'unité centrale (CPU) est le langage machine. Le programme exécutable est donc obligatoirement, en langage machine. Ce programme est exécuté instruction par instruction, par la CPU à l'aide de ses registres internes. 2.1.) Déroulement du programme. Chacune des instructions du programme est rangée à une adresse dans la mémoire du système. La CPU doit, par conséquent, gérer l'adressage de cette mémoire. C'est à dire connaître l'adresse de l'instruction à traiter. Ceci est fait grâce au compteur programme (registre PC: Program Counter) et à son circuit d'incrémentation. Registre "PC"= adresse de l'instruction à exécuter A la mise sous tension du système, le contenu du registre PC est forcé à une valeur particulière (0000h pour la famille 8051 et les PICs (noté 0x000), chez MOTOROLA (MC6800 à MC68HC11), un vecteur est placé en $FFFE et $FFFF et indique sur deux octets l'adresse de démarrage ). La mémoire programme ne peut donc être placée n'importe où dans l'espace adressable. Un décodeur d'instructions et un séquenceur ("Instruction register" et "Timing and control") permettent l'exécution des séquences élémentaires nécessaires au déroulement de l'instruction. Une instruction comporte souvent plusieurs octets consécutifs (Dans le cas des microprocesseurs CISC), ou est codée sur 12, 14 ou 16 bits correspondant à la taille du bus d'instructions sur les processeurs RISC (PIC). Le (ou les) premier(s) octet(s) forme(nt) le code opératoire. Celui-ci indique au décodeur d'instructions la tâche qui devra être effectuée et le nombre d'octets composant l'instruction complète. Le (ou les) dernier(s) octet(s) constitue(nt) l'opérande. Pour les processeurs RISC le code opératoire et l'opérande sont codés sur n Bits correspondant à la taille du Bus d'instruction pour pouvoir être exécutés en 1 seul cycle. Dans ce cas le bus