Pamięć operacyjna, pamięć podstawowa, pamięć wewnętrzna (ang. primary storage, internal memory) – pamięć komputerowa adresowana i dostępna bezpośrednio przez procesor, a nie za pośrednictwem urządzeń wejścia-wyjścia. Wyróżnienie to wynika z architektury komputera, ograniczeń technicznych konstrukcji procesora i pamięci komputerowych, a głównie ze znacznych różnic w czasie dostępu do danych w poszczególnych typach pamięci. Większość procesorów wymaga by w pamięci operacyjnej były umieszczone rozkazy procesora (program) dostępne bezpośrednio dla jego jednostek wykonawczych i stąd też nazwa – pamięć operacyjna. Wynika z tego, że jest to każda pamięć, która może być zmapowana w przestrzeń adresową procesora. W architekturze komputera von Neumanna procesor ma jedną przestrzeń adresową pamięci operacyjnej, w której przechowywany jest zarówno program, jak i dane. W architekturze harwardzkiej procesor ma oddzieloną przestrzeń dla programu i dla danych. Konstruowane są także procesory o cechach obu architektur. Obecnie pamięci operacyjne są wyłącznie pamięciami elektronicznymi.
Historia
[edytuj | edytuj kod]Wczesne komputery wykorzystywały linie opóźniające, lampy Williamsa lub obrotowe bębny magnetyczne. W 1954 roku te metody zostały w większości zastąpione pamięcią ferrytową. Pamięć ferrytowa pozostała dominująca do lat 70. XX wieku, kiedy postępy w technologii układów scalonych pozwoliły pamięci półprzewodnikowej stać się ekonomicznie konkurencyjną. Doprowadziło to do nowoczesnej pamięci o dostępie swobodnym (RAM).
Historyczne typy pamięci operacyjnej:
- liczniki i rejestry maszyn do księgowania i fakturowania, np. komputer PARK
- pamięć mechaniczna, np. komputer Z1
- pamięć na przekaźnikach, np. komputer Z3
- pamięci na akustycznych liniach opóźniających
- pamięć na rurach rtęciowych, np. komputer XYZ
- pamięć magnetostrykcyjna, np. komputer ZAM-2
- pamięć bębnowa, np. komputer UMC-1
- pamięć ferrytowa, np. komputer Odra 1305
- pamięć cienkowarstwowa
- pamięć drutowa, np. niektóre minikomputery Mera
Pamięć podstawowa
[edytuj | edytuj kod]Pamięć podstawowa (ang. primary storage) znana również jako pamięć wewnętrzna, często określana po prostu jako pamięć, jest jedyną bezpośrednio dostępną dla procesora. Procesor czyta instrukcje tam przechowywane i wykonuje je zgodnie z wymaganiami. Wszelkie aktywowane dane są tam również przechowywane w jednolity sposób.
Pamięć główna (RAM) jest bezpośrednio lub pośrednio połączona z centralną jednostką przetwarzania za pośrednictwem magistrali komunikacyjnej, w której wyróżnia się szynę adresową, szynę danych i szynę sterującą. W najprostszym, tradycyjnym cyklu odczytu pamięci CPU najpierw ustawia szynę adresową, tak by wskazywała żądaną lokalizację danych w pamięci. Pamięć ustawia na szynie danych liczbę zapisaną we wskazanej komórce, procesor odczytuje szynę danych i przekazuje te dane do swoich rejestrów. W trakcie cyklu odczytu bądź zapisu do pamięci procesor przekazuje informacje o wykonywanej operacji na szynie sterującej. W zaawansowanych konstrukcjach cykl odczytu i zapisu do pamięci jest znacznie bardziej skomplikowany, a teoretyczny układ szyn nie odpowiada ich fizycznemu układowi.
Oprócz pamięci głównej o dużej pojemności istnieją jeszcze dwie podwarstwy pamięci podstawowej:
- Rejestry procesora znajdują się wewnątrz procesora. Każdy rejestr zwykle zawiera słowo danych (często 32 lub 64 bity). Instrukcje procesora nakazują jednostce arytmetyczno-logicznej wykonywanie różnych obliczeń lub innych operacji na tych danych (lub za jego pomocą). Rejestry są najszybszymi ze wszystkich form przechowywania danych komputerowych.
- Pamięć podręczna procesora jest pośrednim etapem między ultraszybkimi rejestrami i znacznie wolniejszą pamięcią RAM. Została wprowadzona wyłącznie w celu poprawy wydajności komputerów. Najczęściej używane informacje w pamięci głównej są po prostu powielane w pamięci podręcznej, która jest szybsza, ale o znacznie mniejszej pojemności. Z drugiej strony pamięć główna jest znacznie wolniejsza, ale ma znacznie większą pojemność niż rejestry procesorów. Wielopoziomowa hierarchiczna konfiguracja pamięci podręcznej jest również powszechnie używana – podstawowa pamięć podręczna jest najmniejsza, najszybsza i znajduje się wewnątrz procesora; dodatkowa pamięć podręczna jest nieco większa i wolniejsza.
Hierarchia
[edytuj | edytuj kod]Koszt pamięci jest zazwyczaj związany z szybkością dostępu do danych zgromadzonych w danym rodzaju pamięci – im szybsza pamięć, tym jest droższa[1]. Dlatego stosowane są różne techniki przenoszenia danych pomiędzy różnego typu pamięciami, aby zapewnić możliwie krótki czas dostępu do najbardziej potrzebnych danych przy ograniczonych zasobach najszybszych pamięci. Dane aktualnie używane są trzymane w szybszej pamięci, natomiast te aktualnie niepotrzebne w wolniejszej. Ponieważ różnice w czasie dostępu między kolejnymi poziomami są często rzędu 10:1, dobre wykorzystanie właściwości pamięci podręcznej (cache) ma zazwyczaj większe znaczenie niż liczba cykli procesora koniecznych do wykonania algorytmu. Zasada przenoszenia mniej potrzebnych danych do wolniejszej pamięci jest podstawą funkcjonowania pamięci wirtualnej komputera oraz stronicowania pamięci.
Klasyczne rodzaje pamięci używane w komputerach PC (uszeregowane od najszybszej):
- rejestry procesora
- pamięć podręczna procesora
- pamięć RAM
- dyski półprzewodnikowe (SSD)
- dyski twarde (HDD)
Pamięć wewnętrzna
[edytuj | edytuj kod]Pamięć tego typu jest jedyną dostępną bezpośrednio dla procesora. To z niej są odczytywane programy oraz dane, na których one operują. Procesor odczytuje instrukcje przechowywane w pamięci wewnętrznej, a następnie je wykonuje.
Pamięć wewnętrzna jest pamięcią ulotną, ponieważ jej zadaniem jest przechowywanie danych potrzebnych podczas pracy komputera.
We współczesnych komputerach ten rodzaj pamięci występuje zarówno wewnątrz procesora, jak i na płycie głównej.
Rejestry procesora
[edytuj | edytuj kod]Są one najszybszą forma pamięci komputerowej, a jednocześnie najmniejsza pod względem pojemności. Znajdują się wewnątrz procesora, zazwyczaj jest ich kilkanaście. We współczesnych jednostkach, pojedynczy rejestr ma rozmiar 32 lub 64 bitów. To właśnie w nich znajdują się dane, na których procesor może wykonywać jakiekolwiek operacje. Dane w rejestrach są przechowywane tylko w momencie, kiedy są potrzebne, a następnie, po wykonaniu obliczeń, trafiają do pamięci RAM.
Pamięć podręczna procesora
[edytuj | edytuj kod]Pamięć podręczna jest nieco wolniejsza, ale też większa niż rejestry. Przyspiesza dostęp do danych zawartych w pamięci RAM, ponieważ przechowuje informacje, do których w niedalekiej przyszłości program może żądać dostępu. Cechuje ją budowa kilkupoziomowa (najczęściej występują trzy lub cztery poziomy). Ten rodzaj pamięci także znajduje się wewnątrz procesora. Rozmiar pamięci podręcznej rzadko przekracza kilkanaście megabajtów.
Pamięć RAM
[edytuj | edytuj kod]Znajduje się na płycie głównej, jej rozmiar to zazwyczaj kilka-kilkanaście gigabajtów. Jest połączona z procesorem dedykowaną magistralą (właściwie – dwoma magistralami: adresową i danych). Ponieważ pamięć RAM jest ulotna, to w momencie włączenia komputera zawiera losowe informacje. Dane do niej są ładowane z dysku twardego lub innego trwałego nośnika. Czas dostępu do pamięci RAM wynosi zazwyczaj kilkadziesiąt do kilkuset nanosekund.
Pamięć zewnętrzna
[edytuj | edytuj kod]Pamięć zewnętrzna nie jest bezpośrednio dostępna dla procesora. Składają się na nią dyski znajdujące się fizycznie wewnątrz komputera, jak i nośniki podłączane przez odpowiednie gniazda (zazwyczaj USB). Każde żądanie odczytu danych z tego rodzaju nośników powoduje ich przesłanie do określonego bloku pamięci RAM, skąd mogą być pobrane i wykorzystane do obliczeń. Urządzenia tego typu mają dużo większą pojemność (liczoną zwykle w setkach gigabajtów albo w terabajtach) niż pamięć wewnętrzna, a koszt ich produkcji jest niższy. Wiąże się to z dłuższym czasem dostępu.
Kiedy zapełni się pamięć operacyjna, wtedy wykorzystywana jest pamięć zewnętrzna, do chwilowego zwalniania nieużywanych w danym momencie jej obszarów (partycja wymiany, plik wymiany). W momencie, kiedy występuje potrzeba przenoszenia zawartości RAM-u na dysk, obniża się ogólna wydajność komputera.
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ Marek Tudruj , Hierarchia pamięci w komputerze [online], edux.pjwstk.edu.pl [dostęp 2018-05-25] .