Wielowątkowość współbieżna

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Wielowątkowość współbieżna (ang. Simultaneous Multi-Threading, SMT) – technika poprawy wydajności mikroprocesorów superskalarnych pozwalająca pojedynczej superskalarnej jednostce wykonawczej realizować instrukcje z wielu wątków jednocześnie[1]. Najbardziej znanym tego typu rozwiązaniem jest mechanizm zastosowany w procesorach Intela o nazwie Hyper-threading.

Realizacja wielowątkowości współbieżnej w procesorze superskalarnym wymaga dodania znacznika przynależności do określonego wątku dla każdej instrukcji wewnętrznej, dodanie zbiorów rejestrów dla każdego wątku, rozszerzenie cech bloków pobierania i kończenia (ang. retiring) instrukcji zapewniając rozróżnianie poszczególnych wątków[1].

Mikroprocesor wykorzystujący tę technikę posiada po kilka rdzeni logicznych na każdy rdzeń fizyczny, a system operacyjny traktuje je jako oddzielne procesory pozwalające na wykonywanie poszczególnych wątków realizowanych procesów. Przykładowo, czterordzeniowy CPU posiadający po 2 rdzenie logiczne na jeden rdzeń fizyczny może wykonywać aż osiem wątków jednocześnie. Zwykle rdzenie logiczne są realizowane jako kilka potoków wykonujących instrukcje procesora podłączonych do pojedynczego rdzenia fizycznego, który zajmuje się przydzielaniem jednostek wykonawczych dla realizowania poszczególnych wątków.

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]