82
- 0 - Univerzitet u Nišu - Elektronski fakultet Katedra za elektroniku Seminarski rad: Memorije mikroračunarskih sistema Predmet: Mikroprocesorski sistemi Student: Ivan Stevanović Ind. Br. 10084

Memorije Mikroracunarskih Sistema

Embed Size (px)

Citation preview

- 0 -

Univerzitet u Nišu - Elektronski fakultet Katedra za elektroniku

Seminarski rad: Memorije mikroračunarskih sistema Predmet: Mikroprocesorski sistemi

Student: Ivan Stevanović Ind. Br. 10084

- 1 -

Sadrzaj Sadrzaj ...........................................................................................................................- 0 - 1. Memorisanje podataka – UVOD ........................................................................- 3 -

1.1 ROM memorije ...................................................................................................- 6 - 1.1.1 ROM memorije sa fiksnim sadžajem (MASK ROM) .............................- 7 - 1.1.2 Programibilne ROM memorije (PROM) ..................................................- 8 - 1.1.3 Programibilne ROM memorije sa mogućnošću brisanja......................- 8 -

1.2 RAM memorije ...................................................................................................- 9 - 1.2.1 Statičke poluprovodničke memorije (SRAM) .......................................- 10 - 1.2.2 Dinamičke poluprovodničke memorije (DRAM) ..................................- 10 -

1.3 Pakovanje memorija........................................................................................- 15 - 1.4. DIMM ................................................................................................................- 16 -

2. Trendovi u PC sistemskoj memoriji.....................................................................- 24 - 2.1. Uloga memorije u sistemu ............................................................................- 24 - 2.2. Faktori performansi ........................................................................................- 24 -

2.2.1. Kapacitet...................................................................................................- 25 - 2.2.2. Propusnost ...............................................................................................- 25 - 2.2.3. Latenca .....................................................................................................- 26 -

2.3. Memorijske tehnologije koje se trenutno koriste .......................................- 26 - 2.3.1. SDRAM .....................................................................................................- 27 - 2.3.2. Registrovani memorijski moduli ............................................................- 27 - 2.3.3. Trenutne SDRAM implementacije ........................................................- 28 - 2.3.4. DDR SDRAM ...........................................................................................- 28 - 2.3.5. Rambus.....................................................................................................- 29 - 2.3.6. DDR...........................................................................................................- 30 - 2.3.7. ADT ...........................................................................................................- 30 - 2.3.8. Višestruki memorijski interfejs...............................................................- 30 -

2.4. Predstojeće promene.....................................................................................- 30 - 3. FLEŠ MEMORIJE ..................................................................................................- 31 - 4. EEPROM.................................................................................................................- 36 - 5. ASINHRONI SRAM ...............................................................................................- 37 - 6. ASINHRONI DRAM ...............................................................................................- 39 - 7. MULTIPORT MEMORIJA.....................................................................................- 44 - 8. FIFO .........................................................................................................................- 46 - 9. Memorijske tehnologije visokih performansi......................................................- 49 -

9.1. SINHRONI DRAM ..........................................................................................- 49 - 9.2. DOUBLE DATA RATE SDRAM ..................................................................- 56 - 9.3. SINHRONI SRAM...........................................................................................- 59 - 9.4. DDR i QDR SRAM .........................................................................................- 62 - 9.5. MEMORIJA SA ADRESABILNIM SADRŽAJEM .......................................- 68 -

- 2 -

10. Projektovanje memorijskog sistema .................................................................- 72 -

10.1. Simulacija dizajna.........................................................................................- 72 - 10.2. Verifikacija dizajna .......................................................................................- 72 - 10.3. Strategija verifikacije ....................................................................................- 73 - 10.4. Verifikacija SDRAM......................................................................................- 73 -

11. Zaključak ..............................................................................................................- 75 - 12. Rečnik opštih pojmova........................................................................................- 76 - 13. Literatura ...............................................................................................................- 81 -

- 3 -

1. Memorisanje podataka – UVOD

Prvi elektronski računar ENIAC sastojao se od 18000 vakumskih cevi i 1500 releja. Za memorisanje jedne cifre on je imao po 10 cevi od kojih je samo jedna bila uključena bio je težak 30 tona. Njegova potrošnja je bila 140kW i programirao se preko 6000 multipozicionih prekidača.

Jedan od tvoraca ENIAC-a Džon fon Nojman je zaključio da je programiranje računara pomoću velikog broja prekidača i kablova sporo i teško, i da je bolje program predstaviti u digitalnom obliku u memoriji računara. Takođe je zaključio da je bolje koristiti binarnu aritmetiku umesto decimalne. Fon Nojmanov arhitekturni princip, poznat kao fon Nojmanova mašina, primenjen je kod prvog računara sa zapamćenim programom EDSAC, i osnova je za sve računare do današnjih dana.

Prikaz osnovnih komponenti računara može se videti na slici 1.1.

Slika 1.1. Komponente računara

Za dalji razvoj računara, i poboljšanje njihovih karakteristika neophodan je bio razvoj memorijskih elemenata koji bi čuvali informacije između dve operacije. To je uslovilo razvoj ralzličitih tipova memorijskih medijuma koje se grubo mogu podeliti na: Mehaničke, prenosive i memorijske medijume u čvrstom stanju (slika 1.2)

Control

Datapath

Memory

Processor

Input

Output

- 4 -

Slika 1.2 – podela medijuma za memorisanje podataka Početkom druge polovine 20 veka u upotrebi su bili najčešće mehanički medijumi za memorisanje podataka kao što su bušene trake i bušene kartice. U isto vreme došlo je do razvoja memorije od magnetnih jezgara, i prvog korišćenja kondenzatora kao memorijskih elemenata, za koje je bilo potrebno osvežavanje kako se sadržaj ne bi gubio. Tokom godina razvoja zahtevi došlo je do podele memorija na one koje trebaju da čuvaju podatke što duže bez dodatnog napajanja i do memorija za koje nije neophodno da čuvanju podatke kada se napajanje isključi, što dovodi do podele memorija na kratkotrajne i dugotrajne. Zahtevi od memorija su bili da budu što je moguće dimenziono manje, da mogu dugo da čuvaju podatke bez osvežavanja, da imaju što manju potrošnju. Sa razvojem materijala počele su se pojavljivati magnetne memorije kao što su magnetne trake, magnetni mehurići a zatim i tvrdi (hard) diskovi i fleksibilni (Flopy) diskovi za čuvanje podataka. Razvoj dugotrajnih memorija pratio je i razvoj poluprovodničkih RAM i ROM memorija izrađivanih u različitim tehnologijama: MOS, bipolarne, CCD. Poslednju deceniju 20. veka prati pronalazak optičkih memorija kao što su kompakt diskovi (CD), i holografske memorije. Povećanje gustine pakovanja memorije i smanjenje njene potrošnje i cene proizvodnje prati i povećanje brzine rada memorije. Od 1980. godine možemo pratiti razvoj brzine rada procesora i memorija i primetiti disproporciju u razvoju brzine memorija u odnosu na brzine procesora. Ovu razliku možemo videti i grafički predstavljenu na slici 1.3.

- 5 -

Slika 1.3. Prikaz razvoja performansi memorija u odnosu na procesore

U digitalnim sistemima memorije predstavljaju gradivne blokove u koje se može upisati i iz kojih se može pročitati informacija. Zavisno od medijuma na kome se informacija pamti, najčešće se koriste poluprovodničke, magnetne i optičke memorije. Magnetne i optičke memorije se uglavnom koriste za memorisanje velikog broja digitalnih informacija. Vreme upisa i čitanja informacija je relativno dugačko, zbog neophodnih mehaničkih pomeranja diska ili trake.

- 6 -

Slika 1.4 – podela poluprovodničkih memorija Informacija u ovim memorijama ostaje zapamćena i kada je isključeno električno napajanje, tako da ove memorije spadajuu klasu postojanih memorija. Memorije se mogu podeliti na:

- ROM memorije (sadržaj može samo da se čita) i - RAM memorije (može se i upisati i pročitati informacija u proizvoljnom

trenutku).

1.1 ROM memorije

Memorija sa konstantnim sadržajem je itegrisano kolo u koje se posebnim postupkom upisuje željeni sadržaj, a kada je sadržaj upisan, memorija može samo da se čita. Takva memorija se naziva Read Only Memory, odnosno ROM memorija. ROM memorija je, u suštini, pretverač koda sa n ulaza i m izlaza. Logički simbol ROM memorije prikazan na slici 1.5.

Slika 1.5 Simbol ROM memorije

- 7 -

ROM sa slike je kapaciteta 2 n reči od m bita. Ulaznin signali se nazivaju adresni ulazi i najčešće se obeležavaju sa A0, A1, A2,...,An-1. Izlazi dekodera (wi) se nazivaju adrese, dok se izlazni signali nazivaju izlazi podataka i obeležavaju se sa D0, D1,...,Dm-1.

Tabela 1.1 Uporedne karakteristike različitih vrsta postojanih memorija Tip memorije Kategorija Način brisanja Način upisa

Mask ROM Read-only Nije moguće Utiskivanje u silicijum

PROM Read-only Nije moguće Elektronskim putem EPROM Read-mostly UV svetlo Elektronskim putem

EEPROM Read-mostly Elektronsko, na nivou bajta Elektronskim putem

Flash Read-mostly Elektronsko, na nivou bloka Elektronskim putem

ROM se najčešće koristi za smeštanje sistemskih programa za koje želimo da budu raspoloživi računaru u svako doba. Najbolji primer je sistemski BIOS program, koji se čuva u posebnom ROMu na matičnoj ploči - ovo znači da je program dostupan kada se uključi napajanje i da PC može da ga iskoristi da podigne sistem. Postoji nekoliko varijanti ROM memorija čiji se sadržaj može promeniti pod određenim okolnostima. U tabeli 1.1 su date uporedne karakteristike različitih vrsta postojanih memorija.

1.1.1 ROM memorije sa fiksnim sadžajem (MASK ROM) Logička ILI kola u integrisanim ROM memorijama se mogu realizovati kao

diodna ILI kola. Priključivanje diode između adresne linije i linije podatka ekvivalentno je spajanju adresne linije na ulaz ILI kola. Ova memorija je programirana da radi kao konvertor binarnog u Grejov kod.

Programiranje opisane ROM memorije se obavlja prilikom izrade integrisanog kola. Korisnik od proizvođača naruči sadržaj memorije, proizvođač na osnovu zahtevanog sadržaja formira masku za izradu iintegrisanog kola sa priključenim diodama, odnosno tranzistorima na mestu gde sadržaj treba da bude 1, odnosno 0. Zbog načina programiranja ove memorije se nazivaju mask-ROM. Izrada posebne maske za svaki različiti sadržaj ROM memorije je veoma skup proces (izrada maske košta nekoliko hiljada dolara, a cena integrisanog kola ROM memorije nekoliko dolara), tako da se mask-ROM koristi tamo gde su potrebe za memorijom sa istim sadržajem najmanje nekoliko hiljada komada.

- 8 -

1.1.2 Programibilne ROM memorije (PROM) Za digitalne uređaje gde nisu potrebne velike serije ROM memorija sa jednakim

sadržajem, koriste se programibilne ROM memorije, ili skraćeno PROM memorije. Diodne PROM memorije se proizvode sa ugrađenim svim diodama, a redno sa svakom diodom je ugrađen topljivi osigurač.

Korisnik sam programira memoriju, time što izazove pregorevanje osigurača na mestima gde želi da sadržaj memorije bude 0. Kada se memorija čita, prilikom adresiranja svake od adresnih linija, na mestima gde su pregoreli osigurači izlazni podatak imaće vrednost logičke jedinice, a na mestima gde su osigurači ostali, izlazni napon biće logička nula.

Glavni nedostatak PROM memorije je što se jedanput upisani sadržaj ne može promeniti. Potreba za promenom sadržaja je veoma česta, naročito prilikom razvoja novih uređaja ili promene načina funkcionisanja već razvijenih. Za ove primene pogodnije je koristiti programibilne ROM memorije sa mogućnošću brisanja.

1.1.3 Programibilne ROM memorije sa mogućnošću brisanja U grupu programibilnih ROM memorija sa mogućnošću brisanja spadaju

EPROM, EEPROM i FLEŠ memorije. Sve tri vrste memorija kao memorijske ćelije koriste MOS tranzistore sa izolovanim gejtom, kako je prikazano na slici 1.6.

Slika 1.6 MOS tranzistor sa izolovanim gejtom

EPROM memorije (Erasable Programmable Read Only Memory), kao

memorijske elemente koriste MOS tranzistore sa izolovanim gejtom. Kvalitet izolacije izolovanog gejta obezbeđuje da elektronski tovar ostaje na gejtu više od 10 godina, čak i kada se EPROM nalazi na temperaturi od 25 0C.

Brisanje se obavlja osvetljavanjem memorijske matrice ultraljubičastom svetlošću. Izolacioni materijal tada postaje slabo provodan i elektroni napuštaju izolovani gejt, tj. sadržaj svih lokacija ponovo postaje nula. Iz tog razloga se EPROM memorije izrađuju u kućištima sa providnim

Slika 1.7 Fotografija EPROM memorije ET2000

- 9 -

prozorom od kvarcnog stakla, kako bi se, u cilju brisanja, mogle izložiti dejstvu ultraljubičastog svetla.

Programibilna ROM memorija sa mogućnošću električnog brisanja- EEPROM (Electrically Erasable Programmable Read Only Memory), takođe kao memorijske ćelije koristi MOS tranzistore sa izolovanim gejtom. Za upis podatka u memorijsku ćeliju, gejt tranzistora se priključuje na napon +VE (10 do 12V).

Brisanje sadržaja EEPROM memorijske ćelije se obavlja tako što se gejt tranzistora priključuje na napon -VE.

Gustina pakovanja EEPROM memorija je više nego dvostruko manja od gustine pakovanja EPROM memorija. Razlika između EPROM-a i EEPROM-a je u tome što se prilikom brisanja EPROM-a briše kompletan sadržaj cele memorije, brisanje traje 10 do 20 minuta. Brisanje EEPROM memorija se obavlja selektivno priključivanjem negativnog napona na gejtove memorijskih tranzistora i aktiviranjem selekcionih tranzistora samo na izabranoj adresi, za vreme od oko 10ms po reči.

FLEŠ memorija (Flash Memory), naziv “fleš” je dobila po brzini zapisa koje je svedeno na nekoliko milisekundi. Pored veće brzine zapisa, FLEŠ memorije se odlikuju velikom gustinom pakovanja, odnosno daleko većim kapacitetom od EEPROM memorija.

1.2 RAM memorije

Poluprovodnička memorija, u koju se može i upisati i pročitati informacija u

proizvoljnom trenutku, naziva se RAM memorija, za razliku od ROM memorija, kod koje je fizički i vremenski proces upisa različit od procesa čitanja sadržaja. Naziv RAM dolazi od engleskog naziva Random Eccess Memory (memorija sa slučajnim pristupom), što na neki način označava da je vreme za upis ili čitanje nezavisno od adrese na kojoj se čitanje ili upis obavlja. Poluprovodničke RAM memorije po pravilu, gube sadržaj kada se isključi napon napajanja, tako da spadaju u klasu nepostojanih memorija.

Poluprovodničke memorije mogu biti statičke (SRAM) i dinamičke (DRAM). Informacija upisana u statičku memoriju ostaje zapamćena sve dok je memorija priključena na napon napajanja. Da bi informacija ostala zapamćenja u dinamičkoj memoriji, neophodno je periodično obavljati "osvežavanje" memorije, inače će se informacija gubiti.

Pored navedenih SRAM i DRAM memorija, postoje i druge vrste RAM memorija, kao na primer, FRAM memorija (ferroelectric random access memory). FRAM je feroelektrična memorija sa slučajnim pristupom. Feroelektrični efekat je osobina materijala da zadrži električnu polarizaciju i u odsustvu električnog polja, što omogućava izradu postojećih RAM memorija koje zadržavaju sadržaj i po nestanku napona.

- 10 -

1.2.1 Statičke poluprovodničke memorije (SRAM) Statička RAM memorija predstavlja skup stacionarnih registara sa zajedničkim

ulaznim i izlaznim priključcima. Selekcija registra u koji će se upisati, ili iz koga će se pročitati informacija, obavlja se adresnim dekoderom, na sličan način kako se obavlja čitanje ROM memorija. Da bi podaci bili ispravno upisani i pročitani iz RAM memorije, slično kao i kod ROM memorija, treba voditi računa o karakterističnim vremenima propagacije kroz kontrolna kola memorije kao i o vremenu postavljanja i vremena držanja memorijskih komponenti. Ciklus čiatanje SRAM memorije je identičan ciklusu čiatanja ROM memorije. Takođe se, radi veće gustine pakovanja, teži da memorijske ćelije imaju što je moguće manji broj tranzistora. Pošto se upis i čitanje iz memorije nikad ne obavlja istovremeno, statičke RAM memorije se često izrađuju sa zajedničkim, bidirekcionim priključcima sa podatke.

1.2.2 Dinamičke poluprovodničke memorije (DRAM)

Postoji stalni zahtev za povećanjem brzine i kapaciteta računarskih memorija, kao i za smanjenjem fizičkih dimenzija i snage koju memorije troše. Ovi zahtevi i potrebe predstavljaju vodilje u razvoju DRAM tehnologije. Većina DRAM memorija su se razvijale godinama i pratile razne tehnološke napretke, pa smo imali SDRAM (Sinhroni DRAM), DDR (dvostruka brzina podataka) SDRAM, DDR2 (dvostruka brzina podataka 2) SDRAM, kao i DDR3 (dvostruka brzina podataka 3) SDRAM. Ovaj razvoj je takođe bio uslovljen načinom korišćenja računarskih memorija u DIMM modulima (dualni memorijski moduli). Primene DIMM modula su se proširile sa neregistrovanih DIMM ka registrovanim DIMM i FB – DIMM modulima (potpuno baferovanim DIMM).

Svaka memorijska ćelija u SRAM memoriji se sastoji od najmanje 4 do 6 tranzistora. Da bi se realizovala memorija sa većom gustinom pakovanja konstruisana je memorija sa samo jednim tranzistorom i jednim kondenzatorom po memorijskoj ćeliji. Ovakva memorija bazira pamćenje informacije na električnom punjenju kondenzatora. Na slici 1.8 prikazana je jedna ćelija memorija.

CM

SELEKCIJAREDA

SELEKCIJAKOLONE

Slika 1.8 Kapacitivna memorijska ćelija

- 11 -

Računarske memorije nisu jedini sistemi koji stalno zahtevaju veće, brže i fizički manje memorije što manje potrošnje. Aplikacije poput ugrađenih (embedded) sistema poseduju slične zahteve i takođe mogu koristiti DRAM.

Ipak, mnogi memorijski sistemi se drugačije primenjuju računarima ili ugrađenim sistemima. Tipičan primer predstavlja klasično postavljanje računarskih memorija u DIMM slotove koje omogućava laku instalaciju tokom procesa sklapanja računara. Korisnik računara može lako nadograditi svoju računarsku memoriju jednostavnim dodavanjem ili zamenom DIMM modula nakon kupovine računara. Kao rezultat toga imamo da memorije koje se koriste u računarima zahtevaju viši nivo kompatibilnosti sa trenutnim i narednim stepenom razvoja računara, kao što i memo-rije zahtevaju povezanost sa DIMM modulima. Postoje dve glavne oblasti kompatibilnosti. Prvo, memorija mora biti kompatibilna sa velikim brojem memorijskih kontrolera korišćenim od strane raznih proizvođača. Drugo, memorija mora biti u stanju da radi i kada se koristi zajedno sa memorijama različitih proizvođača u jednom memorijskom sistemu računara. Otvoreni memorijski standardi su veoma korisni pri osigu-ravanju memorijske kompatibilnosti.

Sa druge strane, ugrađeni sistemi obično koriste fiksnu memorijsku konfiguraciju, što znači da korisnik ne može menjati memorijski sistem nakon kupovine proizvoda. Proizvođač ovakvih ugrađenih sistema dakle poseduje potpunu kontrolu nad korišćejnem memorija određenih proizvođača i ugrađenom sistemu. Uobičajena je optimizacija performansi i cene ugrađenih sistema korišćenjem jedne specifične vrste memorija jednog proizvođača. Kao rezultat imamo da je manje bitno u ugrađenim sistemima, u poređenju sa računaskim, da se poseduje visok nivo kompatibilnosti memorija različitih proizvođača.

JEDEC (zajednički odbor inženjera elektronskih uređaja) je pomogao memorijskoj industriji stvaranjem memorijskih specifikacija u obliku JEDEC standarda. JEDEC je neprofitabilna organizacija čiji su članovi ustvari proizvođači memorija, računara, oprema za testiranje,... Otvoreni JEDEC standardi definišu zahtevanu specifikaciju koju proizvođači moraju primenjivati pri proizvodnji svojih memorija kako bi one bile u stanju da rade sa memorijama drugih proizvođača, kao i drugim memorijskim kontrolerima. Ovi standardi obuhvataju fizičke karakteristike, lejaut DIMM kola, električne signale, definicije registara, funkcionalnost u radu, memorijske protokole,... Verifikacija i testiranje usklađenosti memorije sa JEDEC standardima predstavlja kritičan korak ka pouzdanom radu različitih memorija velikog broja proizvođača.

Novi DRAM dizajni ispunjavaju zahteve računarskih i ugrađenih sistema po pitanju brzine, kapaciteta, fizičke veličine i manje potrošnje. Posledica toga je nasta-nak sledećih promena DRAM-a: povećanje memorijskog prostora, povećanje broja memorijskih blokova, smanjenje napona napajanja, smanjenje razlike u naponima logičkih nivoa, povećanje brzine taktovanja memorija, povećanje brzine protoka podataka, primene signala u memorijskim kanalima prelaze sa velikog broja paralel-nih signala na manji broj serijskih signala velike brzine, povećava se broj memorijskih kanala kao i gustina pakovanja na pločicama ovih kola,... Ovakvi trendovi zahtevaju korišćenje novih tehnologija i alata pri dizajniranju, verifikaciji i debagovanju memorijskih sistema.

Sa povećanjem brzina taktovanja i smanjenjem napona logičkih nivoa postavlja se pitanje integriteta signala i pouzdanosti memorijskih operacija. Zbog toga postoje težnje ka novim osobinama DRAM-a koje bi se pozabavile unapređenjem integriteta signala

- 12 -

memorijskog sistema. Ove osobine uključuju dinamički kontrolisani ODT (terminacija na kraju), OCD kalibraciju i potpuno baferovane DIMM sa AMB (naprednim memorijskim baferima)..

Prednost DRAM-a nad ostalim tipovima memorija je njena mogućnost da se primenjuje sa manjim brojem kola po memorijskoj ćeliji na IC (integrisanom kolu). Memorijske ćelije DRAM-a su zasnovane na smeštanju naelektrisanja na kondenzatoru. Tipična DRAM ćelija je izgrađena uz pomoć jednog kondenzatora, i jednog ili tri FET tranzistora. Tipična SRAM (statička memorija sa direktnim pristupom) memorijska ćelija koristi šest FET-ova, što konačno daje manji broj memorijskih ćelija na IC iste veličine. SRAM su jednostavnije za korišćenje, lakše za povezivanje i poseduju kraće vreme pristupa podacima od DRAM memorija.

Arhitektura DRAM jezgra se sastoji od memorijskih ćelija organizovanih u dvodimenzionalne nizove redova i kolona (vidi Sliku 1.9). Pristup određenoj memorijskoj ćeliji zahteva dva koraka. Prvo se mora adresirati željeni red, a zatim i željena kolona u tom redu. Drugačije rečeno, interno se prvo vrši čitanje čitavog reda u DRAM integrisanom kolu a zatim adresa kolone bira koja će se kolona u kolu DRAM pročitati ili upisati preko ulazno/izlaznih pinova DRAM-a.

Slika 1.9: Memorijske ćelije DRAM organizovane u dvodimenzionalne nizove redova i kolona

Očitanja DRAM su destruktivna, što podrazumeva da se podaci u nizu memo-

rijskih ćelija uništavaju prilikom operacije čitanja. Zbog toga je neophodno ponovo zapisati isti red podataka nakon okončanja operacije upisivanja ili čitanja iz tog reda. Ova operacija se naziva prethodno pamćenje naelektrisanja, i to je poslednja operacija u jednom redu. Ona se mora obaviti pre pristupanja novom redu i zbog toga se naziva i zatvaranje otvorenog reda.

Analiza pristupa računarskoj memoriji pokazuje da očitavanja sekvencijalnih memorijskih adresa postaju najuobičajeniji tipovi pristupa memorijama. Ovo je zaista logično jer su očitavanja računarskih instrukcija mnogo češća od čitanja ili zapisivanja podataka. Takođe, mnoga očitavanja instrukcija su sekvencijalna u memoriji, sve dok ne dođe do nastanka instrukcije grananja ili skoka na subrutinu.

DRAM red se naziva memorijska stranica i kada se jednom red otvori može se pristupiti višestrukim sekvencijalnim, ili nekim drugim adresama kolona u tom redu. Ovo povećava brzinu pristupa memoriji i smanjuje latencu memorije jer se ne mora ponovo slati adresa čitavog reda u DRAM prilikom pristupa memorijskim ćelijama na istoj

- 13 -

memorijskoj stranici. Rezultat toga je adresa reda u višim adresnim bitovima računara, dok se adresa kolone nalazi u adresnim bitovima nižeg reda. Pošto se adrese reda i kolone šalju u različito vreme, obe ove adrese se multipleksiraju na iste DRAM pinove kako bi se smanjio ukupan broj pinova u pakovanju, cena i veličina. Tipično je veličina adrese reda veća od adrese kolone jer je potrošnja snage povezana sa brojem kolona.

Prvi DRAM-ovi su posedovali kontrolne signale poput RAS# (nizak aktivan nivo adrese selektovanja reda) i CAS# (nizak aktivan nivo adrese selektovanja kolone) za odabir reda i kolone prilikom izvršavanja adresne operacije. Dodatni DRAM kontrolni signali uključuju WE# (nizak aktivni nivo za omogućavanje upisa) za odabir operacija upisivanja ili čitanja, CS# (nizak aktivni nivo za biranje čipa) za odabir DRAM, i OE# (nizak aktivni nivo za omogućavanje izlaza). Prvi tipovi DRAM su imali asinhrone kontrolne signale i različite specifikacije tajminga koje su pokrivale razne sekvence i vremenske trenutke za određivanje načina rada DRAM-a.

