Šířka pamětové sběrnice, výpočty

Vše o procesorech Integrated Electronics.

Moderátoři: Eddward, Baneshee

Odpovědět
B.Gen.Jack.O.Neill
Začátečník
Začátečník
Registrován: 19. lis 2006

Šířka pamětové sběrnice, výpočty

Příspěvek od B.Gen.Jack.O.Neill »

Ahoj, pomalu ve škole začínáme fušovat do mikroprocesorů, tak mě tak napadly 2 věci. dneštní RAM paměti mají 64 bitovou sběrnici. Za použití Dual Channelu 128 bitovou. Ale CPU jsou jen 32 nebo 64 bitové, a i většina těch 64 bitových běží ve 32 bit. modu. Takže, k čemu taková šířka a frekvence RAM pamětí, když třeba DDR2 800 natáhnou do CPU víc informací než spracuje za 1s? Pokud počítám správně, tak 800Mhz*2 (DDR)*128 (dualchannel), což je jako kdyby pracovaly RAM na 4,8GHZ na 32 bitech, které právě CPU zvládne nejednou. Jakto? A potom, když datová sběrnice je 64 bitová, jaká je adresová? A poslední dotaz, pakliže počítač pracuje tak, že postupně nahraje čísla do střadače, než je sečte ALU nebo FPU, znamená to tedy že 1 výpočet provede za několik taktů? A pakliže CPU počítá po 32 bitech, znamená to že je omezeno maximální číslo které může sečíst? Vím že tam je registr příznaků, ale ten není bezedný. Pomáhá si pak nějak pamětí RAM, nebo je prostě takto omezen? Děkuji za jakoukoli odpověd. Hledal jsem tyto informace na internetu, ale bohužel se učím německy, a v čj moc info není. Děkuji.
Baneshee
Moderátor
Moderátor
Uživatelský avatar
Registrován: 12. dub 2005
Bydliště: Brno
Kontaktovat uživatele:

Re: Šířka pamětové sběrnice, výpočty

Příspěvek od Baneshee »

Nejsem expert na architekturu CPU, ale myslim, ze to co tu pises jsou naprosty kraviny. Objem dat, ktery se prenasi mezi CPU a RAM nema nic spolecnyho s tim kolikabitovy CPU to je. Chces rict ze kdyz mam 32bit CPU tak mu staci jen polovicni sirka pametovy sbernice nez 64bit? To je uplna kravina. Taky o vykonu procesoru nerozhoduje jestli je 32bit nebo 64bit, zalezi na architekture a frekvenci. Treba procak v PS2 je 128bit, tak to by podle tvych podivnych predstav mel potrebovat jeste 2x vetsi propustnost pameti pro svou praci, nez bezny CPU...
Taky propostnost pameti vyuzivaj i dalsi casti PC, nejen CPU (hlavne grafika)
Pokud počítám správně, tak 800Mhz*2 (DDR)*128 (dualchannel)
Ne, to opravdu spravne nepocitas, 800 je uz efektivni frekvence, skutecna je 400.

A ceskych clanku o architekturach CPU je dost, treba od Eagla, hlavne na SHW. Ty jsi ocividne necetl jeste zadnej.

Jediny co pises a neni to blbost je, ze ALU v 32bit CPU muze pocitat s max. 32bit velkym cistem, pokud je potreba pocitat s vetsim, tak se to da obejit, ale je to pomaly. 64bit ho muze spocitat rovnou, bez ztraty vykonu
Ryzen 7800X3D | Noctua C12P SE14 | 2x32GB Kingston Fury 6000MHz | Sapphire Pulse 9070XT 16GB | ASRock X870 Pro RS | Micron 2TB NVMe & Kingston KC3000 4TB | FD North Black TG | Seasonic GX 750W | Dell G3223Q
B.Gen.Jack.O.Neill
Začátečník
Začátečník
Registrován: 19. lis 2006

Re: Šířka pamětové sběrnice, výpočty

Příspěvek od B.Gen.Jack.O.Neill »

Tak za prvé, v klidu, jen jsem se zeptal, není třeba brát to tak ostře. O ničem jsem netvrdil že to vím, kdyby jo, neptal bych se. Co se propustnosti týče, myslel jsem čistě pro výpočty CPU, to jsem taky napsal. A ano, myslím že PS2 by mohl využít větší propustnost RAM, ne že jí nutně potřebuje, ale využil by jí. Přeci je logické, že pokud umí do sebe CPU natáhnout najednou 4* větší číslo, tak upotřebí 4* propustnější sběrnici, nebo ne? Co je na tomhle podivnýho?
Baneshee
Moderátor
Moderátor
Uživatelský avatar
Registrován: 12. dub 2005
Bydliště: Brno
Kontaktovat uživatele:

Re: Šířka pamětové sběrnice, výpočty

