Co to jest Pamięć Brudnopisu?

Dostęp do danych jest kluczowym elementem projektowania procesora. Procesory działają z bardzo dużą szybkością, przetwarzając wiele instrukcji w każdym cyklu zegara, dlatego potrzebują dostępu do wielu danych. Zdecydowana większość tych danych jest przechowywana na nośnikach pamięci. Urządzenia pamięci masowej są jednak niewiarygodnie wolne w porównaniu z procesorem. Urządzenia pamięci masowej są również znacznie lepsze w przypadku odczytów sekwencyjnych niż losowych, chociaż dyski SSD oferują wyraźną poprawę w tym zakresie (i wielu innych) w porównaniu z dyskami twardymi.

Systemowa pamięć RAM jest zaprojektowana do ładowania wszystkich danych, których procesor może potrzebować dla aktualnie działającego oprogramowania. Pamięć RAM ma znacznie mniejsze opóźnienia niż pamięć masowa, a także jest specjalnie dostosowana do wysokiej wydajności losowego odczytu. Mimo to, o ile nowoczesna pamięć RAM jest szybka, to wciąż nic w porównaniu z procesorem z opóźnieniami rzędu 400 cykli zegara.

Aby jeszcze bardziej zmniejszyć opóźnienie, większość nowoczesnych procesorów zawiera poziomy pamięci podręcznej. Zazwyczaj są one określane jako pamięci podręczne L1, L2 i L3. L1 to naprawdę duża prędkość, zazwyczaj wymagająca dostępu do 5 cykli zegara. L2 jest nieco wolniejszy, rzędu 20 cykli. L3 jest jeszcze wolniejszy przy około 200 cyklach. Chociaż L1 jest niewiarygodnie szybki, jest również mały. Znaczna część jego szybkości wynika z faktu, że przeszukiwanie mniejszych pamięci podręcznych zajmuje mniej czasu. L2 jest większy niż L1, ale mniejszy niż L3, który jest jeszcze mniejszy niż systemowa pamięć RAM. Dobre zrównoważenie rozmiaru tych pamięci podręcznych ma kluczowe znaczenie dla uzyskania wydajnego procesora. Współczynniki trafień w pamięci podręcznej są ważne, ale musisz zrównoważyć liczbę trafień z czasem potrzebnym do ich zdobycia, stąd poziomy.

Pamięć Scratchpada

Pamiętaj, że pamięć notatnika nie mieści się w tradycyjnej hierarchii pamięci. To dlatego, że nie jest używany w większości procesorów konsumenckich. Pamięć Scratchpad została zaprojektowana tak, aby można jej było używać tak, jak w prawdziwym życiu. Notujesz tymczasowe informacje, które musisz zapamiętać, ale nie musisz ich archiwizować. Przez większość czasu procesor przetwarza dane, a następnie natychmiast ponownie potrzebuje tego wyniku. Może skopiować go do pamięci, ale aby mieć do niego szybki dostęp, powinien również przechowywać go w pamięci podręcznej.

Pamięć Scratchpad zasadniczo wypełnia tę samą lukę, co pamięć podręczna L1. Jest dostępny tak szybko, jak to możliwe, często w jednocyfrowych liczbach cykli. Aby sobie z tym poradzić, jest również stosunkowo mały. Istnieją jednak dwie kluczowe różnice między pamięcią L1 a pamięcią notatnika. Po pierwsze, pamięć notatnika jest adresowalna bezpośrednio. Po drugie, jest współdzielony między wszystkie rdzenie i procesory.

Różnice między pamięcią podręczną a notatnikiem

Pamięć podręczna procesora jest zasadniczo przezroczysta dla procesora, nie może celowo umieszczać tam danych, a jej zawartości nie można zaprogramować. Zamiast tego procesor po prostu żąda danych z pamięci RAM i zdarza się, że odzyskuje je szybciej, czasem znacznie szybciej, niż mógłby się spodziewać. Zezwolenie na adresowanie notatnika oznacza, że ​​kod może dokładnie określać, jakie dane powinny znajdować się w notatniku. Może to być przydatne, chociaż nowoczesne algorytmy buforowania są doskonałe, a przy standardowych obciążeniach oczekuje się współczynników trafień na poziomie 95-97%.

Pamięć podręczna L1 jest zawsze przypisana do pojedynczego rdzenia przetwarzającego. Żaden inny rdzeń przetwarzający nie ma do niego dostępu. Oznacza to, że jeśli wiele rdzeni potrzebuje tych samych danych, mogą je zduplikować w swoich odpowiednich pamięciach podręcznych L1. W niektórych architekturach procesorów L2 przypada na rdzeń, w innych jest współdzielony przez niewielką liczbę lub nawet wszystkie rdzenie. L3 jest zwykle współdzielony przez wszystkie rdzenie. Współdzielenie pamięci podręcznej między rdzeniami umożliwia dwóm lub większej liczbie rdzeni dostęp do tych samych danych bez ich powielania. Pozwala również jednemu rdzeniu wykorzystać więcej niż jego sprawiedliwy udział, gdy ma taką potrzebę, a pamięć podręczna ma miejsce.

