Politechnika Częstochowska Wydział Inżynierii Mechanicznej i Informatyki



Pobieranie 96.72 Kb.
Data27.04.2016
Rozmiar96.72 Kb.



Politechnika Częstochowska

Wydział Inżynierii Mechanicznej i Informatyki

Pamięci Operacyjne

Przemysław Pilis

Informatyka, zaoczne

Magisterskie, uzupełniające

Rok 2, grupa II


Stały rozwój pamięci dynamicznych wymuszany był zawsze przez nieustające udoskona­lenia procesorów, Architekturę mikrokomputerów cechuje bardzo intensywna wymiana danych z pamięcią, Połączenie między CPU a pamięcią operacyjną jest podstawowym kanałem informacyjnym. którym przesyła się (często nawet wielokrotnie tam i z powrotem) większość przetwarzanych informacji, Dla lepszego zrozumienia roli odgrywanej przez układy pamięciowe warto na pewno prześledzić główne etapy rozwoju w tej dziedzinie.

Elementarną jednostką omawianych w tym rozdziale pamięci (komórką) jest prosta struktu­ra półprzewodnikowa składająca się z tranzystora i kondensatora. Prostota konstrukcji umożliwia ciasne upakowanie ogromnej ilości tego rodzaju układów na stosunkowo małym płatku krzemu. Wadą jest ulotność ładunku zgromadzonego w takim mikrosko­pijnym kondensatorze. Dla utrzymania logicznego stanu komórki (l i 0 to kondensator naładowany lub nie) niezbędne okazuje się odświeżanie jej zawartości. Stąd też pocho­dzi nazwa pamięci dynamiczne. bowiem układy tego typu nigdy nie odpoczywają. Bez względu na to, czy pamięć jest w danym momencie wykorzystywana w cyklu zapisu lub odczytu, czy nie, w jej wnętrzu trwa nieprzerwany ruch mający na celu zachowanie zgromadzonej informacji.

Współczesne scalone układy pamięci dynamicznych zawierają w sobie wiele setek milio­nów pojedynczych komórek. Aby zapanować nad tym chaosem. grupuje się je w prosto­kątne formacje (macierze) o określonej dla danej konfiguracji liczbie wierszy i kolumn (XxY). Pojedyncza macierz nazywana jest płatem pamięciowym. Liczba płatów decyduje o szerokości szyny danych układu. Pojedynczy płat odpowiada organizacji XxYx1 bit. Aby osiągnąć szerokość 1 bajta, potrzeba 8 płatów.

Macierz pamięciowa stanowi serce scalonego układu pamięciowego, ale nie jest jego jedy­nym elementem. Niemniej ważną rolę odgrywają układy dekoderów adresujących da­ną komórkę, zestawy precyzyjnych wzmacniaczy sygnałów, wychwytujące minimalne różnice napięć pomiędzy komórkami będącymi w stanach 1 i 0, system buforów wejścia i wyjścia, układy sterowania analizujące stan końcówek sterujących oraz obwody im­plementujące mechanizmy odświeżania.

Dostęp do takiego układu odbywa się w prosty i logiczny sposób. Za pomocą sygnałów kontrolnych określa się tryb dostępu dla danego cyklu (zapis lub odczyt). Końcówki adre­sowe układu scalonego podlegają multipleksowaniu, co oznacza, iż adres komórki przeka­zywany jest w dwóch porcjach (najpierw wiersz, a potem kolumna). Stosownie do aktual­nego trybu dostępu, doprowadza informację do portu danych (odczyt) lub odbiera (zapis).

Tryb konwencjonalny (Page Mode )

Najstarszy tryb dostępu do pamięci dynamicznej to oddzielne adresowanie wiersza i kolum­ny dla każdego cyklu. Adres wiersza zdejmowany jest przez układ pamięciowy z szyny adresowej w momencie wykrycia opadającego zbocza sygnału sterującego ~RAS (Row Address Select). Po zatrzaśnięciu tego fragmentu adresu w rejestrze wejściowym nastę­puje krótkotrwałe zwolnienie szyny adresowej, po czym odkłada się na niej fragment ad­resu odpowiedzialny za numer kolumny. Adres ten wprowadzany jest do układu pamię­ciowego w momencie zdekodowania opadającego zbocza sygnału sterującego ~CAS (Column Address Select).



Odczyt

Układ pamięciowy ocenia w momencie zdejmowania adresu kolumny również stan końcówki ~WE. Jeżeli jest on wysoki, rozpoznany zostaje cykl odczytu i zawartość za­adresowanej komórki wyprowadzana jest na szynę danych.


Rys.1.

Cykl odczytu pamięci tryb PM



Zapis

