- 1 -
Budowa, historia i rodzaje pamięci RAM i ROM.
Autor artykułu: mgr Jerzy Wałaszek
Potrzebę posiadania urządzenia zapamiętującego informację zauważali już
pionierzy maszyn cyfrowych. W roku 1834 Charles Babbage zaprojektował swoją
maszynę analityczną (ang. analitical engine) w oparciu o karty perforowane (ang.
punched card), które pełniły rolę pamięci programu oraz danych wejściowych.
Niestety, z powodu ciągłych zmian projektu Babbage popadł w konflikt z inżynierem
wykonującym elementy mechaniczne i idea budowy pierwszego, prawdziwego
komputera nie została urzeczywistniona za życia jego twórcy. Dopiero w latach 20-
tych ubiegłego wieku wnuk Babbage'a opierając się na oryginalnych planach dziadka
zbudował fragment tej maszyny. Jak można się domyślać, prototyp działał dokładnie
tak, jak tego życzyłby sobie Charles.
Zasada działania karty perforowanej jest bardzo prosta - informację zapisuje się
przy pomocy układu dziurek. Układ odczytujący (mechaniczny lub elektryczny)
sprawdza wystąpienia dziurek i przekazuje na ich podstawie odpowiednią informację
do maszyny cyfrowej. Poniżej przedstawiamy kartę perforowaną (tzw. fiszkę), która
była w powszechnym użyciu do lat 70-tych ubiegłego wieku.
- 2 -
U góry karty widzimy jej zawartość w postaci tekstu. Ten fragment karty jest
przeznaczony dla człowieka, który ewentualnie sprawdzał treść kart. Dla komputera
informacja jest zakodowana w postaci prostokątnych otworów w pionowych
kolumnach - tzw. perforacji. Każdy znak posiadał swoją własną kombinację otworów
w różnych wierszach, które tutaj są ponumerowane od 0 do 9. Na przykład dla
powyższej karty cyfra 9 jest kodowana otworkiem w wierszu 9 (są dwa otworki obok
siebie, czyli dwie cyfry 99). Spacja to brak otworków, Literka S ma otworki w
wierszu 0 i 2, literka T ma otworki w wierszu 0 i 3, itd. Każdy komputer definiował
swój własny kod dla kart perforowanych - całe szczęście, iż odeszły one już do
historii.
Na podobnej zasadzie pracuje taśma perforowana (ang. punched tape), którą
wykorzystywał w 1936 roku w swoich komputerach Konrad Zuse - twórca
pierwszego, działającego komputera dwójkowego.
Jako materiału Konrad Zuse wykorzystywał taśmę ze starymi filmami kinowymi (jakimi - nie
wiadomo). Informacja zapisywana była w formie kombinacji dziurek, które można było wybijać w
specjalnym urządzeniu, które również skonstruował Zuse dla swojej maszyny. Taśma perforowana
(czy karty perforowane) pozwalała zapisywać tylko dane wejściowe dla maszyny lub tylko wyniki.
Nie mogła służyć do chwilowego przechowywania informacji - np. wyników pośrednich przy
różnych obliczeniach matematycznych. Z tego powodu Zuse skonstruował dodatkową pamięć
wewnętrzną dla swojej maszyny liczącej. Była to pamięć mechaniczna, w której bity (tak, bity -
maszyna Zusego pracowała w systemie binarnym) zapamiętywane były przy pomocy odpowiednich
przesunięć blaszek i zatrzasków. Całość wyglądała jak na poniższej fotografii, która przedstawia
egzemplarz komputera Z3, zrekonstruowanego w latach 90-tych ubiegłego stulecia i który można
obejrzeć w Berlińskim Muzeum Techniki.
- 3 -
W pamięci tej maszyna cyfrowa mogła składować dane w postaci 64 liczb zmiennoprzecinkowych.
Program zapisany na karcie perforowanej odwoływał się do tych danych, dzięki czemu maszyna
Zusego bez problemu realizowała nawet zaawansowane obliczenia numeryczne (np. całki, różniczki
itp.).
Wadą pamięci mechanicznej była jej powolność oraz zawodność - blaszki czasami się zacinały
powodując awarię maszyny. Mimo tych niedogodności jeden z późniejszych komputerów Zusego
przez wiele lat po wojnie pracował jako jedyna maszyna cyfrowa w Europie do badań nad
metodami numerycznymi.
Na początku lat 50-tych ubiegłego wieku rozpowszechniły się elektroniczne maszyny cyfrowe.
Szybkość i niezawodność działania pamięci wewnętrznej stały się kluczowym elementem tych
maszyn. Opracowano zatem wiele ciekawych konstrukcji pamięci komputerowych.
1947 - wynalezienie magnetycznej pamięci ferrytowej (ang. magnetic core memory). Zasada
działania opierała się na magnesowaniu malutkich rdzeni ferrytowych. Stan namagnesowania jest
stały i można go odczytywać. Każdy rdzeń przechowuje informację o jednym bicie. Na poniższym
obrazku widzimy fragment takiej pamięci ferrytowej. Rdzenie posiadają formę małych pierścieni
wykonanych z ferrytu, przez które przechodzą przewody magnesujące i odczytujące stan
namagnesowania (odczyt niszczył zapamiętaną informację, ponieważ rdzenie się
przemagnesowywały, dlatego układy sterujące pamięcią ferrytową zawierały specjalne obwody
regenerujące dane po każdym odczycie). Pamięć magnetyczna była pamięcią nieulotną - tzn. nie
traciła informacji po wyłączeniu zasilania.
Aby uzyskać odpowiednio dużą pojemność, pamięć maszyny cyfrowej montowano z wielu
plastrów ferrytowych, co widzimy na poniższej fotografii:
- 4 -
1947 - wynalezienie magnetycznej pamięci bębnowej (ang. magnetic drum memory). Zasada
działania polegała na zapisie informacji binarnej w postaci ścieżek magnetycznych na obwodzie
bębna pokrytego specjalnym materiałem magnetycznym. Bęben obracając się pozwalał na ciągły
zapis i odczyt danych. Ilość przechowywanej informacji zależała od liczby ścieżek oraz pojemności
każdej ścieżki. Na poniższym obrazku możemy zobaczyć takie urządzenie będące pradziadkiem
współczesnych dysków twardych.
1949 - wynalezienie pamięci z ultradźwiękową linią opóźniającą (ang. ultrasonic delay line
memory). Informacja pamiętana była w postaci fali ultradźwiękowej przemieszczającej się w tubie
wypełnionej rtęcią. Na jednym końcu tuby znajdował się kwarcowy nadajnik, a na drugim
kwarcowy odbiornik drgań. Dane z odbiornika po odpowiedniej regeneracji kształtu fali były z
powrotem kierowane do nadajnika - informacja krążyła w kółko. Pojemność pamięci zależała od
długości tuby z linią opóźniającą oraz od ilości tub. Dane można było odczytywać, gdy pojawiły się
na wyjściu. Zapis polegał na wprowadzaniu danych na wejściu w odpowiednich przedziałach
czasowych.
1951 - pierwsze zastosowanie taśmy magnetycznej (ang. magnetic tape memory) do zapisu
informacji w komputerze UNIVAC. Urządzenie zapisujące nosiło nazwę UNISERVO, a nośnikiem
była cienka, półcalowa taśma wykonana z paska fosforobrązu pokrytego niklem. Na jednym calu
taśmy mieściło się 128 znaków - zapis wykonywany był na 8 równoległych ścieżkach
magnetycznych z prędkością stu cali na sekundę (2,54 m/s), co w efekcie dawało strumień danych o
szybkości 12800 znaków na sekundę.
- 5 -
1966 - powstaje firma Intel i rozpoczyna budowę oraz sprzedaż pamięci półprzewodnikowych (ang.
semiconductor memory). Półprzewodnikowe pamięci elektroniczne stają się coraz bardziej
popularne, gdyż posiadają wiele zalet nad swoimi rywalami - małe rozmiary, niewielki pobór
energii, rosnącą pojemność wraz z rozwojem układów scalonych oraz malejącą cenę. Pamięć
komputera zaczyna się różnicować na szybką pamięć operacyjną (ang. system memory), w której
komputer przechowuje wykonywane programy oraz przetwarzane dane, i na znacznie wolniejszą
pamięć masową (ang. mass storage memory), w której przechowywane są duże ilości informacji.
Poniżej słynny układ scalony Intel 1103 o pojemności 1kb (1024 bity).
Współczesne pamięci komputerowe są bardzo szybkie i posiadają olbrzymie pojemności -
niejednokrotnie liczone w giga bajtach. Na tym polu wciąż trwa szybki rozwój i trudno przewidzieć
czym zaskoczą nas w przyszłości producenci komponentów komputerowych.
- 6 -
Pamięć komputerowa (ang. computer memory) jest urządzeniem cyfrowym służącym do
przechowywania informacji w postaci bitów. Dzielimy ją na:
•
pamięć operacyjną (ang. operating memory) - służy do przechowywania uruchomionych
programów oraz przetwarzanych danych. Jest pamięcią szybką, o krótkim czasie dostępu do
przechowywanej informacji. Pamięć operacyjna realizowana jest z układów
półprzewodnikowych. Posiada relatywnie małą pojemność (do kilku giga bajtów).
•
pamięć masową (ang. mass storage) - służy do składowania programów oraz dużej ilości
informacji. Pamięć masowa posiada dłuższy czas dostępu do przechowywanych danych w
porównaniu z pamięcią operacyjną, lecz ma dużą pojemność (setki gigabajtów).
Realizowana jest w postaci dysków twardych, stacji CD/DVD, dysków sieciowych
(dostępnych poprzez sieć teleinformatyczną). W przyszłości, gdy ulepszone zostaną pamięci
FLASH, pamięć masowa prawdopodobnie zintegruje się z pamięcią operacyjną komputera -
urządzenia mechaniczne, jak dyski twarde i stacje CD/DVD, odejdą do lamusa (tak dzieje
się obecnie ze stacjami dyskietek, zastępują je Pendrive'y).
Pamięć operacyjna RAM
Pamięć RAM (ang. Random Access Memory - pamięć o dostępie swobodnym) jest podstawowym
składnikiem pamięci operacyjnej komputera. Termin RAM oznacza pamięć, z której informacja
może być odczytywana w dowolnej kolejności bez względu na poprzednie odczyty czy zapisy.
Termin RAM wprowadzono w celu odróżnienia pamięci o dostępie swobodnym od pamięci o
dostępie sekwencyjnym (np. taśmowej, dyskowej itp.), popularnej na początku ery komputerowej.
Informacja przechowywana jest w pamięci RAM w postaci bitów umieszczanych w komórkach
(ang memory cell), których mogą być miliardy. Aby komputer mógł uzyskiwać w prosty sposób
dostęp do każdej komórki pamięci, zostały one ponumerowane. Numery komórek nazywamy
adresami komórek pamięci (ang. memory cell address). Poniżej przedstawiamy fragment logicznej
struktury pamięci (czyli tak, jak widzi swoją pamięć komputer):
Pamięć
Adres Zawartość komórki
0
11000110
1
00001111
2
11000011
3
11111110
4
00000001
5
11100111
...
...
Ze względów ekonomicznych poszczególne komórki pamięci przechowują grupę kilku bitów
(najczęściej jest ich 8 - czyli 1 bajt, ale rozmiar bitowy komórki pamięci zależy od architektury
systemu komputerowego). Na przykład komórka o adresie 3 przechowuje 8 bitów o zawartości
11111110. Treść tej informacji uzależniona jest od interpretacji stanów bitów.
- 7 -
Komputer steruje pamięcią przy pomocy trzech magistral (ang. bus). Magistrale zbudowane są z
linii, którymi transmituje się sygnały. We współczesnych komputerach magistrale są cyfrowe, co
oznacza, iż poszczególne linie przesyłają tylko sygnały dwustanowe, czyli bity. Widać z tego
wyraźnie, iż komputery są maszynami binarnymi nie tylko ze względu na rodzaj przetwarzanych
informacji, lecz również z powodu swojej wewnętrznej budowy - mówimy, iż posiadają
architekturę binarną (ang. binary architecture).
Magistrala adresowa (ang. address bus) przekazuje pamięci adres komórki, do której komputer chce
uzyskać dostęp - odczytać zawartość lub umieścić nowe dane. Ponieważ adres przekazywany jest
magistralą cyfrową, to sam również występuje jako liczba binarna. Ilość linii na magistrali
adresowej określa zakres dostępnych adresów, a zatem maksymalny rozmiar pamięci komputera.
Do obliczeń stosujemy prosty wzór:
rozmiar pamięci = 2
liczba linii na magistrali adresowej
Na przykład w starych komputerach magistrala adresowa mogła zawierać maksymalnie 16 linii.
Zatem rozmiar możliwej do zaadresowania pamięci wynosił 2
16
= 65536 komórek (sławne 64KB -
kilo bajty). Jeśli magistrala adresowa składa się z 32 linii, to komputer jest w stanie wykorzystać 2
32
= 4294967296 = 4GB pamięci (GB - gigabajt). Oczywiście w systemie może być mniej pamięci
(np. tylko 1GB = 1073741824 komórek), w takim przypadku część adresów nie jest
wykorzystywana, gdyż nie stoją za nimi żadne komórki. Ilość możliwych do zaadresowania
komórek nosi nazwę przestrzeni adresowej (ang. address space). Natomiast pamięć fizyczna (ang.
physical memory, physical storage) określa ilość pamięci rzeczywiście zainstalowanej w systemie
komputerowym.
Magistrala danych (ang. data bus) umożliwia komputerowi przekazywanie danych do pamięci oraz
odczyt przechowywanych przez pamięć informacji z komórek. Magistrala danych zbudowana jest z
linii sygnałowych, po których przekazywane są bity. Ilość linii na magistrali danych zależy od
architektury komputera. Na przykład w systemach 32-bitowych magistrala danych zawiera 32 linie,
co pozwala w jednym cyklu dostępu do pamięci przesłać porcję 32 bitów.
Jeśli dokładnie czytałeś podane wyżej informacje, to zapewne zauważyłeś, iż
pisaliśmy o pamięci zawierającej komórki 8 bitowe. Tutaj z kolei piszemy, że
magistrala danych jest 32-bitowa. Jak pogodzić ze sobą te dwa fakty. Prześledźmy
krótką historię rozwoju magistral danych.
- 8 -
Popularne w latach 80-tych ubiegłego wieku komputery 8-bitowe
Sinclair ZX-Spectrum
Commodore 64
Atari 800XL
Magistrala danych pierwszych popularnych komputerów domowych była 8 bitowa i odpowiadała
dokładnie rozmiarowi komórki pamięci. Dane umieszczane na 8-bitowej magistrali trafiały
bezpośrednio do zaadresowanej komórki. Również odczyt danych z dowolnej komórki był
realizowany przy pomocy 8 bitowej magistrali. Stąd systemy takie często określa się dzisiaj
mianem komputerów 8 bitowych. Magistrale 8 bitowe wciąż są w użyciu w świecie
mikrokontrolerów - małych komputerków, które w całości mieszczą się w pojedynczym układzie
scalonym i sterują różnymi urządzeniami - monitorami, radiami, telewizorami, aparatami
fotograficznymi, pralkami, zegarkami, grami elektronicznymi itp.
Komputery 16-bitowe, rozpowszechnione pod koniec lat 80-tych ubiegłego wieku.
Commodore Amiga
500
Atari 520ST
IBM PC-AT
Apple Macintosh
Kolejna generacja komputerów osobistych to maszyny z 16 bitową magistralą danych. Komórki
pamięci zostały dalej 8-bitowe. Pamięć podzielono na dwa banki, które współpracowały z jedną
połówką magistrali danych.
- 9 -
Połączenie banków pamięci z 16-bitową magistralą danych
Bank 1
Bank 0
d
15
d
14
d
13
d
12
d
11
d
10
d
9
d
8
d
7
d
6
d
5
d
4
d
3
d
2
d
1
d
0
Na przykład bank 0 podłączony był do linii d
7
...d
0
, czyli do młodszych 8 bitów magistrali danych.
Poprzez te linie komputer komunikował się z komórkami pamięci zawartymi w banku 0. Z kolei
drugi bank, bank 1, podłączony był do pozostałych 8 linii danych - d
15
...d
8
.
Bank 1
Bank 0
Adres Zawartość
Adres Zawartość
1 01111110
0 11101000
3 11111111
2 11110000
5
00000000
4 11110001
7 10000000
6
00000001
...
...
Z punktu widzenia komputera komórki w banku 0 posiadały adresy parzyste 0, 2, 4, 6, ... Komórki
w banku 1 posiadały adresy nieparzyste. Oba banki pamięci połączone były z tą samą magistralą
adresową bez linii A0, która służyła do wyboru banku pamięci w przypadku danych 8-bitowych.
Dzięki takiemu rozwiązaniu komputer mógł przesłać do lub pobrać z pamięci porcję 16 bitów
(naraz dwie komórki), gdyż magistrala adresowa wybierała z obu pamięci komórki leżące w tym
samym wierszu. Istnieje też pewna niedogodność. Jeśli dane 16-bitowe zostaną umieszczone pod
nieparzystym adresem (tutaj w komórkach 5 i 6), to nie można ich pobrać w jednym cyklu odczytu
pamięci, ponieważ znajdują się w dwóch różnych wierszach. Powoduje to spowolnienie działania
programu przetwarzającego te dane - komputer musi czytać pamięć dwa razy po 8 bitów, pomimo
ż
e jest maszyną 16-bitową!. Dlatego kompilatory języków programowania posiadają wbudowane
odpowiednie mechanizmy umieszczania danych wielobajtowych pod właściwymi adresami, nawet
jeśli prowadziłoby to do powstania dziur (niewykorzystanych komórek) w obszarze pamięci.
32 bitowe komputery lat 90-tych ubiegłego wieku.
Commodore Amiga 4000
Apple Macintosh LC-475
IBM PC 486
- 10 -
Rozwój komputeryzacji wymusił pojawienie się maszyn 32-bitowych. Pamięć komputera 32-
bitowego wciąż zbudowana jest z komórek 8-bitowych. Zastosowano podobne rozwiązanie jak w
systemach 16 bitowych - podzielono pamięć na cztery banki 0, 1, 2 i 3. Każdy bank współpracuje z
8 liniami magistrali danych. Banki są podłączone do wspólnej magistrali adresowej z wyjątkiem
linii A1 i A0, które sterują wybieraniem odpowiedniego banku (lub pary banków) w przypadku
danych 8-bitowych (lub 16 bitowych).
Połączenie banków pamięci z 32-bitową magistralą danych
Bank 3
Bank 2
Bank 1
Bank 0
d
31
d
30
d
29
d
28
d
27
D
26
d
25
d
24
d
23
d
22
d
21
d
20
d
19
d
18
d
17
d
16
d
15
d
14
d
13
d
12
d
11
d
10
d
9
d
8
d
7
d
6
d
5
d
4
d
3
d
2
d
1
d
0
Poniżej przedstawiamy rozłożenie adresów komórek w poszczególnych bankach pamięci z punktu
widzenia komputera. Magistrala adresowa wybiera zawsze rząd 4 komórek, leżących pod tym
samym adresem w każdym z banków. Dwa najmłodsze bity A1 i A0 adresują odpowiedni bank, a
komputer odczytuje lub zapisuje dane wykorzystując linie magistrali danych połączone z
wybranym bankiem (lub z wybranymi bankami).
Bank 3
Bank 2
Bank 1
Bank 0
Adres Zawartość
Adres Zawartość
Adres Zawartość
Adres Zawartość
3 00000000
2 11111111
1 11110000
0 00001111
7 11001100
6 10101010
5 01010101
4 11000011
11 11100111
10 10000001
9 01111110
8 11010011
15 11010110
14 00101100
13 00111010
12 11010100
19 11010010
18 00010100
17 00100100
16 11011110
...
...
...
Aby wykorzystać maksymalnie potencjał systemu 32-bitowego dane 16 bitowe należy umieszczać
pod adresami parzystymi (np. komórki 6-7 i 8-9), a dane 32 bitowe należy umieszczać pod
adresami podzielnymi przez 4 (np. komórki 16-17-18-19). Wtedy komputer będzie miał do nich
dostęp w jednym cyklu odczytu lub zapisu pamięci.
Zwróć uwagę na sposób przechowywania danych wielobajtowych w komórkach pamięci. Możliwe
są dwa rozwiązania - tzw. little-endian i big-endian. Wszystkie procesory Intel i kompatybilne
stosują system little-endian, który polega na tym, iż w niższych adresach przechowuje się mniej
znaczące bajty danych. Zatem dana 16-bitowa w little-endian zostanie umieszczona w kolejnych
dwóch komórkach jako b
7
...b
0
w pierwszej komórce (o niższym adresie) i b
15
...b
8
w drugiej
komórce o adresie wyższym. Z danymi 32-bitowymi jest identycznie : najmłodszy bajt trafi do
pierwszej komórki, a najstarszy do ostatniej. Porządek ten odzwierciedla nasz schemat
rozmieszczenia bloków pamięci. W systemie big-endian (stosowanym w starszych komputerach
Amiga, Macintosh oraz w niektórych systemach mainframe) jest na odwrót: pierwszy adres
przechowuje starsze bity, następne adresy przechowują coraz młodsze bity danej.
- 11 -
Magistrala sterująca (ang. control bus) umożliwia komputerowi kierowanie pracą pamięci. Zawiera
ona kilka linii, które określają rodzaj wykonywanej przez pamięć operacji (zapis lub odczyt) oraz
uaktywniają odpowiednie banki pamięci w systemach 16-, 32- i 64-bitowych.
Prześledźmy teraz uproszczone cykle odczytu i zapisu danych do pamięci.
1.
Na magistrali adresowej A komputer umieszcza
adres komórki pamięci, z której chce odczytać
dane.
2.
Magistralą sterującą S przesłane zostaje do pamięci
żą
danie odczytu danych.
3.
W odpowiedzi pamięć wyszukuje pożądaną
komórkę i umieszcza na magistrali danych D jej
zawartość.
4.
Komputer odczytuje z magistrali danych zawartość
zaadresowanej komórki.
5.
Cykl zostaje zakończony, sygnały wracają do stanu
neutralnego.
1.
Na magistrali adresowej A komputer umieszcza
adres komórki, do której mają trafić dane.
2.
Na magistrali danych D komputer umieszcza bity
danych, które należy zapamiętać w zaadresowanej
komórce.
3.
Magistralą sterującą S zostaje przesłane żądanie
zapisu danych.
4.
W odpowiedzi pamięć pobiera dane z magistrali
danych D, wyszukuje komórkę o adresie obecnym
na magistrali adresowej A i zapisuje w niej dane.
5.
Cykl zostaje zakończony, sygnały wracają do stanu
neutralnego.
Poszczególne kroki obu cykli muszą być dokładnie skoordynowane w czasie, w przeciwnym razie
pamięć może nie zdążyć przygotować danych dla komputera. Również przy zapisie przekroczenie
dopuszczalnych parametrów czasowych pamięci może prowadzić do zgubienia informacji. Wynika
z tego, iż pamięć oraz reszta systemu komputerowego muszą ze sobą ściśle współpracować.
Rodzaje pamięci
W zależności od sposobu zapamiętywania bitów w komórkach pamięć RAM dzielimy na dwa
rodzaje:
Pamięć statyczna RAM (ang. SRAM - Static Random Access Memory). Do zapamiętywania
bitów stosuje się
przerzutniki bistabilne
. Pamięci statyczne są bardzo szybkie i mało kłopotliwe w
obsłudze. Wadą jest złożoność przerzutnika zapamiętującego jeden bit danych. Zbudowany jest z co
najmniej 6 elementów elektronicznych (tranzystorów CMOS). Ponieważ użyteczna pamięć musi
zawierać setki milionów takich przerzutników (np. pamięć 1GB zawiera 8 • 107'3741'824 =
8'589'934'592 przerzutników = 51'539'607'552 tranzystorów CMOS), to jej wewnętrzna budowa
bardzo się komplikuje. Jednakże przemysł elektroniczny radzi sobie z tymi trudnościami i pamięci
statyczne zdobywają coraz większą popularność.
- 12 -
Pamięć dynamiczna RAM
(ang. DRAM - Dynamic Random Access Memory). Ponieważ pamięci
statyczne zawierają dużo elementów elektronicznych i są trudne w produkcji, inżynierowie od
dawna poszukiwali prostszych układów pamięciowych. Rozwiązaniem okazała się pamięć
dynamiczna, wynaleziona w 1966 roku i opatentowana w 1968 przez dr Roberta Dennarda z
Centrum Badawczego Thomasa J. Watsona w IBM. Pomysł opiera się na wykorzystaniu
kondensatorów do zapamiętywania bitów informacji. Kondensator naładowany ładunkiem
elektrycznym utrzymuje ten stan. W pamięci dynamicznej dla każdego bitu wykorzystywany jest
mikroskopijny kondensatorek sterowany pojedynczym tranzystorem CMOS (a nie sześcioma, jak w
pamięci statycznej). Problem polega na tym, iż w tej skali trudno uzyskać materiały izolacyjne o
wysokich parametrach (a pamięć dynamiczna ma być przecież tania, inaczej jej produkcja traci
sens). Zatem naładowany kondensatorek szybko rozładowuje się z powodu przepływu elektronów
przez warstwę izolacyjną. Czas rozładowania wynosi milisekundy. Ładunek kondensatorka musi
być systematycznie odświeżany - stąd nazwa pamięć dynamiczna, ponieważ informacja jest
pamiętana dynamicznie - trzeba ją cyklicznie regenerować, inaczej dosłownie rozpłynie się w
strukturze układu scalonego. Do odświeżania (ang. refresh) zawartości pamięci dynamicznej stosuje
się specjalne obwody (mogą one być umieszczone wewnątrz układu scalonego pamięci - wtedy
mamy do czynienia z tzw. pamięcią pseudostatyczną, gdyż zewnętrznie obsługiwana jest
identycznie jak pamięć statyczna). Z powodu odświeżania pamięć dynamiczna jest wolniejsza w
działaniu od pamięci statycznej i bardziej kłopotliwa w eksploatacji. Jej zaletę stanowi natomiast
duża pojemność z uwagi na mniejszą liczbę elementów elektronicznych przypadającą na bit danych
w porównaniu z pamięcią statyczną. Pamięci dynamiczne są obecnie powszechnie stosowane w
systemach komputerowych.
Pamięć stała (ang. ROM - Read Only Memory). Opisywane powyżej pamięci RAM tracą
przechowywaną informację przy zaniku zasilania. Innymi słowy, jeśli wyłączysz komputer, to
przestanie on pamiętać wszystko, co znajduje się w jego pamięci RAM. Z drugiej strony komputer
potrzebuje pamięci, które przechowują dane nawet po wyłączeniu zasilania. Przykładem może być
pamięć ROM-BIOS (ang ROM Basic Input/Output Subsystem), która zawiera program startowy
oraz podstawowe procedury obsługi urządzeń zewnętrznych (klawiatura, monitor, dyski, itp.). Gdy
włączymy zasilanie komputera, właśnie z pamięci ROM-BIOS wykonuje się program startowy,
który uruchomi resztę systemu operacyjnego. Pamięć ROM można tylko odczytywać. Zawarta w
ROM informacja została tam umieszczona na etapie produkcji w strukturze wewnętrznej układu
scalonego i nie może być już zmieniona przez użytkownika.
Pamięć FLASH. Jest to pamięć nieulotna, tzn. można w niej zapisać dane, wyłączyć zasilanie, a
dane nie zostaną stracone i wciąż będą obecne po ponownym włączeniu zasilania. Bity są
zapamiętywane, podobnie jak w pamięci dynamicznej, w mikroskopijnych kondensatorach. Jednak
tym razem warstwa izolacyjna jest tak dobra, iż ładunek zostaje uwięziony nawet na 10 lat. Czemu
w takim razie nie stosuje się pamięci FLASH w charakterze pamięci RAM? Niestety, oprócz
wymienionych zalet, pamięci FLASH posiadają również istotne wady. Po pierwsze nie są tak
szybkie jak typowe pamięci SRAM czy DRAM. Ustępują im o rząd wielkości. Szybkość pracy
pamięci jest kluczowa dla szybkości działania całego systemu komputerowego. Po drugie każdy
zapis danych degeneruje warstwę izolacyjną i po kilku milionach cykli warstwa ta ulega
całkowitemu uszkodzeniu - pamięć przestaje działać. Pomimo tych wad pamięć FLASH może być
stosowana jako zastępca pamięci ROM do przechowywania BIOS komputera. Dzięki możliwości
zapisu danych użytkownik może aktualizować oprogramowanie systemowe swojego komputera -
np. aktualizacja usuwa wykryte przez producenta błędy, poprawia współdziałanie z nowymi
składnikami systemu itp. Oczywiście aktualizacja zawartości pamięci FLASH jest wykonywana
przez odpowiedni program producenta płyty głównej - w przeciwnym razie komputer bardzo
szybko przestałby się uruchamiać (odpowiedz sobie dlaczego?).
- 13 -
Pamięci FLASH są intensywnie rozwijane. Rośnie ich szybkość oraz pojemność. Obecnie stosuje
się je powszechnie w aparatach fotograficznych, kamerach cyfrowych, odtwarzaczach mp3 oraz w
dyskach Pendrive.
Cyfrowy aparat
fotograficzny
Cyfrowa kamera
iPod - odtwarzacz
muzyki i filmów
Dysk krzemowy
Pendrive
W przyszłości, gdy zostaną pokonane obecne bariery technologiczne, pamięci FLASH przejmą rolę
pamięci RAM oraz pamięci dyskowej. Wyobraź sobie - system operacyjny na stałe zainstalowany
w pamięci operacyjnej, czyli błyskawiczna gotowość komputera do pracy. Przetwarzane dane nie
ulegają zniszczeniu przy przypadkowym wyłączeniu zasilania. Natychmiastowy dostęp do filmów,
muzyki, informacji. Brak urządzeń mechanicznych zwiększa niezawodność komputerów oraz ich
odporność na trudne warunki eksploatacji (wojsko, transport, sondy kosmiczne, dzieci :) itp.).
Pamięć posiada olbrzymią pojemność liczoną w terabajtach...
Pamięć dyskowa (ang. disk storage, disk memory). Oprócz pamięci operacyjnej, w której
komputer przechowuje bezpośrednio uruchomione programy oraz właśnie wykonywane programy,
w systemach komputerowych stosuje się pamięć masową o bardzo dużej pojemności. Na dzień
dzisiejszy pamięć masowa realizowana jest za pomocą urządzeń mechaniczno elektronicznych.
Typowym przykładem jest dysk twardy (ang. hard drive, hard disk). Pomysł takiego urządzenia
powstał dosyć dawno, bo w roku 1947 w postaci
pamięci bębnowe
j.
Współczesny dysk twardy zawiera zespół wirujących dysków wykonanych z twardego materiału i
pokrytych bardzo cienką warstwą magnetyczną. Nad powierzchniami dysków unoszą się na
poduszkach powietrznych głowice zapisująco-odczytujące. Zapisany ślad ma formę
koncentrycznych pierścieni, które nazywamy ścieżkami (ang. track). Ścieżki podzielone są na
sektory (ang. sector). W sektorach zapisuje się dane (zwykle 512 lub 1024 bajty). Minimalną
jednostką odczytu lub zapisu jest cały sektor - wynika to z powodów technicznych: bardzo trudno
byłoby zsynchronizować zapis pojedynczych bajtów z obrotem dysku. Sektor, jako większy, łatwiej
rozpoznać na ścieżce - posiada odpowiednie znaczniki, które głowica odczytuje w trakcie
przeglądania ścieżki. Na podstawie tych znaczników kontroler dysku twardego (specjalny
mikrokomputer zawarty w każdym dysku twardym) rozpoznaje początek określonego sektora i
może go odczytać do wewnętrznego bufora lub zapisać danymi z bufora.
- 14 -
Jak widać, pamięć dyskowa posiada nieco inną strukturę, niż typowa pamięć RAM. Zamiast
pojedynczych komórek mamy sektory. Jeśli jednak potraktujemy sektor jako taką dużą komórkę
zawierającą 512 (lub 1024) bajtów danych, a numer ścieżki i numer sektora na ścieżce jako adres
tej komórki w obszarze dysku, to pojawi się analogia pamięci dyskowej z pamięcią RAM. Różnice
są w sposobie dostępu do danych. W pamięci RAM komputer po prostu wysyłał adres na magistralę
adresową i odczytywał sobie dane z magistrali danych. Z dyskiem musi natomiast współpracować
poprzez porty wejścia/wyjścia. Wymaga to całej procedury komunikacyjnej do odczytu i zapisu
sektora. Poza tym dane na dyskach są zorganizowane w tzw. system plików (ang. file system),
którym zarządza system operacyjny komputera. Całość jest na tyle skomplikowana, iż samodzielna
obsługa dysku twardego komputera na poziomie sektorów raczej mija się z celem - ilość czynników
do uwzględnienia jest tak duża, że lepiej zostawić to fachowcom - o ile nie jesteś młodym
geniuszem tworzącym konkurencyjny system operacyjny w stosunku do Windows, Linux, Unix itd.
Zaletą dysków twardych jest duża pojemność do przechowywania danych oraz oprogramowania,
sięgająca setek gigabajtów. Przewiduję jednakże, iż w niedalekiej przyszłości dyski twarde, jako
urządzenia w sumie mechaniczne, zostaną wyparte przez pamięci FLASH, które są urządzeniami
czysto elektronicznymi i nie zawierają zużywających się części ruchomych. Już dzisiaj takie
rozwiązania można spotkać w sprzęcie komputerowym mniejszego kalibru - aparaty fotograficzne,
kamery, telefony komórkowe itp. Współczesne mikrodyski krzemowe PenDrive mają pojemności
takie, jakie miały dyski twarde w połowie lat 90-tych ubiegłego wieku (a nawet większe - np.
PenDrive 8GB, 16GB).
Innym rodzajem pamięci masowej są stacje dysków elastycznych (ang. floppy drive). Zasada
działania takiej stacji jest bardzo podobna do zasady działania dysku twardego. Dysk jest
umieszczony w plastikowej obudowie (dyskietce) i wykonany z elastycznego materiału pokrytego
warstwą ferromagnetyczną. Po umieszczeniu dyskietki w stacji z dyskiem styka się głowica, która
podobnie jak w magnetofonie, zapisuje lub odczytuje koncentryczne ścieżki magnetyczne na obu
powierzchniach dysku. Ścieżki dzielą się na sektory. W każdym sektorze można umieścić 512
bajtów informacji. Jednostką zapisu lub odczytu jest jeden sektor, z tych samych powodów co dla
dysku twardego. Pojemność dyskietki wynosi 1,44MB (format HD - High Density, wysoka gęstość
zapisu). Na dzisiejsze czasy jest to niewiele - na dyskietce mieści się kilka prostych obrazków lub
kilka dokumentów procesora tekstu Word. Zapis i odczyt jest bardzo wolny i . niestety, niezbyt
pewny. Rozpowszechnienie się tanich pamięci PenDrive wróży bardzo szybki koniec stacjom
dysków elastycznych - coraz częściej pojawiają się komputery bez tego urządzenia. Jeden PenDrive
o pojemności 4GB to odpowiednik 2844 dyskietek HD !!! - rozumiesz już, czemu dyskietki muszą
odejść?
- 15 -
Dysk sieciowy (ang. network drive) jest obszarem pamięci dyskowej odległego komputera, który
został udostępniony użytkownikowi poprzez sieć lokalną. Z punktu widzenia komputera dysk
sieciowy zachowuje się identycznie jak dysk twardy. Można na nim umieszczać dane i programy.
Posiada on określoną pojemność. Różnica jest tylko taka, iż dostęp do danych następuje poprzez
procedury obsługi transmisji sieciowych. Dyski sieciowe mogą być współdzielone przez kilku
użytkowników sieci, dzięki temu użytkownicy są w stanie ze sobą ściśle współpracować - bardzo
istotna cecha w firmach wykorzystujących intensywnie technologie informatyczne. Z drugiej strony
dysk sieciowy zapewnia bezpieczeństwo danych - jeśli komputer użytkownika ulegnie awarii, to
dostęp do danych użytkownik może uzyskać z innego, sprawnego komputera.
Dysk optyczny (ang. optical disk). W poszukiwaniu tanich nośników informacji pod koniec lat 80-
tych ubiegłego wieku naukowcy zainteresowali się laserami. Laser (ang. Light Amplification by
Stimulated Emission of Radiation - wzmocnienie światła poprzez wymuszoną emisję
promieniowania) jest urządzeniem, które emituje bardzo spójną wiązkę światła. Po wynalezieniu
półprzewodnikowych diod laserowych trafił on do sprzętu powszechnego użytku jako urządzenie
odczytujące dane ze specjalnych dysków optycznych CD (ang. compact disk) lub DVD (ang. digital
video disk lub digital versatile disk).
Dyski CD/DVD są wykonane z warstw sztywnego polimeru. Pomiędzy warstwami umieszczona
jest powierzchnia odblaskowa z aluminium lub podobnego materiału. Zadaniem tej powierzchni jest
odbijanie wiązki lasera w kierunku fotodiody (element czuły na światło). W powierzchni
odblaskowej wytłoczone są mikroskopijne zagłębienia, tworzące spiralną ścieżkę przebiegającą
wokół całej powierzchni czynnej dysku. Ścieżka jest śladem, po którym porusza się promień lasera,
gdy dysk optyczny zostanie włożony do stacji CD/DVD (ang. CD/DVD Drive). Jeśli promień trafi
na zagłębienie, to zostanie odbity pod innym kątem i nie trafi do układu odczytującego. Przerwy w
odbiorze światła lasera są właśnie informacją cyfrową odczytywaną z dysku. Na ich podstawie
napęd CD odtwarza zapisane na dysku dane cyfrowe.
Dyski CD pierwotnie zaprojektowano do zapisu muzyki. Jednak bardzo szybko okazało się, iż
technika ta pozwala zapisywać również dane - obrazy, filmy, pliki, programy itp. Powstał standard
CD-ROM. Na dysku CD-ROM można zapisać ponad 700MB danych. To bardzo duży skok w
porównaniu do dyskietki (1,44MB). Użytkownicy uzyskali dostęp do olbrzymiej bazy danych
cyfrowych - dyski CD-ROM są np. sprzedawane wraz z czasopismami. Na rynku pojawiły się
urządzenia nagrywające - nagrywarki CD-R i CD-RW (ang. R - read tylko odczyt, RW - read/write
- odczyt/zapis). Dzięki nim użytkownik ma możliwość utworzenia własnych dysków CD, czy to z
muzyką, czy to z danymi. Rozwój tej technologii doprowadził w krótkim czasie do powstania
dysków DVD o kilkukrotnie większej pojemności (typowo 4,7GB, ale dysk DVD może być
dwuwarstwowy - około 8GB oraz dwustronny - 17GB). Ulepszenie polegało na zmniejszeniu
ś
rednicy wiązki lasera, co pozwoliło zagęścić ścieżki na dysku oraz zmniejszyć minimalną długość
pitów. W efekcie wzrosła pojemność dysku optycznego. Na jednym krążku DVD mieści się około 2
godziny filmu w dobrej jakości cyfrowej.
- 16 -
Prace trwają nadal. Obecnym hitem jest niebiesko-fioletowy laser (w CD i DVD używany był laser
podczerwony) o dużo mniejszej długości fali. Zmniejszenie długości fali zwiększa rozdzielczość
ś
wiatła laserowego, co pociąga za sobą możliwość dalszej miniaturyzacji pitów i zagęszczenie
ś
cieżek. Nowe dyski nazwano Blu-ray Disk i HD-DVD (to dwa rywalizujące ze sobą rozwiązania).
Mają pojemność 25-30GB. Nowa technologia zapisu cyfrowego umożliwia zapis na dysku BD lub
HD-DVD dwie godziny filmu w bardzo wysokiej jakości - przeznaczonego do odtwarzania na
telewizorach HD. Obraz nie ustępuje w niczym obrazowi kinowemu. Na rynku są już dostępne
nagrywarki dysków Blu-ray oraz HD-DVD. Czyżby zmierzch standardu CD/DVD?
Dyski krzemowe (ang. silicon drive). Są to urządzenia czysto elektroniczne, zawierające pamięć
FLASH. Cechą charakterystyczną tej pamięci jest utrzymywanie zapisanych danych, nawet po
wyłączeniu zasilania. Sprawia to, iż idealnie nadaje się do zastosowania w urządzeniach
przenośnych w charakterze dysku twardego. Obecnie pamięć FLASH ustępuje jeszcze szybkością i
trwałością (każdy zapis degeneruje pamięć, po kilku milionach cykli przestanie ona działać)
dyskom twardym, ale technologia ta jest intensywnie badana i postęp następuje bardzo szybko.
Praktycznie co roku podwaja się pojemność i szybkość pamięci FLASH.
Dyski FLASH posiadają obecnie (rok 2007) pojemności do 16GB przy transferze danych do 12
MB/s. Najpopularniejsze cenowo są jednostki od 1 do 4GB. Bardzo wygodne w eksploatacji,
wykorzystują interfejs USB (ang. Uniwersal Serial Bus - uniwersalne łącze szeregowe), który
posiadają wszystkie współczesne komputery. Najczęściej dyski Flash, zwane popularnie PenDrive,
stosuje się do przenoszenia dużych ilości danych pomiędzy komputerami oraz do archiwizacji - są
to zadania dawniej wykonywane przez odchodzące do historii dyskietki.
Statyczna pamięć RAM
W statycznej pamięci RAM (ang. static RAM - SRAM) bity informacyjne zapamiętywane są w
przerzutnikach
. Nazwa "pamięć statyczna" pochodzi od właściwości przerzutnika, który
zapamiętuje swój stan aż do ponownego zapisu nowej porcji informacji. Pomiędzy tymi
zdarzeniami przerzutnik statycznie utrzymuje przechowywaną w nim informację i nie wymaga
ż
adnych dodatkowych zabiegów (oczywiście oprócz dostarczania energii elektrycznej).
Zastosowanie przerzutników upraszcza sterowanie pamięcią, lecz z drugiej strony komplikuje jej
budowę. Powodem komplikacji jest wymagana przez przerzutnik D-Latch ilość przynajmniej 4
tranzystorów CMOS plus dwa tranzystory sterujące zapisem i odczytem danych w komórce.
Pamięć statyczna o pojemności np. 256 MB będzie zawierała ponad:
- 17 -
256
×
1024
×
1024
×
8
×
6 = 12'884'901'888 tranzystorów
Oczywiście moduł pamięci komputerowej może zostać zbudowany z wielu układów scalonych.
Jednakże powoduje to zwiększenie wymiarów oraz pobieranej energii elektrycznej i w pewnych
zastosowaniach jest nie do przyjęcia (urządzenia miniaturowe).
Układ bitu informacji w komórce pamięci statycznej
Do przechowywania każdego bitu w pamięci statycznej RAM wykorzystywane są dwa krzyżowo
sprzężone inwertory, zbudowane z tranzystorów polowych CMOS oznaczonych na rysunku po
prawej stronie jako M
1
, M
2
i M
3
, M
4
. Inwertory tworzą prosty przerzutnik. posiadający dwa stabilne
stany wykorzystywane do reprezentacji poziomów logicznych 0 i 1. Dodatkowe dwa tranzystory
M
5
i M
6
służą do sterowania dostępem do komórki podczas zapisu i odczytu danych. Są one
podłączone do linii słowa (ang. WL - Word Line). Odpowiednio wysterowane sygnałem na tej linii
tranzystory M
5
i M
6
łączą wyjście Q przerzutnika z linią bitu BL (ang. Bit Line) oraz wyjście
komplementarne Q z linią BL. Do pracy układu wystarczyłaby jedna linia bitu, lecz wykorzystuje
się dwie w celu zwiększenia poziomu sygnału w stosunku do szumów (sygnałów zakłócających),
które pojawiają się w strukturze pamięci półprzewodnikowych.
Komórka pamięci statycznej RAM może znajdować się w jednym z trzech różnych stanów:
Stan oczekiwania
Gdy linia słowa WL nie jest wysterowana odpowiednim napięciem, tranzystory M
5
i M
6
separują
wyjścia przerzutnika od linii bitów. Przerzutnik, zbudowany z dwóch sprzężonych wzajemnie
inwertorów, pamięta swój stan wewnętrzny ustawiony przy poprzedniej operacji zapisu.
Stan odczytu
Załóżmy, iż przerzutnik w komórce pamięci pamięta stan logiczny 1, czyli wyjście Q = 1, a Q = 0
(odblokowane tranzystory M
4
i M
1
, zablokowane M
2
i M
3
). Cykl odczytu rozpoczyna się przez
naelektryzowanie obu linii bitów BL i BL do wartości logicznej 1, a następnie przez wysterowanie
linii słowa WL, co spowoduje włączenie (odblokowanie) tranzystorów M
5
i M
6
. Stan wyjść Q i Q
zostaje przeniesiony na linie BL i BL. Linia BL pozostaje w stanie 1, gdyż odblokowane
tranzystory M
4
i M
6
łączą ją z napięciem V
dd
. Z kolei napięcie linii BL zostanie rozładowane do
zera, ponieważ tranzystory M
1
i M
5
łączą ją z masą układu. W efekcie na linii BL pojawi się 1, a na
BL 0. Jeśli przerzutnik przechowuje wartość 0, to otrzymamy sytuację odwrotną.
- 18 -
Stan zapisu
Przy zapisie ustawia się linie BL zgodnie z wartością zapisywanego bitu (dla 1 BL = 1, BL = 0; dla
0 BL = 0, BL = 1). Następnie linia WL zostaje wysterowana i tranzystory M
5
, M
6
łączą wejścia
inwertorów z liniami BL powodując zapis informacji w przerzutniku. Jest to możliwe, ponieważ
sygnał na liniach BL i BL jest wystarczająco mocny, aby wymusić zmianę stanu w tranzystorach
M
1
...M
4
przerzutnika, które są z reguły bardzo małe.
Struktura wewnętrzna pamięci statycznej
Wewnątrz układu scalonego pamięci RAM o pojemności 2
n
bitów bity przechowywane są w
plastrze zwanym matrycą pamięci (ang. memory array lub memory matrix). Matryca najczęściej
posiada rozmiar 2
n/2
wierszy na 2
n/2
kolumn. Każda komórka matrycy zawiera jeden bit informacji.
Bit zostaje zaadresowany przez wybór wiersza, w którym się znajduje - uaktywniona jest linia
słowa WL, połączona ze wszystkimi komórkami w danym wierszu. W efekcie linie bitów BL
zostają wysterowane zawartością poszczególnych komórek (odczyt) lub wpływają na zmianę stanu
komórek w wierszu (zapis). Linie bitów tworzą kolumny. Przez odczyt odpowiedniej kolumny
mamy dostęp do bitu matrycy.
Jeśli komórka pamięci zawiera więcej niż jeden bit (na rysunku po lewej stronie mamy przykład
pamięci o komórkach czterobitowych), to poszczególne bity leżą w kolejnych matrycach na
przecięciu tych tych samych wierszy i kolumn. Takie rozwiązanie pozwala wykorzystać
wielokrotnie układy sterujące w pamięci RAM. Pamięć o komórkach wielobitowych możemy
wyobrazić sobie jako strukturę trójwymiarową.
- 19 -
Z powodu zastosowania matryc bitowych w układzie scalonym pamięci RAM magistrala adresowa
jest dzielona na dwie osobne części - zwykle na połówki zawierające po n/2 bitów (n oznacza ilość
bitów magistrali adresowej). Górne bity magistrali adresowej wybierają wiersz w matrycy bitowej.
Operację tę wykonuje dekoder wierszy, który w zależności od zawartości linii adresowych
uaktywnia odpowiednią linię słowa WL połączoną ze wszystkimi komórkami w danym wierszu
matrycy. Dekoder numeru wiersza jest zwykłym układem kombinatorycznym, zamieniającym kod
binarny na kod 1 z N. Bardzo podobny układ opisaliśmy w projekcie transkodera kodu BCD na kod
1 z 10.
Dolne bity adresowe wykorzystywane są do wyboru określonej kolumny w wierszu. Operację
wykonuje dekoder kolumn oraz zespół wzmacniaczy sygnałów BL. Wybrana przez wiersz i
kolumnę komórka zostaje odczytana lub zapisana nową zawartością. W tym celu pamięć posiada
układ sterowania zapisem i odczytem, który kontroluje sposób pracy wzmacniaczy oraz kierunek
przepływu informacji przez magistralę danych.
Na rysunku obok przedstawiono schemat blokowy pamięci statycznej RAM o komórkach 8
bitowych. Dekoder wierszy wybiera w każdej z ośmiu matryc ten sam wiersz. Wybrane 8 wierszy
przesłane zostaje do zespołu wzmacniaczy, które z kolei są sterowane przez dekoder kolumn. Bity
znajdujące się na przecięciu wierszy i kolumn w poszczególnych matrycach tworzą 8 bitową
komórkę pamięci. Układy dekoderów wierszy i kolumn są wspólne dla wszystkich matryc.
Powoduje to znaczne uproszczenie struktury wewnętrznej układu scalonego.
- 20 -
Sterowanie układem scalonym pamięci statycznej
Typowy układ scalony statycznej pamięci RAM posiada następujące wyprowadzenia:
•
A
n-1
... A
0
- n linii magistrali adresowej. Przy ich pomocy komputer przekazuje pamięci w
postaci binarnej adres pożądanej komórki. Ilość linii adresowych zależy od pojemności
pamięci. Dla n linii pamięć ma pojemność 2
n
komórek.
•
D
m-1
... D
0
- m linii dwukierunkowej magistrali danych. Liczba linii danych odpowiada
rozmiarowi pojedynczej komórki pamięci (istnieją konstrukcje pamięci, których komórki
mają pojemność np. 16 bitów - w takim przypadku pamięć może posiadać dodatkowe linie
sterujące wprowadzaniem danej 8/16 bitowej, a jeśli 8 bitowej, to w mniej znaczący lub w
bardziej znaczący bajt komórki). Pojemność pamięci w bitach obliczamy jako 2
n
• m. Na
przykład pamięć posiadająca n = 16 wejść adresowych oraz m = 8 wejść danych ma
pojemność równą 216 • 8 = 65536 • 8 = 524'288 bitów. W terminologii układów scalonych
wejścia danych często oznacza się symbolem IO lub I/O (ang. Input Output) z uwagi na ich
dwukierunkowość w przesyłaniu informacji.
•
CE (ang. Chip Enable) - linia uaktywnia układ pamięci. Jeśli jest w stanie wysokim, pamięć
nie reaguje na pozostałe sygnały, a jej magistrala danych przechodzi w stan wysokiej
impedancji. Sygnał CE umożliwia w prosty sposób łączenie układów pamięci w większe
jednostki. W takim przypadku system wymaga dodatkowych obwodów logicznych lub
układów zwanych sterownikami/kontrolerami pamięci (ang. memory controler). W stanie
niskim CE układ pamięci zostaje uaktywniony i reaguje na sygnały sterujące wg swojej
specyfikacji.
•
OE (ang. Output Enable) - podłącza w stanie niskim wewnętrzną magistralę danych do linii
D
m
... D
0
. Sygnał OE wykorzystuje się przy odczycie zawartości pamięci.
•
WE (ang. Write Enable) - powoduje, iż informacja z magistrali danych zostanie
umieszczona w zaadresowanej komórce pamięci.
- 21 -
Logika sterowania układem scalonym SRAM wygląda w uproszczeniu następująco:
CE OE WE
A
n-
1
...A
0
D
m-
1
...D
0
Operacja
1
X
X
X
X
Układ nieaktywny, magistrala danych w stanie wysokiej impedancji.
0
1
1
adres
X
Układ aktywny, magistrala danych w stanie wysokiej impedancji.
Realizowany jest odczyt pamięci, lecz dane nie są wyprowadzane na
magistralę danych.
0
0
1
adres
dane
→
Zawartość wybranej komórki pojawia się na magistrali danych -
odczyt pamięci.
0
X
0
adres
→
dane
Wybrana komórka zostaje zapisana informacją odczytaną z
magistrali danych - zapis pamięci.
Aby pamięć poprawnie współpracowała z resztą systemu, adresy, dane oraz sygnały sterujące
muszą pojawiać się na swoich magistralach w odpowiednim czasie. Szczegóły techniczne
znajdziesz w materiałach producenta danej pamięci statycznej RAM.
- 22 -
Dynamiczna pamięć RAM
Statyczna pamięć RAM wymaga 6 tranzystorów CMOS do przechowania pojedynczego bitu
informacji. Powoduje to konieczność umieszczania w układzie scalonym olbrzymich ilości
tranzystorów. Dlatego inżynierowie szukali innych rozwiązań, które pozwoliłyby zredukować
liczbę niezbędnych elementów na bit informacji - korzyść jest oczywista: przy pomocy identycznej
technologii układów scalonych można by w nich pomieścić więcej informacji lub też układ scalony
o tej samej pojemności informacyjnej zawierałby mniej elementów, a zatem byłby prostszy i tańszy.
Rozwiązaniem okazała się pamięć dynamiczna, (ang dynamic random access memory - DRAM),
która działa na zasadzie wykorzystania ładunku elektrycznego zgromadzonego na okładkach
mikroskopijnego kondensatora. Do sterowania tym kondensatorem wystarcza pojedynczy
tranzystor.
Schemat elektryczny komórki pamięci widzimy po prawej stronie. W porównaniu z komórką
pamięci statycznej jest to niesamowite uproszczenie. Linia słowa WL (ang. word line) steruje
tranzystorem polowym, który przyłącza do linii bitu BL (ang. bit line) lub separuje od niej
kondensator C
s
. Cykl odczytu wygląda następująco:
Linia bitu BL jest ładowana napięciem równym około połowie napięcia zasilającego - możemy ją
potraktować jak dodatkowy kondensator. Następnie zostaje wysterowana linia WL, która
odblokowuje tranzystor. Odblokowany tranzystor przyłącza kondensator C
s
do linii bitu. Następuje
wyrównanie ładunków kondensatora C
s
oraz kondensatora utworzonego z linii bitu BL. Jeśli
kondensator C
s
przechowywał bit 1 (napięcie na C
s
równe napięciu zasilającemu), to napięcie na
BL nieco wzrośnie - ładunek C
s
uzupełni ładunek linii BL. Jeśli kondensator C
s
był rozładowany,
czyli przechowywał 0, to napięcie na BL spadnie, ponieważ C
s
odbierze nieco ładunku. Zatem
wzrost napięcia BL przy odczycie komórki informuje o stanie 1, spadek o stanie 0.
- 23 -
Zwróć uwagę, iż odczyt zawartości komórki niszczy przechowywaną w niej informację. Dlatego po
każdym odczycie zawartość komórki musi być przywrócona - zregenerowana. Operacji tej
dokonują wzmacniacze odświeżające (ang. refresh amplifiers), stanowiące integralny element
układu scalonego pamięci dynamicznej.
Zapis danych polega na ustawieniu linii BL na napięcie zasilające przy stanie logicznym 1 lub na
napięcie masy przy stanie logicznym 0. Następnie zostaje wysterowana linia WL, co spowoduje
odblokowanie tranzystora i połączenie kondensatora z linią BL. W zależności od napięcia na linii
BL kondensator zostanie albo naładowany (stan 1), albo rozładowany (stan 0).
Podstawowym problemem w pamięciach dynamicznych jest samorozładowywanie się kondensatora
C
s
spowodowane upływnościami jego izolacji (upływność to przepływ prądu przez izolację, który
powoduje "wyciekanie" ładunku zgromadzonego na okładkach kondensatora) oraz przepływem
prądu przez sam tranzystor polowy. Po prostu nie da się utworzyć idealnych materiałów izolujących
w tak małej skali i przy założonych kosztach. Rozładowywanie się kondensatora oznacza, iż
przechowywana w nim informacja może "uciec", jeśli nie będzie odpowiednio często
regenerowana. Proces regeneracji polega na cyklicznym odczycie zawartości komórki pamięci,
przy którym wzmacniacze odświeżające automatycznie uzupełniają ładunek kondensatora, jeśli był
on naładowany (przy rozładowanym kondensatorze nie trzeba regenerować ładunku). To właśnie
dzięki upływności kondensatorów w komórkach opisywany typ pamięci nazwano pamięcią
dynamiczną, gdyż wymaga ona ciągłej (czyli dynamicznej) troski o przechowywaną informację.
Pomimo tych wad, pamięci dynamiczne DRAM są dzisiaj powszechnie stosowane w sprzęcie
komputerowym.
Struktura wewnętrzna pamięci dynamicznej
- 24 -
Różnice pomiędzy pamięcią statyczną a dynamiczną spowodowane są koniecznością odświeżania
zawartości komórek. Pamięć dynamiczna zorganizowana jest w matryce bitowe. Dekoder wierszy
wybiera z matrycy jeden wiersz komórek, które są odczytywane przez wzmacniacze i odświeżane.
Wynika stąd, iż odczyt pojedynczej komórki pamięci powoduje odświeżenie całego wiersza
komórek. Jednakże przy normalnej pracy systemu nie ma gwarancji, iż odczyty zregenerują
wszystkie wiersze pamięci - przecież program może skupić się przez pewien czas tylko na małym
fragmencie obszaru adresowego pamięci. Dlatego pamięć dynamiczna musi być wyposażona w
specjalny układ odświeżania (ang. refresh unit), który odczytuje w kółko kolejne wiersze z matrycy.
Jeśli proces ten jest wykonywany odpowiednio szybko, to zawartość pamięci będzie utrzymywana.
Adres komórki pamięci dynamicznej dostarczany jest w dwóch etapach po tych samych liniach
magistrali adresowej - najpierw numer wiersza (ang. row address), a następnie numer kolumny
(ang. column address). Takie rozwiązanie ułatwia pracę układów odświeżających. Numery wiersza
i kolumny są zapamiętywane w wewnętrznych buforach i przekazywane do dekoderów. Po
otrzymaniu numeru wiersza dekoder wierszy wybiera właściwy wiersz z matrycy bitowej. Wiersz
zostaje odczytany (i odświeżony) przez wzmacniacze. Następnie, po otrzymaniu numeru kolumny,
z odczytanego wiersza wybierana jest właściwa kolumna i dane z niej są albo przekazywane na
magistralę danych (odczyt), albo zapisywane informacją z magistrali danych (zapis). Układy
odświeżające przekazują pamięci tylko numer wiersza - numer kolumny przy odświeżaniu jest
zbędny. Współczesne pamięci dynamiczne zawierają wewnątrz układu scalonego kompletny układ
odświeżania (numer wiersza do odświeżenia jest automatycznie generowany przez licznik
odświeżania), co znacznie ułatwia konstrukcję pamięci w komputerze - niektóre starsze
mikroprocesory (np. Z80 firmy Zilog) zawierały wewnętrzny układ odświeżania prostych pamięci
dynamicznych.
Podział adresu na numer wiersza i kolumny zmniejsza liczbę linii magistrali adresowej, co
upraszcza konstrukcję komputera. Jednakże dostęp do danych wymaga większego czasu niż w
pamięci statycznej, ponieważ adres jest przekazywany w dwóch etapach. Z tego powodu (oraz z
uwagi na konieczność odświeżania) pamięci dynamiczne są z reguły wolniejsze od pamięci
statycznych.
Sterowanie układem scalonym pamięci dynamicznej
Współczesne pamięci DRAM są sterowane na wiele różnych sposobów - szczegółów musisz szukać
w materiałach producentów. Typowa pamięć DRAM posiada następujące wyprowadzenia:
•
A
n-1
... A
0
- n linii magistrali adresowej. Przy ich pomocy komputer przekazuje pamięci w
postaci binarnej numer wiersza lub numer kolumny, w których znajduje się komórka do
odczytu lub do zapisu.
- 25 -
•
D
m-1
... D
0
- m linii dwukierunkowej magistrali danych.
•
CS (ang. Chip Select) - linia uaktywnia układ pamięci - odblokowuje pozostałe wejścia
sterujące.
•
WE (ang. Write Enable) - jeśli WE jest w stanie niskim, dane są przepisywane do wybranej
komórki pamięci. W stanie wysokim WE pamięć realizuje odczyt lub odświeżanie.
•
RAS (ang. Row Address Strobe) - opadające zbocze tego sygnału informuje pamięć, iż na
magistrali adresowej znajduje się numer wiersza. Numer ten zostaje zapamiętany w buforze
połączonym z dekoderem wierszy. Pamięć odczytuje dany wiersz i odświeża go,
•
CAS (ang. Column Address Strobe) - opadające zbocze informuje pamięć, iż na magistrali
adresowej znajduje się numer kolumny. Numer jest zapamiętywany w buforze połączonym
z dekoderem kolumn. Komórka znajdująca się w odczytanym wierszu i kolumnie zostaje
zapisana nową zawartością przy
WE=
0 lub jej zawartość trafia na magistralę danych
WE= 1.
Odczyt danych z pamięci
Odczyt zawartości komórki pamięci dynamicznej składa się z następujących kroków:
•
Na magistrali adresowej zostaje umieszczony numer wiersza zawierającego komórkę
pamięci.
•
Następnie sygnał RAS przechodzi w stan niski. Opadające zbocze RAS powoduje zapis
numeru wiersza z magistrali adresowej w zatrzaskach połączonych z dekoderem wierszy.
Dekoder adresuje odpowiedni wiersz komórek, których zawartość zostaje przesłana do
wzmacniaczy odświeżających. Komórki zostają odczytane i odświeżone - jeśli operacja
dotyczyła tylko odświeżania, to w tym momencie może się zakończyć.
•
Na magistralę adresową trafia numer kolumny zawierającej komórkę. Sygnał CAS
przechodzi w stan niski - powoduje to zatrzaśnięcie numeru kolumny i przekazanie go do
dekodera kolumn. Dekoder adresuje odpowiednią kolumnę wzmacniaczy odświeżających,
które przekazują zawartość odczytanej komórki na magistralę danych.
•
Sygnały sterujące wracają do położenia neutralnego.
- 26 -
Zapis danych w pamięci
Zapis danych do wybranej komórki pamięci odbywa się wg następującego schematu:
•
Na magistrali adresowej zostaje umieszczony numer wiersza zawierającego komórkę
pamięci.
•
Sygnał RAS przechodzi w stan niski, co powoduje zatrzaśnięcie numeru wiersza,
zdekodowanie go, odczytanie i odświeżenie wiersza komórek.
•
Na magistrali danych pojawiają się dane do zapisu w komórce.
•
Sygnał WE przyjmuje stan niski - jest to informacja dla pamięci, iż po otrzymaniu reszty
adresu - czyli numeru kolumny, dane z magistrali danych należy zapisać w wybranej
komórce.
•
Na magistrali adresowej zostaje umieszczony numer kolumny
•
Sygnał CAS przyjmuje stan niski - numer kolumny zostaje zapamiętany, zdekodowany i do
wybranej komórki trafia informacja z magistrali danych.
•
Sygnały sterujące wracają do położenia neutralnego.
Pami
ęć
stała ROM, PROM, EPROM, EEPROM, FLASH i NV-RAM
Pamięć stała ROM (ang. Read Only Memory - pamięć tylko do odczytu) jest stosowana w
systemach procesorowych do przechowywania danych, które się nie zmieniają - np. różnego
rodzaju tabele funkcji, parametry urządzeń, a także procedury startowe komputera i obsługa
różnych urządzeń wejścia/wyjścia. Cechą charakterystyczną pamięci ROM jest przechowywanie
zapisanych danych nawet po wyłączeniu zasilania. Dzięki temu są one od razu gotowe do użycia
- 27 -
tuż po ponownym uruchomieniu systemu komputerowego. Drugą charakterystyczną cechą jest
stałość zapisanych danych, których zwykle nie można zmieniać w trakcie normalnej pracy pamięci
- gwarantuje to, iż przechowywana informacja przetrwa nienaruszona podczas różnego rodzaju
błędów zapisu pamięci. Stąd bierze swój początek angielska nazwa ROM - Read Only Memory,
czyli pamięć tylko do odczytu.
Rodzaje pamięci ROM
Rozróżniamy pięć podstawowych rodzajów pamięci ROM:
•
ROM - (ang Read Only Memory) pamięć tylko do odczytu
•
PROM - (ang. Programmable ROM), programowalna pamięć ROM
•
EPROM - (ang. Erasable Programmable ROM) wymazywalna, programowalna pamięć
ROM
•
EEPROM - (ang. Electrically Erasable and Programmable ROM) wymazywalna
elektrycznie, programowalna pamięć ROM
•
FLASH
ROM
Pamięć ROM jest produkowana w formie specjalizowanych układów scalonych. Zawartość
komórek jest ustalana już w czasie produkcji przez zastosowanie odpowiedniej struktury logicznej.
Raz wyprodukowana, pamięć ROM nie może już zmienić swojej zawartości - w przypadku błędów
w zapisanych danych nie ma możliwości ich poprawienia, całą pamięć trzeba wyprodukować od
nowa, co jest dosyć kosztownym przedsięwzięciem. Wynika z tego również fakt, iż pamięć ROM
nie może być, z uwagi na koszt produkcji, stosowana w urządzeniach jednostkowych czy
eksperymentalnych. Jednakże, gdy zawartość pamięci jest bez błędów, to układy raz
zaprojektowane można produkować w dużych ilościach po bardzo niskich kosztach - przykładami
pamięci ROM są generatory znaków (w ROM zapamiętane są kształty liter wyświetlanych na
wyświetlaczu) dla urządzeń cyfrowych, pozytywki odtwarzające melodie czy piosenki, gry
elektroniczne (np. popularne Game Boy, Nintendo, Sega) itp. Pamięci ROM są bardzo pewne w
działaniu i rzadko ulegają awariom.
Budową pamięć ROM przypomina budowę pamięci statycznej. Adres komórki jest przekazywany
do dekodera wierszy i kolumn. Dekoder wierszy uaktywnia jedną z linii WL (ang. word line - linia
słowa). W komórkach przechowujących stan logiczny 1 linia WL połączona jest diodą lub
tranzystorem z linią BL (ang. bit line). W komórkach przechowujących stan 0 jest brak takiego
połączenia. Dioda lub tranzystor zaczyna przewodzić prąd, co powoduje odpowiednią zmianę
napięcia na linii BL. Linie BL biegną do wzmacniaczy bitów, które z kolei sterowane są przez
dekoder kolumn. Stan wybranej linii BL jest przekazywany na magistralę danych pamięci ROM.
- 28 -
Ponieważ pamięć ROM zezwala jedynie na operację odczytu danych, układy scalone posiadają
następujące wejścia sterujące:
•
A
n-1
... A
0
- n linii magistrali adresowej.
•
D
m-1
... D
0
- m linii magistrali danych.
•
CS (ang. Chip Select) - linia uaktywnia układ pamięci. Jeśli jest w stanie wysokim, pamięć
nie reaguje na pozostałe sygnały, a jej magistrala danych przechodzi w stan wysokiej
impedancji. W stanie niskim CS układ pamięci zostaje uaktywniony i reaguje na sygnały
sterujące wg swojej specyfikacji.
•
OE (ang. Output Enable) - podłącza w stanie niskim wewnętrzną magistralę danych do linii
D
m
... D
0
. Sygnał OE wykorzystuje się przy odczycie zawartości pamięci.
PROM
Tworzenie od podstaw zawartości pamięci ROM jest bardzo kosztowne w małych ilościach i
zajmuje mnóstwo czasu. Z tego powodu producenci opracowali nowy rodzaj pamięci ROM - tzw.
programowalną pamięć ROM (ang. programable ROM). Pamięć PROM sprzedawana jest jako
pusta - wszystkie komórki pamiętają stan logiczny 1 - zawartość można zdefiniować przy pomocy
specjalnego urządzenia, zwanego programatorem pamięci PROM (ang. PROM programmer lub
PROM burner).
- 29 -
Wewnętrznie PROM przypomina budową zwykłą pamięć ROM. Różnica polega na tym, iż
połączenia linii WL (lub BL) z diodami komórek wykonane są w formie cienkich drucików, które
można przepalać za pomocą odpowiednio dobranego prądu elektrycznego. Przepalenie drucika
powoduje przerwanie połączenia diody z linią bitu BL - komórka będzie teraz pamiętała bit 0. Jeśli
połączenie istnieje, komórka pamięta bit 1. Do przepalenia drucika w wybranej komórce pamięci
PROM używamy specjalnego programatora (patrz na lewo), a proces nazywa się programowaniem
pamięci PROM (ang. PROM programming) lub wypalaniem pamięci PROM (ang. PROM burning).
Proces wypalania polega na przygotowaniu pliku z zawartością dla poszczególnych komórek
pamięci PROM. Następnie uruchamia się oprogramowanie programatora. Programator łączy się
odpowiednim kablem z komputerem PC. Do programu programatora wczytuje się plik z
zawartością dla PROM. Układ pamięci wkładany jest do niebieskiej podstawki (zwróć uwagę na
małą dźwignię po lewej stronie - służy ona do blokowania wyprowadzeń układu w podstawce). Na
koniec uaktywnia się w programie opcję wypalania pamięci - program odczytuje z pliku zawartość
kolejnych komórek PROM i steruje programatorem, który wypala w komórkach pamięci druciki
tam, gdzie zawartość ma wynosić 0 - komórki z zawartością 1 pozostają nienaruszone. Wypalanie
polega na wysterowaniu układu odpowiednio wyższym napięciem niż w czasie normalnej pracy -
15..25V. Szczegóły znajdziesz w materiałach producenta, jednakże pamięci PROM są dzisiaj już
przestarzałe i mało kto je produkuje.
Pamięć PROM jest wrażliwa na przepięcia elektryczne (np. elektryczność statyczna, gromadząca
się na ubraniu z tworzyw sztucznych), które mogą uszkodzić wewnętrzne połączenia komórek z
liniami wybierającymi WL. Dlatego z układami PROM należy obchodzić się bardzo ostrożnie.
Pamięć PROM daje się zaprogramować tylko jeden raz. Jeśli coś pójdzie źle lub zapisana
informacja zawiera błędy, pamięć przestaje być zdatna do użytku i należy wypalić drugi
egzemplarz. Jednakże niski koszt czyni ją doskonałym materiałem do zastosowań prototypowych i
hobbistycznych.
- 30 -
EPROM
Pamięci PROM można zaprogramować tylko jeden raz - jeśli zawartość zawiera błędy, to układ jest
do wyrzucenia - należy zaprogramować nowy. Z tych powodów opracowano pamięć ROM, której
zawartość można programować, a następnie w razie potrzeby wymazywać - EPROM (ang. Erasable
Programmable ROM) , czyli wymazywalna, programowalna pamięć ROM. Takie wymagania
wymusiły zmianę konstrukcji komórek pamięci.
Kasowanie zawartości pamięci wymaga naświetlenia jej struktury światłem ultrafioletowym przez
około 10 - 15 minut. Dlatego w obudowie EPROM umieszczone jest małe okienko kwarcowe
przepuszczające ultrafiolet, poprzez które widoczna jest płytka krzemowa zawierająca elementy
pamięci. Produkuje się również tzw. jednorazowe pamięci EPROM - bez okienka - tzw. OTP
EPROM (ang. One Time Programmable - programowalen jednorazowo). Układy takie zawierają
strukturę EPROM, jednak mogą być zaprogramowane tylko jeden raz. Ponieważ obudowa układu
nie zawiera okna kwarcowego, układ jest tańszy w produkcji. Jednorazowe EPROM'y można
programować w tych samych programatorach, co zwykłe pamięci EPROM. Stosowane są wtedy,
gdy zapisywana zawartość nie zawiera już żadnych błędów.
Każde kasowanie EPROM degeneruje materiał półprzewodnikowy, dlatego pamięci te wytrzymują
kilkaset - do kilku tysięcy cykli programowania i kasowania. Natomiast odczytywać zawartość
pamięci EPROM można dowolną liczbę razy. Informacja przechowywana jest przez około 10 lat.
Kasowanie pamięci nie jest selektywne - usuwa informację ze wszystkich komórek i proces
programowania musi być powtórzony w całości. Pamięci EPROM należy chronić przed światłem
słonecznym, które zawiera ultrafiolet. Najczęściej nalepia się na okienko kwarcowe etykietkę z
danymi układu lub z reklamą producenta.
- 31 -
Budowa pamięci EPROM jest standardowa - zawiera dekodery wierszy i kolumn sterowane liniami
magistrali adresowej. Różnica dotyczy konstrukcji komórek przechowujących dane. Zbudowane są
one ze specjalnych tranzystorów polowych posiadających dwie bramki - sterującą (ang. control
gate), która podłączona jest do linii słowa WL oraz pływającą (ang. floating gate), która nigdzie nie
jest podłączona. Bramki rozdzielone są od siebie przez warstwę tlenku krzemu, która jest
izolatorem. Dzięki zjawisku tunelowemu Fowlera-Nordheima (przepływ elektronów przez izolator
wykorzystujący zjawiska fizyki kwantowej) bramka pływająca może więzić elektrony, jeśli
tranzystor wysterujemy na linii WL wyższym niż normalne napięciem (zwykle 12...22V). Elektrony
gromadzące się w bramce pływającej powodują powstanie ujemnego ładunku elektrycznego, który
oddziałuje później z napięciem bramki sterującej. Jeśli ładunek bramki pływającej jest odpowiednio
duży, to tranzystor polowy w normalnych warunkach pracy może przestać przewodzić prąd
elektryczny pomiędzy źródłem (S - ang. source) a drenem (D - ang. drain). Odpowiedni układ
porównuje wartość prądu płynącego przez linię BL po przyłożeniu napięcia sterującego na linię
WL. Jeśli jest on większy od 50% maksimum, to komórka zawiera wartość 1 (bramka pływająca
posiada za mało elektronów, aby skutecznie zablokować tranzystor). Jeśli prąd spadnie poniżej 50%
maksimum, to komórka zawiera wartość 0 (bramka pływająca posiada wystarczający ładunek
elektronów do zablokowania tranzystora).
Dzięki izolacji tlenkowej ładunek elektronów może utrzymywać się w bramce pływającej przez
wiele lat (10...20). Usunąć go można przez naświetlenie struktury krzemowej światłem
ultrafioletowym o odpowiednio dobranej długości fali (253,7 nm). Światło UV powoduje jonizację
krzemu i uwolnienie elektronów zgromadzonych w bramkach pływających. Wszystkie komórki
przechodzą wtedy w stan logiczny 1. Wymazaną pamięć należy ponownie zaprogramować.
EEPROM
Pamięć EEPROM (ang. Electrically Erasable and Programmable ROM) jest pamięcią stałą, którą
można wymazywać elektrycznie i programować elektrycznie. Nie jest wymagane naświetlanie
układu promieniami UV, jak w przypadku standardowej pamięci EPROM. Poszerza to krąg
zastosowań pamięci, która teraz może być przeprogramowana w docelowym urządzeniu, np. w
komputerze, przy pomocy odpowiedniego programu. Drugą zaletą w porównaniu z EPROM jest
selektywność kasowania - można usunąć zawartość określonych komórek pamięci bez naruszania
informacji przechowywanej w innych komórkach. Otwiera to przed pamięcią zupełnie nowe
dziedziny zastosowań (np. dyski krzemowe do zapisu plików).
Komórka pamięci EEPROM zbudowana jest podobnie do komórki pamięci EPROM, również
występuje tranzystor polowy o dwóch bramkach - sterującej i pływającej. Różnica leży w warstwie
tlenkowej, która w pamięci EEPROM jest cieńsza i pozwala na wystąpienie zjawisk tunelowych
- 32 -
przy sterowaniu tranzystora za pomocą bramki sterującej. Przyłożenie odpowiednio wysokiego
napięcia do tej bramki powoduje gromadzenie się lub rozładowywanie ładunku elektronów na
bramce pływającej - można to porównać do procesu ładowania i rozładowywania akumulatora. Jeśli
bramka pływająca zostanie naładowana ładunkiem elektronów, to wytworzone przez nie napięcie
będzie blokowało w trakcie normalnej pracy funkcje tranzystora polowego - komórka ze stanem
logicznym 0. Jeśli ładunek bramki pływającej zostanie rozładowany, to przestanie ona wpływać na
pracę tranzystora - komórka ze stanem logicznym 1.
Ponieważ kasowanie komórki i programowanie odbywa się na drodze czysto elektrycznej, pamięci
EEPROM można programować nową zawartością bezpośrednio w układzie cyfrowym, bez
konieczności ich wyjmowania i naświetlania światłem UV jak w przypadku zwykłych pamięci
EPROM. Pamięć wytrzymuje kilkanaście tysięcy cykli kasowania. Dodatkowo pamięci te można
produkować w zwykłych obudowach zamkniętych, bez okna kwarcowego, co obniża znacznie
koszty produkcji układu. Szczegóły obsługi pamięci EEPROM znajdziesz w materiałach
producentów. Obecnie pamięć EEPROM jest coraz częściej zastępowana pamięcią FLASH.
FLASH
Pamięć Flash (ang. Flash Memory) jest pamięcią nieulotną, którą można elektrycznie wymazywać
oraz programować - podobnie jak opisaną wyżej pamięć EEPROM. Pamięci Flash znalazły obecnie
szerokie zastosowanie w kartach pamięciowych do aparatów, kamer cyfrowych, telefonów,
notebooków, odtwarzaczy mp3, iPodów itp. oraz w dyskach krzemowych USB zwanych Pen Drive.
Pamięć FLASH we współczesnych komputerach pełni rolę dawnej pamięci ROM-BIOS. Takie
rozwiązanie pozwala użytkownikowi na aktualizację oprogramowania systemowego komputera.
Aktualizacja może usunąć błędy w działaniu, zauważone już po produkcji podzespołów komputera
- jednakże nie licz zbytnio na tę opcję, często producenci zapominają o użytkowniku, który posiada
stary sprzęt, chociaż są wyjątki.
Pamięć Flash jest specyficznym rodzajem pamięci EEPROM. Zapis informacji odbywa się na
identycznej zasadzie - tranzystor polowy z dwoma bramkami, sterującą i pływającą. Bramka
pływająca jest nasycana elektronami w czasie programowania, co blokuje tranzystor podczas
normalnej pracy. Różnica występuje przy kasowaniu zapamiętanej informacji. W pamięci
EEPROM można kasować pojedyncze komórki, lecz prowadzi to do komplikacji układu
cyfrowego, a zatem do wyższych kosztów produkcji. Dodatkowo kasowanie bloku komórek jest
czasochłonne - każdą komórkę musimy skasować oddzielnie. W pamięci FLASH kasowany jest
jednocześnie cały blok komórek (np. w porcjach po 1024 bajty). Umożliwia to znacznie szybszy
zapis nowej treści niż w przypadku EEPROM, stąd pochodzi nazwa FLASH - błysk. Jeśli pamięć
- 33 -
FLASH jest stosowana w charakterze dysku, to kasowanie całych bloków jest nawet bardzo
korzystne. Informacja na dyskach przechowywana jest zawsze w postaci bloków, zwanych
sektorami. Zatem zmiana nawet pojedynczego bitu w bloku wymaga ponownego zapisu całego
bloku danych, a to właśnie odbywa się w pamięci FLASH.
Do elektrycznego kasowania zawartości bloku komórek wymagane jest wyższe niż normalne
napięcie sterujące - zwykle od 12 do 22V. Jednakże pamięci Flash są zasilane pojedynczym
napięciem 5V. Potrzebne, wysokie napięcie kasowania jest wytwarzane samodzielnie przez pamięć
Flash wewnątrz układu scalonego przy pomocy odpowiednich obwodów powielaczy napięcia.
Upraszcza to znacznie zastosowanie tej pamięci w różnych urządzeniach cyfrowych. Pamięć Flash
wytrzymuje kilka milionów cykli wymazywania i zapisu. W przypadku stosowania jej w
charakterze dysku krzemowego, wystarcza to na około 5 lat pracy.
NV-RAM
Nieulotna pamięć RAM (ang. Non Volatile RAM) nie jest pamięcią stałą, tylko zwykłą pamięcią
RAM ze zintegrowaną baterią, która podtrzymuje działanie pamięci po wyłączeniu zasilania. W
komputerach PC pamięć NV-RAM jest często stosowana do zapamiętywania ustawień płyty
głównej. Układ tej pamięci łatwo rozpoznać - ze względu na zawartą w nim baterię jest on dużo
wyższy od pozostałych układów scalonych na płycie. Wewnętrzna bateria potrafi podtrzymywać
działanie pamięci przez okres około 10 lat. Zaletą NV-RAM w porównaniu z pamięciami typu
EEPROM i FLASH jest szybkość działania oraz standardowa obsługa - pamięć może nawet być
włączona w przestrzeń adresową procesora i pełnić rolę obszaru pamięci, który nie jest kasowany
po wyłączeniu zasilania.
Pami
ęć
dyskowa
- 34 -
Do zapamiętywania olbrzymich ilości danych współczesne komputery wykorzystują pamięć
masową (ang. mass storage, mass memory) opartą na technologii dysków magnetycznych i
optycznych. Idea działania tych urządzeń jest podobna - informacja zostaje zapisana w postaci
binarnej na nośniku o kształcie dysku, skąd jest później odczytywana przez specjalne głowice.
Odczytane dane są wstępnie gromadzone w wewnętrznym buforze pamięciowym, a następnie
przesyłane przez porty wejścia/wyjścia do komputera. Zaletą pamięci dyskowych jest duża
pojemność informacyjna sięgająca setek GB dla dysków magnetycznych i dziesiątek GB dla
dysków optycznych (np. technologia bluray). Dodatkowo dyski optyczne są wymienne, co daje
dostęp do nieograniczonej ilości danych - muzyki, filmów, gier lub programów narzędziowych,
prezentacji, itp. W stosunku do dysków optycznych, dyski magnetyczne charakteryzują się większą
szybkością zapisu i odczytu danych, natomiast zapis na dyskach optycznych wymaga specjalnych
urządzeń - nagrywarek CD/DVD/BluRay.
Poniżej prezentujemy uproszczone zasady działania dysków magnetycznych i optycznych.
Dyski magnetyczne
Jeśli przez przewodnik (ang. conductor) przepuścimy prąd elektryczny (ang. electric current), to
ruch elektronów spowoduje powstanie wokół tego przewodnika pola magnetycznego (ang.
magnetic field).
Zjawisko to wykorzystano do konstrukcji elektromagnesu, zbudowanego z wielu zwojów
przewodnika, który wytwarza biegunowe pole magnetyczne. Dodatkowo w środku zwojów
wstawiany jest rdzeń (ang. core) z materiału dobrze przewodzącego pole magnetyczne, czyli z tzw.
ferromagnetyka. Dzięki rdzeniowi pole staje się jeszcze silniejsze.
- 35 -
Ponieważ w elektromagnesie pole powstaje dzięki przepływowi prądu elektrycznego przez zwoje
przewodnika, to możemy w prosty sposób sterować wytwarzanym polem magnetycznym przez
włączanie, wyłączanie lub zmianę kierunku płynięcia prądu elektrycznego. Jeśli w polu
magnetycznym umieścimy przedmiot zbudowany z miękkiego ferromagnetyka (materiału łatwo
magnesowalnego), to materiał ten sam stanie się magnesem i będzie wytwarzał własne pole
magnetyczne, nawet po zaniku pola, które go namagnesowało. Możesz zrobić prosty eksperyment -
weź śrubokręt i potrzyj go o dowolny magnes - śrubokręt zacznie przyciągać małe metalowe
przedmioty - czasem może to być bardzo pożyteczne - odkręcona śrubka nie odpadnie od końcówki
ś
rubokręta.
Ś
rubokręt "zapamiętał" to, iż wcześniej znajdował się w polu magnetycznym.
Istnieje również zjawisko odwrotne do opisanego. Jeśli pole magnetyczne porusza się względem
przewodnika lub zmienia się w czasie, to w przewodniku powstaje siła elektromotoryczna (ang.
electromotoric force), czyli po prostu napięcie elektryczne (oczywiście na końcach przewodnika).
Gdy przewodnik uformujemy w zamknięty obwód, to pod wpływem powstałego napięcia popłynie
przez przewodnik prąd elektryczny. Dzięki temu zjawisku możesz korzystać w domu z
dobrodziejstw energii elektrycznej - w ten właśnie sposób generatory napędzane turbinami tworzą
prąd elektryczny w elektrowniach.
- 36 -
Prąd elektryczny można wykryć przy pomocy odpowiednich układów elektronicznych, zatem
pośrednio można wykrywać pole magnetyczne. Istnieją również specyficzne materiały zmieniające
swoje parametry w polu magnetycznym (np. oporność), co również jest wykorzystywane przez
współczesne pamięci magnetyczne.
Przedstawione dwa zjawiska inżynierowie wykorzystali przy budowie pamięci magnetycznych.
Składają się one z dwóch podstawowych elementów: głowicy zapisująco-odczytującej (ang. R-W
head) oraz nośnika ferromagnetycznego - dysku magnetycznego (ang. magnetic disk).
Głowica zapisująco/odczytująca jest specjalnej konstrukcji elektromagnesem, który ma za zadanie
wytworzyć mikroskopijnej wielkości pole magnetyczne obejmujące fragment dysku. Pole
magnetyczne namagnesuje ten fragment, przez co zacznie on wytwarzać swoje własne pole
magnetyczne, które głowica będzie później w stanie odczytać. Ponieważ dysk się obraca, głowica
zapisuje wciąż nowe jego fragmenty na tzw. ścieżce lub cylindrze (ang. path. cylinder).
- 37 -
Dysk magnetyczny jest wykonany z twardego i sztywnego materiału - aluminium lub kompozyt
ceramiczny - pokrytego bardzo cieniutką warstwą miękkiego ferromagnetyka. Pole magnetyczne
głowicy magnesuje fragmenty tej warstwy tworząc koncentryczne ścieżki zapisu danych. Ciekawe
jest to, iż głowica nie styka się z powierzchnią dysku - inaczej materiał ferromagnetyczny zostałby
bardzo szybko wytarty z jego powierzchni. Gdy dysk zacznie się szybko obracać, wytwarza przy
swej powierzchni cieniutką poduszkę powietrzną, po której ślizga się głowica - zupełnie jak
mikroskopijny poduszkowiec.
Głowice współczesnych dysków twardych są pozycjonowane przy pomocy odpowiedniego
elektromagnesu. Dźwignia głowicy wyposażona jest w sprężynkę, która ma za zadanie obrócić
ramię w położenie startowe (ang. head landing zone) w przypadku zaniku napięcia - w przeciwnym
razie (jak to miało często miejsce w przeszłości) wirujący dysk utraciłby przy zatrzymaniu
poduszkę powietrzną i "lądująca" na nim głowica spowodowałaby wytarcie fragmentu ścieżki
magnetycznej. Zawarte tam dane stałyby się nieczytelne i co gorsza obszaru tego nie dałoby się
powtórnie namagnesować. Powstałyby tzw. uszkodzone sektory (ang. bad sectors).
W trakcie pracy głowica unosi się nad powierzchnią dysku na wysokości kilku µm. Dlatego
wewnątrz dysku nie może występować kurz, ponieważ jego drobinki osiadając na dysku
magnetycznym zakłócałyby ruch głowicy, a to z kolei powodowałoby uszkodzenia warstwy
magnetycznej. Dyski twarde są zamknięte hermetycznie i użytkownik nie powinien ich otwierać
bez zachowania odpowiednich warunków czystości powietrza.
- 38 -
Zapisując dane głowica pozostawia na powierzchni wirującego dysku koncentryczne ślady
magnetyczne, które nazywamy ścieżkami (ang. track) lub cylindrami (ang. cylinder). Ze względów
techniczno-ekonomicznych ścieżki są dzielone na wycinki - tzw. sektory (ang. sectors). Pomiędzy
sektorami występują małe przerwy (ang. gaps). Ułatwiają one rozpoznawanie początków i końców
sektorów.
Dane zapisywane są w postaci binarnej w sektorach. Sektory posiadają najczęściej pojemność 512
bajtów danych. Pojemność dysku obliczamy wg wzoru:
pojemność = liczba głowic × liczba ścieżek na dysku × liczba sektorów na ścieżce × liczba bajtów
w sektorze
Ponieważ długość ścieżki zależy od jej odległości od środka dysku (stary wzór: obwód = 2πr), to
ś
cieżki wewnętrzne zawierają mniej sektorów od ścieżek zewnętrznych. Zatem powyższy wzór nie
odpowiada fizycznej strukturze dysku. Jednakże nie musimy się tym przejmować - producenci
dysków podają uśrednioną liczbę sektorów, a odczytem i zapisem informacji na dysku steruje
specjalizowany komputer jednoukładowy, nazywany kontrolerem dysku twardego (ang. hard disk
controller). To on lokalizuje odpowiedni sektor i zapisuje lub odczytuje z niego dane. Nie jest to
wcale łatwe i wymagało rozwiązania całego mnóstwa problemów technicznych, o których ty na
szczęście nic nie musisz wiedzieć.
Przykład:
Pewien dysk twardy, zgodnie z danymi producenta, posiada następujące parametry:
heads
256 - liczba głowic
tracks
1868 - liczba ścieżek na dysku
sectors/track
63 - liczba sektorów na ścieżkę
bytes/sector
512 - liczba bajtów na sektor
Obliczamy pojemność dysku:
capacity = heads × tracks × sectors/track × bytes/sector
capacity = 256 × 1868 × 63 × 512 = 15425077248 B = 15063552 KB = 14710,5 MB = 14,366 GB
- 39 -
Organizacją danych na dyskach zajmuje się system operacyjny twojego komputera. To on określa
sektory, w których znajduje się informacja zawarta w określonym pliku. Jeśli tworzysz nowy plik,
system przydziela dla niego odpowiednie sektory, w których będzie zapisywana informacja. Gdy
plik kasujesz, sektory zostają zwolnione i będą mogły być przydzielone innemu plikowi w razie
potrzeby. Do tego celu używany jest fragment dysku, w którym przechowywane są informacje o
plikach i zajmowanych przez nie sektorach - obszar ten nazywany jest tablicą zawartości dysku
(ang. VTOC - Vulume Table of Contents). Dzięki systemowi operacyjnemu nie musisz znać
fizycznej struktury twojego dysku twardego - inaczej praca z komputerem byłaby prawdziwą męką.
Zwróć uwagę na to, iż jednostką zapisu/odczytu na dysku twardym jest sektor - nie można zapisać
pojedynczego bitu. Jest to ograniczenie ekonomiczne - tak po prostu jest taniej i wydajniej. W
pamięci RAM można zapisywać pojedyncze komórki - w pamięci dyskowej ich odpowiednikami są
sektory. Informacja odczytana z sektora jest umieszczana w buforze pamięciowym dysku i stamtąd
odczytuje ją komputer - pozwala to przyspieszyć znacznie odczyt, ponieważ zwykle dane znajdują
się w sąsiadujących ze sobą sektorach - chociaż jeśli często zapisujesz i kasujesz pliki, to może
dojść do tzw. fragmentacji dysku - kolejne sektory z danymi pliku nie będą znajdowały się blisko
siebie i głowica odczytująca musi dosyć intensywnie skakać po ścieżkach. W takim przypadku
szybkość zapisu/odczytu danych może znacznie zmaleć - dlatego należy co jakiś czas uruchamiać
oprogramowanie defragmentujące dysk twardy. Defragmentacja polega na takim przemieszczeniu
sektorów dla poszczególnych plików, aby znajdowały sie one fizycznie obok siebie.
Dyski CD (ang. Compact Disk) i DVD (ang. Digital Video Disk) są obecnie spotykane
powszechnie. Używa się ich do zapisu muzyki, filmów, programów komputerowych, itp. Każdy
współczesny komputer osobisty jest wyposażany standardowo w stację DVD, która pozwala
odczytywać takie dyski. Coraz popularniejsze stają się również nagrywarki DVD, które, oprócz
funkcji odczytu, pozwalają również na zapis danych na specjalnych dyskach optycznych - tzw.
optycznych dyskach zapisywalnych - CD-R, DVD-R. Niektóre z tych dysków umożliwiają nawet
wielokrotny zapis - dyski CD-RW, DVD-RW.
Dyski kompaktowe CD opracowano pierwotnie do zapisu muzyki w postaci cyfrowej. Jak zapisać
cyfrowo dźwięk? Otóż dźwięk składa się z fali akustycznej, czyli zmian ciśnienia gazu, które
przemieszczają się od źródła do odbiorcy. Falę tę odczytuje się za pomocą specjalnych
przetworników - mikrofonów. Mikrofony zamieniają falę akustyczną w odpowiednio zmienne
napięcie elektryczne. Zmiany napięcia na wyjściu mikrofonu są proporcjonalne do zmian ciśnienia
gazu, które docierają do mikrofonu. Napięcie to jest wzmacniane i mierzone przez tzw. przetwornik
analogowo cyfrowy (ang. A/D converter), który przetwarza wartość napięcia na odpowiadającą mu
liczbę dwójkową. Pomiar napięcia nie jest ciągły, lecz występuje w wybranych momentach czasu z
pewną częstotliwością. Nazywamy to próbkowaniem sygnału (ang. sampling). Dla urządzeń audio
o wysokiej jakości odtwarzania dźwięku (jakość Hi-Fi - ang. High Fidelity - wysoka wierność)
przyjęto, iż częstotliwość próbkowania będzie wynosić 44.100 [Hz}. Tzn. w każdej sekundzie
przetwornik A/D dokonuje 44.100 pomiarów napięcia reprezentującego falę dźwiękową.
Gwarantuje to otrzymanie pasma dźwiękowego od 20 [Hz} do 20.000 {Hz}. W takim zakresie
słyszy dźwięki normalny człowiek.
- 40 -
Na wyjściu przetwornika A/D otrzymujemy binarną wartość mierzonego napięcia. Dla standardu
CD przyjęto, iż wartość ta będzie liczbą 16-to bitową. 16 bitów odpowiada dwóm bajtom danych.
W ciągu jednej sekundy przetwornik A/D produkuje:
44.100 × 2 = 88.200 B
Cała płyta CD może pomieścić 74 minuty nagrania. Daje to 74 × 60 = 4440 sekund. Zatem płyta
powinna pomieścić:
88.200 B × 4.440 sek × 2 kanały = 783.216.000 B = 747 MB
Rzeczywista pojemność dysku jest nieco większa, ponieważ muszą się na nim znaleźć dodatkowe
informacje, np. na temat zapisanych utworów, ich położenia, długości. Dane są kodowane kodem
ECC, który potrafi usuwać błędy odczytu. Gdyby to nie było zrobione, płyta CD bardzo szybko
przestałaby być użyteczna z powodu drobnych zarysowań powierzchni.
Sam dysk CD jest w miarę prostym krążkiem tworzywa poliwęglanowego o grubości
4
/
100
cala (1.2
mm), średnicy 12 cm i wadze 14 g. Podczas produkcji w fabryce na krążku tym zostają odciśnięte
przez matrycę mikroskopijnej wielkości wgłębienia (tzw. pity), tworząc pojedynczą, ciągłą ścieżkę
spiralną, na której zapisane są dane cyfrowe.
- 41 -
Po odciśnięciu tych wgłębień powierzchnia dysku CD zostaje pokryta cienką warstwą aluminium.
Warstwa ta pełni rolę lustra, które będzie odbijało światło lasera. Następnie na aluminium nakłada
się akrylową warstwę ochronną, na której zwykle drukowana jest etykieta dysku CD. Warstwa ta
ma za zadanie zabezpieczyć aluminium przed ścieraniem się z powierzchni płyty.
Odczyt danych z powierzchni dysku CD odbywa się za pomocą światła lasera. Do tworzenia tego
ś
wiatła stosuje się zwykle diodę LED (ang. Light Emitting Diode), która emituje światło o długości
fali równej 780 nm. Jest to światło czerwone na granicy widzialności oka człowieka. Światło lasera
pada na powierzchnię płytki i zostaje odbite przez warstwę aluminium. Po odbiciu trafia na
fotodiodę, która zamienia strumień świetlny na prąd elektryczny. Prąd ten zostaje odpowiednio
wzmocniony i służy do odczytu informacji zapisanej na płytce CD.
Układ odczytujący warz z optyką jest umieszczony na specjalnym wózku, który przemieszcza się
wzdłuż promienia dysku CD przy pomocy małego silniczka.
Optyka ma za zadanie odpowiednio skupić światło lasera na powierzchni dysku. Aby
wyeliminować kurz i małe rysy, wiązka lasera posiada kształt stożka, który na powierzchni płyty
ma średnicę około 800 µm, natomiast na powierzchni aluminiowej tylko 1,7 µm. Skonstruowanie
układu ogniskowania, który by zapewniał takie parametry w trakcie wirowania dysku byłoby
bardzo trudne. Dlatego stosuje się dynamiczne ogniskowanie wiązki - soczewki skupiające
umieszczone są wewnątrz specjalnych cewek, które przesuwają się w polu magnetycznym,
ogniskując promień lasera.
- 42 -
Wykorzystuje się do tego celu zmienny kształt wiązki lasera po przejściu jej przez soczewkę
cylindryczną. Gdy wiązka jest w ognisku, ma kształt kołowy. Jeśli jest niezogniskowana, to
przyjmuje kształt eliptyczny z wydłużoną osią poziomą lub pionową w zależności od tego, czy
ognisko jest wcześniej, czy później. Plamka lasera pada na specjalny detektor, który jest
wyposażony w cztery punkty pomiarowe (fotodiody) A, B, C i D.
Do sterowania ruchem soczewki skupiającej używa się sygnału różnicowego (A+B) - (C+D). Taki
system dynamicznie reguluje układ optyczny, który nadąża za drganiami spowodowanymi ruchem
dysku CD. Ten sam detektor używany jest również do pozycjonowania lasera na ścieżce z pitami.
Jeśli ścieżka przesuwa się w prawo lub w lewo, do więcej sygnału dostaje się odpowiednio do
diody D lub C.
- 43 -
W takich przypadkach układ sterujący odpowiednio przesuwa wózek z głowicą laserową,
zapewniając ciągły odczyt ścieżki.
Oprócz problemów z pozycjonowaniem wiązki laserowej, układ napędowy CD musi również
zapewnić stałą prędkość liniową promienia lasera na ścieżce. Powoduje to, iż dysk CD obraca się z
różną prędkością kątową w zależności od położenia głowicy laserowej. Im bliżej środka dysku, tym
prędkość ta jest większa.
Sam odczyt polega na tym, iż laser w różny sposób odbija się od powierzchni dysku. Natrafiając na
pit, zostaje on rozproszony i w efekcie do detektora dostaje się mniej światła. Powoduje to
modulację strumienia świetlnego, a w efekcie modulację prądu elektrycznego otrzymywanego z
detektora. Na podstawie tych zmian układy logiczne stacji CD odczytują informację zapisaną na
dysku CD.
Tak w uproszczeniu działa system CD. W toku rozwoju wprowadzono w nim wiele zmian i
ulepszeń, które poprawiły osiągi stacji CD oraz zwiększyły ich niezawodność. Dyski CD pierwotnie
używano tylko do zapisu muzyki, jednakże szybko stały się nośnikiem danych cyfrowych dla
rozwijających się komputerów. Ponieważ dane cyfrowe nie mogą zawierać żadnych błędów, na
dyskach CD ROM stosuje się lepszy system korekcji błędów ECC. Z tego powodu pojemność
typowego dysku CD wynosi około 650 MB danych.
Technologia dysków CD została rozszerzona o dyski zapisywalne - CD-R (ang. Compact Disk
Recordable). Wymagają one specjalnych stacji CD-ROM, które posiadają możliwość zapisu danych
na dysku CD-R, zwanych nagrywarkami CD (ang. CD Recorder). Budowa płyt CD-R nieco różni
się od zwykłych płyt CD. Przede wszystkim nie występują w nich pity. Zamiast nich pomiędzy
warstwą poliwęglanu a powłoką odbijającą (zamiast aluminium stosuje się tu warstewkę złota,
dlatego płyty CD-R posiadają często żółty kolor powierzchni refleksyjnej) umieszczona jest
warstwa specjalnego tworzywa, które zmienia barwę pod wpływem odpowiednio silnego światła
lasera. Na wewnętrznej powierzchni dysku z poliwęglanu wykonany jest cieniutki rowek,
posiadający kształt spirali. Służy on do prowadzenia lasera podczas zapisu danych.
- 44 -
W trakcie zapisu laser pracuje z dużo większą mocą. Rozgrzane tworzywo zmienia swoją barwę.
Zmiany barwy wzdłuż rowka zapisującego odpowiadają pitom zwykłej płyty CD. Przy normalnym
odczycie laser nie posiada odpowiednio dużej mocy, aby zmienić kolor barwnika. Zatem raz
zapisaną płytę CD-R można dowolną ilość razy odczytywać, jak zwykły dysk CD.
Oprócz płyt CD-R, które umożliwiają jednokrotny zapis, opracowana również płyty CD-RW (ang.
Compact Disk ReWritable), pozwalające na wiele cyklów zapisu, kasowania i ponownego zapisu.
W dysku CD-RW pomiędzy warstwą z poliwęglanu a warstwą refleksyjną znajduje się warstwa ze
specjalnego stopu czterech metali - srebra, indu, antymonu i telluru. Warstwa ta posiada własność
zmian przezroczystości pod wpływem światła lasera o różnej energii. Proces ten jest w pełni
odwracalny. Dzięki temu informację zapisaną na płycie CD można wymazać i zastąpić inną.
Nagrywarki CD mogą pracować z różnymi prędkościami zapisu. Za pojedynczą prędkość
przyjmuje się standardowy czas odtwarzania płyty CD-Audio - 74 minuty. Nagrywarka pracująca z
większą prędkością zapisuje pełen dysk CD w czasie odpowiednio krótszym:
Prędkość zapisu Czas zapisu płyty CD
× 1
74 min
× 2
37 min
× 4
18 min
× 8
9 min
× 16
5 min
× 32
3 min
× 48
2 min
Dysk DVD
Rosnące wymagania użytkowników oraz potrzeba cyfrowego zapisu filmów doprowadziły do
opracowania ulepszonego standardu DVD (ang. Digital Video Disk). W systemie DVD
zmniejszono rozmiar plamki lasera, dzięki czemu udało się zwiększyć ponad 6-cio krotnie
pojemność dysku. Ścieżki na dysku DVD są mniejsze w porównaniu z dyskiem CD i mieszczą
więcej informacji. Dyski DVD opracowano z myślą o cyfrowym zapisie obrazu TV. Standardowa
pojemność jednej strony dysku DVD wynosi około 4,7 GB, co pozwala na zapis 2 godzin filmu w
formacie MPEG-2 (telewizyjny format cyfrowy). Jednakże wraz z upowszechnieniem się tego
standardu został on zaadoptowany przez komputery jako tani nośnik dużej ilości informacji.
- 45 -
Dysk DVD wykorzystuje do maksimum możliwości lasera czerwonego. Dalsze zagęszczanie
ś
cieżek i zmniejszanie rozmiarów pitów napotyka na barierę rozdzielczości promieni lasera.
Jednakże dyski DVD mogą być dwuwarstwowe oraz obustronne. W płytach dwuwarstwowych
DVD DL (ang. DVD Double Layer) dostęp do głębszej warstwy uzyskuje się regulując skupienie
wiązki laserowej.
Rozwiązanie to pozwala podwoić pojemność płyty DVD do 8,5 GB. Na płycie DVD DL można
zapisać 4 godziny filmu w cyfrowej jakości wraz z 6 kanałowym dźwiękiem. Płyta dwustronna i
dwuwarstwowa DVD posiada pojemność 17,5 GB.
Płyty DVD również występują w wersji zapisywalnej DVD+R i DVD-R. Oba te standardy
nieznacznie różnią się między sobą:
•
DVD-R: pojemność 4,489MB 4,706,074,624 bajtów, czyli 4.383GB - lepsze do filmów
•
DVD+R: pojemność 4,483MB 4,700,372,992 bajtów, czyli 4.377GB - lepsze do danych
Wzrost pojemności dysku DVD-R w porównaniu z CD-R uzyskano za pomocą zmniejszenia
rozmiarów pitów. Zapis i odczyt dokonywany jest laserem o długości fali 650 nm. Dyski wykonuje
się z dwóch krążków poliwęglanowych, które klei się razem w trakcie produkcji płyty. Pierwszy z
tych krążków posiada warstwę zapisywalną, pokrytą warstwą refleksyjną wykonaną z aluminium i
specjalnego barwnika, zmieniającego kolor pod wpływem odpowiednio silnego światła lasera.
Drugi krążek stabilizuje zachowanie się całego dysku DVD podczas operacji odczytu/zapisu. Dyski
dwustronne mają warstwę zapisywalną na obu krążkach. Standard DVD wyparł we współczesnym
sprzęcie informatycznym standard CD - nagrywarki DVD stały się standardowym elementem
wyposażenia wszystkich współczesnych komputerów. Ich zaletą jest możliwość odczytu i zapisu
również zwykłych płyt CD, CD-R, CD-RW.
Dyski DVD również występują w wersji wielokrotnego zapisu DVD-RW. Zasada działania tego
systemu jest bardzo podobna do CD-RW. Warstwa zapisywalna może być wielokrotnie kasowana
ś
wiatłem lasera i zapisywana ponownie. Technologia wielokrotnego zapisu dotyczy również
dysków DVD dwuwarstwowych.
- 46 -
Ilość czasu niezbędnego do zapisu dysku DVD-R lub DVD-RW zależy od szybkości zapisu
nagrywarki DVD, użytego trybu zapisu przez tę nagrywarkę, ilości informacji do zapisu oraz
zastosowanego systemu weryfikacji zapisu. Szybkość nagrywania danych mierzona jest w ten sam
sposób, co szybkość odczytywania danych przez zwykłą stację DVD-ROM lub odtwarzarki DVD.
Przy pojedynczej prędkości nagrywarka zapisuje w każdej sekundzie 1,32 MB danych. Większe
prędkości zapisu są wielokrotnościami tej prędkości podstawowej.
Szybkość
odczytu/zapisu
DVD
Szybkość zapisu
MB/sek
Czas zapisu
standardowej płyty
DVD
1x
1.32
57 min
2x
2.64
28 min
3x
3.96
19 min
4x
5.28
14 min
5x
6.60
12 min
6x
7.93
10 min
8x
10.57
7 min
10x
13.21
6 min
12x
15.85
5 min
16x
21.13
4 min
Tryby zapisu
Wykorzystując osiągnięcia standardów CD-R i CD-RW, parametry zapisywalnych dysków DVD
znacznie ulepszono w krótkim czasie. Szybkość zapisu dysków DVD obecnie przewyższa nawet
najszybsze nagrywarki CD-R i CD-RW.
Stała Prędkość Liniowa - Constant Linear Velocity (CLV)
Pierwotnie nagrywarki DVD pracowały w trybie CLV w celu utrzymania stałej szybkości przesyłu
danych w obrębie całego dysku. Tryb CLV ustala szybkość obrotową dysku od 1400 obr/min, która
następnie jest zmniejszana do 580 obr/min, gdy głowica laserowa odczytuje lub zapisuje dane ze
wewnętrznej lub zewnętrznej średnicy dysku. Ponieważ cały dysk zapisywany jest ze stałą
szybkością przesyłu danych, to zapis 4,7 GB zajmuje około 57 minut czasu przy pojedynczej
prędkości CLV. Gdy rośnie szybkość zapisywania, rośnie również szybkość przesyłu danych, zatem
przy 4 x CLV czas zapisu wynosi w przybliżeniu 14 min. Czas zapisywania zależy również od
ilości danych do zapisu. Zatem dyski niepełne zostaną zapisane w proporcjonalnie krótszym czasie.
Lecz zapisywanie przy dużych prędkościach wymaga coraz szybszych obrotów dysku (przy 6 x
CLV od 8400 obr/min do 3480 obr/min), co stawia duże wymagania fizyczne dla nagrywarek,
dysków DVD oraz oprogramowania. Wytwórcy sprostali tym wyzwaniom wykraczając poza tryb
CLV w celu uzyskania jeszcze wyższych parametrów zapisu.
- 47 -
Strefowo Stała Prędkość Liniowa - Zoned Constant Linear Velocity (ZCLV)
W przeciwieństwie do trybu CLV, w którym jest utrzymywana stała prędkość przesyłu danych w
całym procesie zapisu, tryb ZCLV dzieli dysk na strefy w każdej z nich stosuje stopniowo większą
szybkość zapisu. Na przykład nagrywarka 8 x ZCLV DVD+R/+RW zapisuje pierwsze 800 MB
dysku w trybie 6 x CLV, a resztę w trybie 8 x CLV. Nagrywarka DVD-RAM stosuje inny rodzaj
ZCLV, w którym dysk jest dzielony na dużo więcej stref (np. dysk 4.7 GB na 34 strefy). Tutaj
prędkość obrotowa jest utrzymywana na stałym poziomie w każdej strefie, lecz różni się pomiędzy
strefami, dając w wyniku mniej więcej stałą szybkość przesyłu danych w całym procesie zapisu
dysku.
Stała Prędkość Kątowa - Constant Angular Velocity (CAV)
W trybie CAV dysk wykonuje stałą liczbę obrotów w całym procesie zapisu. W wyniku szybkość
przesyłu danych ciągle wzrasta, gdy głowica laserowa przesuwa się wzdłuż promienia dysku ku
jego krawędzi. Przykładowo, w trybie 5 x CAV nagrywarka DVD-RAM rozpoczyna zapis przy
prędkości 2 x na wewnętrznej średnicy dysku i przyspiesza stopniowo do 5 x przy zewnętrznej
ś
rednicy dysku.
Weryfikacja Zapisu i Obsługa Błędów
Oprócz prostego zapisu danych, niektóre oprogramowanie nagrywające wykonuje weryfikację
zapisu danych lub stosuje zaawansowane techniki obsługi błędów zapisu, co w rezultacie może
nawet podwoić całkowity czas zapisu dysku. Zwykle weryfikacji dokonuje się po zapisie danych,
natomiast obsługa błędów wykonywana jest w trakcie zapisywania. Weryfikację danych w
niektórych programach zapisujących dyski DVD można wyłączyć, lecz obsługa błędów jest
zaprogramowana w samych nagrywarkach i zwykle nie może być wyłączona.
Region DVD
- 48 -
Wytwórcy filmów podzielili świat na regiony nadając im numery od 1 do 6 (Polska jest w regionie
2). Filmy DVD posiadały zakodowany numer regionu. Ich odtwarzanie było możliwe tylko wtedy,
gdy stacja DVD posiadała taki sam kod regionu jak film. Pierwsze stacje DVD pozwalały na
pięciokrotne wprowadzenie kodu regionu. Po wyczerpaniu tego limitu dalsza zmiana kodu nie była
już możliwa (oczywiście bez odpowiedniej modyfikacji sprzętowej). Działania te miały na celu
ograniczenie swobodnej dystrybucji filmów DVD na świecie i zagwarantowanie zysków dla ich
producentów (np. tanie filmy z USA nie mogły być odtwarzane w Europie lub Ameryce
Południowej).
Dzisiaj rozwiązanie to już praktycznie straciło na znaczeniu, ponieważ współczesne stacje DVD
mają wbudowany kod 0, który pozwala na odtwarzanie dysku DVD z dowolnego regionu. Istnieje
również oprogramowanie maskujące kod regionu w stacjach DVD-ROM lub jego całkowite
usunięcie przy przegrywaniu. Obecnie coraz popularniejsze staje się zakupywanie filmów poprzez
sieć Internet, a standard DVD będzie powoli odchodził do lamusa.
Dysk Blue-Ray
Ograniczeniem technologii DVD jest długość fali świetlnej zastosowanego tam lasera - 640 - 790
nm. Przy takim świetle nie da się zmniejszać pitów, będących nośnikami danych, gdyż przestałyby
być widoczne. Przełom technologiczny nastąpił dopiero po opracowaniu przez japońskiego
naukowca Shuji Nakamurę nowego lasera, który produkuje światło fioletowe o długości 405 nm.
Kolor światła lasera użyto w nazwie nowej technologii (ang. blue ray - niebieski promień). Takie
ś
wiatło posiada dużo większą rozdzielczość, co umożliwia z kolei zagęszczenie ścieżek i
zmniejszenie rozmiaru pitów. Dzięki temu pojemność dysków BD (ang. Blue-ray Disk) osiąga 25
GB. Taka pojemność potrzebna jest do cyfrowego zapisu filmów w technologii HD (ang. High
Definition - Wysoka Jakość).
Dyski BD mogą występować w odmianach wielowarstwowych. Dwuwarstwowy dysk ma
pojemność 50 GB, 4 warstwowy - 100 GB. Rekordzistą jest dysk 16 warstwowy o pojemności 400
GB. Dysk Blu-ray posiada dwie warstwy: pierwsza o grubości 1,1 mm, druga o grubości 0,1 mm,
na której zapisywane są dane. Minimalna długość pitu wynosi 0,15 µm. Odstęp pomiędzy
ś
cieżkami jest równy 0,32 µm, średnica plamki lasera wynosi 0,48 µm.
Oprócz zwykłych dysków BD-ROM (ang. Blue-ray Read Only Memory) istnieją zapisywalne dyski
BD-R (ang. Blue-ray Disk Recordable) oraz dyski wielokrotnego zapisu BD-RE (Blue-ray Disk
REwritable). Ich technologie są zbliżone do technologii odpowiednich dysków CD i DVD.
- 49 -
Producenci filmów w jakości HD podzielili świat na trzy regiony (Polska należy do regionu B/2),
podobnie jak w przypadku DVD. Odtwarzacz Blue-ray może odtwarzać tylko płyty BD o takim
samym kodzie regionu jak kod odtwarzacza. Działanie to ma na celu kontrolę nad dystrybucją
filmów na świecie. Oczywiście odpowiedzią rynku było pojawienie się specjalnych odtwarzaczy
Blue-ray od niezależnych producentów, które potrafią odczytywać płyty BD z dowolnego regionu.
Należy tu wspomnieć, iż z technologią Blue-ray konkurują dyski HD DVD, które posiadają większą
pojemność - 30 GB. Nowoczesne nagrywarki pozwalają na zapisywanie i odczytywanie obu
rodzajów dysków (jak również formatów CD i DVD). Ponieważ ceny tych urządzeń szybko
spadają, w niedalekiej przyszłości wyprą one standard DVD w komputerach osobistych.