Pami Rodzaje dostpu do danych a sekwencyjny zapis

  • Slides: 15
Download presentation
Pamięć

Pamięć

Rodzaje dostępu do danych: a) sekwencyjny, zapis dzieli się na rekordy, odczyt i zapis

Rodzaje dostępu do danych: a) sekwencyjny, zapis dzieli się na rekordy, odczyt i zapis przy użyciu tego samego mechanizmu b) bezpośredni, bloki lub rekordy mają unikatowy adres wynikajacy z lokacji fizycznej. Dostęp realizowany przez dotarcie do bezpośredniego otoczenia a następnie odbywa się sekwencyjne poszukiwanie, liczenie lub oczekiwanie w celu osiagnięcia lokacji docelowej. c) Swobodny. Kazda lokacja ma unikatowy adres, czas dostepu nie zalezy od poprzednio wykonywanych operacji. d) Dostęp skojarzeniowy (asocjatywny): dostęp odbywa się przez porównanie i badanie zgodności wybranych bitów wewnątrz słowa (realizowane dla wszystkich słów jednocześnie. Podstawę wyszukwania stanowi zawartość a nie adres (mechanizmy używane w pamieciach podrecznych)

Wydajność pamieci zalezy od: a) Czasu dostępu (czas potrzebny do wykonania odczytu lub zapisu)

Wydajność pamieci zalezy od: a) Czasu dostępu (czas potrzebny do wykonania odczytu lub zapisu) b) Czas cyklu pamięci (czas dostępu + dodatkowy czas niezbedny np. . Do zaniku sygnałów sterujacych lub regeneracji danych c) Szybkość przesyłania (dla dostępu swobodnego 1/czas cyklu) Dla pamieci o dostępie nieswobodnym: TN = Ta + N/R, TN to średni czas odczytu lub zapisu N bitów, Ta średni czas dostępu N liczba bitów R szybkość transferu (bity/s)

Zależności: Krótszy czas dostępu – większy koszt na bit Większa pojemność – mniejszy koszt

Zależności: Krótszy czas dostępu – większy koszt na bit Większa pojemność – mniejszy koszt na bit Wieksza pojemność – większy czas dostępu

Oba typy pamięci zapomną zapis po wyłączeniu zasilania! (pamięć ulotna) Statyczna nie wymaga odświeżania,

Oba typy pamięci zapomną zapis po wyłączeniu zasilania! (pamięć ulotna) Statyczna nie wymaga odświeżania, jest szybsza

Rodzaje pamięci stałych: ROM – zapis zawartości podczas produkcji, nie może ulec zmianie PROM

