Section courante

A propos

Section administrative du site

Voici la structure de données d'un descripteur de segment utiliser par la gestion des segments par le microprocesseur.

Descripteur de segment pour les 80286

Déplacement Taille Description
00h 1 octet Cette cellule permet d'indiquer la partie base de la longueur du segment.
01h 1 octet Cette cellule permet d'indiquer la partie haute de la longueur du segment.
02h 1 octet Cette cellule permet d'indiquer la partie base de l'adresse du segment de 24 bits.
03h 1 octet Cette cellule permet d'indiquer la partie moyenne de l'adresse du segment de 24 bits.
04h 1 octet Cette cellule permet d'indiquer la partie haute de l'adresse du segment de 24 bits.
05h 1 octet Cette cellule permet d'indiquer les attributs du segment :
Bit Nom du champ Description
0 A (Accessable) Ce champ permet d'indiquer le bit d'accès :
Valeur Description
0 Cette valeur permet d'indiquer que le segment n'est pas accessible.
1 Cette valeur permet d'indiquer que le segment est accessible.
1 R (Readable segment) / W (Writable) Ce champ permet d'indiquer si le segment est lisible ou écrivable :
Valeur Description
0 Cette valeur permet d'indiquer que la lecture (segment de code) ou l'écriture (segment de données) est désactivé (active l'exécution seulement).
1 Cette valeur permet d'indiquer que le lecture (segment de code) ou l'écriture (segment de données) est activé.
2 C (Control Bit) / ED (Expand Down) Ce champ permet d'indiquer le bit de contrôle ou extensible :
Valeur Description
0 Cette valeur permet d'indiquer que les règles de fonctionnement des segments via un pont, en utilisant PL si segment de code ou extensible si segment de données.
1 Cette valeur permet d'indiquer que le segment peut être appelé immédiatement en utilisant un CALL FAR à partir du même ou de plusieurs segments privilégiés si segment de code ou pas extensible si segment de données.
3 E (Extended Type of Segment Descriptor) Ce champ permet d'indiquer type de segment de segment étendue 
Valeur Description
0 Cette valeur permet d'indiquer un segment de données.
1 Cette valeur permet d'indiquer un segment de code.
0 à 3 TYPE Ce champ permet d'indiquer le type si le champ «S» (descripteur de contrôle) à la valeur 0 :
Valeur Description
0000 Cette valeur n'est pas utilisé.
0001 Cette valeur permet d'indiquer un TSS disponible.
0010 Cette valeur permet d'indiquer un LDT.
0011 Cette valeur permet d'indiquer un TSS occupé.
0100 Cette valeur permet d'indiquer un appel par pont.
0101 Cette valeur permet d'indiquer un tâche par pont.
0110 Cette valeur permet d'indiquer une interruption par pont.
0111 Cette valeur permet d'indiquer une trappe par pont.
1000 à 1111 Ces valeurs ne sont pas utilisés.
4 S (System) Ce champ permet d'indiquer le type du système :
Valeur Description
0 Cette valeur permet d'indiquer un descripteur de contrôle.
1 Cette valeur permet d'indiquer un segment de code ou de données.
5 à 6 DPL (Descriptor Privilege Level) Ce champ permet d'indiquer le niveau de privilège :
Valeur Description
00 Cette valeur permet d'indiquer un niveau très bas.
01 Cette valeur permet d'indiquer un niveau moyen bas.
10 Cette valeur permet d'indiquer un niveau moyen élevé.
11 Cette valeur permet d'indiquer un niveau très élevé.
7 P (Present segment) Ce champ permet d'indiquer si le descripteur est valide :
Valeur Description
0 Cette valeur permet d'indiquer que le descripteur n'est pas valide.
1 Cette valeur permet d'indiquer que le descripteur est valide.
06h 2 octets Ces cellules ne sont pas utilisé par le 80286.
La taille du descripteur de segment pour les 80286 est de 8 octets

Descripteur de segment pour les 80386

Déplacement Taille Description
00h 1 octet Cette cellule permet d'indiquer la partie base de la longueur du segment de 20 bits.
01h 1 octet Cette cellule permet d'indiquer la partie haute de la longueur du segment de 20 bits.
02h 1 octet Cette cellule permet d'indiquer la partie base de l'adresse du segment de 32 bits.
03h 1 octet Cette cellule permet d'indiquer la partie moyen de l'adresse du segment de 32 bits.
04h 1 octet Cette cellule permet d'indiquer la partie haute de l'adresse du segment de 32 bits.
05h 1 octet Cette cellule permet d'indiquer les attributs du segment :
Bit Nom du champ Description
0 A (Accessable) Ce champ permet d'indiquer le bit d'accès :
Valeur Description
0 Cette valeur permet d'indiquer que le segment n'est pas accessible.
1 Cette valeur permet d'indiquer que le segment est accessible.
1 R (Readable segment) / W (Writable) Ce champ permet d'indiquer si le segment est lisible ou écrivable :
Valeur Description
0 Cette valeur permet d'indiquer que la lecture (segment de code) ou l'écriture (segment de données) est désactivé (active l'exécution seulement).
1 Cette valeur permet d'indiquer que le lecture (segment de code) ou l'écriture (segment de données) est activé.
2 C (Control Bit) / ED (Expand Down) Ce champ permet d'indiquer le bit de contrôle ou extensible :
Valeur Description
0 Cette valeur permet d'indiquer que les règles de fonctionnement des segments via un pont, en utilisant PL si segment de code ou extensible si segment de données.
1 Cette valeur permet d'indiquer que le segment peut être appelé immédiatement en utilisant un CALL FAR à partir du même ou de plusieurs segments privilégiés si segment de code ou pas extensible si segment de données.
3 E (Extended Type of Segment Descriptor) Ce champ permet d'indiquer type de segment de segment étendue 
Valeur Description
0 Cette valeur permet d'indiquer un segment de données.
1 Cette valeur permet d'indiquer un segment de code.
0 à 3 TYPE Ce champ permet d'indiquer le type si le champ «S» (descripteur de contrôle) à la valeur 0 :
Valeur Description
0000 Cette valeur n'est pas utilisé.
0001 Cette valeur permet d'indiquer un TSS disponible (style 80286).
0010 Cette valeur permet d'indiquer un LDT.
0011 Cette valeur permet d'indiquer un TSS occupé (style 80286).
0100 Cette valeur permet d'indiquer un appel par pont (style 80286).
0101 Cette valeur permet d'indiquer un tâche par pont (style 80286).
0110 Cette valeur permet d'indiquer une interruption par pont (style 80286).
0111 Cette valeur permet d'indiquer une trappe par pont (style 80286).
1000 Cette valeur n'est pas utilisé.
1001 Cette valeur permet d'indiquer un TSS disponible (style 80386).
1010 Cette valeur est réservé.
1011 Cette valeur permet d'indiquer un TSS occupé (style 80386).
1100 Cette valeur permet d'indiquer un appel par pont (style 80386).
1101 Cette valeur est réservé.
1110 Cette valeur permet d'indiquer une interruption par pont (style 80386).
1111 Cette valeur permet d'indiquer une trappe par pont (style 80286).
4 S (System) Ce champ permet d'indiquer le type du système :
Valeur Description
0 Cette valeur permet d'indiquer un descripteur de contrôle.
1 Cette valeur permet d'indiquer un segment de code ou de données.
5 à 6 DPL (Descriptor Privilege Level) Ce champ permet d'indiquer le niveau de privilège :
Valeur Description
00 Cette valeur permet d'indiquer un niveau très bas.
01 Cette valeur permet d'indiquer un niveau moyen bas.
10 Cette valeur permet d'indiquer un niveau moyen élevé.
11 Cette valeur permet d'indiquer un niveau très élevé.
7 P (Present segment) Ce champ permet d'indiquer si le descripteur est valide :
Valeur Description
0 Cette valeur permet d'indiquer que le descripteur n'est pas valide.
1 Cette valeur permet d'indiquer que le descripteur est valide.
06h 1 octet Cette cellule permet d'indiquer la partie haute de la taille, la granularité et la dimension :
Bit Nom du champ Description
0 à 3   Ce champ permet d'indiquer les bits de 19 à 16 du de la longueur d'un segment de 20 bits.
4 X Ce champ est disponible pour les systèmes d'exploitation.
5   Ce champ vaut toujours 0.
6 D (Dimensions) Ce champ permet d'indiquer la dimension du segment :
Valeur Description
0 Cette valeur permet d'indiquer un segment de 16 bits.
1 Cette valeur permet d'indiquer un segment de 32 bits.
7 G (Granularity) Ce champ permet d'indiquer la granularité :
Valeur Description
0 Cette valeur permet d'indiquer que la limite de segment est calculé en octets (pouvant aller jusqu'à 220 octets).
1 Cette valeur permet d'indiquer que la limite de segment est calculé en page de 4 Ko (pouvant aller jusqu'à 232 octets).
07h 1 octet Cette cellule permet d'indiquer la partie très haute de l'adresse du segment de 32 bits.
La taille du descripteur de segment pour les 80386 est de 8 octets


Dernière mise à jour : Lundi, le 20 mai 2019