PC Press
O nama
O nama
Pretplata
O nama
Postanite saradnik PC-ja
Kontakt sa redakcijom
PC Press
Novi broj
Novi broj   
Pretrazivanje
Arhiva
Arhiva   
PC Online
PC Plus   
Specijalna izdanja
Hardver Hardver
PC #127 : Novembar 2006 TehnoGuru

 Naslovna  Sadržaj 
Uroš Radulović  

DDR-II ili ništa

Odlučili ste se za novi AMD-ov ili Intel-ov procesor? Dobro, ali negde usput morate da potrošite još par stotina evra za novu ploču (na to smo već navikli), novu grafičku karticu, hard disk i... naravno, DDR-II memoriju

Da li je DDR-II (double-data-rate two synchronous dynamic random access memory) zaista brži i bolji od DDR ili predstavlja samo marketinšku oblandu koja prati procesore novije generacije? U ovom tekstu ćemo pokušati da sagledamo prednosti i mane tih "novijih" tehnologija, oslanjajući se pre svega na praktična merenja, ali ne zaobilazeći ni potrebnu dozu teorije...

Šta je DDR-II?

Kako bi što bolje opisali principe rada DDR-II memorije, moraćemo da se vratimo jedan korak unazad, na prvu generaciju ovog protokola - DDR. Oba standarda vuku korene od Single Data SDRAM čipova (u daljem tekstu SDR), koji su nestali sa tržišta pre nekoliko godina. Čak se i Intel, iako vezan čvrstim ugovorima sa Rambus-om, odrekao RDRAM-a i šansu pružio DDR modulima koji su bili daleko jeftiniji za proizvodnju.

Osnove protokola

DDR protokol je jednostavan za implementaciju, a svi DDR čipovi koriste iste module i funkcionalne jedinice koje čine SDR čip. Tu su, dakle, baferi adresa, dekoderi reda i kolone, matrica memorijskih ćelija, pojačivači signala, ulazno/izlazni portovi, baferi... kao preslikano sa SDR čipova. Male razlike ipak postoje i upravo te male razlike definišu DDR protokol.

Kod SDR čipova sve funkcionalne jedinice rade na istim frekvencijama i svaki izlazni bafer, koji postavlja podatke na data magistralu, je u stanju da isporuči jedan bit u jednom ciklusu i to na ulaznoj ivici takta. Kod DDR čipova su sve funkcionalne jedinice takođe sinhronizovane (rade na istim frekvencijama), ali su DDR čipovi u stanju da postave dva bita podataka u jednom ciklusu na magistralu podataka. Da bi tako nešto bilo moguće, dva bita moraju biti "spremna za isporuku", pripremljena u prefetching fazi ("zahvatanja" bitova iz matrice). Sa svakom naredbom za čitanje se, dakle, iz matrice ćelija u izlazne bafere prebacuju dva bita, da bi baferi zatim postavili te podatke na data magistralu uzlaznom, ali i silaznom ivicom takta, držeći se redosleda po kojem su zahtevi pristigli. Pošto se dva bita podataka postavljaju na magistralu u jednom ciklusu, ovaj protokol je nazvan double data rate tj. DDR. Iako matrica memorijskih ćelija i izlazni baferi rade na istoj frekvenciji od (recimo) 200 MHz, efektivna frekvencija čipa će iznositi 400 MHz, pošto će se na magistrali naći duplo više podataka (otuda DDR400 oznaka).

Šta bi se desilo kada bi i izlazni baferi koristili DDR protokol i kada bi iz matrice ćelija zahvatali i prenosili duplo više podataka (uzlaznom i silaznom ivicom), u konkretnom slučaju četiri? Na taj način se dobija duplo više podataka na magistrali i samim tim novi standard - DDR-II. Kod DDR-II čipova matrica ćelija radi na frekvenciji duplo manjoj od ulazno/izlazne kapije, koja pored toga koristi i DDR protokol. Ovo je bitno, pošto ulazno/izlaznoj kapiji omogućava da preko izlaznih bafera postavi i četiri bita podataka u jednom ciklusu, koristeći jezgra koja rade na malim frekvencijama. Primera radi, ako jezgro radi na 100 MHz, efektivna brzina DDR-II čipa će biti 400 MHz, za 133 MHz će iznositi 533, za 200 biće 800 MHz itd.

Jezgro se sastoji od preko milijardu tzv. kondenzatora (tranzistori u kojima se zapravo i čuvaju informacije u vidu električnog punjenja), zauzima preko 90% površine čipa. Cenu čipa diktira jezgro, a što je frekvencija veća, komplikovanja je i proizvodnja, pa je i cena viša. Smanjivanjem njegove frekvencije smanjuje se i potrošnja, a tako i radni napon, pa DDR-II čipovi predstavljaju ekonomičnije rešenje i na "pametniji" način koriste raspoložive resurse. Naravno, ništa nije savršeno, pa tako i ovaj pristup ima negativnih strana - ceh su platile latencije.

