Re: czerordzeniowe intele i amd

Autor: tomekr <tomekr_at_nomail.pl>
Data: Wed 17 Feb 2010 - 22:12:54 MET
Message-ID: <hlhm4o$5bi$1@newsread1.aster.pl>
Content-Type: text/plain; charset=UTF-8; format=flowed

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