Pamięci

95
Pamięci Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz

description

Pamięci. Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz. Opracował: Andrzej Nowak. Rodzaje pamięci. Rodzaje pamięci – podział ogólny. - PowerPoint PPT Presentation

Transcript of Pamięci

Page 1: Pamięci

Pamięci

Opracował: Andrzej Nowak

Bibliografia:Urządzenia techniki komputerowej, K. Wojtuszkiewicz

Page 2: Pamięci

Rodzaje pamięci

Page 3: Pamięci

Rodzaje pamięci – podział ogólny

RAM (ang. Random Access Memory), - pamięć o dostępie swobodnym – przeznaczona do zapisu i odczytu. RAM jest pamięcią ulotną, co oznacza, że po wyłączeniu zasilania informacja w niej przechowywana jest tracona.

ROM (ang. Read Only Memory) – pamięć półprzewodnikowa – pamięć o dostępie swobodnym przeznaczona do odczytu. ROM jest pamięcią nieulotną.

Page 4: Pamięci

Podstawowe definicje

Page 5: Pamięci

Podstawowe definicje

Pamięciami półprzewodnikowymi nazywamy cyfrowe układy scalone przeznaczone do przechowywania większych ilości informacji w postaci binarnej.

Page 6: Pamięci

Podstawowe definicje

Adres – niepowtarzalna liczba (numer) przypisana danemu miejscu (słowu) w pamięci w celu jego identyfikacji

Słowo w pamięci – zestaw pojedynczych komórek (pojedynczych bitów) pamięci, do którego odwołujemy się pojedynczym adresem

Organizacja pamięci – sposób podziału obszaru pamięci na słowa

Page 7: Pamięci

Podstawowe parametry

Page 8: Pamięci

Podstawowe parametry

Pamięć o dostępie swobodnym – pamięć, dla której czas dostępu praktycznie nie zależy od adresu słowa w pamięci, czyli od miejsca, w którym jest przechowywana informacja

Transfer danych – maksymalna liczba danych, jaką możemy odczytywać z pamięci lub zapisywać do pamięci w danej jednostce czasu

Page 9: Pamięci

Podstawowe parametry

Pojemność pamięci – maksymalna liczba informacji, jaką możemy przechować w danej pamięci

Czas dostępu – czas, jaki musi upłynąć od momentu podania poprawnego adresu słowa w pamięci do czasu ustalenia się poprawnej wartości tego słowa na wyjściu pamięci w przypadku operacji odczytu lub w przypadku operacji zapisu – czas, jaki upłynie do momentu zapisania wartości do tego słowa z wejścia pamięci.

Page 10: Pamięci

DB

AB

R/W# CS# MEM

M - pojemność pamięci,

n - długość słowa przez,

m - ilość linii adresowych

M = n x 2m

Page 11: Pamięci

Organizacja pamięci

Page 12: Pamięci

R/W# CS#

dane adres

Organizacja – bitowa, 32x1b

R/W# CS#

dane adres

Organizacja – bajtowa, 4x1B

Organizacja pamięci

Page 13: Pamięci

Metody zwiększania ilości pamięci

Page 14: Pamięci

1. Zwiększanie długości słowa

W celu zwiększenia długości słowa szerszą magistralę danych budujemy z bitów linii danych kolejnych układów scalonych pamięci, natomiast magistralę adresową i sygnały sterujące łączymy równolegle.

Page 15: Pamięci

Zwiększanie długości słowa Wyjście/wejście danych

Adresy

D0

D2D3

D1

D0

D0

D1

D2D3

CS#

R/W#

Page 16: Pamięci

2. Zwiększanie liczby słówW celu zwiększenia liczby słów pamięci zwiększamy liczbę potrzebnych adresów, a co za tym idzie – rozbudowujemy szynę adresową o dodatkowe bity potrzebne do uzyskania tych adresów.

Przy niezmienionej długości słowa szyna danych pozostaje bez zmian.

Dodatkowe bity adresu służą, przy wykorzystaniu dekodera, do wyboru jednego z łączonych układów pamięci, z którego odczytamy lub do którego zapiszemy informację. Wyboru dokonujemy przy użyciu wejścia CS# uaktywniającego układy scalone pamięci.

Magistrale adresowe, danych i sygnały sterujące układów, z których budujemy nowy blok pamięci, łączymy równolegle.

Page 17: Pamięci

Zwiększanie ilości słów

DB (D0-D3)

Adre

s

Dekod

er

256k x 4b

256k x 4b

256k x 4b

256k x 4b

CS

#C

S#

CS

#C

S#

RW

#R

