
В процессорах SMT (одновременная многопоточность), в которых потоки совместно используют TLB, как TLB различает доступ одного потока от другого? У каждого потока есть свой набор страниц, загруженных в память, и независимые потоки не делят страницы. Я предполагаю, что в TLB есть какая-то аппаратная поддержка для этого, например, некоторые дополнительные биты. Но я хотел бы узнать больше подробностей.
решение1
Если потоки совместно используют TLB, нет необходимости различать доступ одного потока от другого. Если потоки совместно используют vm, у них точно такой же вид памяти. Если нет, то они не совместно используют TLB.