Ciklus očitavanja kod prvih DRAM memorija je imao četiri koraka. Prvo se postavlja nizak nivo RAS# sa adresom reda na adresnoj magistrali. Zatim se postavlja nizak nivo CAS# i tada je na adresnoj magistrali adresa kolone. Treće, postavlja se nizak nivo OE# i očitani podaci se pojavljuju na DQ pinovima podataka. Vreme potrošeno od prvog do trećeg koraka, kada su podaci dostupni na DQ pinovima se naziva kašnjenje (latentnost). Poslednji korak obuhvata postavljanje visokih nivoa za RAS#, CAS# i OE# signale (neaktivni su) i čekanje na internu operaciju ponovnog zapisivanja podataka u određeni red kako bi se izvršilo obnavljanje podataka nakon destruktivnog očitavanja. Vreme koje protekne od prvog do okončanja poslednjeg koraka se naziva vreme memorijskog ciklusa. Tajming navedenih signala je povezan sa sekvencom ivica signala, i pritom je asinhron. Sinhrone operacije taktovanja nisu postojale kod prvih DRAM memorija.

DRAM memorijske ćelije se moraju osvežavati kako bi se izbeglo gubljenje određenih podataka. To podrazumeva osvežavanje kondenzatora pre nego što on izgubi svoje naelektrisanje. Osvežavanje memorije je zadatak koji obavlja memorijski kontroler a specificirano vreme osvežavanja zavisi od tipa korišćene DRAM memorije. Memorijski kontroler izvodi osvežavanje tako što izvršava samo RAS# ciklus sa adresom reda. Na kraju ovakvog ciklusa je operacija obnavljanja sadržaja podataka u redu koji je bio adresiran obavljena. Tipično je da memorijski kontroler poseduje brojač redova koji bi sekvencijalno generisao adrese redova kojima je neophodno izvršavanje ciklusa osvežavanja sa RAS# signalom.

Postoje dve strategije osvežavanja (vidi Sliku 1.10). Prva strategija podrazumeva da memorijski kontroler osvežava sve redove sekvencijalno kratkim ciklusima osvežavanja i zatim vrati kontrolu nad memorijom procesoru za nastavak rada. Sledeći signali osvežavanja bi se pojavili pre isteka maksimalnog propisanog vremena. Druga strategija osvežavanja koristi umetanje ciklusa osvežavanja memorijskog kontrolera u normalne radne operacije procesora sa memorijom. Ovakav metod osvežavanja raspo-ređuje cikluse osvežavanja na maksimalno propisano vreme.

- 14 -

Slika 1.11Fotografije DRAM memorija

SDRAM memorija

Stekovana SDRAM memorija sa 32 čipa

DDR400 - Kompanija Corsair

Slika 1.10 : Primena osvežavanja DRAM korišćenjem distribuisanog i sekvencijalnog osvežavanja

Prvi DRAM su primenjivali i razvijali brojač osvežavanja u DRAM integrisanom kolu koji bi se bavio sekvencijalno generisanim adresama redova. Ovakav brojač osvežavanja je ulaz u multiplekser koji kontroliše adrese u memorij-skom redu. Drugi ulaz u multiplekser je iz adrese reda sa spoljašnjih ulaznih adresnih pinova. Pomenuti brojač osvežavanja je eliminisao potrebu za spoljašnjim kolom za osvežavanje u memorijskom kontroleru. Neki od ovih DRAM su podržavali i CAS# signal pre dovođenja RAS# signala kako bi se započeo ciklus osvežavanja korišćenjem interno generisane adrese reda.

Danas postoji više vrsta DRAM memorija, kao što su na primer RDRAM (Rambus), DDR SDRAM, SDRAM i EDORAM, zatim HSDRAM (High Speed SDRAM), ESDRAM, VC SDRAM (Virtual Channel SDRAM), DRDRAM (Direct Rambus DRAM) itd. Svaka od ovih vrsta memorija ima svoje prednosti i nedostatke. DDR SDRAM memorija ima najbolji odnos cena/performansa i zato je najpopularnije re-šenje za tržište PC računara. RDRAM memorija koja je napravljena da bi zadovoljila sve vrste tržišta, bila je suviše složena i trebalo je da joj se poboljša odnos cena/performa pre nego što je doneta na tržište 1999. godine.

- 15 -

Primena RAM memorija Poluprovodničke RAM memorije su sastavni deo svakog računara. Zavisno do

veličine računara, potreban kapacitet RAM memorije se kreće od nekoliko desetina Kb za specijalne mikroračunarske sisteme, do više Gb za velike super-računare. Kapacitet RAM memorije personalnih računara je najčešće u granicama 64 do 1024 Mb.

Statičke memorije su manjeg kapaciteta po čipu, a koriste se u sistemima gde se zahteva veća brzina pristupa memoriji i manja potrošnja struje iz izvora za napajanje. Verovatnoća greške kod statičkih memorija je manja nego kod dinamičkih, tako da se koriste u sistemima gde se zahteva visoka pouzdanost. Dinamičke memorije, zbog daleko veće gustine pakovanja, za isti kapacitet, zahtevaju manji broj integrisanih kola od statičke. Potrošnja struje dinamičkih je znatno veća, a prilikom svake selekcije rada, struja napajanja se imulsno poveća za nekoliko desetina mA po čipu. I pored ovog nedostatka, kada je potreban veliki kapacitet, DRAM memorije se češće koriste jer s obzirom da imaju veću gustinu pakovanja zauzimanju manje prostora na štampanoj ploči. Zbog manjeg broja čipova i jednostavnije štampane ploče cena DRAM memorije je niža od cene SRAM memorije istog kapaciteta.

1.3 Pakovanje memorija

DIP - Memorijski čipovi pakuju se u tzv. DIP pakovanja

(Dual Inline Package) - pakovanja pravougaonog oblika sa dva reda nožica sa strane čipa. U početku, kod XT računara na primer, su memorijski čipovi bili zalemljeni direktno na matičnoj ploči, ili su se ubacivali u posebna kućišta koja su bila zalemljena na ploču (primera radi, BIOS se i danas nalazi u takvom kućištu). Ovo je stvaralo više problema: prvi i najveći je to da je u slučaju zalemljenih čipova pregorevanje jednog memorijskog čipa značilo da automatski morate da bacite i celu matičnu ploču. Osim toga korisnik je bio ograničen u pogledu izbora tipa memorije i maksimalnog mogućeg kapaciteta, što u početku i nije previše smetalo, ali je vremenom postalo problematično.

SIMM - SIMM (Single Inline Memory Module) je mala štampama pločica dizajnirana da se na nju smeste memorijski DIP čipovi. Prvobitni SIMM moduli su imali 30-pinski format (8-bitni pristup podacima, veličine od 256kB do 16MB), ali su oni odavno zamenjeni 72-pinskom varijantom (32-bitni pristup podacima, veličine od 4MB do 64MB). SIMM moduli su uglavnom jednostrani - memorijski čipovi su zalemljeni samo sa jedne strane pločice. Postoje i dvostrani SIMM moduli ali su oni prilično retki.

SIMM

- 16 -

DIMM - DIMM (Dual Inline Memory Module) moduli u ovom trenutku predstavljaju industrijski standard za pakovanje memorija. Oni rade sa naponom od 3.3V i imaju 168 pinova u dva reda kontakata, po jedan sa svake strane pločice (za razliku od SIMMova koji imaju jedan red kontakata). DIMM pakovanja se u odnosu na SIMM razlikuju u tome što se čipovi nalaze sa obe strane pločice: time se štedi dragoceni prostor na samoj pločici kao i na matičnoj ploči jer je broj potrebnih modula (i podnožja) sada manji. DIMM pakovanja su za nijansu skuplja od SIMM pakovanja, ali štede prostor. SDRAM memorije se pakuju u ovakvim kutijama.

RIMM - Sa pojavom Rambus DRAM memorije u 1999. godine pojavio se i RIMM modul (Rambus Inline Memory Module). On izgleda slično kao i DIMM, ali ima različit broj pinova - ukupno 184. RIMM-ovi mogu istovremeno da prebace 16 bita podataka. Brži rad i brzina prenosa generišu više toplote, i zbog toga su moduli prekriveni aluminijumskim izolacionim omotačem koji emituje višak toplote i štiti čipove na modulu od pregrevanja. Ovaj aluminijumski oklop ujedno služi i da smanji elektromagnetsku interferenciju.

1.4. DIMM

Dualni linijski memorijski moduli (DIMM) su memorijski moduli za računare koji

se lako priključuju (“ubadaju”). DIMM se razlikuju po fizičkoj veličini, opsegu memorijskih podataka, rangu, veličini, brzini i arhitekturi memorije. JEDEC je definisao DIMM standarde i nastavlja da radi na definisanju novih DIMM zasnovanih na novim tipovima memorija kao i arhitekturama memorija.

1.4.1. Fizičke dimenzije i opseg podataka DIMM DIMM standardne veličine se koristi u kućnim računarima, radnim stanicama i

serverima. SO-DIMM (DIMM malih dimenzija) su mali DIMM koji se koriste u lap-topovima i sličnim primenama. Konfiguracija leptira se odnosi na dva paralelna SO-DIMM na računarskoj matičnoj ploči koji poseduju susedne krajnje konektore. Zamislite dva krajnja konektora kao telo leptira i SO-DIMM kao otvorena krila leptira. Mini-DIMM (minijaturni DIMM) su manji od SO-DIMM i koriste se u računarima sa samo jednom pločom. VLP-DIMM (DIMM jako niskog profila) su kraći i niži i koriste se u nekim serverima.

- 17 -

Opseg ovih podataka zavisi od podrške za ECC (kod za korekciju greške). ECC koristi osam bitova za proveru, detekciju i korekciju greške. Standardni opseg podataka DIMM je 64 bita bez ECC, i 72 bita sa ECC.

1.4.2. Rang DIMM Rang je kompletna grupa memorijskih uređaja na DIMM koja podržava 64 bita

podataka (ili 72 bita sa 8 ECC bitova). Rang dva znači postoje dve grupe memorijskih uređaja na DIMM. Rang četiri znači postoje četiri grupe memorijskih uređaja na DIMM. Tabela 1.2 prikazuje koliko se memorijskih IC nalazi na DIMM koji podržava opseg podataka od 64 bita, bez ECC. U određenom trenutku nema više dovoljno prostora na obe strane DIMM za sva memorijska IC. Za rešavanje ovog problema se memorijska IC stekuju jedna na druge.

Tabela 1.2 : Broj memorijskih IC po jednom DIMM bez ECC

zasnovan na rangu DIMM i broju U/I podataka po memorijskom IC

1.4.3. Veličina memorije i brzina DIMM Veličina memorije DIMM zavisi od veličine memorijskih IC koji se koriste, kao i

od konfiguracije DIMM. Memorijsko kolo od 512 Mb (mega bitova) se može dizajnirati u različitim konfiguracijama (Tabela 1.3). Brzina DIMM zavisi od taktne brzine koju podržava DDR, DDR2 i DDR3 SDRAM korišćen u DIMM.

Tabela 1.3 : Primeri različitih konfiguracija memorijskih IC

od 512 Mb (mega bitova)

- 18 -

1.4.4. Arhitektura DIMM Postoje tri glavne arhitekture DIMM: UDIMM, RDIMM i FB-DIMM. Svaka od

njih poseduje određene prednosti i ograničenja. UDIMM je neregistrovani DIMM. UDIMM nema baferovanje DDR, DDR2, i

DDR3 SDRAM signala u DIMM (Slika 1.12). UDIMM predstavlja prvu primenu DIMM. Za jedinstveni ili dual memorijski sistem su UDIMM najbrži i najjevtiniji. Memorijski kontroler direktno kontroliše sve DRAM signale. Nijedan bafer niti registar ne unosi kašnjenje u signalima između memorijskog kontrolera i SDRAM na UDIMM. Broj UDIMM koji se mogu nalaziti na memorijskom kanalu jednog kontrolera je ograničen integritetom signala. Integritet signala se smanjuje sledećim faktorima: povećanjem taktne brzine memorije, povećanjem dužine puteva signala, povećanjem broja UDIMM na jednom memorijskom kanalu, kao i povećanjem ranga na DIMM. Memorijski kontroler vidi svaki konektor, put, granu ili SDRAM pin. Problemi impedansi u razgranatoj strukturi stabla ograničavaju taktnu frekvenciju i broj UDIMM na kojima memorijski kanal može pouzdano raditi.

Memorijski kontroleri koji imaju zasebne memorijske kanale su jedan od načina za povećanje broja UDIMM u memorijskom sistemu. Dva zasebna memorijska kanala mogu podržavati dva UDIMM velike brzine i to na način jedan UDIMM po memorijskom kanalu.

Slika 1.12 : UDIMM nema mogućnost baferovanja DRAM signala na DIMM

RDIMM je registrovani DIMM. RDIMM redukuje neke od problema arhitekture

stabla tako što baferuje takt RDIMM SDRAM, komandne signale i adresne signale RDIMM (vidi Sliku 1.13). Signal takta se baferuje PLL faznom petljom dok se komandni signali i adresni signali baferuju lečevima registra. Tipičan RDIMM se izvodi sa jednim PLL kolom i dva IC sa registrima. Takt memorijskog kontrolera, komandni i adresni signali vide impedanse na putevima na matičnoj ploči, DIMM konektorima, RDIMM registrima i RDIMM PLL. Ova redukovana arhitektura stabla omogućava korišćenje više RDIMM po memorijskom kanalu, što je čini bržom. Ne postoje prednosti baferovanja ili redukovanih signala za dvosmerne linije podataka. Takođe, vremena pristupa memoriji RDIMM su jedan taktni ciklus sporija od UDIMM jer je taj jedan taktni ciklus potreban za lečovanje komandi i adresnih signala u registre RDIMM.

- 19 -

Slika 1.13: RDIMM baferuje takt DRAM, komandne signale i adresne signale DIMM

FB-DIMM je potpuno baferovani DIMM. FB-DIMM koristi DDR2 SDRAM, dok

FB-DIMM2 koristi DDR3 SDRAM. Svi DDR2 i DDR3 SDRAM signali se baferuju iz memorijskog sistema AMB IC kolom (kolo naprednog memorijskog bafera) na FB-DIMM i FB-DIMM2 (Slika 1.14). Raličiti AMB se koriste za FB-DIMM i FB-DIMM2. Prvi FB-DIMM do memorijskog kontrolera koristi do 24 diferencijalna signala velike brzine za komunikaciju sa memorijskim kontrolerom, i koristi do 24 diferencijalna signala velike brzine za komunikaciju sa susednim FB-DIMM (Slika 1.15). Ovi signali su jednosmerni, od tačke do tačke, i koriste redne tehnike velike brzine za slanje komandi ili podataka. Deset signala prenose saobraćaj od memorijskog kontrolera ka AMB, i 12 do 14 signala prenosi saobraćaj od AMB do memorijskog kontrolera. FB-DIMM arhitektura sledi trendove modernog digitalnog dizajna za velike brzine tako što menja paralelne magistrale razgranate arhitekture manjim brojem rednih veza velike brzine.

- 20 -

Slika 1.14 : FB-DIMM baferuje DDR2 SDRAM signale na FB-DIMM

Slika 1.15 : FB-DIMM point-to-point, redna (serijska) arhitektura velike brzine

FB-DIMM arhitektura je dizajnirana tako da prenosi podatke pri najvećoj brzini memorije iz DDR2 memorija na FB-DIMM kroz AMB, i zatim preko point-to-point signala ka memorijskom kontroleru. Serijski (redni) frejm ima 12 bitova dužine i 10 – 14 bitova širine, zavisno od vrste signala. 12 rednih bitova se prenosi u jednom DDR2 taktnom ciklusu. Zbog toga se taktna frekvencija DDR2 može pomnožiti sa 12 kako bi se dobila brzina podataka u rednim vezama velike brzine. Može se DDR2 brzina podataka pomnožiti i sa 6 kako bi dobili željenu brzinu podataka (vidi Tabelu 1.4). Takt memorijskog sistema na matičnoj ploči je upola manji od takta DDR2. AMB pruža PLL funkciju koja će udvostručiti takt DDR2 SDRAM. Broj linija je postavljen na 10 za signale od kontrolera ka AMB, dok je u suprotnom pravcu on između 12 i 14. Množenjem broja linija sa 12 rednih bitova dobija se broj bitova u frejmu (Tabela 1.5). U

- 21 -

prvom slučaju je to 120 bitova po jednom frejmu. Povratne linije u drugom slučaju zavise od korišćenja ECC u FB-DIMM i broja rednih CRC bitova.

Tabela 1.4: Brzina rednih podataka za FB-DIMM redne veze

zavisi od brzine DDR2 SDRAM na FB-DIMM

Tabela 1.5: VeličIna FB-DIMM serijskih podataka frejma

zavisi od broja korišćenih linija

Na primer, bez ECC, dve 64-bitne reči (2*64=128 bitova ukupno) moraju biti

prenete u povratnom frejmu. Ove linije sa ukupno 144 bita su u stanju da podrže ovakav zahtev. Sa druge strane, uz korišćenje ECC, za dve 72-bitne reči (ukupno 144 bita) je potrebno koristiti 13 ili 14 linija jer 12 linija neće imati dovoljno kapaciteta da podrže prenos ovakvog frejma (jer tu postoje i dodatni redni CRC bitovi).

Jedan FB-DIMM kanal podržava do osam FB-DIMM. FB-DIMMlejauti matične ploče su lakši jer oni zahtevaju samo 24 puta za signale velike brzine po jednom kanalu iz memorijskog kontrolera koji ne moraju biti iste dužine. UDIMM ili RDIMM, nasuprot njemu, zahtevaju veliki broj paralelnih signala (za komande, adrese, podatke,...) iz memorijskog kontrolera i ovi signali moraju biti propisane dužine kako bi bio moguć ispravan rad. Kao rezultat manjeg broja potrebnih FB-DIMM signala po memorijskom kanalu i jednostavnijeg lejauta ploče kola, memo-rijski kontroler može podržati veći broj FB-DIMM memorijskih kanala (Slika 1.16). To znači i veći propusni opseg jer svi memorijski kanali mogu biti aktivni u isto vreme.

FB-DIMM se koriste u serverima koji zahtevaju velike memorijske sisteme.

Očekuje se da radne stanice vrhunskog nivoa takođe koriste FB-DIMM.

- 22 -

Slika 1.16: FB-DIMM memorijski kontroler podržava četiri kanala od kojih svaki kanal ima do osam FB-DIMM. Jednim FB-DIMM od 1GB

se može omogućiti 32 GB sistemske memorije.

1.4.5. Redna detekcija prisustva Ova SPD funkcija, kako se skraćeno naziva, se koristi na svim računarskim DIMM

i služi za pružanje raznih informacija o DIMM memorijskoj konfiguraciji, kao što su veličina memorije, brzina, kašnjenje, tajming, proizvođač, itd. BIOS-u računara tokom njegovog rada (Tabela 1.6). Priliokm uključenja, BIOS (osnovni ulazno izlazni softver) očitava informacije o konfiguraciji svake DIMM korišćenjem SPD funkcije. Ove informacije se zatim koriste za konfigurisanje memorijskog kontrolera kao i načina rada DRAM i nekih registara za svaki UDIMM i RDIMM. SPD funkcije su navedene JEDEC standardima.

Za UDIMM i RDIMM se SPD funkcije uvode u malim stabilnim memorijskim IC pomoću nešto sporijeg CI 2 interfejsa koji se nalazi na svakom DIMM. Matična ploča poseduje CI 2 interfejs sa jedinstvenim adresama (od 0 do 7) za svaki DIMM slot. Prilikom uključenja se svaki DIMM slot proverava korišćenjem CI 2 interfejsa. Ako je DIMM prisutan BIOS će očitati vrednosti SPD.

Za FB-DIMM se SPD funkcije uvode u AMB, koji poseduje CI 2 interfejs. CI 2 interfejs jednog FB-DIMM se naziva SMbus (magistrala za upravljanje sistemom). SMbus služi za konfigurisanje AMB u svakom FB-DIMM.

- 23 -

Tabela 1.6: BIOS računara očitava konfiguraciju DIMM korišćenjem SPD interfejsa

- 24 -

2. Trendovi u PC sistemskoj memoriji

Računarske tehnike neprestano napreduju u skladu sa sve većim zahtevima performansi, pri čemu ni napredak sistemske memorije ne zaostaje. Ukoliko pogledamo istoriju računara, uočićemo da je sistemska tehnologija lagano napredovala u kapacitetu i performansima, i to kako bi ispunila sve više rastuće potrebe drugih hardverskih podsistema i softvera. U prošlosti je postojalo poprilično tačno prelaženje sa jedne memorijske tehnologije na sledeću. Međutim, danas imamo više izbora – PC133, RDRAM, i DDR (dvostruko više podataka) – može doći i do pojavljivanja još više izbora, shodno činjenici da se proizvodjači DRAM sistemskih memorija prilagođavaju pojavljivanju novih platformi i raznim drugim faktorima. Ovo se kreće od najsitnijih uređaja do high-end servera, od kojih svaki ima drugačiju snagu, brzinu, neophodne uslove za rad sistemske memorije.

Ovde pađnju fokusiramo na PC sistemsku memoriju, njenu problematiku i trendove. Počećemo sa sagledavanjem uloge memorije u sistemu, kao i sa ključnim parametrima memorije koji utiču na performanse sistema. Zatim ćemo preći na današnje alternative ovome, i predstaviti trendove u industriji.

2.1. Uloga memorije u sistemu

Primarna uloga memorije je da sačuva kodove i podatke za procesor. Iako su keš

memorija i procesori smanjili svoju zavisnost od performansi memorije, procesor idalje zahteva veliki deo opsega memorije. Slika 1 prikazuje najveće potrošače memorijskog opsega: procesor, grafički podsistemi, PCI uređaji (kao što su uređaji za brzo komuniciranje), i hard diskovi. Ono što u manjoj meri opterećuje memoriju su USB I paralelni portovi se takođe moraju uračunati. Centar memorije obezbeđuje sistemskoj memoriji interfejs, namenjen svim zahtevnim uređajima. I/O habovi zakazujuzahteve od drugih uređaja u memorijski hab.

Memorija igra glavnu ulogu u efikasnom radu I/O uređaja kao što su grafički adapteri i disk drajveri. U tipičnom sistemu najveći deo podataka prolazi, pri prenosu, kroz sistemsku memoriju. Na primer, kada prebacujemo neki fajl sa mreže na lokalni hard disk, podaci sa mreže putem PCI host adaptera dolaze do memorije. Ovo se uglavnom naziva DMA, i predstavlja direktan pristup memoriji, nasuprot I/O (PIO), gde je procesor direktno uključen u bilo kakav prenos podataka. Kada jednom počne, prenos podataka se obavlja direktno sa memorije na disk, bez daljeg uključivanja rada procesora. Sve u svemu, sistemska memorija funkcioniše kao osnovna komponenta čuvanja za kodove i podatke procesora, i kao centralna tačka prenosa za bilo kakav prenos podataka u današnjim sistemima.

2.2. Faktori performansi

Parametri memorije koji utiču na rad sistema su kapacitet, propusnost i kašnjenje.

- 25 -

2.2.1. Kapacitet

Kako kapacitet utiče na rad sistema? Prvi korak u davanju odgovora na ovo pitanje je da opišemo ono što je najbitnije u memoriji. Kapacitet i brzina različitih mehanizama za čuvanje podataka, koji se nalaze u najvećem broju kompjutera danas kreću se od veoma brzih, ali sa malim kapacitetom, do L1 keš memorija koja je mnogo sporija ali sa puno većim kapacitetom.

U idealnom slučaju, kompjuter bi koristio najbrže mehanizme za čuvanje podataka – u ovom slučaju keš memorija za sve podatke. Bilo kako bilo, zakoni fizike (koji nalažu da mehanizmi sa većim kapacitetom budu sporiji) i uzimanje cene u obzir sprečavaju ovo. Umesto toga, računari koriste tzv. Virtuelnu memoriju, koja koristi i L1 i L2 keš memoriju, glavnu memoriju i hard disk.

Mehanizam virtuelne memorije dozvoljava programeru da koristi više memorije nego što je to moguće u sistemu, kao i da najčešće i najskorije korišćene dokumente sačuva tako da je pristum njima najlakši. Kada je potrbno više memorije od one koja u sistemu postoji, neki kodovi i podaci moraju se smestiti na disk. Ako procesor pristupa podacima koji nisu dostupni u memoriji, informacije kojima se dugo nije pristupalo smeštaju se na hard disk. Sistem upotrebljava oslobođen prostor kako bi ispunio zahteve procesora. Međutim, pristup podacima, koji su smešteni na hard disku, je takođe usporen, i na rad sistema se negativno utiče čekanjem da se pristupi podacima sa diska. Dodavanje sistemske memorije smanjuje verovatnoću da se ovako nšto dogodi. Kapacitet koji je potreban da se aktivnost diska smanji na prihvatljiv nivo, zavisi od operativnog sistema, kao i od tipa i broja aktivnih aplikacija, što uključuje i pozadinske zadatke.

Poluprovodnička tehnologija omogućila je poboljšanje u smislu kapaciteta, u skladu sa Murovim zakonom – veće od 1.4x stope porasta godišnje – sa izgledom za sličnim smanjenjem tokom narednih godina. Ova smanjenja su premašila potrebe običnih PC-a i, kao rezultat toga je broj slotova memorije smanjen sa tri na dva u velikom broju platformi. Međutim, serveri i high-end radne stanice idalje koriste smanjenja kapaciteta.

2.2.2. Propusnost

Propusnost memorije je mera stope po kojoj podatak može da se prenosi sa, i na memoriju, i obično se izražava u megabajtima po sekundi (MB/sec). Najveći opseg je teoretski maksimum prenosa između bilo kog uređaja i memorije. U praksi dolazi do smanjenje najvećeg opsega uključivanjem raznih uređaja, a takođe i zbog 'lead-off' vremena koje je potrebno da uređaj preuzme prvi bit podatka nakon zadavanja instrukcije.