W#

RW

#R

W#

R/W

A18

A19

A17-A0

18

4

Page 18: Pamięci

Pamięci dynamiczne RAM

Page 19: Pamięci

Pamięci dynamiczne RAM

Komórki pamięci dynamicznych magazynują ładunki na określonej, niewielkiej pojemności elektrycznej.

Pojemność nienaładowana oznacza zero logiczne.

Pojemność naładowana oznacza zapisaną jedynkę logiczną.

Page 20: Pamięci

Obsługa asynchronicznych

pamięci DRAM

Page 21: Pamięci

Obsługa asynchronicznych pamięci DRAM

Adres słowa, na którym chcemy wykonać operację, podawany jest w dwóch częściach zwanych:

adres wiersza,

adres kolumny;

Taki sposób adresowania upraszcza konstrukcję – wyprowadzeń szyny adresowej dekoderów adresów.

Page 22: Pamięci

Adres

MEM

Dane

WE# (ang. Write Enable)- zezwolenie na zapis informacji

OE# (ang. Output Enable)- zezwolenie na odczyt

CE# (ang. Chip Enable)- równoważny CS#

RAS# (ang. Row Adress Select) i CAS# (ang. Column Adress Select) - związane z wprowadzeniem adresu do pamięci

Wyprowadzenia pamięci DRAM

RAS#

CAS#

WE#

OE#

CE#

Page 23: Pamięci

Wejście adresowe

RAS#

CAS#

RZW DW

DK

RZK

DW – dekoder wierszy

DK – dekoder kolumn

RZW – rejestr zatrzaskowy adresu wiersza

RZK – rejestr zatrzaskowy adresu kolumny

Sposób adresowania słowa w pamięciach DRAM

Matryca komórek pamiętających

- zaadresowane słowo w pamięci

Page 24: Pamięci

2n

n

n

n

Adres wiersza

Adres kolumny

We 1

We 0

S

Do wejścia adresowego pamięci DRAM

0 dla aktywnego sygnału RAS

1 dla aktywnego sygnału CAS

Układ konwersji adresu systemowego na adres dla pamięci DRAM

Page 25: Pamięci

Adresowanie pamięci DRAM

Page 26: Pamięci

Adresowanie pamięci DRAM Poprawne zaadresowanie pamięci DRAM wymaga

wykonania po kolei następujących czynności:

• Podanie starszej części adresu na linie adresowe pamięci DRAM jako adresu wiersza, a następnie wytworzenie aktywnego zbocza sygnału RAS#, powodującego zapamiętanie tego adresu w rejestrze zatrzaskowym adresu wiersza.

• Odmierzenie określonego, wymaganego opóźnienia czasowego.

• Podanie młodszej części adresu na linie adresowe pamięci DRAM jako adresu kolumny i wytworzenie aktywnego zbocza sygnału CAS# powodującego zapamiętanie tego adresu w rejestrze zatrzaskowym adresu kolumny.

Page 27: Pamięci

Adresowanie pamięci DRAM Następnie, zgodnie z sygnałami sterującymi OE# lub WE#, wytwarzana jest operacja odczytu lub zapisu na zaadresowanym słowie.

Po operacji odczytu odmierzane jest kolejne opóźnienie czasowe przed rozpoczęciem następnego cyklu, potrzebne do doładowania pojemności komórek pamiętających odczytywane słowo (w praktyce odświeżany jest cały wiersz).

Page 28: Pamięci

Adres

wiersza

Adres

kolumny

Adres

wiersza

Ważne

dane

tC

ta

tPDtD RAS-CAS

RAS#

CAS#

OE#

Wejścia danych

Wejścia adresowe pamięci

Magistrala zawieszona

Rodzaj informacji na magistrali

Operacja odczytu dla pamięci DRAM

Page 29: Pamięci

tC – minimalny czas pomiędzy dwoma kolejnymi cyklami ta – czas dostępu - czas jaki upłynął od momentu pojawienia się poprawnych danych na magistrali danych

tD RAS-CAS – czas opóźnienia sygnału CAS# względem sygnału RAS#

tPD – (ang. precharge delay) czas potrzebny do doładowania komórek pamięci odczytywanego słowa

Page 30: Pamięci

Adres

wiersza

Adres

kolumny

Adres

wiersza

Ważne

dane

tC

tD RAS-CAS

RAS#

CAS#

WE#

Wejścia danych

Wejścia adresowe pamięci

Magistrala zawieszona

Rodzaj informacji na magistrali

Operacja zapisu dla pamięci DRAM

Page 31: Pamięci

Tryby dostępu do pamięci

