09 pamiec operacyjna
Transkrypt
09 pamiec operacyjna
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) = 210 lub (k lub K) = 103 – mega (Mi lub M) = 220 lub (M) = 106 – giga (Gi lub G) = 230 lub (G) = 109 – tera (Ti lub T) = 240 lub (T) = 1012 – peta (Pi lub P) = 250 lub (P) = 1015 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. – ● Dostęp bezpośredni. – ● pamięci dyskowe Dostęp swobodny. – ● pamięci taśmowe pamięć operacyjna Dostęp skojarzeniowy (asocjacyjny). – pamięć podręczna Wydajność ● Czas dostępu. – ● Czas cyklu pamięci. – ● czas od chwili doprowadzenia adresu do otrzymania danych 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 Pamięć o dostępie odczyt-zapis swobodnym (RAM) Wymazywanie elektryczne, na poziomie bajtu Pamięć stała (ROM) Programowalna tylko odczyt niemożliwe pamięć stała (EPROM) Wymazywalna światłem UV, na PROM (EPROM) poziomie układu Pamięć błyskawiczna Elektrycznie wymazywalna PROM (EEPROM) głównie odczyt elektryczne, na poziomie bloku elektryczne, na poziomie bajtu Sposób zapisu Ulotna elektryczny tak maska elektryczny nie 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 bity danych błędy 8 16 32 64 bity kontrolne 1 błąd 4 5 6 7 2 5 6 7 8 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. – ● Drugiego poziomu (L2) – zewnętrzna. – ● niewielka ilość, gdyż bardzo kosztowna 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.