Jeżeli linia sterująca -WE znajduje się na poziomie niskim, układ rozpoznaje cykl zapisu i pobiera dane z szyny danych. Tryb adresowania komórki jest taki sam, jak w przypad­ku odczytu.



Rys. 2 Cykl zapisu pamięci – tryb PM



FPM (Fast Page Mode)

Tryb FPM oferuje pewne skrócenie czasu dostępu. Różnica w stosunku do trybu konwen­cjonalnego polega na uproszczeniu mechanizmu adresowania.

Dostęp do dowolnej komórki pamięci operacyjnej PC nie odbywa się poprzez odczyta­nie (lub zapis) tylko tej jednej wartości. Szczegóły konstrukcyjne wynikające z samej architektury (magistrale) narzucają bardziej racjonalny styl postępowania; wymiana da­nych między pamięcią a resztą systemu odbywa się w porcjach po kilka bajtów na raz. Postępowanie takie nie jest pozbawione sensu, zwłaszcza że przetwarzane przez komputer kody (dane i programy) skupione są zwykle w pewnym spójnym wycinku przestrzeni ad­resowej i w dużej mierze przylegają do siebie.

Przyjmując powyższe założenie, adres wiersza przekazuje się do układu pamięciowego tylko raz na cztery cykle dostępu, które razem tworzą swego rodzaju pakiet (Burst). Po­zostałe trzy cykle dostępu mają domyślnie ten sam adres wiersza, a tylko zmienny adres kolumny. Czas trwania poszczególnych cykli pakietu (mierzonych w jednostkach zegaro­wych magistrali) podaje się często w formie czterech liczb oddzielonych od siebie kreską, np. x-x-x-x. Pierwsza liczba informuje o czasie trwania pierwszego cyklu (jest z natury rzeczy większa od pozostałych, gdyż przekazywany jest adres wiersza i kolumny), a po­zostałe odnoszą się do kolejnych seryjnych cykli dostępu w obrębie tego samego wiersza. Im liczby te są mniejsze (optymalnie 1-1-1-1), tym wymiana danych przebiega szybciej. Pamięci FPM umożliwiają osiągnięcie w najlepszym razie stanu 5-3-3-3 (przy taktowa­niu zegarem 66 MHz).


Odczyt

Linia kluczująca adresu wiersza ~RAS utrzymuje się na poziomie niskim do czasu za­kończenia ostatniego cyklu pakietu. Odczyt rozpoznawany jest dzięki utrzymywaniu linii ~WE na poziomie wysokim.




Rys. 3. Cykl odczytu pamięci FPM



Zapis


Zapis nie różni się od odczytu niczym szczególnym, prócz zmiany poziomu linii steru­jącej -WE. Jej stan musi być utrzymywany na poziomie niskim.


Rys. 4. Cykl zapisu pamięci -FPM


EDO (Extended Data Out)

Pamięci dynamiczne EDO stanowiły kolejny etap rozwoju prowadzącego do skrócenia cza­su dostępu. Nie była to z pewnością propozycja szczególnie nowatorska, raczej drobna po­prawka w układach sterowania (a konkretnie buforach wyjściowych). W momencie wpro­wadzenia na rynek układy EDO były zdecydowanie droższe od pamięci konwencjonalnych, ale ich szybkie rozpowszechnienie spowodowało zwiększony popyt i spadek cen. Potem sytuacja się zmieniła i pamięci konwencjonalne stały się droższe, gdyż były produko­wane w śladowych ilościach. J ak to często bywa, powszechną akceptację rynku zdoby­wają często rozwiązania nie tyle rewolucyjne, co proste i tanie.


Odczyt

Charakterystyczne dla EDO jest to, iż aktualny cykl dostępu do pamięci może się rozpocząć przed zakończeniem cyklu poprzedniego, a dane utrzymywane są na wyjściu przez czas dłuższy niż w przypadku pamięci konwencjonalnej lub FPM. W trybie konwencjo­nalnym i FPM wzmacniacze wyjściowe odcinały dane w momencie wykrycia narastającego zbocza ~CAS. Parametry dostępu do EDO w trybie Burst mogą osiągać w optymalnych wa­runkach wartości 5-2-2-2.




Rys. 5. Cykl odczytu pamięci -EDO


Zapis

Korzyści płynące z zastosowania pamięci tego typu pojawiają się jedynie w czasie reali­zacji cykli odczytu. Zapis do EDO nie różni się niczym od dostępu do pamięci konwen­cjonalnej.




Rys. 6. Cykl zapisu pamięci - EDO



BEDO (Burst EDO)