Trebalo bi da postoji adekvatni opseg memorije, koji bi mogao da podrži i uređaje sa najvećom brzinom, a i da spreči mešanje između uređaja. U mnogim sistemima, memorija ili I/O hab je dizajniran tako da ispunjava najveće zahteve razdvajanjem prenosa i sređivanjem zahteva memorije. Tabela 2 pokazuje stopu prenosa podataka različitih komponenata sistema u poslednje 4 godine. Iako potreba za širinom opsega memorije nije direktno proporcionalna ovoj stopi prenosa podataka, porast je očigledan. Memorijski sistemi su na odličan način ispratili zahteve sistema u ovom vremenskom periodu, krećući se od 533MB/sec do 2133MB/sec.

- 26 -

Dvostruki memorijski interfejs koji koristi Rambus ili DDR memoriju povećava širinu opsega do 3200 MB/sec.

2.2.3. Latenca

Latenca je mera odlaganja od trenutka zadavanja zadatka do trenutka kada se podatak prebaci. To je funkcija najvećeg opsega, vremena počinjanja (lead off time) i mešanja između više uređaja. U osnovi, procesori su osetljiviji na latencu od širine opsega zato što rade sa manjim celinama podataka, i zato što mogu da uzalud potroše puno vremena čekajući kritične podatke. Nasuprot ovome, I/O tranferi podataka su relativno dugi, i propusnost je važnija od kašnjenja.

Podaci koji se generišu ka, i iz memorije moraju proći kroz hab memorije, i u velikom broju slučajeva i kroz I/O hab. Ove komponente su zapravo chip set ili core logic, i daju najveći doprinos kašnjenju od uređaja do memorije. Oni mogu da ograniče ili iskoriste sposobnost sistemske memorije, i moraju da budu dizajnirani tako da naprave balans širine opsega, prenosa i raspoređivanja prenosa podataka za optimalni rad memorije.

Tokom poslednje 4 godine propusnost memorije je održala korak sa potrebama sistema, ali su poboljšanja u vezi sa latencom izostala. Trenutne Rambus i DDR tehnologije dupliraju širinu opsega memorije preko 100Mhy SDRAM, ali ne smanjuju latencu. U idealnom slučaju, latenca bi se smanjila proporcionalno sa porastom brzine takta procesora. Nove odlike pravljenja procesora – poboljšanja u keš memoriji, veća podrška za neredovna izvršavanja naredbi, instrukcije za aplikacije koje su osetljive na kašnjenje procesora – sve ovo je pomoglo smanjenju kašnjenja.

2.3. Memorijske tehnologije koje se trenutno koriste

Tokom vremena, PC sistemska memorija se razvijala tako da poveća kapacitet i širinu opsega, ali i da smanji latencu. Bilo je napretka i u stvaranju novih komponenti i u interfejsu. Dok se osnovna struktura jezgra komponente (pogledaj DRAM sidebar) nije menjala značajno, interfejs ka jezgru komponente je nastavio da se menja, i menja se i danas. Prednosti u brzini i kapacitetu u jezgru su izazvane napredovanjem u poluprovodničkoj tehnologiji. Usled ovoga, napredovali su i interfejsi, ali sa značajnim promenama u arhitekturi. PC memorijski interfejs je prošao kroz DRAM page mode, DRAM (fast page mode), i EDO DRAM. Danas se koriste tri glavna memorijska interfejsa.

• Sinhroni DRAM • DDR SDRAM • Rambus

- 27 -

2.3.1. SDRAM

Asinhroni rad DRAM je proizveo mnoge izazove prilikom povezivanja sa sinhronim procesorima. SDRAM (sinhroni DRAM) je dizajniran da sinhronizuje DRAM operacije sa ostatkom računarskog sistema i da eliminiše definisanje svih različitih načina rada memorijskih operacija zasnovanih na sekvenci CE#, ili na ivičnim tranzicijama tipa RAS#, CAS# i WE#. SDRAM je dodao signal takta i koncept memorijskih komandi. Tip memorijske komande je određen stanjem CE#, RAS#, CAS# i WE# signala na rastućoj ivici SDRAM taktnog signala. Tabele su objašnjavale stanje pomenutih signala. Na primer, komanda Aktivirati šalje adresu reda u SDRAM kako bi se otvorio red (stranica) memorije.Sledeći korak je sekvenca komande Deselektovanja koja zadovoljava zahteve za tajmingom pre slanja komande Čitanja ili Upisivanja sa adresom kolone. Kada se jednom red (stranica) u memoriji otvori komandom Aktiviranja, može se izvršavati nekoliko komandi upisivanja i čitanja nad podacima u tom memorijskom redu. Komanda obnavljanja podataka je neophodna za zatvaranje reda pre otvaranja narednog.

SDRAM je 64-bitni interfejs (ili 72 dodatna bita koja uključuju sposobnost ispravljanja greške). Brzina takta interfejsa je počela od 66 MHz, nastavila do 100 MHz, a danas može da radi i na 133 MHz u dodatoj sistemskoj memoriji. (dodaci od 100 i 133 MHz se veoma često nazivaju PC100 i PC133.). Propusnost u MB/sec je jednaka taktu koji je pomnožen sa 8. (64-bitni interfejs prebacuje 8 bajtova po taktu). Ovo znači 1066 MB/sec za trenutni 133MHz SDRAM. I latenca i propusnost su se poboljšavali u skladu sa povećanjem brzine takta. Komponenta poluprovodnika sistemske memorije može da pruži 4, 8 ili 16 bita za svaki prenos. Bez obzira na to koliko se bita prenosi, svaka komponenta sadrži podjednak prostor za skladištenje (izražen u bitovima) za određenu generaciju DRAM komponenata. Veći brij komponenti se kači na memorijski modul (il DIMM). Memorijski hub sistema radi sa jednim ili više ovakvih modula.

SDRAM modul kombinuje komponente tako da pružaju 64 bita pri svakom prenosu. Desktop i prenosni sistemi koriste 8 i 16-bitni interfejs kako bi u slabijim kapacitetima pružili 64-bitni interfejs. Na primer, tipični desktop ili prenosni SDRAM modul se mogu sastojati od 4 16-bitne komponente, od kojih svaka ima kapacitet od 128 megabita, od ukupno 64 MB memorije. Nasuprot ovome, 4- i 8-bitne komponente se koriste za veće potrebe u serveru. SRDAM modul koji se koristi u serveru može da sadrži 16 4-bitnih komponenti, svaka sa 128Mb kapaciteta, tj. Ukupnog kapaciteta od 256MB memorije. Kapacitet komponenata se povećavao tokom veka SDRAM-a sa napredovanjem u poluprovodničkojconductor industriji.

2.3.2. Registrovani memorijski moduli

Kako broj memorijskih komponenata raste, raste i broj na adresnoj liniji između memorijskog haba i memorijskog modula. Memorijski hab, vezu može uspostaviti sa samo nekoliko komponenata bez javljanja greške, ili smanjivanja brzine takta. Registrovani memorijski moduli (za razliku od unbuffed modula) se ovim bavi na taj način što uključuje registar takta koji razdvaja signale, koji dolaze do adresne linije. Uvedena zajedno sa SDRAM-om i implementirana u DDR memoriju, registrovani

- 28 -

memorijski moduli se uglavnom koriste na serverima. Registrovani memorijski moduli uvode poseban takt kašnjenja. Međutim, ne vrši se uticaj na celokupni sistem jer povećani kapacitet više nego nadoknađuje povećano latencu.

2.3.3. Trenutne SDRAM implementacije

133-MHz SDRAM se danas koristi u gotovo svim računarima. Njegovi performansi su adekvatni za aplikaciju na ciljnom tržištu, ali se očekuje da se brzo zameni, usled činjenice da zahtevi za memorijskim performansima novih operativnih sistema i aplikacija stalno rastu. Dvostruki SDRAM interfejsi se koriste na serverima sa povećanom širinom opsega i kapacitetom. U implementaciji sistemske memorije, ne očekuje se da SDRAM frekvencije porastu preko 133MHz. Umesto toga, DDR će se koristiti preko 133MHz. (Postoje i SDRAM frekvencije preko 133MHz, ali se koriste u specijalnim aplikacijama kao što su grafički kontrolori).

2.3.4. DDR SDRAM

DDR SDRAM je sličan standardnom DRAM, ali ima dodatne impulse koji rade na istim frekvencijama kao i takt. Ovi impulsi se generišu iz memoriskog haba sa podacima do memorijskih komponenata pri pisanju, i do memorijskog haba iz memorijskih komponenti pri čitanju. Podaci se prenose kako pri uzlaznoj, tako i pri silaznoj putanji ovog impulsa. Ove arhitektonske promene, zajedno sa nivoima nižeg signala i poluprovodničkimkondukterskim procesima, udvostučuju brzinu prenosa podataka i širinu opsega. Međutim, DDR ne smanjuje latencu. Opšte gledano, PC1600 implementacije imaju veću latencu od PC133. Uprkos ovome, PC1600 pruža prednost u performansama za većinu sistema i aplikacija.

Kao i SDRAM, implementacije PC sistema memorija DDR-a imaju 64-bitne patove (ili 72 bita za mogućnost ispravljanja greške). Propusnost za DDR je 1600MB/sec za PC1600 i 2133MB/sec za PC2100. Kapacitet komponenata pri proizvodnji DDR-a počeo je sa 128Mb, i biće doveden do najmanje 1Gb. Jedan od ciljeva DDR-a bio je nesmetana tehnološka tranzicija. Večina memorijskih habova je dizajnirana tako da radi sa ili SDRAM ili DDR SDRAM modulima. Međutim, praktičnost prostora i faktor cene, posmatrani kao delovi različitih modulskih konektora, sprečili su bili kakvu praktičnu aolikaciju (sistem-nivoa) ovakve mogućnosti. DDR ima minimalni rastući sistem, i prihvatljive troškove iznad standarda SDRAM-a, ali će ovi troškovi biti sve manji sa nastankom poboljšanja u poluprovodničkim procesima. DDR će se sve više javljati kod notebook-ova, na desktopovima, i serverskim platformama, tokom narednih godina.

- 29 -

2.3.5. Rambus

Rambus arhitektura se u mnogo čemu razlikuje od interfejsa prethodnih sistemskih memorija. I komande, i podaci se prebacuju putem magistrale od memorijskog haba do modula. Postoje dve komandne magistrale – RAS magistrala i CAS magistrala, kao i jedna magistrala podataka.

Osam prenosa duž obe putanje 400MHz-nog takta se koriste u svim paketima. Odvojene komandne, i magistrale podataka, zajedno sa identičniom dužinom paketa, dozvoljavaju memorijskom habu da poboljša prenos, ostvari veću korisnost magistrale. Rezultat ovoga je veća propusnost.

Rambus staza podataka ima 16bita (18 bita za ispravljanje greške), pre nego 64. Sa SDRAM ili DDR 4-,8-,16- bitni uređaji se koriste kako bi napravili 64 bitni interfejs. Nasuprot ovome, sa RDRAM-om, samo jedna komponenta može da obezbedi funkciju interfejsa čija je memorija puna. Ovo omogućava RDRAM-u da se implementira do kapaciteta koji više odgovara potrebama određenog sistema. Međutim, svaka memorijska komponenta bora biti u stanju da pruži punu širinu opsega, koja je sistemu neophodna. Ovaj zahtev, zajedno sa drugim unutrašnjim arhitektonskim specifikacijama, rezultirao je popvećanjem cene RDRAM komponenata.

Rambus pat podataka pruža 16 bita po prenosu, u 800 miliona prenosa po sekundi. Ovo rezultira širinom opsega koja iznosi 1600MB/sec. Latenca Rambusa je malo veće od kašnjenja SDRAM-a, usled činjenice da informacije moraju da rolaze sa paketa i da se kreću ka paketima. Kao što je slučaj sa DDR200, mane povećanog kašnjenja se uglavnom zanemaruju kada se u obzir uzme propusnost. Rambus komponente su pratile poluprovodničku tehnologiju u smislu kapaciteta, međutim maksimalna moguća memorija na Rambus interfejsu je ograničena na 32 komponente. (Sa registrovanim DDR ili SDRAM, ograničenje je 64 komponente, a kod SDRAM-a bez bafera 48). Stoga, maksimalna moguća memorija na Rambus-u iznosi 256MB sa 64Mb čipova, 512MB sa 128Mb čipova, i 1024 gigabajta(GB) sa 256Mb čipova.

U radnim stanicama, Rambus ima izražene prednosti u pogledu performansi u odnosu na SDRAM ili DDR implementacije, i to zbog veće širine opsega i mogućnosti memorijskog haba da tu širinu opsega i iskoristi. Ova tehnologija će biti najtraženija na tržištu sve dok neke druge implementacije ne ispune očekivane performanse. Predstojeće tranzicije memorijskog interfejsa Predstoje tranzicije u DDR i Rambus memorijskim tehnologijama, kao i stvaranje novih tehnologija, Naprednije DRAM tehnologije ()ADT. Rambus ima planove da razvije novi visoko-brzinski memorijski interfejs pod nazivom Yellowstone. Od ovog interfejsa, sledeće generacije se očekuje da ima 3.2Gb/sec po diferencijalnom signalnom paru između DRAM komponenti i memorijskog interfejsa. Diferencijalni signal od 200 milivolti je planiran da podržava ovakvu brzinu. Od Yellowstona se očekuje da ima sasvim prihvatljivu cenu na PC tržištu.

- 30 -

2.3.6. DDR

Sledeći ključni prelaz u PC memorijskom interfejsu biće povećanje u DDR brzini takta sa 133MHz na 166MHz sa odgovarajućom brzinom prenosa podataka od 333 megatransfera/sec. (Ova DDR memorijska tehnologija se naziva PC2700). Ovo obezbeđuje 2.7 GB/sec širine opsega, i smanjenje kašnjenja pri pristupu procesoru koje je proporcionalno povećanju brzine takta. Iako će komponente sistemske memorije početi da se pojavljuju 2002, očekuje se porast cena. Pored ovoga, inkorporiranje ovih tehnologija u pouzdane, PC platforme sa odgovarajućim cenama, predstavlja veliki izazov. Ekspanzija PC2700 se ne očekuje pre 2003.

Sledeća DDR tranzicija, DDR II će početi sa frekvencijom takta od 200 MHz i sa brzinom prenosa podataka od 400 megatransfera po sekundi za širinu opsega od 3.2GB/sec. Uticaj povećanja frekvencije na mreži i drugih promena interfejsa idalje nije sasvim jasan. Signalni nivoi DDR II će se smanjiti, i vreme potrebno za prenos podataka će biti izračunato na osnovu diferencijalnih impulsa. Oba ova smanjenja će značiti efektivnije implementacije u PC platformama u pogledu cena. Iako se prototipske DDR II komponente već proizvode, masovna proizvodnja se ne očekuje pre 2004. Početna veličina DDR II komponenti će biti 512Mb, ali će komponente od 256Mb možda biti potrebne za sisteme dvostrukog memorijskog interfejsa sa malim kapacitetom.

2.3.7. ADT

ADT je tehnologija memorijskog interfejsa koja se tek pojavljuje, i čija se proizvodnja očekuje tek nakon DDR II. Detalji o ovom interfejsu idalje nisu javno saopšteni, međutim, svi proizvođači DRAM komponenti su uključeni u definisanje kako DDR tako i ADT interfejsa. Očekuje se da ADT prvenstveno služi desktop aplikacijama. Postoji velika mogućnost da će se prihvatiti samo jedan od ovih standarda u PC industriji, i da će on uključiti karakteristike obe tehnologije.

2.3.8. Višestruki memorijski interfejs Iako je tehnologija odžala korak sa rastućim zahtevima za kapacitetom,

propusnost sistemske memorije ne može da održi korak sa zahtevima ostatka sistema. Odnos između širine opsega i kapaciteta, za određenu implementaciju memorijskog modula, opada tokom vremena. Dvostruki interfejs pomaže da se reše problemi oko performansi. Višestruki memorijski interfejs nije nešto novo, pa se njegova primena u meinstrimu PC računara očekuje veoma brzo.

2.4. Predstojeće promene

Poboljšanja u performansima memorijskog interfejsa zahtevaju napredak i u poluprovodničkoj tehnologiji, kao i u tehnikama koje se koriste da održe integritet signala i vreme interfejsa. Postoje i izazovi u stvaranju većeg kapaciteta i povećanja brzine na osnovu Murovog zakona. Veoma je teško da se komponente smanje a da u isto vreme

- 31 -

budu brže. Troškovi, smanjenje veličine i održanje pouzdanosti interfejsa sistemske memorije predstavljaju veliki problem usled rasta performansi. Svaki dalji rad mora sve ove faktore uzeti u obzir.

3. FLEŠ MEMORIJE

Fleš memorija ima danas dominantni udeo na polju tržišta memorija koja ne gube sadržaj nakon isključenja napajanja (NVM). Ovaj tip memorije predstavlja poboljšana verzija EPROM-a u tom pogledu što se može programirati i brisati električnim putem bez izlaganja UV svetlosti, što je slučaj sa EPROM memorijom. Fleš je približno iste cene kao i EPROM, a koristi se kod velikog broja aplikacija, počev od mobilnih telefona, automobila, PC mašina, poluprovodničkih disk jedinica, itd. Na nivou bita, fleš struktura je slična EPROM-u. Dve ključne razlike su ekstremno tanak dielektrik koji postoji između plivajućeg gejta i silicijumskog substrata, i mogućnosti da se dovedu promenljivi polarizujući naponi na sors i upravljački gejt tranzitora. Fleš bit se programira na isti način kao i EPROM bit, dovođenjem višeg napona na upravljački gejt. Fleš memorija, unutar čipa, ima ugrađene interne naponske generatore, tako da za potrebe programiranja nije potrebno dovoditi spoljne napone. Realna razlika između fleša i EPROM-a postoji kada neki bit treba obrisati. Kod fleša se koristi efekat nazvan Fowler-Nordheim tuneliranja pri čemu se negativni napon dovodi na upravljački gejt, a pozitivan na MOSFET sors.

Kombinacija polarizujućih napona sa tankim dielektrikom uzrokuje da se naelektriše gejt. Kod današnjih fleševa broj brisanja je ograničen, i specifira se na 1000000. Jedan milion brisanja može izgledati mnogo, ali ne zaboravimo da savremeni procesori danas rade sa frekvencijama koje su reda GHz-a. Pa se zbog toga često nameće i potreba za maksimiziranjem životnog veka ovih memorija. Zbog ovoga proizvodi koji imaju ugrađene fleš memorije, u opštem slučaju, koriste neke upravljačke algoritme koji obezbeđuju da se broj brisanja ne premaši u toku životnog veka uređaja, u koji se ona ugrađuje. Složenost ovog algoritma može biti različita, počev od toga da se ugrađeni softver aktivira samo nekoliko puta u godini, pa sve do toga da se vodi evidencija o tome koliko je puta neki deo fleša obrisan, i shodno tome dinamički donosi odluka u kom delu memorije treba zapamtiti podatke.

U zavisnosti od toga od kojih je kola realizovana svaka memorijska ćelija, fleš čipovi se svrstavaju u dve osnovne kategorije NOR i NAND. NOR fleševi su arhitekture sa proizvoljnim pristupom koji u toku čitanja podataka funkcionišu kao EPROM-i. NOR memorijskim oblastima mikroprocesor pristupa direktno, pa su zbog toga one pogodne za čuvanje koda pokretačkog programa (boot code), kao i drugih drugih programa. NAND fleš je arhitektura sa sekvencijalnim pristupom koja segmentira memoriju na veći broj stranica, obično obima 256 ili 512 bajtova. Svakoj stranici se pristupa kao diskretnoj jedinici. Zbog ovoga, NAND fleševi ne obezbeđuju proizvoljan interfejs kakav je slučaj sa NOR flešom. I pored veće složenosti interfejsa, i sporijeg vremena odziva, NAND fleševi se karakterišu većom gustinom u odnosui na NOR fleševe, što ih čini idealnim za čuvanje velike količine podataka. Za slučaj da se programi čuvaju u NAND flešu, pre izvršenja oni se moraju napuniti u RAM prostor, iz razloga što NAND stranično

- 32 -

organizovana arhitektura nije pogodna za proizvoljno čitanje/upis od strane mikroprocesora. NAND fleševi se standardno koriste u potrošačkoj elektronici kao memorijske kartice, kakav je slučaj sa digitalnim fotoaparatima. NAND fleševi, kao komponente su takođe dostupne kao diskretne komponente za stalno memorisanje velike količine podataka kod digitalnih sistema.

Bit OutputSource

Silicon Substrate

Drain

Floating Gate

Dielectric

Control Gate

+Verase

-Verase

Slika 3.1.

Kao što smo pomenuli, NOR fleševi su pogodni za primenu kod

mikroprocesorskih sistema, zbog sposobnosti za njihovo direktno povezivenja u sistem. Pri tome, kada rade u režimu Read-only, ove memorije funkcionišu na sličan način kao EPROM-ovi, koje karakteriše jednostavno oblikovani interfejs. Naglasimo da je kod velikog broja savremenih fleš memorija implementiran i visoko performansni burst – prenos režim rada koji kod nekih specijalnih aplikacija povećava propusnost. Ipak, najveći broj fleš čipova se koristi kod procesora opšte namene, za čuvanje inicijalnih, pokretačkih funkcija, pri čemu visoka memorijska propusnost nije od primarne važnosti. Kod ovakvih aplikacija, ugradnja jeftinog interfejsa kakav je slučaj sa memorijama iz serije 27xxx u potpunosti je adekvatna.

Sa druge strane, operacija upisivanja u fleš memoriji ne svodi se samo na dovođenje novih podataka na čip, i zatim na aktiviranje signala write-enable, kakav je to slučaj kod RAM-ova. Proces brisanja sadržaja traje duže u odnosu na čitanje. Naime, u toku operacije brisanja, za programiranje, svaki fleš bit mora da se komutira na specijalne naponske nivoe. Zbog ovoga, umesto da se izvode komutatori za svaki individualni bit, kompleksnost implementacije na silicijumu se redukuje grupisanjem većeg broja bitova u jedinstveni blok. To je razlog zbog čega se fleš memorija ne briše istovremeno na principu 'bit po bit' ili 'bajt po bajt', nego se briše ceo blok. Fleš memorije se segmentiraju u veći broj blokova. Predmet ovakve arhitekture je to što se ne briše odjednom ceo memorijski čip, nego samo onaj blok koji treba. Pri ovome, na nivou sistemskog softvera, zbog ograničenog broja dozvoljenih operacija brisanja, radi ravnomerne distribucije, u pristupima se vodi računa o tome u kom bloku se odgovarajući podaci nalaze. Sam proces brisanja bloka, u odnosu na takt mikroprocesora, traje dosta drugo. Imajući u vidu da se procedurom za brisanje poništava sadržaj jednog celog memorijskog bloka, neophodno je da se u memorijski čip ugrade specijalni algoritmi radi zaštite ostalih blokova od nenamernog/slučajnog brisanja. Obično se to izvodi tako što se pre aktuelnog procesa brisanja inicira specijalna sekvenca pristupa flešu.

Fleš čipovi nisu standardizovani kao EPROM-ovi. Razlog za ovo je sledeći: različiti proizvođači preporučuju svoje sopstvene algoritme za programiranje, potenciraju prednosti svoje arhitekture, kao i raspored pinova. Veliki broj konvencionalnih fleš memorijskih čipova sa paralelnim prisupom podataka, isporučuju se sa fabričkim prefiks

- 33 -

oznakama '28F' ili '29F'. Tako, na primer, fleš memorije firme Advanced Micro Devices pripadaju familiji '29Fxxx', a one od Intel-a familiji '28Fxxx'. Razlike u načinu programiranja veličine i organizacije blokova koje postoje između fleševa različitih proizvođača, čine da neki čipovi budu pogodniji za specifične aplikacije od drugih. Pri ovome, dva važna atributa fleš čipova predstavljaju uniformnost obima bloka i hardvera za zaštitu blokova.

Kod čipova koji imaju uniformne blokove, memorijsko polje se deli na blokove jednakog obima. Boot-blok memorije dele prvo deo memorije na jedan ili veći broj malih boot-blokova, a zatim ostatak memorije na blokove jednakog obima. Boot-blok memorije su veoma popularne iz prostog razloga što se mali boot blokovi mogu koristiti za čuvanje softvera koji se veoma retko menja, kakav je slučaj sa softverom za inicijalizaciju mikroprocesorskog sistema, u trenutku uključenja sistema na napajanje. Boot program, u odnosu na ceo sistemski softver je mali deo koda, ali zbog kritične funkcije, koju on obavlja, kao i smanjenja verovatnoće greške koja se može javiti u toku čitanja, veoma je jednostavan. Zbog ovoga, boot kod se u najvećem broju slučajeva, sam ažurira. Nasuprot tome, drugi ROM fleš sadržaji, kakvi su aplikacioni programi ili programski podaci, mogu da se ažuriraju mnogo češće. Koristeći boot blok memoriju, boot kod mikroprocesora može da se memoriše u poseban čip, i isporučuje kao takav. Hardverska zaštita blokova je veoma važna, kada se neki blokovi koriste za čuvanje poverljive informacije, a čiji gubitak može da uzrokuje fatalnu štetu sistema. Tipičan primer je boot kod koji se čuva u boot bloku. Ako ovaj kod nije korektan, CPU nakon reseta neće korektno inicijalizovati sistem. Fleš memorije mogu da implementiraju šemu zaštite na niskom nivou (hardverski) na taj način što se operacije write/erase određenih blokova mogu zabraniti dovođenjem specijalnih napona ili oblika podataka.

Osvrnućemo se u daljem testu na realne fleš memorijske komponente sa ciljem da objasnimo, na koji način ova važna klasa stalnih memorija funkcioniše. Kompanija AMD proizvodi dve slične fleš memorije: 29LV010B i 29LV001B. Obe memorije se napajaju sa 3.3V, kapaciteta su 1MB, organizovane kao 8*128kB sa izvedenom hardverskom zaštitom. Čip 29LV010B je uniformno sektorisan, a 29LV001B je boot sektorisan. AMD koristi termin sektor umesto blok. Oba čipa, kako je prikazano na slici 3.2. imaju iste osnovne funkcionalne blokove.

Slika 3.2.

Savremeni fleš memorijski čipovi napajaju se jednim naponom. Ove memorije u

sebi imaju ugrađena kola za generisanje napona za programiranje i brisanje memorijskog

- 34 -