Page 32: Pamięci

Tryby konwencjonalny dostępu do pamięci

(Page Mode)

Page 33: Pamięci

Tryby konwencjonalny dostępu do pamięci (Page Mode)

Najstarszy tryb dostępu do pamięci dynamicznej to oddzielane adresowanie wiersza i kolumny 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 (ang. Row Adress 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 adresu odpowiedzialny za numer kolumny.

Adres ten wprowadzany jest do układu pamięciowego w momencie zdekodowania opadającego zbocza sygnału sterującego – CAS (ang. Column Adress Select)

Page 34: Pamięci

Tryby dostępu do pamięci (Page Mode)

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ść zaadresowanej komórki wyprowadzana jest na szynę danych.

Zapis:

Jeżeli sygnał na linii sterującej – 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 przypadku odczytu.

Page 35: Pamięci

Adres

wiersza

Adres

kolumny

Ważne

dane

RAS#

CAS#

WE#

Operacja odczytu dla pamięci Page Mode

Page 36: Pamięci

Adres

wiersza

Adres

kolumny

Ważne

dane

RAS#

CAS#

WE#

Operacja zapisu dla pamięci Page Mode

Page 37: Pamięci

Tryby konwencjonalny dostępu do pamięci

FPM (Fast Page Mode)

Page 38: Pamięci

Tryby dostępu do pamięci FPM (Fast Page Mode)

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

Dostęp do dowolnej komórki pamięci operacyjnej PC nie odbywa się poprzez odczytanie (lub zapis) tylko jednej wartości.

Szczegóły konstrukcyjne wynikające z samej architektury (magistrale) narzucają bardziej racjonalny styl postępowania; wymiana danych między pamięcią a resztą systemu odbywa się w porcjach po kilka bajtów równocześnie.

Page 39: Pamięci

Tryby dostępu do pamięci FPM (Fast Page Mode)

Odczyt:

Sygnał na linii kluczącej adresu wiersza – RAS utrzymuje się na poziomie niskim do czasu zakończenia ostatniego cyklu pakietu.

Odczyt rozpoznawany jest dzięki utrzymywaniu sygnału na linii –WE na poziomie wysokim.

Zapis:

Zapis nie różni się od odczytu niczym szczególnym, prócz zmiany poziomu sygnału linii sterującej – WE.

Jego stan musi być utrzymywany na poziomie niskim.

Page 40: Pamięci

Adres

wiersza 1

Adres

kolumny 1

Adres

kolumny 3

Ważne

dane

RAS#

CAS#

WE#

Operacja odczytu dla pamięci FPM

Adres

kolumny 2

Page 41: Pamięci

Adres

wiersza 1

Adres

kolumny 1

Adres

kolumny 3

Ważne

dane

RAS#

CAS#

WE#

Operacja zapisu dla pamięci FPM

Adres

kolumny 2

Page 42: Pamięci

Tryby konwencjonalny dostępu do pamięci

EDO (Extended Data Out)

Page 43: Pamięci

Tryby dostępu do pamięci EDO (Extended Data Out)

Pamięci dynamiczne EDO są kolejnym etapem rozwoju prowadzącym do skrócenia czasu dostępu.

Page 44: Pamięci

Tryby dostępu do pamięci EDO (Extended Data Out)

Odczyt:

Charakterystyczne dla EDO jest to, że 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.

Zapis:

Korzyści płynące z zastosowania pamięci tego typu pojawiają się jedynie w czasie realizacji cykli odczytu.

Zapis do EDO nie różni się niczym od dostępu do pamięci konwencjonalnej.

Page 45: Pamięci

Adres

wiersza 1

Adres

kolumny 1

Adres

kolumny 3

Ważne

dane

RAS#

CAS#

WE#

Operacja odczytu dla pamięci EDO

Adres

kolumny 2

Page 46: Pamięci

Tryby konwencjonalny dostępu do pamięci BEDO (Burst EDO)

Page 47: Pamięci

Tryby dostępu do pamięci 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)

• strumieniowania (Pipelining).

Pamięci tego typu nie są obecnie wykorzystywane, gdyż firma Intel nigdy nie dokonała implementacji tego typu pamięci do swoich układów, nastawiając się od początku na pamięci synchroniczne (SDRAM).

Page 48: Pamięci

Porównanie trybów pracy pamięci dynamicznych

Page 49: Pamięci

Porównanie trybów pracy pamięci dynamicznych0

R1

R1

R1 C1

R2C1

C1

C2

C2

C2

C3

C3

C3

C4

C4

C4

R3 R4

R1/C1