Pamięci tego typu stanowią kombinację dwóch idei - wydłużenia czasu obecności danych na końcówkach wyjściowych (EDO) oraz strumieniowania (Pipelining). O BEDO można wspomnieć wyłącznie w aspekcie historycznym, gdyż mimo niewielkiego kosztu wpro­wadzonych poprawek (uzyskiwane efekty są niewspółmiernie większe), pamięci te nie doczekały się nigdy szerokiej akceptacji, aż wreszcie o nich zapomniano. Główna przy­czyna tego stanu rzeczy leży w architekturze scalonych układów sterowników płyt głów­nych typu 430VX i 430TX firmy Intel, które dominowały na rynku w momencie narodzin BEDO. Obydwa układy nastawione były od początku na pamięci synchroniczne (SDRAM), a wsparcie dla BEDO nie zostało w nich w ogóle zaimplementowane.


Parametry Burst wynoszą dla BEDO 5-1-1-1 i sięgają wartości typowych dla pamięci synchronicznych. Osiąga się to dzięki uproszczonemu sposobowi adresowania. Adres przekazuje się tylko raz na cały poczwórny cykl Burst i odnosi się on do początku obszaru. Pozostałe trzy adresy generowane są we wnętrzu układu. Sygnał ~CAS pełni od momentu przekazania adresu C1 funkcję zegara kluczującego, a chip BEDO reaguje podobnie do pamięci SDRAM, udostępniając dane z trzech kolejnych komórek pamięci.

SDRAM


Architektura PC od dłuższego czasu domagała się szybszych pamięci. Mała przepustowość magistrali pamięciowej stawała się szczególnie kłopotliwa w miarę wzrostu częstotliwości taktowania CPU. W chwili wprowadzenia procesorów Pentium II stało się oczy­wiste, że modele taktowane zegarem powyżej 350 M H z nie mogą efektywnie współpracować z magistralą pamięciową 66 MHz. Nie mniejszy nacisk wywoływało powołanie do życia podstawki Super 7, której specyfikacja dopuszczała podwyższenie przepustowości poza zakres oferowany przez szynę 66 MHz. Główny problem polegał na tym, że dotych­czas stosowanych pamięci nie dało się dostosować do nowych wymogów -nie można było bezkarnie zwiększać ich częstotliwości pracy.
Pamięci dynamiczne SDRAM (S = synchroniczne) nie różnią się w swej naturze od innych pamięci dynamicznych; nośnikiem informacji jest nadal matryca komórek, bazujących na kondensatorach i tranzystorach wykonanych w technice CMOS. Inne są natomiast spo­sób sterowania taką matrycą oraz technika dostępu.

Wszystkie sygnały sterujące SDRAM synchronizowane są z jednego przebiegu zegaro­wego. Ułatwia to integrację pamięci w systemie (współpraca z magistralami), bowiem znacznie prościej jest utrzymać (mimo podwyższonych częstotliwości taktujących) i zagwarantować zaostrzone reżimy czasowe.

Dostęp do pamięci SDRAM, jakkolwiek możliwy w klasycznym trybie pojedynczych cykli, ma miejsce z reguły w formie cykli zgrupowanych (Burst). Dostęp grupowy obejmuje swoim zasięgiem 2, 4 lub 8 kolejnych lokalizacji albo też rozciąga się na cały wiersz (Page). Adres początkowy grupy przenoszony jest w pierwszym cyklu wprowadzającym (Lead off). Reszta adresów określana jest w sposób domniemany, a ich wytwarzaniem zaj­muje się wewnętrzny licznik pamięci. Dostęp może mieć charakter sekwencyjny i przemierzać kolejne adresy logiczne (choć niekoniecznie musi zaczynać się na początku takiej czwórki, na przykład przyjmować formę l, 2, 3, 0) lub przebiegać według pewnego określonego szablonu (lnterleave), na przykład w kolejności 2, 3, 0, 1 w obrębie grupy poczwórnej. Burst może zostać przerwany (przejście w tryb Suspend) i ponownie wzno­wiony, a jego poszczególne elementy - opuszczone (sygnał DQM).

Przed przystąpieniem do pracy układ SDRAM musi zostać zaprogramowany. Operacja ta dokonywana jest na polecenie BIOS-u i odbywa się zwykle w momencie włączenia komputera. W fazie tej do pamięci SDRAM przekazywane są informacje o charakterze konfiguracyjnym - długość i typ dostępu grupowego oraz niektóre parametry czasowe. Dane te umieszczane są w specjalnym rejestrze konfiguracyjnym (Mode Register).

Większość układów SDRAM dzieli się na niezależne bloki (zwykle 2 lub 4) nazywane bankami. Banki są na tyle autonomiczne, że można je wykorzystywać niezależnie od siebie. Umożliwia to zręczne ukrywanie niektórych opóźnień czasu dostępu, np. cyklu wpro­wadzającego (Lead Off - Row Access Time) przy konieczności zmiany wiersza (Page Miss). Układ pozoruje wówczas tzw. wydłużony cykl grupowy (Extended Burst) ozna­czany symbolicznie sygnaturąX-l-l-1-l-l-l-l.

