Pamięć
description
Transcript of Pamięć
Pamięć
Rodzaje dostępu do danych:a) sekwencyjny, zapis dzieli się na rekordy, odczyt i zapis przy użyciu tego samego mechanizmub) 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)b) Czas cyklu pamięci (czas dostępu + dodatkowy czas niezbedny np.. Do zaniku sygnałów sterujacych lub regeneracji danychc) 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ępuN liczba bitówR szybkość transferu (bity/s)
Zależności:Krótszy czas dostępu – większy koszt na bitWiększa pojemność – mniejszy koszt na bitWieksza pojemność – większy czas dostępu
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 – 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ądzeniaFLASH – 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ą 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 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 – 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, 2K-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 2K-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+3K = 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 – nie ma błędub) 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 wymiana danych synchronizowana przez zegar systemu – mniejsze opóźnieniab) 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ęcznaPrzykład: procesor ma dostęp do dwóch poziomów pamięci –a) 1000 słów, czas dostępu 0.01 usecb) 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łowoH – współczynnik trafienia (część wszystkich dostępów do pamięci, które są realizowane na poziomie 1 (H : [0,1])T1 – czas dostepu do poziomu 1T2 – 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 T1