Architektura komputerów Tydzień 9 Pamięć operacyjna
Właściwości pamięci Położenie Pojemność Jednostka transferu Sposób dostępu Wydajność Rodzaj fizyczny Własności fizyczne Organizacja
Położenie pamięci Procesor. Pamięć wewnątrz procesora lub podłączona bezpośrednio z procesorem: rejestry i pamięć cache. Wewnętrzna. Pamięć dołączona do magistrali systemowej: RAM i ROM. Zewnątrzna. Urządzenia pamięci dostępne przez wejście-wyjście: dyski, pamięci optyczne, taśmowe i inne.
Pojemność pamięci Podawana w określonych jednostkach: bitach, bajtach, słowach. Używamy przedrostków: kilo (Ki lub K) = 2 10 lub (k lub K) = 10 3 mega (Mi lub M) = 2 20 lub (M) = 10 6 giga (Gi lub G) = 2 30 lub (G) = 10 9 tera (Ti lub T) = 2 40 lub (T) = 10 12 peta (Pi lub P) = 2 50 lub (P) = 10 15
Jednostka transferu Ilość danych transmitowana w jednym cyklu. słowo naturalna dla danego układu lub urządzenia długość, najczęściej związana z szerokością szyny danych. Jednostka adresowalna. W różnych układach jednostką adresowalną może być bit, bajt, słowo lub blok. blok to jednostka o wiele większa niż słowo. Np. w przypadku dysków to może być 512 B.
Sposób dostępu Dostęp sekwencyjny. pamięci taśmowe Dostęp bezpośredni. pamięci dyskowe Dostęp swobodny. pamięć operacyjna Dostęp skojarzeniowy (asocjacyjny). pamięć podręczna
Wydajność Czas dostępu. czas od chwili doprowadzenia adresu do otrzymania danych Czas cyklu pamięci. czas dostępu + dodatkowy czas po którym może wystąpić następny dostęp. Szybkość przesyłania (transferu). szybkość z jaką dane mogą być odczytywane lub zapisywane. Często szybkość zapisu jest mniejsza niż odczytu.
Hierarchia pamięci Rejestry Pamięć podręczna Pamięć główna Dyskowa pamięć podręczna Pamięć dyskowa i optyczna Pamięć taśmowa
Hierarchia pamięci Pamięć na szczycie piramidy jest najszybsza. Pamięć na dole najwolniejsza. Pamięć na szczycie jest najdroższa w przeliczeniu na pojemność. Pamięć na dole najtańsza. Dlatego stosujemy różne rodzaje pamięci by uzyskać rozsądną szybkość i pojemność za rozsądną cenę.
Rodzaje pamięci półprzewodnikowych Rodzaj pamięci Kategoria Wymazywanie Sposób zapisu Ulotna Pamięć o dostępie swobodnym (RAM) Pamięć stała (ROM) Programowalna pamięć stała (EPROM) Wymazywalna PROM (EPROM) Pamięć błyskawiczna Elektrycznie wymazywalna PROM (EEPROM) odczyt-zapis tylko odczyt głównie odczyt elektryczne, na poziomie bajtu niemożliwe światłem UV, na poziomie układu elektryczne, na poziomie bloku elektryczne, na poziomie bajtu elektryczny maska elektryczny tak nie
bity danych bity kontrolne 1 błąd 2 błędy 8 4 5 16 5 6 32 6 7 64 7 8 Korekcja błędów Bit parzystości pozwala wykryć błąd pojedynczego bitu w jednostce danych. Kod korekcyjny (ECC) pozwala naprawić błąd pojedynczego bitu i wykryć błąd jednego lub dwóch bitów. najpopularniejszy kod Hamminga
Pamięć podręczna Pamięć główna jest dzielona na bloki o ustalonej długości (np. 256 bitów). Pamięć podręczna jest podzielona na wiersze. Każdy wiersz zawiera blok danych oraz znaczniki określające adres bloku przechowywanych danych i dodatkowe informacje.
Algorytmy zastępowania LRU least recently used najdawniej używany. Wśród znaczników jest bit określający użycie wiersza. Wiersz używany ma znacznik ustawiany na 1. W momencie zapisu lub odczytu niektóre nieużywane aktualnie wiersze mają bit użycia ustawiany na 0. FIFO first in, first out. LFU least frequently used najrzadziej używany. Stosujemy liczniki użycia wierszy. Przypadkowy.
Algorytm zapisu Zapis jednoczesny (write through). Dane zapisujemy jednocześnie do pamięci głównej i cache. Zapis opóźniony (write back). Dane zapisujemy do pamięci cache, notując w odpowiednim bicie znacznika, że dane zostały zmienione. Kiedy wiersz ma być zastąpiony innym następuje faktyczny zapis danych do pamięci głównej.
Liczba pamięci podręcznych Pierwszego poziomu (L1) wewnątrz procesora. niewielka ilość, gdyż bardzo kosztowna Drugiego poziomu (L2) zewnętrzna. więcej, ale wolniejsza niż L1. Czasem L2 jest również wbudowana w procesor.
Jednolita i podzielona pamięć podręczna Pamięć jednolita z reguły charakteryzuje się większą liczbą trafień (przy tej samej pojemności). Rozdzielona pamięć podręczna dla danych i rozkazów pozwala na równoległe wykonywanie faz pobierania rozkazu i danych w potoku.
Pamięć statyczna Pamięć statyczna (SRAM) wykorzystuje przerzutniki do pamiętania danych. Jest bardzo szybka, ale droga w przeliczeniu na pojemność. Dlatego jest wykorzystywana głównie jako pamięć podręczna i wewnątrz procesora.
Pamięć dynamiczna Do przechowania bitu danych wykorzystuje kondensator. Zdecydowanie wolniejsza od pamięci statycznej, ale za to znacznie tańsza. Typowa DRAM jest asynchroniczna. Czas zapisu i odczytu nie zależy od zegara taktującego, a tylko od własności fizycznych układu.
Synchroniczna pamięć DRAM Zapis i odczyt jest synchronizowany z zegarem magistrali. Tryb pakietowy pozwala zwiększyć wydajność pamięci. Po ustaleniu adresu pierwszego słowa kilka następnych jest przesyłanych w znacznie krótszych jednostkach czasu (najczęściej w kolejnych cyklach zegara), ponieważ nie jest ustalany adres na linii adresowej.
Pamięć RDRAM Znacząco zwiększona częstotliwość magistrali. Układ pamięci zawiera wiele mikroukładów połączonych wewnętrzną magistralą. Ze względu na małą szerokość magistrali danych (8 i 16 bitów) faktyczna wydajność dużo mniejsza od teoretycznej.
Pamięć DDR SDRAM Modyfikacja klasycznej pamięci SDRAM. W jednym cyklu zegara magistrali dwie operacje odczytu lub zapisu danych. Wydajność porównywalna z RDRAM. Znacznie niższa cena niż RDRAM projekt nie jest obciążony kosztownymi patentami.