polja. Na osnovu zahteva koji izdaje mikroprocesor, a u skladu sa definisanim algoritmom za upravljanje radom fleša, kontrolna logika fleš memorije određuje koji se deo fleš memorije briše, koji programra, ili čita. Algoritam firme AMD koji se odnosi na transakcije tipa upis u fleš, sastoji se od sledećih šest koraka: dva ciklusa otključavanja, jedan za komandu, još dva za otključavanje, i jedna specifična komanda za brisanje. Pomenuta sekvenca prikazana je u tabeli 3.1. U slučaju da se sekvenca prekine, kako bi se očuvao integritet komande, ista se mora restartovati.

Tabela 3.1.

Cycle Write Address Write Data 1 0 x 555 0 x AA 2 0 x 2AA 0 x 55 3 0 x 555 0 x 80 4 0 x 555 0 x AA 5 0 x 2AA 0 x 55 6 Erase address Erase command

Da bi se obrisao ceo čip, vrednosti adresa/podaci u ciklusu 6 treba da je

0x555/0x10. Da bi obrisali jedan sektor vrednost adresa u ciklusu 6 treba da je sektor adresa 0x30. Veći broj komandi brisanja se može smestiti u red čekanja sa ciljem da se redukuje ukupno vreme koje se troši od strane interne kontrolne logike za brisanje svojih sektora. U trenutku kada se izvršava komanda, magistrala podataka se konvertuje u statusno komunikacioni mehanizam. Mikropropcesor zbog toga periodično ispituje memoriju čitanjem podataka sa bilo koje važeće adrese. U toku procesa brisanja dobija se povratna vrednost koja je različita od 0xFF. Nakon što je brisanje završeno, mikroprocesor će pročitati vrednost 0xFF.

Upis u prethodno obrisane memorijske lokacije se ostvaruje sličnom tehnikom. Za svaku lokaciju koju programiramo, obavlja se programsko komandna sekvenca koju čine 4 koraka (vidi sliku 3). Ponovo, mikroprocesor testira da li je komanda izvršena. U toku ove aktivnosti adresa upita mora biti ista kao i adresa upisa. Kada mikroprocesor konačno pročita podatak koji je on upisao, to znači da je komanda izvršena.

Tabela 3.2.

Cycle Write Address Write Data 1 0 x 555 0 x AA 2 0 x 2AA 0 x 55 3 0 x 555 0 x A0 4 Write address Write command

I druge komande, kao što su reset uređaja i identifikacija operacija, su takođe podržane. Kod čipa 29LV001B pored softverske reset komande postoji i hardverski reset signal. Identifikacija obezbeđuje da mikroprocesor tačno proveri koja je fleš memorija povezana i koji su sektori hardverski zaštićeni. Identifikacija je korisna kod prenosivih

- 35 -

fleš modula koji se mogu ugrađivati u različite mašine za različite potrebe. Status zaštite je koristan iz razloga što softver koji se izvršava na mikroprocesoru zna da li je moguće programiranje određene memorijske oblasti.

Hardverska memorijska zaštita se vrši u toku izrade sistema, dovođenjem preko posebnog uređaja, na određenim pinovima memorijskog čipa na veće napone od minimalnih. Namenski pinovi za ovu potrebu kod 29LV010B/29LV001B su adresni bit 9, A9, i dozvola rada izlaza OE*. Ovi pinovi se pune na 12V dok se adresa sektora koji treba da se zaštititi dovodi na ostale adresne pinove. U toku normalnog rada, ne postoji način da se na ovim pinovima dovede napon od 12V, čime se ostvaruje zaštita sektora. Izuzetak od ovog pravila je izveden kod čipa 29LV001B, koga AMD naziva temporary sector unprotect. Prethodno zaštićeni sektori se mogu učiniti privremeno nezaštićenim dovođenjem 12V na pin reset preko posebnog kola. Zahvaljujući ovoj osobini je moguće modifikovati najosetljivije oblasti fleša lociranjem hardverski nezaštićenog signala u logičkom kolu, izdvojeno od samog fleš čipa. Glavna razlika između 29LV010B i 29LV001B ogleda se u organizaciji sektora. Kod 29LV10B postoji 8 uniformnih sektora, svaki obima 1kb. Čip 29LV001B ima 10 sektora neuniformisanog obima. AMD izrađuje dve varijante čipa 29LV010B, nazvanih top i bottom boot sektor arhitekture (vidi sliku 4).

Tabela 3.3.

Cycle Write Address Write Data 0 16kB 8kB 1 16kB 4kB 2 16kB 4kB 3 16kB 16kB 4 16kB 16kB 5 16kB 16kB 6 16kB 16kB 7 4kB 16kB 8 4kB 16kB 9 8kB 16kB

Razlog za ovakve mikrored arhitekture je taj što neki mikroprocesori imaju reset

vektorske adrese na vrhu adresnog prostora, a drugi na dnu. Zbog toga je boot sektor najbolje locirati shodno tipu procesora.

U suštini, fleš memorije su složena kola. Postoji mnogo detalja koji se tiču ovog čipa o kojima nismo govorili. Više informacija o ovoj problematici se može naći u kataloškim podacima firme koja proizvodi ove memorije, kao što su recimo AMD, Intel, Renesans i druge.

- 36 -

4. EEPROM

Electrically erasable programmable ROM (elektro-izbrisiv programabilni ROM) ili EEPROM je prethodnik flash memorije. U stvari, neki ljudi i dalje flash memoriju zovu, zbog vrlo slične osnovne strukture, “flash EEPROM”. EEPROM, ponekad pisan i kao E2PROM, je po bitu skuplja memorija za pravljenje od EPROM-a ili flash-a, zato što individualni bitovi mogu da se brišu nasumično bez uticaja na susedne lokacije. Zbog složenosti i cene izbrisivih bitova, obično se ne pravi EEPROM velike gustine. Umesto toga, služio je kao pogodno mesto za primene koje zahtevaju male količine fleksibinog reprogrambilnog ROM-a. Uobičajena upotreba EEPROM-a je kao programska memorija u malim mikroprocesorima sa ugrađenom memorijom i kao mali memorijski nizovi za stalno čuvanje podataka o konfiguracionim informacijama sistema. Serijski EEPROM uređaji mogu da se nađu u DIP ili SOIC paketima i veličine su do nekoliko kilobajta memorije. Njihov serijski interfejs, mala veličina i niska potrošnja energije su ih načinile vrlo pogodnim kao sredstvo za čuvanje serijskih brojeva, informacija o proizvodnji i podacima za konfigurisanje.

Paralelni EEPROM uređaji su i dalje dostupni kod proizvođača kao 28xx familija. Pinski i funkcionalno su kompatibilni (za čitanje) sa 27xx EEPROM familijom, čiji su naslednici. Nekim primenama, koje traže stalnu memoriju koja može da se reprogramira, više odgovara EEPROM nego flash, ali je flash nametnut, zato što je to šire prihvaćena tehnologija sa dobrom osobinom smanjenja cene.

Serijski EEPROM-i, međutim, su vrlo popularni zbog veoma male veličine i niske potrošnje struje. Mogu da se uguraju u skoro bilo koji ugao sistema da daju male količine cene skladištenja informacija. Microchip technology je jedan od najvećih proizvođača serijskih EEPROM-a i nudi 24xx familiju. Gustina se kreće od 16 bajta do nekoliko kilobajta. S obzirom da serijski interfejs koristi vrlo malo pinova, ovi EEPROM-i se proizvode u paketima opsega od osmopinskih DIP-ova to petopinskih SOT-23-ova, manjih od nokta. Uređaji ove vrste su dizajnirani da povećaju jačinu sistema pre nego brzinu. Njihova potrošnja energije se meri u nanoamperima i mikroamperima umesto u miliamperima, što je slučaj sa standardnim flash-om, paralelnim EEPROM-om i EEPROM uređajima.

Microchip-ov 24LC00 je 16-bajtni serijski EEPROM sa dvožičanom serijskom magistralom. Zahteva samo četiri pina: dva za napajanje i dva za prenos podataka. Kao većina modernih flash uređaja, 24LC00 memorija je sigurna za milion ciklusa pisanja. Kada se ne koristi, 24LC00 koristi oko 250nA! Kada je aktivna, konzumira samo 500µA. Da bi se dodala fleksibilnost, 24LC00 može da radi na više načina snabdevanja voltažom od 2.5 do 6.0 V. Brzina ovde nije briga: pisanje se izvšava do 4ms, što nije problem kada se piše samo nekoliko bajtova u retkim prilikama.

- 37 -

5. ASINHRONI SRAM

Statički RAM ili SRAM je najosnovnija stalna memorija, vrlo laka za korišćenje i nalazi se u skoro svakom kompjuteru u jednoj ili drugoj formi. SRAM uređaj je lako konceptualno razumeti, sastoji se od niza lečeva zajedno sa kontrolama i logikom za dekodiranje da se pronađe adresa za čitanje ili pisanje. Svaki leč je kolo sa povratnom spregom koje hvata i održava određeno logičko stanje. Tipična implementacija SRAM bita je prikazana na slici 5.1.

BitBit

Slika 5.1.

SRAM leč je stvoren spajanjem dva invertera u petlju. Jedna strana petlje ostaje stabilna u željenom logičkom stanju, a druga ostaje stabilna u suprotnom stanju. Inverteri se češće koriste on neinvertujućih bafera, zato što je inverter najlakši logički element za konstruisanje. Dvosmerni tranzistori sa bilo koje strane leča omogućavaju i čitanje i pisanje. Kada se piše, tranzistor se uključi i tera pola petlje u stanje koje je na vertikalnoj bit liniji. Kada se čita, tranzistor se isto uključuje, ali se bit linije ne postavljaju, već ispituju. Tipična implementacija SRAM-a zahteva šest tranzistora po bitu memorije: dva tranzistora za svaki inverter i dva tranzistora za prolaz. Neke implementacije koriste samo jedan tranzistor po inverteru, zahtevajući samo četiri tranzistora po bitu.

Uređaji diskretnog asinhronog SRAM-a postoje već decenijama. U 1980-im je 6264 i 62256 pravilo više proizvođača i primenjivalo se u implementacijama koje su zahtevale jednostavnu RAM arhitekturu sa relativno brzim vremenima pristupa i malim koriščenjem snage. 62xx familija je numerisana prema gustini u kilobitima. Dakle, 6264 daje 65,536 bita po RAM-u poređanih kao 8k × 8. 62256 daje 262,144 bita RAM-a poređanih kao 32k × 8. Stvarani u CMOS tehnologiji, ne koriste takt, ovi uređaji troše vrlo malo snage i koriste samo mikroampere kada im se ne pristupa.

Raspored pinova 62xxx familije je bukvalno identičan onom kod 27xxx EPROM familije, što omogućava dizajnerima sistema da EPROM zamene SRAM-om na istoj lokaciji sa podešavanje samo par džampera, za jedinstvene signale kao što su dozvola programiranja kod EPROM-a ili dozvola pisanja kod SRAM-a. Kao EPROM ili osnovni flash uređaj, asinhroni SRAM imaju jednostavan interfejs koji se sastoji od adrese, podataka, chip- selekta, dozvole izlaza, i dozvole pisanja. Ovaj interfejs je prikazan na slici 5.2.

Pisanje se izvršava svaki put kada je WE* signal nizak. Zato je potrebno da se osigura da su željena adresa i podatak stabilni pre postavljanja WE* i da je WE* otklonjen dok su adresa i podatak stabilni. Inače, pisanje može da ošteti neželjenu

- 38 -

memorijsku lokaciju. Za razliku od EPROM-a, ali slično flash-u, magistrala podataka je bidirekciona tokom normalnih operacija. Prve dve prikazane transakcije su pisanje, što je dokazano odvojenim postavljanjem WE* dok su adresa i podatak stabilni. Čim je pisanje završeno, mikroprocesor bi trebalo da postavi magistralu podataka u stanje visoke impedanse. Kada je OE* postavljen, SRAM počinje da koristi magistralu podataka i izlaz reflektuje sadržaj podataka na lokaciji sa adresne magistrale.

Asinhroni SRAM je dostupan sa vremenom pristupa manjim od 100 ns za jeftine delove pa do 10 ns za skuplje uređaje. Vreme pristupa se meri maksimalnim latencom između stabilnog čitanja adrese i odgovarajućih podataka i minimalnim trajanjem ciklusa pisanja. Koriste se u slučajevima upotrebe za male sisteme gde nisu potrebni megabajti memorije a ključne karakteristike su smanjena kompleksnost i korišćenje energije. Promenljiva memorija ne može da bude jednostavnija od asinhronog SRAM-a.

Pre sveopšteg širenja flash-a, mnogi kompjuterski dizajni u 1980-im su koristili asinhroni SRAM sa dodatkom baterije kao sredstvo implementiranja stalne memorije za čuvanje konfiguracionih informacija sistema. Zbog toga što SRAM koji trenutno nije upotrebi troši samo mikroampere struje, mala baterija može da održava sadržaj SRAM-a nekoliko godina, dok je glavno napajanje isključeno. Korišćenje SRAM-a na ovaj način ima dve značajne prednosti nad ostalim tehnologijama: pisanje je brzo i lako, zato što nema kompleksnih algoritama programiranja EEPROM-a ili flash-a i ne postoji granica u broju ciklusa pisanja izvršenih u životnom veku proizvoda. Nedostaci ovog pristupa su manjak sigurnosti u čuvanju vrednih konfiguracionih informacija i potreba za baterijom da bi se očuvao sadržaj memorije. Potreba za baterijom povećava kompleksnost sistema i takođe stvara pitanje o tome šta se dešava kada se baterija isprazni. U 1980-im je bilo uobičajeno da je konfiguracija BIOS-a PC-a smeštena u CMOS SRAM sa baterijom. Ovako je «CMOS» ili «CMOS setup» ušao u leksikon PC administracije.

Slika 5.2.

SRAM se ne implementira samo kao niz diskretnih memorijskih čipova, već je često integrisan u druge tipove čipova, uključujući mikroprocesore. Manji mikroprocesori ili mikrokontroleri (mikroprocesori integrisani sa memorijom i periferalima na jednom čipu), često sadrže malu količinu SRAM-a na ploči. Kompleksniji mikroprocesori mogu da koriste keš implementiran pomoću SRAM-a.

- 39 -

6. ASINHRONI DRAM

SRAM je možda kratkotrajna memorija koja je najlakša za korišćenje, ali nije najjeftinija u velikim gustinama. Svaki bit memorije zahteva od četiri do šest tranzistora. Kada su potrebni milioni ili milijarde bitova, kompleksnost svih tih tranzistora postaje značajna. Dinamički RAM ili DRAM, koristi prednosti jednostavne, ali krhe komponente: kondenzatora. Kondenzator čuva električni naboj ograničeno vreme dok naelektrisanje postepeno curi. Kao što je viđeno kod EPROM-a ili flash uređaja, kondenzator može da se napravi da čuva naelektrisanje skoro neograničeno, ali plaćanje cene za to je značajna kompleksnost u prepravci elementa za čuvanje. Kratkotrajna memorija mora da bude i brza za pristup i da ne bude ograničena brojem ciklusa pisanja – što su ograničenja tehnologije memorija za stalno čuvanje podataka. Kada se kondenzator konstruiše za brzu i laku manipulaciju, pojavljuje se nedostatak brzog pražnjenja. Veoma efikasan element za kratkotrajno čuvanje podataka može da se stvori pomoću kondenzatora i jednog tranzistora kao što je prikazano na slici 6.1. ali kondenzator gubi svoj sadržaj ubrzo posle punjenja. Ovo je mesto gde termin dinamički dolazi u DRAM – memorijska ćelija je stvarno dinamička u stabilnim uslovima. Rešenje problema gubitka podataka je periodično osvežavanje, ili update, svakog bita DRAM-a pre nego što potpuno izgubi svoj naboj.

Slika 6.1.

Kao kod SRAM-a, tranzistor na prolazu dozvoljava i čitanje i upis stanja elementa

za čuvanje podataka. Ipak, jedan kondenzator zauzima mesto leča sa više tranzistora. Značajna redukcija u kompleksnosti bita dozvoljava mnogo veće gustine i manju cenu po bitu kada se memorija implementira DRAM-om, pre nego SRAM-om. Ovo je zašto je glavna memorija računara implementirana korišćenjem DRAM-a. Nedostatak jeftinijeg DRAM-a je povećanje stepena kompleksnosti u kontrolnoj logici memorije. Prvi zahtev korišćenja DRAM-a je periodično osvežavanje da bi se očuvao sadržaj memorije.

DRAM se implementira kao niz bitova sa redovima i kolonama kao što je prikazano na slici 6.2. Za razliku od SRAM-a, EPROM-a i flah-a, funkcionalnost DRAM-a sa spoljne tačke gledišta je veoma blisko vezana za organizaciju u redove i kolone.

SRAM-u se pristupa davanjem cele adrese simultano. DRAM adresa se predstavlja u dva dela: adresa reda i adresa kolone. Adrese reda i kolone se multipleksiraju na isti set adresnih pinova da bi se smanjila veličina pakovanja i cena. Prvo se učitava adresa reda, ili pulsira (strobe), u leč adrese reda pomoću pulsa adrese reda, ili RAS*-a, praćen adresom kolone pomoću pulsom adrese kolone, ili CAS*. Pročitani podaci se propagiraju na izlaz nakon određenog vremena. Podatak za pisanje se daje u isto vreme kao i adresa kolone, zbog toga što puls kolone u stvari pokreće transakciju, bila ona čitanje ili pisanje. Faza adrese kolone je ona kada WE* ili OE* signali imaju efekat.

- 40 -

Slika 6.2.

Pojačavači osetljivosti na čipu su neophodni da bi se detektovala vrlo mala

naelektrisanja koja se čuvaju u kondenzatorima DRAM-a. Ovi pojačivači se takođe koriste kao pomoć u operaciji osvežavanja. Memorijski kontroler je odgovoran da održava tajmer osvežavanja i pokrene operaciju osvežavanja dovoljno često da bi se garantovao integritet podataka. Ne osvežava se svaki bit pojedinačno, već se čitav red osvežava u jednom trenutku. Interni brojač osvežavanja se povećava svaki put posle osvežavanja, tako da svaki red, pa samim tim i svaki bit, bude obnovljen. Kada osvežavanje počne, brojač osvežavanja uključi jedan memorijski red. Sadržaj tog reda se čita pomoću pojačavača osetljivosti i onda se vraća u niz bitova da se napune svi kondenzatori u tom redu. Moderni DRAM-ovi uglavnom zahtevaju osvežavanje svakih 64 ms. 64-Mb DRAM organizovan kao 8,388,608 reči × 8 bitova (8 MB) sa internom veličinom niza od 4,096 × 2,048 bitova bi zahtevao refresh ciklus svakih 64 ms. Refresh ciklus ne mora da bude jednako raspoređen u vremenu ali je često uniformno raspoređen zbog jednostavnosti.

Kompleksnost osvežavanja se ipak dovoljno isplati, zbog značajnog poboljšanja u ceni i gustini nad SRAM-om. Nedostatak DRAM-a je da se samo delimično može kompenzovati njegovo sporije vreme pristupa. Kombinacija šeme multipleksiranih adresa redova i kolona uz velike memorijske nizove sa kompleksnim senzorima i logikom za dekodiranje čine DRAM značajno sporijim od SRAM-a. Najpopularniji računarski sistemi rešavaju problem brzine implementiranjem mehanizama keširanja na osnovu SRAM-a, gde se mali delovi memorije prvo smeštaju u SRAM tako da mikroprocesor ne mora dugo da čeka na nove podatke kada su mu potrebni.

Asinhroni DRAM je bila najjača DRAM tehnologija do poznih 1990-it, kada se sinhroni DRAM ili SDRAM, pojavio kao dominantno rešenje glavne memorije. U svom jezgru, SDRAM radi veoma slično kao DRAM ali sa sinhronim interfejsom magistrale koji omogućava brže memorijske transakcije. Korisno je istražiti kako stariji asinhroni DRAM radi da bi se razumeo SDRAM. SDRAM će biti obrađen kasnije u ovoj knjizi. RAS* i CAS* su dva glavna DRAM kontrolna signala. Oni govore DRAM čipu kojoj se adresi trenutno pristupa, oni takođe inicijalizuju ciklus osvežavanja i ubrzavaju sekvencijalne transakcije da bi se poboljšale performanse. Osnovni rad čitanja DRAM-a je prikazan na slici 6.3. Pretpostavlja se da su CE* i OE* aktivni (nisko) tokom transakcije.

Transkacija počinje postavljanjem RAS*-a da bi se učitala adresa reda. Pulsevi se primećuju na opadajuću ivicu signala, što znači da se adresa učitava na opadajuću ivicu pulsa, nešto malo nakon čega adresa može da se promeni. Asinhroni DRAM je poznat po

- 41 -

svojim brojnim detaljnim zahtevima za tajming. Svaki tajmig signala je identifikovan do detalja u odnosu na samog sebe i druge signale i ti parametri moraju da se poštuju radi pouzdanih operacija. RAS* se drži nisko za vreme trajanja transakcije. Postavljanje CAS* signala učitava adresu kolone u DRAM, ali isto i postavlja status transakcije na pisanje ili čitanje. Nešto kasnije, podaci za čitanje su dostupni na magistrali podataka. Posle dovoljno dugog perida čekanja da DRAM vrati podatke za čitanje, memorijski kontroler skida RAS* i CAS* signale da prekine transakciju.

Slika 6.3.

Osnova transakcije pisanja je slična jednom čitanju kao što je prikazano na slici 6.4.(gornja). Ponovo, pretpostavljeno je da je CE* aktivan, i, pošto je pisanje u pitanju, OE* je neaktivan tokom transakcije.

Kao čitanje, transakcija pisanja počinje učitavanjem adrese reda. Odavde je očigledno da ne postoji veza između učitavanja adrese reda i izvršavanja čitanja ili pisanja. Identitet transakcije je povezan sa opadajućom ivicom CAS* signala, kada je WE* postavljen u otprilike isto vreme kada se postavljaju adresa kolone i podaci za pisanje. DRAM čip zahteva određena podešavanja i vreme zadrške ovih signala oko opadajuće ivice CAS*-a. Čim su ovi uslovi ispunjeni, adresa može da se otkloni nakon rastuće ivice CAS* signala.

Hibridna transakcija čitanje/pisanje, nazvana read-modify-write (čitaj-promeni-piši), je takođe podržana da bi se poboljšala efikasnost memorijskog podsistema. U čitaj-promeni-piši operaciji, mikroprocesor uzima reč iz memorije, vrši brzu promenu nad njom, i onda je ponovo upisuje kao deo originalne transakcije. Ovo je atomska operacija, zato što su funkcije nedeljive i ne mogu da se prekinu. Slika 4.13 pokazuje tajming čitaj-promeni-piši transakcije. Primetimo da se CAS* drži duži vremenski period, tokom koga mikroprocesor može da izvrši čitanje podataka pre postavljanja WE* zajedno sa novim podacima za pisanje.

Prvobitni DRAM-ovi su bili vrlo spori. Ovo je delimično bilo tako zato što su stari silikonski procesori ograničavali vreme dekodovanja miliona internih adresa. To se takođe javljalo kao rezultat činjenice da je pristup samo jednoj lokaciji zahtevalo vremenski zahtevan sled RAS* koji je praćen CAS* signalom. U odnosu na to, SRAM je brz i lak: postavljanje adrese u jednom koraku i uzimanje podataka. DRAM je prošao kroz arhitekturnu evoluciju koja je zamenila originalne uređaje sa fast-page mode (FPM) (mod za brzo straničenje) uređajima koji su dozvoljavali efikasan pristup susednim memorijskim lokacijama. FPM DRAM-ovi su dali značajno povećanje sposobnosti memorije za najopštije DRAM primene: CPU memorije. Ovi uređaji koriste prednost da su memorijske transakcije mikroprocesora sekvencijalne po prirodi.

- 42 -

Slika 6.4.

Softver se povremeno grana napred ili nazad u memorijski prostor. Ipak, u celosti,

softver se kreće kroz delove memorije linearno. FPM uređaji dozvoljavaju DRAM kontroleru da učita adresu reda na normalan nači korišćenjem RAS*-a i onda izvrši višestruku CAS* transakciju korišćenjem adrese reda. Zato, DRAM završava ciklus transakcije rastućom ivicom RAS* signala, jer nije sigurno da li dolazi do još čitanja ili pisanja sve dok se RAS* ne podigne, što znači da trenutna adresa reda može da se oslobodi.

FPM tehnologija je, za uzvrat, dala put extended-data out (EDO) (produženi izlaz podataka) uređajima, koji podužavaju prihvaćeno vreme čitanja podataka. Za razliku od svoji prethodnika, EDO DRAM ne isključuje čitanje podataka kada se pojavi CAS* signal. Umesto toga, čeka dok se transakcija ne završi (podizanje RAS*-a), ili se otkloni OE*, ili dok CAS* ne počne pristup novoj stranici (new page-mode). Dok su FPM i EDO DRAM različiti tipovi uređaja, EDO kombinuje odlike načina straničenja kod FPM-a i kao posledica postaje prihvatljiviji za korišćenje. Diskusija o tajmingu koja sledi koristi EDO funkcionalnost kao primer.

Transakcije na osnovu straničenja drže RAS* aktivan i postavlja CAS* više puta da se izvrše čitanja i pisanja kao što je prikazano na slici 6.5. Svaka sledeća CAS* opadajuća ivica učitava novu adresu kolone i uzrokuje čitanje ili pisanje podataka. Prednosti EDO-a mogu da se pravilno posmatraju u slučaju čitanja. Kada se CAS* pojavi, ostaje postavljen do sledeće opadajuće ivice CAS*-a ili podizanja RAS* signala koji zaustavlja transakciju straničenja, više nego kod sklanjanja podataka. Postoje neke praktične granice trajanja transakcije straničenja. Prvo, postoji apsolutno maksimalno vreme tokom koga RAS* može da ostane postavljen, Trajanje RAS* i CAS* su tačno određeni da bi se garatonvala ispravnost operacija DRAM-a. Rad DRAM-a sa minimalnim CAS* ciklusom i maksimalnim RAS* ciklusom postavljanja daje praktične granice protoka podataka koji može da se čita ili upiše bez ponovnog učitavanja nove adrese reda. U stvarnosti, stvarni asinhrnoni DRAM može da podrži preko 1000 pravilnih pristupa za datu adresu reda. DRAM daje najbolje performanse kada se koristi na ovaj način. Što je duži tok podataka (data burst) to je manja cena po prenesenom bitu, zato što je vreme postavljanja adrese amortizovano svakom prenesenom rečju. Keš podsistem na

