J'ai un processeur 64 bits moderne. Mon BIOS fonctionne-t-il toujours en mode REAL 16 bits?

11

Puisqu'il est toujours nécessaire de démarrer, je me demande, sur un système 64 bits x64 / AMD64, le BIOS utilise-t-il toujours des instructions 16 bits? Fonctionne-t-il également en MODE RÉEL?

unixman83
la source
Wikipedia: "Les limitations du BIOS (mode processeur 16 bits, seulement 1 Mo d'espace adressable, dépendances matérielles PC AT, etc.) ont été considérées comme clairement inacceptables pour les plates-formes informatiques plus récentes. L'Extensible Firmware Interface (EFI) est une spécification qui remplace le runtime interface du BIOS hérité. "
Daniel Beck
@Daniel Beck, je pensais que l'EFI était uniquement pour les Mac et l'Itanium.
unixman83
7
@ unixman83 - La plupart des nouvelles cartes mères Intel fonctionnent sur EFI depuis le lancement de Sandy Bridge. AMD est susceptible de lui emboîter le pas lorsque Bulldozer frappe. Le véritable blocage a été que les disques formatés en MFT ne sont pas amorçables s'ils sont supérieurs à 2 To ... une limite qui vient tout juste d'être atteinte. Vous avez besoin d'EFI pour démarrer un disque formaté GPT (qui peut être beaucoup, beaucoup plus gros)
Shinrai
@ unixman83: J'ai supprimé votre "réponse" car ce n'est pas une réponse, plutôt juste un copier / coller du commentaire de Shinrai.
studiohack
Il n'y a rien qui empêche le BIOS de lire et de comprendre le GPT, et les chargeurs de démarrage peuvent également accéder à bien plus de 2 To en utilisant les appels du BIOS, donc le "besoin d'EFI" pour les gros disques est un mythe (malheureusement très répandu).
Patrick Georgi

Réponses:

6

Les processeurs x86 démarrent toujours en mode réel. Les BIOS sont libres (et parfois forcés) de passer en modes protégés ou longs pendant qu'ils initialisent leur matériel, mais lorsqu'ils remettent le contrôle au système d'exploitation (ou plutôt à son chargeur de démarrage), ils doivent revenir en mode réel, car c'est ce que ces chargeurs s'attendent à ce que le système fonctionne.

coreboot et UEFI passent en mode protégé assez tôt, alors que pour les PCBIOS (phoenix / award, ami et ainsi de suite), nous ne pouvons pas le dire. Ils sont en source fermée et ne parlent généralement pas beaucoup de leurs composants internes, et leurs interfaces sont toutes spécifiées en mode réel.

Pour les systèmes qui fonctionnent avec la RAM ECC, vous pouvez être relativement sûr qu'ils passent à un mode capable d'adresser toute la RAM, donc ils passent au moins en mode protégé - c'est parce qu'ils ont besoin d'initialiser la mémoire (écrire une valeur à chaque adresse ) au démarrage ou le système s'arrêterait si un code ultérieur lit des adresses qui n'ont jamais été écrites (en raison d'une détection d'erreur qui pourrait produire un faux positif). Mais comme dit, c'est interne au BIOS, et rien que les simples mortels puissent comprendre facilement ou auxquels ils devraient penser.

tl; dr: le BIOS est en mode réel à tous les points où il est visible de l'extérieur, donc à toutes fins utiles, il peut simplement fonctionner en mode réel tout le temps.

Patrick Georgi
la source
1
Même le BIOS IBM PC AT d'origine est passé en mode protégé pour le test de mémoire.
Yuhong Bao