A tag address stack (TAS) for reducing the number of address latches and
address comparators needed to insure data coherency in a pipelined
microprocessor. The TAS is a small pool of address latches shared among
data buffers in the microprocessor that stores a unique set of memory
addresses that specify data in the data buffers. A correspondingly small
number of address comparators compare the unique TAS addresses with a new
load/store address. If the new address matches a TAS address, the new
load/store operation latches a unique tag associated with the matching TAS
address. Otherwise, the new address is loaded into a free latch and the
new load/store latches its associated unique tag. If no latches are free,
the pipeline stalls until a latch in the pool becomes free. Rather than
storing the full addresses in conjunction with the data buffers, the tags
are stored, which facilitates faster compares.
Une pile d'adresse d'étiquette (TAS) pour réduire le nombre de verrous d'adresse et de comparateurs d'adresse a dû assurer la concordance de données dans un microprocesseur canalisé. Le TAS est une petite piscine des verrous d'adresse mis en commun entre des amortisseurs de données dans le microprocesseur qui stocke un ensemble unique d'adresses de mémoire qui indiquent des données dans les amortisseurs de données. Un nombre également petit de comparateurs d'adresse comparent les adresses uniques de TAS à une nouvelle adresse de load/store. Si la nouvelle adresse assortit une adresse de TAS, la nouvelle opération de load/store verrouille une étiquette unique liée à l'adresse assortie de TAS. Autrement, la nouvelle adresse est chargée dans un verrou libre et le nouveau load/store verrouille son étiquette unique associée. Si aucun verrou n'est libre, la canalisation cale jusqu'à ce qu'un verrou dans la piscine devienne librement. Plutôt que de stocker les pleines adresses en même temps que les amortisseurs de données, les étiquettes sont stockées, qui facilite compare plus rapidement.