R1/C1

R1/C1

R2/C2

R2/C2

R2/C2

R3/C3

R3/C3

R3/C3

R4/C4

R4/C4

R4/C4

FPM

DRAM

EDO

RAS

RAS

RAS

CAS

CAS

CAS

ADR

ADR

ADR

DATA

DATA

DATA

200ns100ns 300ns 400ns

Page 50: Pamięci

Cykl magistrali – stan oczekiwania

Page 51: Pamięci

Cykl magistrali – stan oczekiwania

Dostęp do pamięci musi odbywać się z zachowaniem określonych zależności czasowych.

Praca magistrali taktowana jest zegarem o określonej częstotliwości, będącej zwykle podwielokrotnością częstotliwości zegara taktującego procesor. Wartość tej częstotliwości zależy również od rodzaju magistrali (ISA, PSI).

Page 52: Pamięci

Cykl magistrali – stan oczekiwaniaUśpienie Uśpienie Uśpienie Uśpienie

Ti TiT2T1 T1 T1Ti Ti TiT2 T2 T2 T2

DI DI DO

VAVA VA

(0 WS)Odczyt

(1 WS) (1 WS)Odczyt Zapis

BCLK

A23 – A0

W / R#

READY

D15 – D0

Page 53: Pamięci

Cykl magistrali – stan oczekiwania

BCLK – (ang. Bus Clock)

WS -stan oczekiwania – (ang. wait state)

Ts (ang. send status) lub T1

Tc (ang. perform command) lub T2

stan uśpienia - Ti (ang. idle state)

VA – ważny adres

DI – dane odczytywane

DO – dane zapisywane

Oznaczenia stosowane na wykresie:

Page 54: Pamięci

Cykl magistrali – stan oczekiwania

Dla magistrali ISA pojedynczy cykl magistrali realizowany jest w ciągu dwóch taktów zegara magistrali (BCLK) oznaczany przez Ts (ang. send status) lub T1 oraz Tc (ang. perform command) lub T2.

Dla większych częstotliwości tego zegara lub wolniejszych pamięci konieczne jest opóźnienie wykonania operacji na pamięci np.:

W przypadku operacji odczytu musimy poczekać, aż na magistrali danych ustalą się prawidłowe wartości bitów odczytywanego słowa. Opóźnienie to jest realizowane przez wstawienie dodatkowych taktów zegara magistrali zwanych – stanami oczekiwania (ang. wait states)

Page 55: Pamięci

Odświeżanie pamięci DRAM

Page 56: Pamięci

Odświeżanie pamięci DRAM

Odświeżanie komórek pamięci DRAM polega na cyklicznym doładowywaniu pojemności pamiętających przechowujących wartość 1.

Częstotliwość odświeżania zapewniająca poprawną prace pamięci DRAM podawana jest przez producenta jako parametr katalogowy, którego należy przestrzegać. Odświeżanie pamięci realizowane jest przez układy logiczne odświeżania będące elementem systemu - płyty głównej.

Grupa Marlenki do klasówki

Page 57: Pamięci

Sposoby odświeżania pamięci dynamicznych RAM

Page 58: Pamięci

Odświeżanie pamięci DRAM

• sygnałem RAS (ang. RAS only) – praktycznie już nie stosowany

• CAS przed RAS (ang. CAS – before - RAS) – wymaga obecności w układach pamięci wewnętrznego licznika odświeżania. Sterownik DRAM wytwarza aktywny sygnał CAS, a następnie RAS. W odpowiedzi na taką sekwencję układy pamięci DRAM odświeżają wiersz wskazany przez ich wewnętrzny licznik odświeżania.

Page 59: Pamięci

Odświeżanie pamięci DRAM

• odświeżanie ukryte (ang. hidden refresh) – wymaga obecności w układach pamięci wewnętrznego licznika odświeżania. Po wytworzeniu aktywnych poziomów sygnałów RAS i CAS i odczycie komórki sygnał RAS zmienia kolejno stan na nieaktywny i aktywny przy stale aktywnym sygnale CAS . Powoduje to pozostawienie zawartości odczytywanej komórki na wyjściach danych przy jednoczesnym (równoległym) odświeżaniu wiersza zaadresowanego przez wewnętrzny licznik odświeżania pamięci.

Page 60: Pamięci

Odświeżanie pamięci DRAM

• samoodświeżanie (ang. self-refresh)

– układy logiczne odświeżania są zawarte wewnątrz układów pamięci.

Page 61: Pamięci

Odmiany pamięci dynamicznych

Page 62: Pamięci

1. Dostęp w trybie

