Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci półprzewodnikowe, Betty Prince, WNT Ptc 2013/2014 13.12.2013
Pamięci statyczne i dynamiczne Pamięci statyczne SRAM przechowywanie informacji w układzie zbudowanym z tranzystorów, cykl działania (odczyt, zapis) krótszy niż pamięci dynamiczne DRAM, po dostępie gotowość natychmiastowa do realizacji kolejnych cykli dostępów, wykorzystywane jako szybkie pamięci podręczne procesora. Pamięci dynamiczne DRAM przechowywanie informacji w kondensatorze, odczyt niszczy zapisaną informację i konieczne jest jej ponowne zapisanie, przed odczytem należy zapisaną informację zregenerować uzupełnić ładunek zanikający ze względu na upływność kondensatora, cykliczna regeneracja ładunku - odświeżanie zawartości pamięci, dłuższe dla DRAM niż w przypadku SRAM cykle działania pamięci, powierzchnia krzemu ¼ powierzchni pamięci statycznej ok. 4 x tańsza, wykorzystywane jako duże pamięci operacyjne systemu komputerowego. 2
Schemat blokowy pamięci statycznej pamięć 1 bit x 1M 20 linii adresowych 3
Cykle odczytu w pamięciach statycznych 4
Cykl zapisu w pamięciach statycznych zapis zbocze narastające sygnału - cs +we Co przy braku spełnienia parametrów? 5
Par. zapisu twc taw tas tcw twp tdw tdh Znaczenie Czas trwania cyklu zapisu Wyprzedzenie adresu przed zapisem Wyprzedzenie adresu przed CS Szerokość impulsu CS Szerokość impulsu WP Wyprzedzenie danych przed zapisem Podtrzymanie danych po zapisie Parametry czasowe dostępu do pamięci statycznych Par. odczytu trc toh taa tacs toe tclz tolz tohz, tchz Znaczenie Czas trwania cyklu odczytu Podtrzymanie starych danych na wyjściu Czas dostępu do danych (od zmiany adresu) - dane ważne Czas dostępu do danych (od CS ) dane ważne Czas dostępu do danych (od OE ) dane ważne Dane na wyjściu pamięci (od CS ) Dane na wyjściu pamięci (od OE ) Stan wysokiej impedancji na wyjściu (od OE,CS) 6
Multipleksacja linii adresowych w pamięciach dynamicznych Liczba linii adresowych ograniczona do połowy liczby linii określonej rozmiarem słów pamięci. Na tych samych liniach w kolejnych chwilach określonych sygnałami sterującym CAS i RAS ( wybór wiersza i kolumny) podawane są fragmenty adresu adres wiersza i adres kolumny. 7
Schemat blokowy pamięci dynamicznej 8
Cykle odczytu w pamięciach dynamicznych 9
Cykle odczytu w pamięciach dynamicznych Wyprzedzenie i podtrzymanie adresu wiersza i kolumny względem zbocza opadającego RAS i CAS. Dane dostępne po czasie dostępu od RAS, CAS i adresu kolumny. Poziom niski CAS otwiera bufory wyjściowe. 10
Cykle zapisu w pamięciach dynamicznych 11
Cykle zapisu w pamięciach dynamicznych Wymagany WE wyprzedzający zbocze opadające wejścia CAS. Dane wyprzedzające i podtrzymane względem zbocza opadającego wejścia CAS. Adresy wiersza i kolmny analogicznie jak w odczycie. 12
Parametry pamięci Określenie struktury: Liczba bajtów Liczba słów słowo to zbiór informacji w pamięci dostępny pod jednym adresem Liczba linii adresowych Przykłady: 8 bajtów pamięci i słowo 1 bitowe to 64 słowa i 6 linii adresowych, bo 64= 2 6 64 bajty pamięci i słowo 4 bitowe to 128 słów i 7 linii adresowych, bo 128= 2 7 1k bajt pamięci i słowo 1 bitowe to 8 k słów pamięci i 13 linii adresowych, bo 8k = 2 3 *2 10 512 k bity i słowo 1 bajtowe to 64 k słów pamięci i 16 linii adresowych, bo 64k = 2 6 *2 10 13
Łączenie pamięci - przykład 1 Elementy składowe struktury pamięci układy scalone pamięci: 1k bitów, słowo 4 bitowe Rozmiar docelowej pamięci 8 k bajtów, słowo 8 bitowe Elementy mają pojemność 128 bajtów potrzebne są zatem 8*8 = 64 układy 64 * 128 = 8k bajtów 14
Zadanie: Łączenie pamięci przykład 2 Zbudować w oparciu o elementy pamięci układ zadany parametrami: Elementy składowe struktury pamięci układy scalone pamięci: 1k bitów, słowo 4 bitowe Układ - rozmiar docelowej pamięci 1 k słów 8 bitowych Rozwiązanie: Elementy mają pojemność 128 bajtów potrzebnych jest zatem 8 układów. Elementy posiadają 256 słów. Układ ma 1 k słów. Aby zwiększyć liczbę słów potrzebne są 4 elementy. Gdy mamy wystarczającą liczbę słów (4 elementy), aby długość słowa wzrosła 2 krotnie potrzeba 2 x więcej elementów (8 elementów). Połączenie struktury kolejne strony: Elementy mają 256 słów czyli 8 linii adresowych. Układ ma 1 k słów czyli 10 linii adresowych. 15
Łączenie pamięci przykład 2 wydłużenie słowa danych Szyna danych D0- D3 D4- D7 CS WE CS WE CS WE A0- A7 A0- A7 Szyna adresowa Moduł 256 X 1 bajt 16
Łączenie pamięci przykład 2 poszerzenie przestrzeni adresowej (1k X 1bajt) WE BIN /1 z4 A8-A9 CS A0-A7 CS A0-A7 CS A0-A7 CS A0-A7 256 x 1 bajt 256 x 1 bajt 256 x 1 bajt 256 x 1 bajt S z y n a - d a n y c h D0-D7 Szyna adresowa 17
Statyczne pamięci podręczne (1) - pamięć CAM Pamięć podręczna (PP) służy do przechowywania danych bliżej procesora dane aktualnie potrzebne, zawiera dane z PO powielone w PP lub dane zmodyfikowane przez procesor (nie zapisane w PO). Mniejszy rozmiar, inna organizacja i bliskość (np. w ramach układu scalonego procesor) W PP zawarte są zarówno dane jak i adres (w PO) którego dotyczą. Informacje te są zapisane w sposób zależny od organizacji PP. PP na podstawie adresu podanego przez procesor wystawia żądane dane (trafienie cache hit) lub informuje o ich braku (brak trafienia do PP cache miss) Pamięć działająca w ten sposób (w odróżnieniu od RAM) nazywa się pamięcią adresowaną zawartością CAM (ang. Content addressable memory) gdyż dostarcza informacji powiązanej z wartością podaną na wejściu pamięci informacje czy i pod jakim adresem posiada szukane dane lub jak w przypadku PP - dane odpowiadające podanemu adresowi zgodnemu z adresem zapisanym w pamięci. 18
Schemat koncepcyjny i blokowy pamięci podręcznej 19
Schemat blokowy pamięci znaczników 20
Statyczne pamięci podręczne (2) Pamięć podręczna zarządzana bezpośrednio - miejsce przechowywania danych z określonego adresu jest ściśle określone. Tylko jeden blok informacyjny (zawiera linię danych i adres) w pamięci podręcznej dostępny jest dla zapisu danych spod określonego adresu p.o. Przy odczycie jeden komparator w układzie wystarczy do sprawdzenia zgodności podanego adresu dostępu (tj. znacznika starszej części adresu) z adresem w PP (znacznikiem), spod którego pochodzi wartość przechowywana w jednej - ściśle określonej pozycji pamięci (określonej indeksem mniej znaczącą częścią adresu). Najmłodsze bity adresu (indeks) w ilości określonej przez wielkość linii PP (ziarno dostępu) i wielkość PP ( oraz liczbę bloków pamięci dla pamięci skojarzeniowych) nie są porównywane. Przykład: jeśli PP zarządzana bezpośrednio zawiera 128 linii PP po 64 bajty (rozmiar linii PP) to położenie danych w PP jest zależne od 13 młodszych linii adresowych (6 określa linię PP a 7 kolejnych położene tej linii). 21
Pamięć podręczna zarządzana bezpośrednio Na kolejnych pozycjach pamięci (indeksy 0,1,2,3) mogą być przechowywane wyłącznie dane pochodzące z adresów (0,4,8, ) (1,5,9, ) (2,6,10, ) (dodatkowo należy uwzględnić długość linii PP) 22
Statyczne pamięci podręczne (3) Pamięć skojarzeniowa daje możliwość przechowywanie wartości z określonego adresu na wielu pozycjach (w różnych bankach pamięci ) i wymaga porównania znaczników w ramach każdego z banków (wielokrotnie skojarzeniowa pamięć podręczna). W pełni skojarzeniowe pamięci podręczne pozwalają na przechowywanie informacji w dowolnych komórkach pamięci. 23
Pamięć skojarzeniowa Możliwe pozycje przechowywania w PP danych z adresu 5 pamięci operacyjnej. 24
Pamięć w pełni skojarzeniowa Każdy blok pamięci umożliwia przechowywanie informacji spod dowolnego adresu. 25