J'ai parcouru tous les manuels et je ne trouve pas une seule mention du Pointer d'instruction. J'en ai besoin pour un programme SPU que j'écris. Peut-être qu'il a un nom différent? Quelqu'un peut-il me dire comment je peux accéder à l'adresse de l'instruction qui doit être exécutée? Merci d'avance pour votre aide. MISE À JOUR: Apparemment, cela s'appelle le compteur de programme, mais comment puis-je y accéder à partir de mon programme SPU?SPU Instruction Pointer
Répondre
Si vous voulez juste pour obtenir le pointeur d'instruction, vous pouvez le faire dans l'assemblage:
brsl r<n>, .+4
Cette charge l'adresse de l'instruction suivante dans le registre r<n>
.
On dirait que vous pouvez obtenir l'instruction suivante en exécutant une opération spe_context_run
:
int spe_context_run(spe_context_ptr_t spe, unsigned int *entry, unsigned int runflags, void *argp, void *envp, spe_stop_info_t *stopinfo)
entry
Entrée: Le point d'entrée, qui est la valeur initiale de la SPU pointeur d'instruction, auquel le programme SPE devrait commencer à s'exécuter. Si la valeur de l'entrée est SPE_DEFAULT_ENTRY, le point d'entrée du programme principal SPU est obtenu à partir de l'image SPE chargée. C'est habituellement l'adresse de magasin local de la fonction d'initialisation crt0 (voir le manuel de programmation de moteur à large bande de cellules, objets, exécutables, et chargement de SPE).
Sortie: pointeur d'instruction SPU au moment où l'unité SPU a arrêté l'exécution , c'est-à-dire l'adresse de stockage local de l'instruction suivante qui aurait été exécutée.
Ce paramètre peut être utilisé, par exemple, pour permettre au programme SPE à « pause » et demander une action du fil de PPE, par exemple, effectuer une opération d'E/S. Une fois cette action terminée, vous pouvez poursuivre le programme SPE en appelant à nouveau spe_context_run sans modifier l'entrée.
Merci pour votre réponse, mais je voudrais le faire sur le SPU, alors que spe_context_run exécute un contexte et est sur le PPU. – user1294986
Ah, donc vous exécutez un programme SPU et vous voulez obtenir le pointeur d'instruction? Veuillez mettre à jour votre question et mentionnez-la. – nneonneo
Oui. Désolé de ne pas être clair là-dessus. Y a-t-il un moyen? D'après ce que j'ai lu dans les instructions, la SPU doit être désactivée pour lire le SPU_NPC, mais je voudrais le lire dans mon programme SPU. – user1294986
- 1. Bibliothèques GSL sur le SPU
- 2. fonction format_type pas pris en charge sur DBOS/SPU
- 3. Pointer to Pointer
- 4. Pointer to Pointer to integer
- 5. C Pointer to Pointer Allocation
- 6. Version Java de "Pointer Pointer"
- 7. Query Pointer dans Pointer dans parse.com Classe
- 8. Comment fonctionne Pointer Arithmetic après Pointer Casting?
- 9. Point void-pointer à char-pointer
- 10. Pointer to Pointer dans COM/ATL
- 11. Pointer confusion
- 12. Pointer Conception
- 13. Pointer arrays?
- 14. Pointer Aithmetic
- 15. Pointer Trouble
- 16. C++ Basique Double Pointer Passant
- 17. Pointer-to-Pointer se bloque au cas où Pointer ne le fait pas
- 18. Bibliothèques Opencv en langage C. Que fait exactement cette instruction int = pointer == 0; ?
- 19. Debug Current Instruction Pointer, essayant d'ajouter des valeurs de trois textviews
- 20. L'état de l'émulateur Netezza n'est pas 'En ligne' et la VM SPU ne fonctionne pas
- 21. Paramètre Pointer to pointer dans la fonction Swift
- 22. Comment retourner C++ Pointer Array Pointer dans la méthode
- 23. C Pointer to Pointer - Liste des chaînes d'accès
- 24. GCC avertit de la fonction Pointer to Object Pointer Cast
- 25. calloc typecasting pour pointer vers le pointeur
- 26. Pointer instantanément 0x0
- 27. StillImage :: GetDeviceList Pointer
- 28. Tabhost Null Pointer Exception
- 29. C++ Pointer math lutte
- 30. Pointer De-référencement
Sur la plupart des architectures, il est appelé le compteur de programme (PC) - Intel est un peu non conformiste dans sa nomenclature à cet égard. –
Merci un million! C'est vraiment embarrassant, mais j'ai seulement fait le codage d'assemblage sur le x86. Mais j'ai une autre question: est-il possible de le lire sans que le SPU soit arrêté? – user1294986