Em processadores SMT (multithreading simultâneo) em que threads compartilham o TLB, como o TLB diferencia o acesso de um thread do outro? Cada thread possui seu próprio conjunto de páginas carregadas na memória e threads independentes não compartilham páginas. Eu acho que existe algum tipo de suporte de hardware para isso no TLB, como alguns bits extras. Mas gostaria de saber mais detalhes.
Responder1
Se threads compartilham um TLB, não há necessidade de diferenciar o acesso de um thread de outro. Se os threads compartilharem uma VM, eles terão exatamente a mesma visão da memória. Caso contrário, não compartilharão um TLB.