Rodzaje pamięci stałych: ROM – zapis zawartości podczas produkcji, nie może ulec zmianie PROM – Programmable ROM – producent lub klient może jednorazowo wpisać zawartość (potrzebny tzw. programator) „Pamięć głównie do odczytu” – znacznie częściej czyta się niż pisze EPROM – optycznie wymazywalna pamięć stała (lampa kwarcowa naświetla ukłąd wymazując zawartość EEPROM – Elektrycznie wymazywalna pamięć stała (zwykle droższa i mniej pojemna niż EPROM, zaleta: możliwość zmiany zapisu wewnątrz urządzenia FLASH – tzw. pamięć błyskawiczna, bardzo szybko wymazywana, możliwe wymazywanie całych bloków, wada: wytrzymuje ok. . 100000 cykli zapisu i odczytu. Teoretyczna trwałość zapisu min. 10 lat

Korekcja błędów Błędy – stałe (w produkcji lub podczas użytkowania) przypadkowe – nieniszczące, przyczyną

Korekcja błędów Błędy – stałe (w produkcji lub podczas użytkowania) przypadkowe – nieniszczące, przyczyną mogą być problemy z zasilaniem lub radioaktywność naturalna (cząstki alfa) Podczas wczytywania danych do pamięci wykonuje się na tych danych obliczenia generując funkcję f tworzącą kod korekcji i zapamietuje się dane oraz kod. Jeżeli mamy M-bitowe słowo danych i K-bitowy kod to musimy zapamietać M+K bitów. Podczas odczytu sprawdza się czy odczytywane dane generują identyczny kod. Jeżeli sa rozbieżności kod pozwala odtworzyć oryginalny zapis. Kody różnią się liczbą błędów bitowych, które mogą wykryć i poprawić. Najprostszy kod korekcyjny zaproponował R. Hamming z Bell Labs.

M = 4 (słowo 4 -bitowe), mamy siedem przedziałów. 4 bity danych przypisujemy przedziałom

M = 4 (słowo 4 -bitowe), mamy siedem przedziałów. 4 bity danych przypisujemy przedziałom wewnętrznym. Pozostałe przedziały wypełniają tzw. „bity parzystości” – całkowita liczba jedynek w całym okręgu danego bitu powinna być parzysta. Na rysynku c pojawil się błąd (0 zamiast 1). Mamy sprzeczności w okręgach A i C, tylko nie w B. Tlko jeden przedział jest wspólny w A i C i nie występuje w B. Wystarczy zmienić bit w tym przedziale z 0 na 1.

Praktyka: porównujemy dwa kody o długości K bitów wykonując na nich operację EXOR –

Praktyka: porównujemy dwa kody o długości K bitów wykonując na nich operację EXOR – tworz się tzw „słowo-syndrom” o długości K bitów. Wartość liczb w tym słowie mieści się w przedziale [0, 2 K-1] i służy do znalezienia i poprawy błedu. 0 – brak błędu. Błąd może wystąpić w kazdym z M+K bitów w pamięci, więc 2 K-1 >= M+K Nierówność pozwala wyznaczyć ile bitów potrzebujemy do korekty pojedynczego błednego bitu w słowie M-bitowym. Np. w słowie 8 -bitowym K = 3: 23 -1 < 8+3 K = 4: 24 -1 > 8+4, czyli potrzebujemy 4 bitów parzystości

Wygodne rozwiązanie: syndrom 4 -bitowy o nastepujących właściwościach: a) Jeżeli zawiera tylko zera –

Wygodne rozwiązanie: syndrom 4 -bitowy o nastepujących właściwościach: a) Jeżeli zawiera tylko zera – nie ma błędu b) Jeżeli jest tylko jedna 1 – błąd wystapił w bicie parzystości, nic nie trzeba poprawiać c. Więcej niż jedna 1 – wartość liczbowa syndromu powinna wskazać błędny bit, którego wartość wystarczy odwrócić

Nowe typy pamięci dynamicznych: a) SDRAM – synchroniczna pamięć DRAM, w odróżnieniu od DRAM

Nowe typy pamięci dynamicznych: a) SDRAM – synchroniczna pamięć DRAM, w odróżnieniu od DRAM wymiana danych synchronizowana przez zegar systemu – mniejsze opóźnienia b) RDRAM (Rambus) c) Pamięć podreczna CDRAM (Mitsubishi) – w duzym bloku DRAM wbudowna jest mała pamięc podręczna SRAM – pełni rolę bufora

Pamięć podręczna Przykład: procesor ma dostęp do dwóch poziomów pamięci – a) 1000 słów,

Pamięć podręczna Przykład: procesor ma dostęp do dwóch poziomów pamięci – a) 1000 słów, czas dostępu 0. 01 usec b) 100000 słów, czas dostępu 0. 1 usec Jeżeli szukane słowo jest na poziomie 1 to procesor ma dostęp bezpośredni, jeżeli na poziomie 2 to najpierw musi być przeniesione na poziom 1. Zaniedbujemy czas potrzebny procesorowi na stwierdzenie, na którym poziomie jest szukane słowo H – współczynnik trafienia (część wszystkich dostępów do pamięci, które są realizowane na poziomie 1 (H : [0, 1]) T 1 – czas dostepu do poziomu 1 T 2 – czas dostępu do poziomu 2 Jeżeli założymy, że 95% dostępów do pamięci realizuje poziom 1 to (0. 95 * 0. 01 usec)+(0. 05*0. 1 usec) = 0. 0095 + 0. 0055 = 0. 015 usec Średni czas dostępu jest dużo bliższy T 1