Šta je novo?

Asinhrona memorija?

Bob Rock

Slavan
Učlanjen(a)
10.08.2007
Poruke
108
Poena
319
Da li moze neko da mi objasni sta se dobija time kada je odnos FSB: RAM= 1:1 tj kada rade sinhrono? Posto ja moj proc drzim na 9x356 sa 5:6 odnosom a mogu da stavim i 8x400 pa da mi i memorija i FSb budu 1:1. Sta se dobija time tj. da li ima neke razlike izmedju sinhronog i asinhronog rada u perfomansama pri istom taktu memorije?
 
U tvom slučaju (C2D) dobijaš mnogo ako memorija radi sinhrono sa sistemskom magistralom. Znači ako ti je FSB na 800MHz, i memorija treba da bude na 800MHz (to nisu prave radne frekvencije zbog quad-pumped i DDR tehnologija). Ako teraš FSB na 1333, a nemaš RAM koji to može da podrži, bolje je da spustiš klok memorije na 667 i smanjiš joj latenciju, nego da cediš i poslednji MHz iz nje. 😉
 
Ma jasno je to sve meni nego mene interesuje konkretno odgovor na pitanje: Sta se dobija time tj. da li ima neke razlike izmedju sinhronog i asinhronog rada u perfomansama pri istom taktu memorije?
 
Cek malo. Zasto kod mene rade 1:1, tj FSB na 430 i memara na 430 a pishe da je asymmetric? Zar ne bi trebalo da je symmetric?

@edit O Boze kod mene Cpu-z nekad cita da je symmetric, a nekad da je asymmetric? Verzija je 1.42?
 
Poslednja izmena:
hm, ovo i mene zanima! Ja imam 4 FSB-a i ako stavim mnozilac x2 radice sinhrono, ali mem READ,WRITE i COPY je jako mali, a dosta ljudi tvrdi da sistem radi tako brze :/
 
Ma jasno je to sve meni nego mene interesuje konkretno odgovor na pitanje: Sta se dobija time tj. da li ima neke razlike izmedju sinhronog i asinhronog rada u perfomansama pri istom taktu memorije?
Prvo, otkud ti otključani procesor? Jel ja to nisam u toku ili si se ti nekako dokopao inženjerskog primerka? 🙂

Drugo, naravno da je 8x400 mnogo bolje jer ti je veći takt FSB-a.

Što se tvog pitanja tiče: dobija se na performansama, odnosno bržem pristupu memoriji, kada je sistem podešen na sinhron rad. Ne znam kako prostije od ovoga da ti objasnim.

I na kraju... ne znam koji ti je to trip da uzimaš takt memorije kao referencu. Pa ako je takt memorije isti, ti u stvari samo podižeš takt magistrale, a time i takt procesora, tako da je to onda poređenje baba i žaba. Ipak... prvo mi objasni taj fenomen sa množiocem.

Postavka stvari treba da bude ovakva:

Ako imam CPU čiji je FSB 1333 i DDR2-800 RAM, onda bolje da teram memoriju na 667 sa manjom latencijom, nego da je držim na 800 ili čak teram na gore.

Core 2 Duo ima mnogo kraću pokretnu traku od P4-ke, tako da je kod njegove arhitekture latencija memorije mnogo kritičnija od propusne moći, što divljanje sa visokim radnim frekvencijama RAM-a ostavlja rezervisano samo za "sintetičke džankije". :eyebrows:

Tvoj sistem bi najbrže radio sa sledećim podešavanjima:

CPU 8x400 = 3.2GHz
FSB 400x4 = 1600MHz
RAM DDR2 800 (3-3-3-8)
 
Poslednja izmena:
Cek malo. Zasto kod mene rade 1:1, tj FSB na 430 i memara na 430 a pishe da je asymmetric? Zar ne bi trebalo da je symmetric?

