Mise sous tension et Bios
Bonjour,
je n'ai pas très bien compris quelques termes de mon cours concernant le bios et la mise sous tension d'un ordinateur, si quelqu'un a la gentillesse m'aider s'il vous plaît ça serait super sympa, merci.
A la mise sous tension :
- L’alimentation met un certain temps avant de fournir un courant stabilisé. // compris.
- Dés que le courant est stable(soit timer, soit power good, détecté par la carte mère). // ici je n'ai pas compris la parenthèse.
- CS : IP est chargé avec l'adresse FFFF0, le processeur démarre son cycle. //ici IP <= l'adresse FFFF0, mais je n'ai pas compris Cs
- En FFFF0, on trouve normalement un jmp vers une adresse en ROM // compris.
- Le démarrage hardware est terminé, le software adressé par FFFF0 est exécuté. // compris.
Le BIOS :
- Effectue un check de périphérique // compris .
- Complète la table des interruptions // compris.
- Complète la routine d'interruption // compris.
- cherche un périphérique de boot // ici je n'ai pas compris.
- S'il le trouve, charge le premier secteur de ce périphérique en mémoire à l'adresse 07C00 // ici je n'ai pas compris.
- Remplace CS: IP par l'adresse 0000 : 7C00 // ici je n'ai pas compris.
Précision sur l'initialisation de CS/IP lors du Reset
Citation:
Envoyé par
sevyc64
CS:IP est un registre interne du processeur, et registre paticulier puisque c'est le registre qui pointe en mémoire la prochaine instruction que va exécuter le processeur. L'adresse FFFF0, dans la gamme 8086 d'Intel (et compatible) correspond à ce que l'on appelle un vecteur d'interruption. Il s'agit ici du vecteur Reset. Par contre je suis pas trop d'accord avec ce que tu dis, ça mériterait vérification. Mais pour moi le CS:IP n'est pas chargé avec FFFF0, et on ne trouve pas à cette adresse un jmp vers ailleurs. Mais il ya plutôt en FFFF0, de mémoire, si je me trompe pas, une valeur qui correspond à une adresse mémoire, c'est cette valeur qui est chargée dans le CS:IP, à l'adresse mémoire correspondant se trouve le programme de boot du processeur.
Faux ! c'est wear12 qui a raison !
Selon la doc Intel CS:IP est initialisé au Reset à FFFF:0000 (8086, 88) ou à F000:FFF0 (à partir des 80286/386). Dans les deux cas le premier octet de la première instruction est donc lu à l'adresse physique FFFF0. Seulement cette adresse est située 16 octets en dessous du haut de l'espace d'adressage du mode réel ce qui laisse peu de place pour y loger un programme, c'est pourquoi on y place généralement un JMP inter-segment vers une région plus commode de la ROM.