Latencija predstavlja vreme potrebno RAM-u da postavi traženi bit na magistralu, a latency vrednosti se mere u ciklusima. Kada DRAM čip prihvati adresu od memorijskog kontrolera, traženi podatak se neće odmah naći na magistrali, pošto će čipu biti potrebno nekoliko ciklusa da podatak pripremi, pre svega zbog kompleksnosti interne arhitekture DRAM čipa. Čipu koji ima deklarisanu CAS vrednost 2 biće potrebna dva ciklusa da isporuči podatak sa date adrese. Memorijski protok, dakle, nije definisan samo frekvencijom, već i latencijom, a te vrednosti posebno dobijaju na značaju kod nasumičnog pristupa, tj. u slučajevima kada memorija ne mora da sekvencijalno "ispaljuje" podatke.

Uporedimo DDR400 modul sa latencijama 2-2-2 sa DDR-II modulom koji radi na istoj efektivnoj frekvenciji od 400 MHz. Pokazuje se da dužina ciklusa nije ista. Jedan ciklus DDR400 memorije koja radi na frekvenciji od 200 MHz iznosi 5 ns, što znači da će se podatak naći na magistrali nakon 10 ns. Kada bi odgovarajuća DDR-II 400 MHz memorija imala iste latencije 2-2-2, njen ciklus bi trajao 10 ns jer samo jezgro radi na četiri puta manjoj frekvenciji od efektivne (dakle, 100 MHz). Dakle, dva ciklusa DDR-II 400 čipova odgovaraju jednom ciklusu DDR-I memorije. Zbog toga su latencije kod DDR-II čipova morale da budu korigovane i usklađene sa prethodnom generacijom ovog standarda, pa je tako CAS vrednost kod DDR-II čipova narasla sa 2 na 4 ciklusa.

Odlazak u prodavnicu

Novi protokol i standard je zahtevao i novu nomenklaturu. JEDEC, telo koje je zaduženo za standardizaciju poluprovodničkih komponenti, je osmislilo oznake koje zbunjuju korisnike. Naime, JEDEC se držao maksimalne propusne moći modula, koja se u slučaju DDR čipova izračunava množenjem frekvencije i količinom prenesenih bajtova (8 u slučaju DDR-a), pa sve to puta dva (zbog DDR protokola). Dakle, modul koji radi na frekvenciji 200 MHz (u narodu poznatiji kao DDR 400) teorijski može da isporuči 3200 MB/s, pa je zato serija modula dobila oznaku 3200.

Ista logika važi i prilikom označavanja DDR-II modula, s tim što je formula za izračunavanje maksimalnog teorijskog protoka drugačija, pošto jezgro DDR-II čipa radi na frekvencijama koje su duplo manje od frekvencija izlaznih bafera. Moduli sa oznakom 533 imaju jezgro koje radi na 133 MHz, što treba pomnožiti sa 8 bajta i zatim sa 4. Dakle, moduli koji rade na frekvenciji 533 MHz će nositi oznaku PC4200, oni koji rade na 667 MHz će biti PC5300 itd. Najjednostavniji način da utvrdite (efektivnu) frekvenciju nekog DDR-II modula jeste da JEDEC-ovu oznaku podelite sa 32.

Utvrdili ste na kojoj frekvenciji radi memorija, ali niste sigurni koji bi modul iz neke ponude odgovarao vašem sistemu? Pre kupovine bi prvo trebalo da obratite pažnju na čipset kojim je opremljena vaša ploča. Čipset definiše maksimalnu podržanu frekvenciju (kao i maksimalnu količinu sistemske memorije). Svi stariji Intel-ovi čipsetovi (945 i 955) podržavaju "samo" PC5300 module, dok većina ploča sa 965 i 975 čipsetovima podržava i PC6400 module. Neće biti strašno ni ako kupite module koji nisu podržani (barem kada je frekvencija u pitanju) pošto će moduli funkcionisati korektno, ali na nižoj frekvenciji.