@edit O Boze kod mene Cpu-z nekad cita da je symmetric, a nekad da je asymmetric? Verzija je 1.42?
Ček, ček... Kako bre to teraš FSB na 1720MHz!?!?! :zgran: Mislim, svaka čast.

Drugo... ne znam šta ti to simetrično i asimetrično znači. Mi ovde pričamo o sinhronom i asinhronom radu memorije u odnosu na takt magistrale.
 
hm, ovo i mene zanima! Ja imam 4 FSB-a i ako stavim mnozilac x2 radice sinhrono, ali mem READ,WRITE i COPY je jako mali, a dosta ljudi tvrdi da sistem radi tako brze :/
Objasnio sam u gorenjem postu dilemu između propusnog opsega i latencije...

RDRAM je imao beskonačan propusni opseg, za svoje vreme, pa je puk'o ko zvečka - izmeđuostalog i zbog prevelike latencije, koja je upropašćavala performanse sistema u jedinom segmentu tržišta koji je mogao sebi da priušti tu cenu RAM-a.

Pusti ti sintetiku... gledaj realne performanse.
 
ako ti je FSB 1333 onda ti je Bus 333 a cpu (u zavisnosti od mnozioca) recimo 2.67 (x8, ovo sam izabrao jer je ovo moj slucaj)..
ukoliko ti je memorija na 667ddr (onda radi na 333) onda ti ona radi 8x sporije od procesora tj moguce je da prodje najvise 8 taktova dok bi neki zahtev za R/W u memoriju mogao da pocne da se obradjuje

cpu clk __i-i_i-i_i-i_i-i_i-i_i-i_i-i_i-i_i-i_i-i_
mem clk _i-i_________________i-i_______ 667

znachi ako bi sada zahtev dosao na 3. taktu on bi morao da saceka do 8.

e sad, ako ti memorija radi brze, recimo 800 onda bi to cekanje priblizno iznosilo 6-7 taktova, tj 1-2 takta manje u slucaju gornjeg primera

CPU clk _i-i_i-i_i-i_i-i_i-i_i-i_i-i_i-i_i-i_i-i_
mem clk _i-i______________i-i__________ 800


kao sto i sami vidite bolje je da radi na 800 jer ce to cekanje biti manje

to je jedan deo price, drugi je to da je naravno bolje da se poklapaju taktovi tj da rade sinhrono jer se ne moze desiti da ti se recimo promase taktovi za pola CPu clocka pa da onda moras da cekas sledeci takt memorije da bi citao/pisao...

moj zakljucak je da memoriju treba forsirati u sinhroni rad samo ukoliko ne mozete znatno da podignete njen klock, jer ce u tom slucaju (u slucaju znatno veceg kloka) brzina nadoknaditi taj jedan takt za koji se cpu clk i mem clk promase...

npr. u redu je forsirati sinhroni rad memorije na 667 (333x8=2667) ukoliko ne mozete da je podignete preko 762 (381x7=2667)

ovo sam sad onako razmislio malo pa napisao, moguce je da postoji neka greska (narocito gore na ovoj "skici", osecam da sam promasio neki takt 🙂) ali oprostite, umoran sam... sve u svemu rekao bih da je to logika kojom se treba voditi pa sad vi vidite koliko se tu dobija ili gubi... ako mene pitate za savet, dignite memoriju, ako mozete, sto vise, jer iako radi asinhrono sa CPU brze ce raditi

pozdrav
 
Nije baš sve tako jednostavno kao što si opisao. Nisi uopšte uzeo u razmatranje tCAS, tRAS, precharge... i ostale parametre memorije, a o prefatch-u i keširanju samog čipseta da i ne govorim.