Scratchpad działa podobnie do L1 pod względem szybkości i pojemności, ale jest wspólny dla wszystkich rdzeni. Pozwala to na bardzo szybki dostęp do określonych danych, na których wykonywane są działania w wielowątkowym obciążeniu. Pamięć Scratchpad może być nawet współdzielona między różnymi procesorami na wielogniazdowych płytach głównych.

Jedną wadą pamięci zdrapki jest to, że można na niej polegać zbyt mocno. Będąc w stanie uzyskać do niego bezpośredni dostęp, oprogramowanie może polegać na jego obecności w określonych ilościach. W takim przypadku nie byłby w stanie działać na procesorach bez tak dużej ilości pamięci w notatniku. Warstwy pamięci podręcznej po prostu nie cierpią z powodu tego problemu i dlatego lepiej nadają się do użytku ogólnego.

Przypadków użycia

Pamięć Scratchpad najczęściej spotykana jest w wieloprocesorowych systemach serwerowych zaprojektowanych dla HPC (High-Performance Computing). Tam połączenie szybkości i współdzielonego dostępu czyni go przydatnym w przypadku wysoce równoległych obciążeń.

Pamięć Scratchpad znajduje również zastosowanie w znacznie mniejszych procesorach. Wbudowane procesory, często MPSoC. Wbudowany procesor ma często stosunkowo niski pobór mocy i jest wyspecjalizowany do określonego zadania. Ta specjalizacja jest często reprezentowana w optymalizacjach sprzętu. Zwłaszcza w systemie wieloprocesorowym na chipie współdzielona szybka pamięć może zapewnić znaczną poprawę opóźnień dla wielu różnych procesorów. Tego rodzaju procesory są często bardzo sztywne w konstrukcji. Konsole do gier, na przykład, mają już wiele optymalizacji pod kątem projektowania sprzętu, więc mogą dobrze wykorzystać takie funkcje bez konieczności martwienia się o kompatybilność wsteczną lub następną.

Wniosek

Pamięć Scratchpad jest podobna do pamięci podręcznej L1, ale ma wiele różnic, które zmieniają jej przypadki użycia. Zamiast być pamięcią podręczną, można ją bezpośrednio adresować, umożliwiając przypisanie danych do szczególnie szybkiej pamięci. Jest również współużytkowany przez wszystkie rdzenie i procesory procesorów, co czyni go szczególnie przydatnym w przypadku obciążeń wielowątkowych.



Leave a Comment

Jak sklonować dysk twardy

Jak sklonować dysk twardy

We współczesnej epoce cyfrowej, gdzie dane są cennym zasobem, klonowanie dysku twardego w systemie Windows może być dla wielu kluczowych procesów. Ten obszerny przewodnik

Jak naprawić błąd ładowania sterownika WUDFRd w systemie Windows 10?

Jak naprawić błąd ładowania sterownika WUDFRd w systemie Windows 10?

Czy podczas uruchamiania komputera pojawia się komunikat o błędzie informujący, że nie udało się załadować sterownika WUDFRd na Twój komputer?

Jak naprawić błąd NVIDIA GeForce Experience o kodzie 0x0003

Jak naprawić błąd NVIDIA GeForce Experience o kodzie 0x0003

Czy na pulpicie pojawia się błąd NVIDIA GeForce o kodzie 0x0003? Jeśli tak, przeczytaj blog, aby dowiedzieć się, jak szybko i łatwo naprawić ten błąd.

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Jak usunąć procesor graficzny z komputera z systemem Windows w 2023 r

Jak usunąć procesor graficzny z komputera z systemem Windows w 2023 r

Czy musisz usunąć GPU z komputera? Dołącz do mnie, gdy wyjaśnię, jak usunąć procesor graficzny z komputera w tym przewodniku krok po kroku.

Jak zainstalować dysk SSD NVMe na komputerze stacjonarnym i laptopie

Jak zainstalować dysk SSD NVMe na komputerze stacjonarnym i laptopie

Kupiłeś nowy dysk SSD NVMe M.2, ale nie wiesz, jak go zainstalować? Czytaj dalej, aby dowiedzieć się, jak zainstalować dysk SSD NVMe na laptopie lub komputerze stacjonarnym.

Co to jest bomba logiczna?

Co to jest bomba logiczna?

Bomba logiczna to incydent związany z bezpieczeństwem, w którym osoba atakująca przeprowadza opóźnioną akcję. Czytaj dalej, aby dowiedzieć się więcej.

Co to jest SoC?

Co to jest SoC?

Jeśli kiedykolwiek zajrzałeś do wnętrza wieży PC, możesz zobaczyć, że jest tam wiele różnych komponentów. Twój przeciętny laptop zawiera większość tych samych komponentów

Co to jest szyfrowanie asymetryczne?

Co to jest szyfrowanie asymetryczne?

Algorytmy szyfrowania asymetrycznego wykorzystują dwa różne klucze. Jeden klucz służy do szyfrowania, a drugi do deszyfrowania.

Steam Deck: Jak sformatować kartę SD

Steam Deck: Jak sformatować kartę SD

Steam Deck jest dostępny w trzech opcjach przechowywania: 64 GB eMMC, 256 GB NVMe SSD i 512 GB NVMe SSD. W zależności od biblioteki gier i rozmiaru gier