? PCI (Peripherial Component Interconnect)
Magistrala PCI Local Bus po raz pierwszy zaprezentowana zo-stała publicznie w czerwcu 1992 r. Przedstawione rozwiązanie umożliwia błyskawiczną komunikację pomiędzy procesorem i kartami w gniazdach rozszerzeń PCI. Nie ma przy tym znaczenia, czy w takim gnieździe zainstalowana jest karta sterownika dysków, sieciowa, graficzna czy multimedialna. Każda karta, pasująca do gniazda PCI, będzie w nim pracować bez jakichkolwiek problemów związanych z kompatybilnością, gdyż nie tylko sygnały ale i prze-znaczenie poszczególnych styków gniazda są znormalizowane. Operacje wejścia wyjścia, jak w przypadku szyn ISA, EISA i Microchannel, ale mikroprocesor sam odwołuje się do urządzeń zewnętrznych i robi to równie szybko, jak podczas odwołań do pa-mięci operacyjnej. W przeciwieństwie do innych magistrali lokal-nych, przykładowo VESA Local Bus, która początkowo była stoso-wana tylko do przyspieszenia operacji graficznych, szyna PCI sta-nowi kompleksowe rozwiązanie, przyspieszające współpracę z do-wolnych urządzeniem zewnętrzny. Przy częstotliwości taktowania 33 MHz i szerokości 32 bitów magistrala PCI osiąga szybkość transmisji 132 MB/s. Nawet jeżeli szerokość szyny adresowej i da-nych nowych procesorów zwiększy się z 32 na 64 (jak tak to ma miejsce w przypadku Pentium), zmiany te nie wpływają na archi-tekturę PCI. Przepustowość magistrali podwoi się wtedy do 264 MB/s, ale kompatybilność 32 i 64-bitowych urządzeń peryferyj-nych standardu PCI pozostanie zapewniona. Ponieważ karty dołą-czone do szyny PCI mogą się komunikować nawet bez udziału mi-kroprocesora, ma on więcej czasu na przeprowadzenie skompliko-wanych obliczeń, przez co może być o wiele ekonomiczniej wyko-rzystywany. Dla każdej karty zdefiniowane są tzw. rejestry konfi-guracyjne. Przy ładowaniu systemu procesor odczytuje zapisane w nich dane i rozpoznaje, jaka karta jest umieszczona w danych gnieździe. Instalacja i inicjacja karty następuje potem w pełni au-tomatycznie. Aby zapewnić zarówno producentom, jak i użytkow-nikom możliwie dużą elastyczność, w standardzie PCI zdefiniowa-no tzw. gniazdo wspólne (shared slot). Jest to gniazdo które mo-głoby zostać wykorzystywane w magistrali ISA, EISA czy Micro-channel. Gniazdo takie akceptuje albo zwykłe karty rozszerzające, albo karty PCI, które oprócz PCI obsługują także wymienione wyżej standardy. Ponieważ taka karta PCI będzie funkcjonować w każdej ze wspomnianych trzech magistrali, producenci mogą dla wszyst-kich ich typów produkować tylko jeden rodzaj karty. Bardzo istot-ną cechą architektury PCI jest skalowalność: w jednym i tym sa-mym komputerze może być równolegle lub szeregowo połączonych kilka magistrali PCI. Ponieważ nad koncepcją PCI Local Bus pra-cowało wielu znaczących producentów komputerów, pojawiło się dużo dobrych pomysłów. Przykładowo, rozwiązanie jest na tyle elastyczne że uwzględnia możliwość współpracy magistrali nie tyl-ko z komputerami wyposażonymi w procesory firmy Intel, ale rów-nież z AMD, Cyrix. Ogólnie rzecz biorąc PCI Local Bus jest tanią (co nie znaczy gorszą) alternatywą nie tylko dla maszyn typu De-sktop, ale także dla komputerów przenośnych, inżynierskich stacji roboczych oraz serwerów sieciowych.
4. Zegar
Jednym z istotnych elementów płyty głównej jest zegar przezna-czony do odmierzania czasu i realizacji różnego rodzaju funkcji li-czących. Poszczególne kanały układu zegara pełnią w mikrokom-puterze standartowe funkcje. I tak:
? Wyjście kanału 0 jest podłączone do lini przerwania IRQ 0. Oznacza to, że kanał ten używany jest do sterowania (zwiększa-nia) zegara czasu systemowego,
? Wyjście kanału 1 używane jest jako sygnał okresowego wytwa-rzania sygnału zadania danych do kanału DMA odpowiedzial-nego za odświeżanie zawartości pamięci operacyjnej,
? Wyjście kanału 2 podłączone jest do głośnika umieszczonego wewnątrz mikrokomputera i służy do wytwarzania dźwięków o różnych częstotliwościach.
Wyjście kanału 0 steruje przerwaniem IRQ 0, więc bieżący czas dzienny jest modyfikowany co każde 55 mikrosekund. Jeżeli chcemy zrezygnować z systemowej obsługi zegara na rzecz innego wykorzystania przerwania IRQ 0 to możemy przeprogramować ka-nał 0. Nie należy jednak tego czynić w sytuacjach, w których za-mierzamy używać jednocześnie stacji dyskietek, gdyż przerwanie IRQ 0 wykorzystywane jest do sterowania silnikiem stacji dyskie-tek.
Kanał 1 pobudza mechanizmy DMA co każde 15 mikrosekund. Kanału tego nie wolno przeprogramowywać, gdyż może to spowo-dować utratę danych z pamięci operacyjnej.
Kanał 2 jest przeznaczony do wykorzystania w dowolny sposób. Przeprogramowywanie kanału 2 może być wykorzystywane do two-rzenia różnego rodzaju efektów akustycznych. Możliwe jest także odłączenie wyjścia kanału 2 od głośnika.
5. Procesor
Najważniejszym elementem komputera jest procesor. Steruje on pracą komputera, wykonuje operacje logiczne i arytmetyczne podczas realizacji programów.
Zestaw funkcji wykonywanych przez procesor jest na tyle szeroki, że nie jest on w stanie samodzielnie obsługiwać wszyst-kich współpracujących z nim podzespołów. Z tego powodu działa-nie procesora wspomagane jest przez liczne układy sterujące, bę-dące najczęściej wyspecjalizowanymi mikroprocesorami. Wykony-wanie funkcji wspomagających procesor wymusza zastosowanie odpowiednich mechanizmów współpracy pomiędzy procesorem i układami wspomagającymi. Z jednej strony procesor musi posia-dać możliwość oddziaływania na podzespoły wspomagające w przypadkach, w których podzespoły te mają wykonywać określone przez procesor zadania. Oddziaływanie w tym kierunku jest względnie proste, gdyż to procesor, czyli główny podzespół zarzą-dzający pracą komputera, zleca wykonywanie odpowiednich za-dań. Z drugiej strony, podzespoły wspomagające muszą mieć moż-liwość sygnalizowania procesorowi swoich stanów w nieznanych dla procesora chwilach czasu. Komunikacja w tym kierunku nie jest już taka prosta. Należy bowiem pamiętać, że procesor przez większość czasu pracy zajęty jest realizowaniem zadań postawio-nych przez użytkownika. W tej sytuacji konieczne jest wprowadze-nie mechanizmów, które pozwolą zasygnalizować procesorowi ko-nieczność zainteresowania się stanem określonego podzespołu wspomagającego pracę procesora. Podstawowym mechanizmem wykorzystywanym przez podzespoły do sygnalizowania procesoro-wi swoich stanów jest mechanizm przerwań. Mechanizm przerwań oprócz podanej powyżej funkcji, wykorzystywany jest także przez sam procesor dla potrzeb sygnalizacji pewnych sytuacji wyjątko-wych (np. dzielenie przez zero, przepełnienie przy operacjach arytmetycznych). Sprawą oczywistą jest, że niezależnie od rodzaju przerwania jego obsługą musi zająć się procesor jako jedyny pod-zespół realizujący w komputerze programy (także obsługi prze-rwań).
Przerwania dzielą się na:
? Przerwania sprzętowe – wytwarzane przez podzespoły wspoma-gające pracę procesora,
? Przerwania wyjątkowe – wytwarzane przez procesor,
? Przerwania programowe – ich źródłem są wykonywane przez procesor programy.
Procesor w trakcie przetwarzania pobiera kolejne instrukcje z pamięci operacyjnej, rozpoznaje je i wykonuje z wykorzysta-niem wskazanych w instrukcjach operandów (jeżeli takowe w instrukcji występują). Zalecane przez program instrukcje po-wodują wykonywanie funkcji sterujących, arytmetycznych i lo-gicznych a wymagana wysoka efektywność pracy procesora wymusza wbudowanie w jego struktury wewnętrznych pamięci (o niewielkich pojemnościach) nazywanych rejestrami. Wymie-nione powyżej podzespoły połączone są poprzez magistrale ko-munikacyjne.
W strukturze mikroprocesora wyróżnia się następujące ele-menty:
? Układ przechowywujący kolejkę instrukcji – procesor bardzo szybki realizuje większość z zlecanych instrukcji, czyniąc to o wiele szybciej niż jest w stanie uzyskać kolejną, instrukcję z pamięci operacyjnej. Dla usprawnienia pracy instrukcje sprowadzane są, z pamięci operacyjnej do procesora porcja-mi (a nie po jednej) i gromadzone są w kolejności w tym układzie. Tego rodzaju rozwiązanie zmniejsza w istotny spo-sób prawdopodobieństwo przestoju procesora powodowane-go koniecznością oczekiwania na kolejną instrukcję.
? Urządzenie sterujące wykonywaniem instrukcji – zarządza kolejką instrukcji oczekujących na wykonywanie pobierając kolejne instrukcje z układu przechowywującego kolejkę in-strukcji i przekazując ją do urządzenia wykonującego in-strukcje.
? Urządzenie arytmetyczno-logiczne – Jest podstawowym składnikiem urządzenia wykonującego instrukcje. Realizuje wszystkie operacje arytmetyczne i logiczne. Niektóre skutki tych operacji (a dokładnie stan ich wykonania) powodują ustawienie przez to urządzenie odpowiednich wartości w rejestrze flagowym.
? Zespół rejestrów – stanowią jeden z najważniejszych skład-ników procesora. Służą do bieżącego przechowywania da-nych w obrębie procesora oraz pełną funkcję wspomagające procesy współpracy procesora z pamięcią operacyjną i in-nymi podzespołami mikrokomputera.
? Zespół rejestrów segmentowych – specjalnego przeznaczenia przy dostępie do odpowiednich fragmentów pamięci opera-cyjnej.
? Specjalnego przeznaczenia rejestr IP – wskazujący adres na-stępnej instrukcji, którą ma wykonać procesor.
? Rejestr flagowy – zapamiętuje i udostępnia informacje o stanie operacji przez urządzenie arytmetyczno-logiczne.
Szybkość pracy procesora podawana jest w MHz i określa ona prędkość przetwarzania danych przez procesor. Im większa prędkość tym szybszy a zarazem lepszy procesor. Prędkość proce-sorów ciągle się zwiększa, zmienia się ich budowa, jednak zacho-wują one kompatybilność z dotychczasowym standardem. Pozwala to na stosowanie ich do istniejącego już oprogramowania. Proceso-ry Pentium zbudowane są w oparciu o technologię 0,8 mikrometra i składają się z milionów tranzystorów bipolarnych.
6. Koprocesor
Płyty główne starszej generacji posiadają podstawkę dla opcjonalnego koprocesora przyspieszającego pracę komputera: 8087 (dla XT0, 80287 (dla AT), 80387 (dla 386), 80487SX (dla 486SX). Od 486 DX/DX2/DX4 koprocesor wbudowany jest we-wnątrz procesora. Koprocesory charakteryzują się architekturą oraz częstotliwością pracy podobnie jak procesory i przyspieszają wykonywanie złożonych obliczeń numerycznych lub opracowanie grafiki. Obecnie wszystkie produkowane procesory zawierają w so-bie koprocesor, jednak gdybyśmy mieli płytę starszego typu to przy doborze koprocesora należy trzymać się zaleceń producenta płyty głównej, który przeważnie podaje jakiego rodzaju koprocesor nale-ży zamontować na danej płycie.
7. Banki pamięci
Scalone pamięci operacyjne nie mogą być instalowane na płycie głównej w dowolny sposób, lecz zgodnie z pewną organiza-cją. Z tych względów pamięci scalone najczęściej produkowało się w postaci kostek o odpowiedniej pojemności przeznaczonych do zapamiętywania pojedynczego bitu danych, czyli np. jednostka 64 kilobity. Dla organizacji pamięci w strukturze bajtowej wymagana jest instalacja ośmiu tego rodzaju kostek. Dziewiątą, kostkę (także w organizacji jednobitowej) instaluje się dla potrzeb przechowywa-nia bitu parzystości wykorzystywanego do kontroli poprawności każdego bitu. W ten sposób pojedyncza komórka pamięci realizo-wana jest przez dziewięć układów scalonych stanowiących tzw. banki pamięci. Pamięć operacyjna może być obsadzana wyłącznie pełnymi bankami. Oznacza to, że instalacja 9-ciu układów scalo-nych o pojemności 64 kilobity (czyli obsada jednego banku) po-zwala uzyskać pamięć o pojemności 64 kilo bitów. W tym przypad-ku kolejny bank może być obsadzony grupą 9- ciu układów scalo-nych rozszerzając pojemność pamięci np. do 128 KB. Inną wersją scalonych pamięci operacyjnych są układy o organizacji 4-bitowej. W tym przypadku pojedynczy bank obsadzany jest trzema ukła-dami scalonymi (2x4+1 na bit parzystości).
Omawiane układy scalone nazywane są układami typu DIP. Obecnie powszechnie stosuje się do organizacji pamięci układy ty-pu SIMM. Są to listewki drukowane na których fabrycznie zain-stalowane są układy scalone zorganizowane w struktury 9-cio (8+1), 18 (2x8+2), czy też 72-bitowe (8x8+8) w postaci odpowied-niej liczby kostek pamięci (9 lub 3). Pamięć SIMM może być osa-dzona kostkami o różnych pojemnościach (np. 1 Mx9 bitów=1 MB, 4 Mx9 bitów – 4 MB itd.). W obsadzaniu pamięci operacyjnej ele-mentami typu SIMM obowiązują te same zasady co omówione po-przednio – płytę należy obsadzać bankami Dla przykładu, wyko-rzystując SIMM-y o pojemności 1 MB możemy zorganizować cztery banki pamięci (pojemność 4 MB) lub osiem banków pamięci (8 MB). Z kolei używając SIMM-ów o pojemności 4 MB możemy zorganizować banki pamięci o pojemności 16 MB (4xSIMM), 32 MB (8xSIMM). Natomiast używając mieszanych SIMM-ów możemy re-alizować pamięci o pojemnościach np. 20 MB (4x4+4x1 MB). W tym miejscu należy zaznaczyć że stosowane pamięci muszą posia-dać te same parametry a ponadto czasami stosowane są płyty główne bez kontroli parzystości. W tym przypadku pojedynczy bajt jest realizowany z ośmiu układów scalonych jednobitowych bądź dwóch układów scalonych 4-ro bitowych.
8. Typy pamięci
Dynamiczny RAM (Dynamic RAM)
DRAM jest najbardziej rozpowszechnionym typem pamięci. W komputerach osobistych występuje najczęściej w postaci mo-dułów SMII oraz wychodzących z użycia SIP-ów. Główne obszary zastosowań to: pamięć operacyjna komputerów i pamięć obrazu na kartach graficznych. Także kontrolery dysków twardych, podłą-czone do magistrali lokalnej VESA Local Bus albo PCI, wykorzy-stują popularne DRAM-y.
Komórki Pamięci składają się z kondensatorów, w których pamiętana jest jedna jednostka informacji. Oznacza to, że konden-satory mogą przyjmować tylko jeden z dwóch stanów: ładowania albo rozładowywania. Duża wadą kondensatorów jest „ulotność” informacji, czyli utrata części ładunku po określonym czasie. Z te-go powodu konieczne jest ciągłe odświeżanie (ang. refresh) zawar-tości. Odbywa się ono za pomocą odczytu, przy czym dotychcza-sowa zawartość kondensatorów zapisywana jest na nowo. Za od-świeżanie, uprzedzające samo rozładowywanie się DRAM-u, odpo-wiedzialny jest kontroler DMA do spółki z timerem. Do poprawnej pracy kości DRAM niezbędna jest pełna przerwa między dwoma odczytami lub zapisami. Z tego powodu czas dostępu do układów typu DRAM musi być dopasowany do prędkości pracy procesora. Jednostką miary jest nanosekunda, czyli miliardowa część sekun-dy. Na przykład w celu uniknięcia tzw. czyli czekania (ang. wait states) procesor 486 o częstotliwości pracy 33 MHz wymaga pa-mięci DRAM o czasie dostępu nie większym niż 70 ns. W sytuacji gdy pamięci są zbyt wolne, konieczne jest ustawienie w BIOS-ie jednego lub więcej cykli czekania. W wyniku tego procesor, zanim uzyska dostęp do pamięci, musi chwilę odczekać. Bajt składa się z 8 bitów i składowany jest przez komputer w ośmiu kościach. Mo-duł DRAM zbudowany jest z reguły z dziewięciu układów, ponie-waż ze względu na korekcję błędów występuje układ parzystości (ang. partity chip), nie zawierający danych, lecz informacje kon-trolne. Na większości dostępnych układów SIMM (9 bitowych) spotkać można tylko trzy układy, z których każdy składa się z trzech następnych. W modułach SIMM PS/2 (36 bitowych) znaj-duje się na ogół więcej niż dziewięć układów, a pojemność waha się od 4 do 32 MB. Popularne DRAM-y mają następujące pojemno-ści: 1, 4, 8 lub 16 MB. Informacja o pojemności i czasie dostępu DRAM-ów znajduje się na ogół na samych układach. Nadruk 411000-7 oznacza pojemność 1 MB i dostęp 70 ns., a 4164-12 oznacza 64 KB i 120 ns.
Obrazowo mówiąc, wnętrze modułu DRAM (Dynamic Ran-dom Acces Memory) – podobnie jak arkusz kalkulacyjny czy do-wolna tabela – składa się z wierszy (ang. rows) oraz kolumn (ang. columns). Aby w takiej pamięci znaleźć określoną informację , wystarczy podać jej adres, czyli kombinacje złożoną z numeru wiersza i kolumny (analogicznie jak w arkuszu kalkulacyjnym). Obszar, w którym wszystkie adresy posiadają ten sam numer wiersza, nosi nazwę strony (ang. page). Przed przystąpieniem do operacji odczytu lub zapisu danych system przekazuje do modułu pomięci odpowiednie adresy wierszy i kolumn. Całe adresy mogą być transmitowane poprzez jedno łącze (ang. pin), gdyż pierwszy jest zawsze przesyłany adres wiersza. W momencie gdy moduł pa-mięci otrzyma ów adres, wczyta wszystkie znajdujące się w tym wierszu komórki do tzw. przedwzmacniacza odczytu. Z tego miej-sca układ pamięci wyszukuje następnie – za pomocą adresu ko-lumny – potrzebne dane. Po zakończeniu transmisji cała zawartość przed wzmacniacza (a więc pełny wiersz) jest z powrotem przepi-sywana do odpowiednich komórek. Kontrolę nad taką transmisją zapewniają dwa sygnały sterujące: RAS (Row Addres Strobe) i CAS (Comuln Addres Strobe). RAS sygnalizuje przy tym ważność adre-su wiersza, natomiast CAS – ważność adresu kolumny. Wartość czasu dostępu, w którym układ pamięci interpretuje sygnał RAS, jest umieszczona na obudowie każdego modułu i wynosi z reguły od 70 do 90 ns. W przypadku szybkich układów DRAM wartość ta sięga 60 ns. Ten czas dostępu nie określa jednak zbyt dokładnie wydajności danego układu DRAM. Moduł pamięci potrzebuje bo-wiem trochę czasu, aby przepisać ponownie z przed wzmacniacza zawartość odpowiednich komórek oraz przygotować się do kolejnej transmisji. Pełny czas transmisji dla danego układu pamięci jest więc prawie dwukrotne dłuższy on nominalnego czasu dostępu. W szczególnym przypadku dwa kolejne odwołania do pamięci mogą dotyczyć tej samej strony danych. W tej sytuacji numer wiersza nie musi być już ponownie transmitowany, co wyraźnie skraca czas dostępu do danych. Jeśli weźmiemy jeszcze pod uwagę opóźnienia spowodowane propagacją sygnałów sterujących, to okaże się, że dla układów DRAM o czasie dostępu 70 ns. długość cyklu CAS skróci się do około 50 ns.
Moduły EDO-RAM
Różnica pomiędzy trakcyjnymi układami DRAM a nowymi EDO-RAM (Extended Data Out) polega na tym, że te ostatnie do-starczają poprawnych wartości danych jeszcze wtedy, gdy nie jest już dostępny sygnał CAS (niezbędny w przypadku pamięci DRAM). Dzięki takiemu rozwiązaniu kontroler pamięci może przesłać do układu adres – nowej komórki danych w tym samym czasie, w którym następuje jeszcze odczyt poprzednich danych. Technika ta jest więc bardzo podobna do pi-peplingu; jedyną różnicą jest brak cyklu oczekiwania. Stało się to możliwe, gdyż układy EDO-RAM przejęły od kontrolera funkcje pamięci pośredniej. Aby moduły EDO-RAM można było umieścić na płycie głównej komputera, mu-szą one prawidłowo współpracować z istniejącą konfiguracją. Nie w każdym przypadku możemy więc, w celu zwiększenia wydajności pracy komputera, zastąpić stare pamięci DRAM szybkimi modu-łami EDO-RAM.
Nowa technika ma także i inny słaby punkt. W przypadku dwóch banków EDO-RAM nie jest możliwy dostęp typu Interleave, gdyż odwołanie d drugiego z nich nastąpiłoby już wtedy, gdy po-przednie dane byłyby jeszcze w użyciu. Mimo tych niedogodności wydajność pomięci EDO-RAM wyraźnie przewyższa możliwości tradycyjnych modułów DRAM. Dzięki nowej technice szybkość transmisji danych pomiędzy pamięcią a procesorem zwiększa się o około 20 procent.
Pamięć CACHE
Szybka pamięć cache zwiększa wydajność komputera, prze-chowując często używane dane i udostępniając je znacznie szybciej od wolniejszej pamięci DRAM. Pamięć cache pierwszego poziomu (ang. First Level Cache) znajduje się bezpośrednio w procesorach 486 i Pentium. Zarządca cache’u (ang. Cache Manager) zapamię-tuje w nim rozkazu, które procesor będzie najprawdopodobniej potrzebował jako następne. Cache Manager jest tak pomyślany, aby CPU osiągał 90 % trafień. W ten sposób procesor podczas wy-konywania np. pętli nie musi sięgać do zewnętrznej pamięci (DRAM), ale może obrabiać dane bezpośrednio w procesorze. Wła-śnie dzięki temu 486 jest znacznie szybszy niż 386, a wersja DX posiada jeszcze zintegrowany koprocesor numeryczny. Kilka no-wych rozkazów i bitów sterowania nie odgrywa w praktyce większej roli. Zintegrowany wewnętrzny cache prowadzi do niemal dwu-krotnego zwiększenia szybkości procesora, ale nie całego systemu. Pamięć cache składa się dokładnie z dwóch części: kości Tag, ro-dzaju spisu treści (katalogu, w którym zawarta jest informacja o tym, co znajduje się aktualnie w pamięci cache, oraz pamięci z da-nymi. Jeżeli procesor potrzebuje danych, to najpierw sprawdza ko-ści Tag, czy potrzebne dane są składowane w cache’u. Jeżeli tak, to je odczytuje, a w przeciwnym wypadku (w drugim cyklu zegara) sięga do zewnętrznej pamięci (na płycie głównej). Ona także składa się ze statycznej pamięci RAM i ma rozmiar do 64–512 KB. Jeżeli tam również nie ma potrzebnych informacji, procesor musi sięgnąć do wolniejszej pamięci DRAM i stamtąd ściągnąć dane.
Video RAM (VRAM)
Czynnikiem przyczyniającym się między innymi do migota-nia ekranu jest to, że kości DRAM na tanich kartach graficznych nie pozwalają na równoczesny odczyt oraz zapis i wymagają ciągłe-go odświeżania. Trochę lepsze eliminują te ograniczenia stosując wysokowartościowe pamięci typu VRAM. Największą zaletą pamię-ci VRAM, jest równoczesny odczyt i zapis układów pamięci. Inaczej mówiąc, z pamięci na karcie graficznej mogą korzystać równocze-śnie dwa urządzenia. Jeżeli karta graficzna ma VRAM, to korzysta na tay budowanie obrazu: przetwornik cyfrowo-analogowy karty graficznej ściąga z pamięci informacje o budowie ekranu. W tym samym czasie koprocesor na karcie graficznej przenosi swoje dane: VRAM pozwala równocześnie czytać i pisać. Wielkość pamięci na karcie graficznej zależy od liczby kolorów i rozdzielczości ekranu. Karta VGA, która przedstawia 16 kolorów w rozdzielczości 640x480 potrzebuje 256 KB RAM-u. Dla tej samej liczby kolorów w rozdzielczości 1024x768 potrzeba już 512 KB RAM-u.
Pamięci typu ROM, EPROM i EEPROM
Obok licznych wariantów pamięci RAM, które do podtrzy-mywania zawartości wymagają mniej lub więcej prądu, istnieją także nie ulotne pamięci, które bez dopływu prądu nie tracą za-wartości i przechowują dane na stałe. Rozróżniamy 3 ich rodzaje: ROM, EPROM i EEPROM.
ROM
Pamięć ROM (ang. Read Only Memory – tylko do odczytu) zapisywana jest jednokrotnie, na ogół przez producenta, za pomo-cą specjalnego programatora. Układ nie pozwala później na jaką-kolwiek zmianę zawartości. Opisany typ programowania układów nazywany jest wypalaniem, ponieważ konkretne połączenia w układzie są na ogół niszczone (przepalają się poprzez wyładowanie jak nitka w bezpieczniku). Po wykonaniu takiego zabiegu układ osiąga konkretny stan. Obszary zastosowań obejmują te dziedziny, w których dane mają pozostać bez zmian, np. BIOS klawiatury w komputerze PC, system operacyjny w drukarce, stałe pamięci w telefonach, automatyczne sekretarki.
EPROM
Innym wariantem jest pamięć EPROM (ang. Erasable Pro-grammable ROM), która po około 20 – minutowym naświetlaniu promieniami UV traci wszystkie informacje i pozwala się zapisać. Rozpoznawalna jest przez małe kwadratowe okienko kwarcowe na układzie. W tej pamięci zazwyczaj zapisany jest BIOS. Wypalone w ten sposób układy mogą być kasowane i programowane na nowo. W ten sposób można zaktualizować BIOS w komputerze. Również wiele kart rozszerzających, np. graficznych, modemowych i kon-trolerów posiada BIOS w postaci pamięci EPROM. Kasowanie i programowanie EPROM-u jest jednak czasochłonne. Układ musi zostać wyjęty z podstawki i umieszczony w specjalnym urządzeniu programującym.
EEPROM
Łatwiejsze w użyciu są EEPROM-y (ang. Electricaly Erasa-ble Programmable ROM). Poprzez doprowadzenie prądu można ją kasować i programować na nowo, tzn. układy nie muszą być wy-ciągane z podstawek, ale mogą być kasowane i programowane bezpośrednio na karcie czy płycie głównej. Flash EEPROM-y obec-ne są na rynku od 1990 roku. Ich zaletą jest szybkie kasowanie (milisekundy). Starsze EEPROM-y wymagają kilku sekund. Flash EEPROM-y zdobywają coraz większe znaczenie na rynku kompute-rów przenośnych (notebooków) jako substytuty dysków twardych. Wiele komputerów z procesorem Pentium wyposażonych jest w BIOS-ROM właśnie w tej postaci. Użytkownik jest zatem w stanie zaktualizować swój BIOS za pomocą dyskietki dostarczonej od producenta poprzez oprogramowanie, które dokonuje zapisu no-wych danych do układu. Innym obszarem zastosowań są karty sieciowe, które muszą przechowywać swoje parametry niezależnie od dopływu prądu.
shamballa