Na današnjim mašinama je DDR2-667 sa 3-3-3-8 latencijama u realnom radu brža od DDR2-800 na 5-5-5-15. To je direktna posledica kraćeg pajplajna C2D arhitekture... Latencija nije imala tolikog uticaja kod NetBurst-a, jer je ovaj i projektovan sa RDRAM-om u vidu, tj dubokim pajplajnom optimizovanim za sirovi propusni opseg. Ovde već ulazimo u klasičnu klackalicu bandwidth-vs-latency. Naravno, iako vam je FSB 1066, DDR2-800 će biti brži od DDR2-533 jer veliki propusni opseg nadomešćuje veću latenciju, ali to je tek preko 50% ubrzanja...

Za većinu je ipak zlatno pravilo da se drže celog umnoška... :smoke:
 
Poslednja izmena:
pretpostavljam da ti parametri o kojima govoris ubrzaju sam pristup memoriji (tj brze procitaju ili upisu podatak) ovo vreme cekanja i dalje ostaje toliko koliko je... cinjenica je da i prefatch i kesiranje smanjuju broj upita u samu memoriju, ali je opet taj broj isti radila ona sinhrono ili asinhrono, tako da mislim da za njih nema mesta u ovoj polemici...
naravno, sve ovo sto ja govorim mozda uopste ne stoji 🙂

i jos nesto... da li mislis da bi mi sistem brze radio ako bih spustio memoriju na 1ghz sada je na 1066? ovo pitam jer sam mozda sve vreme bio u zabludi

i da, mogao bi malo da pojasnis ovo sa dubinom pajplajna i njegovim uticajem.. secam se da sam to nekada ucio na faksu ali se sada ne mogu tacno setiti zasto bi zbog kraceg pajplajna ddr667 na 3-3-8 radio brze...

pozdrav
 
Ček, ček... Kako bre to teraš FSB na 1720MHz!?!?! :zgran: Mislim, svaka čast.

Drugo... ne znam šta ti to simetrično i asimetrično znači. Mi ovde pričamo o sinhronom i asinhronom radu memorije u odnosu na takt magistrale.

Ne razumijem se oko ovoga ali cpu-z mi nekad kaze da mi memara radi asinhrono, a nekad sinhrono. A uvijek je isto sve podeseno.
 
ako ti je FSB 1333 onda ti je Bus 333 a cpu (u zavisnosti od mnozioca) recimo 2.67 (x8, ovo sam izabrao jer je ovo moj slucaj)..
ukoliko ti je memorija na 667ddr (onda radi na 333) onda ti ona radi 8x sporije od procesora tj moguce je da prodje najvise 8 taktova dok bi neki zahtev za R/W u memoriju mogao da pocne da se obradjuje

cpu clk __i-i_i-i_i-i_i-i_i-i_i-i_i-i_i-i_i-i_i-i_
mem clk _i-i_________________i-i_______ 667

znachi ako bi sada zahtev dosao na 3. taktu on bi morao da saceka do 8.

e sad, ako ti memorija radi brze, recimo 800 onda bi to cekanje priblizno iznosilo 6-7 taktova, tj 1-2 takta manje u slucaju gornjeg primera

CPU clk _i-i_i-i_i-i_i-i_i-i_i-i_i-i_i-i_i-i_i-i_
mem clk _i-i______________i-i__________ 800


kao sto i sami vidite bolje je da radi na 800 jer ce to cekanje biti manje

to je jedan deo price, drugi je to da je naravno bolje da se poklapaju taktovi tj da rade sinhrono jer se ne moze desiti da ti se recimo promase taktovi za pola CPu clocka pa da onda moras da cekas sledeci takt memorije da bi citao/pisao...

moj zakljucak je da memoriju treba forsirati u sinhroni rad samo ukoliko ne mozete znatno da podignete njen klock, jer ce u tom slucaju (u slucaju znatno veceg kloka) brzina nadoknaditi taj jedan takt za koji se cpu clk i mem clk promase...

npr. u redu je forsirati sinhroni rad memorije na 667 (333x8=2667) ukoliko ne mozete da je podignete preko 762 (381x7=2667)