Problem odświeżania przeniesiony został całkowicie do wnętrza SDRAM, a kontroler pamięci nie jest już nim obarczany. Każdy chip wyposażony jest we własny generator pobudzający w odpowiednim rytmie wszystkie wiersze matryc.

SDRAM to kolejny krok naprzód w dziedzinie rozwoju układów pamięci, ale z pewnością nie rozwiązuje jeszcze wszystkich problemów. Zalety tej techniki stają się widoczne (i mierzalne) w określonych warunkach. Czas opóźnienia, mierzony od momentu przyłożenia adresu do momentu pojawienia się pierwszych danych, jest nadal stosunkowo długi. Wynosi on około 5 cykli zegarowych, czyli jest porównywalny z wartościami typowymi dla EDO i FPM. Burst 5-1-1-1 możliwy był do osiągnięcia również przez BE­DO, a więc technologię, która mogła wcześniej wejść do użycia. Różnica uwidacznia się dopiero przy wzroście częstotliwości taktowania magistrali powyżej 66 MHz. Techniki EDO i FPM nie sięgają tak wysoko. Pojedynczy cykl dostępu do SDRAM trwa przy częstotliwości 100 M H z tylko 10 ns, a Burst obejmujący swym zasięgiem cały wiersz pa­mięci dostarcza potężny strumień danych w tym właśnie tempie.

Zapis i odczyt


Operacje zapisu i odczytu pamięci SDRAM przebiegają najkorzystniej w formie pakietów (Burst). Ponieważ parametry transmisji określono w fazie programo­wania, wystarczy podać adres początkowy obszaru pamięci, a kolejne lokalizacje zdefinio­wane zostają w sposób jednoznaczny. Adres wiersza ustala się w momencie aktywacji banku tak, że zmieniają się jedynie adresy kolumn, a konkretnie kilka ostatnich bitów (np. Burst ośmiokrotny -3 bity).
Pierwsza porcja danych pakietu wyprowadzana jest zgodnie z definicją zawartą w fazie programowania (Read Latency lub inaczej CAS Latency) po 2 lub 3 cyklach zegarowych od momentu podania komendy i adresu kolumny. Cykl zapisu następuje bez opóźnienia (Write Latency = 0). Dane przejmowane są z magistrali wraz z wystąpieniem pierwszego narastającego zbocza CLK.

Po zakończeniu fazy Burst bufory wyjściowe przechodzą automatycznie w stan wysokiej impedancji i układ jest odcinany od magistrali.



Rys. 7. Przykładowy cykl odczytu danych z pamięci SDRAM



Odświeżanie


Pamięci SDRAM są nadal pamięciami dynamicznymi i nie są zwolnione z obowiązku

odświeżania zawartości. Sposób przeprowadzania tej operacji może być jednak różny:

1) Standard Refresh. Standardowy tryb pracy zapewniający zgodność w dół. Odpowiada on przedstawionemu przy okazji omawiania pamięci DRAM trybowi RAS-Only. Kontroler generuje kolejno wszystkie adresy wierszy dla każdego z banków oddzielnie. Cały cykl musi się zamknąć w oknie czasowym 64 ms.

2) Auto Refresh. Komenda rozpoznawana jest poprzez kombinację ~RAS = 0, ~CAS = 0, ~WE = l. Ignorowany jest zarówno adres na liniach AO -A11 , jak i numer banku (A12, A13). Układ generuje samorzutnie kolejne adresy i odświeża wiersz o aktualnym numerze we wszystkich 4 bankach jednocześnie. Jeśli kontroler pamięci wybrał ten tryb pracy, musi wydać 4096 komend Auto Refresh w oknie czasowym nie przekraczającym 64 ms. Kolejne rozkazy mogą być rozłożone równomiernie w czasie lub zgrupowane w jeden duży pakiet.



Self Refresh. Pamięci SDRAM mają wbudowany mechanizm samoodświeżania. Do odświeżania w tym trybie dochodzi w momencie zablokowania napływu impulsów zegarowych (CKE = o). Układ przechodzi w energooszczędny stan uśpienia, a odświeżanie przebiega w tle.

Organizacje logiczne kostek SDRAM

Układy pamięci SDRAM wytwarzane są w wielu odmianach. Matryca pamięciowa o określonym rozmiarze może być przecież zorganizowana na szereg różnorodnych spo­sobów (liczba wierszy i kolumn oraz ilość banków). Typowe formy organizacji zebrane zostały w tabeli.




Tabela 1 Typowe formy organizacji układów pamięci SDRAM

Pojemność

SDRAM

Organizacja

Liczba bitów

adresowych