stronicowania

Page 63: Pamięci

Dostęp w trybie stronicowania - odmiany

Dostęp do pamięci w trybie stronicowania jest sposobem na przyspieszenie współpracy z pamięcią DRAM. Realizuje się to poprzez wykorzystanie dwóch zależności:

• większość odczytów dokonywana jest spod kolejnych, położonych koło siebie adresów. Oznacza to, że starsza część adresu (adres wiersza) nie zmienia się, a zmienia się jedynie adres kolumny. Wyjątkiem są słowa położone kolejno na początku i na końcu wiersza.

• czas t D RAS-CAS stanowi około 50% czasu dostępu. – Jeżeli przy kolejnych odczytach nie będziemy zmieniać adresu wiersza, a jedynie adres kolumny, to czas dostępu do pamięci ulegnie skróceniu (w przybliżeniu o czas opóźnienia sygnału CAS względem RAS)

Page 64: Pamięci

Układy logiczne realizujące tryb stronicowania

Rejestr

zatrzaskowykomparator

Układy

logiczne

sterowania

pamięcią

Ten sam wiersz

S

A19 – A10

A23 – A0

A23 – A20

A19 – A10

A9 – A0

RAS#

CAS#

Szyna adresowa pamięci

Sterownik pamięci DRAM

Page 65: Pamięci

Praca pamięci DRAM w trybie stronicowania

CAS#

RAS#

DQ

Wejście adresowe pamięci

Adres wiersza

Adres kolumny 1

Adres kolumny 3

Adres kolumny 2

Adres kolumny 4

Dana 2Dana 1 Dana 3 Dana 4

Page 66: Pamięci

Dostęp w trybie stronicowania

Początek pracy (dostępu do pamięci) jest prawie identyczny jak dla zwykłych pamięci DRAM.

• podawany jest adres wiersza, który jest zatrzaskiwany w rejestrze zatrzaskowym wiersza wewnątrz układu pamięci.

• podawany jest adres kolumny, który jest zatrzaskiwany w rejestrze zatrzaskowym kolumny wewnątrz układu pamięci.

Page 67: Pamięci

Dostęp w trybie stronicowania

Kolejny dostęp różni się od poprzedniego.

• po dodaniu nowego adresu przez zarządcę magistrali jego część będąca adresem wiersza jest porównywana z zawartością rejestru adresu wiersza w układzie sterowania pamięcią. Jeżeli jest identyczna, układ sterowania pamięcią DRAM utrzymuje stan niski sygnału RAS# do końca bieżącego cyklu odczytu. Oznacza to, że kolejny dostęp dotyczy słowa położonego w tym samym wierszu i należy wczytać jedynie adres kolumny, bez generowania opóźnienia sygnału CAS# względem RAS#

Page 68: Pamięci

2. Dostęp w trybie seryjnym (burst)

Page 69: Pamięci

Dostęp w trybie seryjnym (burst)

Dostęp do pamięci możliwy jest w postaci cykli zgrupowanych (seryjnych - burst) – najczęściej stosowany przy współpracy pamięci głównej z pamięcią cache. Pamięć ta odczytuje bądź zapisuje informacje liniami, których długość zależy od rozwiązania pamięci cache i przykładowo dla systemów z procesorem Pentium wynosi 32 bajty.

Ponieważ procesory Pentium mają 64-bitową (8 bajtów) magistralę danych, potrzeba 4 dostępów do pamięci, aby wypełnić linię.

Operacje te dotyczą kolejnych, leżących obok siebie słów.

Page 70: Pamięci

Dostęp w trybie seryjnym (burst)

Adres wiersza przy każdym dostępie będzie stały, a jedynie adres kolumny będzie się zmieniał - o jeden więcej.

Aby pamięć mogła pracować w trybie burst należy wewnątrz pamięci umieścić układ, który będzie zwiększał wartość adresu kolumny o 1 po każdym podaniu zbocza aktywnego sygnału CAS#.

Zysk czasowy wynika z braku konieczności zapewnienia tak zwanego czasu ustalania oraz czasu przetrzymania dla adresu kolumny.

Page 71: Pamięci

Praca pamięci DRAM w trybie seryjnym (burst)

CAS#

RAS#

DQ

Wejście adresowe pamięci

Adres wiersza

Adres kolumny 1

Dana 2Dana 1 Dana 3 Dana 4

Page 72: Pamięci

Pamięć SDRAM

Page 73: Pamięci

Odmiany pamięci dynamicznych

