摘要 |
Pour le traitement d'un programme d'utilisateur sur un système informatique parallèle, les opérations du programme d'utilisateur sont exécutées en parallèle sur différentes calculatrices. Il peut alors se produire qu'une première opération nécessite des données qui sont produites par une deuxième opération. La première opération doit donc attendre, dans le traitement, que la deuxième opération fournisse ces données. Pour ne pas allonger le temps d'exécution du programme dans la traduction de ce programme d'utilisateur, on ouvre, pour les instructions d'une première opération qui font appel à des données produites par une deuxième opération, des cellules de résultat dans une zone de mémoire non adressable en mode utilisateur, cellules où peuvent être inscrites ensuite les données produites par la deuxième opération. Dans le traitement du programme d'utilisateur après la traduction pour le système informatique parallèle, on recherche, pour toutes les instructions comportant un accès à la mémoire, si l'emplacement de mémoire adressé est une cellule de résultat dans la zone de mémoire non adressable. Si tel est le cas, le système d'exploitation interrompt le traitement du programme d'utilisateur et lance, en mode système, un programme d'interruption qui a accès à la cellule de résultat. On détermine alors si le résultat se trouve déjà dans la cellule de résultat et, dans ce cas, ce résultat est fourni à l'opération. Dans le cas contraire, la première opération est interrompue jusqu'à ce que le résultat fourni par l'autre opération soit inscrit dans la cellule de résultat. |