- 43 -

kompjuteru pomaže kontrolisanje prirode protočnosti DRAM-a (data burst-a) prebacivanjem susednih memorijskih lokacija u mali SRAM keš odakle će mikroprocesor kasnije imati lak pristup podacima, bez čekanja na izvršavanje dugačkih transakcija DRAM-a.

Slika 6.5.

Drugo praktično ograničenje transakcija straničenja i svih transakcija DRAM-a

uopšte, je cena osvežavanja. DRAM kontroler mora da bude dovoljno pametan da izvrši periodične operacije osvežavanja. Čak i kada mikroprocesor zahteva više podataka, osvežavanje mora da ima prioritet da bi se očuvao integritet podataka. U bilo kom trenutku vremena, zakazana operacija osvežavanja može da bude malo pomerena da bi se udovoljilo zahtevu CPU-a, ali ne do te tačke gde kontroler zaostane i ne uspeva da stigne da izvrši dovoljan broj refresh operacija. Postoji mnogo načina da se pokrene operacija osvežavanja, ali većina uključuje takozvanu signalizaciju CAS-pre-RAS gde je normalan sled pulseva adresa obrnut da bi se signaliziralo za osvežavanje. Postavljanje CAS* pre RAS* signala daje znak unutrašnjem kontroleru DRAM-a da izvrši osvežavanje određenog reda na adresi upisanoj u unutrašnjem brojaču. Nakon ove operacije, brojač osvežavanja se inkeremntira da bi se pripremio sledeći ciklus osvežavanja.

DRAM ima brojne prednosti nad SRAM-om, ali i cenu povećane kompleksnosti kontrolera i smanjenih performansi u određenim primenama. DRAM koristi multipleksiranu magistralu za adrese, koja štedi broj pinova i omogućava manje, jeftinije pakovanje i ožičavanje štampane ploče. Većina DRAM-a se proizvodi sa manjom širinom magistale podataka od one koja se obično koristi kod kompjutera, da bi se sačuvali pinovi. Na primer, većina kompjutera koristi 8- ili 16-bitne magistrale podataka, većina DRAM-ova su bila širine od 1 bita. Kada su mikroprocesori napredovali na magistrale od 32 ili 64 bita, većina DRAM-ova je napredovala na širinu od 4- a onda i 8-bita. Ovo je suprotnost SRAM-u, koji se generalno nudi sa širokim magistralama, počev od 4 bita i onda rastući do 72 bira kod modernijih uređaja. Ova nejednakost je zašto se najviše implementacija DRAM-a kod kompjutera nalazi u grupama od četiri, osam ili više DRAM-a na jednom modulu. 1980-ih, osam 64k × 1 DRAM-a su kreirala memorijske nizove od 64kB. Danas, osam 32M × 8 DRAM-a kreira 256 MB memorijske nizove koji su široki 64 bita da bi odgovarali visokopropusnim 32-ili 64-bitnim procesorima u vašim PC-ima.

Ključni arhitekturni atribut DRAM-a je prednost za sekvencijalne transakcije i prema tome, njegova slabost u snalaženju sa proizvoljnim pojedinačnim transakcijama.

- 44 -

Zbog svoje guste silikonske strukture i multiplekirane arhitekture za adrese, DRAM je evoluirao da bi se obezbedila jeftina velika količina memorije najpovoljnije za veće transakcije. Cena započinjanja velikih transakcija je zanemarljiva kada se proširi na više individualnih memorijskih reči u protoku. Ipak, primene koje nisu odgovarajuće za velike protoke podataka ne moraju da rade dobro sa DRAM-om zbog stalnih negativnih posledica startovanja pri uzimanju jedne reči od 1,000. Takve primene rade bolje korišćenjem SRAM-a. Planiranje arhitekture memorije uključuje ovakve odluke između gustine/cene i performansi.

7. MULTIPORT MEMORIJA

Većina memorijskih uređaja, bilo kratkotrajne ili dugotrajne, sadrže jedan interfejs preko koga se pristupa njihovom sadržaju. U kontekstu sa osnovnim kompjuterskim sistemima sa jednim procesorom, ova jedno-portna arhitektura je sasvim zadovoljavajuća. Postoje neke arhitektura kod kojih više procesora ili logičkih blokova traže pristup istom delu memorije. Deljeni deo memorije može da bude konstruisan na više načina. Prvo, konvencionalni DRAM ili SRAM može da se kombinuje sa eksternom logikom koja uzima zahteve od više odvojenih entiteta (npr. mikroprocesora) i dozvoljava pristup jednom zahtevu u jednom trenutku. Kada je deljena memorija velika, i kada nije potreban simultani pristup većem broju zahteva, arbitracija je efikasan mehanizam. Ipak, kompleksnost kompjuterske logike za arbitraciju je prevelika za male deljive memorije i arbitracija ne omogućava simultani pristup. Sredstvo deljenja memorije bez arbitracione logike i sa mogućnošću simultanog pristupa je konstruisanje pravog višeportnog memorijskog elementa.

Višeportna memorija dozvoljava simultani pristup nekolicini spoljnih entiteta. Svaki port može da bude sposoban za čitanje/pisanje, samo za čitanje ili samo za pisanje, zavisno od implementacije i primene. Višeportne memorije se prave uglavnom male, zbog svoje kompleksnosti, i dakle, cena raste značajno kako se dodaju portovi, svaki sa svojom logikom za dekodiranje i kontrolu. Većina višeportnih memorija su dvo-portni elementi kao što je prikazano na slici 7.1.

Prava dvo-portna memorija ne stavlja ograničenja na bilo koju od transkacija na portovima u bilo kom vremenskom trenutku. Odgovornost je inženjera da osigura da jedan potražilac ne dođe u konflikt sa drugim. Konflikti se javljaju kada jedan potražilac piše memorijsku lokaciju dok drugi pokušava da čita ili piše istu lokaciju. Ako dođe do simultanog čitanja/pisanja, koje podatke vidi onaj što čita? Da li su to podaci pre ili posle pisanja? Slično, ako se dva procesa upisa jave u isto vreme, koji pobeđuje? Dok se ovakvi problemi mogu rešiti za našu specifičnu primenu posebnom logikom, bezbednije je da se ne brine o takvim graničnim slučajevima. Umesto toga, dizajn sistema bi trebalo da izbegava takve konflikte osim ako ne postoje važni razlozi da se to učini. Jedna uobičajena primena dvo-potrnih memorija je deljenje informacija između dva mikroprocesora kao što je prikazano na slici. Dvo-portna memorija leži između mikroprocesora i može da se izdeli u odvojene korpe za poruke, ili memorijska polja za svaku stranu. Korpa A sadrži poruke koje je napisao CPU A a čita ih CPU B. Korpa B sadrži poruke koje je napisao CPU B a čita ih CPU A.

- 45 -

Obaveštavanje o poruci koja čeka na čitanje se izvodi preko prekida CPU-a, pa samim tim, oslobađa CPU stalnog nadgledanja memorije čekajući da stigne poruka. Čitav proces može da radi ovako:

1. CPU A piše poruku za CPU B u Korpu A. 2. CPU A postavlja prekid na CPU B indicirajući da postoji poruka koja čeka u

Korpi A. 3. CPU B čita poruku iz Korpe A. 4. CPU B potvrđuje prekid koji je postavio CPU A. 5. CPU A skida prekid sa CPU-a B.

Ovakva implementacija sprečava konflikte dvo-portne memorije zato što jedan CPU

neće čitati poruke pre nego što je potpuno napiše drugi CPU i nijedan CPU ne piše u obe korpe.

Slika 7.1.

- 46 -

8. FIFO

Memorijski uređaji o kojima se do sada diskutovalo su u osnovi linearni nizovi bitova okruženi minimalnom količinom logike interfejsa da se pomeraju bitovi između porta i niza. First-in-first-out (FIFO) memorije su uređaji posebne namene koji implementiraju osnovnu strukturu reda koja ima široku primenu u računarstvu i komunikacionoj arhitekturi. Za razliku od memorijskih uređaja, tipičan FIFO ima dva jednodirekciona porta bez ulaza za adrese: jedan za pisanje i drugi za čitanje. Kao što samo ime kaže, prvi podatak upisan se prvi čita, a poslednji podatak koji se upiše se čita poslednji. FIFO nije memorija sa slučajnim pristupom već sekvencijalna memorija. Zato, za razliku od konvencionalnih memorija, jedanput kada se element podataka pročita, ne može da se pročita ponovo, zato što će sledeće čitanje vratiti sledeći element podataka upisan u FIFO. Po svojoj prirodi, FIFO-i su podležni uslovima overflow (prepunjenju) i underflow (ispražnjenju). Njihova konačna veličina, često nazivana dubina, znači da mogu da se napune ako ne dolazi do čitanja i pražnjenja već napisanih podataka. Overflow se dešava kada se pokušava pisanje novih podataka u pun FIFO. Slično, prazan FIFO ne može da da podatke pri čitanju, što dovodi do underflow-a.

FIFO se stvara okruživanjem dvo-portnog memorijskog niza – uglavnom SRAM-a, ali može da se radi i sa DRAM-om za određene primene – sa pokazivačem za pisanje, pokazivačem za čitanje i kontrolnom logikom kao što je prikazano na slici 8.1.

Slika 8.1.

FIFO se ne adresira linearno; već se pravi da formira neprekidan krug memorije

koja je adresirana pomoću dva pokazivača. Popunjenost FIFO-a se određuje ne po apsolutnim vrednostima pokazivača, već po njihovim relativnim vrednostima. Prazan FIFO počine sa pokazivačima za čitanje i pisanje na istoj vrednosti. Kako se pišu podaci, pokazivač za pisanje se povećava. Kako se podaci čitaju, pokazivač za čitanje se takođe povećava. Ako pokazivač za čitanje stigne pokazivač za pisanje, tako da se oba poklapaju, FIFO je ponovo prazan. Ako pokazivač za čitanje ne uspeva da se pomera, pokazivač za čitanje će napraviti krug i u nekom slučaju će postati isti kao pokazivač za čitanje. U ovom trenutku, FIFO je pun i ne može da primi nikakve nove informacije, dok se čitanje ne nastavi. Flegovi za pun i prazan FIFO se generišu da bi se obezbedio status logici za pisanje i čitanje. Neki FIFO-i sadrže detaljnije statuse o popunjenosti, kao što su signali koji predstavljaju programabilni prag popunjenosti.

FIFO interfejs može biti asinhron (bez takta) ili sinhron (sa taktom). Ako je sinhron, dva porta mogu da se dizajniraju da rade sa zajedničkim taktom ili različitim taktovima. Iako se stariji asinhroni FIFO-i i dalje proizvode, sinhroni FIFO je sada češći.

- 47 -

Sinhroni FIFO ima prednosti poboljšanog tajminga interfejsa, zato što flopovi smešteni na ulaz i izlaz uređaja smanjuju vremenske potrebe za poznata podešavanja, čekanje i clock-to-out specifikacijame. Bez takvog registrovanog interfejsa, specifikacija tajminga postaje funkcija unutrašnje logike uređaja.

Jedna uobičajena uloga koji FIFO ima je prelaženje iz domena takta. U takvoj primeni, nema potrebe da se komunicira serijom vrednosti podataka sa logičkog bloka na jednom taktu sa drugim blokom koji radi na drugom taktu. Razmena podataka između domena taktova zahteva posebnu pažnju, zato što normalno ne postoji nijedan način da se izvši konvencionalna analiza tajminga između dva različita takta da bi se garatovala adekvatna podešavanja i vreme zadrške na odredišnom flopu. Može se koristiti ili asinhroni FIFO ili sinhroni dual-clock FIFO da se reši ovaj problem, kao što je prikazano na slici 8.2.

Dvoportna memorija u srcu FIFO-a je asinhroni element kojoj može da priđe logika koja radi na bilo kome od dva takt domena. Dual-clock sinhroni FIFO je dizajniran da radi sa razlikom u taktovima između polovina uređaja. Kada se jedan ili više bitova upisuje na taktu A, informacija o pokazivaču pisanja se pažljivo prenosi na drugu stranu na domen takta B kroz FIFO-a preko inter-clock sinhronizacine logike. Ovo omogućava kontroli interfejsa za čitanje da zna da postoje podaci koji čekaju da budu pročitani. Logika na taktu B može da čita te podatke dugo nako što su oni sigurno upisani u memorijski niz i postavljeni u stabilno stanje.

Slika 8.2.

Druga uobičajena primena FIFO-a je podešavanje brzina gde neki izvor podataka

daje veliku količinu podataka odjednom a korisnik podataka uzima podatke redovnije. Jedan primer je situacija gde je sekvenca podataka smeštena u DRAM i potrebno je da se pročita i pošalje na komunikacioni interfejs bajt po bajt. DRAM je deljen sa CPU-om koji se nadmeće sa komunikacionim interfejsom za memorijski protok. Poznato je da je DRAM efikasniji kada se radi u modu straničenja. Zato, da se ne bi vršila čitava transakcija čitanja svaki put kada je potreban jedan bajt komunikacionom interfejsu, tok podataka se čita i smešta u FIFO. Svaki put kada je interfejs spreman za novi bajt, čita podatke iz FIFO-a. U ovom slučaju, potreban je FIFO sa samo jednim taktom, zato što ovi uređaji rade na zajedničkom takt domenu. Da bi ovaj proces išao glatko, kontrolna logika mora da nadgleda stanje FIFO-a i vrši prenos iz DRAM-a kada FIFO-u ponestane podataka. Šema je ilustrovana na slici 8.3.

Da bi podešavanje brzine protoka podataka radilo pravlno, prosečan protok tokom vremena na ulaznom i izlaznom portu FIFO-a mora biti jednak, zato što je kapacitet FIFO-a konačan. Ako se podaci stalno brže upisuju nego što mogu da budu pročitani, FIFO će se nekada prepuniti i podaci će početi da se gube. Slično, ako se stalno podaci čitaju brže nego što se upisuju, FIFO će se isprazniti i nepravilni bajtovi će početi da se ubacuju u izlazni tok. Dubina FIFO-a pokazuje koliko velika razlika čitanja/pisanja može

- 48 -

da se toleriše bez gubljenja podataka. Razlika se izražava kao proizvod razlike brzina i vremena. Mala razlika može da se toleriše duži vremenski period, i veća razlika može da se toleriše kraće.

U primeru podešavanja brzina, velika razlika kratkog trajanja se balansira tokom dužeg trajanja. Kada se DRAM čita, velika količina podataka se odjednom upisuje u FIFO, stvarajući privremeno veliku nejednakost. Tokom vremena, komunikacioni interfejs čita jedan bajt u trenutku dok ne dolazi do pisanja, tako kompenzuje nejednakost tokom vremena.

Čitanje DRAM-a za ponovnoo punjenje FIFO-a mora da se vremenski pažljivo podesi, da se simultano spreči uslovi prepunjenja i ispražnjenja. Mora da se postavi prag popunjenosti FIFO-a, ispod koga se pokreće čitanje DRAM-a. Ovaj prag mora da garantuje da postoji dovoljno mesta u FIFO-u da bi se primila količina podataka iz DRAM-a, izbegavajući prepunjenje. Takođe mora da se garantuje da u najgorem mogućem vremenu odziva DRAM-a postoji dovoljna količina podataka u FIFO-u da se zadovolji komunikacioni interfejs, sprečavajući ispražnjenje. U većini sistema, vreme između postavljanja zahteva za čitanje DRAM-a i stvarnog dobijanja podataka je promenljivo. Ova promenljivost se javlja usled nadmetanja FIFO-a sa ostalim zahtevima (npr. CPU) i čekanjem da se završe skupe operacije (npr. osvežavanje).

Slika 8.3.

- 49 -

9. Memorijske tehnologije visokih performansi

Memorija je interesantan i potencijalno izazovan deo dizajniranja digitalnih sistema. Jedna od prednosti decenija razvoja komercijalnih tranzistorskih i poluprovodničkih memorija je raznovrsnost proizvoda dostupnih za upotrebu. Postoje šanse da na tržištu ima već gotovih memorija koje odgovaraju vašim posebnim primenama. Nedostatak modernog, stalno promenljivog tržišta memorija je brzo zastarevanjе nekih proizvoda. DRAM je veoma vezan za tržište personalnih računara. Najveća vrednost DRAM-a je u onim uređajima koji se javljaju u profitabilnim memorijskim konfiguracijama PC-a. Veliko PC tržište se pomera ka memorijskim IC-ima većih gustina, tako da je moguće da će se DRAM koji ste udobno koristili u svom dizajnu pre nekoliko godina prestati da se proizvodi a proizvođači promene proizvodnju na delove sa većom potražnjom.

Brz razvoj proizvoda znači da se memorijske sposobnosti dramatično povećavaju svake godine. Bez obzira da li primena traži veću gustinu ili nižu potrošnju, stalni razvoj u tehnologiji stavlja više alata inžinjeru na raspolaganje. SRAM i flash EPROM uređaji imaju stabilniji proizvodni vek od DRAM-a. Ovo je delimično zato što manje zavise od PC tržišta, koje zahteva povećanje memorijskih resursa za svaku složeniju softversku aplikaciju.

Memorija je u osnovi digitalni blok za izgradnju koji se koristi za mnogo više od čuvanja programa i podataka za mikroprocesor. Privremeni baferi za čuvanje se koriste da se skladište podaci dok se prenose sa jednog interfejsa na drugi. Postoje mnoge situacije u mrežnim i komunikacionim sistemima gde blokovi podataka dolaze i moraju da se za kratko vreme sačuvaju u baferu dok računarska logika ne odluči šta tačno da radi sa njima. Lookup tabele su drugi čest primer korišćenja memorije. Tabela može da čuva unapred stvorene rezultate kompleksnih izračunavanja tako da rezultat može vrlo brzo da se odredi kada je potrebno. Ovo poglavlje obrađuje najdominantnije tehnologije sinhronih memorija, SDRAM i SSRAM i završava se prezentacijom CAM-a, tehnologijom koje je delom RAM a delom logika.

Ni jedna knjiga ne može da se dugo koristi kao sveža referneca memorijskih tehnologija, zbog brzog koraka industrije. Ovo poglavlje diskutuje o bezvremenim tehnologijama i konceptima, ali se pojedinosti o gustini, brzini i protokolima interfejsa vrlo brzo menjaju. Jednom kada se pročitaju i razumeju osnove memorijskih tehnologija visokih performansi, predlaže se da pregledate najnovije prospekte proizvođača da bi se upoznali sa trenutnim stanjem novih tehnologija. Korporacije kao što su Cypress, Hynix, Infineon, Micron, NEC, Samsung i Toshiba daju detaljne informacije na svojim web-stranicama koje su veoma korisne za samoedukaciju i odabir pravog memorijskog uređaja za vaše potrebe.

9.1. SINHRONI DRAM

Kako su se frekvencije takta povećale više od 50 MHz, konvencionalni DRAM uređaji sa asinhronim interfejsima su postali ograničavajući faktor u ukupnim performansama sistema. Asinhroni DRAM je spojio specifikacije širine pulsa i latenca signala u odnosu na signal sa karakteristikama memorijskih nizova. Takve specifikacije

- 50 -

je teško ispratiti kada se traži maksimalan protok na viskoim frekvencijama takta. Lakše je dizajnirati sistem kod koga svi interfejsi i uređaji rade sinhrono tako da tajming interfejsa postane podešavanje dodirnih tačaka i vremena zadrške, a funkcionalni tajming postaje tema sekvenciranja signala na diskretnim ivicama takta.

Sinhroni DRAM ili SDRAM je obrt u osnovi asinhronih DRAM tehnologija koje su tu već decenijama. SDRAM se može posmatrati kao asinhroni DRAM niz okružen sinhronim interfejsom na istom čipu, kao što je prikazano na slici 9.9.1. Ključna arhitekturna karakteristika SDRAM-a je prisustvo više nezavisnih DRAM nizova – obično ili dva ili četiri reda. Više redova može da se aktivira nezavisno i njihove transakcije umeću sa transakcijama drugih memorijskih redova na IC-ovom sinhronom interfejsu. Ovakva funkcionalnost dozvoljava veću efikasnost, veću propusnost na čitavom interfejsu, a ne stvara usko grlo. Jedan faktor koji dodaje zadršku u proizvoljnom pristupu u svim vrstama DRAM-a je vreme aktiviranja reda: red prvo mora da se aktivira pre nego što se postavi adresa kolone i podaci budu pročitani ili upisani. SDRAM dozvoljava da se red jednog skupa aktivira dok je drugi skup zapošljen čitanjem ili pisanjem, efektivno skrivajući vreme pristupa u drugom skupu. Kada se trenutna transakcija završi, prethodno aktivirani red u drugom skupu se zove da se izvrše nove transakcije bez kašenjnja, povećavajući ukupni protok uređaja.

Sinhroni interfejs i unutrašnja logika stanja upravljaju isprepletanim operacijama iz više skupina i velikim prenosima podataka u ime eksternog memorijskog kontrolera. Jednom kada se transakcija počne, jedna reč podataka ulazi ili izlazi iz čipa svaki ckilus takta. Zato, SDRAM koji radi na 100MHz ima teoretski vrh propusnosti od 100 miliona reči po sekundi. U stvarnosti, naravno, ovaj broj je nešto niži zbog osvežavanja i cene počinjanja i prekidanja transakcija. Pravi protok za datu primenu je veoma zavistan od načina prenosa podataka za tu primenu i mogućnosti memorijskog kontrolera.

SDRAM-ova unutrašnja logika stanja radi sa diskretnim komandama, za razliku od implementacije DRAM-a sa asinhronim interfejsom. I dalje postoje poznati signali RAS* i CAS*, ali oni funkcionišu sinhrono kao deo drugih kontrolnih signala da bi se formirale komande a ne samo jednostavni nizovi pulseva. Komande počinju i završavaju transakcije, izvršavaju osvežavanje i konfigurišu SDRAM-ove karakteristike interfejsa, kao što su podrazumevana dužina i količina prenesenih podataka u trenutku.

SDRAM može da obezbedi veoma širok propusni opseg u primenama koje koriste sposobnost tehnologije za prenos velike količine podataka u kratkom vremenu (burst). Konvencionalni računari sa podsistemom od dugačkih keš nizova mogu da budu u stanju da uhvate 256 reči u nekoliko do 260 ciklusa: efikasnosti 98.5%! Ovakvi izlivi podataka amortizuju konstantan broj skupih ciklusa tokom čitave transakcije, značajno popravljajući propusnost. Propusnost može dodatno da se popravi otkrivanjem transakcija koje koriste različite skupove u memoriji i njihovim isprepletavanjem. Ovakav režim rada dozvoljava da se neki novi izlivi informacija zahtevaju pre završetka trenutnog prenosa, time sakrivajući početnu latencu sledeće transakcije.

- 51 -

Slika 9.1.1.

Većina ulaznih signala u logiku stanja prikazanih na slici 9.1.1 se kombinuje da bi

se formirala diskretna komanda prikazana u tabeli 9.1.1. Dozvola takta, CKE, mora da bude visok za normalan rad. Kada je CKE nizak, SDRAM ulazi u režim niske snage tokom koga se ne prepoznaju transakcije. CKE može da se veže za logiku i za primene koje su ili neosetljive na štednju struje ili zahtevaju konstantan pristup SDRAM-u. Signali interfejsa se uzorkuju na uzlaznoj ivici signala. Mnogi SDRAM uređaji se proizvode sa širinom magistrale podataka od više bajtova. Signal za maskiranje podataka, DQM[], daje lak način da se selektivno maskiraju individualni bitovi od pisanja ili čitanja. Svaka linija podataka je povezana sa DQM signalom, koji mora da bude nizak za tu liniju da bi se pisalo ili da bi se uključio bafer sa tri stanja te liniju da bi se čitalo.

Tabela 9.1.1.

Neke uobičajene funkcije uključuju aktiviranje reda za budući pristup, izvršavanje čitanja i pripremu reda za rad (deaktiviranje reda, često zbog pripreme za aktiviranje novog reda). Za kompletan opis signala interfejsa SDRAM-a i operacionih karakteristika, treba konsultovati šeme proizvođača SDRAM-a. Slika 8.2 daje primer kako se ovi signali koriste da se implementiraju transakcije i služi kao korisno sredstvo za ubacivanje sinhronog interfejsa. Smatra se da su CS* i CKE podešeni na nisko i visoko, respektivno, i nisu prikazani zbog jasnoće.

Prvi zahtev da bi se čitalo iz SDRAM-a je da se aktivira željeni red u željenoj memorijskoj skupini. Ovo se radi stavljanjem komande za aktiviranje (ACTV), koja se

- 52 -

vrši postavljanjem RAS*-a u jednnom ciklusu, dok se predaju adrese željene memorijske skupine i reda. Sledeća komanda koja se izdaje za nastavak transakcije je čitanje (RD). Ipak, kontroler mora da se zadrži nekoliko ciklusa na prebacivanju iz aktivacije reda DRAM-a u prpremu za aktiviranje kolone. Karakteristike tajminga osnovnog niza DRAM-a se izražavaju se u nanosekundama, pre nego u ciklusima takta. Broj ciklusa zadrške je različit za svaki dizajn, zato što je to funkcija perioda takta i specifikacije unutrašnjeg tajminga. Ako, na primer, CAS* signal SDRAM-a kasni u odnosu na RAS* 20ns, i period takta je 20ns ili sporiji, RD komanda bi mogla da se izda na ciklus koji neposredno prati ACTV. Slika 8.2 prikazuje dodati cikus zadrške, što daje period takta manji od 20ns, ali veći od 10ns (opseg frekvencija je 50-100 Mhz). Tokom ciklusa kada je takt besposlen, javlja se komanda nema-operacije (NOP) ostavljanjem neaktivnim RAS*, CAS* i WE* signala.

Slika 9.1.2.

