BoguĹ› pisze:
> Radosław Sokół napisał:
>
>> 1) Oznacza, że masz do dyspozycji osiem odrębnych logicznych
>> jednostek obliczeniowych.
>
> ale tylko 4 rdzenie fizyczne. Czyli jak obciÄ…ĹĽymy komputer 8 procesami
> obliczeniowymi to 1 proces dostaje tylko 1/2 mocy pojedyńczego rdzenia.
> Nie rozumiem więc sensu HyperThreadingu.
Typowy procesor, wykonujac oprogramowanie zwykłe, nie strumieniowe
(czyli np. nie konwersja/dekodowanie filmów), przez większą część czasu
nic nie robi, lecz czeka na pamięć. Wynika to z tego, że czasy dostępu
do pamięci to nawet kilkaset cyki procesora, czyli jak trafi na daną
która nie jest w pamięci podręcznej musi czekać na nie długo.
Dlatego m.in. tak przydatna jest pamięć podręczna, która zastępuje
najczęściej używane obszary pamięci, z czasem dostępu nie kilkaset, lecz
kilka-kilkanaście-kilkadziesiąt cykli.
Hyperthreading to 2 niezależne procesory logiczne. Dzięki temu są
(częste) sytuacje, gdy jeden procesor logiczny czeka na pamięć, a drugi
nadal ma coś do zrobienia nie wymagającego kontaktu z pamięcią. Czyli
przyspieszenie zależy od rodzaju programów - niektóre (większość) mają
tak jak napisałem i są mocno przyspieszane, niektóre (mniejszość) wręcz
odwrotnie - dwa wÄ…tki instrukcji tak mocno walczÄ… ze sobÄ… o zasoby (np.
wypychają się wzajemnie z pamięci podręcznej), że dochodzi do spowolnienia.
Received on Wed Feb 17 22:15:01 2010
To archiwum zostało wygenerowane przez hypermail 2.1.8 : Wed 17 Feb 2010 - 22:51:05 MET