Architektura PC od czasu Pentium II wymagała zwiększenia przepustowości magistrali pamięciowej powyżej 66 MHz. Podstawka pod procesor „Super 7”, umożliwiała podwyższenie przepustowości poza zakres 66 MHz. Główny problem polegał na tym, że stosowane pamięci nie dały się dostosować do nowych wymogów – brak możliwości zwiększania częstotliwości taktowania.

Rozwiązano ten problem wprowadzając nowy typ pamięci SDRAM.

Page 74: Pamięci

SDRAM

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 w technice CMOS. Inne są natomiast sposoby sterowania taką matrycą oraz technika dostępu.

Wszystkie sygnały sterujące SDRAM synchronizowane są poprzez jeden przebieg zegarowy. 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.

Page 75: Pamięci

SDRAM

Dostęp do pamięci SDRAM realizowany jest zwykle w formie cykli zgrupowanych (burst). Dostęp grupowy obejmuje swoim zasięgiem 2, 4 lub 8 kolejnych lokacji albo też rozciąga się na cały wiersz.

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 zajmuje się wewnętrzny licznik pamięci. Dostęp może mieć charakter sekwencyjny i przemierzać kolejne adresy logiczne lub przebiegać według pewnego określonego szablonu w obrębie grupy poczwórnej.

Burst może zostać przerwany (przejście w tryb Suspend) i ponownie wznowiony, a jego poszczególne elementy - opuszczone (sygnał DQM)

Page 76: Pamięci

SDRAM

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.

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 ukrywanie niektórych opóźnień czasu dostępu.

Problem odświeżania przeniesiony został całkowicie do wnętrza pamięci 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.

Page 77: Pamięci

SDRAM - zalety

Zaletą tej techniki jest widoczne (i mierzalne) w określonych warunkach:

- skrócenie czasu opóźnienia przy częstotliwościach powyżej 66 MHz – np.: dla 100 MHz – tylko 10 ns.

Page 78: Pamięci

SDRAM – schemat blokowy układu TMS664414

~CAS

~RAS

~CS

~WE

DQM

DQ0 – DQ3

Memory Array

(Bank0)

Row

Decoder

Sense Amplifier

Column Decoder

Row

Address B

uffer

Control Logic

I/O

Buffer

CKE

CLK

Address

4

Uproszczony schemat rys. 2.48 w podręczniku

Page 79: Pamięci

SDRAM – schemat blokowy układu TMS664414

Opis oznaczeń

Control Logic – kontrola logicznych sygnałów

Row Address Buffer – bufor adresowania wierszów

Row Decoder – dekoder adresów wierszów

Memory Array (Bank) – tablica (bank) pamięci

Sense Amplifier – różnicowy wzmacniacz odczytu

Column Decoder – dekoder adresów kolumn

I/O Buffer – bufor wejścia - wyjścia

Page 80: Pamięci

SDRAM – schemat blokowy układu TMS664414Linie zewnętrzne

układ zamknięty jest w obudowie TSOP-II(odszukać w Internecie) i ma 54 końcówki, do których doprowadzone są sygnały zawarte w tabeli:

Sygnały Znaczenie Sygnały Znaczenie

DQ0 – DQ3 Data Input/ Data Output ~WE Write Enable

DQM Output Disable/ Write Mask ~CS Chip select

A0 – A9,A11 Row/Col. Address CLK Clock Input

A10 (AP) Auto Precharge CKE Clock Enable

BS0,BS1 Bank Select ~RAS Row Address Select

~CAS Column Address Select

Page 81: Pamięci

SDRAM – schemat blokowy układu TMS664414

Magistrala danych

Każdy z banków (Memory Array) omawianego układu wyprowadza po cztery linie danych, co oznacza, że magistrala danych jest czterobitowa, a banki są całkowicie niezależne.

Maskowanie wejścia i wyjścia (DQM)

Linia DQM umożliwia wycinanie pojedynczych elementów z pakietów Burst. W normalnym trybie pracy stan sygnału na linii DQM utrzymywany jest na niskim poziomie logicznym.

Podniesienie jego poziomu do logicznej 1 – powoduje:

• W trakcie trwania cyklu zapisu – ignorowanie porcji danych, która byłaby przyjęta przez SDRAM w momencie wyznaczonym przez narastające zbocze sygnału CLK.

• W trakcie trwania cyklu odczytu – z sekwencji wyjściowej wycinana jest porcja danych, a w fazie czasowej, w której miałaby wystąpić, układ przechodzi w stan wysokiej impedancji.

Page 82: Pamięci

SDRAM – schemat blokowy układu TMS664414

Magistrala adresowa i selektor banku