na wiersze

Liczba bitów

adresowych

na kolumny

Liczba bitów

adresowych

na banki

Sumaryczna

liczba bitów

adresowych




16Mb

lMx16

11 (A0 - Al0)

8 (A0 - A7)

l

20

2Mx8

11 (A0 – Al0)

9 (A0 - A8)

l

21

4Mx4

11 (A0 - Al0)

10 (A0 - A9)

l

22

64Mb

2Mx32

11 (A0 - Al0)

8 (A0 - A7)

2

21

4Mx16

12 (A0 -A11)

8 (A0 - A7)

2

22

4Mx16

13 (A0 -A12)

8 (A0 - A7)

1

22

8Mx8

12 (A0 - All)

9 (A0 - A8)

2

23

8Mx8

13 (A0 - A12)

9 (A0 - A8)

l

23

16Mx4

12 (A0 - A11)

10 (A0 - A9)

2

24

16Mx4

13 (A0 - A12)

10 (A0 - A9)

l

24

256 Mb

8Mx32

12 (A0 – Al1)

9 (A0 - A8)

2

23

8Mx32

13 (A0 - A12)

8 (A0 - A7)

2

23

16Mx16

13 (A0 - A12)

9 (A0 - A8)

2

24

32Mx8

13 (A0 - A12)

10 (A0 - A9)

2

25

64Mx4

13 (A0 - A12)

11 (A0 - A9, A11)

2

26



Organizacja logiczna kostki SDRAM jest decydującym czynnikiem w fazie projekto­wania modułu pamięci. Rozważmy na przykład piąty wiersz tabeli. Przestrzeń adresowa o wymiarze 4 M ( czyli 222) pokrywana jest niezależnie od organizacji za pomocą 22 bitów. Przy podziale na 4 banki każdy z nich ma po 16 Mb. W tym konkretnym przypadku układ poświęca 12 bitów adresowych na wiersz i 8 bitów adresowych na kolumnę. Ponie­waż wyprowadzanych jest 16 linii danych, 4 takie chipy umożliwiają utworzenie magi­strali 64-bitowej .

W formacji jednorzędowej (lub inaczej jednostronnej) chipy ułożone są logicznie wzdłuż magistrali danych, a każda jej linia połączona jest z jednym i tylko jednym wyprowa­dzeniem kostki pamięci. Całkowita pojemność przykładowego modułu jednostronnego wynosi więc 256 Mb, czyli 32 MB. Moduł taki oznaczany jest jako 4Mx64 o rozkładzie R/B/C (Mapping: Row/BanklColumn) postaci 12/2/8.


Inna forma organizacji to formacja dwurzędowa (dwustronna) -różnica staje się jasno widoczna podczas dokładnej analizy rysunku 3.12. Połączenie 8 takich samych kostek w układzie dwurzędowym tworzy moduł 64 MB 8Mx64 opisany rozkładem 12/2/8.


DDR-SDRAM

Synchroniczne pamięci dynamiczne opatrzone przedrostkiem DDR (Double Data Rate) przekazują w każdym takcie zegara dwa słowa danych. Zasada ta jest stosowana dosyć szeroko. Korzystają z niej między innymi magistrala EV6 procesorów Athlon, karty gra­ficzne w trybie AGP-2X oraz pamięci RAMBUS.

Rozwój technologii DDR wspierają prace wspólnego komitetu AMI2 (Advanced Memory Internalional), skupiającego czołowych producentów chipów pamięciowych i firmy ofe­rujące technologie wspomagające. Standard propagowany jest jako otwarty (brak opłat licencyjnych), co ma sprzyjać jego szerokiemu rozpowszechnieniu. Pamięci DDR ozna­czane były w początkowej fazie również jako DSDRAM (Double Speed DRAM) lub SDRAM-II, ale nazwy te nie zyskały powszechnej akceptacji.

Precyzyjne określenie położenia impulsów danych w stosunku do obydwu zboczy sygnału zegarowego wymagało przyjęcia dwóch rozszerzeń konwencjonalnej techniki SDRAM:

1) Impulsy zegarowe przesyła się w formie dwóch przebiegów komplementarnych (CLK/~CLK). Momenty kluczowania wyznaczane są na przecięciu tych dwóch przebiegów.

2) Wprowadzono specjalny dwukierunkowy sygnał zegarowy DQS. W operacjach odczytu linia ta sterowana jest przez układ pamięciowy, a w fazie zapisu przez kontroler pamięci. System wykorzystuje obydwa zbocza impulsów DQS, przy czym wycinek czasu, w którym dane utrzymywane są na magistrali DQ, dopasowywany jest do DQS w zależności od kierunku transmisji; przy zapisie do pamięci wyrównanie do zboczy, a w cyklach odczytu -do środka impulsów.




