5

Są dwa warunki:Jaka jest różnica między wielowątkowością czasową a superprzestrzenią?

  • Temporal multithreading: w drobnoziarnistej wielowątkowych czasowego, procesor główny rurociąg może składać się z wielu wątków, z kontekstu wydajnie włącza występującej pomiędzy etapami rur (na przykład, w barrel processor). Procesor beczkowy to procesor, który przełącza się między wątkami wykonania w każdym cyklu.

  • Super-threading: jest rodzajem wielowątkowości, która umożliwia wykonywanie różnych wątków przez jeden procesor, bez faktycznego wykonywania ich w tym samym czasie. 1 To kwalifikuje to jako wielowątkowość w czasie lub w czasie, zamiast wielowątkowości jednoczesnej (SMT). Jest to motywowane obserwacją, że jednostki funkcjonalne procesora są czasami pozostawione bezczynne podczas wykonywania instrukcji z jednego wątku ze względu na zdarzenia o długim opóźnieniu. Super-threading dąży do wykorzystania nieużywanych cykli procesora, wykonując instrukcje z innego wątku, aż poprzedni wątek będzie gotowy do wznowienia wykonywania.

Jest to główna różnica między TM a ST, że czasowe wielowątkowe (drobnoziarniste) wykorzystuje C-slowing oraz przełącza nici wykonanie w każdym cyklu, ale przełącza Super gwintowych pomiędzy nićmi nie w każdym cyklu, a tylko wtedy, gdy procesora jednostki funkcjonalne pozostają bezczynne podczas wykonywania instrukcji z jednego wątku ze względu na zdarzenia o długim opóźnieniu?

Jaka jest różnica między Temporal wielowątkowości (drobnoziarnisty) i Super-Threading?

+3

Z * Bardzo krótki * wyszukiwania (i * niektóre * znajomość architektury komputerowej) wydaje się, że super-Threading został po raz pierwszy użyty w Shuichi Sakai et Al „Super-Threading. Architektury i oprogramowania Mechanizmy Optymalizacja Parallel Computation "o znacznie szerszym znaczeniu wsparcia sprzętowego dla wątków. Termin ten nie jest powszechnie używany (o ile mi wiadomo) w społeczności architektów komputerowych. Wielowątkowość czasowa obejmuje gruboziarniste (zazwyczaj uruchamiane zdarzeniem MT) i drobnoziarniste (w tym przetwarzanie w beczce i bardziej elastyczne harmonogramowanie cyklu po cyklu) MT. –

+0

@Paul A. Clayton Termin ST jest rzadko używany. Czy jest to możliwe, ponieważ super-gwintowanie (ST) dostarcza instrukcji tylko dla jednego potoku (ALU), ale jednoczesnej wielowątkowości (SMT) dla wielu potoków (ALU)? To znaczy. ST ma przewagę tylko w przypadku straganów (brak pamięci podręcznej, niedostosowanie gałęzi lub zależność danych), ale nowoczesne procesory są również architekturą superskalarną, a zamiast ST wykorzystuje SMT do korzystania z superskalarnej architektury. Na przykład Hyper-Threading - to własna wielowątkowość Intela (SMT). – Alex

Odpowiedz

2

czasowy wielu wątków może być w postaci drobnoziarnistej lub gruboziarnistego wielu gwintu. Drobne ziarna wielowątkowość przełącza konteksty w ustalonym przedziale drobnego ziaren (na przykład w każdym cyklu). Wielowymiarowe przełączanie kontekstów przełącza konteksty na zdarzenia o długich opóźnieniach (np. Brak pamięci podręcznej LLC).

Jednoczesne wielowątkowość, z drugiej strony, nie ma żadnego pojęcia przełączania wątków. Wiele wątków może działać jednocześnie.

Obraz jest wart tysiąca słów. Spójrz na slajdy od 5 do 7 here. Ma zdjęcia dla wszystkich 3 metod i ładnie je porównuje.

Jak mówili inni, super-Threading jest wspólny termin i wydaje się podobny do gruboziarnistych TM do mnie.

+0

Dziękuję, tak, to są dobre slajdy. Możemy uznać, że Super-Threading jest taki sam jak wielowątkowy czasowy (gruboziarnisty). To znaczy.typy wielowątkowości różnią się w następujący sposób - od udostępnienia czegokolwiek do dzielenia się niczym w rdzeniu procesora między wątkami: ** Brak ** (w pełni wielowątkowość oprogramowania), ** TM (drobnoziarnisty) ** w procesorach beczkowych, ** TM (coars-grained) - Super Threading **, ** SMT ** - Hyper Threading, ** CMT ** (Chip Multithreading) - multicore ze wspólnym kosztownym zasobem (pojedynczy FPU na niektórych rdzeniach), ** CMP ** (Multiprocesory z chipem)) - multicore ze współdzieloną pamięcią podręczną ostatniego poziomu i interkonektem. – Alex

+0

Czy możemy powiedzieć, że nowoczesne procesory Intela, na przykład Intel Core i7 to CMP i SMT? – Alex

+1

@Alex, o ile wiem, tak. Prawie wszystkie procesory x86 to obecnie CMP (nie mogę wymyślić żadnego jednordzeniowego procesora x86). To samo dotyczy SMT. Niektóre z nich to dwukierunkowe SMT, niektóre to 4-stronne SMT. Zauważ, że Intel używa terminu Hyperthreading dla SMT. BTW, spójrz na bazę danych Stanford CPU w celach informacyjnych. http://cpudb.stanford.edu/ – aminfar