Pamięć RAM i ROM
RAM
Pamięć operacyjna (ang. Random Access
Memory)
–
inaczej
pamięć
o
dostępie
swobodnym. Przechowuje program i dane do tego
programu tylko podczas zasilania komputera. Po
wyłączeniu zasilania komputera informacja znika.
ROM
Pamięć
tylko-do-odczytu
(ang.
Read-Only
Memory) to typ nieulotnej pamięci w komputerze.
Dane do niej są wprowadzane przy wytwarzaniu
kości pamięci. Pamięć ROM jest powszechnie
używana
w
komputerach
osobistych
do
przechowywania najbardziej podstawowych danych i
programów, między innymi programu ładującego
system operacyjny, który jest wykonywany zaraz po
włączeniu
zasilania
do
komputera.
Niektóre
komponenty pamięci ROM mogą być programowane
przez użytkownika, na przykład PROM, EPROM czy
EEPROM.
Podstawowymi
parametrami
charakteryzującymi
układy
pamięci
komputera są:
– pojemność,
która
jest
liczbą
bitów
informacji, jaką można zapisać do modułu
pamięci i podawana jest najczęściej w bajtach
(B), kilobajtach (KB) lub megabajtach (MB);
– czas dostępu, który określa czas jaki musi
upłynąć od momentu podania poprawnego
adresu słowa odczytywanego z pamięci do
czasu ustalenia wartości tego słowa na
wyjściu pamięci.
Zawartość pamięci RAM jest podtrzymywana
przez stałe napięcie elektryczne, którego
chwilowy brak powoduje natychmiastową
utratę wcześniej zapisanych informacji.
Wyklucza to budowę pamięci mikrokomputera
tylko z takich elementów, ponieważ każda
przerwa w zasilaniu układu powodowałby
utratę programu i danych, a więc konieczność
ich ponownego wprowadzenia, co byłoby
uciążliwe. Dlatego w systemach
mikroprocesorowych obok pamięci typu RAM
stosuje się pamięć stałą – ROM, która nie traci
informacji po wyłączeniu napięcia zasilania,
ale zapis do niej wymaga specjalnych
warunków, jest powolny i niemożliwy do
przeprowadzenia podczas normalnej pracy
komputera.
Zawartość pamięci ROM jest określona przez
producenta układu i zapisana za pomocą specjalnych
programatorów.
Wykorzystywana
jest
do
przechowywania
programów
inicjujących
pracę
systemu komputerowego. Programy te, określane
wspólną nazwą BIOS (ang. Basic Input Output
System), realizują szereg zadań, do których można
zaliczyć:
– przeprowadzenie po uruchomieniu komputera
testów podstawowych układów i urządzeń – POST
(ang. Power-On Self Test);
– inicjalizację pracy systemu komputerowego
poprzez ustawienie poszczególnych podzespołów w
odpowiednich trybach pracy i zainicjowanie struktur
systemowych takich jak: tablica wektorów przerwań,
czy też obszar zmiennych BIOS;
– zapewnienie
podstawowych
procedur
obsługi
standardowych urządzeń systemu komputerowego
(np. klawiatura, napęd dysków twardych, porty
szeregowe, porty równoległe itp.).
W pamięciach nieulotnych typu ROM umieszczone są
informacje stałe. ROM jest najbardziej niezawodnym
nośnikiem informacji o dużej gęstości zapisu. Zapis
informacji dokonuje się w procesie produkcji lub podczas ich
programowania. W pamięci ROM zapisuje się ustawienia
BIOSu.
Pamięci typu ROM przeznaczone są głównie do
umieszczania w nich startowej sekwencji instrukcji,
kompletnych programów obsługi sterowników i urządzeń
mikroprocesorowych, także ustalonych i rzadko zmienianych
danych stałych.
ROM ( Read-Only Memory - pamięć tylko
do odczytu)
Ze względu na sposób programowania, pamięci stałe
możemy podzielić na :
– MROM (ang. mascable rom)– pamięci, których
zawartość jest ustalana w procesie produkcji. W
pamięci tego typu niemożliwa jest zmiana raz
zapisanych danych;
– PROM (ang. programmable ROM) – pamięci
programowane przez użytkownika przy wykorzystaniu
specjalnego programatora. Zapis do tego rodzaju
pamięci może być wykonany tylko jeden raz;
– EPROM (ang. erasable PROM) – programowane za
pomocą specjalnego programatora. Zawartość pamięci
można wykasować przez naświetlenie promieniami
ultrafioletowymi, dzięki czemu istnieje możliwość
wielokrotnego zapisu informacji;
– EEPROM (ang. electrically erasable PROM) –
podobne są do pamięci EPROM, przy czym kasowanie
zawartości odbywa się elektrycznie. W pamięciach
tego typu istnieje możliwość selektywnego kasowania
i modyfikowania dowolnej komórki pamięci. Pewną
odmianą pamięci EEPROM jest obecnie bardzo
popularna pamięć typu Flash, której podstawową
różnicą jest możliwość kasowania i modyfikowania
tylko całej zawartości pamięci.
Organizacja
Podstawowym elementem pamięci półprzewodnikowej jest
komórka pamięci. Chociaż są wykorzystywane różne
technologie, wszystkie komórki pamięci
półprzewodnikowych mają pewne wspólne cechy:
•2 stabilne (lub półstabilne) stany, które mogą być użyte
do reprezentowania binarnych 1 i 0
•umożliwiają zapis (przynajmniej jednokrotny) i odczyt
Najczęściej komórka ma 3 końcówki funkcyjne służące do
przenoszenia sygnału elektrycznego:
•końcówka wyboru – służy do wybierania komórki
pamięci w celu odczytu lub zapisu
•końcówka sterowania – umożliwia wskazanie rodzaju
operacji (zapis lub odczyt). W przypadku zapisu przez
inną końcówkę wprowadzany jest sygnał elektryczny,
który ustala stan komórki na 1 lub 0. W przypadku
odczytu ta sama końcówka służy do wyprowadzania
sygnału o stanie komórki.
Korekcja błędu
W systemach pamięci półprzewodnikowych występują
błędy. Można je podzielić na:
•Stałe – permanentny defekt fizyczny powodujący, że
uszkodzona komórka lub komórki pamięciowe nie są w
stanie niezawodnie przechowywać danych, lecz
pozostają w stanie 0 lub 1, albo błędnie przeskakują
między 0 a 1. mogą być wywołane przez działanie
ostrych narażeń środowiskowych, defekty produkcyjne
lub zużycie.
•Przypadkowe – losowe i nieniszczące zjawisko, które
zmienia zawartość jednej lub wielu komórek
pamięciowych, bez uszkodzenia samej pamięci. Mogą
być spowodowane przez problemy zasilania lub
cząsteczki alfa.
Większość współczesnych systemów pamięci głównych
zawiera układy logiczne wykrywające i korygujące błędy.
Gdy dane mają być wczytane do pamięci,
przeprowadza się na tych danych obliczenia, w celu
utworzenia kodu do korekty. Zarówno kod jak i dane są
przechowywane. W rezultacie, jeśli ma być zapisane
M-bitowe słowo danych, a kod ma długość K bitów, to
aktualna długość przechowywanego słowa wynosi
M+K bitów.
Gdy uprzednio zmagazynowane słowo jest
odczytywane, kod jest wykorzystywany do wykrywania
i ewentualnej korekty błędów. Generowany jest nowy
zestaw K bitów kodowych z M bitów danych, po czym
porównuje się go z pobranymi bitami kodowymi.
Porównanie prowadzi do jednego z 3 wyników:
•Nie wykryto błędów
•Wykryto błąd, którego korekta jest możliwa – bity
danych i bity korekty błędu są doprowadzane do
układu korektora, który tworzy poprawiony zestaw
M bitów przeznaczony do wysłania
•Wykryto błąd niemożliwy do poprawienia – stan
ten jest zgłaszany.