Magistrala adresowa jest dwunastobitowa (A0 – A11) i podlega multipleksowaniu – tymi samymi liniami podawane są różne fragmenty adresu w wydzielonych wycinkach czasowych. W pierwszej kolejności przekazuje się adres wiersza, a następnie adres kolumny. Szczególne znaczenie ma linia A10, która decyduje o trybie dezaktywacji (precharge) banku.

Linie BS0 i BS1 umożliwiają wybór do bieżącej operacji jednego z czterech banków układu. Selektory banków można przypisać do magistrali adresowej, co powoduje jej wydłużenie do rozmiaru 14 bitów (A0 – A13).

Sygnały sterujące ~RAS, ~CAS, ~WE.

Oznaczanie aktualnej fazy podawania adresu dokonywane jest poprzez sygnały sterujące ~RAS (wiersz) i ~CAS (kolumna).

Linia ~WE pełni rolę przełącznika zapisu i odczytu.

Page 83: Pamięci

SDRAM – schemat blokowy układu TMS664414Linia ~CS (Chip Select).

Stan końcówki ~CS testowany jest przy każdym narastającym zboczu CLK. Urządzenie znajduje się w stanie aktywnym dopóty, dopóki ~CS pozostaje na poziomie zera logicznego. Wykrycie poziomu 1 powoduje przejście w stan, w którym sterowniki DQ odcinają się od magistrali (stan wysokiej impedancji), a układ nie reaguje na żadne sygnały wejściowe z wyjątkiem ~CS. Funkcje sterujące oferowane przez ~CS znajdują zastosowanie w przypadku grupowania pojedynczych chipów SDRAM w moduły pamięci.

Końcówki CLK (Clock) i ~CKE (Clock Enable).

a) CLK jest centralnym zegarem sterującym, do którego odnoszą się wszystkie inne sygnały. Układ pamięci SDRAM rejestruje stan wszystkich końcówek wejściowych w momencie wykrycia narastającego zbocza sygnału CLK. Poziom sygnałów na wyjściach układu należy również oceniać w tych samych momentach.

Page 84: Pamięci

SDRAM – schemat blokowy układu TMS664414

Końcówki CLK (Clock) i ~CKE (Clock Enable).

~CKE stanowi bramkę blokującą lub przepuszczającą sygnał zegarowy do wnętrza układu. W normalnym stanie pracy ~CKE znajduje się na wysokim poziomie logicznym. Wymuszenie stanu 0 na tym wejściu powoduje przejście SDRAM w tzw. stan uśpienia (Suspend Mode).

Tryb ten charakteryzuje się znacznie zmniejszonym poborem mocy (o około 99%). Z punktu widzenia sygnałów sterujących następuje „zamrożenie” aktualnego stanu - przerwane zostają cykle zapisu i odczytu,

- układ ani nie wyprowadza,

- ani nie przyjmuje danych.

Przywrócenie normalnego działania następuje przy drugim zboczu CLK liczonym od momentu, gdy ~CKE=1.

Page 85: Pamięci

SDRAM - ROZKAZY

Pamięć SDRAM wymienia dane z otoczeniem w dużych porcjach:

im są większe, tym wyższa jest skuteczność działania.

Pod pewnymi względami chip SDRAM należy rozpatrywać jako pewien programowalny sterownik obsługujące swe własne matryce pamięciowe.

Lista rozkazów tego sterownika obejmuje pozycje umożliwiające:

- konfigurację urządzenia,

- operację zapisu i odczytu,

- manipulację bankami.

Page 86: Pamięci

SDRAM – przykładowe rozkazy

rozkaz ~CS ~RAS ~CAS ~WEBS1

(A13)

BS0

(A12)A11 A10 A9–A0

Mode Register Set 0 0 1 0 0 0 0 0Register Set Data

w-0-0-13-12-11-a-b3-b2-b1

Bank Precharge 0 0 1 0

Numer banku:

00: B0

01: B1

10: B2

11: B3

Bez znacz. 0 Bez znaczenia

Row Address 0 0 1 1

Numer banku:

00: B0

01: B1

10: B2

11: B3

r - 11 r - 10 r9-r8-r7-r6-r5-r4-r3-r2-r1-r0

Column Address Entry Read 0 1 0 1

Numer banku:

00: B0

01: B1

10: B2

11: B3

Bez znacz. 0 c9-c8-c7-c6-c5-c4-c3-c2-c1-c0

Page 87: Pamięci

SDRAM - ROZKAZY

Faza programowania (Mode Set).

Układ SDRAM musi zostać zaprogramowany przed podjęciem pracy. W trakcie tej operacji określa się następujące parametry:

