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?
ohodnoťte nejlepší odpověď symbolem palce
Zajímavá 0 před 3558 dny |
Sledovat
Nahlásit
|
Odpoveď byla označena jako užitečná
…„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´).
😉
1 NominaceKdo udělil odpovědi nominaci?Josif Nahlásit |
Ono to tak nějak je, ale aby to platilo na 100% musí být aplikace pro vícejádrový procesor napsaná.
0 Nominace Nahlásit |
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.
0 Nominace Nahlásit |
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 ?
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…
Bedy | 1528 | |
Michal Kole | 1199 | |
led | 1156 | |
Hlada | 1131 | |
mosoj | 1124 | |
gecco | 904 | |
www | 828 | |
badisko | 817 | |
cochee | 814 | |
Dochy | 725 |
Software |
Hardware |
Internet |
Programování a webdesign |
Sítě |
Bezpečnost |
Ostatní počítače a internet |