Informatyka · Sprzęt i architektura

Co naprawdę dzieje się w komputerze, kiedy piszesz x = 5 + 3?

Pisząc program, rzadko myślisz o tym, gdzie on się wykonuje. A to właśnie wyjaśnia, dlaczego komputer zwalnia, gdy otwierasz za dużo kart, i dlaczego dokupienie RAM-u często pomaga bardziej niż szybszy procesor.

  • około 30 minut
  • 5 interaktywnych ćwiczeń
  • wraca na maturze i egzaminach zawodowych

Po tej lekcji: opiszesz drogę jednej instrukcji przez komputer, odczytasz liczbę zapisaną bitami i wyjaśnisz, dlaczego pamięci mają różne prędkości.

Zakres podstawowy · materiał otwarty

1 · Jak to jest zbudowane

Cztery elementy i jedna wspólna zasada

Prawie każde urządzenie, od telefonu po superkomputer, jest zbudowane według pomysłu Johna von Neumanna z 1945 roku: program i dane leżą w tej samej pamięci, a procesor pobiera je stamtąd i wykonuje.

Można to porównać do kuchni. Przepis i składniki leżą na blacie (pamięć), kucharz czyta przepis i gotuje (procesor), spiżarnia trzyma zapasy na dłużej (dysk), a drzwi i okienko to kontakt ze światem (wejście i wyjście).

CPU · procesorkucharz

Pobiera instrukcje programu i je wykonuje. Składa się z jednostki sterującej (CU), która rozumie polecenia, oraz jednostki arytmetyczno-logicznej (ALU), która liczy i porównuje.

Na przykład zsumowanie dwóch liczb robi ALU.

RAM · pamięć operacyjnablat kuchenny

Trzyma programy i dane, z którymi procesor pracuje w tej chwili. Jest szybka, ale po wyłączeniu zasilania traci zawartość.

Na przykład otwarte karty przeglądarki i dokument, który właśnie edytujesz.

Dysk · SSD lub HDDspiżarnia

Przechowuje pliki na stałe, także po wyłączeniu komputera. Jest większy niż RAM, ale wolniejszy.

Na przykład zapisany dokument, system i zainstalowane gry.

Wejście i wyjściedrzwi i okienko

Urządzenia, przez które komputer kontaktuje się z człowiekiem i światem. Wejście dostarcza dane, wyjście je pokazuje.

Na przykład klawiatura i mikrofon to wejście, monitor i głośnik to wyjście.

2 · Zobacz to w ruchu

Droga jednej instrukcji przez komputer

Weźmy najprostszą instrukcję z programu: x = 5 + 3. Zmień liczby lub działanie, a potem przejdź przez pięć kroków. Obserwuj, który element akurat pracuje i dokąd wędruje paczka danych.

Ta interakcja wymaga włączonego JavaScriptu.

To bardzo uproszczony obraz. Prawdziwy procesor robi to miliardy razy na sekundę, a instrukcje wyglądają inaczej (to tak zwany kod maszynowy). Schemat jest jednak ten sam: pobierz, rozpoznaj, policz, zapisz.

Bajty, kilobajty i pułapka z tysiącem

Przy jednostkach łatwo się pomylić, bo istnieją dwa sposoby liczenia. W informatyce naturalna jest potęga dwójki: 1 KiB = 1024 B, bo 1024 to 2 do potęgi 10. Producenci dysków liczą w tysiącach (1 GB = 1 000 000 000 B), a Windows pokazuje rozmiar w potęgach dwójki, choć nazywa go „GB”. Dlatego dysk opisany jako 500 GB widać w systemie jako około 465 GB.

JednostkaBajtówBitów
1 B18
1 KiB1 0248 192
1 MiB1 048 5768 388 608
1 GiB1 073 741 8248 589 934 592
Przykład: 2 KiB = 2 · 1024 B = 2048 B = 16 384 bity.

4 · Dlaczego pamięci jest kilka

Im szybsza pamięć, tym mniejsza i droższa

Procesor liczy tak szybko, że przy każdym sięgnięciu po dane na dysk musiałby długo czekać. Dlatego między nim a dyskiem ustawiono kolejne, coraz większe i coraz wolniejsze piętra pamięci. Czasy poniżej są orientacyjne: to rzędy wielkości, a nie pomiar konkretnego sprzętu.

Kliknij „Przelicz na ludzką skalę”. Wyobraź sobie, że jedna nanosekunda trwa sekundę, i zobacz, jak ogromne są te różnice.

Ta interakcja wymaga włączonego JavaScriptu.

W tej skali odczyt z RAM-u trwa około półtorej minuty, z SSD około doby, a z talerzowego dysku ponad trzy miesiące. Stąd cała hierarchia pamięci.

5 · Typowy problem

Dlaczego komputer zwalnia, choć dysk jest prawie pusty?

Gdy programy nie mieszczą się w RAM-ie, system zrzuca część danych na dysk (to tak zwany plik wymiany, czyli swap). Dysk jest znacznie wolniejszy, więc cały komputer zaczyna „mulić”.

Ustaw, ile programów chcesz mieć otwartych, i zobacz, co się dzieje. Potem wypróbuj dwóch napraw: większego dysku i większego RAM-u.

Ta interakcja wymaga włączonego JavaScriptu.

Więcej miejsca na dysku nie dodaje pamięci roboczej. Dlatego dokupienie RAM-u często przyspiesza komputer bardziej niż szybszy procesor, jeśli problemem jest właśnie brak pamięci.

6 · Który procesor jest lepszy?

Szybkość to nie tylko gigaherce

Pracą procesora rządzi zegar: 1 GHz to miliard taktów na sekundę. Ale częstotliwość to nie wszystko. Liczy się też liczba rdzeni, z których każdy może pracować nad własnym zadaniem, oraz to, czy dane zadanie da się podzielić.

Porównaj dwa procesory o tej samej architekturze. Przesuwaj suwak: jaka część zadania daje się podzielić na kilka rdzeni?

Ta interakcja wymaga włączonego JavaScriptu.

Podsumowanie

Co warto zapamiętać

  1. Komputer składa się z procesora (CU i ALU), pamięci RAM, pamięci trwałej oraz urządzeń wejścia i wyjścia. Program i dane leżą w pamięci, a procesor je wykonuje.
  2. Instrukcja przechodzi przez cztery etapy: pobranie, rozpoznanie, obliczenie, zapis wyniku.
  3. Bajt to 8 bitów. 1 KiB to 1024 bajty, więc 2 KiB to 2048 B, czyli 16 384 bity.
  4. Liczby ujemne zapisujemy w kodzie U2: odwróć bity i dodaj 1. Na 8 bitach mieści się zakres od −128 do 127.
  5. Pamięć jest albo szybka, albo duża. RAM to pamięć robocza, a dysk to pamięć trwała.
  6. Wyższy takt nie zawsze oznacza szybszy komputer: liczą się też rdzenie i to, czy zadanie da się podzielić.

Po zalogowaniu zobaczysz dodatkowe lekcje i materiały oznaczone jako rozszerzenie. Podstawowe quizy i zadania pozostają dostępne w biurku.

Dalej na swoim koncie

Rozgrzewki, quiz i zadania są w biurku ucznia.

Teoria jest otwarta dla wszystkich. Żeby rozwiązywać zadania, zapisywać szkice i widzieć swój postęp, zaloguj się.

Zaloguj się →
Źródła i dalsza nauka