Kod AMD-a je situacija malo komplikovanija, pošto se memorijski kontroler nalazi u procesoru, koji prema dome definiše frekvenciju. Gornji limit novih AM2 Sempron-a je 667 MHz, dok je kod ostalih procesora iz AMD-ove ponude ona pomerena na 800 MHz. Priča se tu ne završava - prošle godine smo objašnjavali na koji način AMD-ovi procesori određuju frekvenciju memorije i tada smo skretali pažnju na faktore koji utiču na njih, kao što su procesorska frekvencija i memorijski delilac. Athlon64 AM2 može da radi sa memorijom na frekvencijama od 400, 533, 667 i 800 MHz. Međutim, da bi procesor komunicirao sa memorijom koja radi na taktu od 800 MHz, procesorska frekvencija mora da ima umnožak 400, a isti princip vazi i za 667 vrednost (u ovom slučaju je umnožak 333) itd. Ako, recimo, imate Athlon64 3000+ procesor, koji radi na 1800 MHz, frekvencija memorije neće iznositi 800 MHz, već nešto manje (720 MHz); u slučaju Sempron procesora koji radi na 1600 MHz, memorija neće raditi na tačno 667 MHz, iako ste je tako podesili, već na nešto manjoj frekvenciji, pošto 1600 nije umnožak broja 333. Ako želite da izbegnete ove probleme, kupite procesor koji radi na tačno 2 GHz... ili pređite na Intel-ova rešenja.

Zašto i zašto ne

Taman kada ste saznali da vam baš PC6400 moduli završavaju posao, prodavac vam je pokazao i druge, znatno skuplje modele, koji su deklarisani za istu frekvenciju, ali imaju nešto niže latencije. Iz prvoga dela teksta proističe da niže latencije donose bolje performanse - da li je kupovina modula sa nižim CAS-RAS tj. CAS-RAS Preacharge -tRAS tajminzima vredna razmatranja i koliko ona utiče na performanse celog sistema?

Na ovo pitanje najbolje može da odgovori praksa. Nećemo se ovoga puta baviti internom arhitekturom kod AMD-a i Intel-a, pošto se ove platforme prilično razlikuju. Zato smo sklopili dva sistema, od kojih je jedan baziran na AMD AM2 procesoru a drugi na Intel Core 2 Duo sistemu. Prilikom testiranja smo koristili DDR-II module koji su radili na istim frekvencijama, ali sa drugačijim latencijama. Tabela 1 pokazuje da su manje latencije dovele do značajnog porasta performansi, dok se kod Intel-a ta razlika svodi na par procenata i to u određenim slučajevima. Ovakvi rezultati predstavljaju najbolji odgovor na vaše pitanje da li se kupovina low-latency modula isplati. Naravno, sve zavisi od budžeta i potreba, ali bismo uvek izabrali module koji rade na nižim latencijama. Iako skuplji, takvi moduli su fleksibilniji u radu, pošto ne samo da rade sa "zategnutim" tajminzima, nego su obično u stanju da rade na višim frekvencijama i nešto višim latencijama.

Sigle channel ili dual channel? Koliko li ste samo puta čuli da AMD-ovi procesori podržavaju dvokanalni režim rada za koji su vam potrebna dva jenaka modula. Gledano na papiru, dual channel bi trebalo da obezbedi duplo više podataka procesoru, pošto svaki od dva dostupna kanala raspolaže magistralom širine 64 bita. Ukoliko opet konsultujemo tabelu 1, uvidećemo da su razlike između jednokanalne i dvokanalne konfiguracije praktično zanemarljive - memorijski protok ne zavisi isključivo od širine magistrale, odnosno frekvencije modula, već i od drugih faktora. Da li onda treba "bojkotovati" proizvođače koji uparuju module ili proizvođače procesora koji tvrde da će performanse narasti za 10%? Naravno da ne treba, jer koliko god dvokanalni režim bio beskoristan u našim testovima, postoje situacije kada on dobro dođe, pogotovo kada baratate sa velikim strimovima (DivX ili XviD kompresija).

Zašto biste, dakle, kupovali DDR-II module? Sa gledišta proizvođača, oni su daleko jeftiniji za proizvodnju, a cena je u poluprovodničkom svetu pokretač promena. Mi kao korisnici nemamo prava da se ljutimo, jer ako novi standard nudi iste ili slične performanse kao DDR moduli a pri tome košta manje, i mi ćemo biti na dobitku. Vista samo što nije, a već se uveliko šuška da će za komforan rad biti poželjno (ali ne i neophodno) 2 GB memorije. To znači će vam biti potrebna četiri modula od po 512 MB ili dva od po 1 GB. Ako sada uporedite cene gigabajtnih modula izrađenih po DDR standardu (koji se već sada teže nalaze) sa onima izrađenih po DDR-II standardu, shvatićete o čemu govorimo. Ove godine će se ugasiti i poslednji bastion DDR standarda, AMD-ove socket939 i socket754 platforme, što znači da će od početka naredne godine ploče koje podržavaju DDR standard postati pravi raritet.

Za detaljan pregled tržišta memorija, rezultate testiranja konkretnih modula, tabelu karakteristika i performansi pogledajte PC #127.