INSTRUCTIONS AND LOGIC TO PROVIDE ATOMIC RANGE OPERATIONS
Instructions and logic provide atomic range operations in a multiprocessing system. In one embodiment an atomic range modification instruction specifies an address for a set of range indices. The instruction locks access to the set of range indices and loads the range indices to check the range size...
Gespeichert in:
Hauptverfasser: | , , , , |
---|---|
Format: | Patent |
Sprache: | eng ; fre |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Instructions and logic provide atomic range operations in a multiprocessing system. In one embodiment an atomic range modification instruction specifies an address for a set of range indices. The instruction locks access to the set of range indices and loads the range indices to check the range size. The range size is compared with a size sufficient to perform the range modification. If the range size is sufficient to perform the range modification, the range modification is performed and one or more modified range indices of the set of range indices is stored back to memory. Otherwise an error signal is set when the range size is not sufficient to perform said range modification. Access to the set of range indices is unlocked responsive to completion of the atomic range modification instruction. Embodiments may include atomic increment next instructions, add next instructions, decrement end instructions, and/or subtract end instructions.
L'invention concerne des instructions et une logique réalisant des opérations de plage atomique dans un système de multitraitement. Dans un mode de réalisation, une instruction de modification de plage atomique spécifie une adresse pour un ensemble d'indices de plage. L'instruction verrouille l'accès à l'ensemble d'indices de plage et charge les indices de plage pour vérifier la taille de la plage. La taille de la plage est comparée à une taille suffisante pour effectuer la modification de plage. Si la taille de la plage est suffisante pour effectuer la modification de plage, la modification de plage est effectuée et un ou plusieurs indices de plage modifiée de l'ensemble d'indices de plage sont à nouveau stockés en mémoire. Dans le cas contraire, un signal d'erreur est établi lorsque la taille de la plage n'est pas suffisante pour effectuer ladite modification de plage. L'accès à l'ensemble d'indices de plage est déverrouillé en réaction à l'achèvement de l'instruction de modification de plage atomique. Les modes de réalisation peuvent comprendre des instructions atomiques 'increment next', des instructions 'add next', des instructions 'decrement end', et/ou des instructions 'subtract end'. |
---|