A method of accessing information in a cache of a multithreaded system
comprises providing a virtual address of an instruction to be accessed by
a thread. Upon a cache miss, the physical address of the information is
compared with the physical address of an instruction stored in the cache,
and if they match, the instruction is accessed from the cache.
Alternatively, the cache is searched for an entry having a virtual address
which matches the instruction's virtual address, and having some
indication of being associated with the accessing thread. Upon finding
such an entry, the instruction is accessed from the cache. In addition,
the instruction may be accessed from the cache upon finding a cache entry
whose virtual address matches the instruction's virtual address, and which
either has an address space matching the address space of the thread, or
has an indication that the entry matches all address spaces. A translation
lookaside buffer (TLB) maps the accessed instruction's virtual address to
a physical address upon a miss. The cache entry's virtual address may also
mapped to a physical address by the TLB, whose look-up key comprises a
virtual address and an address space identifier. A thread indication in a
cache entry, corresponding to the accessing thread, is set when a cache
miss is detected, where the physical addresses of the accessed instruction
and the cache entry match. When this occurs, the instruction is accessed
from the cache.
Um método de alcançar a informação em um esconderijo de a multithreaded o sistema compreende fornecer um endereço virtual de uma instrução para ser alcançado por uma linha. Em cima de uma falta de esconderijo, o endereço físico da informação é comparado com o endereço físico de uma instrução armazenada no esconderijo, e se combinarem, a instrução é alcançada do esconderijo. Alternativamente, o esconderijo é procurarado por uma entrada que tem um endereço virtual que combine o endereço virtual da instrução, e tendo alguma indicação de ser associado com a linha de acesso. Em cima de encontrar tal entrada, a instrução é alcançada do esconderijo. Além, a instrução pode ser alcançada do esconderijo em cima de encontrar uma entrada do esconderijo cujo o endereço virtual combine o endereço virtual da instrução, e que tenha um espaço de endereço combinar o espaço de endereço da linha, ou tenha uma indicação que a entrada combina todos os espaços de endereço. Um amortecedor do lookaside da tradução (TLB) traça o endereço virtual da instrução alcançada a um endereço físico em cima de uma falta. O endereço virtual da entrada do esconderijo pode traçado também a um endereço físico pelo TLB, cuja a chave do look-up compreende um endereço virtual e um identificador do espaço de endereço. Uma indicação da linha em uma entrada do esconderijo, correspondendo à linha de acesso, é ajustada quando uma falta de esconderijo é detectada, onde os endereços físicos da instrução alcançada e da entrada do esconderijo combinam. Quando isto ocorre, a instrução está alcançada do esconderijo.