Instruction dcbtst (Data Cache Block Touch for Store)
Objectif
Permet à un programme de demander une extraction de bloc de cache avant qu'il soit réellement nécessaire au programme.
Syntaxe
| Bits | Valeur |
|---|---|
| 0-5 | 31 |
| 6 à 10 | en-tête de transmission |
| 11-15 | RA |
| 16-20 | RB |
| 21-30 | 246 |
| 31 | / |
Description
L'instruction Dcbtst améliore les performances en anticipant un magasin sur l'octet traité. Le bloc contenant l'octet traité par l'adresse effective (EA) est extrait dans le cache de données avant que le bloc soit requis par le programme. Le programme peut ensuite effectuer des magasins sur le bloc et ne pas connaître le délai supplémentaire causé par l'extraction du bloc dans le cache. L'exécution de l'instruction Dcbtst n'appelle pas le gestionnaire d'erreurs système.
L'instruction Dcbtst calcule une adresse effective (EA) en ajoutant le contenu du registre général (GPR) RA au contenu de GPR RB. Si la zone RA est 0, EA correspond à la somme du contenu de RB et de 0.
Tenez compte des éléments suivants lors de l'utilisation de l'instruction Dcbtst :
- Si l'évaluation environnementale indique une adresse de segment de magasin direct, l'instruction est traitée comme une opération no-op.
- L'accès est traité comme une charge à partir du bloc de cache traité par rapport à la protection. Si la protection ne permet pas l'accès au octet traité, l'instruction Dcbtst n'effectue aucune opération.
- Si un programme n'a pas besoin de stocker dans le bloc de cache de données, utilisez l'instruction Dcbt (Data Cache Block Touch).
L'instruction Dcbtst comporte un formulaire de syntaxe et n'affecte pas la zone Registre de conditions 0 ou le registre des exceptions de point fixe.
La zone Touch Hint (E) permet de fournir un indice que le programme va probablement stocker bientôt dans les emplacements de stockage spécifiés par l'EE et la zone TH . L'indice est ignoré pour les emplacements dont la mise en cache est inhibée ou surveillée. Les codages de la zone TH dépendent de l'architecture cible sélectionnée avec l'indicateur -m ou la pseudo-opération .machine. Les codages de la zone TH sont identiques à ceux de l'instruction Dcbt .
L'instruction Dcbtst sert à la fois de mnémonique de base et de mnémonique étendu. Le mnémonique Dcbtst avec trois opérandes est le format de base, et le Dcbtst avec deux opérandes est le formulaire étendu. Dans le formulaire étendu, l'opérande TH est omis et est supposé être 0. Les codages de la zone TH sur POWER5™ et les architectures suivantes sont les suivants:
| Valeurs TH | Descriptif |
|---|---|
| 0000 | Le programme va probablement stocker dans l'octet traité par EA. |
| 0001 | Le programme va probablement stocker dans le flux de données constitué par le bloc contenant l'octet traité par EA et un nombre illimité de blocs séquentiellement. Les blocs séquentiellement précédents sont les octets traités par EA + n * block_size, où n = 0, 1, 2, etc. |
| 0011 | Le programme va probablement stocker dans le flux de données constitué par le bloc contenant l'octet traité par EA et un nombre illimité de blocs séquentiels précédents. Les blocs séquentiellement précédents sont les octets traités par EA-n * block_size où n = 0, 1, 2, etc. |
| 1 000 | L'instruction Dcbt fournit un indice qui décrit certains attributs d'un flux de données et indique éventuellement que le programme va probablement stocker dans le flux. L'évaluation environnementale est interprétée comme décrit dans Codage EA lorsque TH=0b1000 . |
| 1010 | L'instruction Dcbt fournit un indice qui décrit certains attributs d'un flux de données ou indique que le programme va probablement stocker dans des flux de données qui ont été décrits à l'aide d'instructions Dcbt dans lesquelles TH [ 0 ] = 1 ou probablement ne stockent plus dans ces flux de données. L'évaluation environnementale est interprétée comme décrit dans Codage EA lorsque TH=0b1010 |
Paramètres
| Article | Descriptif |
|---|---|
| RA | Indique le registre d'utilisation générale source pour l'opération. |
| RB | Indique le registre d'utilisation générale source pour l'opération. |
| en-tête de transmission | Indique quand une séquence de blocs de cache de données peut être modifiée. |