RD komanda se izvršava postavljanjem CAS*-a i davanjem selekcije željenog memorijskog skupia i adrese kolone zajedno sa auto-precharge (automatska priprema) flegom (AP). Mora da se izabre određeni memorijski skup, zato što arhitektura SDRAM-a sa više memorijskoih skupova dozvoljava rad iz bilo kojg skupa. AP se prenosi adresnim bitom 10 tokom primene komandi, uključujući čitanje i pisanje. U zavisnosti od tipa komande, AP ima različita značenja. U slučaju pisanja ili čitanja, postavljanje AP-a govori SDRAM-u da automatski pripremi aktivirani red posle izvršavanja zahtevane transakcije. Priprema reda vraća red u neaktivno stanje i raščišćuje put za buduće aktiviranje drugog reda u istoj memorijskoj skupini. Jedna skupina SDRAM-a ne može da ima aktivno više od jednog reda u jednom trenutku. Automatska priprema reda posle transakcije štedi memorijski kontroler od eksplicitne pripreme reda posle transakcije. Može biti korisno da se pusti da kontroler pripremi red ako kontroler hoće da potpuno iskoristi prave protočne mogućnosti ostavljajući isti red aktivnim za sledeću transakciju. Na ovaj način kontroler može da brzo ponovo pristupi istom redu bez izdavanja suvišne ACTV komande. AP takođe ulazi u igru kada se izdaju odvojene komande za pripremu. U tom kontekstu, AP odlučuje da li SDRAM treba da pripremi sve memorijske skupine ili samo skupinu selektovanu adresom na adresnoj magistrali.

Kada kontroler jednom izda RD komandu (zvala bi se RDA ako se AP postavi da se obezbedi automatska priprema), mora da sačeka određeni broj ciklusa takta pre nego što SDRAM vrati podatke. Ovo kašnjenje je poznato kao CAS lantecy (CAS latenca), ili CL. SDRAM je tipično implementiran sa dve opcije za latencu: dva i tri ciklusa. Primer

- 53 -

na slici 9.1.2 prikazuje CAS latenca od dva ciklusa. Možda zvuči bolje da se uvek izabere opcija sa manjom latencom, ali, kao i obično, ništa nije besplatno. SDRAM menja vreme pristupa (efektivno, tCO) CAS kašnjenja. Ovo postaje važno na većim frekvencijama takta gde je brzina tCO kritična za sistemske operacje. U ovakvim okolnostima, inženjer mora biti spreman da doda jedan ciklus kašnjenja da bi se dobila veća frekvencija takta. Na primer, Micron Technologz MT48LC32M8A2-7E-256-Mb SDRAM može da radi na 143 Mhz sa CAS latencom od tri ciklusa, ali samo 133 Mhz sa CAS latencom od 2 ciklusa. Jedan ciklus dodatnog kašnjenja će biti i izbalansiran većim brzinama protoka podataka. Na nižim brznama takta, često je moguće je da se prihvati blago ubrzano vreme pristupa u korist kraćeg CAS kašnjenja.

Slika 9.1.3 i 9.1.4. Kada jednom prođe CAS latenca, podaci počinju da teku na svaki ciklus takta.

Podaci se kreću sve do specifikovane dužine protoka. Na slici 9.1.2, standardna dužina protoka je četiri reči. Ovaj parametar može da se konfiguriše i dodaje fleksibilnost SDRAM-u. Kontoroler je sposoban da podesi neke parametre pri startovanju, uključujući CAS latencu i dužinu protoka. Dužina protoka postaje osnovna jedinica prenosa podataka na SDRAM interfejsu. Duže transkacije se prave od višestrukih pravilnih protoka informacija (burst-ova), a kraće transakcije se postižu prekidanjem protoka pre kraja. SDRAM dozvoljava kontroleru da podesi standardu dužinu protoka na jednu, dve, četiri ili osam reči, ili čitav red. Takođe je moguće da se dugačak protok konfiguriše za čitanje a pisanje na samo jednu reč. Podešavanje se izvršava komandom za podešavanje registra (mode register set MRS) postavljanjem tri primarna kontrolna signala i dovođenjem željene komunikacione reči na adresnu magistralu.

- 54 -

Kao što je prethodno kazano, DQM signali funkcionišu kao onemogućavanje izlaza pri čitanju. DQM magistrala (jedan signal za SDRAM-ove sa širinom podataka od osam bita ili manje) prati CAS* tajmiranje i vodi podatke po broju ciklusa definisanih u selekciji CAS kašnjenja. Prethodeći čitanju, može da se onemoguće dve srednje reči, kao što je prikazano na slici 9.1.3.

Kao suprotnost, upis podataka nema pridruženu latencu slično CAS*-u. Pisanje podataka počinje dolaskom u istom ciklusu kada je postavljena WR/WRA komanda, kao što je prikazano na slici 9.1.4. Ovaj primer takođe prikazuje tajming DQM-a da bi se sprečilo pisanje dve srednje reči. S obzirom da DQM prati CAS* tajming, direktno je povezan sa pisanjem podataka. DQM je veoma koristan za pisanje, naročito na multibajtnim SDRAM uređajima, zato što dozvoljava uniformno izvršanje prenosa podataka dok se selektivno sprečavaju neželjene modifikacije nekih memorijskih lokacija. Kad se radi sa SDRAM nizovima sastavljenih od uređaja širine od jednog bajta, moguće je da se podigne čip selekt sa onih linija bajtova koje ne želimo da pišemo. Ipak, osim DQM-a ne postoji takva opcija za multibajt uređaje.

Kada se transakcija završi, red je ostavljen ili aktiviran ili pripremljen, u zavisnosti od AP-a tokom postavljanja CAS*-a. Ako se ostavi aktiviran, kontroler može da odmah izda novu RD ili WR komandu istom redu. Alternativno, red može da se eksplicitno pripremi. Ako je automatski pripremljen, novi red u toj skupini može da se aktivira da bi se spremile druge transakcije. Novi red može da se aktivira odmah u većni slučajeva, ali mora da se obrati pažnja na specifikacije SDRAM-a za minimalno vreme između komandi aktiviraj i priprema i komandi aktiviraj i aktiviraj.

Posle konfigurisanja SDRAM-a za određenu dužinu protoka, očekivaće se da sve transakcije budu te dužine. Pod određenim uslovima, poželjno je da se izvrše kraće transakcije. Čitanje i pisanje može da se prekine rano ili izdavanjem komande za pripremu memorijskoj skupini kojoj se trenutno pristupa ili postavljanjem komande za prekid protoka. Postoje različite zabrane i zahtevi u tome kako se tačno svaki tip transakcije ranije prekida. Uopšteno, čitanje i pisanje mora da se inicira bez automatske pripreme da bi memorijski kontroler mogao da prekine ranije.

Već smo spominjali mogućnost izvršavanja transakcija jedne za drugom. U ovim situacijama, početna latenca transakcije se objašnjava tokom faze prenosa podataka prethodne transakcije. Primer takve funkcionalnosti je prikazana na slici 9.1.5. Ovaj dijagram tajminga koristi stil prezentacije običnog SDRAM-a kod koga su individualni kontrolni signali zamenjeni njihovim ekvivalentnim komandama. Kontrolni signali su slobodni tokom dela prenosa podataka prve transakcije, dozvoljavajući novom zahtevu da se postavi pre završetka tekuće transakcije. U ovom primeru, kontroler postavlja novu komandu čitanja za red koji je prethodno aktiviran. Postavljanjem ove komande jedan ciklus (CAS zakašnjenje minus jedan) pre kraja trenutne transakcije, kontroler garantuje da neće postojati vreme kada se magistrala podataka besposlena između transakcija. Ako je druga transakcija bila pisanje, postavljanje WR-a bi došlo jedan ciklus posle završetka transakcije čitanja da bi se dozvolila simultana prezentacija podataka za pisanje u fazi sa komandama. Ipak, kada čitanje sledi pisanje, komanda čitanja ne može da se izda dok se pisanje podataka ne završi, što uzrokuje period besposlenosti magistrale ekvivalentan selektovanom CAS zakašnjenju.

Ovaj koncept može da se proširi u uopšteni slučaj većeg broja aktivnih memorijskih skupina. Kao što je kontroler sposoban da postavi novi RD na slici 9.1.5,

- 55 -

može takođe da postavi ACTV da se aktivira druga skupina. Zato, bilo koja od memorijskih skupina SDRAM-a može da se postavi nezavisno tokom vremena kada se ne komanduje u trenutnoj transakciji. Kada se ove transakcije završe, prethodno aktivirane skupine mogu da se glatko čitaju i upisuju na isti način kako je prikazano. Ovo daje značajno poboljšanje u performansama i elieminiše najveće nedostatke pored osvežavanja kod SDRAM interfejsa.

Slika 9.1.5 Periodično osvežavanje je univerzalan zahtev DRAM tehnologije, a SDRAM nije izuzetak. SDRAM uređaj može da sadrži 4,096 redova po skupini (ili 8,192, zavisno od ukupne veličine) sa zahtevom da se redovi osvežavaju svakih 64 ms. Zato, kontroler ima odgovornost da obezbedi da se izvrši 4,096 (ili 8,192) operacija osvežavanja svakih 64ms. Komande osvežavanja mogu da se ravnomerno rasporede svakih 15.625 µs (ili 7.8125 µs), ili da kontroler sačeka dok ne prođu određeni događaji i onda brzo izbroji 4,096 (ili 8.192) komandi osvežavanja. Različiti SDRAM uređaji imaju zahteve osvežavanja koji se malo razlikuju, ali sredstvo izvršavanja operacija osvežavanja je standardizovano. Prvi zahtev je da se sve skupine pripreme, zato što se komanda za automatsko osvežavanje (REF) izvršava na svim memorijskim skupinama odjednom. Unutrašnji brojač osvežavanja vodi računa o sledećem redu u svim bankama (memorijskim skupinama) koji će se osvežiti kada se izvrši REF komanda postavljanjem RAS* i CAS* signala zajedno.

Moguće hžje da se lako zaborave zahtevi asinhronog tajminga DRAM jezgra kada se okolo dizajnira SDRAM-ovog sinhronog interfejsa. Posle malo vremena provedenog u studiranju tabela prelaznih stanja i setova komandi, ideja da asinhroni elementi vrebaju u pozadini može da postane bledo sećanje. Uvek budite sigurni da proverite da diskretni ciklusi kašnjenja takta odgovaraju u nanosekundama specifikacijama tajminga koje su upisane u tabele sa podacima SDRAM-a. Problematični deo specifikacija tajminga je da utiču na sistem različito, zavisno od radne frekvencije. Na 25 MHz, 20 ns latenca je manja od jednog ciklusa. Ipak, na 100 Mhz, takvo latenca se širi na dva ciklusa. Neprepoznavanje suptilnih razlika u tajmingu može da uzrokuje greške koje mogu da se manifestuju kao posredni problem korupcije podataka, koji je vremenski veoma zahtevan problem za otklanjanje.

SDRAM ostaje popularna memorijska tehnologija za PC-e i zato se proizvodi u velikim količinama kod više proizvođača. Tržište SDRAM-a je veoma konkurentno, sa stalnom pojavom bržih i gušćih proizvoda. SDRAM su uobičajeno dostupni u gustinama koje se kreću od 64 do 512 Mb sa 4, 8 i 16-bitnim magistralama podataka. Stariji 16-bitni delovi postaju teški za nalaženje. Za specijalne primene su dostupni 32-bitni uređaji, iako ponekad, sa dodatnim ukupnim troškovima.

- 56 -

9.2. DOUBLE DATA RATE SDRAM

Konvencionalni SDRAM uređaji prenose jednu reč na rastuću ivicu svakog ciklusa takta. U neko vreme, doći će se do gornje granice brzine takta koja je praktična za implementaciju za interfejs na nivou štampane ploče (board-level). Kada se taj nivo performansi pokaže nedovoljan, double data rate (DDR podaci dvostruke brzine) SDRAM uređaji mogu skoro da dupliraju opseg prenoseći po jednu reč i na rastuću i na opadajuću ivicu svakog ciklusa takta. Takvim radom, brzina takta interfejsa ostaje konstanta, ali magistrala podataka efektivno duplira frekvenciju. Funkcionalno, DDR i uređaji jednostruke brzine (SDR single data rate) su vrlo slični. Dele mnoge standardne signale, i standardne setove komandi, i controlni/adresni interfejs koji radi samo na rastuću ivicu. Razlikuju se ne samo u brzini magistrale podataka, već takođe, u novim DDR kontrolnim signalima za podatke i unutrašnjom taktnom kolu da bi se obezbedio pouzdan dizajn kola sa veoma stešnjenim marginama tajminga. Slika 6.8 prikazuje strukturu DDR SDRAM-a.

DDR SDRAM sadrži unutrašnje puteve za podatke koji su duplo širi od eksternih magistrala podataka. Razlika u širini dozvoljava većem delu unutrašnje logike da radi na nižim SDR frekvencijama dok daje željenu eksternu propusnost sa polovinom pinova, potrebnim sa običnim SDRAM-om. Da se ne bi koristio takt 2x brzine, stavlja se par komplementarnih taktova, CLK i CLK*, koji su pomereni fazno za 180° jedan u odnosu na drugi. Ulazni i izlazni signali se pregledavaju na prelazu između ta dva takta, tokom čega je uzlazna ivica uvek prisutna kod oba takta. Komande i adrese se daju DDR SDRAM-u kao što bi se to radilo sa SDRAM uređajem: na uzlaznu ivicu CLK-a. Nije neophodno da se duplira brzina kontrolnog interfejsa, zato što se SDRAM skoro uvek koristi u burst režimu gde je brzina komandi značajno manja od brzine prenosa podataka.

Slika 9.2.1. Interfejs podataka sadrži masku koja je preimenovana u DM i novi pulsni signal podataka DQS. DM funkcioniše kao DQM kod SDR uređaja, ali radi na DDR-u da odgovara na ponašanje podataka. DQS je bidirekcioni takt koji se koristi da se pomogne tajmiranje magistrale podataka pri čitanju i pisanju. Pri pisanju, DQS, DM i podaci su ulazi, i DQS služi kao takt koji SDRAM koristi da uzorkuje (sampling) DM i podatke. Podešavanje i vremena zadrške su podešavaju relativno i na uzlaznu i na silaznu ivicu DQS-a, tako da DQS prelazi sredini prozora za validaciju podataka. DQS i podaci na

- 57 -

izlazu za čitanje se tajmiraju u odnosu na CLK/CLK*. DQS prelazi u otprilike isto vreme kao podaci, pa tako prelazi na početku okvira za validne podatke.

Kada se čita, 2n bitova se hvata iz DRAM niza na CLK domen i ubacuje se u 2:1 multiplekser koji prebacuje SDR/DDR takt domene. U kombinaciji sa DQS generatorom, multiplekser se prelazi dvostrukom CLK brzinom da se proizveo interfejs dvostruke brzine. Ova šema je ilustrovana a slici 9.2.1. Zato što se DQS i podaci specificiraju relativno u odnosu na CLK/CLK* za čitanje, memorijski kontroler može da izabere da li da taktuje ulazno kolo sa bilo koji pulsom, ili da taktuje signale prema relvantnim specifikacijama za tajming. Pisanje funkcioniše u reverznoj šemi, smeštanjem u stek dve n-bitne reči zajedno da bi se formirala 2n-bitna reč u domenu DRAM CLK-a. Dva registra se taktuju naizmenično, na uzlaznu i silaznu ivicu DQS-a, i njihov sadržaj se onda prenosti u plitak FIFO. FIFO je neophodan da bi se prelazilo iz DQS u CLK domen pouzdano, kao rezultat sužavanja između dva signala.

DDR SDRAM karakterišu stroge specifikacije tajminga zbog svojih operacija velikih brzina: 333-MHz brzina podataka sa 167 MHz taktom nije neouobičajena radna frekvencija. Za pouzdan rad, mora da se izvrši pažljivo planiranje memorijskog kontrolera i dizajna štampane ploče da bi se osiguralo da se podaci hvataju i u vremenu malom čak do 1.5 ns (za 333/167 MHz DDR SDRAM). Ove magistrale podataka velikih brzina se tretiraju kao source-sinchronous (sinhrone u odnosu na izvor) pre nego sinhrone. Source-sinhrona magistrala je ona gde se lokalni takt generiše zajedno sa podacima i ubacuje u štampanu ploču sa signalima podataka. Signali takta i podataka se podešavaju po dužini na određenu toleranciju da bi se značajno smanjila neujednačenost između svih članova magistrale. Takvim postupkom, odnos tajmiga između takta i podataka se skoro potpuno čuva pri stvaraju u uređaju za slanje. Sors-sinhrone magistrale eliminišu probleme neujednačenosti na nivou sistema nastalih od takta i signala podataka koji su došli od različitih izvora i različitim putanjama do cilja. Tretiranje DDR SDRAM magistrale podataka kao sors-sinhrone, kao što je prikazano na slici 9.2.2. garantuje se da će okvir za validne podatke koje daje uređaj biti dostupan za učitavanje. Slično, zato što je DQS bidirekcion, SDRAM može da postigne isti tajming kada prima podatke za pisanje od memorijskog kontrolera.

Slika 9.2.2.

Metode DDR SDRAM implementacije mogu da se razlikuju. Dok SDRAM

zahteva stalan DQS u odnosu na podatke za pisanje, memorijski kontroler može da koristi ili DQS ili sors-sinhronu verziju CLK-a sa kojom tajmira čitanje podataka. DQS mora da se koristi za brže primene, zato što ima tajming koji je bliži tajmingu podataka. Korišćenje DQS-a dodaje kompleksnost, zato što je to u suštini bidirekcioni takt. Postoje i višestruku DQS signali u većini primena, zato što je jedan DQS prisutan za svakih osam bitova podataka.

- 58 -

Neke primene su u stanju da koriste CLK/CLK* da primete čitanje podataka. Memorijski kontroler tera CLK/CLK* u SDRAM-u zajedno sa adresnim i kontrolnim signalima u sors-sinhronom maniru. Da bi se postiglo sors-sinhrono čitanje magistrale podataka, potrebna je sužena verzija CLK/CLK*-a koja je u fazi sa vraćenim podacima tako da memorijski kontroler vidi tajming kao memorijski kontroler kod SDRAM-a. Ovakva sužavanja su propagaciona kašnjenja kroz žice koje nose taktove od memorijskog kontrolera do SDRAM-a. Ovakva sužavanja su ilustrovana na slici 9.2.3a, i pridružena žičana implementacija je prikazana na slici 9.2.3b. CLK’ i CLK’* su taktovi koji su sa suženi propagacionim kašnjenjem kroz žice. Sors-sinhrona magistrala za čitanje podataka se postiže stvaranjem drugog para clok-ova koji su identični glavnom paru i onda se poklapa njhova vrednost sa vremenom prolaza kroz sumu dužine žica da bi se formirao SDRAM. Prva komponenta dužine otklanja propagaciona latenca do SDRAM-a, a druga komponenta dužine održava poravnjavanje tajmiga, ili faze, sa magistralom podataka.

Sa izuzetkom bržih magistrala podataka, DDR SDRAM fukcioniše veoma slično kao konvencionalni SDRAM. Komande se izdaju na uzlaznu ivicu CLK-a i daju se brzinom od jednog podatka. Zbog interne 2n-bitne arhitekture, podržana je minimalna veličina protoka od dve reči. Druge podržane dužine protoka su četiri ili osam reči. Za čitanje ili pisanje jedne reči, mora da se koristi DM da se sakriju ili zadrže reč. Dve opcije CAS kašnjenja su podržane za čitanje: 2 i 2.5 ciklusa. DQS prelazi sa ulaza (trećeg stanja – visoke imedanse) na izlaz su za jedan ciklus (1.5 ciklusa za CL = 2.5) posle postavljanja komande za čitanje. U jednom ciklusu se tera nisko (dva DDR perioda) i onda se prelazi na svaku polovinu CLK-a tokom trajanja protoka, posle čega se vraća u treće stanje (visoke impedanse). Čitanje može da se izvršava jedno za drugim da bi se postiglo visoko iskorišćenje magistrale sakrivanjem redova i zakašenjenja CAS kašnjenja, kao kod SDR SDRAM-a.

Slika 9.2.3. Za razliku od SDR SDRAM-a, upisivanje podleže kratkom kašnjenju između postavljanja komande za pisanje i isporučivanja podataka. Prvo pisanje podataka se daje na prvu uzlaznu ivicu DQS-a nakon postavljanja komande za pisanje. DQS ne ulazi u

- 59 -

SDRAM odmah nakon postavljanja komande za pisanje. Zabrane brane sudar između SDRAM-a i memorijskog kontrolera kada pisanje sledi čitanju davanjem vremena SDRAM-u da isključi DQS drajver. Sledeći pisanje, DQS može da ostane postavljen dok je postavljena komanda za čitanje, u vremenu kada SDRAM mora da pokrene pulseve. Pisanja mogu da se izvršavaju jedno za drugim da bi se efektivnije iskoristio interfejs uređaja. Kada se prelaizi između čitanja i pisanja, dolazi do minimalnih kašnjenja u situacijama kao kod konvencionalnog SDRAM-a. Zato što pisanje podataka kasni za komandom za pisanje za jedan ciklus takta, jedan ciklus se gubi kada pisanje ide nakon čitanja, zato što se komanda za pisanje ne izdaje sve dok se prenos podataka za čitanje ne završi (kao kod SDR SDRAM-a). U suprotnom pravcu, postavljeno je eksplicitna latenca od jednog ciklusa kada se izda komanda za čitanje nakon protoka podataka za pisanje, time se obezbeđuje vreme nezaposlenosti magistrale podataka jednako CAS kašnjenju plus ciklus kašnjenja od jednog čitanja/pisanja.

DDR SDRAM je uzeo mesto SDRAM-a u mnogim PC primenama. Kao SDR SDRAM, DDR uređaji se uglavnom nalaze sa gustinama u opsegu od 64 do 512 Mb sa magistralama podataka širine 4-, 8- i 16-bita. Takođe su pristupni trideset-dvo-bitni uređaji, iako nisu popularni u industriji u celosti.

9.3. SINHRONI SRAM

Kao DRAM, SRAM visokih performansi je prebačen sa sinhronog interfejsa da bi se dobila poboljšanja u performansama. Pojavilo se nekoliko osnovnih uređaja sinhronog SRAM-a (SSRAM) i postalo standardna ponuda brojnih snabdevača poluprovodnika. SSRAM je veoma pogodan za primene koje zahtevaju stalan pristup proizvoljnim memorijskim lokacijama, u poređenju sa SDRAM-ovima koji se bolje snalaze sa dužim protokom sekvencijalnih memorijskih lokacija. Mnogi SSRAM uređaji mogu da se nađu kod više snabdevača sa identičnom postavkom pinova i istom funkcionalnošću. SRAM je sinhron u odnosu na svoj interfejs. Dva osnovna tipa SSRAM-a su flow-through (sa direktnim-tokom) i pipelined (protočni). Flow-through uređaji registruju samo ulazne signale i zato su sposobni da vrate podatke odmah nakon nalaženja zahtevane adrese na uzlaznu ivicu signala. Pipeline uređaji registruju i ulazne i izlazne signale, sa teretom dodavanja ciklusa kašnjenja kada se vraćaju pročitani podaci. Ove razlike su prikazane na slici 9.3.1.

Slika 9.3.1. Kao kod SDRAM-a, postoji razmena između kašnjenja pristupa i brzine takta. Pipeline uređaji mogu da rade na značajno većim brzinama takta od flow-throug uređaja,

- 60 -

zato što SSRAM ima pun jedan ciklus takta da dekodira datu adresu jednom kada je registruje. U primenama gde su brzine takta ispod 100 MHz, verovatno je bolji flow-through SSRAM zbog njegovih manjih kašnjenja. Ipak, flow-through uređaji prikazuju realtivno veliko vreme-validacije-takta-u-podatke (closk-to-data timing), zato što se ne registruju izlazi. Ovo veliko tCO direktno utiče na ukupni dizajn memorijskog sistema smeštanjem većih zabrana za latencu u povezivanju uređaja i performansi registrovanja ulaza uređaja koji čitaju iz SSRAM-a. Na primer, Micron Technology MT55L512L18F-10 8-Mb flow-thorugh SSRAM radi do 100 Mhz i daje latencu od 7.5 ns i 3.0 ns zadrške posle svake sledeće ivice takta. U periodu takta od 10ns, postoji vreme od 2.5 ns pripreme za sledeću ivicu takta i registrovanje ulaza koji uzorkuje vraćene podatke. Ova cena od 2.5 n se javlja usled zakašnjenja u međupovezanosti, suženja takta, i vremena podešavanja ulaznih flop-ova. Alternativno, 3 ns vremena zadrške mogu da povećaju budžet tajminga, i mora da se vodi specijalna pažnja o pomeranju okvira za validne podatke ulaznih flopova više u korist vremena zadrške a manje u korist vremena podešavanja. Ovo nije uvek praktično. U suprotnosti, Micronova MT55L512L18P-10 8-Mb pipeline SSRAM je za isti 100 MHz takt pokazivao 5.0 ns clock-to-valid zadršku i 1.5 ns vreme zadrške. Za dodati ciklus kašnjenja, vrednost podešavanja se povećava u konformnijih 5 ns sa istim takt periodom od 10 ns. Ovakav način rada takođe dozvoljava SSRAM-u da radi na bržim frekvencijama takta: 166 MHz u odnosu na 100 MHz za 8-Mb flow through SSRAM. Korišćenjem pipelined SSRAM-a možete da izaberete bolje margine tajminga ili povećanu propusnost memorije nad flow-through tehnogijom.

Slika 9.3.2.

Primena u kojoj se koriste SSRAM uređaji su keš, koja često izvršava burst-transakcije. Keševi daju podatke po jednu liniju u trenutku da bi popravili opseg glavne memorije. Standardni SSRAM uređaji podržavaju protok od četiri reči pomoću dvo-bitnog unutrašnjeg brojača koji se učitava da bi se pomoglo kešu i drugim primenama koje rade koristeći ovakav protok. SSRAM sadrži jednu ili više kontrolnih signala koji definišu da li memorijski ciklus koristi adresu koja je dovedena spolja ili internu lečovanu adresu i brojač. Kada je potreban burst transfer, memorijski kontroler postavlja kontrolni signal da učita unutrašnji burst brojač i onda naredi SSRAM-u da koristi inkrementirajuću vrednost za tri ciklusa koji slede. Burst je podržan i za čitanje i za pisanje. Dvo-bitni burst brojač može da se konfiguriše u jedan ili dva načina inkrementacije: linearan ili umetnut. Linearno inkrementiranje je jednostavan binarni brojač koji se vraća sa vrednosti 11 u 00. Protok može da se pokrene sa bilo koje adrese, tako da ako protok počine sa A[1:0] = 10, brojač će da odbroji 10, 11, 00, 01 da bi se završio protok. Umetnuti mod tera način pristupa u dva para gde svaki par sadrži parnu i

