Keresés

Új hozzászólás Aktív témák

  • joysefke

    veterán

    LOGOUT blog

    válasz CPT.Pirk #3 üzenetére

    Leakelt tesztek alapján a legkisebb 4/4-es is komoly és érezhető előrelépést hozna. Egyébként azt is megteheted, hogy első körben veszel egy olyan RyZEN-t ami jó lehet, aztán ha kiderül hogy kevés akkor olcsón lecseréled egy nagyobbra. Ehhez nyilván a családnak egy olyan darabját kell venni, ami mellé nincsen szorosan pozicionálva egy másik modell ami lehúzhatja a használt árát.

    Ha nem HEDT hanem általános felhasználás szemszögéből nézni az ember a platformot, akkor gyakorlatilag open ended a foglalat: egészen biztosan van lesz akkora mag/szálszámú modell amekkorára szükséged van.
    Ezzel együtt én sem adnám 4/8 alá. Aztán ha az sem elég, a 6/12-höz sem kell az embernek eladnia a veséjét...

  • joysefke

    veterán

    LOGOUT blog

    válasz deicide #87 üzenetére

    ahogy én látom korábban tényleg nem volt értelme, de manapság már jól jön pár játék alatt, ahogy írták a többiek is. Ráadásul a RyZEN árakat elnézve a 4/4-hez képest a 4/8-nak nincs olyan nagy felára főleg azt tekintve, hogy szükség lesz még valami lapra illetve DDR4 memóriára is...

    [ Szerkesztve ]

  • joysefke

    veterán

    LOGOUT blog

    válasz deicide #118 üzenetére

    Na de ha elosztja a kódoló program a 4 szálat a 4 fizikai magra, akkor mind a 4 mag 100%-on megy. E mellé hiába van még 4 szálad a 4db maghoz, azokon nem fog történni semmi, csak azon áron, hogy a kódoló program kevesebb processzoridőhöz jut, ergo lassabb lesz, ha más is futni akar.

    Nincs "kódoló program", egyrészt van az operációs rendszer ütemezője (ami jobb esetben fel van készítve az adott processzor sajátosságaira), hogy a futni akaró programokat (valamilyen szempontok szerint) minél jobban elossza a processzormagok között. Másrészt vannak a futó programjaid, amelyek közül (tipikusan a teljesítmény-centrikusak) némelyet a készítői eleve úgy terveztek és végül készítettek el, hogy egyszerre több végrehajtási szálon tudjanak dolgozni.

    Ahhoz hogy egy szoftver több végrehajtási szálon tudjon egyszerre dolgozni, ahhoz a szoftvert eleve így kell tervezni és implementálni. Ha ez nem történik meg, akkor semmiféle külső szoftver (sem compiler, sem oprendszer vagy alkalmazás szintű szoftver) nem fog tudni semmit segíteni.

    A hyper threading azt csinálja, hogy a fizikai processzormag némely (de nem minden) részei meg vannak duplázva, más részei (a tényleges végrehajtó egység) nincsenek megduplázva.

    Így az oprendszer ütemezője egy fizikai processzormag helyett a két logikai processzormagot lát és ezekre egyszerre kettő darab szálat tud ütemezni, de értelemszerűen végrehajtva ezek közül egy időben egyszerre csak az egyik szál lesz.

    Az értelme az egésznek annyi, hogy vannak olyan események, ami miatt egy futni akaró és az oprendszer ütemezője által ütemezett (tehát logikai processzorhoz hozzárendelt) programszál külső események miatt mégsem tud futni (például: cache miss van és várakozik a memóriában tárolt adatokra, ez simán lehet 50+ CPU órajel ciklus, vagy mondjuk olyan adatokra vár a végrehajtási szál, amelyeket egy másik végrehajtási szálnak kellene szolgáltatnia vagy történt egy interrupt).

    Ilyen esetekben az ütemezett programszál hiába akarna dolgozni, nem tud és emiatt a processzormag végrehajtó egysége üresen, kihasználatlanul állna. Itt segít a hyper threading:

    Ha az éppen végrehajtás alatt álló programszál futása valami miatt leáll (cache miss, vagy másik szálra vár, vagy valami interrupt) akkor a végrehajtó egységet (amiből a két logikai processzormaghoz csak egy tartozik) a másik logikai processzormag és ezáltal az arra ütemezett másik programszál kapja meg, így az tud futni tovább, így biztosítva a CPU végrehajtó egységének folyamatos kihasználtságát. Ezt a processzor saját hatáskörében oldja meg, nem kell kivárni, hogy az oprendszer újraütemezze a szálakat.

    A marketing azt mondja, hogy 5% többlet-tranzisztorbefektetéssel 15-20% többlet-teljesítményt lehet így kihozni, tehát kis befeketetéssel lehet teljesítményben nagyot kaszálni. Értelemszerűen a processzormagok teljes duplázása sokkal többet hozna, de tranzisztorban sokkal többe is kerülne...

    Csak azért feszegetem, mert nekem ősidők óta minden i7-en ki van kapcsolva a HT, mert nemhogy gyorsabbak a játékok, van, ahol lassabb.

    Meg sem merem kérdezni, hogy minek van akkor i7-ed, ha mindig ki van kapcsolva...

    Viccet félretéve. A hyper threading (szerintem) leginkább a gyengén megírt többszálú szoftverek mankója. Ez jól jellemzi a programok 90+ százalékát :)
    Minél jobban van megírva egy szoftver, annál ritkábban fordul elő, hogy a szálak csak úgy várakoznak mert mondjuk cache miss van, így értelemszerűen egy jól megírt szoftvernél kevesebbet fog jelenteni a HT.

    Extrém esetben még hátráltathat is...

    Régebben még elég gyakran előfordult, hogy a professzionális szoftverek készítői egyenesen azt tanácsolták, hogy kapcsold ki. Manapság nem tudom van-e még ilyen, bár ha valaki munkaszerűen használ egy szoftvert, akkor érdemes utánanézni, hogy mit mond a gyártó a HT-ről, ki vagy bekapcsolva legyen. A technológia már olyan régi, hogy szerintem a legtöbb szoftverfejlesztő legalább arra ügyel, hogy a HT ne hátráltasson, ha esetleg nem segít...

    Egyébként ahhoz, hogy egy 4/8-as procinak bármi előnye legyen egy 4/4-eshez képest, ahhoz nyilván legalább 4+ olyan programszál kell amelyek komolyan terhelnek. Manapság már vannak ilyen játékok is...

  • joysefke

    veterán

    LOGOUT blog

    válasz Yutani #283 üzenetére

    Phenom 2.1-et HT-val, mert a Bulldózer vonalat dobták, ezt sem tudtad???

    [ Szerkesztve ]

Új hozzászólás Aktív témák