1
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Lekcja
17
TEMAT:
Pamięć ROM i RAM.
2
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Pamięć
ROM
:
Pamięć stała -Read Only Memory. Gdy dane zostaną
zapisane w pamięci stałej są w niej przechowywane cały
czas, a dzięki temu możliwy jest do nich bardzo szybki
dostęp (ponieważ nie są stale otwierane i odnawiane)
ROM przechowuje zapisane informacje bez względu na to
czy napięcie jest włączone, czy nie.
Zaletami pamięci stałej są bezpieczeństwo i szybki dostęp
do informacji, które nie muszą być zmieniane, są natomiast
często odczytywane.
3
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Pamięć ROM nie może być dynamicznie aktualizowana tak
jak pamięć o dostępie bezpośrednim RAM (Random Access
Memory).
Wymaga to użycia specjalnych programów. ROM jest
znacznie bezpieczniejszy niż RAM, ponieważ zapisane w
nim informacje o wiele trudniej jest zmienić, co sprawia, że
wirusy i przypadkowe skasowanie danych są znacznie
rzadszymi zjawiskami.
4
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
ROM płyty głównej w większości
komputerów zawiera cztery główne
programy, którymi są:
POST
(Power-On Self Test) Seria procedur testujących
sprawność poszczególnych komponentów komputera .
CMOS Setup
. Program umożliwiający zmianę
parametrów konfiguracji systemu, ustawieni
zabezpieczeń oraz preferencji.
Bootstrap loader
. Procedura szukająca możliwego do
załadowania systemu operacyjnego najpierw na
dyskietce w stacji dysków, a później na twardym
dysku.
BIOS
. Basic Input/Output System. Zbiór sterowników
stanowiący standardowy interfejs podstawowych
urządzeń komputera, szczególnie tych, które muszą
być aktywne podczas uruchamiania się systemu.
5
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Typy pamięci
ROM:
1. Programowalna pamięć stała (Programmable ROM,
PROM
)
Programowalna pamięć stała zasadniczo nie różni się od
pamięci stałej, za wyjątkiem tego, że jest produkowana
bez zapisanych na niej danych, natomiast jednokrotnego
ich zapisu może dokonać producent posługujący się
specjalnym sprzętem. Po wyprodukowaniu na ROM-ie
wypalane są potrzebne dane za pomocą specjalnego
urządzenia do programowania ROM-u, dlatego jeśli chce
się dokonać uprgrade'u trzeba wyjąć stary układ scalony i
zastąpić go na nowo zaprogramowanym PROM-em.
6
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
2. Wymazywalna programowalna pamięć stała
(Erasable Programmable ROM,
EPROM
)
Wymazywalna programowalna pamięć stała jest w
zasadzie tym samym, co programowalna pamięć stała,
którą można kasować i ponownie zapisywać, co
eliminuje konieczność wymiany układu scalonego na
nowy za każdym razem, gdy dokonuje się upgrade'u.
EPROM tak jak programowalny ROM również był
produkowany bez danych zapisanych w pamięci, z tym
wyjątkiem, że po zapisaniu EPROM można wystawić na
działanie światła ultrafioletowego, które wymaże jego
zawartość, co pozwala technikowi na wypalanie danych
przy użyciu specjalnego sprzętu do programowania
ROM-u. Światło ultrafioletowe jest rzucane przez
miniaturowe okienko umieszczone u góry EPROM-u,
przez które widać sam układ, więc żeby dokonać
upgrade'u i tak trzeba go wyjąć.
7
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
3. Pamięć stała programowalna elektrycznie (
EEPROM
)
Największy postęp w dziedzinie pamięci stałej nastąpił wraz z
pojawieniem się EEPROM-ów, które mogą być kasowane przez
użytkownika za pomocą oprogramowania użytkowego. Zaletą
EEPROM jest to, że układ scalony jako taki nie musi być wyjmowany z
płyty głównej by ponownie zapisać dane w pamięci.
Najpopularniejszym zastosowaniem elektrycznie programowalnego
ROM-u jest przechowywanie BIOS-ów. Powtórne programowanie BIOS-
u wymaga od użytkownika użycia programowego narzędzia do
aktulizacji BIOS-u. Po wprowadzeniu EEPROM-u producenci nie muszą
już przechowywać BIOS-u w układzie zasilanym baterią. Dzięki
EEPROM-om BIOS można bardzo łatwo przechowywać na "stałym"
nośniku, które nie traci swojej zawartości, gdy do pamięci nie dociera
prąd.
8
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Pamięć
RAM
:
Drugim rodzajem pamięci jest pamięć o dostępie swobodnym
-
RAM,
(Random Access Memory) która może być i odczytywana, i
zapisywana. W przeciwieństwie do pamięci stałej RAM traci
informacje przechowywane w komórkach pamięci, gdy zostaje
odcięty dopływ prądu do układu pamięciowego, a co za tym idzie
nie może być użytecznym rozwiązaniem dla przechowywania
programów takich jak BIOS, ponieważ do utraty informacji
wystarcza samo odcięcie dopływu prądu. RAM przechowuje
informacje, które są w danym momencie używane i dostarcza do
CPU wymagane informacje, które mają być przetworzone.
9
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Typy pamięci
RAM:
1. DRAM (Dynamic Random Access Memory )
Dane są przechowywane w komórkach pamięci, które
stanowią jeden bit danych, a DRAM wykorzystuje
kondensator do przechowywania poszczególnych bitów
danych w komórkach pamięci. Komórki pamięci DRAM są
zwykle złożone z jednego tranzystora i jednego
kondensatora do przechowywania danych. Kondensatory
są zasadniczo miniaturowymi bateriami, ponieważ
przechowują ładunek elektryczny, a w tym wypadku
ładunek elektronów, który przesądza o tym czy dana
komórka jest "włączona", czy "wyłączona". Z logicznego
punktu wiedzenia, jeśli komórka jest w pełni naładowana
znajduje się w "stanie włączonym", czyli reprezentuje 1, a
jeśli jest pusta reprezentuje 0, czyli jest wyłączona.
10
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Niestety kondensator traci swój ładunek po krótkim
okresie czasu, ponieważ jest w istocie miniaturową
baterią dlatego musi być okresowo odnawiany.
Odczyt komórek pamięci DRAM-u powoduje
wyładowanie kondensatora, dlatego komórki muszą
być ponownie zapisane po tym jak zostały odczytane.
11
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
DRAM
SDRAM
DDR-SDRAM
12
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
2. SRAM (Static RAM),
Jest najszybszą i najbardziej wydajną z obu rodzajów
pamięci, (ale użytkownicy przedkładają DRAM nad SRAM)
Zamiast tymczasowo naładowanych kondensatorów, które
bardzo szybko tracą ładunek, statyczny RAM wykorzystuje
tranzystory aby określić aktualny stan komórki pamięci na
podstawie jej aktualnej pozycji. Ponieważ tranzystory nie
mają ładunku, który by mogły stracić, a co za tym idzie nie
muszą być odnawiane.
SRAM jest znacznie szybszy niż DRAM.
.
13
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Dlaczego w takim razie nie używamy
SRAM
zamiast
DRAM
w
naszej pamięci systemowej?
Cóż, typowa komórka pamięci SRAM składa się z czterech
tranzystorów i dwóch oporników, co daje cztery razy więcej
tranzystorów niż składa się na typową komórkę pamięci
DRAM.
Ze względu na większą liczbę tranzystorów SRAM jest w
porównaniu z DRAM znacznie droższy, zużywa o wiele więcej
energii i nie może być pakowany tak gęsto, jak DRAM, przez
co jest lepszym wyborem gdy idzie o pamięci podręczne L1 i
L2 współczesnych procesorów.
Oprócz tego SRAM jest fizycznie większy od układów DRAM,
co odbiłoby się to na rozkładzie płyty głównej. W
rzeczywistości ilość faktycznie użytego silikonu byłaby
niemal cztery razy większa w przypadku tej samej ilości
pamięci DRAM, co skutkuje szalenie drogim, chociaż szybkim
układem pamięciowym.
14
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Moduły SIMM
Współczesne płyty główne wyposażone są w złącza typu
SIMM (ang. Single Inline Memory Modules),
umożliwiające rozszerzenie pamięci RAM od kilku do kilkuset
MB.
Moduły SIMM są to podłużne płytki na których umieszczono
"kostki" pamięci, wyposażone z złącze krawędziowe. Moduły
te posiadają 72-stykowe złącze i mogą mieć pojemności
4,8,16,32 oraz 64 MB. Czas dostępu modułów SIMM zawiera
się w granicach 60-70 nanosekund. Złącze SIMM ma 32-
bitową szynę danych - do rozszerzenia pamięci na płycie
głównej z procesorem PENTIUM wystarczą więc dwa moduły,
gdyż pamięć RAM ma 64-bitową organizację zapisu i odczytu
danych.
15
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Moduły DIMM
(ang. Dual Inline Memory Modules)
- to najnowsze osiągnięcia przemysłu komputerowego.
Wyposażone są w 169-stykowe złącza i dysponują 64-
bitową magistralą danych (taką samą jak procesor
PENTIUM) - do rozszerzania pamięci na płycie głównej
potrzebny jest więc tylko jeden moduł. Moduły te
posiadają trzy rzędy styków, oddzielone dwoma
wycięciami.
16
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Struktura pamięci
RAM:
Pierwsze komputery IBM PC z procesorem 8086/88
(popularne XT) narzuciły pewien podział pamięci,
kontynuowany w następnych generacjach
komputerów.
Całkowity obszar 1MB RAM dostępny dla procesora
8086 został podzielony, przez konstruktorów IBM, na
dwa obszary.
Pierwszy obszar obejmujący zakres 0 - 9FFFF (0 - 640
KB) nazwany został
pamięcią konwencjonalną
.
Natomiast obszar o adresach A0000 do FFFFF (640 -
1 MB) to
pamięć górna
.
17
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Początkowy obszar pamięci konwencjonalnej używany jest
przez sprzęt i system operacyjny do przechowywania
wektorów przerwań sprzętowych, danych BIOSU-u, obszarów
buforów i plików DOS, a w dalszej kolejności ewentualnych
programów obsługi (tzw. driverów) dodatkowych urządzeń
(np. myszy, klawiatury, itd.), plików systemowych (Io.sys i
MsDos.sys) oraz pierwszej kopii pliku Command.com.
Obszar ten może mieć różną wielkość, w zależności od
konfiguracji systemu, zainstalowanych driverów i wersji
systemu operacyjnego. Zwykle zajmuje od ok. 60 KB do 160
KB, a nawet ponad 200 KB. Pozostała przestrzeń do granicy
640 KB może być użyta przez aplikacje.
18
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
19
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Pamięć górna (Upper Memory)
zajmuje obszar do adresu A0000 do FFFFF (640 KB - 1
MB) niedostępny do oprogramowania użytkownika.
Obszar ten (384 KB) podzielony jest na kilka części o
ściele ustalonym przeznaczeniu:
Obszar A0000 - BFFFF (128 KB) przeznaczony jest dla
pamięci ekranu.
Końcowa część obszaru Upper Memory przeznaczona
jest na ROM BIOS. W zależności od typu monitora i
karty graficznej oraz wielkości obszaru
zarezerwowanego na BIOS pozostaje nie
wykorzystany obszar tej pamięci ok.160 -230 KB.
20
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
21
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Pamięć dodatkowa - Expanded
Memory:
Ograniczenia adresowe procesora 8086 limitujące
wielkość pamięci RAM do 1 MB zmusiły konstruktorów do
poszukiwania sposobów zwiększenia dostępnej pamięci
użytkowej.
Technicznie uzyskano to poprzez zastosowanie
dodatkowej karty pamięci z układami RAM - zwanej
Expanded Memory. Fizycznie adresowanie tej
dodatkowej pamięci rozszerzonej realizował standard LIM
3.2
W wolnym nie wykorzystanym dotąd obszarze Upper
Memory wydzielono specjalne okno - page frame - za
pomocą którego można się odwoływać do dowolnego
segmentu zainstalowanej pamięci dodatkowej Expanded
Memory. Umożliwia to ściąganie w porcjach po 64 KB
zawartości tej pamięci poprzez okno page frame do
pamięci konwencjonalnej i użytkowanie zawartych w nich
danych przez oprogramowanie aktywne z pamięci
konwencjonalnej.
22
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
23
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Pamięć rozszerzona (Extended
Memory):
Procesory 286 i nowsze posiadające ponad 20 bitową
magistralę adresową umożliwiają bezpośrednie
adresowanie pamięci RAM powyżej 1 MB.
Szczególne znaczenie w obszarze Extended Memory ma
pierwszy blok 64 KB powyżej granicy 1 MB - tzw. obszar
wysokiej pamięci (High Memory Area) .
W komputerach z procesorami 286 i nowszymi, przy
zainstalowaniu pamięci RAM większej niż 1 MB, w wyniku
segmentowego sposobu adresacji pamięci, istnieje
możliwość wykorzystania tego obszaru przez DOS i
umieszczaniu w nim zasobów systemu.
24
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
25
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Każdy program komputerowy, który został z kodu
źródłowego przetworzony do postaci wykonywalnej (np.
plik
*.exe
) przed wykonaniem wczytywany jest do
pamięci operacyjnej.
Za proces wczytania programu odpowiada system
operacyjny. To system określa, w którym miejscu w
pamięci program ma być wczytany, tak by zajmowana
pamięć nie pokryła się z obszarem innego programu.
Zazwyczaj obszar pamięci zajmowanej przez program
można podzielić na trzy główne obszary pokazane na
poniższym rysunku.
26
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
27
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
obszar programu - to tutaj wczytany jest kod
wykonywalny programu przeznaczony dla danego typu
procesora i systemu operacyjnego. Wielkość obszaru
pamięci zależy od ilości kodu źródłowego napisanego przez
programistę oraz ilości użytych przez niego bibliotek z
dodatkowymi funkcjami. Zazwyczaj nie przekracza ona
wartości 1 lub 2 MB.
28
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
obszar danych - w tym obszarze przechowywane są dane,
które są przetwarzane przez wykonywany program. Wielkość
obszaru pamięci zajęta przez dane zależy ściśle od ilości
zmiennych użytych przez programistę do przechowywania
informacji. Może się zdarzyć, że niektóre programy
komputerowe powinny przetwarzać dużą ilość danych i
wtedy należy pamiętać przy pisaniu programu o jak
najbardziej efektywnym wykorzystaniu dosyć ograniczonej
ilości pamięci operacyjnej w komputerze.
29
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
stos - ten obszar pamięci służy do tymczasowego
przechowywania danych, które są potrzebne tylko przez
pewien czas przy wykonywaniu programu. Przykładem
takich danych mogą być zmienne lokalne w funkcjach,
które istnieją na stosie tylko w czasie wykonywania danej
funkcji. Określenie stos oznacza sposób dostępu do
danych. Kolejne zmienne zapamiętywane są na stosie w
kolejnych komórkach pamięci analogicznie do układania
np. stosu książek na stole. W danym momencie istnieje
dostęp tylko do ostatniej zmiennej na szczycie stosu (tak
samo jak tylko ostatnią książkę można wziąć ze stosu
książek). Żeby uzyskać dostęp do zmiennych w środku
stosu, to należy zdjąć wszystkie zmienne z jego
wierzchołka. Taki sposób dostępu do danych określany
jest czasem mianem
LIFO - Last In, First Out (ostatni położony, pierwszy
zdjęty).
30
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Praca domowa:
Zadanie 1
Wyjaśnij dokładnie sposób zapisu i adresowania pamięci RAM