wymiar opóźnienia pomiędzy przyłożeniami adresu kolumny a wprowadzeniem pierwszej porcji danych (CAS Latency). Parametr ten podaje się w jednostkach CLK, a dopuszczalne wartości to 2 lub 3.

długość pakietu (Burst Length); dopuszczalne wartości to 1, 2, 4, 83.

format pakietu – sekwencyjny lub z przeplotem.

Powyższe parametry przekazuje się w formie słowa 10-bitowego podawanego na liniach A0 – A9. Układ SDRAM rozpoznaje fazę programowania dzięki określonej konfiguracji sygnałów sterujących: ~RAS= ~CAS= ~WE = 0.

Dane na liniach A0 – A9 sprawdzane są pod względem swej poprawności i jeśli nie spełniają przyjętych kryteriów, zostają odrzucone, a stan układu nie ulega zmianie.

Page 88: Pamięci

SDRAM – faza programowania SDRAM

Register Set Data

~CLK

~CS

~WE

~RAS

~CAS

ADR

Page 89: Pamięci

SDRAM - ROZKAZYAktywacja banku.

Omawiany układ podzielony jest na cztery banki. Banki mogą być wykorzystywane niezależnie. Właściwość ta ma zasadnicze znaczenie z punktu widzenia ciągłości danych. SDRAM zorganizowany w formie pojedynczego banku zmuszony jest do wprowadzania przerw w momencie zmian adresu wiersza.

Sekwencje aktywacja – deaktywacja (Precharge) to nic innego, jak przygotowanie elektroniki do odczytu. Następuje tu podładowanie linii wiersza do poziomu połowy napięcia zasilania. Operacja ta jest niezbędna dla zapewnienia prawidłowego funkcjonowania wzmacniaczy różnicowych. Układ rozpoznaje polecenie aktywacji poprzez specyficzną kombinację sygnałów sterujących ~RAS = 0, ~CAS = 1, ~WE = 1. Na liniach A12 i A13 kodowany jest numer banku (0 – 3). Naprzemienne (Interleave) pobudzanie banków maskuje czas potrzebny na przygotowanie wiersza. W danym momencie zawsze pracuje jeden z banków, a wyprowadzana informacja płynie nieprzerwanym strumieniem w tempie określonym przez CLK.

Page 90: Pamięci

SDRAM - ROZKAZY

Zapis i odczyt

Operacje zapisu i odczytu przebiegają najkorzystniej w formie pakietów (Burst). Ponieważ parametry transmisji określono w fazie programowania, wystarczy podać adres początkowy obszaru pamięci, a kolejne lokalizacje zdefiniowane 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).

Page 91: Pamięci

SDRAM - ROZKAZYPrzykład:

Burst Length = 8

Burst Type = Seq

Adres początkowy kolumny:

xxxx ... X101

Adresy kolejne

xxxx ... X110

xxxx ... X111

xxxx ... X000

xxxx ... X001

xxxx ... X010

xxxx ... X011

xxxx ... X100

Page 92: Pamięci

SDRAM - ROZKAZY

Przykład:

Burst Length = 4

Burst Type = Seq

Adres początkowy kolumny:

xxxx ... XX10

Adresy kolejne

xxxx ... XX11

xxxx ... XX00

xxxx ... XX01

Page 93: Pamięci

SDRAM - ROZKAZY

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. (rys.)

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

Page 94: Pamięci

SDRAM – odczyt danych z pamięci SDRAM

Page 95: Pamięci

SDRAM - ROZKAZY

Deaktywacja

Podanie adresu nowego wiersza (aktywacja) musi zostać poprzedzone przez deaktywację danego banku. Bank można deaktywować na jeden z trzech sposobów:

Deaktywacja określonego banku o numerze kodowanym na bitach A12 i A13. Polecenie ma postać ~RAS = 0, ~WE = 0, ~CAS = 1. Linia A10 utrzymywana jest na niskim poziomie.

Jednocześnie deaktywacja wszystkich banków. Rozkaz deaktywacji z ustawionym bitem A10 = 1 odnosi się do wszystkich banków, a stan linii A12 i A13 nie ma znaczenia.

Cykle zapisu i odczytu z przyrostkiem Read-P i Write-P (P- Precharge). Różnią się od normalnych operacji ustawieniem linii A10 = 1. Cykle takie przechodzą automatycznie w fazę deaktywacji banku i nie wymagają żadnych dodatkowych działań. Ustawienie A10 = 0 w momencie wydawania polecenia zapisu lub odczytu pozostawia bank w stanie aktywnym.