Rys. Cykl zapisu następujący po cyklu odczytu – DDR SDRAM


Konstrukcja wewnętrzna chipów zbliżona jest do klasycznych pamięci SDRAM, ale imple­mentacja funkcji DDR wymaga wprowadzenia pewnych modyfikacji. Ograniczają się one w zasadzie do kilku bramek i rejestrów umożliwiających implementację dwukie­runkowego sygnału zegarowego DQS. Stopnie I/O magistrali danych oraz sam sygnał DQS pracują w standardzie SSTL-2, który cechuje się między innymi obecnością sygnału odniesienia, zawieszonego w połowie drogi pomiędzy logicznym zerem a logiczną jedynką.

Moduły DDR przypominają na pierwszy rzut oka te w wersjach SDRAM-PC-100/133 (mają tę samą szerokość). Inna jest jednak topologia listwy połączeniowej, która w przypad­ku DDR zawiera 184 pola kontaktowe (dla porównania: SDRAM posługuje się listwami o 168 końcówkach ). Istnieje tylko jeden klucz (środkowy) kodujący wartość napięcia za­silającego.

System oznaczeń modułów DDR upodobnił się do terminologii używanej poprzednio przez PC-100 i PC-133. Mówi się więc o modułach PC-200 i PC-266, co ma symbolizować podwójną wartość częstotliwości taktującej. W istocie rzeczy podwojeniu ulega maksy­malna wartość pasma przepustowego magistrali pamięciowej (do 1,6 GB/s przy 100 MHz i do 2,1 GB/s przy 133 MHz), ale nie same częstotliwości zegarowe. Omawiane w następ­nym punkcie moduły RIMM oferowane były początkowo w klasach PC-600 i PC-700. Niektórzy propagatorzy technologii DDR, nie chcą pozostać w tyle, zaczęli stosować ozna­czenia PC-1600 i PC-2100. Firmy ALi i SiS będące producentami chipsetów dla procesorów Athlon i Pentium-4 (ALADDiN-P4, SiS645 i SiS735/745) wprowadziły implementa­cję PC-333 (DDR, zegar 166 MHz). Tryb ten odpowiada pasmu 2,7 GB/s, więc stosowane jest oznaczenie PC-2700.
Praktyczne wartości transferu leżą daleko poniżej teoretycznych parametrów szczytowych. Magistrala transmituje przecież nie tylko dane, ale i rozkazy, a same chipy pamięciowe mają czasy martwe. w których przebiega odświeżanie. Osiągane wartości zależą też w dużej mierze od konstrukcji chipsetu i jego zdolności do optymalnej implementacji protokołu magistrali. Moduły DDR występują (podobnie do klasycznych wersji SDRAM) w od­mianach z ECC oraz buforowanych (Buffered/Registered). Buforowaniu podlegają wszystkie linie z wyjątkiem magistrali danych. a także końcówek DQS i DM ( oraz na­turalnie sygnałów przynależnych do SPD). Dokumenty normalizacyjne przewidują po­nadto możliwość tworzenia specjalnych konstrukcji wielowarstwowych (DDR FET Switched DIMM), w których każdy z chipów pamięciowych uzupełniany jest trzema dodatkowymi. W danym momencie aktywny jest tylko jeden z nich, a przełączanie odbywa się za pomocą kluczy FET. Kluczami steruje się za pomocą specjalnych sygnałów ~QFC wyprowadzanych z każdego chipu pamięciowego. W ten sposób moduł ma poczwórną pojemność, a obciążenie linii jest takie, jak w przypadku pojedynczego.
DDR-II i DDR-III

Specyfikacja DDR-II obejmuje zakres od PC-3200 wzwyż (początkowo DDR-400 i DDR-533). Technologia jest zgodna w dół aż do zestawu rozkazów. Pierwsze chipy o po­jemności 512Mb wyprodukowane zostały w technologii O, 13m prawie jednocześnie przez Samsunga i Elpidę (spółkę NEC/Hitachi). W DDR-II korzysta się z zasilania 1,8 V co obniża zużycie energii w stosunku do interfejsu SSTL-2. O skali problemów związanych z równomiernym rozprowadzaniem sygnałów zegarowych w chipach tego typu może świadczyć parametr dopuszczalnych przesunięć zboczy na skutek niedokładności wy­konania: wynosi on 0,03 ns. W chipach DDR-II zaimplementowano kilka nowych funkcji pozwalających na lepsze wykorzystanie pasma magistrali (eliminacja pewnych typów kolizji). Zwiększony został również nacisk na poprawę parametrów elektrycznych nie­których sygnałów poprzez precyzyjne operowanie elementami Pull-up i Pull-down.

