Avatar uživatele
Registrovaný

Jak je to s jádry v procesoru?

Někdo mi tvrdil, že když mám více jádrový procesor, tak každá aplikace využívá jedno jádro, a tak že jsou osmi jádra při používání výkonnější než čtyřjádra.
jak to je?

Uzamčená otázka – ohodnoťte nejlepší odpověď symbolem palce.

Nejlepší odpověď

Odpoveď byla označena jako užitečná
Avatar uživatele
Zlatý

..."každá aplikace využívá jedno jádro"...
Mno - to není pravda, ale, řekněme, jako zjednodušené vysvětlení by to mohlo stačit...
..."a tak že jsou osmi jádra při používání výkonnější než čtyřjádra"...
Jistě (pokud jsou zbylé parametry procesoru stejné).
Ale ani toto není tak jednoduché - OS a i samotné aplikace musí být na takovéto procesory naprogramované (pokud budeš mít např. OS, který neumí využít více, než jedno jádro, bude makat jedno - a zbytek bude ´spát´).
;-)

 

Další odpovědi:

Avatar uživatele
Zlatý

Ono to tak nějak je, ale aby to platilo na 100% musí být aplikace pro vícejádrový procesor napsaná.


Avatar uživatele
Stříbrný

K těm osmijádrům: to jsou procesory od AMD, intel osmijádra nemá v nabídce. AMD a intel mají ale jinak navrženou architekturu a jedno core (jádro) u AMD není totéž jako u intelu, například u AMD mají dvě jádra společnou cache a FPU (mimo jiné) a i další omezení, takže se rozhodně nedá jednoznačně porovnávat počet jader u konkurenčních procesorů. Navíc AMD je za intelem o generaci pozadu, co se týká výrobního procesu: AMD stále 32 nm, intel 22 nm proces (to je tloušťka vodivých drah na čipu), takže AMD více "žerou" a hřejí. Pro využití více jader musí být samozřejmě optimalizována aplikace, ale nejlépe by bylo i optimalizování samotného operačního systému; troufám si tvrdit, že ještě i v současnosti mají v tomto navrch operační systémy na bázi GNU/Linux nad Windowsy. Není-li totiž na vícejádro optimalizována aplikace, dokáže toto do jisté míry dirigovat operační systém.

 

Diskuze k otázce

Avatar uživatele
Pokročilý

Magix.cz

A já si myslel, že prográmky sami používají jádra procesoru stylem "tohle jádro není vytíženo, tak si tam něco spočítám. To ne ?

Avatar uživatele
Stříbrný

Dochy

standardně jsou programy psány stylem: vezmu cislo A, k tomu prictu cislo B ulozim to jako cislo C, potom vezmu cislo D prictu cislo E a ulozim jako F.
Standardně zde není nikdo, kdo by rozhodl, že druhý výpočet se může dělat zároveň s prvním. Protože pokud by tam byla instrukce E=C, pak je třeba s druhým výpočtem počkat...

Pouze pokud programátor ví, že tyto výpočty se neovlivní, může napsat něco ve smyslu:
spusť výpočet 1 (a nečekej na dokončení), spusť výpočet 2(a nečekej na dokončení)
počkej na dokončení výpočtů....

Definice vypoctu 1: C=A+B
Definice vypoctu 2: F=D+E
... ted OS může OS poslat každý z výpočtů na jiné jádro.
Tohle má samozřejmě smysl pro větší úlohy (místo toho primitivního sčítání tam může být klidně operace pro zpracování fotografie)

Pro jednoduché úlohy jako je třeba jen to sčítání se o to zpravidla pokouší samo jádro procesoru (platí pro současné CPU), který načítá frontu instrukcí předem a upravuje jejich pořadí a rozdělení na vlákna - ten mechanismus ale nevyužije druhé jádro procesoru, může využít třeba druhou matematickou jednotku uvnitř jádra...

Avatar uživatele
Pokročilý

Magix.cz

Dík za odpověď, Dochy.

Avatar uživatele
Zlatý

Lamalam

Tak to nefunguje. Program i OS musí být napsaný tak, aby více jader mohl využít.

Avatar uživatele
Zlatý

gecco

;-)

 

Zajímavé otázky v kategorii Počítače a internet

Přihlásit se

Položte otázku, odpovězte, zapojte se, …

začněte zde

Reklama

Kvalitní odpovědi v: Počítače a internet

Zlatý Bedy 1525
Zlatý Michal Kole 1198
Zlatý mosoj 1028
Zlatý Hlada 948
Zlatý ge0rge 894
Zlatý www 829
Zlatý led 820
Zlatý badisko 818
Zlatý gecco 795
Zlatý arygnoc 674

Zobrazit celkový žebříček

Facebook

 

Váš požadavek se vyřizuje, počkejte prosím.