Pamięć RAM
Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Acces Memory - pamięć o swobodnym dostępie) służy do przechowywania danych aktualnie przetwarzanych przez program oraz ciągu rozkazów, z których składa się ten program. Pamięć RAM jest pamięcią ulotną, co oznacza, iż po wyłączeniu komputera, informacja w niej zawarta jest tracona. Pamięć ta często nazywana jest DRAM (ang. Dynamic RAM) ze względu na zasadę działania: pojedyncza komórka pamięci zawiera kondensator (pojemność), który naładowany do pewnego napięcia, przechowuje jeden bit danych. Kondensator szybko rozładowuje się i należy systematycznie odświeżać zawartość komórki, poprzez zaadresowanie jej i ponowne doładowanie kondensatora. Proces ten nosi nazwę odświeżania pamięci i musi być realizowany cyklicznie. Pamięć charakteryzowana jest przez dwa istotne parametry: pojemność oraz czas dostępu. Pojemność pamięci jest funkcją liczby linii adresowanych i wielkości komórki; jeśli pamięć jest adresowana za pomocą 10-liniowej (10-bitowej) szyny adresowanej, a każda komórka może przechować 8 bitów, pojemność jej wynosi 1024 bajty (1 kilobajt - 1KB). Procesor PENTIUM za pomocą swojej 32-bitowej szyny adresowanej może obsługiwać pamięć o pojemności 4GB (gigabajtów).
Czas jaki upłynie od momentu zaadresowania komórki pamięci do uzyskania zapisanej w tej komórce informacji nazywa się czasem dostępu. Czasy dostępu współczesnych pamięci DRAM wynoszą kilkadziesiąt nanosekund, co oznacza iż w ciągu tych kilkudziesięciu nanosekund, zanim nie zostanie odczytana informacja, nie można zaadresować następnej komórki.
Nowszy typ pamięci tzw. EDO-RAM (ang. Extended Data Out - RAM) została wyposażona w mechanizm pozwalający już w trakcie odczytu danych wystawiać na szynie adresowanej kolejny adres. Pamięć ta posiada więc krótszy czas dostępu.
BUDOWA PAMIĘCI
Aby zorganizować komórki pamięci w sprawnie funkcjonujący układ, należy je odpowiednio zaadresować. Najprostszym sposobem jest zorganizowanie pamięci liniowo - jest to tak zwane adresowanie 2D. Do każdej komórki podłączone jest wejście, sygnał wybierania pochodzący z dekodera oraz wyjście. Nieco innym sposobem jest adresowanie przy użyciu tzw. matrycy 3D. Pamięć organizuje się tutaj dzieląc dostępne elementy na wiersze i kolumny. Dostęp do pojedynczego elementu pamiętającego można uzyskać po zaadresowaniu odpowiedniego wiersza i kolumny. Dlatego też komórka RAM obok wejścia i wyjścia musi dysponować jeszcze dwoma sygnałami wybierania, odpowiednio z dekodera kolumn i wierszy. Zaletą pamięci adresowanej liniowo jest prosty i szybszy dostęp do poszczególnych bitów niż w przypadku pamięci stronicowanej (3D), lecz niestety, przy takiej organizacji budowanie większych modułów RAM jest kłopotliwe. Dlatego też w przemyśle stosuje się zazwyczaj układy pamięci zorganizowanej w matrycę 3D, pozwala to na nieskomplikowane tworzenie większych modułów o jednolitym sposobie adresowania. W komputerach PC procesor uzyskuje dostęp do danych zawartych w pamięci DRAM w pakietach o długości 4-bitów (z pojedynczego rzędu), które są przesyłane sekwencyjnie lub naprzemiennie (tzw. przeplot - interleave). Pomimo tego, że ostatnie trzy bity są dostarczane wraz z taktem zegara, to konieczność odpowiedniego przygotowania transmisji danych sprawia, że przed pierwszym bitem "wstawiony" zostaje jeden cykl oczekiwania. Taki sposób transferu danych można oznaczyć jako cykl 2-1-1-1.
Budowa logiczna pojedynczej komórki pamięci
Struktura pamięci 2D
Struktura pamięci 3D
Moduły SIMM i DIMM
Współczesne płyty główne wyposażone są w złącza typu SIMM (ang. Single Inline Memory Modules), umożliwiające rozszerzenie pamięci RAM od kilku do kilkuset MB. Moduły SIMM są to podłużne płytki na których umieszczono "kostki" pamięci, wyposażone z złącze krawędziowe. Moduły te posiadają 72-stykowe złącze i mogą mieć pojemności 4,8,16,32 oraz 64 MB. Czas dostępu modułów SIMM zawiera się w granicach 60-70 nanosekund. Złącze SIMM ma 32-bitową szynę danych - do rozszerzenia pamięci na płycie głównej z procesorem PENTIUM wystarczą więc dwa moduły, gdyż pamięć RAM ma 64-bitową organizację zapisu i odczytu danych - warto o tym pamiętać przy rozszerzaniu jej pojemności. Moduły wykonywane są w dwóch wersjach: wersja S o pojedynczym upakowaniu (ang. Single density) i wersją D o podwójnym upakowaniu (ang. Double density). Poniższa tabela prezentuje symbole modułów i odpowiadające im pojemności.
Symbol |
|
Pojemność |
256K (S) |
256K x 32 bity |
1 MB |
1M (S) |
1M x 32 bity |
4 MB |
4M (S) |
4M x 32 bity |
16 MB |
16M (S) |
16M x 32 bity |
64 MB |
512K (D) |
2 x 256K x 32 bity |
2 MB |
2M (D) |
2 x 1M x 32 bity |
8 MB |
8M (D) |
2 x 4M x 32 bity |
32 MB |
Rysunek prezentuje dwa moduły SIMM (z gniazdami, w których są one umieszczone) oraz pojedynczy moduł DIMM.
Moduły pamięci RAM typu DIMM (ang. Dual Inline Memory Modules)- to najnowsze osiągnięcia przemysłu komputerowego. Wyposażone są w 169-stykowe złącza i dysponują 64-bitową magistralą danych (taką samą jak procesor PENTIUM) - do rozszerzania pamięci na płycie głównej potrzebny jest więc tylko jeden moduł. Moduły te posiadają trzy rzędy styków, oddzielone dwoma wycięciami.
DRAM (SDRAM)
Najważniejszą cechą tych pamięci jest możliwość pracy zgodnie z taktem zegara systemowego. Podobnie do układów BEDO, SDRAM-y mogą pracować w cyklu 5-1-1-1. Istotną różnicą jest natomiast możliwość bezpiecznej współpracy z magistralą systemową przy prędkości 100 MHz (10 ns). Technologia synchronicznej pamięci DRAM bazuje na rozwiązaniach stosowanych w pamięciach dynamicznych, zastosowano tu jednak synchroniczne przesyłanie danych równocześnie z taktem zegara. Funkcjonalnie SDRAM przypomina typową DRAM, zawartość pamięci musi być odświeżana. Jednak znaczne udoskonalenia, takie jak wewnętrzny pipelining czy przeplot (interleaving) sprawiają, że ten rodzaj pamięci oferuje bardzo wysoką wydajność. Warto także wspomnieć o istnieniu programowalnego trybu burst, gdzie możliwa jest kontrola prędkości transferu danych oraz eliminacja cykli oczekiwania (wait states).
DDR-SDRAM
(Double Data Rate SDRAM) Rodzaj pamięci mający swoją premierę na przełomie 2000 i 2001 roku. Tego rodzaju pamięć stosowana była dotąd wyłącznie w kartach graficznych. Przy częstotliwości magistrali 100 lub 133 MHz pamięć oferuje maksymalną przepustowość rzędu 1,6 GB/s (PC 200) lub 2,1 GB/s (PC 266). Jest dwukrotnie szybsza od modułów SDRAM z identyczną częstotliwością taktowania, gdyż transmituje dane nie tylko przy wzroście, lecz również przy spadku sygnału. Oferowane są w postaci 184 stykowych modułów typu DIMM.
Struktura pamięci RAM
Wielkość pamięci RAM, którą można zainstalować w komputerach IBM PC jest uzależniona od szerokości magistrali adresowej. W zależności od typu procesora pamięci główne mogą przyjmować następujące wielkości: dla procesora 8086 - 1 MB, 80286 - 16 MB, 80386/486 - 4 GB.
Pierwsze komputery IBM PC z procesorem 8086/88 (popularne XT) narzuciły pewien podział pamięci, kontynuowany w następnych generacjach komputerów. Całkowity obszar 1MB RAM dostępny dla procesora 8086 został podzielony, przez konstruktorów IBM, na dwa obszary. Pierwszy obszar obejmujący zakres 0 - 9FFFF (0 - 640 KB) nazwany został pamięcią konwencjonalną. Natomiast obszar o adresach A0000 do FFFFF (640 - 1 MB) to pamięć górna.
Początkowy obszar pamięci konwencjonalnej używany jest przez sprzęt i system operacyjny do przechowywania wektorów przerwań sprzętowych, danych BIOSU-u, obszarów buforów i uchwytów plików DOS, a w dalszej kolejności ewentualnych programów obsługi (tzw. driverów) dodatkowych urządzeń (np. myszy, klawiatury, itd.), plików systemowych (Io.sys i MsDos.sys) oraz pierwszej kopii pliku Command.com. Obszar ten może mieć różną wielkość, w zależności od konfiguracji systemu, zainstalowanych driverów i wersji systemu operacyjnego. Zwykle zajmuje od ok. 60 KB do 160 KB, a nawet ponad 200 KB. Pozostała przestrzeń do granicy 640 KB może być użyta przez aplikacje.
Pamięć górna (Upper Memory) zajmuje obszar do adresu A0000 do FFFFF (640 KB - 1 MB) niedostępny do oprogramowania użytkownika. Obszar ten (384 KB) podzielony jest na kilka części o ściele ustalonym przeznaczeniu:
Obszar A0000 - BFFFF (128 KB) przeznaczony jest dla pamięci ekranu. Końcowa część obszaru Upper Memory przeznaczona jest na ROM BIOS. W zależności od typu monitora i karty graficznej oraz wielkości obszaru zarezerwowanego na BIOS pozostaje nie wykorzystany obszar tej pamięci ok.160 -230 KB.
Pamięć dodatkowa - Expanded Memory: Ograniczenia adresowe procesora 8086 limitujące wielkość pamięci RAM do 1 MB zmusiły konstruktorów do poszukiwania sposobów zwiększenia dostępnej pamięci użytkowej. Technicznie uzyskano to poprzez zastosowanie dodatkowej karty pamięci z układami RAM - zwanej Expanded Memory. Fizycznie adresowanie tej dodatkowej pamięci rozszerzonej realizował standard LIM 3.2: w wolnym nie wykorzystanym dotąd obszarze Upper Memory wydzielono specjalne okno - page frame - za pomocą którego można się odwoływać do dowolnego segmentu zainstalowanej pamięci dodatkowej Expanded Memory. Umożliwia to ściąganie w porcjach po 64 KB zawartości tej pamięci poprzez okno page frame do pamięci konwencjonalnej i użytkowanie zawartych w nich danych przez oprogramowanie aktywne z pamięci konwencjonalnej.
Pamięć rozszerzona (Extended Memory): Procesory 286 i nowsze posiadające ponad 20 bitową magistralę adresową umożliwiają bezpośrednie adresowanie pamięci RAM powyżej 1 MB. Obszar ten może być wykorzystywany do dowolnych celów za wyjątkiem uruchamiana procesów, gdyż te ze względu na nieciągłość obszaru pamięci mogą być aktywne jedynie w obszarze pamięci konwencjonalnej. Wiąże się to właściwością systemu DOS, który może pracować tylko w trybie rzeczywistym. Lepsze wykorzystanie dają systemy operacyjne pracujące w trybie chronionym, takie jak Windows i OS.
Szczególne znaczenie w obszarze Extended Memory ma pierwszy blok 64 KB powyżej granicy 1 MB - tzw. obszar wysokiej pamięci (High Memory Area) . W komputerach z procesorami 286 i nowszymi, przy zainstalowaniu pamięci RAM większej niż 1 MB, w wyniku segmentowego sposobu adresacji pamięci, istnieje możliwość wykorzystania tego obszaru przez DOS i umieszczaniu w nim zasobów systemu.
Tematy: Bloki pamięci, SIMM, DIMM, SDRAM, DDR
Struktura pamięci