ovo sam sad onako razmislio malo pa napisao, moguce je da postoji neka greska (narocito gore na ovoj "skici", osecam da sam promasio neki takt 🙂) ali oprostite, umoran sam... sve u svemu rekao bih da je to logika kojom se treba voditi pa sad vi vidite koliko se tu dobija ili gubi... ako mene pitate za savet, dignite memoriju, ako mozete, sto vise, jer iako radi asinhrono sa CPU brze ce raditi

pozdrav

Ti si ovde razmatrao odnos CPU i FSB, dodaj jos jedan red za takt memorije. FSB je celim deliocem povezan sa taktom procesora. Naravno sve se to komplikuje samo tako. Ako se neko pita da li je brze recimo:
3200MHz sa 8x400 i mem na DDR800@ 4-4-4-15 ili 3200MHz sa 8x400 i mem na DDR1000@5-5-5-18, brze je ovo drugo, bez obzira sto je i ansinhrono i sto je 5-5-5-18. Odavno je NF2 bio pojam za sinhrono. To sto Nvidia nije znala nikada da napravi da asinhroni rad bude OK, a Intel je znao njihov je problem, a ovde su se generacije formirale naspran NF2 i sada svi misle da mora stalno, ceo zivot sve sinhrono.
 
Poslednja izmena:
Ne razumijem se oko ovoga ali cpu-z mi nekad kaze da mi memara radi asinhrono, a nekad sinhrono. A uvijek je isto sve podeseno.

Pobrkao sam ovde. Recimo udjem sad u CPU-Z i tamo mi pishe da je memorija asymmetric. Posle udjem opet a ono pishe da je symmetric. Sta to znachi?
 
Pobrkao sam ovde. Recimo udjem sad u CPU-Z i tamo mi pishe da je memorija asymmetric. Posle udjem opet a ono pishe da je symmetric. Sta to znachi?

To znaci da ili CPU-Z gresi ili da to ne znaci ono sto mi mislimo da znaci.
Kod mene je 2:3 i trebalo bi da je asymmetric, ali nije.
 
Ti si ovde razmatrao odnos CPU i FSB, dodaj jos jedan red za takt memorije.
memorija radi na toj frekvenciji, samo moze da obradi dva podatka u jednom kloku (dual data rate) pa onda kao radi na duplo vecem
 
@parafora

Sinak, toliko si se izlupetao ovde da je to strahota. Ajde prvo idi nauči osnovne stvari pa onda drži predavanja. Mislim, izvini što ja ovako đonom, al' stvarno ga bre pretera.

ako ti je FSB 1333 onda ti je Bus 333 a cpu (u zavisnosti od mnozioca) recimo 2.67 (x8, ovo sam izabrao jer je ovo moj slucaj)..
ukoliko ti je memorija na 667ddr (onda radi na 333) onda ti ona radi 8x sporije od procesora tj moguce je da prodje najvise 8 taktova dok bi neki zahtev za R/W u memoriju mogao da pocne da se obradjuje
Iz ovoga se vidi da nemaš ni predstavu o osnovnim principima rada računarskog sistema.

Ne možeš tek tako direktno porediti radni takt procesora i memorije, to je čista budalaština... Da sam neki, pa da ti kao kontra argument dam činjenicu da je procesor 32-bitni, a memorija 64-bitna... :d A šta ćemo tek sa 128-bitnim SIMD instrukcijama? :d Naravno sve ovo je besmisleno, jer poredimo babe i žabe.

DDR2-667 radi na 166 MHz, ako baš hoćeš da budemo egzaktni, ali joj je interfejs klokovan na 333MHz, te obezbeđuje 667MT/s, iliti teoretskih 5333 MB/s po kanalu. A sve to pri trajanju ciklusa od 6ns.

FSB je magistrala preko koje procesor komunicira sa memorijskim kontrolerom i drugim komponentama severnog mosta. Pri nominalnih 1333, ona realno radi na 333MHz ali šalje po četiri paketa u taktu. To joj međutim ne smanjuje latenciju, jer je trajanje jednog ciklusa (zahteva) idalje 3ns.

