150 likes | 413 Views
Pamięć. Rodzaje dostępu do danych: 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
E N D
Rodzaje dostępu do danych: • 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: • Czasu dostępu (czas potrzebny do wykonania odczytu lub zapisu) • 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 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, 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ą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ą 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+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: • Jeżeli zawiera tylko zera – nie ma błędu • Jeżeli jest tylko jedna 1 – błąd wystapił w bicie parzystości, nic nie trzeba • poprawiać • Więcej niż jedna 1 – wartość liczbowa syndromu powinna wskazać błędny • bit, którego wartość wystarczy odwrócić
Nowe typy pamięci dynamicznych: • 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 – • 1000 słów, czas dostępu 0.01 usec • 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]) • T1 – czas dostepu do poziomu 1 • T2 – 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