Co to vlastně přesně je to časování a k čemu je dobrý mít co nejnižší?
+1
+2
-1
Je komentář přínosný?
Erkil Poirot https://diit.cz/profil/erkil1452
25. 8. 2005 - 11:45https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuseCo to vlastně přesně je to časování a k čemu je dobrý mít co nejnižší?https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213289
+
Zjednodusene receno casovani (ta prvni hodnota neboli CL) = udava, kolik cyklu od pozadavku trva trva, nez pamet zacne procesoru vracet data. Neboli procesor posle pameti zadost - dej mi bajt na adrese 328576 a pak musi dany pocet taktu cekat az ty data prijdou.
+1
-2
-1
Je komentář přínosný?
Nalim https://diit.cz/profil/nalim
25. 8. 2005 - 12:01https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuseZjednodusene receno casovani (ta prvni hodnota neboli CL) = udava, kolik cyklu od pozadavku trva trva, nez pamet zacne procesoru vracet data. Neboli procesor posle pameti zadost - dej mi bajt na adrese 328576 a pak musi dany pocet taktu cekat az ty data prijdou. https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213291
+
Časování je ovšem v taktech paměti, ne? Takže pokud má paměť takt 1066MHz a časování 6-6 tak je to vlastně stejně dlouho jako kdyby paměť s taktem 533MHz měla časování 3-3?
+1
0
-1
Je komentář přínosný?
Joker (neověřeno) https://diit.cz
25. 8. 2005 - 12:09https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuseČasování je ovšem v taktech paměti, ne? Takže pokud má paměť takt 1066MHz a časování 6-6 tak je to vlastně stejně dlouho jako kdyby paměť s taktem 533MHz měla časování 3-3?https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213292
+
To není bohužel jediný faktor ohledně víkonu. Nedá se totiž říct že kdybych dal příklad dvě paměti časování na jedné paměti 2 a na druhé 3 tak 2 nebude o 33% rychlejší než 3.
PS: Dnes jsem si koupil DDR2 místo DDR1 tak mě nes...e ještě s DDR3 :-(
+1
-3
-1
Je komentář přínosný?
Kluzo (neověřeno) https://diit.cz
25. 8. 2005 - 12:30https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuseTo není bohužel jediný faktor ohledně víkonu. Nedá se totiž říct že kdybych dal příklad dvě paměti časování na jedné paměti 2 a na druhé 3 tak 2 nebude o 33% rychlejší než 3.
PS: Dnes jsem si koupil DDR2 místo DDR1 tak mě nes...e ještě s DDR3 :-(https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213294
+
Inu to časování vskutku není potěšující. Ty paměti jsou při své velké rychlosti vlastně pomalé. Zejména v určitých aplikacích, jako kupř. při kompresi dat Winrarem, je vliv časování RAM na rychlost, resp. výkon větší, než vliv jejich provozu v jedno či dvoukanálovém zapojení. Zkuste si nastavit nejlepší a následně nejhorší časování pamětí při identické frekvenci procesoru jakožto i sběrnice, a s těmito dvěma ram mody spustit test výkonu a spolehlivosti počítače ve Winraru. Možná nebudete překvapení, když se dostanete i přes 35% rozdílu v rychlosti. Naproti tomu jedno či dvoukanálové zapojení se (na Intelu 8xx) ve výsledku tohoto testu projeví jen cca. 12 procentním rozdílem. Apropo : nebylo by-li hezké, měli bychom-li modul 1GB veliký, DDR 1333 rychlý, s časováním CL 2-2-2 svižným, za 999Kč?
+1
-1
-1
Je komentář přínosný?
Ivan (neověřeno) https://diit.cz
25. 8. 2005 - 12:45https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuseInu to časování vskutku není potěšující. Ty paměti jsou při své velké rychlosti vlastně pomalé. Zejména v určitých aplikacích, jako kupř. při kompresi dat Winrarem, je vliv časování RAM na rychlost, resp. výkon větší, než vliv jejich provozu v jedno či dvoukanálovém zapojení. Zkuste si nastavit nejlepší a následně nejhorší časování pamětí při identické frekvenci procesoru jakožto i sběrnice, a s těmito dvěma ram mody spustit test výkonu a spolehlivosti počítače ve Winraru. Možná nebudete překvapení, když se dostanete i přes 35% rozdílu v rychlosti. Naproti tomu jedno či dvoukanálové zapojení se (na Intelu 8xx) ve výsledku tohoto testu projeví jen cca. 12 procentním rozdílem. Apropo : nebylo by-li hezké, měli bychom-li modul 1GB veliký, DDR 1333 rychlý, s časováním CL 2-2-2 svižným, za 999Kč?https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213295
+
2Joker: Cim vetsi bloky dat z pameti budes tahat, tim vic te zajima frekvence a tim min te zajima casovani. Problem ovsem je, ze tohle je velmi specificky a ridce se vyskytujici situace. Do pameti se naopak vetsinou pristupuje velmi casto a pracuje se s relativne malymi bloky dat a tady te pro zmenu velmi zajima casovani.
No a k tomuhle se ti samo pricte dalsi spozdeni "cestou" a dalsi vlivy.
Takze ac se muze zdat, ze f + 66 = f/2 + 33, tak to neni pravda a je prevdepodobny, ze druha varianta bude ve finale vykonejsi. Na data totiz sice cekas "stejny cas", ale jen 3 cykly misto 6ti. Je to proto, ze kazdej cyklus = nejaka cinnost kterou je treba udelat 6x misto 3x.
+1
+1
-1
Je komentář přínosný?
J (neověřeno) https://diit.cz
25. 8. 2005 - 12:55https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse2Joker: Cim vetsi bloky dat z pameti budes tahat, tim vic te zajima frekvence a tim min te zajima casovani. Problem ovsem je, ze tohle je velmi specificky a ridce se vyskytujici situace. Do pameti se naopak vetsinou pristupuje velmi casto a pracuje se s relativne malymi bloky dat a tady te pro zmenu velmi zajima casovani.
No a k tomuhle se ti samo pricte dalsi spozdeni "cestou" a dalsi vlivy.
Takze ac se muze zdat, ze f + 66 = f/2 + 33, tak to neni pravda a je prevdepodobny, ze druha varianta bude ve finale vykonejsi. Na data totiz sice cekas "stejny cas", ale jen 3 cykly misto 6ti. Je to proto, ze kazdej cyklus = nejaka cinnost kterou je treba udelat 6x misto 3x.https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213297
+
All: to casovano je POMALE JEN v aplikacich kde se presunuji velmi male bloky dat (1,2,3.. bajty) a taky za podle toho jak probiha komunikace nezi CACHE <-> RAM. Pokud se presunuji vetsi data (8,16 a vice bajtu) tak by nemelo mit zasahni vliv casovani ale taktovani pameti.
+1
0
-1
Je komentář přínosný?
Julda (neověřeno) https://diit.cz
25. 8. 2005 - 12:56https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuseAll: to casovano je POMALE JEN v aplikacich kde se presunuji velmi male bloky dat (1,2,3.. bajty) a taky za podle toho jak probiha komunikace nezi CACHE <-> RAM. Pokud se presunuji vetsi data (8,16 a vice bajtu) tak by nemelo mit zasahni vliv casovani ale taktovani pameti.https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213298
+
2Julda: nemas pravdu, na tech par bajtu ktery uvadis ma latence jste zatracene velky vliv. Spocitej si ztracenej cas kdy budes z pameti jen cist jeden za druhym 16B bloky dat (vzdy cekas na precteni predchoziho). Latence ztraci zasadni vliv az pri prenosech v radu MB. Tam uz je to opravdu zanedbatelne. Ostatne existujou Sw ktery ti to zmerej a nakreslej ti graf.
+1
-1
-1
Je komentář přínosný?
J (neověřeno) https://diit.cz
25. 8. 2005 - 12:59https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse2Julda: nemas pravdu, na tech par bajtu ktery uvadis ma latence jste zatracene velky vliv. Spocitej si ztracenej cas kdy budes z pameti jen cist jeden za druhym 16B bloky dat (vzdy cekas na precteni predchoziho). Latence ztraci zasadni vliv az pri prenosech v radu MB. Tam uz je to opravdu zanedbatelne. Ostatne existujou Sw ktery ti to zmerej a nakreslej ti graf.https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213301
+
All: ... a pokud se zrovna s pameti nepracuje, tak lze data pro dalsi instrukce nacitat dopredu => zadne zpozdeni nenastane.
+1
0
-1
Je komentář přínosný?
Julda (neověřeno) https://diit.cz
25. 8. 2005 - 13:00https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuseAll: ... a pokud se zrovna s pameti nepracuje, tak lze data pro dalsi instrukce nacitat dopredu => zadne zpozdeni nenastane.https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213302
+
J: nejsem odborník, ale:
a) když čekáš 3 cykly, stihne procesor zatím udělat nějaké 3 instrukce nesouvisející s daným čtením z paměti, když 6 cyklů, stihne mezitím 6 instrukcí. Tzn. pokud se to vleze do cache, bude to rychlejší.
b) "f+66 = f/2 + 33" za co mě trestáš?
+1
+2
-1
Je komentář přínosný?
Libb (neověřeno) https://diit.cz
25. 8. 2005 - 13:02https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuseJ: nejsem odborník, ale:
a) když čekáš 3 cykly, stihne procesor zatím udělat nějaké 3 instrukce nesouvisející s daným čtením z paměti, když 6 cyklů, stihne mezitím 6 instrukcí. Tzn. pokud se to vleze do cache, bude to rychlejší.
b) "f+66 = f/2 + 33" za co mě trestáš?https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213303
+
2 J: Asi se nedohodnem protoze ty pises: "...jeden za druhym 16B bloky dat (vzdy cekas na precteni predchoziho)".
V tomhletom pripade se posle dotaz do pameti s tim, ze nasleduje sekvencni cteni, tzn. ze se na zacatku ceka onech 6 cyklu ale pak proudi data uz nejvyssi rychlosti. Pri cteni 16 slov z pameti se ceka 6+15=21 cyklu.
+1
-1
-1
Je komentář přínosný?
Julda (neověřeno) https://diit.cz
25. 8. 2005 - 13:04https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse2 J: Asi se nedohodnem protoze ty pises: "...jeden za druhym 16B bloky dat (vzdy cekas na precteni predchoziho)".
V tomhletom pripade se posle dotaz do pameti s tim, ze nasleduje sekvencni cteni, tzn. ze se na zacatku ceka onech 6 cyklu ale pak proudi data uz nejvyssi rychlosti. Pri cteni 16 slov z pameti se ceka 6+15=21 cyklu.
https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213304
+
Ta cena 999 kč,- je velmi pekna to sa musi uznat :). A ked tu hovorite o casovani mozme cakat, ze kym vyjdu finalne verzie bude trocha lepsie a mozno, kym sa zacnu predavat budu aplikacie aj tak potrebovat velke mnozstva dát?. Ale to je svet buducnosti tak mozme len dufat...
+1
-2
-1
Je komentář přínosný?
morgun (neověřeno) https://diit.cz
25. 8. 2005 - 13:10https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuseTa cena 999 kč,- je velmi pekna to sa musi uznat :). A ked tu hovorite o casovani mozme cakat, ze kym vyjdu finalne verzie bude trocha lepsie a mozno, kym sa zacnu predavat budu aplikacie aj tak potrebovat velke mnozstva dát?. Ale to je svet buducnosti tak mozme len dufat...https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213306
+
Chcel by som sa este spytat aky vpliv ma architektura a nac je ktora dobra. Dik
+1
0
-1
Je komentář přínosný?
morgun (neověřeno) https://diit.cz
25. 8. 2005 - 13:15https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuseChcel by som sa este spytat aky vpliv ma architektura a nac je ktora dobra. Dikhttps://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213307
+
Libb:
>>>a) když čekáš 3 cykly, stihne procesor zatím udělat nějaké 3 instrukce nesouvisející s daným čtením z paměti, když 6 cyklů, stihne mezitím 6 instrukcí. Tzn. pokud se to vleze do cache, bude to rychlejší.
Procesor stihne v JINEM case udelat daleko vice instrukci, v jednom hodinovem taktu ich muze byt mapipelinovano trebars i 9 (zavisi od procesoru a typu instrukci)
Data pro instrukce se nacitaji daleko dopredu do CACHE L1, L2, L3 a jsou tam i jednotky ktere maji predpovidat nejen skoky v programu ale i to jaka data treba zehnat. Je to daleko zlozitejsi a jedinym meritkem teda muze byt jenom prakticky test a porovnani cen.
Ceny? No, "DDR2" jsou ve mnoha pripadech lacinejsi nez DDR, a kdyz podaji celkove vetsi vykon, tak proc inu ne?
BIOS: nastaveni spusobu prace s pameti muze veci take dost ovlivnit. Athlon64 kuprikladu myslim ma nastaveni aby avdy pracoval jenom s onima 64-bity nebo 128-bity v dual modu. O nacitani jednoho bajtu tim padem nemuze byt rec.
+1
0
-1
Je komentář přínosný?
jojo (neověřeno) https://diit.cz
25. 8. 2005 - 13:16https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuseLibb:
>>>a) když čekáš 3 cykly, stihne procesor zatím udělat nějaké 3 instrukce nesouvisející s daným čtením z paměti, když 6 cyklů, stihne mezitím 6 instrukcí. Tzn. pokud se to vleze do cache, bude to rychlejší.
Procesor stihne v JINEM case udelat daleko vice instrukci, v jednom hodinovem taktu ich muze byt mapipelinovano trebars i 9 (zavisi od procesoru a typu instrukci)
Data pro instrukce se nacitaji daleko dopredu do CACHE L1, L2, L3 a jsou tam i jednotky ktere maji predpovidat nejen skoky v programu ale i to jaka data treba zehnat. Je to daleko zlozitejsi a jedinym meritkem teda muze byt jenom prakticky test a porovnani cen.
Ceny? No, "DDR2" jsou ve mnoha pripadech lacinejsi nez DDR, a kdyz podaji celkove vetsi vykon, tak proc inu ne?
BIOS: nastaveni spusobu prace s pameti muze veci take dost ovlivnit. Athlon64 kuprikladu myslim ma nastaveni aby avdy pracoval jenom s onima 64-bity nebo 128-bity v dual modu. O nacitani jednoho bajtu tim padem nemuze byt rec.https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213308
+
Ty latence se neudávají k frekvenci datové, ale k frekvenci adresové sběrnice. U DDR běží adresová sběrnice na polovině frekvnece sběrnice datové. U DDR2 je to 1/4, u DDR3 myslím taky 1/4.
Dále je dobré si uvědomit, že paměťové pole je stejné od dob SDR. Rozdíl je pouze v komunikaci mezi pamětí a CPU (resp. northbridgem).
+1
0
-1
Je komentář přínosný?
Milan Bačík https://diit.cz/profil/mildaiv
25. 8. 2005 - 14:17https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuseTy latence se neudávají k frekvenci datové, ale k frekvenci adresové sběrnice. U DDR běží adresová sběrnice na polovině frekvnece sběrnice datové. U DDR2 je to 1/4, u DDR3 myslím taky 1/4.
Dále je dobré si uvědomit, že paměťové pole je stejné od dob SDR. Rozdíl je pouze v komunikaci mezi pamětí a CPU (resp. northbridgem). https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213309
+
2Julda: Ne, blbe to chapes, bezi ti nakej SW a ten chce data. Pracuje s malyma blokama dat, ty bubec nemusej bejt v pameti zasebou => posila pozadavky typu "vem 16B od adresy X" => vzdy ceka na vyrizeni, teprve az data zpracuje, muze si rict o dalsi => kazdej pozadavek = cekaci cykly, kdy CPU nedela nic, protoze nema data.
Kdyz spracovava velky bloky, a "vi" ze jsou na jednom miste v pameti, da pozadavek "vem 10MB od adresy Y" => ceka jen jednou.
Idelani stav by byl synchroni pamet s CL1 => pamet bezi na FSB CPU a na pozadavek dostanes odpoved hned v nasledujicim cyklu.
Tohle je samo hodne zjednodusenej pohled, ale v principu to je duvod proc je lepsi pomalejsi pamet s lepsim casovanim, protoze obecne se do RAM pristupuje spis casto pro malo dat.
+1
0
-1
Je komentář přínosný?
J (neověřeno) https://diit.cz
26. 8. 2005 - 10:39https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse2Julda: Ne, blbe to chapes, bezi ti nakej SW a ten chce data. Pracuje s malyma blokama dat, ty bubec nemusej bejt v pameti zasebou => posila pozadavky typu "vem 16B od adresy X" => vzdy ceka na vyrizeni, teprve az data zpracuje, muze si rict o dalsi => kazdej pozadavek = cekaci cykly, kdy CPU nedela nic, protoze nema data.
Kdyz spracovava velky bloky, a "vi" ze jsou na jednom miste v pameti, da pozadavek "vem 10MB od adresy Y" => ceka jen jednou.
Idelani stav by byl synchroni pamet s CL1 => pamet bezi na FSB CPU a na pozadavek dostanes odpoved hned v nasledujicim cyklu.
Tohle je samo hodne zjednodusenej pohled, ale v principu to je duvod proc je lepsi pomalejsi pamet s lepsim casovanim, protoze obecne se do RAM pristupuje spis casto pro malo dat.https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213429
+
2 J: dobre uved mi priklad programu co pracuje s velmi malymi bloky dat, pripadne proc by si procesor predem nenatahl aspon cast techto dat do cache?
+1
+2
-1
Je komentář přínosný?
Julda (neověřeno) https://diit.cz
26. 8. 2005 - 11:04https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse2 J: dobre uved mi priklad programu co pracuje s velmi malymi bloky dat, pripadne proc by si procesor predem nenatahl aspon cast techto dat do cache?https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213432
+
Priklad pro maly prenosy je cokoli (naprikalat klipnes a nekde v pameti se prepise 1B, klipnes jinde a prepise se 1B na uplne jiny adrese), prikladem pro velky prenosy je trebas komprimace videa.
Jinak CPU si do cache nic nenacita, to je naprosto nezavisly proces ktery neovlivnis programove. Pokud ctes data z pameti linearne, pak se cache projevi, protoze predikce nacte ty data prave do cache, pripadne v ni muzes najit data ktera si uz jednou cet a potrebujes je znova, ale pokud jde o pristup nahodny, pak te cache naopak zdrzuje (proto neni vzdy vhodny mit ji co nejvetsi).
+1
+1
-1
Je komentář přínosný?
J (neověřeno) https://diit.cz
26. 8. 2005 - 13:06https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskusePriklad pro maly prenosy je cokoli (naprikalat klipnes a nekde v pameti se prepise 1B, klipnes jinde a prepise se 1B na uplne jiny adrese), prikladem pro velky prenosy je trebas komprimace videa.
Jinak CPU si do cache nic nenacita, to je naprosto nezavisly proces ktery neovlivnis programove. Pokud ctes data z pameti linearne, pak se cache projevi, protoze predikce nacte ty data prave do cache, pripadne v ni muzes najit data ktera si uz jednou cet a potrebujes je znova, ale pokud jde o pristup nahodny, pak te cache naopak zdrzuje (proto neni vzdy vhodny mit ji co nejvetsi).
https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213451
+
No jo, chtelo by to nejaky specialni testovaci program, ktery by alokoval v pameti treba 64MB a pak se pokousel cist/menit 1B,2B,...1kB dat, jaky by to melo vliv. Ja tokovy neznam.
Jinak i ten prepis 1B tady, 1B zase tam... to lze taky cachovat a zapis pak provest pozdeji.
+1
-1
-1
Je komentář přínosný?
Julda (neověřeno) https://diit.cz
26. 8. 2005 - 13:18https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuseNo jo, chtelo by to nejaky specialni testovaci program, ktery by alokoval v pameti treba 64MB a pak se pokousel cist/menit 1B,2B,...1kB dat, jaky by to melo vliv. Ja tokovy neznam.
Jinak i ten prepis 1B tady, 1B zase tam... to lze taky cachovat a zapis pak provest pozdeji.https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213454
+
J: no nevím, mám pocit, že u proměnné lze nastavit příznak, aby se ji CPU snažil udržet v cache. Akorát si samozřejmě nevzpomenu, jak to bylo, přece jen už jsem v C++ delší dobu nedělal.
+1
+1
-1
Je komentář přínosný?
Libb (neověřeno) https://diit.cz
26. 8. 2005 - 13:26https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuseJ: no nevím, mám pocit, že u proměnné lze nastavit příznak, aby se ji CPU snažil udržet v cache. Akorát si samozřejmě nevzpomenu, jak to bylo, přece jen už jsem v C++ delší dobu nedělal.https://diit.cz/clanek/elpida-uvadi-ddr3-pameti/diskuse#comment-213456
+
Co to vlastně přesně je to časování a k čemu je dobrý mít co nejnižší?
Zjednodusene receno casovani (ta prvni hodnota neboli CL) = udava, kolik cyklu od pozadavku trva trva, nez pamet zacne procesoru vracet data. Neboli procesor posle pameti zadost - dej mi bajt na adrese 328576 a pak musi dany pocet taktu cekat az ty data prijdou.
Časování je ovšem v taktech paměti, ne? Takže pokud má paměť takt 1066MHz a časování 6-6 tak je to vlastně stejně dlouho jako kdyby paměť s taktem 533MHz měla časování 3-3?
To není bohužel jediný faktor ohledně víkonu. Nedá se totiž říct že kdybych dal příklad dvě paměti časování na jedné paměti 2 a na druhé 3 tak 2 nebude o 33% rychlejší než 3.
PS: Dnes jsem si koupil DDR2 místo DDR1 tak mě nes...e ještě s DDR3 :-(
Inu to časování vskutku není potěšující. Ty paměti jsou při své velké rychlosti vlastně pomalé. Zejména v určitých aplikacích, jako kupř. při kompresi dat Winrarem, je vliv časování RAM na rychlost, resp. výkon větší, než vliv jejich provozu v jedno či dvoukanálovém zapojení. Zkuste si nastavit nejlepší a následně nejhorší časování pamětí při identické frekvenci procesoru jakožto i sběrnice, a s těmito dvěma ram mody spustit test výkonu a spolehlivosti počítače ve Winraru. Možná nebudete překvapení, když se dostanete i přes 35% rozdílu v rychlosti. Naproti tomu jedno či dvoukanálové zapojení se (na Intelu 8xx) ve výsledku tohoto testu projeví jen cca. 12 procentním rozdílem. Apropo : nebylo by-li hezké, měli bychom-li modul 1GB veliký, DDR 1333 rychlý, s časováním CL 2-2-2 svižným, za 999Kč?
2Joker: Cim vetsi bloky dat z pameti budes tahat, tim vic te zajima frekvence a tim min te zajima casovani. Problem ovsem je, ze tohle je velmi specificky a ridce se vyskytujici situace. Do pameti se naopak vetsinou pristupuje velmi casto a pracuje se s relativne malymi bloky dat a tady te pro zmenu velmi zajima casovani.
No a k tomuhle se ti samo pricte dalsi spozdeni "cestou" a dalsi vlivy.
Takze ac se muze zdat, ze f + 66 = f/2 + 33, tak to neni pravda a je prevdepodobny, ze druha varianta bude ve finale vykonejsi. Na data totiz sice cekas "stejny cas", ale jen 3 cykly misto 6ti. Je to proto, ze kazdej cyklus = nejaka cinnost kterou je treba udelat 6x misto 3x.
All: to casovano je POMALE JEN v aplikacich kde se presunuji velmi male bloky dat (1,2,3.. bajty) a taky za podle toho jak probiha komunikace nezi CACHE <-> RAM. Pokud se presunuji vetsi data (8,16 a vice bajtu) tak by nemelo mit zasahni vliv casovani ale taktovani pameti.
2Julda: nemas pravdu, na tech par bajtu ktery uvadis ma latence jste zatracene velky vliv. Spocitej si ztracenej cas kdy budes z pameti jen cist jeden za druhym 16B bloky dat (vzdy cekas na precteni predchoziho). Latence ztraci zasadni vliv az pri prenosech v radu MB. Tam uz je to opravdu zanedbatelne. Ostatne existujou Sw ktery ti to zmerej a nakreslej ti graf.
All: ... a pokud se zrovna s pameti nepracuje, tak lze data pro dalsi instrukce nacitat dopredu => zadne zpozdeni nenastane.
J: nejsem odborník, ale:
a) když čekáš 3 cykly, stihne procesor zatím udělat nějaké 3 instrukce nesouvisející s daným čtením z paměti, když 6 cyklů, stihne mezitím 6 instrukcí. Tzn. pokud se to vleze do cache, bude to rychlejší.
b) "f+66 = f/2 + 33" za co mě trestáš?
2 J: Asi se nedohodnem protoze ty pises: "...jeden za druhym 16B bloky dat (vzdy cekas na precteni predchoziho)".
V tomhletom pripade se posle dotaz do pameti s tim, ze nasleduje sekvencni cteni, tzn. ze se na zacatku ceka onech 6 cyklu ale pak proudi data uz nejvyssi rychlosti. Pri cteni 16 slov z pameti se ceka 6+15=21 cyklu.
Joker: ano
Ta cena 999 kč,- je velmi pekna to sa musi uznat :). A ked tu hovorite o casovani mozme cakat, ze kym vyjdu finalne verzie bude trocha lepsie a mozno, kym sa zacnu predavat budu aplikacie aj tak potrebovat velke mnozstva dát?. Ale to je svet buducnosti tak mozme len dufat...
Chcel by som sa este spytat aky vpliv ma architektura a nac je ktora dobra. Dik
Libb:
>>>a) když čekáš 3 cykly, stihne procesor zatím udělat nějaké 3 instrukce nesouvisející s daným čtením z paměti, když 6 cyklů, stihne mezitím 6 instrukcí. Tzn. pokud se to vleze do cache, bude to rychlejší.
Procesor stihne v JINEM case udelat daleko vice instrukci, v jednom hodinovem taktu ich muze byt mapipelinovano trebars i 9 (zavisi od procesoru a typu instrukci)
Data pro instrukce se nacitaji daleko dopredu do CACHE L1, L2, L3 a jsou tam i jednotky ktere maji predpovidat nejen skoky v programu ale i to jaka data treba zehnat. Je to daleko zlozitejsi a jedinym meritkem teda muze byt jenom prakticky test a porovnani cen.
Ceny? No, "DDR2" jsou ve mnoha pripadech lacinejsi nez DDR, a kdyz podaji celkove vetsi vykon, tak proc inu ne?
BIOS: nastaveni spusobu prace s pameti muze veci take dost ovlivnit. Athlon64 kuprikladu myslim ma nastaveni aby avdy pracoval jenom s onima 64-bity nebo 128-bity v dual modu. O nacitani jednoho bajtu tim padem nemuze byt rec.
Ty latence se neudávají k frekvenci datové, ale k frekvenci adresové sběrnice. U DDR běží adresová sběrnice na polovině frekvnece sběrnice datové. U DDR2 je to 1/4, u DDR3 myslím taky 1/4.
Dále je dobré si uvědomit, že paměťové pole je stejné od dob SDR. Rozdíl je pouze v komunikaci mezi pamětí a CPU (resp. northbridgem).
2Julda: Ne, blbe to chapes, bezi ti nakej SW a ten chce data. Pracuje s malyma blokama dat, ty bubec nemusej bejt v pameti zasebou => posila pozadavky typu "vem 16B od adresy X" => vzdy ceka na vyrizeni, teprve az data zpracuje, muze si rict o dalsi => kazdej pozadavek = cekaci cykly, kdy CPU nedela nic, protoze nema data.
Kdyz spracovava velky bloky, a "vi" ze jsou na jednom miste v pameti, da pozadavek "vem 10MB od adresy Y" => ceka jen jednou.
Idelani stav by byl synchroni pamet s CL1 => pamet bezi na FSB CPU a na pozadavek dostanes odpoved hned v nasledujicim cyklu.
Tohle je samo hodne zjednodusenej pohled, ale v principu to je duvod proc je lepsi pomalejsi pamet s lepsim casovanim, protoze obecne se do RAM pristupuje spis casto pro malo dat.
2 J: dobre uved mi priklad programu co pracuje s velmi malymi bloky dat, pripadne proc by si procesor predem nenatahl aspon cast techto dat do cache?
Priklad pro maly prenosy je cokoli (naprikalat klipnes a nekde v pameti se prepise 1B, klipnes jinde a prepise se 1B na uplne jiny adrese), prikladem pro velky prenosy je trebas komprimace videa.
Jinak CPU si do cache nic nenacita, to je naprosto nezavisly proces ktery neovlivnis programove. Pokud ctes data z pameti linearne, pak se cache projevi, protoze predikce nacte ty data prave do cache, pripadne v ni muzes najit data ktera si uz jednou cet a potrebujes je znova, ale pokud jde o pristup nahodny, pak te cache naopak zdrzuje (proto neni vzdy vhodny mit ji co nejvetsi).
srry za preklepy
No jo, chtelo by to nejaky specialni testovaci program, ktery by alokoval v pameti treba 64MB a pak se pokousel cist/menit 1B,2B,...1kB dat, jaky by to melo vliv. Ja tokovy neznam.
Jinak i ten prepis 1B tady, 1B zase tam... to lze taky cachovat a zapis pak provest pozdeji.
J: no nevím, mám pocit, že u proměnné lze nastavit příznak, aby se ji CPU snažil udržet v cache. Akorát si samozřejmě nevzpomenu, jak to bylo, přece jen už jsem v C++ delší dobu nedělal.
No supeeer koncene niake hi-end novinky...
Pro psaní komentářů se, prosím, přihlaste nebo registrujte.