Dual CPU system
Moderátor: Moderátoři
- Gringo_Joe
- Příspěvky: 488
- Registrován: 09 led 2010, 00:00
Dual CPU system
Pouzil jsem TestCPU a moc se mi to nezdalo. Tak jsem schvalne vyndal sekundarni procesor a nechal jet jen jeden. Vysledky jsou ale prakticky stejne at dam jeden nebo dva CPU do desky a daji se srovnavat i s jinym kompem PIII 1GHz, na kterem sice bezi W98, ale je to +/- srovnatelne.
Je to moje prvni ostra zkusenost s dual CPU. Cekal jsem vysledky od 0.6 do 1.6 nasobku jednoho CPU ale zrovna 1.0 teda ne:-)
Pokud vim, tak WinXP (SP2) by mely byt schopny vyuzit vyhody dvou procesoru. Delam neco spatne?
- Gringo_Joe
- Příspěvky: 488
- Registrován: 09 led 2010, 00:00
http://www.softpedia.com/get/System/Sys ... r-PI.shtml
- Gringo_Joe
- Příspěvky: 488
- Registrován: 09 led 2010, 00:00
p32 píše:Rozdělit jeden program na 2 procesory můžeš, ale musíš takový program mít. Řekl bych, že bys měl mít i OS pro využití dvou CPU. Mám dojem, že W98 to asi nebudou. To spíše XP nebo nějaké OS tehdy pro servery, ale nevím to jistě. 2 CPU na desce mi tenkrát připadaly divné a nikdy jsem to nestudoval blíže, protože to nikdo neměl.
Co jsem se vsude docetl, tak podpora vice procesoru byla jedine v Unixu anebo ve WinNT, a dale pak Win2K a WinXP.. Takze XP, ktere tam mam, by to mely zvladnout.
<utopie>Myslel jsem si, ze v kompu to funguje tak, ze prijde program a rekne OS - ja potrebuju tolik pameti, OS mu rekne, supni to na adresy XX az YY (pripadne to tam da sam). Urcite nejsou programy zvlast pro kompy s jednou RAMkou a zvlast pro kompy se dvema. No a s CPU bych rekl, ze to bude podobne. Program rekne OS, vypocti mi tohle a OS udela co umi, aby vypocet byl rychly. Programy prece neresi, jestli je to AMD nebo Intel, nVidia nebo ATi, na to jsou ovladace.. Program muze maximalne byt napsany tak, ze instrukce jdou ve sledu vyhodnem pro urcitou architekturu. </utopie>
Zkusim spocitat to Ludolfovo cislo.
Kedze na jednom procesore (resp. jednom jadre) moze bezat len jeden kod, v OS byva planovac, ktory po nejakom case prerusi beh jedneho programu a umozni beh inemu (tym padom bezia akoby naraz - multitasking). Ked mas procesory dva, tak mozu bezat dva programy skutocne naraz.
- Gringo_Joe
- Příspěvky: 488
- Registrován: 09 led 2010, 00:00
elped77 píše:Dobrý test je Hyper PI - je to ako vidno z názvu program na výpočet čísla pi. Môžeš nastaviť počet desatinných miest, prioritu výpočtu a počet jadier (až do 16).
http://www.softpedia.com/get/System/Sys ... r-PI.shtml
Tak jsem zkusil spocitat PI, ale pokud jsem dobre pochopil jen umi zatizit vice jader CPU a neumi je prinutit na vypoctu spolupracovat - nebo se pletu?
Zkusil jsem spocitat to na 128K mist, jednim jadrem to bylo za 11s a dvemi jadry 14s ale kazde zvlast.. Predpokladam, ze spolupraci by se byly schopne dostat treba pod 9s..
V grafu "Spravce uloh" je dobre videt jak dostavaji zabrat oba procesory (nebo jeden, podle toho jak nastavim), takze je jiste, ze oba pracuji..
Jinak to sdílení dvou CPU, tak to je trochu jinak.
"v systému musí být ještě nějaký prostředí, ve kterým se takový programy spouští. třeba v javě, .NETu a další"
NE. Tak toto vůbec ne. Je pouze OS, CPU a programy. Java atd. jsou stejné jak kdysi byla Foxplus apod. Bez toho se k datům nedostanete tak jednoduše. Nebo i jo, ale málokdo ví, jak.
OS pokud to už zvládá, tak prostě přes standardní systémová ukazovátka jako zjistí, o co se jedná. To jako je pouze to, že ho to ani nezajímá, protože systémová přerušení mají své praporky na daných adresách podle těch ukazovátek nastavená hned po startu atd. atd.. Pak se vůbec nic neděje až do chvíle dokud se o to nezajímá program, který toho umí využívat. No a ten si prostě jen přečte ten svůj potřebný praporek (návěští atd.) a podle toho prostě skočí v podprogramech na systémová přerušení (z OS), která umožní ta různá sdílení navzájem.
U CPU (P3 je středověk) se pak interní přerušení ještě dělí na spolupráci s interní pamětí (keší). Dříve měly jen svou, potom měly sdílenou a mezi tím nebo po té zase svou a navzájem si ji půjčovaly. To byla jejich vlastní inteligence bez vlivu jaký byl OS. Intel nebo AMD, to je fuk. Pro výslednou práci musí mít to hlavní stejné. To vedlejší zůstalo na oblbování uživatelů.
Jinak vlastní programy musejí být vždy zkompilované pro prostředí v jakém budou pracovat - druh OS (linux, wokna atd.), 16 nebo 32 nebo 64 bit, a další drobnosti, co normální uživatel nezná dokud mu něco nejde.
Ve zkratce: 2-192 CPU a jejich spolupráce je asi stejná jako spolupráce tří myší napojených na USB na jednom PC. To přirovnání je jen hrubé, ale princip stejný a u více CPU se to raději dělí už jen na jejich jádra.