W drugiej połowie roku 2002 podano do wiadomości, iż komitet normalizacyjny JEDEC rozpoczął prace nad specyfikacją DDR-III.

RDRAM

Technologia RDRAM (Direct Rambus DRAM) opracowana została przez firmę Rambus i przez nią też opatentowana. Nie stanowi więc (tak jak np. PC-100/133) tzw. otwartego standardu, a producenci zmuszeni są do uiszczania opłat licencyjnych. W chwili obecnej zdefiniowane są trzy standardy Rambus: Base, Concurrent i Direct. Dwa pierwsze stosuje się w stacjach roboczych SGI oraz w konsolach Nintendo 64, a trzeci próbuje zaznaczyć swą obecność w świecie PC.
Cechą najbardziej różniącą RDRAM od innych typów pamięci jest pakietowy tryb pracy samej magistrali. Jej początek stanowi kontroler Rambus (zlokalizowany przykładowo we wnętrzu chipsetu i820). Koniec zamknięty jest specjalnie dobranymi terminatorami. Do jednej magistrali (nazywanej też kanałem) dołączonych może być nie więcej niż 32 użytkowników (czyli chipów pamięciowych RDRAM). Chipsety obsługujące pamięci Rambus korzystają z co najmniej dwóch takich kanałów, pomnażając w ten sposób możliwości systemu.
Wewnętrzna konstrukcja chipów pamięciowych RDRAM odpowiada z grubsza kla­sycznym pamięciom SDRAM, ale o nieco odmiennej organizacji. Przykładowa kostka 128 Mb składa się z 32 banków (SDRAM ma zwykle 4 banki) i wyposażona jest w szybkie bufory wewnętrzne. Nietypowa jak na dzisiejsze czasy jest też sze­rokość magistrali Rambus, wynosi ona bowiem 16 bitów. Sama matryca pamięciowa (DRAM Core) nie różni się -poza szerokością szyny danych -od tej, którą wbudowuje się w zwykłe chipy SDRAM.

RDRAM jest formą pamięci synchronicznej. Podobnie jak w przypadku DDR-SDRAM, wykorzystuje się obydwa zbocza sygnału zegarowego. Również i tu przesyła się (dla lep­szego wychwycenia tych zboczy) parę sygnałów komplementarnych, a właściwe impulsy kluczujące wyzwalane są w punkcie przecięcia zegara i jego negacji. Specjalnością techniki Rambus jest specjalny sposób prowadzenia tych sygnałów. Impulsy wstrzykiwane są w punkcie końcowym, po czym przebiegają poprzez wszystkie chipy do kontrolera (CTM: Clock to Master) i drugą linią z powrotem (CFM: Clockfrom Master). Dzięki temu każdy z chipów synchronizuje się z takimi impulsami zegarowymi, które są zgodne z kierunkiem aktualnie przesyłanych danych (zapis lub odczyt).


Wykrywanie błędów i ich korekcja
Zjawisko przekłamywania informacji dotyczy nie tylko samego procesu transmisji danych, ale i ich magazynowania. Protokoły transmisyjne zabezpieczają się przed mogącymi wy­stąpić błędami za pomocą różnorodnych metod. Arsenał stosowanych środków obejmuje zarówno proste sumy kontrolne, zabezpieczające pojedyncze słowa, jak i rozbudowane kody kontrolne chroniące całe bloki danych.
Informacje zebrane w pamięci operacyjnej komputera są również narażone na przekła­mania, chociaż źródła tych zjawisk mają inne pochodzenie niż w przypadku transmisji. Pamięci dynamiczne stosowane w PC nie dają 100 procentowej gwarancji bezpieczeń­stwa dla przechowywanej informacji. Źródła tych przekłamań dzieli się na dwie grupy, określane mianem błędów powtarzalnych (Repeatable Errors, Hard Errors -HE) i błędów sporadycznych (Transient Errors, Soft Errors -SE).
Błędy powtarzalne (HE)

Błędy z tej grupy odwzorowują trwałe uszkodzenia układów elektronicznych lub połączeń między nimi. Klasycznym przykładem HE może być zwarcie w stopniu wyjściowym jednego z buforów magistrali danych. Kostka pamięci wystawia wówczas na uszkodzonej linii (niezależnie od faktycznej zawartości danej lokalizacji pamięci) zawsze ten sam poziom logiczny.



Błędy sporadyczne ( SE)

Źródłem błędów tego rodzaju jest promieniowanie jonizacyjne (, , ), a w głównej mierze szczątkowe promieniowanie a emitowane przez zanieczyszczenia samej struktury krzemowej oraz materiał izolacyjny obudowy scalonego układu pamięci, a także pro­mieniowanie kosmiczne. Częstotliwość występowania błędów SE określa współczynnik SER (Software Error Rate). Charakterystyczne jest, iż liczba przekłamań wywołanych przez te czynniki maleje wraz z postępem technologicznym. Pamięć operacyjna 1 MB praprzodka dzisiejszych komputerów PC zbudowana była z kostek o pojemności jednostkowej 64 kb. Szacunkowe obliczenia prowadzą do wniosku, iż błędy SE pojawiały się wówczas średnio co 120 godzin pracy.

