Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Przejdź do zawartości

Pamięć operacyjna

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez Stok (dyskusja | edycje) o 07:24, 18 wrz 2020. Może się ona znacząco różnić od aktualnej wersji.
Pamięć w komputerze
Różne rodzaje pamięci RAM

Pamięć operacyjna, pamięć główna, pamięć wewnętrzna (ang. primary storage, main memory, 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 poszczególnych typach pamięci. Większość procesorów wymaga by w pamięci tej 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, a głównym jej rodzajem jest pamięć ulotne (RAM), w mniejszym stopniu pamięci tylko do odczytu (ROM).

Pamięć podstawowa

Pamięć podstawowa (ang. primary storage, znana również jako pamięć główna lub 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.

Historycznie, wczesne komputery wykorzystywały linie opóźniające, lampy Williamsa lub obrotowe bębny magnetyczne. W 1954 roku te niewiarygodne metody zostały w większości zastąpione przez pamięć rdzenia magnetycznego. Pamięć rdzeniowa 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). Oprócz głównej pamięci o dużej pojemności istnieją jeszcze dwie podwarstwy pamięci podstawowej:

  • Rejestry procesorów 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ą operacyjną. Została wprowadzona wyłącznie w celu poprawy wydajności komputerów. Najczęściej używane informacje w głównej pamięci 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.

Pamięć główna jest bezpośrednio lub pośrednio połączona z centralną jednostką przetwarzania za pośrednictwem szyny pamięci. Są to właściwie dwie magistrale: magistrala adresowa i magistrala danych. CPU najpierw wysyła numer przez magistralę adresową, numer zwany adresem pamięci, który wskazuje żądaną lokalizację danych. Następnie odczytuje lub zapisuje dane w komórkach pamięci za pomocą magistrali danych. Ponadto jednostka zarządzania pamięcią (MMU) to małe urządzenie pomiędzy procesorem a pamięcią RAM.

Hierarchia

Moduł pamięci RAM (typu SDR SDRAM)

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 procesora

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

 Osobny artykuł: Rejestr procesora.

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

 Osobny artykuł: Pamięć podręczna procesora.

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

 Osobny artykuł: RAM.

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 procesora

 Osobny artykuł: Pamięć zewnętrzna.

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.

Najczęściej spotykanym we współczesnych komputerach rodzajem pamięci zewnętrznej są dyski twarde oraz półprzewodnikowe. Czas dostępu do danych zgromadzonych na dysku twardym to zazwyczaj kilka milisekund, około 100 tysięcy razy dłuższy niż do pamięci RAM. Dyski optyczne, takie jak CD czy DVD charakteryzuje jeszcze dłuższy czas oczekiwania na pobranie danych.

Do kategorii pamięci zewnętrznej należą także nośniki flash, dyskietki, karty perforowane.

Próba dostępu do danych leżących obok siebie na nośniku mechanicznym jest dużo szybsza od dostępu losowego. Dlatego opracowano techniki optymalnego rozkładania danych w takich rodzajach pamięci[2]. Inną metodą na redukcję wąskiego gardła, jakim jest odczyt informacji z pamięci zewnętrznej, jest połączenie kilku nośników i równoległy odczyt porcji danych z każdego z nich.

Nośniki tego rodzaju pamięci są zazwyczaj formatowane, tak by uzyskać pewną warstwę abstrakcji, potrzebną do uporządkowania danych w pliki i katalogi, a także pozwalającą dodać do nich metadane opisujące m.in. właściciela pliku, prawa dostępu, czas utworzenia itp.

Pamięć zewnętrzna jest także wykorzystywana w momencie, kiedy zapełni się pamięć operacyjna, 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.

Historyczne typy pamięci operacyjnej

Zobacz też

Przypisy

  1. Marek Tudruj, Hierarchia pamięci w komputerze [online], edux.pjwstk.edu.pl [dostęp 2018-05-25].
  2. Jeffrey S. Vitter: Algorithms and Data Structures for External Memory. Hanover: Now Publishers, 2008. ISBN 978-1-60198-106-6.