- 61 -

neparnu adresu, sa A[1] držanim za konstantu kao što je prikazano u tabeli 9.3.1. Umetanje je dobro za implementacije koje koriste prilaz rečima u parovima.

Tabela 9.3.1.

Flow-through i pipelined SSRAM spadaju u još dve kategorije: normalna i zero-bus turn-around® (ZBT) (Nulta promena na magistrali). Normalni SSRAM pokazuje različita kašnjenja pri čitanju i pisanju: pisanje podataka može da se postavi u istom ciklusu kada i adresa i signal za pisanje, ali čitanje ima jedan ili dva ciklusa zadrške, zavisno od korišćenog uređaja. Pod uslovima produženog čitanja ili pisanja, SSRAM može da izvrši prenos svaki ciklus takta, zato što latenca sekvencijalnih komandi (sve čitanje ili pisanje) ostaje konstantno. Međutim, kada se prelazi sa čitanja na pisanje, asimetrija uzrokuje vreme kada je SSRAM magistrala podataka nezaposlena zbog početnog kašnjenja komande za čitanje. Komanda za čitanje se izdaje u ciklusu odmah nakon pisanja, i podaci za čitanje postaju dostupni tek ciklus ili dva kasnije. Ako aplikacija izvrši nekoliko promena na magistrali zato što pokušava da odvojeno izvrši nizove čitanja, praćene pisanjem, gubitak od nekoliko ciklusa tu i tamo nije velika briga. Ipak, neke primene stalno vrše proizvoljne transakcije čitanja/pisanja u memoriju i mogu da izgube neophodan protok svaki put kada se vrši promena.

ZBT uređaji rešavaju problem nezaposlenosti magistrale pri promeni ubacivanjem simetričnih zadrški između adresa i podataka, bez obzira da li je transakcija čitanje ili pisanje. Ovaj konstantni odnos znači da bilo koja komanda može da prati bilo koju drugu komandu bez vremena kada je magistrala slobodna. Flow-thoroug ZBT uređaji daju podatke na prvu ivicu takta koja prati odgovarajuću komandu/adresu. Pipelined ZBT SSRAM daju podatke na drugu ivicu takta koja prati odgovarajuću adresu/komandu kao što je prikazano na slici 9.3.3. Kao kod normalnog SSRAM-a, moguće su više frekvencije takta pipelined u odnosu na flow-through ZBT uređaje iako je cena dodatnu latencu čitanja.

- 62 -

Slika 9.3.3.

ZBT SSRAM uređaji daju prednost za primene sa čestim promenama

čitanja/pisanja. Jedan primer je FIFO na domenu od jednog takta implementiran korišćenjem diskretnog SSRAM-a i kontrolne logike. Uopšteno FIFO mora da bude sposoban za česta, isprepletana pisanja i čitanja, koja daju kao rezultat česte promene na magistrali kada se koristi normalni SSRAM. ZBT SSRAM uređaji se prave u kompanijama uključujući Device Technology, Micron Technology i Motorola. Cypress Semiconductors proizvodi funkcionalni ekvivalent SSRAM-u pod imenom NoBL. Drugi proizvođači nude ekvivalentne uređaje pod drugim imenima.

SSRAM je veoma popularan u računarstvu visokih performansi i mrežnim primenama. Računara sa velikim sekundarnim i tercijarnim keševima koriste SSRAM da čuvaju nizove podataka. Mrežna oprema dosta koristi SSRAM za baferovanje i primenu za lookup tabele. SSRAM uređaji se uobičajeno nalaze u gustinama od 2 do 16 Mb sa magistralama od 16-, 18-, 32- i 36-bita. Deveto-bitne magistrale se koriste umesto osmobitnih množača za svrhe kao što je čuvanje pariteta ili fleg bitova.

9.4. DDR i QDR SRAM

DDR (dvostruka brzina podataka) SDRAM je povećao brzinu i performanse povećanjem taktne brzine i prenosom dva bita podataka u jednom taktnom ciklusu (vidi Tabelu 9.4.1). DDR SDRAM kratkim signalima operišu nad velikim brojem memorijskih lokacija u jednoj komandi čitanja ili upisivanja. Operacija čitanja memorije povlači slanje komande aktiviranja koju sledi komanda čitanja. Memorija odgovara nakon nekog njenog vremena kašnjenja i to sa dve, četiri ili osam memorijskih lokacija, brzinom podataka od dve memorijske lokacije po taktnom ciklusu. Zbog toga se mogu pročitati ili upisati četiri memorijske lokacije u dva susedna taktna ciklusa.

Tabela 9.4.1 : DDR SDRAM brzine podataka i taktne brzine

DDR SDRAM poseduju više grupa kako bi omogućili višestruk pristup memoriji, što povećava ukupni propusni opseg. Jedna grupa predstavlja jedan niz u memoriji, dve

- 63 -

grupe su dva niza,... (vidi Sliku 9.4.1). Četiri grupe zahtevaju dva bita za adrese grupa (BA0 i BA1).

Na primer, DDR SDRAM sa četiri grupe radi na sledeći način. Prvo, komanda aktiviranja otvara red u prvoj grupi. Druga komanda aktiviranja otvara red u drugoj grupi. Sada, bilo koja kombinacija komandi čitanja ili upisivanja može biti poslata bilo prvoj ili drugoj grupi i njihovim otvorenim redovima. Kada se završe ove operacije u jednoj grupi, komanda obnavljanja zatvara red i grupa je spremna za novu komandu aktiviranja i novo otvaranje određenog reda.

Slika 9.4.1 : Višestruke memorijske grupe u DDR SDRAM pružaju povećanu fleksibilnost prilikom pristupa i poboljšane performanse

Napomenimo da je snaga koja je potrebna za DDR SDRAM povezana je sa brojem

grupa sa otvorenim redovima. Više otvorenih redova zahtevaju više snage, a i veći redovi takođe. Zbog toga se za primene gde je neophodna niža snaga potrošnje treba otvarati samo po jedan red iz svake grupe, a ne treba otvarati višestruke redove u isto vreme. Preplitanje uzastopnih memorijskih reči u uzastopnim memorijksim grupama je podržano kada su adresni bitovi grupa povezani sa adresnim bitovima nižeg reda u memorijskom sistemu. Uzastopne memorijske reči su u istoj memorijskoj grupi kada su adresni bitovi grupe povezani sa adresnim bitovima višeg reda u memorijskom sistemu.

SSRAM je prebačen na DDR interfejs da bi se povećao opseg na isti način kao kod SDRAM-a. DDR SRAM uređaji su potpuno pipelined i imaju fiksni protočni prenos dužine od dve ili četiri reči da se omogući manja kompleksnost jednobrzinskih interfejsa komandi/kontrola. Sa magistralama podataka koje rade na duplim efektivnim frekvencijama adresne magistrale, veličina protoka od dve reči garantuje da se prenosi za proizvoljan pristup mogu izdati u bilo kom redosledu bez opadanja u širini opsega interfejsa podataka.Veličina protoka je fiksna za uređaj koji se koristi. Veličina protoka od četiri reči pojednostavljuje primene kao što su neke keš memorije koje rade koristeći

- 64 -

transakcije od četiri reči, iako nema neke osnovne dobiti u performansama. Kao kod DDR SDRAM-a, moraju da se koriste specijalne tehnike taktovanja da bi se omogućio dizajn pouzdanog interfejsa na dovoljno velikim brzinama merene u stotinama megaherca. DDR SRAM dobija primarni par komplementarnih taktova, K i K*, koji su pomereni fazno za 180° jedan u odnosu na drugi. Adresni i kontrolni signali se registruju na uzlaznu ivicu K-a, a pisanje podataka se registruje na uzlazne ivice oba takta. Opcionalan drugi par taktova C i C*, moraju da budu istih frekvencija kao K/K*, ali mogu da budu malo van faze da bi se pomerio tajming čitanja podataka prema potrebama kola u kome se primenjuje. Mala promena u tajmingu može da olakša dizajniranje logike za čitanje. Ako takvo pomeranje nije potrebno, C/C* i svi izlazi (ulazi) se čvrsto vezuju za K/K*. SRAM automatski prepoznaje neaktivnost C/C* i izabira K/K* kao uzročni izlazni takt. Par izlaznih eho taktova, CQ i CQ* SDRAM tera u fazu sa čitanim podacima tako da su oba eho takta i čitani podaci tajmirani u odnosu na C/C* ili K/K*. Ovi eho taktovi rade slobodno i ne zaustavljaju se kada aktivnost čitanja prestane. Ovakva kombinovana šema taktovanja je ilustrovana na slici 9.4.2. Logika za čitanje može da izabere da koristi eho taktove kao sors-sinhrone taktove za čitanje, ili može da koristi drugačiji način da ne koristi eho taktove uopšte. Alternativna šema bi bila da se suzi C/C* tako da je vraćanje podataka u pravoj fazi sa memorijskim kontrolerom K/K*, štedeći kompleksnost brige o različitim domenima takta. Takve odluke su specifične za implementaciju i zavise od kola i dostupnih sredstava.

Slika 9.4.2.

Zbog rada na visokim frekvencijama DDR interfejsa, vreme promene na magistrali postaje važna stavka u dizajnu. Neaktivna stanja mora da se ubace na bidirekcionu magistralu podataka da bi se obezbedio vreme SRAM-u i memorijskom kontroleru da isključi drajvere za tri stanja kada se prelazi sa čitanja na pisanje ili obrnuto. DDR SRAM se proivodi u jednostrukoj i običnoj I/O (SIO i CIO) konfiguraciji da se radi sa vremenom potrebnim za promenu na magistrali. SIO DDR SRAM ima dve magistrale podataka – jedna posvećena dolaznim podacima za pisanje i druga posvećena izlaznim podacima. CIO uređaji imaju običnu bidirekcionu magistralu. Kašnjenja između adresa i podataka su identična kod SIO i CIO uređaja. Pisanje podataka počine na prvu uzlaznu ivicu koja dolazi posle komande za pisanje, a čitani podaci se vraćaju početkom druge opadajuće ivice koja ide nakon komande za čitanje. LD* signal daje aktivnu komandu za čitanje ili pisanje. Slika 8.14 pokazuje tajminge za SIO uređaje kod kojih promene na magistrali nisu tema, zato što ima dve jednodirekcione magistrale. Primetimo da čitanje podataka može da preklopi pisanje podataka u istom ciklusu takta.

- 65 -

Slika 9.4.3.

Komande mogu da se izdaju u kontinuitetu kod SIO uređaja, zato što ne postoji

mogućnost za konflikte na magistrali podataka. Ipak, CIO-ovi uređaji zahtevaju makar jedan eksplicitni ciklus pauze u radu, kada se prelazi sa čitanja na pisanje kao što je prikazano na slici 9.4.3. zbog razlike u kašnjenju podataka kod ove dve transakcije. Bez ciklusa pauze u radu, pisanje podataka bi se dešavalo u istom ciklusu kada i čitanje dve poslednje reči. CIO tabele podataka upozoravaju da na visokim frekvencijama može biti neophodan drugi ciklus pauze u radu da bi se sprečili konflikti između SRAM-a i pisanja podataka. Briga na visokim frekvencijama je da SRAM neće biti u stanju da isključi drajvere za tri stanja na vreme, da bi pisanje podataka počelo odmah na početku sledećeg ciklusa.

U čisto proizvoljnim ciklusima prenosa moguće su kod CIO DDR SRAM-a postići visoke brzine prenosa podataka. Grupisanje višestrukog čitanja ili pisanja, u različite grupe, povećava širinu opsega, smanjujući vreme koje je potrebno da dođe do promene na magistrali, pri transakcijama čitanja i pisanja. CIO uređaji imaju izraženu prednost u smanjenom broju signala zbog jednostruke magistrale podataka. Ovo se kompenzuje kompleksnošću upravljanja promenama na magistrali, i nešto smanjenom širinom opsega kod stvarno proizvoljnih prenosa. CIO DDR SRAM daje određenu prednost u performansama u određenim primenama, i to na račun dodatnih signala i broja pinova. Koncept dvostrukog interfejsa podataka je otišao korak dalje razvojem quad data rate™ (QDR-četvorostruka brzina prenosa podataka) SRAM tehnologije, gde je cilj omogućavanje potpunog korišćenja interfejsa za čitanje i pisanje podataka. QDR uređaji se proizvode sa protokom od dve ili četiri reči. Interfejs za adrese/kontrole je dizajniran tako da se može izdati dovoljno komandi da bi se oba interfejsa za podatke potpuno iskoristila. QDR SRAM sa protokom od 4 reči je veoma sličan SIO DDR SRAM-u kada bi ovaj imao isti protok reči. Razlika je da umesto postojanja R/W* signala i aktivacionog signala (LD*), QDR uređaji implementiraju odvojena uključivanja, čitanja i pisanja. Nova komanda se postavlja tokom svakog takt ciklusa tako da su potrebna dva ciklusa da se izdaju komande za čitanje i za pisanje. Frekvencija komandi se savršeno poklapa sa prirodom protoka od četiri reči, i potrebna su dva ciklusa da se izvrše. Ovo važi i za

- 66 -

komandu pisanja. QDR SRAM sa protokom od dve reči se razlikuje od varijante sa četiri reči da je interfejs za adrese/kontorle dvostruke brzine i dozvoljava komandama da se izdaju dvaput brže da bi se održao korak sa kraćim trajanjem prenosa od jednog ciklusa (dve reči kod DDR-a se završe u jednom celom ciklusu). Slika 8.16 prikazuje tajming za protok od četiri reči kod QDR SRAM-a. Ako primena memorije ne može da efikasno iskoristi protok od četiri reči, ukupni dizajn sistema će biti jednostavniji, zato što tajming DDR-a na adresnom/kontrolnom interfejsu nije potreban kao što bi bio da je u pitanju protok sa četiri reči.

Slika 9.4.3.

Kao što se može primetiti, QDR uređaji mogu da stvarno daju četvorostruki propusni opseg konvenicionalnog SDR SRAM-a, ali samo kada su širine opsega čitanja i pisanja simetrične. Ako primena zahteva veoma veliki propusni opseg u dužem vremenskom periodu za pisanje, a onda isto za čitanje, QDR tehnologija neće da da prave prednosti nad DDR SRAM-om. QDR je koristan u mnogim komunikacionim primenama gde služi kao in-line bafer ili FIFO između dva procesna elementa. Takve primene prikazuju simetrični propusni opseg, zato što ne mogu da čuvaju podatke dugo i moraju brzo da predaju podatke čim su sačuvani da bi se sprečilo prepunjenje ili ispražnjenje.

9.4.1. DDR2 SDRAM DDR2 SDRAM ima nekoliko unapređenja u odnosu na DDR SDRAM. Taktne

brzine DDR2 SDRAM su veće, pa se stoga povećavaju i brzine podataka u memoriji (vidi Tabelu 2). Integritet signala postaje mnogo važniji za pouzdan rad memorija sa povećanjem taktnih brzina. Sa povećanjem taktnih brzina, sve je važniji dizajn i lejaut prenosnih linija i njihovih krajeva.

Eliminisanje signala adresa, taktova i komandi je jednostavno jer su ovi signali jednosmerni i završavaju na ploči kola. Signali podataka su dvosmerni. Memorijski kontroler vodi ove signale tokom operacije upisivanja, dok ih DDR2 SDRAM vodi tokom operacije čitanja. Složenost se povećava povezivanjem višestrukih DDR2 SDRAM na iste signale podataka. Ovi višestruki DDR2 SDRAM mogu biti na istom DIMM ili na različitim DIMM u memorijskom sistemu. Kao rezultat imamo da se drajveri i prijemnici za podatke stalno menjaju usled operacija čitanja / pisanja, i zavisno od toga kojem DDR2 SDRAM se pristupa.

DDR2 SDRAM poboljšava integritet signala podataka omogućavanjem ODT opcije (eliminisanja na kraju), tako da ODT signal omogućava ovu opciju i daje sposobnost programu da odredi vrednosti za eliminisanje signala (75 oma, 150 oma,...) sa

- 67 -

DDR2 SDRAM registrima. ODT vrednost i rad se kontrolišu preko memorijskog kontrolera i one su funkcije DDR2 SDRAM lokacije DIMM i tipa memorijske operacije (čitanje ili upisivanje). Rad ODT pruža bolji integritet signala kreiranjem velikog dijagrama oka za prozor važećih podataka, sa povećanim marginama napona, brzinama odziva, smanjenim prekoračenjem i smanjenom ISI (međusimbolskom interferencijom).

DDR2 SDRAM smanjuje snagu memorijskog sistema jer radi na 1.8 V, što je 72% od napona za DDR SDRAM (2.5 V). U nekim primenama se smanjuje broj kolona u jednom redu, što dodatno daje smanjenje u utrošku snage pri aktivaciji reda za čitanje ili upisivanje.

Još jedna prednost manjih radnih napona je smanjenje razlike u naponima logičkih nivoa. Za iste brzine odziva ovo daje povećanje brzine prelazaka iz jednog stanja u drugo i samim tim se omogućava podrška vešim taktnim brzinama. Može se isprogramirati i korišćenje diferencijalnog signala. Njihovim korišćenjem se smanjuje šum, preslušavanje, dinamička potrošnja snage i EMI (elektromagnetna interferenicija), dok se povećava margina šuma.

Nova osobina koja je uvedena u DDR2 SDRAM je dodatno kašnjenje, koje omogućava fleksibilnost memorijskom kontroleru prilikom slanja komandi čitanja i upisivanja odmah nakon komande aktiviranja. Ovo optimizira propusnu moć memorije i konfiguriše se programiranjem pomoću registara DDR2 SDRAM.

DDR2 SDRAM poboljšava propusni opseg za module od 1 Gb i 2 Gb korišćenjem osam grupa. Ovih osam grupa povećavaju fleksibilnost prilikom pristupa velikim DDR2 SDRAM memorijama preplitanjem različitih operacija nad memorij-skim grupama. Takođe, za velike memorije, DDR2 SDRAM podržava sve do osam kratkih sekvencijalnih signala.

DDR2 SDRAM uputstva za korišćenje zauzimaju preko 100 strana tako da su navedene osobine DDR2 SDRAM sažeta predstava njihovih karakteristika. Komp-letne osobine i načini rada su dostupni iz detaljnih uputstava.

9.4.2. DDR3 SDRAM DDR3 SDRAM se po razvoju performansi nalazi nakon DDR2 SDRAM-a. DDR3

SDRAM podržava narednu generaciju većih brzina podataka i većih taktnih brzina (vidi Tabelu 9.4.2).

Tabela 9.4.2 : Očekivane DDR3 SDRAM brzine podataka i taktne brzine

Ostale očekivane promene obuhvataju smanjenje radnog napona za DDR3 SDRAM memorije na 1.5 V, što je 83% napona korišćenog za DDR2 SDRAM od 1.8 V. DDR3 SDRAM je memorija koja će biti korišćena u FB-DIMM2 (potpuno baferovanim DIMM2) primenama. Specifikacije DDR3 SDRAM su i dalje u razvoju i predmet su

- 68 -

promenama sve dok ne budu odobrene od strane JEDEC. Na JEDEC sajtu je moguće praćenje razvoja specifikacija DDR3 SDRAM memorija.

9.5. MEMORIJA SA ADRESABILNIM SADRŽAJEM

Većina tipova memorije se konstruiše da se formiraju nizovi lokacija za čuvanje, od kojih svaka ima jedinstvenu adresu. Skup podržanih adresa memorijskog niza je kontinualan, lineanog opsega od 0 do neke gornje granice, uglavnom stepen dvojke. Za memorijski niz veličine W, potrebna širina magistrale adresa N se nalazi zaokruživanjem N = log2 W na sledeći veći ceo broj. Zato, W ≤ 2N. Memorijski nizovi uglavnom čuvaju setove podataka kojima se pristupa sekvencijalno. Osnovna šema je da mikroprocesor zahteva odlučujuću adresu koja nema nikakvo specijalno značenje, osim činjenice da je to memorijski indeks, i da se zatim prebacuju odgovarajući podaci. Ova šema može da se modifikuje da se implementira lookup tabela davanjem indeksa koji nije tačan broj, već ima neko nasleđeno značenje. Ako, na primer, mrežni paket stiže sa osmobitnom identifikacionom vrednošču (možda adresa izvora), ta vrednost može da se iskoristi da se indeksira memorijski niz da se uzmu ili sačuvaju podaci o statusu tog jednog tipa paketa. Takve statusne informacije mogu da se iskoriste za pravljenje filtera, gde fleg bit pokazuje da li se paket sa odreženom informacijom odbacuje ili propušta. Takođe može da se iskoristi da se implementira jedinstveni brojač svake identifikacione vrednoti za čuvanje statistike o tome koliko je paketa sa određenom informacijom primećeno. Kao što je prikazano na slici 9.5.1. kada paket stigne, njegov osmobitni kod se koristi da se pristupi jednoj memorijskoj lokaciji koja sadrži bit za filtriranje i brojnu vrednost koja se inkrementira i vraća u memorijski niz. Ovo čuva logiku, zato što nije potrebno 256 pojedinačnih brojača. Umesto toga, jedan običan sabirač za +1 uspeva da izrši zadatak uz pomoć kontrolne logike za dekodovanje adresa ugrađene u memoriju.

Slika 9.5.1.

Takve lookup tabele su uobičajene u komnunikacionim sistemima gde se odluke

donose i statistika skuplja prema identifikacionim vrednostima i mrežnim adresama postavljenim u zaglavlje svakog paketa. Kada je veličina identifikacione vrednosti male dužine, mogu da se iskoriste konvencionalne memorije za implementiranje lookup tabela.

- 69 -

Ipak, kako informacije rastu do 16, 32, 64, 128 ili više bitova, potrebna veličina memorije postaje nepraktična. Ovaj primer na slici 9.5.1. bi zahtevao 8 GB memorije ako se informacija proširi sa 8 na 32 bita. Ako je potrebno da se vodi računa o svih 232 permutacija, ne bi postojao dovoljno veliki memorijski niz. Ipak, većina primena takvih lookup tabela radi sa malim delovima ukupnog skupa permutacija. Radni skup informacija se rasporedi po memoriji da se napravi krajnji skup identifikacionih vrednosti. Tako da postoji pitanje kako da brzo indeksiramo u memorijski niz N-bitnu vrednost gde je veličina niza mnogo manja od 2N.

Memorija sa adresabilnim sadržajem (CAM) rešava ovaj problem sa nizom koji je asocijativna informacija i opcionim odgovarajućim vrednostima podataka, kao što je prikazano na slici 9.5.2. Umesto da se dekodira svih 2N jedinstvenih lokacija na osnovu N-bitne informacije, svaki CAM unos simultano poredi svoju informaciju sa trenutnom. Unos čija se informacija slaže, je onaj čiji su pridruženi podaci na izlazui oni koji mogu da se menjaju. Alternativno, CAM može jednostavno da vrati indeks odgovarajućeg ili najboljeg unosa u nizu, ako taj uređaj nema nikakve pridružene podatke sa asocijativnim informacijama. Postoje značajni troškovi u snabdevanju svakog unosa jedinstvenom vrednošću i odgovarajućom logikom, čineći CAM značajno skupljom memorijom po bitu od konvencionalnih. Ovi povećani troškovi se amortizuju u onim primenama koje zahtevaju brzu pretragu velikog i raspoređenog opsega indeksa.

Za razliku od konvenicionalnih memorija, CAM mora da se kontroliše sistemskim hardverom i/ili sistemskim softverom da bi pravilno funkcionisao. Sistem mora da učitava CAM unose validnim asocijativnim podacima i pridruženim informacijama. Mora takođe da se vodi računa da su asocijativne informacije jedinstvene, zato što ne postoji standardno sredstvo rešavanja slučaja kada dve asocijativne informacije odgovaraju ulaznoj informaciji. Pojedine CAM implementacije mogu da specificiraju kako se takvi konflikti rešavaju. Neki CAM-ovi imaju funkcije za održavanje čitanja/pisanja kroz isti interfejs kroz koji se predaju i poklapaju informacije. Druge implementacije imaju poseban port za održavanje. Postojanje posebnog porta povećava broj pinova CAM-a, i time dodaje složenosti štampane ploče, ali može da smanji ukupnu kompleksnost sistema, zbog toga što se odvaja logika održavanja i logika za podatke.

CAM asocijativne informacije i logika za poklapanje može da se konstruiše ili u binarnom ili ternarnom maniru. Binarni CAM implementira standardne asocijativne informacije u odgovarajućoj širini i važećim bitovima. Ovakvi CAM-ovi su dobri u situacijama kada je potrebno tačno poklapanje asocijativnih informacija. Ternarni CAM duplira broj bitova asocijativnih informacija da bi spojio parove bitova pridruženih informacija sa svakim stvarnim bitom informacija. Ovakva dvo-bitna struktura dozvoljava kreiranje trećeg «ne zanima me» stanja X. Ternarni CAM je fleksibilniji od binarnog CAM-a, zato što može da poklapa delove asocijativnih informacija a ne samo bitove. U mrežnim primenama, ovo je veoma korisno, zato što se slične operacije često vrše na grupe adresa (asocijativnih informacija) iz jedne destinacije. To je kao da pošta želi da sortira sva pisma koja su poslata na poštanski kod 11230 preko 11239. Ternarni CAM bi mogao da izvrši poklapanje šablona sa jednim unosom. U suprotnosti, binarni CAM bi zahtevao deset redundantnih unosa da bi izvršio isti zadatak.

Ternarni CAM se često koristi da se implementira kompleksnija lookup tabela sa pretragama koje su prioriteta u odnosu na broj X bitova u svakoj asocijativnoj informaciji. Korišćenjem primera poštanskih kodova, moguće je da pošta pokušava da

- 70 -

izvrši dve preklapajuće pretrage. Možda takođe želi da sortira sve poštanske kodove od 11230 do 11239 u odrđenu korpu, osim 11234, koji bi se stavljao u svoju posebnu korpu. Ternarni CAM bi se podesio sa dva preklapajuća unosa:11234 i 1123X. Da se osigura da se 11234 uvek prvo traži nego 1123X, bilo bi potrebno da se pregleda pravilno podešavanje CAM-a koji se koristi. Ternarni CAM može da ima pravilo kojim najbolji ili najgori unos pobeđuje. Dok je ovaj primer jednostavan, koncept može da se proširi na mnogo nivoa poklapanja i prioriteta.