Tvoja "matematika" u kojoj porediš takt procesorskog jezgra i memorijske I/O magistrale u ovom kontekstu nema veze sa životom.
pretpostavljam da ti parametri o kojima govoris ubrzaju sam pristup memoriji (tj brze procitaju ili upisu podatak) ovo vreme cekanja i dalje ostaje toliko koliko je... cinjenica je da i prefatch i kesiranje smanjuju broj upita u samu memoriju, ali je opet taj broj isti radila ona sinhrono ili asinhrono, tako da mislim da za njih nema mesta u ovoj polemici...
naravno, sve ovo sto ja govorim mozda uopste ne stoji 🙂
Naravno da ne stoji. A čim su za tebe to "ti parametri", nemamo šta da pričamo...

Proces očitavanja podatka iz memorije ima više faza (RAS, CAS, CS, WE, DQ...) i svaka traje određeni broj taktova. Na višim frekvencijama se smanjuje vreme trajanja jednog takta, ali se zato mora povećati broj taktova potrebnih za tu operaciju jer su vremena stabilizacije signala u logičkim kolima ograničena tehnologijom izrade i implementacije. Drugo, čipset sam spominjao zato što si ti do besvesti banalizovao problematiku, zaboravljajući na memorijski kontroler koji se nalazi u severnom mostu i koji zapravo radi sa memorijom, dok CPU komunicira sa njim kroz FSB. Uostalom, CPU gotovo nikada ne pristupa RAM-u direktno, već se obraća jedinici za memorijski menadžment, koja preko TLB-a (translation lookaside buffer) pribavlja podatke koji se, optimalno, već nalaze u L2 kešu.

Ako želiš da uđeš u suštinu problema, analiziraj arhitekturu i rad memorijskog kontrolera u severnom mostu, mada se tek nešto malo da saznati iz Intelove dokumentacije, pa je empirija jedina prava stvar...

i jos nesto... da li mislis da bi mi sistem brze radio ako bih spustio memoriju na 1ghz sada je na 1066? ovo pitam jer sam mozda sve vreme bio u zabludi
Zašto bi sistem radio brže ako memoriji smanjiš takt za manje o 1%? Da li bi ti to omogućilo smanjenje latencije ili bi pak memoriju dovelo u sinhronizaciju sa FSB-om? Ako da, sasvim sigurno da bi dobio na brzini.

i da, mogao bi malo da pojasnis ovo sa dubinom pajplajna i njegovim uticajem.. secam se da sam to nekada ucio na faksu ali se sada ne mogu tacno setiti zasto bi zbog kraceg pajplajna ddr667 na 3-3-8 radio brze...

pozdrav
Kada dođe do promašaja u predikciji grananja i procesor shvati da je spekulativna obrada propala, tj da je krenuo pogrešnim putem, mora da isprazni i ponovo napuni ceo pajplajn sa ispravnim instrukcijama. To se dešava relativno retko (u 1 do 2 % slučajeva), ali kada se desi ume skupo da košta jer se protraći gomila procesorskog vremena na čekanje podataka iz memorije. (E vidiš, ovde ima smisla povezivati radnu frekvenciju CPU-a u odnosu na latenciju memorije, u računici koliko ćeš taktova izgubiti na čekanje novih podataka).

Za razliku od dubokog, kraći pajplajn zahteva manje instrukcija/podataka da se napuni, te je kod njega sirovi propusni opseg memorije manje bitan nego latencija. Kod NetBurst-a je situacija upravo bila obrnuta. Duboki pajplajn je zahtevao brzi transfer velikih količina podataka, te je i drastično profitirao od povećanja L2 keša, dok se sama latencija memorije dala maskirati povećanim propusnim opsegom.
 
Poslednja izmena:
Nazad
Vrh Dno