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