Slika 9.5.2.

Upravljanje ternarnim CAM-om sa preklapajućim unosima je kompleksnije od

upravljanje binarnim CAM-om, zato što se mora održavati sinhronizacija najboljih unosa sa potrebama primene, čak i kada se u CAM upisuje tokom operacije. CAM se retko inicijalizuje samo jednom i onda ostavi za ostale sistemske operacije. Njegov sadržaj se periodično menja kako se menja mrežni saobraćaj. Recimo da je CAM inicijalizovan sa poštanskim kodovima u ovom redosledu: 1121X, 11234, 1123X, 112XX. Gde bi se smestio novi specijalan slučaj 11235? Morao bi da prethodi 1123X da bi se poredio pre 1123X. Zato, sistem mora da privremeno pomeri CAM sadržaje da ubaci 11235 na pravu poziciju.

Slika 9.5.3.

Ako postoji dovoljno mesta u CAM-u, sistem bi mogao da se inicijalizuje i rezerviše slobodna mesta između validnih unosa. Ali, pre ili kasnije, CAM će da se ubaci u lokalnu oblast, i biće potrebno da se reorganizuje. Na performanse sistema će uticati kako su podaci smešteni i kako se CAM reorganizuje, zato što je verovatno da će CAM da se

- 71 -

pauzira u svojim pretraživačkim funkcijama dok se ne izvrši reorganizacija. Rešenja ovakvih pauza u radu uključuje CAM arhitekturu sa više memorijskih skupina (banki), gde sistem reorganizuje lookup tabelu u neaktivnoj skupini a onda brzo zameni neaktivnu i aktivnu skupinu.

CAM često ne asocira generalne bitove podataka sa svakim unosom, zato što je glavna svrha CAM-a da upoređuje asocijativne informacije, ne da čuva velike količine podataka. Zato je česta pojava da se CAM udruži sa SRAM memorijom koja stvarno sadrži podatke i koja može, u slučaju potrebe, da se poveća shodno potrebama primene, kao što je prikazano na slici 9.5.3. U ovom primeru, CAM sadrži 4,096 unosa i vraća 12-bitni indeks kada se informacije uspešno poklope. Taj indeks služi kao adresa u SRAM-u gde je magistrala podataka 32-bitna, kao što zahteva primena.

Kada se kombinuje sa konvencionalnim memorijama i nekom kontrolnom logikom, CAM podsistem se ponekad naziva pretraživač. Pretraživač se razlikuje od samostalnog CAM-a zbog poluautomatskih pretraga u korist drugih entiteta kao što su logika za računanje u hardveru ili softveru. Kontrolna logika pretraživača može da bude jednostavna i prima dodatne informacije za pretragu i onda vraća podatke sa flegom za upsešnu pretragu. Može da postane i kompleksnija i uključuje posebne funkcije tako da skupe operacije CAM-a budu potpuno skinute sa tereta kontrolne logike. Pretraživači su posebno korisni kada se radi sa mrežnim procesorima specijalne namene. Ovi procesori izvršavaju programe da odvajaju pakete i donose odluke o tome kako će da se rukuje svakim paketom. Funkcije za dodatne informacije se skidaju sa pretraživača kada nema dovoljno vremena da softverski algoritam pretraži čitav u tabelu.

- 72 -

10. Projektovanje memorijskog sistema

Par prvih koraka u dizajnu proizvoda podrazumeva zahteve za proizvodom, arhitekturu proizvoda i dizajn podsistema. Jedan od neophodnih podsistema je i memorijski sistem. Dizajn memorijskog sistema zavisi od veličine memorije, brzine, snage, postojećih standarda, novih standarda koji se razvijaju, korišćenja nekih starih dizajna i ostalih zahteva.

Proizvođači računarskih čip-setova umnogome utiču na dizajn memorijskih sistema za računare. Neki od ovih proizvođača poseduju i sopstvene procedure testira-nja, procese za utvrđivanje ispravnosti i radionice za testiranje proizvoda. Tipično je i navođenje raznih memorijskih proizvoda koji su prošli testiranje kompatibilnosti od strane proizvođača na sopstvenim sajtovima.

10.1. Simulacija dizajna

Ključni deo dizajna memorijskog sistema je simulacija dizajna. Važnost obimne

simulacija dizajna memorijskog sistema ne sme biti omalovažavana. Iskustvo je pokazalo da promena vrednosti otpornosti otpornika od samo par oma može imati značajan uticaj na pouzdanost rada samog memorijskog sistema.

Simulacija dizajna memorijskog sistema takođe treba da uključi efekte optere-ćenja u slučajevima kada se priključi bilo koji instrument na prototip sistema. Procesi verifikacije i debagovanja mogu biti jako teški ako prototip prestane sa radom usled probnog opterećenja. Takođe, simulacija treba da analizira signale u testnim tačkama prilikom priključenja instrumenta. Prozor sa ispravnim podacima prikazuje i menja svoje vrednosti duž toka signala od memorijskog kontrolera do SDRAM pinova.

Testne tačke bi po mogućstvu trebalo da budu što bliže pinovima prijemnika tako da instrument pokazuje signal koji će videti prijemnik. Ovo ponekad nije moguće pa je neophodno korišćenje raznih pomoćnih alata i uređaja kako bi se došlo do teško dostupnih signala. Ovakva pomoć takođe mora biti uključena u simulaciju dizajna kako bi se shvatio njen uticaj na SDRAM signale i merenja signala.

10.2. Verifikacija dizajna

Korišćenje novih DRAM osobina u dizajnu zahteva nove tehnike i metode

dizajniranja, koje se prostiru od novih tehnika u simulaciji dizajna pa sve do novih BIOS-a. Za rezultat imamo da uvođenje DRAM dizajna zahteva kompletnu verifikaciju i testiranje, od konstrukcije ploče do rada softvera kako bi se osigurao pouzdan rad memorije. Pouzdanost proizvoda će trpeti ako memorijski sistem ima neredovne slučajne greške usled nepotpuno verifikovane implementacije dizajna. Tada kupac može zatražiti proizvod koji zadovoljava različite zahteve testiranja definisanih od strane JEDEC.

- 73 -

10.3. Strategija verifikacije

Vrlo je važno imati strategiju za efektivno i brzo debagovanje problema prilikom

dizajna u bilo kojoj njegovoj fazi implementacije. Kratko zahtevano vreme od razvoja do izbacivanja proizvoda na tržište zahteva jako rano planiranje verifi-kacije i debagovanja. Ovakav jedan plan bi trebalo da identifikuje sledeće zahteve:

o koji su novi elementi u dizajnu, a koji stari i već korišćeni, o šta treba izmeniti ili izbeći na osnovu pređašnjih iskustava, o koji je potreban nivo testiranja i potvrde ispravnosti, i da li testiranje

zahteva posebne načine rada ili šeme signala, o koje su specijalne osobine u dizajnu neophodne (testiranje određenih

tačaka), da li je simulacija analize uključila testiranje prototipa, da li je potreban poseban softver za rad hardvera,

o koji su uslovi okruženja potrebni, o koju radnu vidljivost kola imamo kako bi lakše izvodili debagovanje, o koji je zahtevani kontrolni tip testiranja, da li će testne tačke za potvrdu /

debagovanje biti korišćene za testiranje proizvoda prilikom izrade, da li će testne tačke za potvrdu / debagovanje biti korišćene za popravku proizvoda pri servisu, i kako se upravljati prema riziku o stvarima koje nam tog trenutka nisu poznate.

Na primer, neke strategije verifikacije uključuju izgradlju validacionog prototipa sa

raznim testnim tačkama za verifikaciju nove arhitekture sistema sa novim ASIC / FPGA. Najbolje bi bilo da validacioni prototip radi u punoj radnoj brzini za verifikaciju performansi i rada u stvarnim uslovima. Složeniji dizajni zahtevaju sveobuhvatniju vidljivost njihovog rada u realnom vremenu kako bi se problemi sa lakoćom mogli detektovati. Kada jednom prototip radi ispravno i kada je proces potvrđivanja takvog ispravnog rada okončan, uvodi se konačni prototip sa reduko-vanim brojem testnih tačaka.

10.4. Verifikacija SDRAM

Verifikacija DRAM i tehnike testiranja zavise od toga šta se dizajnira. DRAM

dizajni su podeljeni u sledeće tipove: IC memorijskih kontrolera za računare, memorijska IC, AMB IC, DIMM, matične ploče računara i ugrađene sisteme. Svaki od ovih proizvoda zahteva drugačije strategije validacije (potvrđivanja ispravnosti), različite testove za potvrdu ispravnosti, kao i drugačiju test opremu. Na primer, dizajner memorijskog IC neće verifikovati konstrukciju ploče kola, dok će DIMM dizajner morati da verifikuje konstrukciju DIMM pločice.

Memorijski kontroler tipično dizajnira neko ko se bavi ugrađenim sistemima zbog jedinstvenih zahteva u radu sa specifičnim procesorima i ulazno-izlaznom

- 74 -

konfiguracijom. Kao rezultat toga imamo da značajan deo rada odlazi na dizajniranje memorijskog kontrolera i lejauta pločice između kontrolera i memorijskih IC. Verifikacija ovog dela dizajna je kritična za pouzdan rad čitavog uređaja.

Verifikacija DRAM i tehnike testiranja zahtevaju širok opseg opreme za testiranje i merenja poput osciloskopa, logičkih analizatora, sondi, softvera za analizu, ... (vidi Tabelu 10.4.1). Test oprema treba da pruži slobodno testiranje, preciznu akviziciju podataka i kompletnu vidljivost sistema po pitanju električnih signala i slojeva protokola. Za povećanje brzine i lakoće verifikacije memorijskog sistema neophodno je posedovati i odgovarajuće kapacitete za testiranje i analizu.

Tabela 10.4.1 : Zadaci verifikacije sa odgovarajućom test opremom Monitoring (praćenje stanja) računarskog ili ugrađenog sistema pomoću logičkog

analizatora stvara moćno okruženje za razvoj verifikacije i debagovanja. Logički analizator se koristi za praćenje aktivnosti na magistrali procesora, aktivnosti memorije i ulazno / izlaznih operacija. Kompletna vidljivost sistema na displeju logičkog analizatora pruža kritičan uvid u rad sistema u realnom vremenu. Uz to, korišćenje integrisanih osciloskopa i sondi za testiranje omogućava kompletnu vidlji-vost dizajna u smislu softvera, protokola, digitalnih i analognih talasnih oblika, i sve to na jednom displeju. Rezultat je moćna, sveobuhvatna i efikasna analiza prototipa.

Tektronix pruža kompletan skup alata uključujući najbolje osciloskope, diferencijalne TDR, kao i logičke analizatore sa podrškom za memorije Nexus Tehno-logije kako bi se omogućilo dizajnerima ugrađenih i računarskih sistema da izvedu brzu i preciznu električnu proveru i potvrdu rada određenih dizajna. Ovaj skup alata daje superiorne performanse sa neverovatnom lakoćom korišćenja što ga čini idealnim rešenjem za verifikaciju i testiranje ugrađenih sistema i sistema računarskih memorija.

- 75 -

11. Zaključak

Sve više se shvata važnost uloge koju proizvođači PC-a imaju u ostvarivanju napretka u polju PC sistema. Na osnovu zahteva kupaca, proizvođači prave poboljšanja u pouzdanosti memorijskog sistema i performansama, konfiguraciji i ostalim faktorima. Timovi inženjera komuniciraju sa svim najvećim snabdevačima memorijskih komponenata i čipova, kako bi odredili prave prioritete u proizvodnji. Jedan od najvećih proizvođača na ovom tržištu je Dell, koji je član Joint Electronic Device Engineering Council (JEDEC), i redovno se sastaje sa ostalim članovima JEDEC-a, kao što su ADT i Rambus, kako bi se osigurala dostupnost svih tehnoloških poboljšanja kupcima. Ovim radom priča o memorijskim elementima nije završena. Tržište memorijskih komponenti se menja toliko brzo da će ovaj rad za vrlo kratko vreme pre predstavljati istoriju razvoja memorijskih komponenti nego podatke o trenutnom stanju u razvoju memorija.

- 76 -

12. Rečnik opštih pojmova Zbog lakšeg objašnjenja ovaj rečnik opštih pojmova uključuje i uobičajene termine

koji se nisu koristili u prethodnom tekstu. Napredni memorijski bafer (AMB): Omogućava inteligentnu inicijalizaciju

kanala za prenos signala ka i od memorijskog kontrolera kako bi se postiglo podu-daranje sa rednim taktovima velike brzine; služi i za lociranje granica frejmova i verifikaciju povezanosti kanala.

Amplituda: Veličina snage signala. U elektronici se amplituda obično odnosi na veličinu napona ili snage.

Analogni signal: Signal kontinualno promenljivog napona. Analogno/digitalni konvertor (ADC): Digitalna elektronska komponenta koja

konvertuje električni signal u diskretne binarne vrednosti. Asinhron: Nesinhronizovan. Logički analizator radi na osnovu sopstvenog takta.

Takt je nezavisan i nije svestan tajminga uređaja koji se testira. Ovo je osnovno u “tajming” akvizicionom načinu rada.

BGA: Integrisano kolo. Propusni opseg: Frekventni opseg obično ograničen vrednošću od -3 dB. Bit: Binarni karakter čija vrednost može biti 0 ili 1. Bajt: Jedinica digitalne informacije koja se obično sastoji od 8 bitova. Omogućavanje čipa (CE#): Aktivira uređaj. Selektovanje čipa (CS#): Vrši odabir uređaja. Selektovanje adrese kolone (CAS#): Vrši odabir željene adrese kolone unutar

uređaja. Kursor: Marker na ekranu koji možete poravnjati sa talasnim oblikom kako bi

izvršena merenja bila preciznija. Ciklični redundansni kod (CRC): Broj izveden iz bloka podataka sa kojim se

smešta ili prenosi kako bi se mogla detektovati greška. Izračunavanjem novog CRC na prijemu i njegovim poređenjem sa originalno poslatom vrednošću CRC prijemnik može detektovati određene tipove grešaka u prenosu.

Decibel (dB): Jedinica koja se koristi za izražavanje relativnog odnosa dva električna signala, i jednaka je 10-strukom umnošku logaritma odnosa dva željena nivoa.

Uređaj pod testiranjem (DUT): Označava uređaj koji se testira opremom za merenje.

Digitalni osciloskop: Tip osciloskopa koji koristi A/D konvertor za konvertovanje merenog napona u digitalnu informaciju. Postoje tri tipa: digitalni sa memorisanjem, digitalni fosforni, i digitalni sa uzorkovanjem.

Digitalni fosforni osciloskop (DPO): Tip digitalnog osciloskopa koji blisko oslikava karakteristike prikazivanja analognog osciloskopa uz pružanje tradicionalnih prednosti digitalnih osciloskopa (smeštanje talasnih oblika, automatsko merenje,...). DPO koristi arhitekturu paralalnog procesiranja kako bi prosledio signal ka displeju raster tipa, koji pruža posmatranje signala zavisno od njegove jačine i to u realnom vremenu. DPO prikazuje signale u tri dimenzije: amplitudi, vremenu i raspodeli amplitude tokom vremena.

- 77 -

Digitalni osciloskop sa uzorkovanjem: Tip digitalnog osciloskopa koji koristi metod uzorkovanja u jednakim vremenskim intervalima za memorisanje i prikazivanje uzoraka nekog signala; idealan za precizno memorisanje signala čije su komponente frekvencije mnogo više od frekvencije uzorkovanja samog osciloskopa.

Digitalni signal: Signal čiji su uzorci napona predstavljeni diskretnim binarnim brojevima.

Digitalni osciloskop sa memorisanjem (DSO): Digitalni osciloskop koji pribavlja signale putem digitalnog uzorkovanja (pomoću A/D konvertora). Koristi serijsku (rednu) arhitekturu procesiranja za kontrolu akvizicije, korisničkog interfejsa i raster displeja.

Digitalizacija: Proces u kome analogno / digitalni konvertor u horizontalnom sistemu uzorkuje signal u diskretnim vremenskim intervalima i konvertuje napone signala u ovim trenucima u digitalne vrednosti.

Dvostruka brzina podataka (DDR): Maksimalna brzina podataka je dva puta veća od one brzine kojom se komande mogu taktovati u uređaju.

Dvostruki linijski memorijski modul (DIMM): Dominantna šema pakovanja za memorijske komponente sa dinamičkim pristupom u PC platformama.

Dinamička memorija sa direktnim pristupom (DRAM): Tip memorije koji smešta svaki bit podataka u zasebni kondenzator.

Kod za korekciju greške (ECC): Osam bitova provere koji se koriste za retekciju i korekciju greške.

Tranzistor sa efektom polja (FET): Tranzistor u kome se izlazna struja kontroliše promenljivim električnim poljem.

Fina BGA: Pakovanje integrisanog kola. Frekvencija: Brojaponavljaja nekog signala u jednoj sekundi, meren u hercima

(periodama u sekundi). Frekvencija je jednaka 1/perioda. Potpuno baferovani dualni linijski memorijski modul (FB-DIMM): Nova

generacija memorijske arhitekture. Gigabit (Gb): Milion bitova informacija. Gigabajt (GB): Milijardu bajtova informacija. Gigaherc (GHz): Milijardu herca. Glič: Slučajna greška velike brzine u kolu. Herz (Hz): Jedna perioda u sekundi. Jedinica frekvencije. iCapture multipleksiranje: Pruža simultanu digitalnu i analognu akviziciju putem

jedne sonde logičkog analizatora. iLink skup alata: Sastoji se od nekoliko elemenata dizajniranih da ubrzaju

detekciju problema i njegovo rešavanje, uključujući i: iCapture multipleksiranje, iView displej, i iVerify analizu.

Ulaz / izlaz (I/O): Tipično se odnosi na signale koji ulaze / izlaze iz uređaja. Integrisano kolo (IC): Skup komponenata i njihovih međusobnih veza izrađen na

štampanom kolu. Preplitanje: Razmeštaj u jednakim intervalima. iVerify analiza: Pruža višekanalnu analizu magistrala i testiranje korišćenjem

dijagrama oka koje kreira osciloskop. iView displej: Pruža vremenski korelisani integrisani logički analizator i merenja

osciloskopa na displeju logičkog analizatora.

- 78 -

Zajednički odbor inženjera elektronskih uređaja (JEDEC): Standardi-zaciono telo za poluprovodnike Elektronskog udruženja (EIA), organizacija koja predstavlja sve oblasti elektronske industrije.

Kiloherc (kHz): Hiljadu herca. Latentnost (kašnjenje): Vreme koje protekne između pobude i odgovora. Npr.

vreme od prvog do trećeg koraka ciklusa čitanja kada su podaci dostupni na DQ pinovima.

Opterećenje: Nenamerna interakcija sonde i osciloskopa sa kolom koje se testira i koja remeti signal.

Logički analizator: Instrument koji se koristi za pravljenje logičkih stanja od mnoštva digitalnih signala dostupnih tokom vremena. Analizira digitalne podatke i može dati predstavu prilikom softverskog izvršenja u realnom vremenu, daje vrednosti toka podataka,...

MagniVu akvizicija: Jedinstvena arhitektura uzorkovanja visoke rezolucije i središtu svakog TLA logičkog analizatora. Omogućava dinamički zapis aktivnosti signala uz visoku rezoluciju.

Megabit (Mb): Milion bitova informacija. Megabajt (MB): Milion bajtova informacija. Megaherc (MHz): Milion herca Megauzorak po sekundi (MS/s): Brzina uzorkovanja jednaka milion uzoraka u

sekundi. Megatransfer po sekundi (MT/s): Milion prenosa podataka u jednoj sekundi. Vreme memorijskog ciklusa: Vreme od prvog koraka do završenja poslednjeg

koraka u ciklusu čitanja. Mikrosekunda ( sµ ): Jedinica vremena od 0.000001 sekundi. Milisekunda (ms): Jedinica vremena od 0.001 sekundi. Minijaturni dualni linijski memorijski modul (Mini-DIMM): Manji je od SO-

DIMM i tipično se koristi u računarima sa jednom pločom. Matična ploča: Glavna ploča računarskog sistema koja sadrži procesor,

memorijski kontroler, hard disk kontroler, skup čipova za ulazno / izlazni interfejs,... Ostale ploče kola poput DIMM i video kartica se “ubodu” u matičnu ploču.

Nanosekunda (ns): Jedinica vremena od 0.000000001 sekundi. Šum: Neželjeni napon ili struja u električnom kolu. Osciloskop: Instrument koji se koristi da prikaže promene napona u vremenu. Reč

potiče od “oscilovati” jer se ovi uređaji često koriste za merenje oscilujućih napona. Omogućen izlaz (OE#): Aktivira izlaz uređaja. Perioda: Period vremena koji je potreban za završenje jednog cilkusa. Perioda je

jednaka 1/frekvencija. Posmatranje pre okidanja: Sposobnost digitalnog instrumenta da memoriše kako

je signal izgledao pre događaja okidanja. Određuje dužinu vidljivog signala pre i nakon trenutka okidanja.

Prenaelektrisanje: Faza u ciklusu pristupa DRAM-u tokom koje se kondenzatori za memorisanje dopunjavaju na odgovarajuću vrednost.

Sonda: Ulazni uređaj instrumenta za merenje, obično zašiljenog metalnog vrha za električni kontakt sa elementom kola, koji ima vod za povezivanje sa referentnom tačkom mase u kolu, i savitljivi kabl za prenos signala ka instrumentu.

- 79 -

Impuls: Uobičajeni talasni oblik koji ima strmu rastuću ivicu, širinu, i strmu opadajuću ivicu.

Povorka impulsa: Skup impulsa koji putuje zajedno. Širina impulsa: Količina vremena koja je potrebna impulsu da pređe sa vrednosti

niskog nivoa do vrednosti visokog nivoa i nazad; obično se meri na 50% vrednosti punog napona.

Rampe (kosine): Prelazi između naponskih nivoa sinusnih talasnih oblika koji se menjaju konstantnom brzinom.

Memorija sa direktnim pristupom (RAM): Memorijski uređaj u kome se informacijama može pristupati bilo kojim redosledom.

Ciklus očitavanja: Periodično ponovljena sekvenca događaja koja služi za čitanje iz uređaja.

Dužina snimanja: Broj tačaka u talasnom obliku koji služi za stvaranje zapisa o signalu.

Osvežavanje: Služi za održavanje veze slanjem novog električnog impulsa za ponovno punjenje čipova.

Registrovani dualni linijski memorijski modul (RDIMM): Redukuje neke od problema razgranate strukture stabla tako što baferuje RDIMM SDRAM takt, komandne signale i adresne signale na RDIMM.

Vreme porasta: Vreme koje je potrebno rastućoj ivici impulsa da poraste sa tipične vrednosti od 10% do 90%.

Selektovanje adrese reda (RAS#): Vrši se odabir reda unutar željenog uređaja. Tačka uzorkovanja: Sirovi podaci iz A/D konvertora korišćeni za izračunavanje

tačaka u talasnom obliku. Brzina uzorkovanja: Odnosi se na to koliko često instrument za digitalno merenje

uzima uzorak signala, navedeno u uzorcima u sekundi (S/s). Uzorkovanje: Konverzija dela ulaznog signala u broj diskretnih električnih

vrednosti u svrhu smeštanja, procesiranja i / ili prikazivanja na instrumentu. Redna detekcija prisustva (SPD): Koristi se zasebni elektronski programabilni

EEPROM uređaj za čuvanje karakteristika modula, tajminga i parametara perfor-mansi. Integritet signala: Precizna rekonstrukcija signala, određena sistemima i

performansama uređaja, uz dodatak sonde korišćene za akviziciju signala. Izvor signala: Testni uređaj koji služi za ubacivanje signala na ulaz kola; izlaz kola

se zatim očitava instrumentom za merenje. Takođe poznat i kao generator signala. Mali dualni linijski memorijski modul (SO-DIMM): DIMM malih dimenzija

korišćen u laptopovima. Sinhroni: Sinhronizovan. Akvizicija stanja logičkog analizatora je npr. sinhrona jer

logički analizator prima informaciju o taktu iz spoljašnjeg izvora, obično DUT. Ovo dovodi do toga da dva sistema budu sinhronizovana pa logički analizator prikuplja podatke samo kada je DUT aktivan. Ovo je poznato kao način akvizicije “stanja”.

Sinhrona dinamička memorija sa direktnim pristupom (SDRAM): Dizajnirana za sinhronizaciju DRAM rada sa ostatkom računarskog sistema i za eliminisanje definicije različitih načina rada memorijskih operacija zasnovanih na sekvenci CE#, RAS#, CAS#, i WE# promenama.

Sistem u testiranju (SUT): Sistem koji se testira instrumentom za merenje.

- 80 -

Reflektometrija u vremenskom domenu (TDR): Pogodan način za procenu vrednosti impedansi i promena duž prenosne linije (kabla, konektora, mikrostrip linije,...) na PC ploči.

Okidač: Kolo koje se odnosi na horizontalni deo instrumenta za merenje. Drugačije se naziva vremenska baza.

Čekanje okidača: Kontrola koja omogućava podešavanje perioda vremena nakon jednog okidanja, posle koga ne želimo okidanje instrumenta.

Nivo okidanja: Naponski nivo koji izvorni signal okidanja mora dostići pre nego što se kolo okidača inicira.

Neregistrovani dualni linijski memorijski modul (UDIMM): Ovo su bile prve primene DIMM. UDIMM ne poseduje baferovanje signala.

Dualni linijski memorijski modul jako niskog profila (VLP-DIMM): DIMM koji su kraći i niži i obično se koriste u serverima.

Volt (V): Jedinica razlike električnih potencijala. Napon: Razlika električnih potencijala dve tačke izražena u voltima. Talasni oblik: Opšti naziv za šemu koja se ponavlja u vremenu. Najuobičajeniji su:

sinusni, kvadratni, preavougaoni, testerasti, trougaoni, impulsni, periodični, neperiodični, sinhroni,...

Omogućavanje upisa (WE#): Aktivira se mogućnost upisivanja u uređaj.

- 81 -

13. Literatura

1. TEKTRONIX – Fundamentals of SD RAM Memory 2. Mark Balch – Complete Digital Design: A Comprehensive Guide to Digital

Electronics and Computer System Architecture, McGraw Hill, New York, 2003