Jeśli mam rację, strona w pamięci głównej to najmniejsza jednostka do przesyłania danych między pamięcią główną a zewnętrznym urządzeniem pamięci masowej, takim jak dysk twardy. Linia pamięci podręcznej pamięci głównej jest najmniejszą jednostką służącą do przesyłania danych między pamięcią główną a pamięcią podręczną procesora.
Zastanawiam się, czy rozmiar strony jest zawsze, czy najlepiej, aby był naturalną liczbą rozmiarów linii pamięci podręcznej? Jeśli rozmiar linii pamięci podręcznej wynosi 64 bajty, a rozmiar strony pamięci to 4KB, to każda strona ma 4KB / 64 bajty == 64 linii pamięci podręcznej.
Czy strona i wiersz pamięci podręcznej są zarówno stałymi obiektami w pamięci? A może są to po prostu ciągłe bloki pamięci o określonym rozmiarze, które mogą się uruchamiać i unosić w dowolnym miejscu w pamięci?
Czy zawsze jest tak, że linia pamięci podręcznej nie może obejmować więcej niż jednej strony, tzn. Część linii pamięci podręcznej znajduje się na stronie, a druga część linii pamięci podręcznej znajduje się na innej stronie?
Dzięki.
Odpowiedzi:
Linia pamięci podręcznej to najmniejsza jednostka, za pomocą której można dotknąć pamięci fizycznej. Oznacza to, że gdy czytasz / zapisujesz 1 bajt, pełna linia pamięci podręcznej zawierająca go jest wczytywana do pamięci podręcznej procesora i zapisywana ponownie. Zauważ, że nawet instrukcje, które omijają pamięć podręczną podczas zapisu (efemeryczne instrukcje przesyłania strumieniowego), zapisują w rozmiarach linii pamięci podręcznej. W zależności od procesora wielkość linii pamięci podręcznej wynosi zwykle 32/64/128 bajtów. Kiedy strony pamięci są zapisywane na dysku, są zapisywane w całości. Stanie się tak, gdy ciśnienie w pamięci będzie zbyt wysokie lub podczas procesów hibernacji (i ewentualnie do innych zastosowań). Będą również czytane w całości, gdy będą potrzebne. Dzieje się tak głównie dlatego, że jądro nie ma możliwości sprawdzenia, czy strona jest częściowo lub w pełni wykorzystana. Inne operacje odczytu / zapisu w pamięci zewnętrznej mogą mieć dowolną szczegółowość (np .: fwrite (..)).
Rozmiar strony zależy od procesora / karty graficznej. W przypadku większości procesorów rozmiary stron będą wynosić co najmniej 4KB i ogólnie będą obsługiwać kombinację 4KB / 64KB / 2 MB / 4 MB / 16 MB / 1 GB (niekoniecznie wszystkie obsługiwane jednocześnie). Rozmiar zawsze będzie potęgą dwóch.
Zarówno strona, jak i wiersz pamięci podręcznej są ciągłe i wymagają wyrównania do ich odpowiedniego rozmiaru. 64-bajtowa linia pamięci podręcznej jest zawsze wyrównana do 64 bajtów, a strona 2 MB jest zawsze wyrównana do 2 MB.
Z powodu nr 3 linia pamięci podręcznej nigdy nie może rozciągać się na 2 strony, ponieważ rozmiary stron zawsze będą większe niż linia pamięci podręcznej i zawsze będą wielokrotnością wielkości linii pamięci podręcznej.
Zobacz to doskonałe źródło bogactwa informacji dotyczących pamięci: http://lwn.net/Articles/250967/
źródło