Pamięć
Część sekcji Podstawy ścieżki Assembly w Coddy. Lekcja 2 z 45.
W poprzedniej lekcji dowiedziałeś się, że CPU wykonuje instrukcje jedna po drugiej. Ale gdzie są przechowywane te instrukcje? Gdzie CPU przechowuje dane, na których ma pracować?
Odpowiedź to pamięć (nazywana również RAM: pamięć o dostępie swobodnym).
Pamięć przypomina ogromną siatkę ponumerowanych miejsc. Każde miejsce ma unikalny adres (jak numer domu) i może przechowywać jeden bajt danych (liczbę od 0 do 255). Gdy zapisujesz coś w pamięci, umieszczasz to w konkretnym miejscu o określonym adresie. Gdy znów tego potrzebujesz, prosisz o dane spod tego adresu.
Pomyśl o pamięci jak o urzędzie pocztowym ze skrytkami o numerach:
- Każda skrytka ma unikalny numer (adres)
- W każdej skrytce może zmieścić się jeden list (jeden bajt danych)
- Możesz włożyć list do dowolnej skrytki
- Możesz otworzyć dowolną skrytkę i przeczytać jej zawartość
Procesor może poprosić o dane znajdujące się pod adresem 1000, a pamięć mu je zwróci. Procesor może też zapisać nowe dane pod adresem 1000, zastępując te, które były tam wcześniej.
Najważniejsze informacje o pamięci:
| Informacja | Wyjaśnienie |
|---|---|
| Każdy bajt ma adres | Adresy zaczynają się od 0 i sięgają milionów lub miliardów |
| Pamięć jest ulotna | Gdy wyłączysz komputer, wszystko w pamięci RAM znika |
| Odczyt nie niszczy danych | Możesz odczytać adres 1000 milion razy, a nadal będzie przechowywać tę samą wartość |
| Zapis nadpisuje stare dane | Jeśli zapiszesz nowe dane pod adresem 1000, stare dane przepadną na zawsze |
Spróbuj swoich sił
Ta lekcja nie zawiera wyzwania z kodem.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
1Maszyna
Czym jest CPUPamięćRejestry a pamięćJak działają instrukcjeWzorzec dwóch plikówArchitektura x86-642Systemy liczbowe
Dlaczego system binarny?Liczby binarneZamiana z systemu dziesiętnego na binarnyDlaczego system szesnastkowy?Zamiana z systemu szesnastkowego na dziesiętnyZamiana z systemu dziesiętnego na szesnastkowyASCII i system szesnastkowy5Wywołanie systemowe zakończenia
Czym jest syscall?Wywołanie systemowe zakończenia (60)Kody zakończeniaPodsumowanie: prawidłowe zakończeniePoćwicz samodzielnie: Edytor online Assembly