Nowoczesny komputer wyposażony jest w minimum 128 MB pamięci operacyjnej SDRAM, ale na podstawie kostek co najmniej 16 Mb. Konstrukcja taka podlega wystą­pieniom błędów SE średnio raz na 8 lat nieprzerwanej pracy. Powyższe oszacowania pochodzą od jednego z producentów układów pamięci imają charakter symulacji staty­stycznej modelowanej w warunkach idealnych. Oczywiście, uwzględnienie wpływu realne­go otoczenia i rzeczywistych warunków pracy może dać mniej optymistyczne wyniki. Nie wolno przecież zapominać o rozrzucie technologicznym i niedokładnościach wykonania układów, wpływie podwyższonej temperatury i zawyżanych częstotliwości taktowania, a także złej jakości impulsów sterujących powstałych na skutek niedopracowania układów otoczenia modułów pamięciowych (niestarannie projektowane płyty główne, przesłuchy na ścieżkach, niedostateczna filtracja sygnałów zakłócających na liniach zasilania).

Ocenia się, że współczesny statystyczny PC podlega, w warunkach realnych, średnio jed­nemu błędowi SE na rok nieprzerwanej pracy. Wartość taka budzi co prawda zastrzeżenia w odniesieniu do serwerów dużych baz danych, ale nie powinna spędzać snu z powiek statystycznemu posiadaczowi komputera w domu lub pracy.


Kontrola ECC

W momencie, gdy szerokość magistrali pamięciowej osiągnęła 8 bajtów, stało się oczywiste, iż nadszedł czas na wprowadzenie efektywniejszych środków kontrolujących spójność danych. Zadanie to powierzono sumie kontrolnej ECC (Error Correctżon Code), której możliwości nie ograniczają się wyłącznie do wykrywania błędów, ale (w pewnym ograni­czonym zakresie) również do ich korekcji.

64-bitowe moduły z parzystością potrzebowały 8 dodatkowych bitów -tyle również wymagane jest dla zaimplementowania ECC w formie SEC (Single Error Correct). Zwolennicy modułów z ECC mają ułatwione zadanie z uwagi na czynnik ekonomiczny. Aktualna sytuacja cenowa jest taka, iż moduły z parzystością stają się droższe od swych od­powiedników z ECC. Na parzystość poświęcano dotychczas specjalne kostki pamięci (inne niż dla danych), w organizacji ...x1lub z czterema końcówkami -CAS (Quad-CAS DRAM). Moduły ECC są tak projektowane, by wykorzystywały dokładnie te same układy, w których magazynuje się dane.

Warto wiedzieć, że system pracujący pod nadzorem ECC cechuje się zmniejszeniem wydajności (programy testowe wykazują spadek o 1 -3% ). Główne powody tego stanu rze­czy można zebrać w dwóch punktach:

-Cykle odczytu. Źródłem opóźnienia są dodatkowe układy logiczne implementujące algorytm obliczający sumy ECC. Obwody te bazują na kaskadowym połączeniu bramek XOR, które nie należą do najszybszych elementów logicznych. W wyniku tego nieco wydłuża się czas dostępu. W odniesieniu do wymiaru dostępu

pakietowego (Burst) mamy, w przypadku EDO, zamiast x-2-2-2 -raczej x-3-3-3.



.Cykle zapisu. Sam układ ECC jako taki nie wprowadza w zasadzie znaczących opóźnień w czasie dostępu do pamięci. Rzeczywiste spowolnienie pracy systemu

z aktywnym mechanizmem ECC pojawia się w cyklach zapisu, odwołujących się do pojedynczych bajtów lub ogólnie lokalizacji o szerokości poniżej 64 bitów. Dostęp taki po prostu nie może być wykonany i jest blokowany przez kontroler pamięci. Kontrolny bajt ECC obejmuje bowiem swym zasięgiem obszar pełnych 8 bajtów. Jakakolwiek najmniejsza zmiana w obrębie tego obszaru pociąga za sobą konieczność korekcji sumy kontrolnej. Oznacza to, iż cykl zapisu musi być w tym przypadku poprzedzony cyklem odczytu (8 bajtów). Odczytany blok zostaje zmodyfikowany, po czym oblicza się nową sumę kontrolną i zapisuje całość. Proces ten określany jest też często mianem RMW (Read-Modify-Write).


©absta.pl 2016
wyślij wiadomość

    Strona główna