Příspěvek od Baneshee »

Jde o to, ze pocitani s nejakyma extra dlouhyma cislama se deje jen vyjimecne a skoro v zadnych aplikacich neni limitem ani delka u 32bit CPU (2^32). Tohle omezovalo spis 16bit procesory (2^16 je jen 65536). Tahle hodnota ale stoupa exponencialne, takze hodnota 2^64 (u 64bit CPU) je tak obrovska, ze na 99.99% vypoctu musi stacit. Procak v PS2 (blbej priklad, je to uplne jina architektura, ale to je fuk) je proti soucasnym PC procakum trapne pomalej a je schopnej zpracovavat jen zlomek dat za stejnej cas. Vetsina dat co CPU zpracovava jsou velice jednoduchy a kratky vypocty, je jich ale velky mnozstvi. Proto taky o vykonu nerozhoduje kolikabitovy CPU je, ale kolik instrukci za takt muze zpracovat, jak velkou a rychlou ma cache apod.
Ryzen 7800X3D | Noctua C12P SE14 | 2x32GB Kingston Fury 6000MHz | Sapphire Pulse 9070XT 16GB | ASRock X870 Pro RS | Micron 2TB NVMe & Kingston KC3000 4TB | FD North Black TG | Seasonic GX 750W | Dell G3223Q
Jafpu3
Nováček
Nováček
Registrován: 27. zář 2008

Re: Šířka pamětové sběrnice, výpočty

Příspěvek od Jafpu3 »

Nejsem rozhodně odborník na CPU architekturu a sám si spousty věcí nejsem úplně jist, přesto mám dost drzosti, abych se ti pokusil alespoň v něčem odpovědět. Nicméně neber mou reakci jako zcela zaručený axiom, jenž nejde zpochybnit.

To jestli je architektura CPU 32, nebo 64 bitová moc se šířkou sběrnice, nebo pamětí, společného nemá. Jde o to, že datové požadavky CPU zavísí na aplikaci právě na něm běžící. Jinak řečeno: poměr výpočetní ku paměťové náročnosti není stálý. Někdy může CPu počítat nějaký složitý výpočet, kdy i s malým počtem dat musí provádět strašlivé kejkle a pak je třeba paměťová sběrnice vytížena na 5%, ale CPU těžce nestíhá. Naopak někdy stačí když s nějakými daty udělá CPU jen triviální operaci (třeba přičte 7) a hned se vrhne na další. V tomto případě bude sběrnice plně vytížena a CPU nebude dostatečně zásobeno daty. V praxi výrobci CPU zvolí datovou sběrnici jako kompromis mezi ekonomickými, výrobními, technickými a jinými požadavky. Vše záleží taky architektuře CPU. Pokud je procesor vybaven obrovskou a rychlou cache, a kvalitním HW algoritmy na přednačítání dat do cache, nepotřebuje tak rychlý přístup do paměti (to je dnes příklad Core 2, jehož sběrnice je pomalejší než u konkurence, ale obrvská a rychlá L2 cache tento hendikem eliminuje).

Je fakt, že pokud CPU pracuje v 64 bitovém režimu, náročnost na paměť stoupá, nicméně dvojnásobek to asi nebude. Ony data sice narostou teoreticky na dvojnásobek, ale instrukce ne. Rovněž x64 CPU mají tuším v HW 64 skalární registry, takže při 64 bitových výpočtech nemají dvojnásobnou "spotřebu" registrů.

Při 32 bitových výpočtech opravdu může CPU nativně počítat jen s určitou velikostí čísla (2 na 32), ale v případě nutnosti se to dá obejít. Nicméně stojí to mnoho výkonu a data musí zkrze CPU pro takové výpočty projít několikrát. Ovšem 64 bitová čísla jsou už pro drtivou většinu výpočtů dostačující a pro výjímečné případy (asi hlavně nějaké speciální vědecké výpočty) se prostě větší čísla musí softwarově emulovat.

Pokud jde o sběrnici paměti RAM a sběrnici u procesoru, není moc vhodné koukat jen na šířku sběrnice. To že je FSB u Intelu je 64 bitová a dual-chanel RAM paměti v podstatě 128 bitové neznamená, že polovina přenosové rychlosti paměti je nevyužita. V čipsetu se to "přetransformuje" na vhodnou šířku. Tady jde o přenosové rychlosti. Dual chanel paměti DDR2-800 mají přenosovou rychlost 12,8 GB/s (DDR3-1066 zase 17 GB/s) a 1333MHz FSB u Intelu zase 10,6 GB/s. Dalo by se říci, že paměti jsou naddimensované, ale onen přebytek se může využít například pro integrovanou GPU. K RAM nepřistupuje jen procesor.
Odpovědět

Zpět na „Procesory Intel“