Rysunek 4.65.
Architektura typowego systemu opartego na gnieździe Socket 478 (procesor Pentium 4)
Przy komunikowaniu się z mostkiem północnym lub układem AGP Graphics Tunnel procesor Athlon 64 (gniazda Socket 754/939/940) korzysta z bardzo szybkiej magistrali HyperTransport. W większości chipsetów dla procesora Athlon 64 stosowana jest 16-bitowa wersja magistrali o szybkości 800 MHz, ale już najnowsze chipsety zaprojektowane dla układów Athlon 64 FX-53 opartych na nowym gnieździe Socket 939 używają szybszej 16-bitowej magistrali o szybkości 1 GHz, obsługującej pamięć DDR-2.
Jednak najbardziej znaczącym odejściem od tradycyjnej architektury komputera, które pojawiło się w procesorze Athlon 64, jest umieszczenie w nim kontrolera pamięci. Zamiast w mostku północnym lub układzie MCH/GMCH, w przypadku architektury procesorów Athlon 64/FX i Opteron kontroler pamięci znalazł się w samych procesorach. Dzięki temu wyeliminowano spowolnienia spowodowane korzystaniem z zewnętrznego kontrolera pamięci i umożliwiono wzrost wydajności.
Jednak rozwiązanie to ma jedną wadę polegającą na tym, że nowe technologie pamięci, takie jak DDR-2, wymagają dokonania zmian w architekturze samego procesora.
Na rysunku 4.66 pokazano architekturę systemu z procesorem Athlon 64 FX-53, korzystającego z gniazd nowych magistral PCl-Express xl/xl6.
Ze względu na to, że zadaniem magistrali FSB jest jak najszybsze przesyłanie danych z i do procesora, zazwyczaj pracuje ona z większą częstotliwością niż pozostałe magistrale systemowe. Magistrala jest złożona z obwodów elektronicznych odpowiedzialnych za przesyłanie danych, adresowanie (magistrala adresowa zostanie omówiona w dalszej części rozdziału) i sterowanie. Od czasów oryginalnej wersji układu Pentium większość procesorów jest wyposażona w 64-bitową magistralę danych, która umożliwia przesłanie jednocześnie 64 bity (8 bajtów) danych.
Rysunek 4.66.
Architektura typowego systemu opartego na gnieździe Socket 939 (procesor Athlon 64 FX-53) i wyposażonego w gniazda PCI-Express
Magistrala procesora jest taktowana zegarem o częstotliwości równej zewnętrznej częstotliwości procesora. Może to być niezrozumiałe, ponieważ większość obecnie produkowanych procesorów pracuje z częstotliwością wewnętrzną, która jest znacznie wyższa od jego częstotliwości zewnętrznej. Przykładowo, procesor AMD Athlon 64 3800+ charakteryzuje się wewnętrzną częstotliwością wynoszącą 2,4 GHz, natomiast częstotliwość zewnętrzna wynosi tylko 400 MHz. W przypadku procesora Pentium 4 3,4 GHz jest to odpowiednio 3.4 GHz i 800 MHz. W nowszych komputerach rzeczywista szybkość procesora jest wielokrotnością częstotliwości (mnożniki x2, x2,5, x3 i wyższe) jego magistrali.
► ► Zajrzyj do punktu „Szybkość procesorów" znajdującego się na stronie 88.
Magistrala procesora komunikuje się z nim za pośrednictwem zewnętrznych końcówek i w ciągu każdego cyklu przez każdą ścieżkę danych jest w stanie przesłać 1 bit. Większość nowszych procesorów potrafi przesłać jednocześnie 64 bity (8 bajtów) danych.
Aby określić ilość przesyłanych danych przez magistralę FSB, należy pomnożyć jej szerokość (w przypadku procesorów Celeron/Pentium III/4 lub Athlon/Duron/Athlon XP/Athlon 64 są to 64 bity lub 8 bajtów) przez częstotliwość (odpowiada zewnętrznej częstotliwości procesora).
Jeśli przykładowo jesteś posiadaczem systemu wyposażonego w procesor Pentium 4 taktowany zegarem 3,6 GHz i magistralę FSB pracującą z częstotliwością 800 MHz, zmierzona wartość chwilowa maksymalnej jego przepustowości wynosi w przybliżeniu 6400 MB/s. Wartość ta wynika z poniższego wzoru:
800 MHz x 8 bajtów (64 bity) = 6400 MB/s
W przypadku wolniejszych wersji procesora Pentium 4 będzie to: 533,33 MHz x 8 bajtów (64 bity) = 4266 MB/s
lub:
400 MHz x 8 bajtów (64 bity) = 3200 MB/s W przypadku procesora Athlon XP (gniazdo Socket A) będzie to: 333,33 MHz x 8 bajtów (64 bity) = 2667 MB/s
lub:
266,66 MHz x 8 bajtów (64 bity) = 2133 MB/s
lub:
200 MHz x 8 bajtów (64 bity) = 1600 MB/s. W przypadku procesora Pentium 111 (gniazdo Socket 370) będzie to: 133,33 MHz x 8 bajtów (64 bity) = 1066 MB/s
lub:
100 MHz x 8 bajtów (64 bity) = 800 MB/s.
Zmierzona ilość przesyłanych danych jest często określana jako przepustowość (ang. bandwidth) magistrali procesora i określa maksymalną szybkość, z jaką dane mogą być przekazywane dalej. Aby uzyskać pełną listę przepustowości magistral różnych procesorów, należy zapoznać się z zawartością tabeli 4.72.
Magistrala pamięci
Zadaniem magistrali pamięci jest przesyłanie danych pomiędzy procesorem a pamięcią systemową (RAM). Magistrala jest połączona z układem North Bridge lub Memory Controller Hub chipsetu. W zależności od typu użytej pamięci operacyjnej musi być zastosowany współpracujący z nią chipset, a tym samym płyta główna, której układ North Bridge będzie kompatybilny z magistralą pamięci pracującą z różnymi częstotliwościami. Najbardziej optymalna konfiguracja zawiera magistralę pamięci i procesora o jednakowej szybkości. Przykładem systemu o takiej konfiguracji jest komputer wyposażony w pamięć PC133 SDRAM oferującą przepustowość 1066 MB/s, która odpowiada możliwościom magistrali procesora taktowanej zegarem 133 MHz. Kolejnym przykładem jest system oparty na procesorze Athlon współpracującym z magistralą taktowaną zegarem 266 MHz i pamięci PC2100 DDR-SDRAM osiągającej przepustowość 2133 MB/s, czyli dokładnie taką, jaką oferuje magistrala procesora. Ostatnim przykładem jest komputer wyposażony w procesor Pentium 4 oparty na magistrali pracującej z częstotliwością 400 MHz i dwukanałowej pamięci RDRAM, przy czym każdy z nich charakteryzuje się przepustowością 1600 MB/s, co w sumie (oba kanały działają równolegle) odpowiada przepustowości magistrali procesora wynoszącej 3200 Mb/s. Systemy z zainstalowanym procesorem Pentium 4 i magistralą FSB taktowaną zegarem 533 MHz umożliwiają zastosowanie modułów 2-kanałowej pamięci PC2100 lub PC2700 DDR oferującej przepustowość 4266 MB/s, równą przepustowości magistrali procesora lub przekraczającąją.
Zastosowanie pamięci operacyjnej pracującej z częstotliwością magistrali procesora eliminuje konieczność umieszczania na płycie głównej pamięci podręcznej. Z tego też powodu, po zintegrowaniu pamięci Cache L2 z procesorem żadna płyta główna nie była wyposażona w pamięć podręczną L3. Niektóre droższe modele procesorów, takich jak nowe układy Itanium, Itanium 2 i Pentium 4 Extreme Edition wyposażone są w zintegrowaną pamięć podręczną L3 o pojemności od 2 do 4 MB i pracującą z częstotliwością rdzenia. Z pewnością tego typu procesory będą wykorzystywane w masowo produkowanych komputerach PC.
Należy zauważyć, że magistrala pamięci operacyjnej zawsze ma taką samą szerokość jak magistrala procesora. Szerokość magistrali pamięci jest nierozerwalnie związana z pojęciem banku pamięci (wyjątkiem są moduły RDRAM). Banki pamięci i ich powiązanie z szerokością magistrali procesora zostały omówione w punkcie „Banki pamięci" znajdującego się w rozdziale 6.
Gniazda rozszerzeń
Magistrala urządzeń wejścia-wyjścia (I/O) lub gniazd rozszerzeń umożliwia komunikację zewnętrznych urządzeń z procesorem. Obecność w systemie magistrali i towarzyszących jej gniazd kart rozszerzeń jest konieczna ze względu na brak możliwości wyposażenia komputera we wszystkie dostępne na rynku urządzenia, które są wykorzystywane przez różnych użytkowników. Magistrala I/O umożliwia zainstalowanie w systemie urządzeń rozszerzających jego możliwości. Najbardziej podstawowe komponenty systemu, takie jak karty graficzne i dźwiękowe, mogą być do niego podłączone za pośrednictwem gniazd rozszerzeń. Za ich pomocą istnieje również możliwość instalacji bardziej specjalizowanych urządzeń takich jak karty sieciowe, kontrolery SCSI oraz innych.
W większości nowszych komputerów osobistych płyta główna jest zintegrowana z podstawowymi urządzeniami wejścia-wyjścia. Większość obecnie produkowanych systemów jest wyposażona przynajmniej w podwójny kontroler IDE (podstawowy i dodatkowy), cztery porty USB, kontroler stacji dyskietek, dwa porty szeregowe, port równoległy oraz kontroler klawiatury i myszy. Wszystkie wymienione komponenty znajdują się na płycie głównej. Zazwyczaj tego typu urządzenia są rozmieszczone pomiędzy układami South Bridge a Super 1/0 wchodzącymi w skład chipsetu płyty głównej. Omówienie układów Super l/O zostało zamieszczone we wcześniejszej części rozdziału.
W wielu przypadkach płyty główne posiadają kilka dodatkowych komponentów, takich jak zintegrowana karta dźwiękowa i graficzna, kontroler SCSI, karta sieciowa lub port IEEE 1394a. Różnica polega na tym, że tego typu urządzenia nie są wbudowane w chipset lub układ Super l/O, ale są umieszczone na płycie głównej w postaci układów scalonych. Niezależnie od sposobu montażu, wbudowane kontrolery i porty w dalszym ciągu do komunikacji z procesorem wykorzystują magistralę l/O. Podsumowując, można powiedzieć, że chociaż wymienione urządzenia są wbudowane w płytę główną, to jednak działają tak (łącznie z dostępem do zasobów systemowych), jakby były kartami zainstalowanymi w gniazdach rozszerzeń magistrali.
Rodzaje magistral l/O
Od czasu wprowadzenia na rynek pierwszego komputera PC opracowano wiele rodzajów magistral l/O. Wynikało to z oczywistego faktu — w celu uzyskania wyższej wydajności systemu konieczne jest stosowanie szybszych magistral I/O. Potrzeba zwiększania wydajności jest związana z trzema podstawowymi czynnikami:
szybszym procesorem,
rosnącymi wymaganiami aplikacji,
większymi wymaganiami multimediów.
Każdy z wymienionych wymaga zastosowania jak najszybszej magistrali I/O.
Jednym z głównych powodów niewielkiej szybkości obecnie stosowanych magistral I/O jest wymóg zachowania kompatybilności — odwiecznej „kotwicy", która wiąże przemysł komputerowy z przeszłością. Jednym z czynników, który zdecydował o sukcesie komputerów, osobistych była ich standaryzacja. To ona spowodowała, że tysiące niezależnych firm opracowało swoje karty I/O, z których każda była kompatybilna z oryginalną specyfikacją magistral zastosowanych w komputerach PC. Jeśli zaprojektowano nowy typ magistrali systemowej o dużej wydajności, wtedy przeważnie musiała ona być kompatybilna ze starszymi rozwiązaniami, co wynikało z konieczności zagwarantowania możliwości instalacji wcześniej wyprodukowanych kart. Z tego też powodu technologie związane z magistralami wydają się tylko rozwijać, a nie dokonywać „kwantowych przeskoków".
Różne rodzaje magistral I/O można rozpoznać na podstawie ich architektury. Najważniejsze typy magistrali I/O zostały szczegółowo omówione w dalszej części rozdziału.
Podstawowa różnica pomiędzy poszczególnymi magistralami wynika głównie z ilości jednocześnie przesyłanych danych, jak również z szybkości działania. W kolejnych punktach zostaną omówione różne rodzaje magistral spotykanych w komputerach PC.
Magistrala ISA
8-bitowa magistrala wykonana zgodnie z architekturą ISA (ang. Industry Standard Architecture) została zastosowana w 1981 r. w oryginalnym komputerze IBM PC. W 1984 r. w komputerze IBM PC/AT pojawiła się jej poszerzona, 16-bitowa wersja. ISA jest podstawową architekturą wykorzystywaną w nowoczesnych komputerach osobistych i w dalszym ciągu stanowi element składowy większości produkowanych systemów. Może się wydawać dziwnym, że dość już przestarzała architektura nadal jest stosowana w bardzo wydajnych komputerach, ale wynika to z jej zalet — stabilności, dostępności i kompatybilności. Ponadto ta archaiczna architektura często jest w dalszym ciągu szybsza niż podłączone do niej urządzenia!
Obecnie magistrala ISA w najnowszych systemach jest coraz rzadziej spotykana, a coraz mniej firm \\ opracowuje lub sprzedaje karty ISA. Choć magistrala ISA nadal stosowana jest w przemysłowych systemach (PICMG), należy oczekiwać, że ostatecznie również z nich zostanie wyeliminowana.
Jeśli za kryterium przyjmiemy ilość danych jednocześnie przesyłanych przez magistralę ISA, można wtedy wyróżnić jej dwie wersje — starszą, 8-bitową, i nowszą, 16-bitową. Oryginalna 8-bitowa magistrala ISA zastosowana w komputerach PC i XT była taktowana zegarem 4,77 MHz, natomiast wersja 16-bitowa użyta w systemie AT pracowała z częstotliwością 6 MHz, a później 8 MHz. W późniejszym okresie ustanowiono przemysłowy standard magistrali ISA (8/16-bitowej), w którym ustalono, że, ze względu na zachowanie kompatybilności wstecz, maksymalna jej częstotliwość może wynieść 8,33 MHz. W przypadku niektórych systemów istniała możliwość taktowania magistrali ISA zegarem o wyższej częstotliwości, ale wtedy nie wszystkie karty działały poprawnie. Przesyłanie danych przez magistralę ISA wymaga od dwóch do ośmiu cykli. Wynika z tego, że maksymalny teoretyczny transfer danych przesyłanych przez magistralę ISA wynosi około 8 MB/s, co określa poniższy wzór:
8.33 MHz x 2 bajty (16 bitów) x 0,5 cykla na jedną operację przesyłania danych = 8,33 MB/s
Przepustowość 8-bitowej magistrali ISA powinna osiągnąć 1/2 powyższej wartości (4,17 MB/s). Należy pamiętać, że podane przepustowości są teoretycznymi wartościami maksymalnymi. Ze względu na protokół magistrali l/O, przepustowość efektywna jest dużo niższa— zazwyczaj prawie o połowę. Nawet w takim przypadku magistrala ISA oferująca przepustowość wynoszącą około 8 MB/s nadal jest szybsza od wielu podłączonych do niej urządzeń takich jak porty szeregowe i równoległe, kontrolery stacji dyskietek, kontrolery klawiatury itp.
8-bitowa magistrala ISA
Architektura 8-bitowej magistrali została zastosowana w oryginalnym komputerze IBM PC, a następnie przez kilka lat była obecna w projektowanych systemach. Choć w obecnie dostępnych komputerach nie jest już spotykana, w tego typu architekturę wyposażonych jest setki tysięcy dotąd sprzedanych systemów PC z uwzględnieniem tych z procesorami 286 i 386.
Patrząc od strony konstrukcji, gniazdo rozszerzeń 8-bitowej magistrali ISA przypomina rozwiązanie spotykane w przemyśle drzewnym określane terminem „połączenia na pióro i wpust" służące do łączenia ze sobą dwóch elementów wykonanych z drewna. Tego typu połączenie otrzymało specyficzne określenie — złącza karta-krawędź (ang. card/edge connector). Karta wyposażona w 62 styki położone wzdłuż jej dolnej krawędzi jest instalowana w gnieździe płyty głównej dysponującym również 62 stykami. Patrząc od strony zastosowanej elektroniki, gniazdo jest wyposażone w 8 linii danych i 20 linii adresowych, które pozwalają na obsłużenie pamięci RAM o pojemności 1 MB.
Na rysunku 4.67 zawarto opis końcówek 8-bitowej magistrali ISA, natomiast na rysunku 4.68 pokazano ich rozmieszczenie w gnieździe rozszerzającym.
Chociaż budowa magistrali jest dość prosta, to jednak firma IBM czekała aż do 1987 r. na to, aby opublikować pełną specyfikację dotyczącą ustawień linii danych i adresów. Z tego też powodu, za czasów pierwszych systemów kompatybilnych z komputerem IBM PC producenci musieli się sporo natrudzić, aby określić, w jaki sposób wykonać karty instalowane w gniazdach magistrali. Ostatecznie z problemem się uporano, dzięki czemu systemy kompatybilne z IBM PC zostały powszechnie zaakceptowane jako standard przemysłowy. W efekcie producenci dysponowali większą ilością czasu i mieli motywację do projektowania kolejnych kart poprawnie współpracujących z magistralą.
Rozmiary kart kompatybilnych z 8-bitową magistralą ISA są następujące: wysokość — 106,68 mm, długość — 333,5 mm, szerokość — 12.7 mm.
Rysunek 4.67.
Końcówki 8-bitowej magistrali ISA
Po prawej
Rysunek 4.68.
Gniazdo 8-bitowej magistrali ISA
Po lewej
16-bitowa magistrala ISA
Firma IBM wraz z wprowadzeniem na rynek w 1984 r. komputera AT wyposażonego w procesor 286 wywołała spore zamieszanie w świecie komputerów PC. Procesor 286 dysponował 16-bitową magistralą danych, co oznaczało, że teraz komunikacja pomiędzy procesorem, płytą główną jak również pamięcią mogła się odbywać przez magistralę o szerokości 16 bitów zamiast ośmiobitowej. W przypadku gdy procesor 286 był też zainstalowany na płycie głównej wyposażonej tylko w 8-bitową magistralę I/O, to występował ogromny spadek wydajności dowolnej karty lub innego urządzenia współpracującego z magistralą.
W tamtym okresie firma IBM, zamiast opracowywać nową wersję magistrali I/O, stworzyła system, który był kompatybilny zarówno z 8-, jak i 16-bitowymi kartami. Ponadto pozostawiono dotychczas stosowane 8-bito-we gniazda i dodano opcjonalne 16-bitowe złącze rozszerzające. Po raz pierwszy 16-bitowa magistrala ISA pojawiła się w sierpniu 1984 r. w komputerze PC/AT, dlatego też jest ona określana jako magistrala AT(nng. AT-bus).
Złącze rozszerzające zastosowane w każdym 16-bitowym gnieździe rozszerzeń dysponuje 36 dodatkowymi końcówkami (w sumie 96 końcówek) służącymi do przenoszenia specjalnych sygnałów związanych z szerszą magistralą danych. Ponadto dokonano modyfikacji dwóch końcówek znajdujących się w 8-bitowej części złącza, jednak nie były one na tyle poważne, aby zmienić sposób działania kart 8-bitowych.
Na rysunku 4.69 zawarto opis końcówek gniazda pełnej 16-bitowej magistrali ISA, natomiast na rysunku 4.70 pokazano rozmieszczenie dodatkowych końcówek złącza rozszerzającego.
Ze względu na ograniczenia wynikające z zastosowania niektórych przestarzałych 8-bitowych kart, firma IBM była zmuszona do usunięcia z gniazd magistrali ISA systemu AT dwóch 16-bitowych złączy rozszerzających. Tego typu problem nie występował już w nowszych komputerach, dlatego też każdy system dysponujący gniazdami magistrali ISA powinien być wyposażony w ich wersję 16-bitową.
Rozmiary typowych kart rozszerzających AT są następujące: wysokość — 121,92 mm, długość — 333,5 mm, szerokość — 12,7 mm.
Rysunek 4.69.
Końcówki 16-bitowej magistrali ISA
Po prawej
Rysunek 4.70
Gniazdo 16 bitowej magistrali ISA
Po lewej
W przypadku kart powszechnie stosowanych w komputerach AT tak naprawdę można się spotkać z dwoma ich typami o różnej wysokości — 121,92 i 106,68 mm (wysokość kart starszego typu wykorzystywanych w komputerach PC-XT). Karty o mniejszej wysokości zaczęły być używane po wprowadzeniu przez firmę IBM systemu XT Model 286. Zastosowanie kart o wysokości 106,68 mm było spowodowane umieszczeniem płyty głównej AT w obudowie XT komputera Model 286. Większość producentów płyt głównych zmniejszała ich wysokość, wskutek czego firmy nadal zajmujące się wytwarzaniem kart współpracujących z magistralą ISA są zmuszone do opracowywania modeli nie wyższych niż 106,68 mm pozwalających na instalację w systemach wyposażonych w tego typu płyty.
Magistrale 32-bitowe
W momencie wprowadzenia do sprzedaży procesorów 32-bitowych nie istniały jeszcze standardy związane z magistralami 32-bitowymi. Zanim zaprezentowano specyfikacje magistrali MCA i EISA, niektóre firmy rozpoczęły projektowanie własnych 32-bitowych magistral, które oparte były na magistrali ISA. Na szczęście tego typu niestandardowych magistral było niewiele i pojawiały się w dużych odstępach czasowych.
Dodatkowa część poszerzonej magistrali zazwyczaj była wykorzystywana przez niestandardowe karty graficzne lub rozszerzające dostępną pamięć. Ponieważ tego typu rozwiązania ze względu na swoją niestandar-dowość nie są udostępniane, nie jest dostępna ich specyfikacja i schemat rozmieszczenia końcówek.
Magistrala Micro Channel
Wprowadzenie do sprzedaży procesorów 32-bitowych oznaczało, że magistrala ISA nie wykorzysta możliwości tkwiących w kolejnej generacji procesorów. Procesor 386DX był w stanie jednocześnie przesyłać 32 bity danych, ale magistrala ISA była ograniczona tylko do 16 bitów. Zamiast ponownie rozszerzać magistralę ISA, firma IBM postanowiła opracować projekt nowej magistrali. Rezultatem prac była magistrala MCA. Magistrala MCA (ang. Micro Channel Architecture) jest zupełnie inna niż magistrala ISA i od strony technicznej przewyższa ją pod każdym względem.
Firma IBM nie tylko dążyła do zastąpienia starszego standardu ISA, ale również chciała wymusić na innych producentach zakupienie licencji na określone elementy nowej technologii. Wiele firm nabyło licencję na korzystanie z technologii związanej z magistralą ISA, która także została opracowana przez firmę IBM, ale ze względu na jej zbyt mało agresywną politykę dotyczącą obowiązku zakupu licencji równie wiele firm posługiwało się nią, nie posiadając żadnej licencji. Problemy z udzielaniem licencji i kontrolą ich przestrzegania doprowadziły ostatecznie do opracowania konkurencyjnej magistrali EISA, która zmniejszyła szansę odniesienia sukcesu przez magistralę MCA.
Systemy wyposażone w magistralę MCA charakteryzowały się jeszcze większą prostotą. Oferowały funkcję Pług and Play, zanim opracowano oficjalnąjej specyfikację. Magistrala MCA nie wymagała zastosowania na płycie głównej lub na kartach żadnych zworek i przełączników. Zamiast nich posługiwano się specjalną dyskietką Reference dołączaną do określonego komputera oraz dyskietkami Options towarzyszącymi każdej karcie zainstalowanej w systemie. Po zamontowaniu karty przekopiowywano zawartość dyskietki Options na dyskietkę Reference, po czym nie była ona już potrzebna. Dyskietka Reference zawierała specjalną wersję BIOS-u i systemowy program narzędziowy wymagane przez komputer wyposażony w magistralę MCA. bez których nie była możliwa jego konfiguracja.
Magistrala EISA
Standard magistrali EISA (ang. Extended Industry Standard Architecture) został zaprezentowany we wrześniu 1988 r. Jego opracowanie było odpowiedzią na wprowadzenie na rynek przez firmę IBM magistrali MCA, a dokładniej mówiąc na sposób, w jaki IBM chciał udzielać na nią licencji. Inne firmy nie czuły się zobligowane do uiszczania opłat licencyjnych za prawo do korzystania z już przestarzałej technologii związanej z magistralą ISA i w efekcie zerwały kontakty z firmą IBM, opracowując własne wersje magistral.
Standard EISA w większej części został opracowany przez firmę Compaą i miał być pomocny w zajęciu miejsca firmy IBM jako twórcy nowych magistral przeznaczonych dla komputerów osobistych. Firma Compaą zdawała sobie sprawę z tego, że jeśli tylko ona będzie opracowywała projekt nowej magistrali, wtedy nikt nie zdecyduje się na jej wykorzystanie. Z tego też powodu rozpoczęła pracę nad nową magistralą wspólnie z innymi największymi producentami z branży komputerowej. Firma utworzyła komitet EISA, organizację typu non-profit, której rola polegała na nadzorowaniu procesu tworzenia magistrali EISA. Ostatecznie pojawiło się niewiele kart kompatybilnych z magistralą EISA. Te, które zostały wprowadzone do sprzedaży, były głównie kontrolerami macierzy dyskowych lub serwerowymi kartami sieciowymi.
Magistrala EISA jest właściwie 32-bitową wersją magistrali ISA. W przeciwieństwie do magistrali MCA opracowanej przez firmę IBM, w przypadku w pełni kompatybilnej wstecz 32-bitowej magistrali EISA nadal istniała możliwość instalacji starszej 8- lub 16-bitowej karty ISA w jej gnieździe. Magistrala EISA, podobnie jak magistrala MCA, umożliwia dokonanie automatycznej konfiguracji przy użyciu oprogramowania.
Magistrala EISA została wyposażona w 90 nowych linii (55 sygnałów + masa) i jednocześnie zachowano rozmiar złącza 16-bitowej magistrali ISA. Na pierwszy rzut oka 32-bitowa magistrala EISA wygląda jak 16-bitowa magistrala ISA. Jednak karta EISA posiada dwa rzędy styków. Pierwszy rząd jest identyczny jak w przypadku 16-bitowych kart ISA, natomiast drugi, węższy, jest dłuższy od złączy 16-bitowych. Wynika z tego, że karty ISA nadal mogą być instalowane w gniazdach magistrali EISA. Magistrala EISA była zbyt mało kompatybilna, aby zyskać większą popularność, podobnie jak jej następca, standard VL-Bus. W specyfikacji karty EISA określono następujące wymiary: wysokość — 127 mm, długość — 333,5 mm, szerokość — 12,7 mm.
Magistrala EISA taktowana zegarem 8,33 MHz jest w stanie jednocześnie przesłać maksymalnie 32 bity danych. Chociaż w przypadku większości operacji przesyłania danych wymagane są minimalnie dwa cykle, to jednak, jeśli karta potrafi pracować z wyższymi wartościami taktowania, możliwe jest wtedy zwiększenie częstotliwości zegara. Maksymalna przepustowość magistrali wynosząca 33 MB/s została obliczona przy użyciu poniższego wzoru:
8,33 MHz x 4 bajty (32 bity) = 33 MB/s
Na rysunku 4.71 przedstawiono opis końcówek magistrali EISA, natomiast na rysunku 4.72 pokazano ich rozmieszczenie. Należy zwrócić uwagę, w jaki sposób końcówki są poprzesuwane, dzięki czemu możliwa jest instalacja kart ISA w gnieździe magistrali EISA. Na rysunku 4.73 przedstawiono złącze karty kompatybilnej z gniazdem rozszerzającym magistrali EISA.
Rysunek 4.71.
Opis końcówek magistrali EISA
Rysunek 4.72.
Rozmieszczenie końcówek złącza
magistrali EISA
Po prawej
Rysunek 4.73.
Złącze magistrali EISA
po leewej
Magistrale lokalne
Omówione dotąd magistrale I/O (ISA, MCA, EISA) posiadają jedną wspólną cechę — stosunkowo niewielką szybkość. Następne trzy rodzaje magistral, którym poświęcono kilka kolejnych punktów, swoje działanie opierają na zasadzie magistrali lokalnej (ang. local bus). Poruszenie tego tematu w tym miejscu ma na celu nawiązanie do zagadnień związanych z szybkością magistral. W komputerach PC można się spotkać z trzema podstawowymi rodzajami magistral lokalnych:
VL-Bus (VESA local bus),
PCI,
♦ AGP.
Ograniczenie szybkości magistrali ISA, MCA i EISA jest pozostałością z czasów, gdy pojawił się oryginalny komputer PC. w którym magistrala I/O pracowała z częstotliwością magistrali procesora. Niestety, w miarę zwiększania się szybkości magistrali procesora, wydajność magistrali I/O wzrastała w minimalnym stopniu, głównie wskutek zwiększenia jej przepustowości. Magistrala I/O w dalszym ciągu musiała działać z niewielką częstotliwością ponieważ mnóstwo współpracujących z nią kart było przystosowanych do pracy tylko z mniejszymi szybkościami.
Na rysunku 4.74 przedstawiono schemat blokowy magistral stosowanych w komputerach PC.
Rysunek 4.74.
Schemat blokowy
magistral typowego
komputera PC
Świadomość, że komputer pracuje znacznie poniżej swoich możliwości, dla wielu użytkowników nie jest powodem do satysfakcji. Pomimo to, w większości przypadków niewielka szybkość magistrali I/O jest tylko drobną niedogodnością. W przypadku komunikacji komputera z klawiaturą lub myszą nie jest wymagana duża szybkość, ponieważ w żaden sposób nie przyczyni się do wzrostu wydajności. Rzeczywisty problem związany jest z podsystemami takimi jak karta graficzna lub kontroler dysku, w których duża szybkość jest pożądana.
Problem zbyt malej szybkości uwidocznił się w momencie rozpowszechnienia się systemów opartych na graficznym interfejsie użytkownika (system Windows). Tego typu systemy wymagają przetworzenia tak dużej ilości grafiki, że w efekcie magistrala I/O okazała się dosłownie „wąskim gardłem" dla całego systemu. Mówiąc inaczej, komputer wyposażony w procesor taktowany zegarem o częstotliwości z przedziału od 66 do 450 MHz lub nawet wyższej i współpracujący z magistralą I/O, która jest w stanie przesyłać dane tylko z częstotliwością 8 MHz nie przedstawia większej wartości.
Oczywiste rozwiązanie tego problemu, wzorowane na integracji zewnętrznej pamięci podręcznej z procesorem, polegało na przeniesieniu części gniazd urządzeń wejścia-wyjścia do obszaru, który może ze znacznie większą szybkością komunikować się z magistralą procesora. Na rysunku 4.75 zostało to zilustrowane graficznie.
Tego typu rozwiązanie zostało określone terminem magistrali lokalnej. Taka nazwa wzięła się stąd, że urządzenia zewnętrzne (karty) mogły teraz zostać podłączone do magistrali, która dla magistrali procesora była magistralą lokalną. Oczywiście konieczne było opracowanie nowych gniazd różniących się od już istniejących zewnętrznym wyglądem. Miało to na celu uniemożliwienie instalacji kart współpracujących z wolniejszymi magistralami w gniazdach pracujących w innej konfiguracji i z wyższą częstotliwością.
Godnym uwagi jest to, że pierwsze 8- i 16-bitowe magistrale ISA były oparte na architekturze magistral lokalnych. W tego typu systemach magistrala procesora pełniła rolę głównej magistrali, dzięki czemu wszystkie komponenty pracowały z częstotliwością procesora. W przypadku komputerów taktowanych zegarem przekraczającym 8 MHz, główna magistrala ISA musiała pracować z 1/2 częstotliwości magistrali procesora, ponieważ na nadążały podłączone do niej karty rozszerzeń, pamięć oraz inne urządzenia. W 1992 r. zaczęto stosować w komputerach PC ulepszoną wersję magistrali ISA — VL-Bus (VESA local bus), a tym samym powrócono do architektury magistrali lokalnej. Od tego czasu miejsce magistrali VL-Bus zajęła magistrala PCI (ang. Peripheral Component Interconnect), natomiast później pojawiła się magistrala AGP pełniąca rolę uzupełnienia standardu PCI.
Rysunek 4.75.
Idea działania magistrali lokalnej
System oparty na architekturze magistrali lokalnej wcale nie musi być wyposażony w odpowiednie gniazda rozszerzeń. Zamiast nich urządzenie współpracujące z magistralą lokalną może być bezpośrednio zintegrowane z płytą główną. W takim przypadku przedstawiony na rysunku 4.75 blok odpowiadający gniazdom magistrali 1/0 w rzeczywistości zostałby zastąpiony przez wbudowany układ l/O. W pierwszych systemach wyposażonych w magistralę lokalną zastosowano wariant zintegrowanych układów 1/0.
Architektura magistrali lokalnej nie miała zastąpić starszych standardów takich jak ISA. Magistrala lokalna w architekturze systemu pełni rolę magistrali położonej najbliżej procesora. Magistrale starszego typu, takie jak ISA, nie były połączone bezpośrednio z procesorem, ponieważ musiały zachować kompatybilność wstecz z wolniejszymi kartami, które nie wymagały szybkiego połączenia z systemem (np. modem). W związku z tym standardowy komputer PC może być wyposażony w gniazda magistrali AGP, PCI i ISA. Tym sposobem nadal istnieje możliwość instalacji w systemie kart starszego typu, a ponadto szybsze karty współpracujące z magistralą lokalną AGP lub PCI mogą w pełni wykorzystać swoje możliwości. Wraz z wyjściem z użycia magistrali ISA i przystosowaniem do interfejsu LPC urządzeń tradycyjnie korzystających z magistrali ISA w obecnie dostępnych płytach głównych w przypadku większości połączeń wcześniej opartych na magistrali ISA w zasadzie używane są inne magistrale lub wyspecjalizowane interfejsy.
Dzięki opracowaniu nowych kart graficznych współpracujących z szybszymi magistralami AGP i PCI oraz zastosowaniu ich w miejsce wolniejszych odpowiedników opartych na magistrali ISA uzyskano znaczny wzrost wydajności systemów operacyjnych wyposażonych w graficzny interfejs użytkownika, takich jak Windows i Linux (ze środowiskiem graficznym KDE lub GNOMĘ).
Magistrala VESA Local Bus
Magistrala VESA (ang. Video Electronics Standards Association ) Local Bus okazała się najpopularniejszym typem magistrali lokalnej stosowanym w okresie od sierpnia 1992 r., gdy miała swoją premierę, do 1994 r. Standard VL-Bus został opracowany przez komitet VESA, organizację non-profit założoną przez firmę NEC. Jej zadaniem było opracowywanie nowych standardów magistral i kart graficznych. Podobnie jak miało to miejsce w przypadku magistrali EISA, firma NEC dokonała większości prac nad standardem VL-Bus (który tak później został nazwany), a następnie, po utworzeniu organizacji VESA, przekazała jej nadzór nad dalszymi rozwojem projektu. Początkowo nowa magistrala lokalna była opracowywana z myślą o współpracy z kartami graficznymi. W tym okresie zwiększenie wydajności podsystemu graficznego dla firmy NEC było sprawą najważniejszą, mającą pomóc w osiągnięciu lepszych wyników sprzedaży wysokiej jakości monitorów i komputerów PC przez nią produkowanych. Około roku 1991 wydajność kart graficznych w większości systemów PC okazała się prawdziwym „wąskim gardłem".
Magistrala VL-Bus pozwala jednocześnie przesłać 32 bity danych, dzięki czemu możliwa jest komunikacja pomiędzy procesorem a kompatybilnym podsystemem graficznym lub dyskiem twardym odbywająca się przy wykorzystaniu pełnej 32-bitowej szyny danych procesora 486. Magistrala VL-Bus oferuje maksymalną przepustowość wynosząca 133 MB/s. Mówiąc inaczej, nowa magistrala jest wynikiem długiej drogi, jaką trzeba było przejść, aby wyeliminować poważniejsze „wąskie gardła" występujące w poprzednich typach magistral.
Niestety, magistrala VL-Bus nie okazała się rozwiązaniem, które na dłużej pozostanie w użyciu. Jej projekt byl wyjątkowo prosty. Polegał na przeniesieniu schematu końcówek procesora 486 do gniazda rozszerzeń magistrali. Wynika z tego, że magistrala VL-Bus tak naprawdę jest magistralą procesora 486. Dzięki temu, koszt jej wykonania był niewielki. Nie były wymagane żadne dodatkowe chipsety lub interfejsy. Producent płyt głównych klasy 486 mógł w prosty i tani sposób dodawać do nich gniazda magistrali VL-Bus. Tłumaczy to również, dlaczego w bardzo krótkim czasie gniazda nowej magistrali pojawiły się niemal na wszystkich płytach głównych opartych na procesorach 486.
Wraz z wprowadzeniem różnych kart wyposażonych w układy elektroniczne wykorzystujących kondensatory i w efekcie wprowadzające pojemności do obwodów zaczęły się pojawiać zakłócenia związane z ich taktowaniem. Ze względu na to, że magistrala VL-Bus pracowała z częstotliwością magistrali procesora, pojawienie się kolejnego szybszego procesora wiązało się z przyspieszeniem jego magistrali, co sprawiało, że utrzymanie pełnej kompatybilności obu magistral było zadaniem trudnym do wykonania. Chociaż magistrala VL-Bus mogła być przystosowana do współpracy z innymi procesorami, takimi jak 386 lub nawet Pentium, to jednak została zaprojektowana z myślą o układzie 486 i z nim działała najlepiej. Wkrótce po wprowadzeniu na rynek nowej magistrali PCI, pomimo niskiej ceny magistrala VL-Bus bardzo szybko popadła w niełaskę. Nigdy nie została zastosowana w systemach opartych na procesorze Pentium, natomiast jej dalszy rozwój był niewielki lub nawet żaden.
Gniazda magistrali VL-Bus stanowiły rozszerzenie gniazd starszych magistral dostępnych w już istniejących komputerach. Jeśli jesteś posiadaczem systemu dysponującego magistralą ISA, wtedy gniazda magistrali VL-Bus są rozszerzeniem 16-bitowych gniazd ISA znajdujących się na płycie głównej. Rozszerzone gniazdo nowej magistrali zawiera 112 styków i jest takiej samej wielkości jak gniazdo magistrali MCA.
Magistrala PCI
Na początku roku 1992 firma Intel wyszła z inicjatywą utworzenia kolejnej organizacji zrzeszającej przedstawicieli przemysłu komputerowego. Nowa organizacja miała podobne założenia jak komitet VESA, ale dotyczyły one magistrali PCI. Powstanie organizacji PCI-SIG (ang. PCI Special Interest Group) wynikało z potrzeby opracowania nowej magistrali, która będzie pozbawiona wad swoich poprzedników — ISA i EISA.
Odkąd w czerwcu 1992 r. pojawiła się specyfikacja standardu PCI w wersji 1.0, opracowano jej kilka aktualizacji. W tabeli 4.73 zestawiono różne wersje standardu PCI.
Tabela 4.73. Wersje specyfikacji standardu PCI
Wersja specyfikacji |
Data opracowania |
Większe zmiany |
PCI 1.0 |
Czerwiec 1992 |
Oryginalna specyfikacja 32/64-bitowej magistrali PCI. |
PCI 2.0 |
Kwiecień 1993 |
Określono parametry złącza i kart. |
PCI 2.1 |
Czerwiec 1995 |
Częstotliwość 66 MHz, kolejkowanie transakcji, zmiana czasu oczekiwania. |
PCI 2.2 |
Styczeń 1999 |
Zarządzanie energią, poprawki konstrukcyjne. |
PCI-X 1.0 |
Wrzesień 1999 |
Częstotliwość 133 MHz, uzupełnienie wersji 2.2. |
Mini-PCI |
Listopad 1999 |
Karty mniejszego formatu, uzupełnienie wersji 2.2. |
PCI 2.3 |
Marzec 2002 |
Zasilanie 3,3 V, karty o mniejszej wysokości (ang. Iow profile). |
PCI-X 2.0 |
Lipiec 2002 |
Częstotliwość pracy 266 i 533 MHz. Napięcie sygnałów 3,3 i 1,5 V. Dzieli 64-bitową magistralę danych na 16- lub 32-bitowe segmenty używane przez wiele urządzeń. |
PCI-Express 1.0 |
Lipiec 2002 |
2,5 GB/s w jedną stronę (na tor przypada 250 MB/s). Napięcie sygnałów 0,8 V. Opracowana z zamiarem ostatecznego zastąpienia w komputerach PC standardu PCI 2.x. |
Umieszczenie kolejnej magistrali PCI pomiędzy procesorem a magistralą I/O wpłynęło na zmianę standardowej architektury magistral systemowych komputera PC, która wynikała z zastosowania mostków. Zamiast podłączać nową magistralę, charakteryzującą się, podobnie jak magistrala VL-Bus, specyficznymi wartościami taktowania, bezpośrednio do magistrali procesora, został opracowany zestaw nowych kontrolerów rozszerzających możliwości magistrali PCI (rysunek 4.76).
Rysunek 4.76.
Schemat ideowy magistrali PCI
Magistrala PCI często jest określana mianem magistrali pośredniej (ang. mezzanine bus), ponieważ stanowi kolejną warstwę standardowej architektury magistral. Magistrala PCI pomija zwykłą magistralę I/O, natomiast w celu zwiększenia własnej częstotliwości pracy i pełnego wykorzystania możliwości magistrali danych procesora komunikuje się z magistralą systemową. Systemy wyposażone w magistralę PCI pojawiły się w połowie 1993 r. i od tego czasu stanowią jeden z filarów komputera osobistego.
Zazwyczaj magistrala PCI taktowana zegarem 33 MHz przesyła jednocześnie 32 bity danych. Oferuje przepustowość wynoszącą 133 MB/s, którą można obliczyć przy użyciu następującego wzoru:
33,33 MHz x 4 bajty (32 bity) = 133 MB/s
Chociaż 32-bitowa magistrala PCI jest standardem wykorzystywanym w większości komputerów PC. to jednak istnieje jego kilka odmian, które zebrano w tabeli 4.74.
Tabela 4.74. Typy magistra/ PCI
Typ magistrali PCI |
Szerokość magistrali (bity) |
Częstotliwość magistrali (MHz) |
Liczba cykli |
i Przepustowość (MB/s) |
PCI |
32 |
33 |
1 |
133 |
PCI 66 MHz |
32 |
66 |
1 |
266 |
PCI 64-bity |
64 |
33 |
1 |
266 |
PCI 66 MHz/64-bity |
64 |
66 |
1 |
533 |
PCI-X 64 |
64* |
66 |
1 |
533 |
PCI-X 133 |
64* |
133 |
1 |
1066 |
PCI-X 266 |
64* |
133 |
2 |
2132 |
PCI-X 533 |
64* |
133 |
4 |
4266 |
PCI-Express" |
1 |
2500 |
0,8 |
250 |
PCl-Express" |
16 |
2500 |
0,8 |
4000 |
PCI-Express" |
32 |
2500 |
0,8 |
8000 |
Szerokość magistrali PCI-X może być wykorzystywana jednocześnie przez wiele 16- lub 32-bitowych urządzeń. Magistrala PCI-Express korzysta z kodowania 8b/I0b, w przypadku którego na każde 10 wysianych bitów 8 jest przesyłanych. W zależności od liczby stosowanych torów magistrala może jednocześnie przesłać od 1 do 32 bitów.
Aktualnie 64-bitowa wersja magistrali PCI taktowana zegarem 66 lub 133 MHz jest stosowana tylko w serwerach lub bardziej zaawansowanych stacjach roboczych. Magistrala PCI charakteryzująca się zwiększoną wydajnością, może pracować z szybkością oferowaną przez magistralę procesora, ale nie oznacza to, że ją zastąpi. Obecność obu magistral pozwala przykładowo na to, aby procesor w czasie, gdy magistrala PCI jest zajęta przesyłaniem danych pomiędzy innymi komponentami systemu, mógł przetwarzać dane znajdujące się w zewnętrznej pamięci podręcznej. Jest to jedna z podstawowych zalet wynikających z zastosowania magistrali PCI.
Karta PCI wyposażona jest we własne unikalne złącze. Po zdjęciu obudowy komputera można je zidentyfikować po tym, że zazwyczaj względem innych gniazd spotykanych w starszych płytach głównych (ISA, MCA, EISA) jest przesunięte w bok. Przykładowa konfiguracja gniazd została przedstawiona na rysunku 4.77. Wymiary karty PCI mogą być takie same jak innych kart współpracujących z pozostałymi magistralami I/O.
Rysunek 4.77.
Standardowa konfiguracja gniazd 32-bitowej magistrali PCI (33 MHz) porównana z gniazdami AGP i ISA lub EISA
W specyfikacji standardu PCI określono trzy różne konfiguracje gniazd, z których każde zostało przewidziane do zastosowania w systemie dysponującym określonymi parametrami zasilania. W każdym wariancie uwzględniono zarówno wersję 32-bitową, jak i dłuższą— 64-bitową. Pierwszy wariant konfiguracji dotyczy gniazda zasilanego napięciem 5 V przeznaczonym dla komputerów stacjonarnych (standard PCI w wersji 2.2 lub starszej), drugi — gniazda zasilanego napięciem 3,3 V stosowanym w komputerach przenośnych (dotyczy też standardu PCI w wersji 2.3), natomiast trzeci ma charakter uniwersalny przystosowany do współpracy z systemami obu typów. Gniazda PCI w wersji 64-bitowej zasilanej napięciem 5 V oraz w wersji uniwersalnej spotykane są głównie na płytach głównych serwerów. Standard PCI-X 2.0 uwzględniający szybkości 266 i 533 MHz obsługuje napięcia 3,3 i 1,5 V. Odpowiada temu wersja 2.3 standardu PCI, obsługująca napięcie 3,3 V.
Na rysunku 4.78 porównano 32- i 64-bitową wersję gniazd magistrali PCI zasilanych napięciem 5 V z 64-bi-towym gniazdem zgodnym z wariantem uniwersalnym. Na rysunku 4.79 porównano złącze 64-bitowej uniwersalnej karty PCI z odpowiadającym mu gniazdem.
Należy zauważyć, że specyfikacja gniazda PCI w wersji uniwersalnej w skuteczny sposób łączy specyfikacje dotyczące wersji zasilanej napięciem 3,3 i 5 V. W przypadku końcówek, które są zasilane napięciem o innej wartości, w specyfikacji wersji uniwersalnej oznaczono je jako V I/O. Tego typu oznaczenie identyfikuje końcówkę, która charakteryzuje się odmiennymi wymaganiami związanymi z zasilaniem i służy do nadzorowania szyny sygnałowej PCI.
Kolejna znacząca korzyść wynikająca z zastosowania magistrali PCI jest związana z tym, że posłużyła za wzorzec przy opracowywaniu specyfikacji Intel PnP. W związku z tym, karty PCI są pozbawione zworek i przełączników, a ich konfiguracja jest wykonywana za pomocą oprogramowania. Prawdziwe systemy PnP potrafią dokonać automatycznej konfiguracji zainstalowanych kart. W przypadku komputerów pozbawionych funkcji PnP i wyposażonych w karty ISA, w celu ustawienia ich parametrów konieczne jest zastosowanie programu, który zazwyczaj stanowi część narzędzia konfiguracyjnego CMOS. Pod koniec roku 1995, większość systemów kompatybilnych z komputerem IBM PC była wyposażona w BIOS PnP pozwalający na automatyczną konfiguracją urządzeń PnP.
Rysunek 4.78.
Porównanie 32-(po lewej stronie) i 64-bitowego (w środku) gniazda magistrali PCI (33 MHz) z 64-bitowym gniazdem uniwersalnym taktowanym zegarem 66 MHz
Rysunek 4.79.
Porównanie 64-bitowego uniwersalnego złącza PCI (u góry) z 64-bitowym uniwersalnym gniazdem PCI
Magistrala PCI Express
W 2001 r. grupa firm działających pod nazwą Arapahoe Work Group (wśród których główną rolę odgrywała firma Intel) opracowała wstępną wersję specyfikacji bardzo szybkiej magistrali o nazwie kodowej 3G10 (ang. third-generation I/O). W sierpniu 2001 r. organizacja PCI-SIG (ang. PCI Special Interest Group) wyraziła zgodę na przejęcie, nadzorowanie i promowanie specyfikacji dotyczącej architektury 3GIO. która miała zastąpić standard PCI. W kwietniu 2002 r. ukończono wstępną wersję 1.0 specyfikacji 3GIO i zmieniono jej nazwę na PCI Express. Ostatecznie w lipcu 2002 r. zatwierdzona została wersja 1.0 specyfikacji standardu PCI-Express.
Pierwotna nazwa kodowa specyfikacji 3GIO nowej magistrali wynikała stąd, że początkowo miała ona być dodatkiem do już istniejących magistrali ISA/AT-Bus (pierwsza generacja) i PCI (druga generacja), a ostatecznie miałaby je zastąpić. W trakcie projektowania dwóch pierwszych generacji architektur magistral stosowanych w komputerach PC określono czas ich żywotności na okres od 10 do 15 lat. Po przejęciu przez organizację
PCI-SIG specyfikacji nowej magistrali PCI Express zostanie ona przygotowana do tego, aby stać się dominującą na rynku architekturą, która będzie w stanie spełnić wymagania związane z coraz większą przepustowością i pozostanie obecna w komputerach PC przez następne 10-15 lat.
Do podstawowych właściwości magistrali PCI Express należy zaliczyć:
kompatybilność z już istniejącymi wersjami standardu PCI oraz sterownikami urządzeń,
możliwość współpracy z różnymi fizycznymi nośnikami danych (miedzianymi, optycznymi) pozwalająca na implementacją przyszłych układów taktujących,
jak największa przepustowość (w przeliczeniu na jedną końcówkę) pozwalająca na zastosowanie mniejszych formatów, obniżenie kosztów, uproszczenie budowy kart i ścieżek sygnałowych oraz wyeliminowanie problemów związanych z obniżoną integralnością sygnału,
wbudowany układ taktujący, który pozwala na prostszą w porównaniu z taktowaniem synchronicznym modyfikację częstotliwości (szybkości),
uproszczone zwiększanie przepustowości (pasma) wraz ze wzrostem częstotliwości i szerokości szyny,
zmniejszone opóźnienie mające szczególne znaczenie w przypadku aplikacji przesyłających obraz wideo w trybie strumieniowym wymagających izochronicznego przesyłania danych,
funkcje hot-plug i hot-swap,
funkcje zarządzania energią.
Magistrala PCI Express jest kolejnym przykładem przejścia z interfejsów równoległych na szeregowe. W przypadku starszych architektur magistral stosowanych w komputerach PC opierano się na interfejsie równoległym, który charakteryzuje się tym, że wiele bitów jest jednocześnie przesyłanych przez kilka równoległych linii. Im więcej jednocześnie przesłanych bitów, tym większa przepustowość magistrali. Taktowanie wszystkich zrównoleglonych sygnałów musi być identyczne, co w przypadku coraz szybszych i dłuższych połączeń staje się coraz trudniejsze do wykonania. Chociaż magistrale takie jak PCI i AGP są w stanie przesłać jednocześnie 32 bity danych, to jednak opóźnienia związane z propagacją oraz inne problemy powodują, że do punktu docelowego dane docierają z niewielkim poślizgiem, który objawia się w postaci różnicy w czasie przesłania pierwszego i ostatniego bitu z grupy 32 bitów.
Magistrala oparta na interfejsie szeregowym jest o wiele prostsza. Jej działanie polega na jednoczesnym przesłaniu za pomocą jednej linii 1 bitu. Operacja jest wykonywana ze znacznie większą szybkością, która jest niemożliwa do osiągnięcia w przypadku interfejsu równoległego. Dzięki szeregowemu przesyłaniu bitów, taktowanie kolejnych wartości lub długość magistrali nie mają już takiego znaczenia. Poprzez połączenie wielu linii szeregowych możliwe jest uzyskanie przepustowości, która w znaczący sposób przerasta możliwości typowych magistral równoległych.
PCI Express jest bardzo szybką magistralą szeregową, która dodatkowo jest kompatybilna wstecz ze sterownikami aktualnie stosowanej magistrali równoległej PCI. W przypadku magistrali PCI Express dane są przesyłane w trybie pełnego dupleksu (dane przesyłane jednocześnie jednokierunkowymi liniami) dwuparowymi kablami (zasilanymi różnymi napięciami) określanymi mianem torów. Tor oferuje początkową przepustowość 250 MB/s w każdym kierunku. Istnieje możliwość łączenia ze sobą kilku torów w grupy liczące 2, 4, 8, 16 lub 32. Przykładowo, konfiguracja o dużej wydajności licząca 8 torów umożliwia jednoczesne przesłanie w obu kierunkach danych odpowiadających maksymalnej przepustowości 2000 MB/s (w jedną stronę). Aby uzyskać taką przepustowość, wystarczy zaledwie 40 końcówek (32 dla danych i 8 sterujących). W przyszłości możliwe będzie osiągnięcie przepustowości rzędu 8000 Mb/s w jednym kierunku, nadal przy wykorzystaniu 40 końcówek. Dla porównania, magistrala PCI pozwala osiągnąć przepustowość 133 MB/s (dane są jednocześnie przesyłane tylko w jednym kierunku) i w tym celu korzysta z ponad 100 końcówek sygnałowych. Karty kompatybilne ze standardem PCI Express będą wyposażone w mniejsze złącze, które pozwoli na ich instalację w gniazdach umieszczonych prawdopodobnie na płycie głównej obok gniazd magistrali PCI. Na rysunku 4.80 porównano złącza magistrali PCI-Express xl - xl6. Z kolei, korzystając z rysunku 4.78, można porównać gniazda PCI-Express z typowymi gniazdami PCI spotykanymi na płytach głównych. Warto zauważyć, że gniazda PCI-Express x4 i x8 widoczne na rysunku 4.80 stosowane są przede wszystkim w serwerach.
Rysunek 4.80.
Gniazda PCl-Express xl /4/8/16
Magistrala PCI Express wykorzystuje opracowany przez firmę IBM schemat kodowania 8-bitów na 10-bitów. Umożliwia on przesyłanie sygnałów, które same określają taktowanie, dzięki czemu w przyszłości znacznie łatwiejsze będzie zwiększanie częstotliwości magistrali PCI Express. Początkowa wartość częstotliwości została ustalona na 2,5 GHz, ale w specyfikacji przewidziano jej zwiększenie w przyszłości do maksymalnie 10 GHz, co jest bliskie ograniczeniom technologii opartej na połączeniach wykonanych z miedzi. Wskutek połączenia możliwości zwiększania częstotliwości z użyciem maksymalnie 32 torów, magistrala PCI Express będzie w stanie osiągać w przyszłości przepustowość rzędu 32 GB/s.
Magistrala PCI Express jest projektowana jako uzupełnienie i ostatecznie następca aktualnie wykorzystywanych magistral stosowanych w komputerach PC. Jej użycie nie ograniczy się tylko do roli dodatku do magistrali PCI (i ostatecznie jej następcy), ale również może zastąpić obecnie wykorzystywaną architekturę koncentratora firmy Intel, technologię HyperTransport lub podobne interfejsy łączące elementy składowe chipsetu płyty głównej. Ponadto magistrala PCI Express zastąpi interfejsy graficzne takie jak AGP i będzie pełnić funkcję magistrali współpracującej z innymi interfejsami takimi jak Serial ATA, USB 2.0, 1394b (FireWire lub iLink) oraz Gigabit Ethernet.
Ze względu na to, że urządzenia kompatybilne z magistralą PCI Express mogą być zintegrowane z płytą główną lub zainstalowane w gnieździe, mogą też pełnić rolę dołączanych „klocków" tworzących system i oferujących dodatkowe zasoby mocy obliczeniowej. Spróbujmy sobie wyobrazić płytę główną, procesor i pamięć RAM umieszczone w małym pudełku schowanym pod stołem oraz drugie podobne pudełko, leżące w zasięgu ręki i zawierające kartę graficzną, dyski, porty I/O. Tego typu rozwiązanie pozwoli w przyszłości opracowywać komputery PC o różnym przeznaczeniu, a jednocześnie nie wpłynie to na spadek ich wydajności.
Na pewno magistrala PCI Express z dnia na dzień nie zastąpi magistrali PCI oraz innych interfejsów. Producenci komputerów przez następnych kilka lat będą wyposażali je w magistralę PCI, AGP oraz inne architektury magistral. Podobnie jak to miało wcześniej miejsce w przypadku magistrali PCI i ISA/AT-Bus, prawdopodobnie jeszcze przez długi okres czasu tworzone systemy będą wyposażone zarówno w magistralę PCI Express, jak i PCI. Nie ulega wątpliwości, że z upływem czasu będzie coraz więcej gniazd magistrali PCI Express. a coraz mniej gniazd PCI. W pewnym momencie magistrala PCI Express ostatecznie stanie się preferowanym typem magistrali l/O ogólnego przeznaczenia, natomiast magistrala PCI zostanie wyparta. Spodziewam się, że przejście ze standardu PCI na PCI Express będzie miało podobny przebieg, jak w przypadku przejścia w latach 90. z magistrali ISA/AT-Bus na magistralę PCI.
Choć minie trochę czasu, zanim magistrala PCI-Express zastąpi PCI, wiele bardzo wydajnych komputerów sprzedawanych w drugiej połowie 2004 r. i później nie będzie dysponowało już gniazdami karty graficznej AGP x8. Zamiast nich będą znajdowały się w nich gniazda PCI-Express xl6 (16 torów). Choć niektóre komputery będą wyposażone zarówno w gniazda PCI-Express xl6, jak i AGP x8, to magistrala AGP jest prawdopodobnie pierwszą, która zostanie zastąpiona przez PCI-Express.
Pierwsze stacjonarne komputery PC wykorzystujące magistralę PCI Express zaczęły pojawiać się w sprzedaży w drugiej połowie 2004 r. Zawierają one gniazda PCI i PCI-Express. Oczekuje się, że z końcem 2004 r. standard PCI Express powinien się pojawić w komputerach przenośnych oraz w tańszych serwerach i stacjach roboczych. W bardziej zaawansowanych serwerach i stacjach roboczych magistrala PCI Express powinna być obecna pod koniec 2005 r. Oczywiście są to tylko przewidywania, dlatego też zależnie od dynamiki rozwoju przemysłu komputerowego mogą one ulec zmianie. Opracowywane są specyfikacje PCI-Express Bridge 1.0 i Mini PCI-Express Card, które mają być pomocne w przystosowaniu produktów opartych na standardzie PCI-Express do istniejącej technologii PCI. Specyfikacje mogą przyczynić się do skrócenia czasu potrzebnego na spopularyzowanie urządzeń PCI-Express.
W celu uzyskania dodatkowych informacji na temat technologii PCI-Express namawiam do zaglądnięcia na stronę internetową organizacji PCI-SIG (http://www.pcisig.org).
Magistrala AGP (Accelerated Graphics Port)
Firma Intel opracowała magistralę AGP jako rozwiązanie przeznaczone do współpracy z bardzo szybkimi kartami graficznymi. Magistrala AGP wzorowana jest na magistrali PCI, ale zawiera kilka dodatków i ulepszeń. Ponadto, pod względem budowy, zastosowanej elektroniki i logicznej architektury jest zupełnie niezależna od magistrali PCI. Gniazdo AGP jest podobne do gniazda PCI, ale jest również wyposażone w dodatkowe końcówki. Poza tym gniazdo AGP inaczej jest usytuowane na płycie głównej. W przeciwieństwie do magistrali PCI, która zawiera kilka gniazd, magistrala AGP dysponuje tylko jednym bardzo wydajnym gniazdem umożliwiającym instalację wyłącznie karty graficznej. Ograniczenie to wynika z faktu, że w systemie może być zainstalowana tylko jedna taka karta. W lipcu 1996 r. firma Intel opracowała pierwszą wersję specyfikacji AGP 1.0, w której określiła magistralę pracującą z częstotliwością 66 MHz i dysponującą trybem x 1 i x2. Magistrala AGP była zasilana napięciem 3,3 V. W maju 1998 r. pojawiła się wersja 2.0, w której dodano możliwość pracy magistrali w trybie x4 zasilanej napięciem 1,5 V.
Najnowszą wersją specyfikacji standardu AGP przeznaczonego dla komputerów PC jest AGP x8 (AGP 3.0). AGP x8 definiuje przepustowość 2133 MB/s, czyli dwukrotnie większą niż AGP x4. Specyfikacja AGP x8 po raz pierwszy została opublikowana w listopadzie 2000 r. Obecnie specyfikacja AGP x8 jest powszechnie obsługiwana przez chipsety płyt głównych i chipsety graficzne najważniejszych producentów. Choć maksymalna szybkość AGP x8 jest dwukrotnie większa od szybkości AGP x4, w praktyce różnice między urządzeniami zgodnymi z obydwoma standardami są minimalne. Jednak wiele chipsetów 3D obsługujących AGP x8 w celu lepszego wykorzystania szybszego interfejsu dysponuje też nowszą pamięcią i szybszym rdzeniem przetwarzającym grafikę 3D.
Większość nowych kart graficznych AGP zgodna jest ze specyfikacją AGP x4 lub AGP x8, z których każda korzysta z napięcia 1,5 V. Większość starszych płyt głównych z gniazdami AGP x2 obsługuje karty zasilane tylko napięciem 3,3 V. Jeśli w gnieździe zasilanym napięciem 3,3 V zostanie umieszczona karta 1,5 V, może dojść do uszkodzenia zarówno karty, jak i płyty głównej. Aby zapobiec takiemu nieszczęściu, w specyfikacjach AGP uwzględniono stosowanie specjalnych wycięć. Zwykle gniazda i karty posiadają takie wycięcia, że karty 1,5 V można zainstalować tylko w gniazdach zasilanych takim samym napięciem, a karty 3,3 V wyłącznie w gniazdach 3,3 V. Jednak dostępne są też uniwersalne gniazda, obsługujące karty zasilanie napięciem 1,5 lub 3,3 V. Umiejscowienie wycięć w kartach i gniazdach AGP określone jest przez standard AGP (rysunek 4.81).
Rysunek 4.81.
Karta.4GP x4/x8( 1.5 V)
oraz gniazda AGP (3,3 V, uniwersalne i 1,5 V)
Jak widać na powyższym rysunku, karty AGP x4/x8 (1,5 V) pasują tylko do gniazda 1,5 V lub uniwersalnego (1,5/3,3 V). Na skutek konstrukcji złącza i lokalizacji wycięć karty 1,5 V nie można jej umieścić w gnieździe zasilanym napięciem 3,3 V. A zatem, jeśli nowa karta AGP nie pasuje do gniazda AGP płyty głównej, możesz uznać to za objaw pozytywny, ponieważ w przeciwnym razie zakończyłoby się to uszkodzeniem karty, a możliwe, że również płyty! W takiej sytuacji konieczne będzie zwrócenie karty AGP x4/x8 lub nabycie nowej płyty głównej obsługującej karty zasilane napięciem 1,5 V.
Niektóre płyty główne kompatybilne ze standardem AGP x4 wymagają stosowania jedynie kart AGP kompatybilnych z trybem x4 i zasilanych napięciem 1,5 V. Aby uniknąć problemów, upewnij się, ze kupowana płyta główna i karta AGP są ze sobą kompatybilne. Niektóre gniazda magistrali AGP x4/x8 są wyposażone w mechanizm podtrzymujący pokazany na rysunku 4.81. Należy zauważyć, że w przeciwieństwie do gniazd pracujących w trybie x4, gniazda AGP xl/x2 posiadają widoczny element, który dzieli je na dwie części. Gniazda AGP x4 mogą też współpracować z kartami AGP x8 i odwrotnie.
W sierpniu 1998 r. została opracowana nowsza wersja specyfikacji AGP Pro 1.0. a następnie dokonano jej modyfikacji i w kwietniu 1999 r. pojawiła się wersja 1.1 a. Nowa wersja specyfikacji definiuje trochę dłuższe gniazdo poszerzone o dodatkowe końcówki zasilające umieszczone po obu jej końcach. Ich zadanie polegało na obsłudze większych i szybszych kart AGP zużywających od ponad 25 do maksymalnie 110 W energii. Karty AGP Pro najprawdopodobniej będą wykorzystywane w zaawansowanych stacjach graficznych i raczej nie będą stosowane w typowych komputerach PC. Niezależnie od tego, gniazda AGP Pro są kompatybilne wstecz, co oznacza, że umożliwiają instalację standardowych kart AGP. W związku z tym kilku producentów płyt głównych wyposaża swoje najnowsze modele zamiast gniazd AGP x4 w gniazda AGP Pro. Ze względu na to. że gniazda AGP Pro są dłuższe, instalowane w nich karty AGP xl/x2 mogą być nieprawidłowo zamontowane, co w efekcie może doprowadzić do ich uszkodzenia. Z tego też powodu niektórzy producenci płyt głównych umieszczają z tylnej strony gniazda AGP Pro osłonę, która powinna być zdejmowana tylko wtedy, gdy zaistnieje potrzeba instalacji karty AGP Pro.
Na rysunku 4.82 porównano ze sobą standardy AGP x l/x2, AGP x4 i AGP Pro.
Rysunek 4.82. Porównanie gniazd zgodnych ze standardem AGP xl/x2, AGP x4 i AGP Pro. Gniazda AGP x4 i AGP Pro pozwalają na instalacją kart AGP xl, x2 i x4, a także x8
AGP jest bardzo szybką magistralą pracującą z częstotliwością 66 MHz (dokładnie 66,66 MHz). czyli dwukrotnie wyższą niż w przypadku magistrali PCI. Magistrala AGP oferująca tryb podstawowy xl w ciągu jednego cyklu wykonuje pojedynczą operację przesłania danych. Szerokość magistrali AGP wynosząca 32-bity (4 bajty) i częstotliwość 66 MHz (66 miliony razy na sekundę) pozwala na przesyłanie danych przy przepustowości około 266 MB/s! W oryginalnej wersji specyfikacji standardu AGP określono również tryb x2, który charakteryzuje się tym. że w każdym cyklu są wykonywane dwie operacje przesłania danych, co odpowiada przepustowości 533 MB/s. Jeśli posłużymy się analogią, w której każdy cykl odpowiada ruchowi wahadła w obie strony, wtedy tryb xl można powiązać z przesłaniem danych, które następuje na początku każdego wychylenia. W przypadku trybu x2 dodatkowo dane będą przesyłane za każdym razem, gdy wahadło wykona pół wychylenia. Oznacza to podwojenie wydajności przy zachowaniu takiej samej częstotliwości zegara lub w podanej analogii ilości wychyleń w ciągu sekundy. Początkowo większość pierwszych kart AGP pracowała tylko w trybie xl, ale dość szybko wiele firm rozpoczęło produkcję kart kompatybilnych z trybem x2. W nowszej specyfikacji AGP 2.0 dodano możliwość pracy w trybie x4, który pozwala na przesyłanie danych cztery razy w ciągu cyklu, co odpowiada przepustowości 1066 MB/s. Większość nowszych kart AGP obsługuje tryb x4, który jest traktowany jako absolutne minimum. Najnowsze chipsety graficzne firm NVIDIA i ATI obsługują standard AGP x8. W tabeli 4.75 pokazano różnice częstotliwości i przepustowości różnych trybów pracy magistrali AGP.
Tabela 4.75. Porównanie częstotliwości i przepustowości trybów pracy magistrali AGP
Typ magistrali AGP |
Szerokość magistrali (bity) |
Częstotliwość magistrali (MHz) |
Ilość operacji w ciągu cyklu |
Przepustowość (MB/s) |
AGP |
32 |
66 |
1 |
266 |
AGP x2 |
32 |
66 |
2 |
533 |
AGP x4 |
32 |
66 |
4 |
1066 |
AGP x8 |
32 |
66 |
8 |
2133 |
Ponieważ magistrala AGP działa niezależnie od magistrali PCI. dzięki zastosowaniu karty graficznej AGP magistrala PCI jest odciążona i efektywniej obsługuje inne urządzenia wejścia-wyjścia, takie jak kontrolery IDE/ATA lub SCSI, kontrolery USB, karty dźwiękowe itp.
Poza wyższą wydajnością kart graficznych, jednym z podstawowych powodów, dla których firma Intel opracowała standard AGP, było utworzenie bezpośredniego szybkiego połączenia karty graficznej z pamięcią RAM, które umożliwiłoby uzyskanie wystarczająco szybkiego i wydajnego podsystemu graficznego charakteryzującego się niższymi kosztami integracji. Magistrala AGP pozwala karcie graficznej na uzyskanie bezpośredniego dostępu do pamięci operacyjnej. Dzięki temu możliwe jest umieszczenie tańszych układów graficznych bezpośrednio na płycie głównej bez konieczności wyposażania ich w dodatkową pamięć RAM lub pozwolenie karcie AGP na korzystanie z podstawowej pamięci operacyjnej. Jednak w ostatnich latach pojawiło się niewiele kart AGP korzystających z pamięci głównej. Zamiast niej używana jest własna pamięć kart o dużej szybkości (niektóre nowsze modele kart posiadająjej aż 256 MB). Umieszczenie wydzielonej pamięci bezpośrednio na karcie graficznej jest szczególnie istotne w przypadku korzystania z aplikacji przetwarzających grafikę 3D i wymagających dużej wydajności. Magistrala AGP dysponuje szybkością, która pozwala współpracującej z nią karcie graficznej spełnić wymagania stawiane przez aplikacje wykonujące rendering obiektów trójwymiarowych oraz służące do odtwarzania filmów.
Choć karta AGP x8 (2133 MB/s) jest 16 razy szybsza od 32-bitowej karty PCI 33 MHz (133 MB/s). w porównaniu z kartą PCI-Express xl6 (4000 MB/s) jest już od niej mniej więcej o połowę wolniejsza. W połowie 2004 r. producenci płyt głównych i komputerów zaczęli wyposażać bardzo wydajne modele z procesorami Pentium 4 i Athlon 64 w gniazdo PCI-Express xI6 zamiast w gniazdo AGP x8. Prawdopodobnie w 2005 r. i kolejnych latach tendencja taka umocni się i ostatecznie doprowadzi do końca standardu AGP.
Jeśli zamierzasz nabyć płytę główną z gniazdem PCI-Express xl6, ale jednocześnie nie chcesz rezygnować z karty graficznej AGP, powinieneś poszukać płyt wyposażonych w gniazda AGP x8 i PCI-Express xl6. Dostępne są modele obsługujące zarówno procesory Pentium 4, jak i Athlon 64.
Zasoby systemowe
Do zasobów systemowych należy zaliczyć kanały komunikacyjne, adresy i innego typu sygnały generowane przez urządzenia podłączone do magistrali. Do niskopoziomowych zasobów systemowych należy zaliczyć:
adresy pamięci,
kanały IRQ (ang. inlerrupl reąuest channel),
kanały DMA (ang. direct meinory access),
adresy portów I/O (wejścia-wyjścia).
Powyższe pozycje zostały wymienione w przybliżonej kolejności, w jakiej mogą występować problemy z nimi związane. Konflikty adresów pamięci prawdopodobnie są najbardziej uciążliwe i z pewnością najtrudniejsze do usunięcia i wyjaśnienia. Problemy wynikające z konfliktu adresów pamięci oraz inne związane z pozostałymi pozycjami powyższej listy zostały omówione w rozdziale 6. w kolejności ich przypuszczalnego wystąpienia.
Błędy związane z kanałami IRQ są znacznie częstsze od tych wywołanych kanałami DMA. Bierze się to stąd, że są częściej stosowane. Prawie każda karta korzysta z kanałów 1RQ. Mniejsza ilość problemów związanych z kanałami DMA wynika z rzadszego ich wykorzystania przez instalowane karty. Kanały DMA używane są jedynie przez przestarzałe urządzenia ISA. Zazwyczaj ilość dostępnych kanałów DMA przekracza rzeczywiste zapotrzebowanie. Porty I/O są wykorzystywane przez wszystkie urządzenia podłączone do magistrali, ale ze względu na ich ilość wynoszącą 65 535 prawdopodobnie nigdy ich nie zabraknie. W przypadku większości wymienionych zasobów systemowych w momencie instalacji karty należy sprawdzić, czy zostały jej przydzielone niewykorzystywane wartości. W większości sytuacji zasoby systemowe nie powinny być współdzielone przez kilka urządzeń.
Zasoby systemowe są wymagane i wykorzystywane przez wiele komponentów komputera. Aby karta mogła komunikować się z resztą systemu i realizować określone zadania, musi korzystać z przydzielonych zasobów. Nie wszystkie karty mają jednakowe wymagania. Przykładowo, komunikacyjne porty szeregowe wymagają przydzielenia kanału IRQ i adresu portu I/O, natomiast karta dźwiękowa do poprawnego działania potrzebuje dodatkowo przynajmniej jednego kanału DMA. Większość kart sieciowych wymaga udostępnienia kanału 1RQ i adresu portu I/O, a niektóre z nich również bloku adresów pamięci o pojemności 16 kB.
Wraz ze wzrostem stopnia złożoności systemu zwiększają się również szanse wystąpienia konfliktu przydzielonych zasobów. Nowsze komputery wyposażone w kilka dodatkowych urządzeń mogą na tyle skomplikować przydzielanie procesów, że w efekcie dla początkujących użytkowników konfiguracja urządzeń może się okazać koszmarem. Czasami w tego typu systemach automatyczna konfiguracja oferowana przez funkcję Pług and Play może sobie nie poradzić lub nawet zupełnie zawieść i nie dokonać optymalnej konfiguracji zasobów, tak aby wszystko funkcjonowało bez zarzutu. Większość kart umożliwia przy użyciu własnego programu wyposażonego w funkcję PnP lub za pośrednictwem narzędzia Menadżer urządzeń systemu Windows 9x i nowszych dokonanie ręcznego przydzielenia zasobów. Wynika z tego, że czasami lepsze efekty może przynieść zmiana domyślnej konfiguracji. Nawet jeśli nie sprawdzi się automatyczna konfiguracja (co zdarza się dość często), wtedy na szczęście we wszystkich tego typu przypadkach pozostaje jedyna rozsądna metoda konfiguracji systemu — zgodna z obowiązującymi regułami.
Przerwania
Kanały IRQ (ang. interrupt reąuest channel) lub, inaczej mówiąc, przerwania sprzętowe wykorzystywane są przez wiele różnych urządzeń do poinformowania płyty głównej, że konieczne jest wykonanie żądania. Procedura ta jest analogiczna do sytuacji, w której dla zwrócenia na siebie uwagi student podnosi do góry rękę.
Kanałom IRQ odpowiadają ścieżki znajdujące się na płycie głównej i w gniazdach rozszerzeń. Po wywołaniu określonego przerwania specjalny mechanizm przejmuje kontrolę nad systemem, który najpierw zapisuje na stosie zawartość wszystkich rejestrów procesora, a następnie powoduje, że system sprawdza wektorową tablicę przerwań. Tabela zawiera listę adresów pamięci, które odpowiadają kanałom przerwań. Zależnie od typu wywołanego przerwania jest uruchamiany program z nim powiązany.
Wskaźniki wektorowej tabeli przerwań wskazują na adres określonego sterownika współpracującego z kartą, która wygenerowała przerwanie. Przykładowo, w przypadku karty sieciowej wektor może wskazywać na adres sterowników, które zostały załadowane do pamięci i ją obsługują. W przypadku kontrolera dysków wektor może z kolei wskazywać na kod BIOS-u, który jest z nim kompatybilny.
W momencie gdy określona funkcja sterownika zakończy przetwarzanie żądania przekazanego przez kartę, program zarządzający przerwaniami przenosi zawartość stosu do rejestrów procesora, po czym oddaje kontrolę do systemu, który ponawia wykonywanie operacji wstrzymanych w momencie wystąpienia przerwania.
Dzięki wykorzystaniu przerwań, system może odpowiadać na zewnętrzne zdarzenia w określonym czasie. Za każdym razem, gdy port szeregowy przesyła do systemu bajt w celu zagwarantowania, że zostanie on wczytany jeszcze przed przesłaniem kolejnego bajta danych, generowane jest przerwanie. Należy mieć świadomość, że w określonych przypadkach port urządzenia zwłaszcza takiego jak modem zawierający układ UART 16550 lub nowszy, może być wyposażony w bufor danych, który pozwala na zapisanie wielu znaków przed wygenerowaniem przerwania.
Z reguły, poza nielicznymi wyjątkami, priorytet sprzętowych przerwań jest określany za pomocą liczb, przy czym przerwania o najwyższym priorytecie otrzymują najniższe wartości. Przerwania o wyższym priorytecie mają pierwszeństwo w stosunku do tych z niższym. W efekcie w systemie może wystąpić kilka wzajemnie zagnieżdżonych przerwań jednocześnie.
Jeśli w takiej sytuacji dojdzie do przeciążenia systemu prowadzącego do wyczerpania zasobów stosu (zbyt wiele przerwań wygenerowanych w zbyt krótkim czasie), wtedy wystąpi błąd przepełnienia stosu i w efekcie system zawiesi się. Tego typu błąd zazwyczaj wyświetla w wierszu poleceń systemu DOS komunikat w postaci— Internal stack overflow - system hal ted (Przepełnienie wewnętrznego stosu — system zatrzymany). Jeśli jesteś użytkownikiem systemu DOS i nie chcesz doświadczyć takiego błędu systemowego, powinieneś wiedzieć, że można zmniejszyć szanse jego wystąpienia poprzez zwiększenie dostępnych zasobów stosu. Operacja ta polega na modyfikacji parametru STACKS znajdującego się w pliku CONFIG.SYS. W przypadku systemu Windows 9x/Me lub Windows NT/2000/XP błąd przepełnienia stosu zdarza się bardzo rzadko.
Magistrala ISA wykorzystuje metodę odczytu przerwań opartą na wyzwalaniu zbocza (ang. edge-triggered). Polega ona na odczycie przerwania przez zmienny sygnał przesyłany przez określoną ścieżkę gniazda rozszerzeń. Różne ścieżki odpowiadają wszystkim istniejącym przerwaniom sprzętowym. Ze względu na to, że płyta główna nie potrafi zidentyfikować gniazda z zainstalowaną kartą, która posłużyła się ścieżką przerwania, a zatem wygenerowała przerwanie, sprawa się komplikuje w momencie, gdy w systemie znajduję się więcej niż jedna karta korzystająca z określonego przerwania. Wynika z tego, że każde przerwanie jest zazwyczaj przypisane do jednego urządzenia. W większości przypadków przerwania nie mogą być współdzielone.
Początkowo firma IBM opracowała metody współdzielenia przerwań przez urządzenia podłączone do magistrali ISA, ale niewiele z nich spełniało związane z tym wymagania, a zatem nie mogło z tej możliwości korzystać. Magistrala PCI została zaprojektowana tak, aby umożliwiać współdzielenie przerwań. I faktycznie, prawie wszystkie karty PCI są skonfigurowane do wykorzystania przerwania PCI INTttA, a zatem po podłączeniu do magistrali PCI współdzielą je. Rzeczywisty problem wynika stąd, że w systemie dostępne są dwa zestawy przerwań sprzętowych — przerwania PCI i ISA. W przypadku kart PCI, przerwania PCI są mapowane na przerwania ISA, które następnie nie mogą być współdzielone. A zatem, w wielu sytuacjach konieczne jest przydzielenie każdej karcie osobnego przerwania, nawet kartom PCI. Konflikt związany z przydzielaniem przerwań ISA urządzeniom PCI w przypadku pierwszych płyt głównych wyposażonych w magistralę PCI spowodował wiele problemów z ich konfiguracją mających miejsce nawet już po wprowadzeniu na rynek systemu Windows 95 wykorzystującego mechanizm Pług and Play.
Problem związany ze współdzieleniem przerwań przez karty PCI został wyeliminowany po opracowaniu funkcji o nazwie PCI IRQ Steering obsługiwanej przez nowsze wersje systemów operacyjnych (począwszy od Windows 95 OSR 2.x) i BIOS. Funkcja PCI IRQ Steering umożliwia systemowi kompatybilnemu z PnP, takiemu jak Windows, wykonanie dynamicznego mapowania lub „przekierowania" kart PCI (z których prawie wszystkie wykorzystują przerwanie PCI INTUA) na standardowe przerwania komputera PC. Ponadto istnieje możliwość mapowania kilku kart PCI do tego samego przerwania. Więcej informacji na temat funkcji PCI IRQ Steering zostało zamieszczonych w podpunkcie „Przerwania PCI" znajdującym się w dalszej części rozdziału.
Przerwania sprzętowe często są określane terminem przerwań maskowanych (ang. maskable interrupts). Oznacza to, że przerwania przez krótki okres czasu, gdy procesor wykonuje inne ważne operacje, mogą być zamaskowane lub wyłączone. Prawidłowym zarządzaniem przerwaniami pozwalającym uzyskać jak najlepszą wydajność systemu zajmuje się BIOS i programy narzędziowe.
Ze względu na to, że w systemie wyposażonym w magistralę ISA przerwania nie mogą być współdzielone, często dochodzi do konfliktów, które mogą nawet, po zainstalowaniu kilku kart, spowodować wyczerpanie dostępnych zasobów. Jeśli dwie karty do komunikacji z systemem wykorzystują to samo przerwanie, wtedy zaistniały konflikt może uniemożliwić ich poprawne funkcjonowanie. W dalszej części rozdziału zostały omówione przerwania IRQ używane przez standardowe urządzenia oraz wymieniono zasoby, które mogą być niewykorzystane.
Przerwania 8-bitowej magistrali ISA
Systemy PC i XT oparte na 8-bitowym procesorze 8086 dysponują ośmioma różnymi odmiennymi przerwaniami sprzętowymi. W tabeli 4.76 opisano standardowe przeznaczenie przerwań ponumerowanych od 0 do 7.
Tabela 4.76. Domyślne funkcje przerwań 8-bitowej magistrali ISA
Przerwanie IRQ |
Funkcja |
Gniazdo magistrali |
0 |
Zegar systemowy |
Nie |
i |
Kontroler klawiatury |
Nie |
2 |
Dostępne |
Tak (8-bitowe) |
3 |
Port szeregowy (COM2) |
Tak (8-bitowe) |
4 |
Port szeregowy (COMl) |
Tak (8-bitowe) |
5 |
Kontroler dysku twardego |
Tak (8-bitowe) |
6 |
Kontroler stacji dyskietek |
Tak (8-bitowe) |
7 |
Port równoległy (LPT1) |
Tak (8-bitowe) |
Jeśli jesteś posiadaczem jednego z systemów wyposażonych w 8-bitową magistralę ISA, z pewnością zauważyłeś, że oferowane w nim przerwania w znacznym stopniu są ograniczone. Instalacja w systemie PC/XT kilku urządzeń wymagających przypisania przerwania IRQ może się okazać prawdziwą „drogą przez mękę". Wynika to stąd. że w tego typu systemach jedyne rozwiązanie związane z niedoborem wolnych przerwań polega na wyjęciu najmniej potrzebnej karty.
Przerwania 16-bitowej magistrali ISA, EISA i MCA
Wraz z pojawieniem się komputera AT opartego na procesorze 286 zwiększono ilość przerwań, które mogły być wykorzystane przez zewnętrzne urządzenia podłączone do magistrali. Dzięki zastosowaniu dwóch kontrolerów przerwań Intel 8259 możliwe było ich podwojenie do 16. Przerwania generowane przez drugi z układów były przekazywane za pośrednictwem nieużywanego przerwania IRQ 2 pierwszego kontrolera. Wskutek takiego rozwiązania w pełni dostępnych jest 15 przerwań, natomiast przerwanie 1RQ 2 jest trwale niedostępne.
Dzięki zastosowaniu przerwania IRQ 2 pierwszego kontrolera do przekazywania przerwań generowanych przez drugi kontroler, wszystkim nowym przerwaniom jest przypisywany zagnieżdżony poziom priorytetu przerwań z zakresu od IRQ 1 do IRQ 3. Oznacza to, że przerwanie IRQ 15 będzie miało wyższy priorytet od przerwania IRQ 3. Na rysunku 4.83 przedstawiono dwa układy 8259. które w celu utworzenia kaskady zostały ze sobą połączone za pośrednictwem przerwania IRQ 2 należącego do pierwszego z nich.
Rysunek 4.83.
Kaskadowe połączenie kontrolerów przerwań
W celu uniknięcia problemów z kartami wykorzystującymi przerwanie IRQ 2, twórcy systemu AT przydzielili jednemu z nowych przerwań (IRQ 9) zadanie wypełnienia luki pozostawionej po zajętym przerwaniu IRQ 2. Oznacza to, że gdy w nowszym systemie zostanie zainstalowana karta wykorzystująca przerwanie IRQ 2, to tak naprawdę zostanie jej przypisane przerwanie IRQ 9.
W tabeli 4.77 przedstawiono przerwania 16-bitowej magistrali ISA i 32-bitowych magistral PCI/AGP wraz z pełnionymi przez nie funkcjami. Przerwania uszeregowano według ich priorytetu — od najwyższego do najniższego. Starsze magistrale EISA i MCA wykorzystywały podobne mapy przerwań.
Tabela 4.77. Domyślne funkcje przerwań 16-bitowej magistrali ISA oraz 32-bitowych magistral PCI/AGP
Przerwanie |
Standardowa funkcja |
Gniazdo magistrali |
Typ karty |
Zalecane zastosowanie |
0 |
Zegar systemowy |
Nie |
— |
— |
1 |
Kontroler klawiatury |
Nie |
— |
— |
2 |
Drugi kontroler przerwań (kaskadowy) |
Nie |
— |
— |
8 |
Zegar czasu rzeczywistego |
Nie |
— |
— |
9 |
Dostępne (jako IRQ2 lub IRQ9) |
Tak |
8/16-bitowe |
Karta sieciowa |
10 |
Dostępne |
Tak |
16-bitowe |
USB |
11 |
Dostępne |
Tak |
16-bitowe |
Kontroler SCSI |
12 |
Port myszy/Dostępne |
Tak |
16-bitowe |
Port myszy |
13 |
Koprocesor |
Nie |
— |
— |
14 |
Podstawowy kontroler IDE |
Tak |
16-bitowe |
Podstawowy kontroler IDE (dysków twardych) |
15 |
Dodatkowy kontroler IDE |
Tak |
16-bitowe |
Dodatkowy kontroler IDE (CD-ROM/Streamer) |
3 |
Port szeregowy (COM2) |
Tak |
8/16-bitowe |
COM2/wewnętrzny modem |
4 |
Port szeregowy (COM1) |
Tak |
8/16-bitowe |
COM1 |
5 |
Karta dźwiękowa/port równoległy (LPT2) |
Tak |
8/16-bitowe |
Karta dźwiękowa |
6 |
Kontroler stacji dyskietek |
Tak |
8/16-bitowe |
Kontroler stacji dyskietek |
7 |
Port równoległy (LPTI) |
Tak |
8/16-bitowe |
LPTI |
Należy zauważyć, że przerwania 0. 1, 2, 8 i 13 nie są dostępne dla gniazd magistrali, dlatego też nie mogą być wykorzystane przez karty. Przerwania 8, 10, 11, 12, 13, 14 i 15 są obsługiwane przez drugi kontroler przerwań i mogą być udostępnione tylko tym kartom, które są instalowane w gnieździe 16-bitowej magistrali dysponującej odpowiednimi ścieżkami. Miejsce przerwania IRQ 2 gniazda 8-bitowej magistrali zostało zajęte przez przerwanie IRQ 9, a tym samym jest ono dostępne dla 8-bitowych kart, które traktują je jak przerwanie IRQ 2.
Chociaż 16-bitowa magistrala ISA dysponuje dwukrotnie większą liczbą przerwań w porównaniu z systemami wyposażonymi w jej 8-bitową wersję, to jednak w dalszym ciągu może dojść do ich wyczerpania. Wynika to z faktu, że tylko kartom 16-bitowym można przydzielić nowe przerwania. Każde przerwanie 32-bitowej karty PCI może być mapowane na dowolne przerwanie ISA.
Jeśli karty, które planujesz zainstalować, nie pozwalają na przydzielenie im jednego z nieużywanych przerwań, wtedy dodatkowe przerwania oferowane przez 16-bitową magistralę ISA na niewiele się przydadzą. Niektóre urządzenia są skonfigurowane ,.na sztywno", co oznacza, że można im przypisać tylko wybrane wartości przerwań. Ponadto niektóre ze starszych 16-bitowych kart ISA nie obsługiwały przerwań z przedziału od 9 do 15. Jeśli jesteś w posiadaniu urządzenia wykorzystującego już określone przerwanie, wtedy przed zainstalowaniem kolejnej karty należy zapobiec wystąpieniu konfliktu. Jeśli żadna z kart nie pozwala na zmianę przydzielonego przerwania, wtedy może się okazać, że jednoczesne korzystanie z obu nie będzie możliwe.
Przerwania PCI
Magistrala PCI obsługuje sprzętowe przerwania (IRQ), które mogą być wykorzystane przez urządzenia PCI do poinformowania magistrali o swojej obecności. Cztery przerwania PCI noszą nazwy — INTAM, INTB#, INTCU, i INTDtt. Wymienione przerwania charakteryzują się wysoką czułością (ang. Ievel-sensitive), co oznacza, że wykorzystywane sygnały umożliwiają ich współdzielenie pomiędzy kartami PCI. W rzeczywistości, wszystkie jednoukładowe lub jednofunkcyjne urządzenia lub karty PCI wykorzystują tylko jedno przerwanie, którym musi być INTA#. Jest to jedna z zasad określonych w specyfikacji standardu PCI. Jeśli w układzie lub na karcie umieszczonych jest więcej niż jedno urządzenie, wtedy korzystają one z dodatkowych przerwań INTBU - INTD#. Ze względu na istnienie niewielu wielofunkcyjnych układów lub kart PCI, praktycznie rzecz biorąc, wszystkie urządzenia podłączone do magistrali PCI korzystają z przerwania INTAU.
Aby magistrala PCI mogła prawidłowo funkcjonować w komputerze PC, konieczne jest mapowanie przerwań PCI na przerwania ISA. Ze względu na to, że przerwania ISA nie mogą być współdzielone, w większości przypadków każda karta PCI korzystająca z przerwania INTAtt magistrali PCI musi być mapowana do innego przerwania ISA. Przykładowo, jeśli system jest wyposażony w cztery gniazda PCI, w których zainstalowano karty PCI, wtedy każda z nich będzie korzystała z przerwania INTA#. Dodatkowo, w większości przypadków, każda karta PCI zostanie zamapowana do innego dostępnego przerwania ISA takiego jak IRQ 9, IRQ 10, IRQ 11 lub IRQ 5.
Odszukanie unikalnego przerwania dla każdego urządzenia zarówno podłączonego do magistrali PCI, jak i ISA zawsze stanowiło problem. Powodem tego jest po prostu niewystarczająca pula wolnych przerwań. Przydzielenie dwóm urządzeniom ISA tego samego przerwania nigdy nie było możliwe (tak zwana funkcja współdzielenia przerwania 1RQ4 przez porty COM 1/3 i IRQ3 przez COM 2/4 nie pozwalała na jednoczesne korzystanie z obu portów COM). ale w przypadku większości nowszych komputerów współdzielenie przerwań pomiędzy wieloma urządzeniami PCI jest już dopuszczalne. Nowsze wersje BIOS-u, jak również systemów operacyjnych wyposażonych w funkcję PnP, takich jak Windows 95B (OSR 2 lub nowszy), Windows 98 i Windows 2000/XP są kompatybilne z funkcją PCI IRQ Steering. Aby w pełni wykorzystać możliwości funkcji PCI IRQ Steering, zarówno BIOS, jak i system operacyjny musząją obsługiwać. Starsze wersje BIOS-u oraz system Windows 95 i 95A nie są z nią kompatybilne.
Zazwyczaj przydzielaniem urządzeniom PCI niepowtarzalnych przerwań zajmuje się BIOS. Jeśli system obsługuje funkcję PCI IRQ Steering i jest ona uaktywniona, wtedy system operacyjny Windows przejmuje zadanie przydziału przerwań urządzeniom PCI. Nawet po włączeniu funkcji PCI IRQ Steering, BIOS początkowo w dalszym ciągu przypisuje przerwania. Chociaż system Windows dysponuje możliwością zmiany ustawionych przerwań, to jednak zazwyczaj nie wykonuje tego w sposób automatyczny. Wyjątkiem jest sytuacja, gdy wystąpią konflikty, które muszą być koniecznie wyeliminowane. Jeśli zdarzy się, że zabraknie wolnych przerwań, wtedy funkcja PCI IRQ Steering może spowodować, że system Windows przypisze kilku urządzeniom PCI jedno przerwanie, a tym samym umożliwi wszystkim komponentom systemu prawidłowe funkcjonowanie. Przy braku funkcji PCI IRQ Steering system Windows w momencie wyczerpania puli dostępnych przerwań zaczyna wyłączać kolejne urządzenia.
Aby sprawdzić, czy system Windows 9x/Me jest kompatybilny z funkcją PCI IRQ Steering, wykonaj poniższe kroki:
Otwórz okno Menedżera urządzeń.
Kliknij dwukrotnie pozycję Urządzenia systemowe.
Kliknij dwukrotnie pozycję Magistrala PCI, a następnie kliknij zakładkę Sterowanie przerwaniami (IRQ). Znajduje się tam opcja Używaj sterowania przerwaniami (IRQ), która po włączeniu wyświetla stan routingu IRQ. Jeśli jest aktywna, wtedy będzie również podane, skąd została pobrana tabela przerwań.
Warto zauważyć, że w przypadku systemu Windows 2000/XP nie jest możliwe wyłączenie funkcji PCI 1RQ Steering. Poza tym w oknie Menedżera urządzeń brak jest karty Sterowanie przerwaniami (IRQ).
Funkcja PCI IRQ Steering jest sterowana przez jedną z czterech tabel, które są odczytywane przez system Windows. System Windows szuka kolejnych tabel i korzysta z pierwszej, którą napotka. Co prawda nie ma możliwości zmiany kolejności wyszukiwania tabel, ale poprzez włączanie lub wyłączanie wyświetlonych opcji Pobieraj tabelą przerwań IRO... (wyłączenie tabel powoduje, że system nie będzie ich szukał) można określić, która tabela zostanie odszukana jako pierwsza. System Windows szuka następujących tabel:
ACPI BIOS.
specyfikacji MS,
wywołania trybu chronionego PCIBIOS 2.1,
wywołania trybu rzeczywistego PCIBIOS 2.1.
Na początku, w celu konfiguracji funkcji PCI IRQ Steering, Windows próbuje posłużyć się tabelą ACPI BIOS. a następnie szuka tabeli specyfikacji MS, wywołania trybu chronionego PCIBIOS 2.1 i trybu rzeczywistego PCIBIOS 2.1. System Windows 95 OSR2 i nowsze wersje umożliwiają zaznaczenie tylko tabel PCIBIOS 2.1 przy użyciu pojedynczej opcji wyboru, która domyślnie jest wyłączona. W przypadku systemu Windows 98, wszystkie, oprócz trzeciej (wywołania trybu chronionego PCIBIOS 2.1), tabele przerwań są zaznaczone domyślnie.
Jeśli przy instalacji urządzenia PCI w systemie Windows 95 napotkasz na problemy związane z przydzielaniem przerwania, wtedy powinieneś zaznaczyć tabelę PCIBIOS 2.1 i uruchomić ponownie komputer. W przypadku systemu Windows 98 należy wyłączyć tabelę ACPI BIOS, a następnie uruchomić ponownie komputer. Jeśli problem nie zniknie, należy zaznaczyć tabelę trybu chronionego PCIBIOS 2.1 i zrestartować komputer. Opcja Pobieraj tabelą przerwań IRQ z wywołania Trybu chronionego PCIBIOS 2.1 powinna być zaznaczona tylko wtedy, gdy urządzenie PCI nie działa prawidłowo. Aby wyświetlić opcję znajdującą się w oknie Menedżera urządzeń systemu Windows, wykonaj poniższe kroki:
Otwórz okno Menedżera urządzeń.
Przesuń pasek przewijania do pozycji Urządzenia systemowe, a następnie kliknij ją dwukrotnie.
Zaznacz pozycję Magistrala PCI i kliknij Właściwości.
Aby sprawdzić lub zmienić aktualne ustawienia, kliknij zakładkę Sterowanie przerwaniami (IRQ).
Jeśli zakładka Sterowanie przerwaniami (IRQ) widoczna w oknie Menedżera urządzeń jest wyszarzona, wtedy należy sprawdzić, czy opcja Używaj sterowania przerwaniami (IRQ) została włączona. Jeśli tak nie jest, należy ją zaznaczyć i ponownie uruchomić komputer. Jeśli zakładka Sterowanie przerwaniami (IRQ) nadal jest nieaktywna, może to oznaczać, że tabela przerwań przekazana do systemu operacyjnego przez BIOS jest uszkodzona lub zawiera błędy. W takiej sytuacji należy uruchomić program BIOS Setup i upewnić się, że funkcja PCI IRQ Steering jest włączona. Jeśli to nie pomoże, może okazać się konieczne zaznaczenie opcji Pobieraj tabelą przerwań IRQ z wywołania Trybu chronionego PCIBIOS 2.1. Może to również oznaczać, że BIOS nie obsługuje funkcji PCI IRQ Steering. Aby sprawdzić, czy używana płyta główna lub BIOS są kompatybilne z funkcją PCI IRQ Steering, należy skontaktować się z ich producentem.
W przypadku systemów obsługujących funkcję PCI IRQ Steering, po wyświetleniu zawartości pozycji Urządzenia systemowe znajdującej się w oknie Menedżera urządzeń może być widoczna pozycja Programowalny kontroler przerwań. Oznacza to. że do urządzenia PCI zostało zamapowane przerwanie i w związku z tym nie jest dostępne dla urządzeń ISA, nawet jeśli w danej chwili nie korzysta z niego żadne urządzenie PCI. Aby sprawdzić przerwania zamapowane do urządzeń PCI, wykonaj poniższe kroki:
Wybierz Start/Ustawienia/Panel Sterowania, a następnie kliknij dwukrotnie ikonę System.
Kliknij zakładkę Menedżer urządzeń.
Kliknij dwukrotnie pozycję Urządzenia systemowe.
Kliknij dwukrotnie żądaną opcję Programowalny kontroler przerwań, a następnie kliknij zakładkę Zasoby.
Doszedłem do wniosku, że funkcja PCI IRQ Steering oraz mapowanie są źródłem sporej ilości problemów. Nawet pomimo to, że przerwania PCI (INTx#) mogą być współdzielone (w trybie domyślnym), to i tak każda karta (lub urządzenie) korzystająca z tej możliwości musi zostać zamapowana lub przekierowana do unikalnego przerwania ISA, które z kolei standardowo nie może być współdzielone. Zamapowanie kilku urządzeń PCI do tego samego przerwania ISA jest możliwe tylko wtedy, gdy:
żadne urządzenie ISA nie korzysta z tego przerwania;
BIOS i system operacyjny obsługują funkcję PCI IRQ Steering;
funkcja PCI IRQ Steering jest aktywna.
Bez kompatybilności z funkcją PCI IRQ Steering korzyści wynikające ze stosowania przerwań PCI są znikome. Wynika to stąd, że wszystkie pary przerwań PCI-ISA muszą być niepowtarzalne. Bez funkcji PCI IRQ Steering z łatwością można wyczerpać pulę wolnych przerwań. Jeśli jednak funkcja PCI IRQ Steering jest obsługiwana i aktywna, wtedy wiele urządzeń PCI będzie mogło współdzielić pojedyncze przerwanie, a tym samym możliwe będzie rozszerzenie systemu bez zagrożenia, że zostaną wyczerpane wszystkie dostępne przerwania. Jednym z ważniejszych powodów aktualizacji systemu Windows do wersji 98 lub nowszej jest lepsza obsługa funkcji PCI IRQ Steering, co jest szczególnie zauważalne w przypadku, gdy jesteś posiadaczem oryginalnej wersji OSR I systemu Windows 95.
Kolejny powód do zmartwienia wynika stąd, że na liście przerwań wyświetlonej w oknie Menedżera urządzeń systemu Windows może być widocznych wiele pozycji dotyczących mapowania przerwań PCI związanych z określonym przerwaniem ISA. Jedna z pozycji rzeczywiście oznacza mapowanie urządzenia, przykładowo wbudowanego kontrolera USB, do przerwania, natomiast druga pozycja związana z tym samym przerwaniem jest oznaczona jako IRQ Haider for PCI Steering. Chociaż druga pozycja wskazuje, że wykorzystuje to samo przerwanie, to jednak nie informuje o konflikcie zasobów. Zamiast tego, pozycja ta jest powiązana z chipsetem, który dokonał rezerwacji przerwania wykorzystanego w stworzonym mapowaniu. Jest to jedna z możliwości mechanizmu Pług and Play magistrali PCI i nowszych chipsetów płyt głównych. Systemy Windows 2000 i XP też pozwalają na mapowanie wielu urządzeń do tego samego przerwania, ale w celu uniknięcia niejasności nie jest w nich wykorzystywany termin IRO Holder.
Należy zauważyć, że z magistralą PCI może współpracować kilka urządzeń, nawet pomimo to. że wszystkie gniazda są wolne. Przykładowo, większość obecnie produkowanych systemów jest wyposażona w dwa kontrolery IDE i kontroler USB stanowiące urządzenia podłączone do magistrali PCI. Zazwyczaj kontrolery PCI IDE są mapowane do przerwania ISA 14 (podstawowy kontroler) i 15 (dodatkowy kontroler), natomiast kontroler USB może być zamapowany do dowolnego przerwania ISA z puli — 9, 10, 11 i 5. Wiele nowszych komputerów wyposażonych jest w dwa lub więcej kontrolerów USB (zwykle jeden na dwa porty USB), dlatego każdy z nich musi być mapowany do przerwania magistrali ISA.
► ► Zajrzyj do punktu „Universal Serial Bus (USB)" znajdującego się na stronie 1044.
Magistrala PCI współpracuje z dwoma typami urządzeń — nadrzędnymi (ang. bus masters — inicjatorami) i podrzędnymi (ang. slaves — docelowymi). Urządzenie nadrzędne jest w stanie przejąć kontrolę nad magistralą i zainicjować operację przesłania danych, natomiast urządzenie podrzędne w zamierzeniu jest adresatem tej operacji. Większość urządzeń PCI może pełnić funkcję zarówno urządzenia nadrzędnego, jak i podrzędnego. Aby spełnić wymagania zawarte w specyfikacji PC 97 lub nowszej, wszystkie gniazda PCI muszą współpracować z kartami będącymi urządzeniami nadrzędnymi.
Magistrala PCI jest magistralą arbitrażową. Oznacza to, że główny arbiter (część kontrolera magistrali PCI zawarta w chipsecie płyty głównej) zarządza wszystkimi operacjami przesłania danych przez magistralę, dzięki czemu udziela sprawiedliwego i kontrolowanego dostępu wszystkim urządzeniom do niej podłączonym. Zanim urządzenie nadrzędne może przejąć kontrolę nad magistralą, musi najpierw przesłać do głównego arbitra żądanie przejęcia kontroli, a jeśli ją uzyska, może sterować magistralą tylko przez ograniczoną ilość cykli. Dzięki zastosowaniu takiego arbitrażu wszystkie urządzenia nadrzędne magistrali uzyskują do niej jednakowy dostęp, a ponadto rozwiązanie to zapobiega sytuacjom, w których jedno urządzenie zablokuje magistralę, jak również zakleszczeniom spowodowanym przez próbę uzyskania jednoczesnego dostępu przez wiele urządzeń. Tym sposobem magistrala PCI działa podobnie jak sieć lokalna LAN (ang. local area network) z tą różnicą, że znajduje się ona w całości wewnątrz systemu i pracuje ze znacznie wyższą częstotliwością niż typowe sieci zewnętrzne łączące komputery.
Konflikty przerwań
Jeden z częstszych konfliktów przerwań występuje między zintegrowanym portem szeregowym COM2 znajdującym się w większości nowszych płyt głównych i wewnętrznym modemem (kartą). Problem ten wynika stąd. że prawdziwe karty modemowe (nie tak zwane karty WinModem, które są modemami programowymi) są zintegrowane z portem szeregowym, stanowiącym ich część. Domyślnie port szeregowy jest ustawiony jako COM2. Komputer stwierdza, że posiada dwa porty COM2, z których każdy wykorzystuje to samo przerwanie i adres portu I/O.
Rozwiązanie tego problemu jest dość proste, wystarczy mianowicie uruchomić program narzędziowy BIOS Setup, a następnie wyłączyć wbudowany port systemowy COM2. Gdy już uruchomisz ten program, możesz również pomyśleć o wyłączeniu portu COMl, ponieważ mało prawdopodobnym jest, że będzie w ogóle przydatny. Wyłączenie nieużywanych portów szeregowych COM jest jedną z najlepszych metod uwolnienia dwóch przerwań, które mogą być przypisane innym urządzeniom.
Kolejny często występujący problem związany z konfliktem przerwań również dotyczy portów szeregowych COM. Możliwe, że zauważyłeś w poprzednich dwóch podpunktach, że dwóm portom szeregowym zostały przydzielone dwa przerwania — przerwanie IRQ 3 do portu COM2, natomiast przerwanie IRQ 4 do portu COMl. Problem pojawia się w momencie, gdy w systemie jest dostępnych więcej niż dwa tego typu porty. Wiele osób przy definiowaniu portów COM3 i COM4 nie przydziela im wolnych przerwań, co w efekcie prowadzi do wystąpienia konfliktu i ich nieprawidłowego działania.
W całość problemu swój wkład wnoszą też niskiej jakości karty zawierające porty COM. które są ograniczone tylko do przerwań o wartości 3 lub 4. W efekcie kończy się to przydzieleniem do portu COM3 przerwania IRQ 4 (współdzielonego z portem COMl) oraz do portu COM4 przerwania IRQ 3 (współdzielonego z portem COM2). Taka sytuacja jest niedopuszczalna, ponieważ nie ma wtedy możliwości wykorzystania dwóch portów szeregowych, które współdzielą przerwania przypisane do pozostałych dwóch portów używanych jednocześnie. Można się było z tym pogodzić w przypadku systemu DOS, którego jednozadaniowość (możliwość jednoczesnego uruchomienia tylko jednego programu) była czymś normalnym, ale wobec systemu Windows lub OS/2 jest to nie do zaakceptowania. Jeśli jesteś zmuszony do współdzielenia przerwań, wtedy jak długo urządzenia korzystają z różnych portów COM, tak długo zazwyczaj jest możliwe uniknięcie przypisywania im takiego samego przerwania. Przykładem może być skaner i modem wewnętrzny, które mogą mieć przydzielone identyczne przerwanie, ale jeśli będą używane jednocześnie, wtedy może wystąpić między nimi konflikt. Na szczęście większość urządzeń poprzednio korzystających z portów szeregowych (na przykład mysz i inne urządzenia wskazujące, drukarki, zewnętrzne modemy i przystawki cyfrowego asystenta osobistego) została wyposażona w porty USB. Wielu użytkowników nie jest już zatem zmuszonych do stosowania urządzeń, które muszą być podłączone do portu szeregowego.
Jeżeli konieczne jest użycie portu szeregowego, najlepsze rozwiązanie polega na zaopatrzeniu się w kartę zawierającą wiele portów szeregowych I/O, które umożliwiają przydzielanie unikalnych przerwań, lub inteligentną kartę wyposażoną w procesor obsługujący kilka zintegrowanych z nią portów i wykorzystującą tylko jedno przerwanie systemowe. Niektóre starsze karty z wieloma portami szeregowymi korzystały z gniazda ISA, ale w nowszych komputerach zastąpiono je kartami PCI — dodatkowymi korzyściami wynikającymi z ich stosowania jest większa szybkość i możliwość współdzielenia przerwań.
► ► Zajrzyj do podrozdziału „Porty szeregowe" znajdującego się na stronie 1058.
Jeśli urządzenie takie jak port myszy zintegrowany z płytą główną (IRQ 12) lub port równoległy 2 (IRQ 5) znajduje się w tabeli przerwań, ale faktycznie w systemie nie występuje, wtedy można wziąć pod uwagę zwolnienie przypisanych im przerwań. Przykładowo, drugi port równoległy należy do rzadkości, natomiast w większości systemów przerwanie IRQ 5 (używane przy emulowaniu karty Sound Blaster Pro lub 16) jest przydzielone karcie dźwiękowej. Poza tym w wielu systemach przerwanie IRQ 15 jest przypisywane dodatkowemu kontrolerowi IDE. Jeśli jednak nie posiadasz dysku twardego lub napędu CD-ROM podłączonego do drugiego kontrolera, w celu zwolnienia przerwania zajmowanego przez kontroler i przydzielenia go innemu urządzeniu, można go wyłączyć.
Należy zwrócić uwagę na łatwość sprawdzania konfiguracji przerwań ustawionych w systemie Windows 95/ 98, Windows NT lub Windows 20007XP, co sprowadza się do otwarcia okna Menedżera urządzeń. Po dwukrotnym kliknięciu pozycji Właściwości ikony Komputer znajdującej się w oknie Menedżera urządzeń zostanie wyświetlona zwarta lista wszystkich wykorzystywanych zasobów systemowych. Firma Microsoft w systemie Windows 95B dołączyła program o nazwie HWDIAG, natomiast w Windows 98 i nowszych wersjach narzędzie Informacje o systemie. Oba programy są znakomitym narzędziem służącym do generowania raportów dotyczących wykorzystania zasobów systemowych oraz informacji na temat sterowników i wpisów Rejestrze związanych z każdym komponentem. Jeśli jesteś użytkownikiem systemu Windows XP, wtedy przy użyciu programu msinfo32 będziesz mógł uzyskać szczegółowe zestawienie na temat systemu.
Aby w nowszych komputerach pozbawionych gniazd ISA udostępnić maksymalną liczbę współdzielonych przerwań, polecam w BlOS-ie wykonać następujące kroki:
Wyłączyć wszystkie starsze porty, które nie są używane. Jeśli na przykład zamiast portów szeregowych i równoległych stosowane są porty USB, te pierwsze należy wyłączyć. Dzięki temu zostaną zwolnione maksymalnie trzy przerwania IRQ.
Przerwania zwolnione w kroku 1. ustawić jako dostępne do użycia przez magistralę PCI i technologię PnP. Zależnie do wersji BIOS-u menu, z którego należy skorzystać, może nosić nazwę PnP/PCI Resource Exclusion lub PnP/PCI Configuration.
Uaktywnić opcję Reset Configuration Data, która spowoduje wyczyszczenie w pamięci CMOS zawartości tabeli przekierowań przerwań IRQ.
Zapisać dokonane zmiany i wyjść z programu BIOS Setup.
Kanały DMA
Kanały DMA (ang. Direct Memory Access) są wykorzystywane przez urządzenia komunikacyjne, które wysyłają i odbierają dane z dużą szybkością. Port szeregowy lub równoległy nie korzysta z kanału DMA, natomiast karta dźwiękowa lub kontroler SCSI dość często wymagająjego przydzielenia. Jeśli urządzenia nie korzystają z kanału DMA jednocześnie, wtedy może zostać im przydzielony kanał współdzielony. Przykładem jest karta sieciowa i kontroler urządzenia służącego do archiwizacji danych na taśmie. Oba urządzenia współdzielą kanał DMA 1, ale w momencie, gdy karta sieciowa jest aktywna, wykonanie kopii zapasowej jest niemożliwe. Aby możliwa była jednoczesna praca obu urządzeń, należy przydzielić karcie sieciowej unikalny kanał DMA.
W nowszych komputerach PC można się spotkać z kilkoma typami kanałów DMA. Kanały DMA omawiane w tej części rozdziału związane są z magistralą ISA. Inne rodzaje magistral wykorzysty-wane przez dyski twarde takie jak ATA/IDE posługują się innym rodzajem kanałów DMA. Kanały DMA tutaj omówione nie obejmują tych używanych przez napędy ATA/IDE, nawet jeśli są one kompatybilne z trybem DMA lub Ultra DMA.
Kanały DMA 8-bitowej magistrali ISA
8-bitowa magistrala ISA dysponuje czterema kanałami DMA pozwalającymi na wykonywanie bardzo szybkich operacji przesyłania danych pomiędzy urządzeniami wejścia-wyjścia i pamięcią. Trzy kanały udostępnione są gniazdom rozszerzeń. W tabeli 4.78 przedstawono typowe funkcje tego typu kanałów DMA.
Tabela 4.78. Domyślne funkcje kanałów DMA 8-bitowej magistrali ISA
Kanał DMA |
Standardowa funkcja |
Gniazdo magistrali |
0 |
Dynamiczne odświeżanie pamięci RAM |
Nie |
1 |
Dostępny |
Tak (8-bitowe) |
2 |
Kontroler stacji dyskietek |
Tak (8-bitowe) |
3 |
Kontroler dysków twardych |
Tak (8-bitowe) |
Ze względu na to, że większość systemów jest wyposażona zarówno w kontroler stacji dyskietek, jak i dysków twardych, komputery zawierające 8-bitową magistralę ISA dysponują tylko jednym wolnym kanałem DMA.
Kanały DMA 16-bitowej magistrali ISA
Od czasów wprowadzenia procesora 286, magistrala ISA oferowała osiem kanałów DMA, przy czym siedem z nich było udostępnionych gniazdom rozszerzeń. Podobnie jak miało to miejsce w przypadku wcześniej omówionych linii IRQ, nowe kanały DMA zostały wygenerowane przy użyciu drugiego kontrolera DMA połączonego kaskadowo z pierwszym. Kanał DMA 4 służy do utworzenia kaskadowego połączenia kanałów 0-3 z mikroprocesorem. Kanały 0-3 mogą być wykorzystywane przy 8-bitowych operacjach przesyłania danych, natomiast kanały 5-7 przy operacjach 16-bitowych. W tabeli 4.79 zestawiono typowe funkcje kanałów DMA.
Tabela 4.79. Domyślne funkcje kanałów DMA 16-bitowej magistrali ISA
Kanał DMA |
Standardowa funkcja |
Gniazdo magistrali |
Typ karty |
Tryb przesyłania danych |
Zalecane zastosowanie |
0 |
Dostępny |
Tak |
16-bitowa |
8-bitowy |
Karta dźwiękowa |
1 |
Dostępny |
Tak |
8/16-bitowa |
8-bitowy |
Karta dźwiękowa |
2 |
Kontroler stacji dyskietek |
Tak |
8/16-bitowa |
8-bitowy |
Kontroler stacji dyskietek |
3 |
Dostępny |
Tak |
8/16-bitowa |
8-bitowy |
Port LPTI — tryb ECP |
4 |
Pierwszy kontroler DMA (kaskada) |
Nie |
— |
16-bitowy |
— |
5 |
Dostępny |
Tak |
16-bitowa |
16-bitowy |
Karta dźwiękowa |
6 |
Dostępny |
Tak |
16-bitowa |
16-bitowy |
Dostępny |
7 |
Dostępny |
Tak |
16-bitowa |
16-bitowy |
Dostępny |
Warto zauważyć, że karty PCI nie korzystają z kanałów DMA magistrali ISA. Tego typu kanały są używane tylko przez karty ISA. Niezależnie od tego, niektóre karty PCI, takie jak karty dźwiękowe, w celu współpracy z oprogramowaniem starszego typu emulują kanały DMA.
Jedynym standardowym kanałem DMA spotykanym w każdym systemie jest DMA, który powszechnie jest wykorzystywany przez kontroler stacji dyskietek. Kanał DMA 4 nie jest używany i nie jest udostępniany gniazdom magistrali. Kanały DMA 1 i 5 najczęściej są przydzielane kartom dźwiękowym ISA takim jak Sound Blaster 16 lub nowszym kartom PCI emulującym, w celu utrzymania kompatybilności wstecz, starsze modele. Tego typu karty do wykonywania szybkich operacji przesyłania danych wykorzystują zarówno 8-, jak i 16-bitowe kanały DMA. Kanał DMA 3 używany jest, gdy port równoległy pracuje w trybie ECP lub EPP/ECP. W niektórych niestandardowych systemach, takich jak starsze komputery firmy Packard Bell, na potrzeby portu równoległego zamiast kanału DMA 3 domyślnie używany jest kanał DMA I. Jednak w celu uniknięcia konfliktów z kartami dźwiękowymi korzystającymi z kanału DMA ł płyty główne wielu takich nietypowych komputerów zawierają blok zworek pozwalający dla portu równoległego ustawić kanał DMA 3.
Chociaż kanał DMA Ojest dostępny dla 16-bitowych gniazd rozszerzeń, a zatem może być przydzielony tylko kartom 16-bitowym, to jednak pozwala na wykonywanie tylko 8-bitowych operacji przesyłania danych! Z tego też powodu kanał DMA O zazwyczaj nie jest widoczny na liście kanałów DMA udostępnionych kartom 16-bitowym. Większość kart 16-bitowych (takich jak kontrolery SCSI) używających kanały DMA jest ograniczona do zakresu od 5 do 7.
Adresy portów l/O
Porty l/O komputera umożliwiają komunikację pomiędzy jego urządzeniami a oprogramowaniem. Można je porównać do dwukierunkowych kanałów radiowych. Jeśli zamierzasz połączyć się z portem szeregowym, musisz wiedzieć, na jakim porcie I/O (kanale radiowym) nasłuchuje. Podobnie, jeśli chcesz odebrać z niego dane, musisz prowadzić nasłuch na tym samym kanale, na którym realizowana jest transmisja danych.
W przeciwieństwie do przerwań i kanałów DMA, system ma do dyspozycji sporą ilość portów I/O. Gwoli ścisłości jest to 65 553 portów ponumerowanych od OOOOh do FFFFh, co w największym stopniu stanowi skutek uboczny architektury procesora firmy Intel. Chociaż większość urządzeń dla własnego użytku wymaga
8 portów, to jednak przy takiej liczbie dostępnych portów raczej niezbyt szybko zapowiada się na ich wyczerpanie. Największym powodem do zmartwień jest kwestia związana z przydzieleniem dwóm urządzeniom tego samego portu.
Większość nowszych systemów wykorzystujących w mechanizm Pług and Play rozwiązuje każdy konflikt portów, co sprowadza się do przypisania jednemu z urządzeń sprawiających problemy innego, alternatywnego.
Jeden z mankamentów związanych z portami I/O wynika ze stosowania, podobnie jak w przypadku pamięci, adresów heksadecymalnych. Ale przecież porty nie są pamięcią. Różnica między nimi jest taka, że jeśli dane zostaną przestane pod adres pamięci l000h, to zostaną zapisane w komórkach modułu SIMM lub DIMM. Jeśli natomiast dane zostaną wysiane pod adres portu I/O l000h, znajdą się w magistrali na określonym „kanale" i, jeśli jakieś urządzenie na nim nasłuchuje, wtedy „usłyszy" jego zawartość. Jeśli jednak nie jest prowadzony nasłuch tego adresu portu, wtedy dane dotrą na koniec magistrali i zostaną przejęte przez umieszczone tam rezystory.
Głównym zadaniem sterowników jest pośredniczenie pomiędzy urządzeniami znajdującymi się pod różnymi adresami portów. Sterownik musi wiedzieć, którym portem się posłużyć, aby nawiązać komunikację z urządzeniem i vice versa. Zazwyczaj nie stanowi to większego problemu, ponieważ sterownik i urządzenie zostały opracowane przez jednego producenta.
Płyta główna i chipset zazwyczaj są skonfigurowane do współpracy z adresami portów l/O z zakresu 0h - FFh, natomiast wszystkie inne urządzenia korzystają z portów 100h - FFFFh. W tabeli 4.80 przedstawiono porty I/O. które najczęściej są używane przez układy płyty głównej.
Tabela 4.80. Adresy portów wykorzystywane przez komponenty płyty głównej
Adres (heksadecymalny) |
Rozmiar |
Opis |
0000 - 000F |
16 bajtów |
Chipset —8237 DMA 1 |
0020-0021 |
2 bajty |
Chipset — 8259 kontroler przerwań 1 |
002E - 002F |
2 bajty |
Kontroler Super I/O (konfiguracja rejestrów) |
0040 - 0043 |
4 bajty |
Chipset— licznik/układ czasowy 1 |
0048 - 0048 |
4 bajty |
Chipset— licznik/układ czasowy 2 |
0060 |
1 bajt |
Kontroler klawiatury i myszy, bajt — reset IRQ |
0061 |
1 bajt |
Chipset — NMI, sterowanie głośniczkiem |
0064 |
1 bajt |
Kontroler klawiatury i myszy, bajt CMD/STAT |
0070, bit 7 |
1 bit |
Chipset — NMI aktywne |
0070. bity 6:0 |
7 bitów |
MC 146818 — zegar czasu rzeczywistego — adres |
0071 |
1 bajt |
MC 146818 — zegar czasu rzeczywistego — dane |
0078 |
1 bajt |
Zastrzeżone — konfiguracja karty |
0079 |
1 bajt |
Zastrzeżone — konfiguracja karty |
0080-008F |
16 bajtów |
Chipset — rejestry stronic DMA |
00A0 - 00A1 |
2 bajty |
Chipset — 8259 kontroler przerwań 2 |
0082 |
1 bajt |
Port kontrolny APM |
00133 |
1 bajt |
Port statusu APM |
0OC0 - 00DE |
31 bajtów |
Chipset —8237 DMA 2 |
00F0 |
1 bajt |
Koprocesor (zerowanie błędu liczbowego) |
Aby dokładnie określić, które adresy portu są wykorzystywane na płycie głównej, należy zajrzeć do dołączonej dokumentacji lub poszukać tych danych w oknie Menedżera urządzeń systemu Windows.
Urządzenia podłączone do magistrali zazwyczaj wykorzystują adresy zaczynające się od lOOh. W tabeli 4.81 zawarto najczęściej stosowane adresy urządzeń podłączanych do magistrali oraz niektóre popularne karty wraz z ich ustawieniami.
Tabela 4.81. Adresy portów urządzeń podłączonych do magistrali
Adres (heksadecymalny) |
Rozmiar |
Opis |
||
0130-0133 |
4 bajty |
Kontroler Adaptec SCSI (dodatkowy) |
||
0134-0137 |
4 bajty |
Kontroler Adaptec SCSI (dodatkowy) |
||
0168-016E |
8 bajtów |
Czwarty interfejs IDE |
||
0170-0177 |
8 bajtów |
Drugi interfejs IDE |
||
01E8-01EF | 8 bajtów |
Trzeci interfejs IDE |
|||
01FO-01F7 |
8 bajtów |
Podstawowy kontroler IDE/16-bitowy (AT) kontroler dysków twardych |
||
0200-0207 |
8 bajtów |
Port joysticka lub gameport |
||
0210-0217 I 8bajtów |
Dodatkowa obudowa IBM XT |
|||
0220 - 0233 20 bajtów |
Karta dźwiękowa Creative Labs Sound Blaster 16 (domyślnie) |
|||
0230 - 0233 4 bajty |
Kontroler Adaptec SCSI (dodatkowy) |
|||
0234 - 0237 4 bajty |
Kontroler Adaptec SCSI (dodatkowy) |
|||
0238-023B 4 bajty |
Magistrala myszy MS (dodatkowa) |
|||
023C-023F |
4 bajty |
Magistrala myszy MS (domyślnie) |
||
0240 - 024F |
16 bajtów |
Karta sieciowa Ethernet SMC (domyślnie) |
||
0240 - 0253 |
20 bajtów |
Karta dźwiękowa Creatwe Labs Sound Blaster 16 (dodatkowa) |
||
0258 - 025F |
8 bajtów |
Karta firmy Intel |
||
0260 - 026E |
16 bajtów |
Karta sieciowa Ethernet SMC (dodatkowa) |
||
0260 - 0273 |
20 bajtów |
Karta dźwiękowa Creatwe Labs Sound Blaster 16 (dodatkowa) |
||
0270 - 0273 |
4 bajty |
Porty l/O Pług and Play (do odczytu) |
||
0278 - 027F |
8 bajtów |
Port równoległy 2 (LPT2) |
||
0280-028E |
16 bajtów |
Karta sieciowa Ethernet SMC (dodatkowa) |
||
0280 - 0293 |
20 bajtów |
Karta dźwiękowa Creatwe Labs Sound Blaster 16 (dodatkowa) |
||
02A0 - 02AF |
16 bajtów |
Karta sieciowa Ethernet SMC (dodatkowa) |
||
02C0 - 02CF |
16 bajtów |
Karta sieciowa Ethernet SMC (dodatkowa) |
||
02E0 - 02F.F |
16 bajtów |
Karta sieciowa Ethernet SMC (dodatkowa) |
||
02EB-02EF |
8 bajtów |
Port szeregowy 4 (COM4) |
||
02EC - 02EF |
4 bajty |
Video, 8514 lub porty standardowe ATI |
||
02F8-02FF |
8 bajtów |
Port szeregowy 2 (COM2) |
||
0300-0301 |
2 bajty |
MPU-401, port MIDI (dodatkowy) |
||
0300-030F |
16 bajtów |
Karta sieciowa Ethernet SMC (dodatkowa) |
||
0320 - 0323 |
4 bajty |
8-bitowy (XT) kontroler dysków twardych |
||
0320 - 032F |
16 bajtów |
Karta sieciowa Ethernet SMC (dodatkowa) |
||
0330-0331 |
2 bajty |
MPU-401, port MIDI (domyślnie) |
||
0330 - 0333 |
4 bajty |
Kontroler Adaptec SCSI (domyślnie) |
||
0334-0337 |
4 bajty |
Kontroler Adaptec SCSI (dodatkowy) |
||
0340-034F |
16 bajtów |
Karta sieciowa Ethernet SMC (dodatkowa) |
||
0360-036E |
16 bajtów |
Karta sieciowa Ethernet SMC (dodatkowa) |
||
0366 |
1 bajt |
Czwarty kontroler IDE — port rozkazów |
||
0367, bity 6:0 |
7 bitów |
Czwarty kontroler IDE — port statusu |
||
0370-0375 |
6 bajtów |
Dodatkowy kontroler stacji dyskietek |
||
0376 |
1 bajt |
Dodatkowy kontroler IDE — port rozkazów |
||
0377, bit 7 |
1 bit |
Dodatkowy kontroler stacji dyskietek |
||
0377, bity 6:0 |
7 bitów |
Dodatkowy kontroler IDE — port statusu |
||
0378-037F |
8 bajtów |
Port równoległy 1 (LPTI) |
||
0380-038F |
16 bajtów |
Karta sieciowa Ethernet SMC (dodatkowa) |
||
0388-038B |
4 bajty |
Karta dźwiękowa — syntezator FM |
||
03B0-038B |
12 bajtów |
Karta graficzna, standardowe porty Mono/EGA/VGA |
||
03BC-03BF |
4 bajty |
Port równoległy 1 (LPTI) w niektórych systemach |
||
03BC - 03BF |
4 bajty |
Port równoległy 3 (LPT3) |
||
03C0 - 03CF |
16 bajtów |
Karta graficzna, standardowe porty EGA/VGA |
||
03D0-03DF |
16 bajtów |
Karta graficzna standardowe porty CGA/EGA/VGA |
||
03 E6 |
1 bajt |
Trzeci kontroler IDE — port rozkazów |
||
03E7, bity 6:0 |
7 bitów |
Trzeci kontroler IDE — port statusu |
||
03E8-03EF |
8 bajtów |
Port szeregowy 3 (COM3) |
||
03F0-03F5 |
6 bajtów |
Podstawowy kontroler stacji dyskietek |
||
03 F6 |
1 bajt |
Podstawowy kontroler IDE — port rozkazów |
||
03F7, bit 7 |
1 bit |
Podstawowy kontroler stacji dyskietek |
||
03F7, bity 6:0 |
7 bitów |
Podstawowy kontroler IDE — port statusu |
||
03F8-03FF |
8 bajtów |
Port szeregowy 1 (COMl) |
||
04D0-04D1 |
2 bajty |
Kontroler przerwań PCI (wyzwalane zboczem/poziomem) |
||
0530-0537 |
8 bajtów |
Windows Sound System (domyślnie) |
||
0604 - 0608 |
8 bajtów |
Windows Sound System (dodatkowo) |
||
0678-067F |
8 bajtów |
Port LPT2, tryb ECP |
||
0778-077F |
8 bajtów |
Port LPTI, tryb ECP |
||
0A20 - 0A23 |
4 bajty |
Karta IBM Token-Ring (domyślnie) |
||
0A24 - 0A27 |
4 bajty |
Karta IBM Token-Ring (dodatkowa) |
||
0CF8 - OCFB |
4 bajty |
Rejestry adresów magistrali PCI |
||
0CF9 |
1 bajt |
Rejestr kontrolny funkcji Reset i Turbo |
||
OCFC - OCFF |
4 bajty |
Rejestry danych magistrali PCI |
||
FFOO - FF07 |
8 bajtów |
Rejestry kontrolera IDE bus master |
||
FF80 - FF9F |
32 bajty |
USB |
||
FFAO - FFA7 |
8 bajtów |
Rejestry podstawowego kontrolera IDE bus master |
||
FFA8 - FFAF |
8 bajtów |
Rejestry dodatkowego kontrolera IDE bus master |
Aby dokładnie poznać sposób działania urządzeń, należy zajrzeć do dołączonej dokumentacji lub poszukać informacji na ich temat w oknie Menedżera urządzeń systemu Windows. Należy zauważyć, że w przypadku niektórych urządzeń w dokumentacji może być tylko podany adres początkowy zamiast pełnego zakresu używanych adresów portów I/O.
Prawie wszystkie urządzenia podłączone do magistral systemowych wykorzystują adresy portów I/O. Większość z nich posługuje się nawet wartościami standardowymi, dzięki czemu konflikty i związane z nimi problemy pojawiają się bardzo rzadko. W następnym podrozdziale zawarto trochę więcej informacji na temat zastosowania adresów portów I/O.
Rozwiązywanie konfliktów zasobów
Zasoby systemowe są ograniczone. Niestety, zapotrzebowanie na nie wydaje się być nieskończone. W miarę instalowania w komputerze kolejnych kart przekonasz się, że wzrośnie potencjalne ryzyko wystąpienia konfliktów zasobów. Jeśli system jest zgodny z mechanizmem PnP, pojawiające się konflikty powinny być automatycznie usuwane, ale często tak nie jest.
Jak sprawdzić, czy w systemie wystąpił konflikt zasobów? Zazwyczaj objawia się to tym, że jedno z urządzeń przestaje działać. Oczywiście mogą się one uwidocznić się też na inne sposoby. Każde z wymienionych poniżej zdarzeń może być zinterpretowane jako konflikt zasobów:
urządzenie wykonuje niewłaściwie operacje przesyłania danych;
system często zawiesza się;
karta dźwiękowa nie generuje prawidłowego dźwięku;
mysz nie działa;
na ekranie monitora pojawiają się różne dziwne znaki bez wyraźnego powodu;
drukarka tworzy bezużyteczne wydruki;
nie można sformatować dyskietki;
komputer uruchamia się w trybie awaryjnym (system Windows 9x/Me) lub korzysta wyłącznie z ostatniej znanej dobrej konfiguracji (Windows 2000/XP).
System Windows 9x/Me i Windows 2000/XP informują o zaistniałych konfliktach poprzez wyróżnienie ikony urządzenia (w oknie Menedżera urządzeń) żółtym lub czerwonym wykrzyknikiem. Po otwarciu okna Menedżera urządzeń z łatwością można zlokalizować konflikty zasobów.
W dalszej części rozdziału zostaną przedstawione kroki, które należy wykonać w celu zidentyfikowania i usunięcia powstałych konfliktów zasobów.
Usuwanie konfliktów zasobów wymaga szczególnej uwagi, ponieważ zaistniały problem wcale może nie być z nimi związany, ale, na przykład, z wirusem. Wiele wirusów komputerowych jest tak napisanych, aby objawiać się w postaci zakłóceń lub okresowo pojawiających się problemów. Jeśli jednak podejrzewasz wystąpienie konfliktu zasobów, wtedy przydatnym może okazać się uruchomienie najpierw programu antywirusowego, który sprawdzi, czy w systemie nie ma wirusów. Dzięki temu można zaoszczędzić godziny związane z niepotrzebną pracą i towarzyszącym jej stresem.
Jedna z metod rozwiązywania konfliktów zasobów polega na wykonywaniu operacji, które zapobiegają ich wystąpieniu. Jest to szczególnie istotne w przypadku składania nowego komputera. Należy wtedy przestrzegać kilka zasad pozwalających uniknąć wielu problemów. Pierwszy z nich związany jest z unikaniem starszych urządzeń ISA. Z założenia nie mogą one współdzielić przerwań — zasobu, który jest najczęściej wykorzystywany. Karty PCI i AGP kompatybilne z funkcją IRQ Steering dysponują możliwością współdzielenia przerwań, dlatego też są zalecane.
Myszy szeregowe, PS/2 i porty równoległe, nadal spotykane w większości nowych komputerów, są urządzeniami ISA, które nie mogą współdzielić przerwań IRQ. Jeśli nie korzystasz już z tych portów, używane przez nie przerwania można przeznaczyć dla innych urządzeń, gdy:
w BlOS-ie zostanie wyłączony port, który nie jest używany,
dokona się takiej konfiguracji BIOS-u, że przerwanie IRQ używane wcześniej przez urządzenia zostanie przydzielone technologii PnP (w niektórych systemach może być to wykonywane automatycznie).
Kolejna metoda zapobiegania konfliktom przerwań polega na instalowaniu kart w określonej kolejności, a ponadto nie wszystkich jednocześnie. Zmiana kolejności montażu kart często okazuje się pomocna, ponieważ wiele kart jest ograniczona do stosowania jednego lub dwóch predefiniowanych przerwań specyficznych dla określonego producenta lub opracowywanych przez niego modeli. Dzięki przeprowadzeniu instalacji kart w przemyślany sposób, oprogramowanie zgodne z Pług and Play może o wiele skuteczniej usuwać konflikty przerwań wywołane przez domyślne konfiguracje różnych kart.
Przy pierwszym uruchomieniu nowego komputera lub takiego, w którym dokonano większej aktualizacji, przede wszystkim należy otworzyć program narzędziowy BIOS Setup. Jeśli BIOS zawiera ustawienie PnP Operating System dotyczące współpracy z systemami operacyjnymi kompatybilnymi z PnP takimi jak Windows 9x/Me/20()0/XP, wtedy należy je uaktywnić. W przeciwnym razie, gdy używamy systemu pozbawionego funkcji PnP takiego jak Windows NT. należy je wyłączyć.
Przy pierwszym uruchomieniu komputera zalecam zastosowanie minimalnej konfiguracji zawierającej tylko kartę graficzną, pamięć i napędy (stacja dyskietek, dysk twardy, CD-ROM i DVD). Dzięki temu są niewielkie szanse, że w takiej uproszczonej konfiguracji wystąpią konflikty. Jeśli zakupiona płyta główna ma dołączoną płytę CD-ROM zawierającą sterowniki chipsetu lub innych zintegrowanych z nią komponentów, koniecznie należy je zainstalować. Zanim rozpoczniesz instalację pozostałych kart i innych urządzeń zewnętrznych, należy dokonać pełnej konfiguracji wszystkich wbudowanych komponentów.
Po zakończeniu konfigurowania głównych elementów systemu (i oczywiście po udanym uruchomieniu systemu operacyjnego oraz wszystkich aktualizacji i poprawek), można rozpocząć instalację po jednym urządzeniu w określonej kolejności. A zatem, wyłącz komputer, zainstaluj nowe urządzenie, uruchom komputer, a następnie wykonaj instalację wszystkich wymaganych sterowników, a na końcu skonfiguruj urządzenie. Prawdopodobnie w celu prawidłowego zakończenia konfiguracji konieczne będzie ponowne uruchomienie komputera.
Czasami namawiam do tego, aby po zainstalowaniu jednego urządzenia, otworzyć okno Menedżera urządzeń systemu Windows i zapisać aktualną konfigurację zasobów. Tym sposobem uzyskuje się zapis zmian ustawień dokonanych w trakcie instalacji urządzenia i jego konfiguracji.
Poniżej podano kolejność instalacji dodatkowych kart:
Karta dźwiękowa.
Modem wewnętrzny lub zewnętrzny.
Karta sieciowa.
Dodatkowe urządzenia graficzne takie jak dekodery MPEG, akceleratory 3D itp.
Kontroler SCSI.
Inne karty.
Stosowanie ustalonej z góry kolejności konfiguracji lub instalacji komponentów systemu zazwyczaj sprawia, że proces integracji jest o wiele łatwiejszy i dodatkowo towarzyszy mu mniejsza ilość konfliktów, które je wywołują.
Ręczne rozwiązywanie konfliktów zasobów
W przeszłości jedyna metoda ręcznego usuwania konfliktów polegała na zdjęciu obudowy komputera i rozpoczęciu modyfikacji ustawień przełączników lub zworek znajdujących się na kartach. Na szczęście w przypadku systemów wyposażonych w funkcję Pług and Play jest to trochę łatwiejsze, ponieważ wszystkie operacje związane ze zmianą konfiguracji są wykonywane przy użyciu Menedżera urządzeń systemu operacyjnym Windows. Chociaż niektóre pierwsze karty kompatybilne z funkcją PnP były dodatkowo wyposażone w zworki lub inne możliwości dokonania ręcznej konfiguracji, to jednak tego typu opcje były głównie spotykane w kartach ISA kompatybilnych z mechanizmem PnP.
Pamiętaj, aby przed rozpoczęciem jakichkolwiek zmian w konfiguracji systemu zapisać lub wydrukować jej aktualne ustawienia. Dzięki temu będziesz wiedział, gdzie dokonano zmian i jak w razie konieczności przywrócić początkową konfigurację.
Postaraj się również poszukać instrukcji obsługi wszystkich zakupionych kart — mogą okazać się przydatne, zwłaszcza gdy można je konfigurować ręcznie lub przełączyć w tryb PnP. Dodatkowo możesz poszukać na stronach internetowych producentów najbardziej aktualnych informacji dotyczących posiadanych kart.
W takim razie możesz teraz zamienić się w detektywa. W trakcie próbowania różnych ustawień zasobów systemowych, pamiętaj o poniższych pytaniach. Odpowiedzi na nie pomogą Ci w zawężeniu obszaru poszukiwań związanego z konfliktem zasobów:
♦ Kiedy pa raz pierwszy konflikt się pojawił? Jeśli wystąpił po zainstalowaniu nowej karty, wtedy może to oznaczać, że to ona jest przyczyną konfliktu. Jeśli natomiast konflikt pojawił się po uruchomieniu nowej aplikacji, wtedy prawdopodobnie współpracuje ona z urządzeniem, które korzysta z zasobów systemowych w niestandardowy sposób.
Czy są zainstalowane w systemie dwa podobne urządzenia, które nie działają? Przykładowo, jeśli wykorzystywane urządzenia współpracujące z portem COM takie jak modem, zintegrowane porty szeregowe lub mysz nie funkcjonują, najprawdopodobniej wystąpił między nimi konflikt.
Czy inni użytkownicy doświadczyli identycznego problemu, a jeśli tak. to w jaki sposób sobie z nim poradzili? Publiczne fora dyskusyjne takie jak CompuServe, internetowe grupy dyskusyjne i America Online są znakomitym miejscem, w którym można uzyskać od innych użytkowników wskazówki pomocne w rozwiązaniu problemu związanego z konfliktem zasobów.
Po każdej dokonanej modyfikacji ustawień systemowych należy ponownie uruchomić komputer i sprawdzić, czy problem zosta! usunięty. W momencie, gdy jesteś pewien, że rozwiązałeś zaistniały problem, nie zapomnij przetestować używanego oprogramowania. Często jest tak, że wyeliminowanie jednego problemu powoduje pojawienie się innego. Jedyna metoda zdobycia gwarancji, że wszystkie problemy zostały usunięte, polega na przetestowaniu całego systemu.
Jedna z najbardziej wartościowych rad, które tutaj zamieściłem, jest związana z jednoczesną modyfikacją tylko jednego elementu i następnie ponownym jego sprawdzeniu. Jest to najbardziej metodyczny i prosty sposób pozwalający na szybkie i skuteczne zidentyfikowanie problemu.
Gdy przystąpisz do usuwania powstałych konfliktów zasobów komputera, powinieneś posłużyć się szablonem konfiguracji systemu, który został omówiony w następnym punkcie.
Zastosowanie szablonu konfiguracji systemu
Szablon konfiguracji systemu jest przydatnym narzędziem, ponieważ na pewno lepiej jest, jeśli coś zostanie zapisane, a nie tylko zapamiętane. W celu utworzenia szablonu należy najpierw zapisać, które zasoby są wykorzystywane przez, poszczególne komponenty systemu. Następnie w momencie, gdy dodawana jest nowa karta lub dokonywana jest zmiana w konfiguracji systemu, dzięki szablonowi można szybko określić potencjalne miejsce wystąpienia konfliktu. Aby wyświetlić i wydrukować tego typu informacje, można posłużyć się oknem Menedżera urządzeń systemu Windows 9x/Me/2000/XP.
Osobiście stosuję szablon, który jest podzielony na trzy podstawowe części, z których dwie dotyczą przerwań i kanałów DMA. natomiast trzecia, środkowa część zawiera listę urządzeń, które nie wykorzystują przerwań. W każdej części po lewej stronie została umieszczona lista przerwań lub kanałów DMA, natomiast po prawej stronie zakres portów I/O. Dzięki temu udało mi się uzyskać bardzo wyraźny obraz przedstawiający wykorzystywane i dostępne zasoby określonego systemu.
Na następnej stronie przedstawiono szablon konfiguracji komputera, który rozwijałem przez lata i nadal korzystam z niego prawie codziennie.
Tego typu szablon konfiguracyjny zamiast na komponentach systemu opiera się na jego zasobach. Każdy wiersz szablonu odpowiada innemu zasobowi i zawiera listę tych komponentów, które go wykorzystują wraz z przydzielonymi wartościami. Do szablonu zostały już wprowadzone wszystkie komponenty obecne w nowoczesnych systemach, którym trwale przydzielono określone zasoby, a tym samym nie można ich zmienić.
Aby wypełnić ten szablon, wykonaj następujące kroki:
1. Wprowadź domyślne zasoby wykorzystywane przez standardowe urządzenia takie jak porty szeregowe
i równolegle, kontrolery dysków i karty graficzne. Aby sprawdzić, w jaki sposób jest skonfigurowana większość typowych urządzeń, możesz posłużyć się częściowo wypełnionym szablonem, który został zamieszczony powyżej.
Wprowadź domyślne zasoby używane przez dodatkowe komponenty, takie jak karty dźwiękowe, kontrolery SCSI, karty sieciowe oraz karty niestandardowe.
Zmień ustawienia w konfiguracji pozycji, dla których wystąpił konflikt. Spróbuj pozostawić wartości domyślne urządzeń zintegrowanych oraz kart dźwiękowych. Ustawienia pozostałych kart mogą być zmodyfikowane, ale pamiętaj o zapisaniu dokonanych zmian.
Oczywiście tego typu szablon będzie przydatny najbardziej w sytuacji, gdy zostanie wykorzystany po zainstalowaniu komponentów, a nie wcześniej. Po wypełnieniu zawartości całego szablonu zgodnie z rzeczywistą konfiguracją systemu można go opisać i przechowywać razem z jego dokumentacją. Gdy będzie konieczne dodanie kolejnych urządzeń, szablon posłuży za przewodnik, który pomoże w ich prawidłowej konfiguracji (jeśli operację trzeba będzie przeprowadzić ręcznie).
Mapa zasobów systemowych |
|
Producent komputera i jego model: |
|
Numer seryjny: |
|
Data: |
|
Przerwania (IRQ): |
Adresy portów l/O:
|
0 — układ czasu systemowego |
040 - 04B |
1 — kontroler klawiatury i myszy |
060 & 064 |
2 — drugi kontroler przerwań 8259 |
0A0-0A1 |
8 — układ RTC/CMOS RAM |
070-071 |
9 — |
|
10 — 1 1 |
|
1 1 — 12 — |
|
i 3 — koprocesor |
0F0 |
14 — |
|
15 — |
|
3 — |
|
4 — 5 — |
|
6 — |
|
7 — |
|
Urządzenia nie wykorzystujące przerwań: |
Adresy portów l/O:
|
Porty standardowe Mono/EGA/VGA |
3B0-3BB |
Porty standardowe EGA/VGA |
3C0-3CF |
Porty standardowe CGA/EGA/VGA |
3D0-3DF |
Kanały DMA: |
|
0 — 1 |
|
1 — 2 — |
|
3 — |
|
4 — Kanały DMA 0-3 (kaskada) |
|
5 — |
|
6 — |
|
7 — |
|
Dzięki Pług and Play czasy ustawionych „na sztywno" przerwań oraz innych zasobów systemowych na dobre należą już do przeszłości. Nie bądź zaskoczony, jeśli po zainstalowaniu nowej karty system przydzieli jej inne przerwanie, adres portu l/O lub kanał DMA. Z tego też powodu zalecam zapisywanie konfiguracji obowiązującej przed i po dodaniu do systemu nowego urządzenia.
Możesz również spróbować stwierdzić, które gniazdo PCI jest używane przez określoną kartę, ponieważ niektóre systemy, w zależności od wykorzystanego gniazda, zamieniają przerwania PCI na inne przerwania ISA. Poza tym w niektórych komputerach gniazda PCI są łączone w pary, a następnie zainstalowanym w nich kartom przypisywane jest to samo przerwanie ISA.
Na stronie 444 przedstawiono poprzednio pokazany szablon, zawierający konfigurację typowego komputera PC z urządzeniami PCI i ISA.
Jak można wywnioskować z powyższego szablonu, dostępne są tylko dwa kanały DMA i jedno przerwanie. Jeśli zostanie włączony port USB zintegrowany z płytą główną, wtedy nie będzie już żadnego wolnego przerwania! Wynika z tego, że w nowszych systemach niedobór przerwań stanowi duży problem, zwłaszcza gdy stosowane są urządzenia PCI i ISA. Jeśli mi się to przytrafia, wtedy zazwyczaj próbuję znaleźć sposób na uwolnienie jednego z innych wykorzystywanych przerwań. Tak naprawdę nie używam portu COMl. a zatem mogę go wyłączyć i w efekcie odzyskać przerwanie IRQ 4. W poniższej przykładowej konfiguracji złącza podstawowego i dodatkowego kontrolera IDE zostały zintegrowane z płytą główną:
kontroler stacji dyskietek.
dwa porty szeregowe,
port równoległy.
To, czy wymienione urządzenia są zintegrowane z płytą główną czy zostały umieszczone na oddzielnych kartach nie ma większego znaczenia, ponieważ w obu przypadkach są przydzielane identyczne zasoby. W tego typu urządzeniach wszystkie ustawienia zazwyczaj mają wartości domyślne i dodatkowo są one zaznaczone w końcowej konfiguracji. Kolejne zadanie polegało na skonfigurowaniu dodatkowych kart. W omawianym przykładzie zastaną zainstalowane następujące karty:
karta graficzna SVGA (ATI Mach 64),
karta dźwiękowa (Creative Labs Sound Blaster 16),
kontroler SCSI (Adaptec AHA-1542CF),
karta sieciowa (SMC EtherEZ).
Korzystne będzie zainstalowanie kart w podanej kolejności. Najpierw zainstalujemy kartę graficzną, a następnie dźwiękową. Ze względu na problemy związane z oprogramowaniem towarzyszącym karcie dźwiękowej, najlepiej zainstalować je wcześniej i sprawdzić, czy zostały użyte tylko ustawienia domyślne. Z reguły lepiej jest zmieniać ustawienia na innych kartach, ale nie na dźwiękowej.
Po zainstalowaniu karty dźwiękowej został dodany kontroler SCSI. Jednak w tym przypadku zastosowane wartości domyślne dla adresów portów I/O (330 - 331) i kanału DMA (5) spowodowały wystąpienie konfliktu z innymi kartami (głównie z kartą dźwiękową). Ustawienia te zostały zmienione na najbliższe wartości, które już go nie wywołują.
Na samym końcu została zainstalowana karta sieciowa, która również korzystała z ustawień przydzielonych już innym kartom. W tym przypadku przerwanie karty Ethernet zostało wstępnie ustawione na wartość 3, którą przydzielono już do portu COM2. Jedyne rozwiązanie polega na zmianie przerwania, którym okazało się IRQ 9 — najbliższa dostępna wartość w ustawieniach konfiguracyjnych karty.
Nawet pomimo to, że przykładowy system cechuje się bogatą konfiguracją, to i tak w celu osiągnięcia jej optymalnej postaci konieczne było zmodyfikowanie konfiguracji tylko trzech kart. Jak można zauważyć, posłużenie się szablonem konfiguracyjnym podobnym do pokazanego powyżej pozwala na dokonanie ustawień modyfikowanych w jasno określonej kolejności, co w przeciwnym razie nie byłoby możliwe i zakończyłoby się wielkim bałaganem. Jedyne problemy, które mogą się pojawić w trakcie korzystania z tego typu szablonów, są związane z kartami niepozwalającymi na wystarczającą swobodę modyfikowania ich ustawień lub pozbawionymi dokumentacji. Jak zapewne się domyślasz, w celu stworzenia kompletnej tabeli konfiguracyjnej podobnej do pokazanej wcześniej będzie wymagany dostęp do dokumentacji wszystkich kart oraz płyty głównej.
Mapa zasobów systemowych
Producent komputera i jego model: Numer seryjny: Data:
Przerwania (IRQ):
— układ czasu systemowego
— kontroler klawiatury i myszy
— drugi kontroler przerwań 8259
— układ RTC/CMOS RAM
— karta sieciowa SMC EtherEZ
—
— kontroler SCSI skanera Adaptec 1542CF
— port myszy zintegrowany z płytą główną
— koprocesor
— podstawowy kontroler IDE (dysk twardy 1 i 2)
— dodatkowy kontroler IDE (CD-ROM/streamer)
— port szeregowy 2 (modem)
— port szeregowy 1 (COM 1)
— karta dźwiękowa Sound Blaster 16
— kontroler stacji dyskietek
— port równoległy I (drukarka)
Urządzenia nie wykorzystujące przerwań:
Adresy portów l/O:
040 - 04B 060 & 064 0A0-0A1 070-071 340-35F
334-337' 060 i 064 0F0
1F0- 1F7, 3F6
170- 177,376
3F8-3FF
2F8-2FF
220-233
3F0-3F5
378 -37F
Adresy portów l/O:
Porty standardowe Mono/EGA/VGA
Porty standardowe EGA/VGA
Porty standardowe CGA/EGA/VGA
Karta graficzna ATI Mach 64 (dodatkowe porty)
Karta dźwiękowa Sound Blaster 16 (port MIDI)
Karta dźwiękowa Sound Blaster 16 (port joysticka)
Karta dźwiękowa Sound Blaster 16 (syntezator FM)
3B0-3BB 3C0-3CF 3D0-3DF
102, 1CE- 1CF. 2EC-2EF
330-331
200 - 207
388-38B
—
— karta dźwiękowa Sound Blaster 16 (8-bitowe DMA)
— kontroler stacji dyskietek
— port równoległy 1 (tryb ECP)
— kanały DMA 0-3 (kaskada)
— karta dźwiękowa Sound Blaster 16 (16-bitowe DMA)
— kontroler SCSI Adaptec 1542CF1
—
Określa wartość zasobu, która w celu usunięcia konfliktu musiała być zmieniona.
Kanały DMA:
Nie ufaj zbytnio programom diagnostycznym takim jak MSD.EXE pracującym pod kontrolą systemu DOS i tworzonym przez różne firmy, które podobno potrafią wyświetlać ustawienia urządzeń takie jak przerwania i porty l/O. Nawet pomimo to, że mogą być pomocne w określonych sytuacjach, to jednak zazwyczaj nie sprawdzają się, przynajmniej w przypadku poprawności niektórych informacji dotyczących systemu. Jeden lub dwa tego typu parametry mogą okazać się bardzo uciążliwe, jeśli uwierzysz w ich poprawność i w efekcie na nich się opierając, dokonasz konfiguracji systemu!
Narzędziem o wiele lepszym od niektórych programów, takich jak AMIDiag i Checklt, a służącym do sprawdzania ustawień systemowych, jest Menedżer urządzeń wbudowany w system Windows 9x/Me/2000/XP. W przypadku urządzeń PnP potrafi nie tylko wyświetlić wartości ustawień, ale również pozwala na ich modyfikację (czasami wymaga to umieszczenia karty w innym gnieździe PCI). Parametry konfiguracji starszych urządzeń mogą być przeglądane, ale nie modyfikowane. Aby zmienić ustawienie tego typu urządzenia (niekompatybilnego z funkcją PnP), konieczna jest ręczna zmiana położenia zworek lub przełączników, a następnie uruchomienie specjalnego programu konfiguracyjnego, w który wyposażona jest karta. Aby uzyskać więcej informacji, należy skontaktować się z producentem karty lub zapoznać się z dołączoną dokumentacją.
Karty specjalne — omówienie problemów
W przypadku niektórych urządzeń, które mogą być zainstalowane w komputerze, wymagane jest określone przerwanie lub kanał DMA. Oznacza to, że z chwilą zakupu tego typu urządzenia można być pewnym pojawienia się mnóstwa konfliktów. Jak już wspomniano w poprzednim punkcie, sposobem na uniknięcie problemów jest zastosowanie szablonu konfiguracyjnego służącego do rejestracji zmian dokonanych w konfiguracji systemu.
Oczywiście, aby uniknąć kłopotów, należy przed rozpoczęciem instalacji nowej karty dokładnie zapoznać się z dołączoną do niej dokumentacją. Zawarte są w niej szczegóły dotyczące wykorzystywanych przerwań, jak również kanałów DMA. Poza tym dokumentacja określa wymagania związane z zapotrzebowaniem karty na pamięć górną, w której przechowywana jest zawartość pamięci ROM.
Choć karty PCI też korzystają ze wszystkich wcześniej omówionych zasobów (poza kanałami DMA), T^l większość z nich zaprojektowano tak, aby używały każdego dostępnego zasobu. A zatem zasoby wykorzystywane przez określoną kartę PCI kontrolowane są bardziej przez konfigurację używanego komputera niż przez samą kartę. Jeśli na przykład przerwanie IRQ3 lub IRQ4 (zwykle przydzielone portom C0M2 i COMl) nie jest używane przez porty szeregowe i udostępniono je w komputerze urządzeniom PCI/PnP, karta PCI może użyć jednego z tych przerwań. Jednak w przypadku komputera, w którym dla urządzeń PCI/PnP dostępne są tylko przerwania IRQ9, IRQ10 i IRQ11, identyczna karta użyje jednego z nich. Co więcej, w niektórych komputerach różnym gniazdom PCI przydzielane są różne przerwania.
W dalszej części rozdziału zostały omówione niektóre z konfliktów, które mogą pojawić się w trakcie instalacji większości popularnych kart. Chociaż podana tutaj lista kart jest daleka od tego, by uznać ja za wyczerpującą, to jednak kolejne podpunkty mogą posłużyć za przewodnik pozwalający na instalację złożonych urządzeń, które mogą być przyczyną problemów. Ponadto zawarto w nich wskazówki dotyczące kart dźwiękowych, kontrolerów SCSI i kart sieciowych.
Karty dźwiękowe
Karty dźwiękowe prawdopodobnie należą do największych pojedynczych „pożeraczy" (ang. resource hog) zasobów systemowych. Zazwyczaj wykorzystują przynajmniej jedno przerwanie, dwa kanały DMA (dotyczy trybu emulacji w DOS-ie) i wiele zakresów adresów portów I/O. Wynika to stąd, że karta dźwiękowa w rzeczywistości jest złożona z kilku różnych komponentów umieszczonych na jednej karcie. Większość kart dźwiękowych, włączając w to model PCI, emuluje funkcje karty Sound Blaster 16 produkowanej przez firmę Creative Labs.
W tabeli 4.82 zestawiono domyślne wartości zasobów wykorzystywanych przez popularną kartę dźwiękową PCI — Creative Labs SB512. Ponieważ karty dźwiękowe są urządzeniami wielofunkcyjnymi, każda funkcja, podobnie jak w przypadku Menedżera urządzeń systemu Windows, została podana w oddzielnym wierszu.
Tabela 4.82. Domyślne zasoby wykorzystywane przez kartę dźwiękową Creative Labs SB512
Urządzenie |
Przerwanie (IRQ) |
Adresy portu I/0 |
16-bitowy kanał DMA |
8-bitowy kanał DMA |
Emulacja karty Sound Blaster 16 |
5 |
0220-022F 0330-0331' 0388-038B2 |
5 |
1 |
Interfejs Creativc Multimedia |
Brak |
D400 - D407 |
Brak |
Brak |
Port joysticka Creative Gameport |
Brak |
0200 - 0207 |
Brak |
Brak |
Karta dźwiękowa Creative SB512 |
93 |
C860-C87F |
Brak |
Brak |
1 Używane przez interfejs MIDI.
2Używane przez syntezator FM.
3 Zależne od określonego systemu i gniazd rozszerzeń PCI.
Choć karty dźwiękowe innych producentów mogą nieznacznie różnić się pod względem konfiguracji, sposób przydziału zasobów jest jednakowy. Emulacja karty Sound Blaster wymaga użycia dużej liczby zasobów. Nawet jeśli nie jest ona wykorzystywana (można ją wyłączyć lub przestać grać w gry działające pod kontrolą systemu DOS), karta w dalszym ciągu może korzystać z przerwania i kilku zakresów adresów portów l/O. Jeśli znajdziesz czas na zapoznanie się z dokumentacją karty dźwiękowej i określenie jej wymagań związanych z kanałami komunikacyjnymi, porównaj je z przerwaniami i kanałami DMA już przydzielonymi komponentom systemu, a następnie, w celu uniknięcia konfliktów pomiędzy kartą dźwiękową a pozostałymi kartami, odpowiednio zmodyfikuj ich ustawienia. Dzięki temu instalacja karty dźwiękowej przebiegnie szybko i bezproblemowo. Niestety, wielu producentów nie publikuje już szczegółowych informacji na temat swoich kart kompatybilnych z mechanizmem Pług and Play. Jest to również powód, dla którego najpierw należy zainstalować kartę dźwiękową, a następnie, posługując się mapą zasobów systemowych zawierającą zapisane ustawienia nowej karty, dodać pozostałe komponenty.
Najlepsza rada związana z instalacją karty dźwiękowej, jakiej mogę udzielić, jest taka, że należy ją zamontować przed innymi kartami. Wyjątkiem jest karta graficzna. Inaczej mówiąc, jeśli Ci to nie przeszkadza, pozwól karcie dźwiękowej wykorzystać wszystkie jej wartości domyślne. Jeśli wystąpi konflikt pomiędzy nią a innymi kartami, spróbuj zmienić ustawienia tych drugich. Cały problem wynika stąd, że wiele starszych programów współpracujących z kartą dźwiękową jest niskiej jakości (nawiązując do możliwości obsługi alternatywnych wartości zasobów). A zatem zaoszczędź sobie zmartwień i daj karcie dźwiękowej pełną swobodę działania!
Nawet najnowsze modele kart dźwiękowych, jeśli zostaną zainstalowane po innych kartach, nie są pozbawione problemów. Znam użytkownika, który był zmuszony do wyjęcia wszystkich kart PnP, ponieważ dopiero wtedy system wykrył obecność zainstalowanej karty dźwiękowej Pług and Play.
Jeśli komputer dysponuje zintegrowanym układem audio, lecz chcesz uzyć karty dźwiękowej, nie wolno zapomnieć przed jej zainstalowaniem o wyłączeniu zintegrowanego układu za pomocą programu BIOS Setup.
Jednym z podanych już w tym rozdziale przykładów potencjalnej przyczyny wystąpienia konfliktu jest zastosowanie kombinacji karty dźwiękowej Sound Blaster 16 i kontrolera SCSI firmy Adapter. Powodem konfliktu jest korzystanie przez obie karty z kanału DMA oraz portów I/O z zakresu 330 - 331. Zamiast zmieniać ustawienia karty dźwiękowej, najbardziej zalecane rozwiązanie polega na przydzieleniu kontrolerowi SCSI najbliższej wolnej wartości, która nie wywoła konfliktu z kartą dźwiękową lub innymi komponentami. Powodem użycia domyślnych ustawień karty dźwiękowej jest to, że niektóre starsze programy (przeważnie systemu DOS) często z nich korzystają i nie zadziałają, gdy ustawienia zostaną zmienione na inne. Jednak w przypadku urządzeń korzystających z portów SCSI można zastosować dowolne ustawienia. Ostateczne wartości zostały zawarte w poprzednim szablonie konfiguracyjnym.
Karty wymienione w szablonie (Sound Blaster 16 i AHA-1542CF) nie zostały tutaj porównane, ponieważ występuje pomiędzy nimi bliżej nieokreślony konflikt. Pomimo to, ze względu na ich dużą popularność, obie karty często są instalowane razem.
Większość nowych kart dźwiękowych PCI nie jest kompatybilna ze starszymi aplikacjami pracującymi pod kontrolą systemu DOS. Spowodowane jest to tym, że, w przeciwieństwie do odpowiadających im produktów ISA, karty PCI nie używają kanałów DMA. Jeśli zatem nie dokonasz aktualizacji oprogramowania do wersji 32-bitowej przeznaczonej dla systemu Windows, wtedy nie będzie możliwa jego współpraca z nowszymi kartami dźwiękowymi PCI. Chociaż większość tego typu kart zawiera emulator pozwalający na ich wykorzystanie przez starsze programy oparte na kanałach DMA, to jednak jego działaniu często towarzyszą problemy. Jeśli używany jest zintegrowany układ audio, sterowniki dołączone do płyty głównej mogą zawierać emulator karty Sound Blaster.
Aby uzyskać jak najlepsze rezultaty, należy zastosować złącze PC/PCI dostępne na niektórych płytach głównych, a służące do wykonania połączenia z kartą dźwiękową z nim kompatybilną. Złącze PC/PCI pozwala karcie dźwiękowej PCI, bez konieczności użycia niewygodnego emulatora, na działanie, które upodabnia ją do karty ISA wykorzytującej kanały DMA.
Chociaż obecnie większość osób raczej zastosuje tego typu karty w wersji PCI. to jednak w dalszym ciągu wymagają one tych samych zasobów, poza kanałami DMA. Niestety, kanały DMA należą to tego typu zasobów, które naprawdę mogą zostać wyczerpane! Niedobór wolnych przerwań często ma miejsce nawet w przypadku kart PCI. Wynika to stąd, że starsze aplikacje trybu rzeczywistego albo sam system Windows 95 lub jego nowsze wersje muszą zostać zamapowane do określonych przerwań ISA. Skuteczna metoda unikania problemów związanych z przerwaniami ISA polega na stosowaniu tylko kart PCI oraz systemu Windows 98 (lub jego nowszych wersji) i BIOS-u obsługujących funkcję IRQ Steering. Po spełnieniu powyższych warunków możliwe będzie pełne współdzielenie przerwań. Większość nowszych komputerów wyposażona jest w płyty główne pozbawione gniazd ISA — tym samym raz na zawsze zrezygnowano z tej magistrali. Dzięki temu wreszcie uwolnimy się od ograniczeń związanych z przerwaniami, które doskwierały nam przez tyle lat.
Karty SCSI
Karty SCSI wykorzystują większą ilość zasobów systemowych niż jakiekolwiek inne, może oprócz karty dźwiękowej, urządzenie instalowane w komputerze. Często korzystają z zasobów, które wywołują konflikty z kartami dźwiękowymi lub sieciowymi, zwłaszcza wtedy, gdy karta SCSI jest wyposażona we własny BIOS obsługujący dyski inicjujące (ang. bootable drives). Typowa karta SCSI ISA dysponująca BlOS-em wymaga przydzielenia przerwania, kanału DMA i zakresu adresów portu I/O, a ponadto segmentu nieużywanej pamięci górnej o wielkości 16 kB. w której zostanie umieszczona zawartość pamięci ROM karty i będzie ona mogła pełnić rolę bufora pamięci RAM. Nawet proste karty SCSI współpracujące ze skanerami wymagają wolnego przerwania i zakresu adresów portu I/O. Na szczęście tego typu karty można w prosty sposób przekonfiguro-wać, przy czym zmiana ustawień nie powinna wpłynąć na wydajność lub poprawność działania aplikacji. Karty SCSI oparte na magistrali PCI wymagają wszystkich zasobów oprócz kanału DMA.
Przed zainstalowaniem karty SCSI należy zapoznać się z dołączoną do niej dokumentacją i upewnić się, że są dostępne wszystkie przerwania, kanały DMA, porty I/O oraz wolny obszar pamięci górnej wymagane przez kartę. Jeśli jeden z zasobów żądanych przez kartę jest już zajęty, wtedy, w celu określenia sposobu modyfikacji ustawień karty SCSI lub innych kart. powinno się wykorzystać szablon konfiguracyjny, który pozwoli zapobiec wystąpieniu konfliktów jeszcze przez rozpoczęciem instalacji karty.
Niektóre karty SCSI i karty sieciowe ze złączem ISA mogą zostać skonfigurowane pod kątem pracy w trybie PnP lub korzystać z konfiguracji określonej ręcznie. W przypadku tych kart można użyć preferowanej metody konfiguracji. Jeśli tryb PnP nie zadziała, kartę należy skonfigurować ręcznie, korzystając ze zworek, przełączników DIP lub oprogramowania.
Karty sieciowe
W ostatnim czasie sieci komputerowe zyskują coraz większą popularność. Wynika ona z pojawienia się łatwych do skonfigurowania niewielkich sieci lokalnych (ang. smali office/home office networks) mających zastosowanie w firmach i domu oraz wskutek zastosowania kart sieciowych służących do uzyskania połączenia z urządzeniami umożliwiającymi szerokopasmowy dostęp do Internetu, takimi jak modemy kablowe lub DSL. Standardowa karta sieciowa nie wymaga takiej ilości zasobów jak niektóre typy omówionych tutaj kart, ale musi mieć do dyspozycji przynajmniej zakres adresów portu I/O i przerwanie. Większość kart sieciowych NIC (ang. network interface card) wymaga również segmentu wolnej pamięci górnej o wielkości 16 kB. która posłuży jako bufor danych pobieranych z pamięci RAM. Podobnie jak w przypadku innych kart. upewnij się. że wszystkie zasoby przydzielone karcie są unikalne i nie są współdzielone przez inne urządzenia. Jeśli karta sieciowa jest zintegrowana z płytą główną, w dalszym ciągu korzysta z przerwania IRQ i adresu portu wejścia-wyjścia.
Karty wieloportowe (porty COM)
Karta wieloportowa zawiera zazwyczaj dwa lub więcej portów szeregowych. Każdy port COM wymaga przydzielenia przerwania i zakresu portów I/O. Dostęp do wolnych adresów portów I/O jest praktycznie bezproblemowy, ponieważ zakresy wykorzystywane przez maksymalnie cztery porty szeregowe zostały dość dobrze w systemie zdefiniowane. Rzeczywisty problem jest związany z przerwaniami. Większość systemów wyposażonych w więcej niż dwa porty COM przydziela dodatkowym portom przerwania przypisane dwóm pierwszym. Nic jest to poprawne rozwiązanie i oczywiście powoduje nieprawidłowe działanie programów uruchamianych pod kontrolą systemu Windows lub OS/2. W przypadku tego typu starszych kart należy upewnić się. że każdemu portowi szeregowemu przydzielono niepowtarzalny zakres adresów I/O i, co ważniejsze, niewykorzystane jeszcze przerwanie.
Wiele nowszych kart wieloportowych, takich jak oferowane przez firmę Byte Runner Technologies, pozwalają na ..inteligentne" współdzielenie przerwań między portami. W niektórych przypadkach zastosowanie jednocześnie nawet 12 portów COM nie wywołuje żadnych problemów. Aby dowiedzieć się, czy zakupiona karta wieloportowa obsługuje automatyczne lub „inteligentne" współdzielenie przerwań, należy skontaktować się z jej producentem.
Chociaż większość osób napotyka na problemy wynikające z nieprawidłowego współdzielenia przerwań, to jeszcze dodatkowo, w przypadku zastosowania w systemie więcej niż dwóch portów, pojawia się dość powszechny i wart skomentowania problem związany z adresowaniem portów I/O. Wiele graficznych chipsetów o dużej wydajności produkowanych przez takie firmy jak S3 Inc. lub ATI wykorzystuje dodatkowe adresy portu I/O, które są powodem konfliktów ze standardowymi adresami portów I/O używanymi przez port COM4.
W zawartej tutaj przykładowej konfiguracji systemowej można zauważyć, że karta graficzna ATI stosuje dodatkowe adresy portu I/O, a mówiąc dokładniej, wartości z zakresu 2EC - 2EF. Jest to przyczyną problemu, ponieważ port COM4 zazwyczaj wykorzystuje adresy z zakresu 2E8 - 2EF, który pokrywa się z zakresem adresów karty graficznej. Karty graficzne posługujące się takim zakresem zazwyczaj nie umożliwiają jego zmiany, dlatego też konieczna jest modyfikacja zakresu adresów portu COM4 polegająca na przydzieleniu mu wartości niestandardowych. Inne rozwiązanie wiąże się z wyłączeniem portu, ale wtedy system będzie dysponował tylko trzema portami szeregowymi. Jeśli jesteś posiadaczem karty zawierającej porty szeregowe i umożliwiającej ustawienie niestandardowych wartości adresów portu I/O, powinieneś upewnić się, że nie są one już wykorzystane przez inne karty. Konieczne jest również wprowadzenie w konfiguracji sterowników lub aplikacji, na przykład pracujących pod kontrolą systemu Windows, zmian, które poinformują je o nowych ustawieniach niestandardowych.
W wielu przypadkach interfejsy USB i Ethernet 10/100 mogą posłużyć do realizacji zadań poprzednio wykonywanych za pomocą portów szeregowych. Jeśli żadne urządzenie komputera nie korzysta już z portów szeregowych, zalecam wyłączenie ich w BlOS-ie. wyjęcie kart portów szeregowych i udostępnienie przydzielonych im przerwań urządzeniom PCI/AGP PnP. Będzie to pomocne w wyeliminowaniu wszelkich konfliktów przerwań, które mogły wystąpić.
Porty USB (Universal Serial Bus)
Obecnie porty USB 1.1/2.0 znajdują się na większości płyt głównych. Poza tym systemy operacyjne takie jak Windows 98/Me/2000 i XP zapewniają pełną ich obsługę. Z zastosowaniem portu USB związany jest potencjalny problem, który wynika z konieczności przydzielenia przez system kolejnego przerwania (czasami większej liczby), wskutek czego w wielu komputerach brakuje wolnych przerwań lub jest tylko jedno. Jeśli Twój komputer obsługuje funkcję PCI IRQ Steering, wtedy problem nie jest aż tak poważny, ponieważ przerwanie wykorzystywane przez port USB powinno być współdzielone z innymi urządzeniami PCI. Jeśli jednak zabraknie wolnych przerwań, wtedy, w celu jego pozyskania, powinieneś sprawdzić, jakie inne urządzenia (takie jak porty COM lub LPT) można wyłączyć.
Patrząc z perspektywy przydziału przerwań lub zasobów, dużą zaletą wynikającą z zastosowania magistrali USB jest to, że niezależnie od ilości podłączonych urządzeń (maksymalnie 127) lub liczby portów USB obsługiwanych przez jeden kontroler USB wymaga ona tylko jednego przerwania. Niektóre komputery z wieloma kontrolerami USB korzystają z dodatkowych przerwań. Kontrolery USB mogą jednak współdzielić przerwania między sobą lub z innymi urządzeniami PCI. A zatem można bez żadnych obaw związanych z wyczerpaniem dostępnych zasobów lub wystąpieniem konfliktów podłączać urządzenia do portu USB lub je odłączać.
Jeśli jednak nie posiadasz urządzeń USB, wtedy przy użyciu programu narzędziowego CMOS Setup powinieneś wyłączyć port USB i dzięki temu zwolnić przydzielone mu przerwanie. W miarę rozpowszechniania się urządzeń podłączanych do portu USB, takich jak klawiatury, myszy, modemy czy drukarki, niedobór przerwań IRQ będzie coraz mniejszym problemem. Jak już mieliśmy okazję się przekonać, wyeliminowanie magistrali ISA na dłuższą metę przyczyni się do rozwiązania powyższego problemu.
Aby uzyskać jak najlepszą wydajność, zwłaszcza w przypadku komputera wyposażonego w napędy wymiennych nośników o dużej pojemności, nagrywarki dysków CD i DVD, skanery i drukarki, należy poszukać płyty głównej dysponującej portami USB 2.0 (High-Speed USB). Tego typu porty są całkowicie zgodne wstecz z urządzeniami USB 1.1 i w przypadku jednoczesnego korzystania z kilku takich urządzeń oferują lepszą wydajność. Aby używany komputer mógł skorzystać z tych samych zalet interfejsu USB 2.0, w gnieździe płyty głównej należy umieścić kartę USB 2.0.
Inne karty
Niektóre karty graficzne wyposażone są w zaawansowane oprogramowanie dysponującymi specjalnymi funkcjami związanymi z przetwarzaniem obrazu wideo, takimi jak zwiększony obszar pulpitu, obsługa niestandardowych monitorów oraz przełączanie rozdzielczości „w locie". Niestety, tego typu aplikacje wymagają, aby karcie graficznej zostało przydzielone przerwanie. Jeśli używana karta graficzna nie wymaga przypisania przerwania, wtedy sugeruję obyć się bez tego niezbyt przydatnego oprogramowania i ustawić kartę w konfiguracji, która pozwoli zwolnić przerwanie i przypisać je innym urządzeniom. Niezależnie od tego należy mieć świadomość, że wiele najnowszych akceleratorów 3D dla zapewnienia poprawnego działania ich funkcji bus-mastering wymaga przydzielenia przerwania. Aby uzyskać więcej informacji, należy zajrzeć do instrukcji obsługi dołączonej do karty graficznej.
Z przetwarzaniem grafiki jest również związana karta dekodera MPEG, która współpracuje ze standardową kartą graficzną. Tego typu karty są wykorzystywane przy profesjonalnej produkcji filmów oraz edycji i odtwarzaniu danych zapisanych w formacie DVD. Niestety, one także wymagają dodatkowych wolnych zasobów systemowych. Jeśli posiadany procesor pracuje z częstotliwością przekraczającą 350 MHz, a ponadto dysponujesz kartą graficzną AGP. wtedy prawdopodobnie wystarczy ona do odtwarzania filmów DVD, natomiast obecność dekodera MPEG będzie zbędna. Aby było możliwe odtwarzanie filmów DVD, należy zastosować przeznaczony do tego program, który powinien być dołączony do karty graficznej lub napędu DVD. Aby uzyskać więcej informacji powinieneś zajrzeć do instrukcji obsługi dołączonej do karty graficznej.
Systemy Pług and Play
Z mechanizmem Pług and Play (PnP) związany jest jeden z przełomów, które nastąpiły w najnowszych rozwiązaniach dotyczących interfejsów. Standard PnP po raz pierwszy pojawił się na rynku w 1995 r., natomiast od 1996 r. jego zalety są wykorzystywane w większości płyt głównych i kart. Wcześniej użytkownicy komputerów osobistych każdorazowo, gdy chcieli zainstalować w nich nowe urządzenie, mieli do czynienia z koszmarem, którym były przełączniki DIP i zworki, natomiast zbyt częstym efektem końcowym były konflikty pomiędzy zasobami systemowymi i nie działające karty.
Mechanizm PnP nie był zupełnie nowy. Stanowił kluczową funkcję w projektach interfejsów MCA i EISA, które zostały opracowane prawie 10 lat wcześniej, ale ze względu na wady samych interfejsów, tak naprawdę nigdy nie stały się standardami przemysłowymi. A zatem większość zwykłych użytkowników musiała martwić się o dostępność adresów portów I/O, kanały DMA i przerwania IRQ. Pierwsze komputery oparte na magistrali PCI również posługiwały się pewną postacią mechanizmu PnP, ale ponieważ nie dysponowały one środkami służącymi do zarządzania konfliktami występującymi pomiędzy kartami PCI i ISA, w efekcie wielu użytkowników nadal borykało się z problemami konfiguracyjnymi. Obecnie standard PnP zyskał dużą popularność, a tym samym wszyscy przyszli użytkownicy komputerów nie muszą się już zastanawiać nad koniecznością ich konfiguracji.
Aby móc w pełni wykorzystać zalety PnP, wymagana jest obecność następujących komponentów:
urządzenia kompatybilne z funkcją PnP,
BIOS PnP.
system operacyjny obsługujący funkcję PnP.
Każdy z powyższych komponentów musi być kompatybilny z PnP. Oznacza to zgodność ze standardem PnP.
Urządzenia PnP
Termin urządzenia PnP odnosi się zarówno do całych systemów, jak i kart. Termin ten jednak nie oznacza tego, że nie można zastosować w systemie PnP kart ISA określanych terminem kart starszego typu (ang. le-gacy cards). Tak naprawdę BIOS PnP dokonuje automatycznego powiązania kart kompatybilnych z funkcją PnP z istniejącymi komponentami starszego typu. Ponadto wiele nowszych modeli kart ISA dysponuje możliwością pracy w trybie PnP.
Aby przekazać informacje dotyczące wymaganych zasobów systemowych, karty PnP komunikują się z BIOS-em i systemem operacyjnym. Z kolei BIOS i system operacyjny usuwają zaistniałe konflikty, a następnie informują kartę o tym, jakich zasobów może używać. Ostatecznie, w celu zastosowania wartości podanych zasobów karta modyfikuje swoją konfigurację.
BIOS
Wymagania postawione wobec BIOS-u oznaczają, że większość użytkowników komputerów PC wyprodukowanych przed 1996 r. musi dokonać jego aktualizacji lub nabyć nowy system dysponujący BlOS-em PnP. Aby BIOS byl w pełni kompatybilny ze standardem PnP, musi obsługiwać 13 dodatkowych wywołań funkcji systemowych. Po zaimplementowaniu tych wywołań system operacyjny może z nich korzystać. Specyfikacja PnP BIOS została opracowana wspólnie przez firmy Compaq, Intel i Phoenix Technologies.
Funkcje PnP zawarte w BlOS-ie zostały zaimplementowane przy użyciu rozszerzonych procedur testowych POST. BIOS jest odpowiedzialny za identyfikację, wyizolowanie i ewentualną konfigurację kart PnP. Realizuje wymienione zadania poprzez wykonanie następujących czynności:
Wyłącza dowolne konfigurowalne urządzenie zintegrowane z płytą główną lub zainstalowane na niej w postaci karty.
Identyfikuje dowolne urządzenie ISA lub PCI kompatybilne z funkcją PnP.
Kompiluje początkową mapę przydzielonych zasobów takich jak porty, przerwania, kanały DMA i pamięć.
Uaktywnia urządzenia I/O.
Szuka układów ROM znajdujących się w urządzeniach ISA.
Konfiguruje urządzenia inicjujące IPL (ang. initialprogram-load), które posłużą później do załadowania systemu.
Uaktywnia konfigurowalne urządzenia poprzez przekazanie im informacji o przydzielonych zasobach.
Uruchamia program samoładujący (ang. bootstrap loader).
Przekazuje kontrolę do systemu operacyjnego.
System operacyjny
Mechanizm PnP jest obsługiwany przez większość obecnie stosowanych systemów operacyjnych takich jak Windows 9x/Me/2000/XP. W niektórych przypadkach producenci komputerów wyposażają poszczególne komponenty w rozszerzenia dotyczące systemu operacyjnego. Najlepszym tego przykładem są komputery przenośne. Jeśli tego typu rozszerzenia są wymagane przez system operacyjny, pamiętaj o ich aktywacji.
Do zadań wykonywanych przez system operacyjny należy też obowiązek informowania użytkowników o zaistniałych konfliktach, które nie mogą być usunięte przez BIOS. Zależnie od stopnia zaawansowania systemu, użytkownik może w takiej sytuacji dokonać ręcznej modyfikacji konfiguracji problematycznych kart (w samym systemie) lub wyłączyć komputer i zmienić ustawienia przełączników umieszczonych na karcie. Po ponownym uruchomieniu komputera wykonywana jest kontrola pozostałych lub zupełnie nowych konfliktów, a następnie o wszystkim jest informowany użytkownik. Cała procedura jest powtarzana do momentu rozwiązania wszystkich konfliktów.
Ze względu na dokonane poprawki w niektórych specyfikacjach standardu Pług and Play, dotyczy Xi to zwłaszcza specyfikacji ACPI, pomocne może się okazać sprawdzenie, czy stosowana jest najnow-sza wersja BIOS-u i systemowych sterowników. W przypadku układu Flash ROM, który jest stosowany w większości systemów PnP, można pobrać ze strony internetowej producenta lub sprzedawcy komputera plik zawierający obraz nowej wersji BIOS-u, a następnie uruchomić dołączony do niego program aktualizujący BIOS.
Kryteria doboru płyt głównych (jeśli wiesz, czego szukasz)
Często jestem proszony o zaproponowanie produktów, które są warte kupienia. Wiele osób nie mających możliwości zasięgnięcia porady eksperta podejmuje decyzję zakupu pozbawioną sensu. Oparta jest ona głównie na porównaniach zawartych w czasopismach lub co gorsza na własnych tendencyjnych osądach. Aby wyeliminować tego typu przypadkowość towarzyszącą podejmowaniu decyzji, stworzyłem prostą listę pozycji, które będą pomocne przy zakupie odpowiedniego systemu. W trakcie jej przygotowywania uwzględniono kilka istotnych aspektów związanych z doborem systemu, a które w większości podobnych zestawień często są pomijane. Podstawowym celem listy jest nabycie pewności, że wybrany komputer jest rzeczywiście kompatybilny i że przez dłuższy okres czasu możliwe będzie wykonanie jego naprawy lub aktualizacji.
Tego typu lista pozwala w momencie dokonywania wyboru systemu w pewnym sensie wczuć się w rolę inżyniera. Weź pod uwagę każdy aspekt i szczegół związany z płytą główną. Przykładowo, powinieneś uwzględnić możliwość jej zastosowania i aktualizacji w przyszłości. Profesjonalna obsługa serwisowa (w przeciwieństwie do umiejętności użytkownika) jest szczególnie istotna. W jakim stopniu można liczyć na pomoc techniczną? Czy została dołączona dokumentacja i czy jest kompletna?
Krótko mówiąc, taka lista jest dobrym pomysłem. Poniżej przedstawiono jedną z nich. Można się nią posłużyć przy doborze systemu. Oczywiście komputer, który zostanie kupiony, nie musi spełniać każdego kryterium znajdującego się na liście, ale jeśli jest tak w przypadku kilku z nich, wtedy lepiej taki system od razu odrzucić. Pozycje znajdujące się na początku listy są najważniejsze, natomiast te, które są umieszczone przy jej końcu, są nieco mniej istotne (chociaż dla mnie wszystkie są równie ważne). W pozostałej części rozdziału zostaną szczegółowo omówione kolejne kryteria poniższej listy:
♦ Chipset płyty głównej. Płyty główne powinny być wyposażone w chipset o dużej wydajności, który jest w stanie współpracować z pamięcią DDR/DDR-2 SDRAM DIMM lub RDRAM RIMM, przy czym preferowane są układy kompatybilne z funkcją kodu korekcji błędów (ECC), jeśli oczywiście zależy Ci na wykrywaniu błędów pamięci, zanim dojdzie do uszkodzenia przechowywanych w niej danych. Poza tym poszukaj chipsetu, który obsługuje standard AGP x4 lub szybszy oraz dyski twarde kompatybilne z interfejsem ATA-100. Chipset płyty głównej stanowi „kręgosłup" całego systemu i chyba jest najważniejszym rozpatrywanym pojedynczym komponentem. Osobiście większość czasu
poświęcam na podejmowaniu decyzji dotyczącej wyboru nowego chipsetu. Jest tak, ponieważ to on ma wpływ na niemal każdy inny komponent znajdujący się w systemie.
♦ Procesor. Nowoczesny komputer powinien być wyposażony w procesor zintegrowany z pamięcią podręczną L2 i instalowany w gnieździe typu Socket. Weź pod uwagę aktualnie dostępne modele procesorów i spróbuj odszukać ten, który oferuje najwyższą częstotliwość pracy magistrali FSB (ang. front-side bus). Nie przejmuj się zbytnio jak największą pojemnością pamięci Cache L2
— jej mniejsza ilość w zupełności wystarczy. Bardziej istotne jest to, czy tego typu pamięć pracuje z częstotliwością rdzenia procesora (jeśli jest z nią zintegrowana, to tak). Kryterium to spełniają aktualnie dostępne procesory, takie jak Athlon XP, Pentium 4, Celeron 4 i Athlon 64. Zazwyczaj namawiam do zakupu procesorów sprzedawanych przez firmę Intel i AMD tylko w wersji „pudełkowej". Dzięki temu, otrzymamy wysokiej jakości radiator aktywny oraz instrukcję instalacji i 3-letnią gwarancję udzieloną bezpośrednio przez producenta.
Gniazdo procesora. Aby uzyskać jak największą wydajność i zmaksymalizować możliwość aktualizacji, należy wybierać spośród systemów wyposażonych w gniazdo procesora typu Socket. Aktualnie do najczęściej stosowanych gniazd nowych komputerów należy zaliczyć — gniazdo Socket A (Socket 462) przeznaczone dla procesorów Duron/Athlon/Athlon XP, gniazdo Socket 478 (zastąpiło gniazdo Socket 423) dla procesorów Pentium 4/Ce!eron 4, gniazdo Socket 754 obsługujące układ Athlon 64 oraz gniazdo Socket 939 (zastąpiło gniazdo Socket 940) zgodne z procesorem Athlon 64FX. Jeśli wybrana płyta główna posiada jedno z wymienionych gniazd, oznacza to, że jesteś na właściwej drodze.
Częstotliwość płyty głównej. Płyta główna zazwyczaj oferuje kilka różnych szybkości z zakresu od 200 do 400 MFIz (procesory Duron/Athlon/ Ahtlon XP) lub od 400 do 800 MHz w przypadku płyt współpracujących z procesorem Pentium 4. Upewnij się, że kupowana płyta główna jest
w stanie pracować z częstotliwością wymaganą przez procesor, który zostanie na niej zainstalowany.
Pamięć cache. Wszystkie nowsze systemy wykorzystują procesory zintegrowane z pamięcią podręczną, przy czym aktualnie większość z nich dysponuje pamięcią cache umieszczoną bezpośrednio w rdzeniu i pracującą z jego szybkością. Z tego też powodu płyty główne w nowszych komputerach są pozbawione tego typu pamięci. Ważne jest, aby sprawdzić, czy posiadany procesor jest wyposażony w zintegrowaną pamięć cache L2 pracującą z częstotliwością jego rdzenia. Wynika to stąd, że możliwe jest wtedy osiągnięcie maksymalnej wydajności. Wszystkie najnowsze modele procesorów są zintegrowane z pamięcią podręczną L2.
Moduły pamięci SIMM/DIMM/RIMM. Zgodnie z obecnymi standardami pamięć SIMM jest już przestarzała, dlatego też unikaj płyt głównych w nią wyposażonych. Wybrana płyta powinna obsługiwać standardowy typ pamięci SDRAM (moduły SIMM), pamięć DDR SDRAM (moduły DDR DIMM) lub RDRAM (moduły RIMM). To, jaki typ pamięci zostanie użyty, zależy głównie od modelu chipsetu płyty głównej, dlatego też należy dobrać taki jej model, który będzie obsługiwał wymagane moduły pamięci. W chwili obecnej pamięci DDR/DDR-2 SDRAM i RDRAM należą do najszybszych na rynku, przy czym ostatnia z wymienionych jest znacznie droższa. Obecnie pamięć SDRAM jest znacznie droższa od pamięci DDR SDRAM, ponieważ nie jest już wykorzystywana
w sprzedawanych dziś komputerach.
Systemy o strategicznym znaczeniu powinny obsługiwać pamięć wyposażoną w kod kontroli błędów (ECC) i dysponować płytą główną w pełni kompatybilną z tą funkcją. Należy zauważyć, że wiele tańszych chipsetów, takich jak układy z serii Intel 810/815, nie obsługują funkcji ECC, a zatem nie nadają się do zastosowania w systemach ogrywających ważną rolę. Powinieneś być tego świadom jeszcze przed dokonaniem zakupu komputera.
Zauważ również, że większość płyt głównych jest wyposażona w trzy lub cztery gniazda pamięci DIMM oraz w dwa lub trzy gniazda pamięci RIMM. Pamiętaj o wypełnieniu tych gniazd w rozsądny sposób, tak aby później nie było konieczności wyjmowania modułów i dodawania ich większej ilości, ponieważ pod względem ekonomicznym nie będzie to zbyt korzystne rozwiązanie.
♦ Typ magistrali. W większości płyt głównych brak jest już gniazd magistrali ISA, dlatego też, jeśli posiadasz jakiekolwiek karty ISA, najprawdopodobniej będziesz musiał je odłożyć na półkę lub użyć w starszych komputerach. Zamiast gniazd ISA, na nowych płytach można ujrzeć od jednego do pięciu, a nawet więcej, gniazd lokalnej magistrali PCI. Sprawdź, czy są one kompatybilne ze specyfikacją
PCI 2.1 lub nowszą (jest to głównie zależne od chipsetu). Przyjrzyj się rozmieszczeniu gniazd i zastanów, czy zainstalowane w nich karty nie przeszkodzą w założeniu modułów pamięci lub czy nie będą blokowane przez inne komponenty znajdujące się wewnątrz obudowy komputera. Systemy pozbawione zintegrowanej karty graficznej powinny dysponować jednym gniazdem AGP x4 lub x8 pozwalającym na zainstalowanie karty graficznej AGP o dużej wydajności. W niektórych bardzo wydajnych komputerach zamiast gniazda AGP x4/x8 używane jest nowe gniazdo PCI-Express xl6 (czasami dostępne są oba). Niektóre płyty główne zawierają również specjalne gniazdo AMR (ang. audio modem riser) lub CNR (ang. Communications networking riser) umożliwiające instalację dodatkowych kart dźwiękowych, modemowych i tym podobnych. Jeśli płyta główna posiada gniazdo AMR lub CNR. ale nie dołączono do niej instalowanej w nich karty, należy — w celu stwierdzenia, czy dostępne są karty oferujące żądane funkcje — skontaktować się z producentem płyty.
BIOS. Płyta główna powinna posiadać BIOS zgodny z przemysłowymi standardami produkowany przez takie firmy jak AMI, Phoenix lub Award. W celu ułatwionej aktualizacji BIOS powinien być umieszczony w układzie Flash ROM lub EEPROM. Sprawdź, czy układ dysponuje możliwością przywrócenia (za pomocą zworki funkcji BIOS Recover lub programowej zmiany trybu) poprzedniej zawartości BIOS-u oraz czy jest możliwe ustawienie przy użyciu zworki ochrony przed modyfikacją zawartości układu Flash ROM.
Format płyty głównej. Pod względem elastyczności, wydajności, stabilności i łatwości obsługi format ATX (w tym MicroATX i FlexATX) nie mają sobie równych. W porównaniu z formatem Baby-AT. pod względem wydajności i funkcjonalności format ATX posiada kilka wyraźnych zalet. Poza tym jest zdecydowanie lepszy od każdego formatu niestandardowego takiego jak LPX. Choć format FlexATX coraz częściej wykorzystywany jest w tańszych i mniejszych komputerach stacjonarnych, dodatkowo pod uwagę można brać format NLX. Najnowszy z formatów, BTX, oferuje znakomite chłodzenie, ale jest droższy od formatu ATX i wymaga zastosowania nowego typu zasilacza i obudowy.
Wbudowane interfejsy. W idealnej sytuacji płyta główna powinna posiadać jak największą ilość zintegrowanych kontrolerów i interfejsów (może poza kartą graficzną). Aktualnie panuje tendencja zmierzająca do tworzenia systemów pozbawionych przestarzałych komponentów, takich jak typowy układ Super I/O. Z tego też powodu umożliwiają one podłączenie zewnętrznych urządzeń tylko przy użyciu portów USB lub IEEE 1394. Tego typu komputery nie posiadają tradycyjnych gniazd klawiatury i myszy, portów szeregowych i równoległych i prawdopodobnie nawet wewnętrznego kontrolera stacji dyskietek. Systemy wyposażone w układ Super I/O dysponują jeszcze takimi interfejsami.
Obecność zintegrowanej karty sieciowej Ethernet 10/100 lub 10/100/1000 jest zalecana, zwłaszcza wtedy, gdy komputer będzie podłączony do Internetu za pośrednictwem modemu kablowego lub urządzenia DSL. Mile widziana jest także wbudowana karta dźwiękowa w pełni kompatybilna ze standardem Sound Blaster i oferująca również dodatkowe możliwości, takie jak dźwięk przestrzenny 6- (5.1) lub 8-kanałowy (7.1) i połączenie SPDIF z zestawem kina domowego. Jeśli zamierzasz zastosować kartę dźwiękową do bardziej profesjonalnych celów, wtedy można rozważyć mniej popularne rozwiązania zintegrowane lub nawet zakup oddzielnej karty. W niektórych przypadkach obecność wbudowanej karty graficznej ma duże znaczenie, ale ponieważ na rynku dostępna jest spora ilość układów i kart graficznych, zazwyczaj lepsze rozwiązania można znaleźć wśród kart współpracujących z magistralą lokalną. Potwierdza się to szczególnie wtedy, gdy zamierzamy kupić kartę graficzną o jak najlepszej wydajności.
Celem instalacji w przyszłości dodatkowych kart, urządzenia zintegrowane zazwyczaj mogą być wyłączone, ale w efekcie mogą pojawić się różne problemy.
♦ Zintegrowane interfejsy IDE. Chociaż od pewnego czasu wszystkie płyty główne dostępne w sprzedaży zawierają wbudowane interfejsy IDE. to jednak nie są one sobie równorzędne. Wybrana płyta główna powinna przynajmniej obsługiwać standard UDMA/66 (ATA-66), co pozwoli na zastosowanie dysków twardych IDE oferujących aktualnie najwyższą osiągalną wydajność w tej kategorii urządzeń. W rzeczywistości interfejsy UDMA/66, UDMA/100 i UDMA/133 pod względem wydajności przewyższają możliwości aktualnie dostępnych dysków z nimi kompatybilnych, dlatego też pozostanie jeszcze rezerwa na nowsze modele dysków. Aby uzyskać jeszcze lepszą wydajność, warto rozważyć kupno płyty głównej zintegrowanej z kontrolerami RAID. Jeśli w tego typu płytach zostały zainstalowane dwa lub więcej identycznych dysków twardych IDE, możliwe jest utworzenie zestawów paskowych lub lustrzanych, które pozwalają odpowiednio na zwiększenie szybkości dostępu do danych lub uzyskanie dodatkowego stopnia ich bezpieczeństwa. Płyty główne dysponujące kontrolerem RAID oparte są na różnych typach chipsetów obsługujących funkcję RAID produkowanych przez takie firmy jak AMI, HighPoint lub Promise. Interfejs SATA jest jeszcze szybszy od ATA-133 i w znacznym stopniu przekracza wymagania dotyczące wydajności aktualnie stosowanych napędów SATA pierwszej generacji.
Biorąc pod uwagę nie mający końca „strumień" wciąż pojawiających się na rynku nowych płyt głównych, znalezienie modelu, który będzie spełniał wszystkie kryteria może być trudnym zadaniem. Narzędzie wyszukiwawcze Mobot znajdujące się na stronie internetowej Motherboard Homeworld pomaga w odszukaniu odpowiedniego modelu płyty. Wśród kryteriów wyszukiwawczych znajdują się takie parametry jak format, platforma sprzętowa, chipset, typ i model procesora, producent, typ pamięci i gniazd, wbudowane porty itp. Wyszukiwarka znajduje się pod następującym adresem: http://iceberg.pchomeworld.com/cgi-win/mobotGen/mobot.asp.
Zarządzanie energią. Płyta główna powinna być w pełni kompatybilna z najnowszą wersją standardu dotyczącego zarządzania energią, którym jest ACPI. Godna uwagi jest również zgodność z funkcją Energy Star, ponieważ tego typu system przełączony w tryb uśpienia zużywa poniżej 30 W energii elektrycznej, dzięki czemu płacimy mniejszy rachunek za prąd.
Dokumentacja. Istotne znaczenie ma dobrze wykonana dokumentacja techniczna. Powinna ona zawierać informacje na temat wszystkich zworek i przełączników znajdujących się na płycie głównej i kartach, opis i rozmieszczenie końcówek wszystkich złączy, specyfikacje innych zainstalowanych komponentów oraz dane techniczne innego rodzaju. Większość producentów udostępnia dokumentację na swoich stronach internetowych w postaci pliku PDF (obsługiwany przez program Acrobat Reader). Dzięki temu można zapoznać się z informacjami na temat określonej płyty głównej jeszcze przed jej nabyciem.
Wsparcie techniczne. Wysokiej jakości wsparcie techniczne nie ogranicza się do zaoferowania dokumentacji. Uwzględnia też udostępnianie aktualizacji BIOS-u i sterowników, listy pytań i odpowiedzi, aktualnych tabel dotyczących zgodności z procesorami i pamięcią, a także narzędzi pomocnych w monitorowaniu stanu systemu. Dodatkowo powinno być możliwe skontaktowanie się z producentem telefonicznie lub za pośrednictwem poczty elektronicznej.
Prawdopodobnie zauważyłeś, że powyższe kryteria wyboru wydają się być dość surowe, wskutek czego mogą wyeliminować wiele płyt głównych dostępnych w sprzedaży łącznie z tą, która znajduje się już w Twoim komputerze! Patrząc na to z innej strony, tego typu kryteria zagwarantują, że wybierzesz wysokiej jakości płytę główną, która będzie kompatybilna z najnowszymi technologiami stosowanymi w komputerach PC, a ponadto będzie możliwe dokonanie jej ulepszenia i aktualizacji oraz uzyska się długoterminowe wsparcie techniczne.
Przeważnie polecam zaopatrzenie się w płytę główną wytwarzaną przez najbardziej uznanych producentów takich jak Intel, Acer, ABIT, AsusTek, SuperMicro, Tyan, FIC i kilku innych. Tego typu płyty mogą być trochę droższe, ale w zamian uzyskuje się większą pewność jakości produktów bardziej znanych firm. Zmierzam do tego, że im więcej określona firma sprzedaje płyt głównych, tym większe jest prawdopodobieństwo, że wszelkie problemy zostaną wykryte przez innych i usunięte na długo, zanim sam się na nie natkniesz. Poza tym, jeśli zaistnieje konieczność skorzystania z usług obsługi technicznej, wtedy pewniejsze jest, że więksi producenci będą dłużej istnieć.
Dokumentacja
Jak już wspomniano, dokumentacja jest istotnym kryterium, które należy wziąć pod uwagę w chwili zakupu płyty głównej. Większość producentów płyt głównych projektuje je w oparciu o określony typ chipsetu, który w rzeczywistości zawiera w sobie ogromną ilość układów elektronicznych. Wiele firm takich jak Intel, VIA, ALi, SiS i innych zajmuje się produkcją chipsetów. Osobiście namawiam do uzyskania bezpośrednio od producenta chipsetów dokumentacji technicznej.
Przykładowo, jedno z częstszych pytań dotyczących komputera, które są mi zadawane, jest związane z programem narzędziowym BIOS Setup. Wiele osób chce wiedzieć, jaką funkcję pełnią ustawienia zawarte w sekcji Advanced Chipset Features i co się stanie, jeśli zostaną zmodyfikowane. Często zwracają się o pomoc do producenta BIOS-u. sądząc, że jego dokumentacja będzie zawierała szukane informacje. Równie często wiele osób dochodzi do wniosku, że w dokumentacji BIOS-u nie ma szukanego wyjaśnienia funkcji dotyczących chipsetu. Tego typu informacje są dostępne w opracowaniach przygotowywanych przez producenta chipsetów. Chociaż z założenia są one przeznaczone dla inżynierów projektujących płyty główne, to jednak zawierają szczegółowe informacje na temat funkcji chipsetu, a zwłaszcza tych, które można konfigurować. Będąc w posiadaniu dokumentacji technicznej chipsetu, poznasz znaczenie wszystkich ustawień znajdujących się w sekcji Advanced Chipset Features programu narzędziowego BIOS Setup.
Oprócz dokumentacji technicznej chipsetu namawiam do zdobycia każdej tego typu publikacji dotyczącej innych istotnych układów znajdujących się w komputerze. Należy do nich zaliczyć kontrolery stacji dyskietek i dysków twardych IDE. układ Super I/O i oczywiście procesor. W poświęconej im dokumentacji technicznej znajdziesz niewiarygodną ilość informacji.
Większość producentów chipsetów wytwarza określony jego typ tylko przez krótki okres czasu, po czym natychmiast zastępuje go ulepszoną lub zmodyfikowaną wersją. Dokumentacja techniczna chipsetu jest dostępna tylko na czas jego produkcji, dlatego też jeśli będziesz zwlekał zbyt długo, może się okazać, że nie będzie już możliwości uzyskania do niej dostępu. A zatem warto od razu zacząć kompletować dokumentację do posiadanej płyty głównej!
Komponenty pracujące z zawyżoną częstotliwością
Niektórzy producenci w celu obniżenia kosztu wytwarzanych przez siebie komputerów umieszczają w nich komponenty nie spełniające obowiązujących norm jakości. Ze względu na to, że procesor jest jednym z najdroższych elementów instalowanych na płycie głównej, a same płyty są dostarczane producentom komputerów bez niego, daje to okazję do zamontowania tańszego procesora, którego wydajność jest niższa od określonej w ofercie sprzedaży. Przykładowo, system jest sprzedawany jako komputer z procesorem o częstotliwości 2,4 GHz, ale gdy zdejmie się obudowę, może się okazać, że w rzeczywistości jest to tylko 2 GHz. Tego typu praktyki określa się terminem przetaktowywania (ang. overclocking). Wielu producentów komputerów stosowało je przez ostatnie kilka lat. Niektórzy z nich dopuszczają się znakowania procesorów, wskutek czego, nawet jeśli sprawdzi się ich oznaczenia, będą one wskazywały rzekomo prawidłową częstotliwość. Najlepsza metoda powstrzymania tego procederu polega na kupowaniu komputerów od uznanych i markowych producentów oraz zaopatrywaniu się w procesory u dystrybutorów, którzy są blisko powiązani z ich producentami, Przetaktowywanie jest dobre dla eksperymentów przeprowadzanych na własne ryzyko, ale w momencie, gdy dokonuję zakupu nowego komputera, spodziewam się, że wszystkie jego komponenty będą pracowały z szybkością, która została określona przez producenta.
^ ^ Zajrzyj do punktu „Szybkość procesorów" znajdującego się na stronie 88.
Jeśli procesor pracuje z zawyżoną szybkością, wtedy też bardziej się nagrzewa. Może to powodować, że od czasu do czasu procesor ulega przegrzaniu, wskutek czego pojawiają się losowe przypadki zawieszenia i zakłóceń. Szczególnie ważne jest, aby upewnić się, że kupowane komponenty faktycznie warte są swojej ceny i pracują z szybkością określoną przez producenta.
Trzeba również pamiętać o zastosowaniu zalecanej substancji odprowadzającej ciepło z radiatora (pasta termiczna). Jej użycie może zwiększyć wydajność radiatora nawet o 30%.
Praktyka polegająca na zawyżaniu parametrów pracy będzie nadal funkcjonować, ponieważ procesory pracujące z wyższymi częstotliwościami są znacznie droższe. Firma Intel oraz inni producenci procesorów zazwyczaj ustalają parametry ich pracy w sposób bardzo zachowawczy. W ciągu kilku lat przetaktowałem wiele procesorów i niektóre z nich czasami pracowały ze znacznie zawyżonymi częstotliwościami. Chociaż mogę nabyć procesor Pentium 4 taktowany zegarem 2.4 GHz i zwiększyć częstotliwość do 2.6 GHz, to jednak, jeśli wystąpią zawieszenia i zakłócenia w jego pracy, wtedy natychmiast przywrócę poprzednią wartość i ponownie wykonam testy. Jeśli dokonam zakupu komputera wyposażonego w procesor pracujący z częstotliwością 2,6 GHz, oczekuję, że faktycznie taka wartość została określona przez producenta, a nie że otrzymałem wolniejszy układ, który został przetaktowany!
Przetaktowywanie zostało ograniczone przez firmy Intel i AMD, które zaczęły stosować blokowanie mnożnika częstotliwości magistrali procesora, co miało uniemożliwić proste zwiększanie szybkości poprzez zmianę ustawienia mnożnika znajdującego się na płycie głównej. Chociaż takie posunięcie miało być metodą walki ze znakowaniem procesorów i oszukiwaniem ich nabywców, to jednak, niestety, uniemożliwiło również niektórym użytkownikom „podkręcanie" procesorów swoich komputerów. Oczywiście w dalszym ciągu możliwe jest przetaktowywanie większości procesorów, co sprowadza się do zwiększenia, w ograniczonym zakresie, częstotliwości pracy magistrali FSB (ang. front-side bus). Wiele płyt głównych dostępnych w sprzedaży dysponuje możliwością ustawienia nietypowych częstotliwości magistrali procesora, które zostały dodane specjalnie z myślą o przetaktowywaniu. Aby sprawdzić, czy posiadana płyta główna należy do tej grupy, należy zapoznać się z dołączoną instrukcją obsługi lub pobrać dokumentację ze strony internetowej producenta. Może się okazać, że Twoja płyta dysponuje możliwościami, których nie byłeś nawet świadom.
Jeśli zamierzasz kupić procesor lub cały komputer, upewnij się, że umieszczone oznaczenia rzeczywiście zostały wykonane przez firmę Intel lub AMD oraz że podana częstotliwość jest tą, za którą zapłaciłeś.
Końcowy wniosek brzmi —jeśli oferowana cena jest zbyt atrakcyjna, by była prawdziwa, wtedy przed podjęciem decyzji zadaj następujące pytanie, czy użyte komponenty rzeczywiście pracują z szybkością określoną przez ich producenta.
Aby określić szybkość procesora, należy sprawdzić widniejące na nim oznaczenia. W celu uzyskania dokładniejszych informacji dotyczących interpretowania oznaczeń pozwalających określić rzeczywistą szybkość procesora, należy zajrzeć do rozdziału 3.
Należy podchodzić z rezerwą do programów określających szybkość procesora. Większość tego typu narzędzi podaje tylko przybliżoną częstotliwość pracy procesora, a nie wartość ustaloną przez producenta. Aktualna szybkość procesora może nie być jego prędkością nominalną, co może być skutkiem przetaktowania lub obniżenia częstotliwości, gdy system nie jest zbyt obciążony (praktykowane w niektórych nowych komputerach). Wyjątkiem jest program Intel Processor Frequency ID Utility, który jest w stanie określić, czy procesor firmy Intel pracuje z poprawną nominalną częstotliwością. Chociaż program firmy Intel podaje tylko ogólne informacje na temat procesora, to jednak wyróżnia się tym, że potrafi nie tylko określić rzeczywistą częstotliwość procesora Pentium III, układów Celeron (opartych na rdzeniu Coppermind) trzeciej generacji oraz nowszych modeli, ale również sprawdzić, czy zostały one przetaktowane. Program Intel Processor Frequency ID Utility można pobrać z strony internetowej znajdującej się pod adresem: http://developer.intel.com/support/ processors/tools/frequencyid/download.htm.
Obudowy starszego typu z zaznaczoną na nich szybkością systemu, zazwyczaj nie wskazują rzeczywistej lub zawyżonej częstotliwości procesora znajdującego się wewnątrz. Tego typu wyświetlacze mogą wyświetlać dowolną wartość, która zostanie ustawiona za pomocą zworek! Z tego też powodu nie mają one związku z faktyczną szybkością systemu.
Większość lepszych narzędzi diagnostycznych dostępnych w sprzedaży, takich jak Norton Utilities firmy Symantec lub SiSoftware Sandra, odczytuje wartość parametru ID, wersję procesora (ang. stepping) oraz wyświetla jego aktualną częstotliwość (nie nominalną). Aby stwierdzić, jak przedstawia się sytuacja w przypadku Twojego procesora, należy skontaktować się z jego producentem lub zapoznać się z zawartością tabel z rozdziału 3. zawierających zestawienia określone według różnych wersji układów.
Rozdział 5.
BIOS
Podstawowe informacje o BlOS-ie
Często się zdarza, że użytkownicy mają problemy z dostrzeżeniem granicy pomiędzy sprzętem a oprogramowaniem komputera PC. Bierze się to stąd, że oba elementy, w zakresie projektu, budowy i działania komputera, w dużym stopniu są ze sobą powiązane. Zrozumienie tych aspektów ma kluczowe znaczenie dla uświadomienia sobie roli, jaką odgrywa w systemie BIOS.
BIOS to skrót wywodzący się od słów basie input/output system, czyli podstawowy system wejścia-wyjścia. BIOS zawiera niskopoziomowe oprogramowanie nadzorujące pracę urządzeń komputera będące interfejsem pomiędzy systemem operacyjnym a tymi urządzeniami. Większość osób słyszało o BlOS-ie określanym innym terminem — sterowników urządzeń (ang. device drivers) lub po prostu sterowników (ang. drivers). BIOS jest w swojej istocie łącznikiem między oprogramowaniem systemowym a sprzętem.
BIOS pierwszego komputera PC zawierał sterowniki wszystkich urządzeń komputera i był zapisany w jednym lub większej liczbie układów pamięci ROM (czyli takiej pamięci, która nie traci swojej zawartości po wyłączeniu zasilania) umieszczonych na płycie głównej komputera. Tak zapisane sterowniki były samowystarczalne i zawsze dostępne po włączeniu komputera.
Układ ROM mieszczący BIOS komputera zawierał również program testujący działanie podzespołów komputera (POST) oraz program ładujący. Zadaniem tego ostatniego było zainicjowanie ładowania systemu operacyjnego przez odczytanie i uruchomienie programu zapisanego w sektorze rozruchowym dyskietki lub dysku twardego. Po załadowaniu system operacyjny mógł komunikować się z urządzeniami komputera za pośrednictwem niskopoziomowych procedur (sterowników urządzeń) zapisanych w BlOS-ie. W tamtych czasach BIOS zapisany w pamięci ROM płyty głównej zawierał sterowniki wszystkich niezbędnych wówczas urządzeń. Należały do nich klawiatura, karta graficzna MDA/CGA, porty szeregowy i równoległy, kontroler stacji dyskietek, kontroler dysku twardego, joystick i zegar.
Po załadowaniu system operacyjny nie musiał ładować sterowników wyżej wymienionych urządzeń, gdyż wszystkie były zapisane w stale dostępnej pamięci ROM. Rozwiązanie takie sprawdzało się do czasu, gdy zaszła potrzeba dodania do komputera nowego urządzenia, którego sterownika nie było w pamięci ROM. W takim przypadku istniały jednak dwie możliwości. Jeżeli dodane urządzenie znajdowało się na karcie rozszerzeń, mogła się na niej również znajdować pamięć ROM zawierająca odpowiednie sterowniki. Program zapisany w pamięci ROM płyty głównej podczas uruchamiania komputera poszukuje w zadanym obszarze pamięci ROM kart rozszerzeń. Gdy takową znajdzie, testuje ją i wykonuje zapisany w niej kod, dzięki któremu zawarte w niej funkcje rozszerzają zestaw funkcji oferowanych przez BIOS. Mówiąc prościej. ROM płyty głównej asymiluje pamięć ROM znajdującą się na karcie rozszerzeń.
Taki sposób dodawania sterowników urządzeń był wykorzystywany przez niektóre urządzenia, które musiały rozpocząć działanie natychmiast po włączeniu komputera. Przykładem takich urządzeń są karty graficzne. Problem w ich przypadku wynikał z tego, że kod BIOS-u zapisany w układzie ROM zainstalowanym na płycie głównej zawierał sterowniki tylko karty monochromatycznej (MDA) oraz kolorowej (CGA) produkowanych przez firmę IBM. Z tego powodu każda inna niż wymienione karta graficzna nie mogłaby działać. Problem ten rozwiązano, wyposażając wszystkie pozostałe karty graficzne we własne sterowniki, zapisane w ich pamięciach ROM. które natychmiast po uruchomieniu komputera są włączane do zestawu sterowników BIOS.
Dla nowych urządzeń nie mających postaci karty rozszerzeń musiano opracować inny sposób dodawania ich sterowników do sterowników oferowanych przez BIOS. Stworzono rozwiązanie polegające na tym. że program uruchomieniowy systemu operacyjnego (IO.SYS) odczytywał z dysku plik konfiguracyjny [CONFIG.SYS), zawierający informacje o sterownikach obsługujących nowe urządzenia. Plik CONFIG.SYS oraz wymienione w nim sterowniki urządzeń zapisane były na dysku startowym. Po odczytaniu i załadowaniu do pamięci przez program IO.SYS sterowniki nowych urządzeń włączane były do zestawu pozostałych sterowników. Mówiąc w skrócie, sterowniki po załadowaniu z dysku do pamięci RAM stawały się częścią BIOS-u.
W ten sposób sterowniki BIOS-u zapisane w pamięci ROM płyty głównej najpierw zostały wzbogacone
0 sterowniki zapisane w pamięciach ROM kart rozszerzeń, a następnie o sterowniki wczytywane do pamięci RAM podczas początkowej fazy procesu uruchamiania systemu operacyjnego. W ten sposób BIOS składa się z programów umieszczonych w trzech różnych obszarach pamięci, a mimo to funkcjonujących jako spójna całość. Dzieje się tak dlatego, że wszystkie programy obsługi urządzeń połączone są w jedną całość przez mechanizm wywołań procedur BIOS-u, oparty na przerwaniach programowych. System operacyjny lub aplikacja, chcąc skomunikować się z urządzeniem, na przykład w celu odczytania dysku CD-ROM, wywołuje określone przerwanie programowe, a tablica wektorów przerwań kieruje je do określonej procedury BIOS-u, czyli do określonego sterownika urządzenia. To, czy sterownik zapisany jest w pamięci ROM płyty głównej, w pamięci ROM karty rozszerzeń czy w pamięci RAM, nie ma żadnego znaczenia. Ważne jest tylko, by pod wskazanym adresem znajdowała się żądana procedura.
Dopiero połączenie BIOS-u płyty głównej i kart rozszerzeń oraz sterowników urządzeń ładowanych z dysku tworzy kompletny BIOS. Jego część znajdująca się w układach ROM umieszczonych zarówno na płycie głównej, jak i na kartach rozszerzeń jest czasem określana terminem oprogramowania sprzętowego (ang. firmware). Pojęcie to wywodzi swoją nazwę od oprogramowania zapisanego, zamiast na dysku, w układach pamięci. Oczywiście po wyłączenia zasilania komputera sterowniki zapisane w pamięciach ROM pozostają w stanie nienaruszonym, natomiast te zapisane w pamięci RAM są tracone. Nie stanowi to jednak żadnego problemu, skoro podczas następnego uruchomienia komputera system operacyjny przeprowadzi ponownie cały proces ładowania sterowników z dysku do pamięci.
Z biegiem lat w komputerach instalowano coraz to więcej nowych urządzeń. Tym samym do ich obsługi potrzeba było coraz więcej nowych sterowników. Dodawanie nowych sterowników do pamięci ROM płyty głównej jest niezwykle trudne, gdyż jej zawartość nie daje się łatwo zmieniać, a poza tym ilość miejsca w niej jest ograniczona. Projektanci komputera PC zarezerwowali dla układu ROM płyty głównej jedynie 128 KB, a większość tej przestrzeni jest już zajęta przez istniejące sterowniki, procedurę POST. program BIOS Setup oraz program ładujący system operacyjny. Umieszczenie sterowników na karcie rozszerzeń nie jest z kolei ani łatwe, ani tanie. Ponadto pojemność wszystkich pamięci ROM kart rozszerzeń również nie może przekraczać 128 KB, z czego 32 KB zajmuje od razu karta graficzna. Z tych powodów większość producentów urządzeń od razu tworzy dla nich sterowniki ładowane podczas uruchamiania systemu do pamięci RAM.
Z czasem coraz więcej sterowników było ładowanych z dysku do pamięci. Niektóre z nich zastępowały nawet sterowniki dostępne na płycie głównej. Przykładowo w systemie Windows 95 zastosowano nowy 32-bitowy sterownik dysku, który wyłączał zapisany w pamięci ROM płyty głównej sterownik 16-bitowy. Od tamtej pory sterownik dysku zapisany w pamięci ROM używany jest tylko przez kilkanaście sekund do czasu umieszczenia w pamięci RAM sterownika 32-bitowego i dokonaniu zmian w tablicy wektorów, tak by wskazywała na kod sterownika umieszczonego w pamięci RAM, a nie ROM. Systemy operacyjne Windows 95/98/Me mogły korzystać ze sterowników 16- i 32-bitowych, co ułatwiło stopniowe przechodzenie do w pełni 32-bitowego systemu.
1 tak doszliśmy do współczesnych czasów, kiedy to 32-bitowe sterowniki ładowane z dysku zastępują wszystkie sterowniki zapisane w pamięci ROM płyty głównej. Ma to miejsce w przypadku wszystkich systemów Windows NT/2000/XP. Systemy te nie mogą korzystać ze sterowników 16-bitowych zapisanych w pamięciach ROM płyty głównej lub kart rozszerzeń i muszą używać wyłącznie sterowników 32-bitowych. Kod 16-bitowy zapisany w pamięci ROM płyty głównej wykorzystywany jest jedynie przez czas potrzebny do załadowania z dysku wszystkich sterowników 32-bitowych, po czym sterowniki 16-bitowe są wyłączane.
To samo dotyczy 64-bitowej wersji systemu Windows, która może używać jedynie 64-bitowych sterowników i nie może używać sterowników ani 32-, ani 16-bitowych. Z tego między innymi powodu opóźnia się upowszechnienie się 64-bitowego systemu Windows.
System Windows XP po uruchomieniu nie wywołuje żadnych 16-bitowych procedur zapisanych w pamięciach ROM płyty głównej lub kart rozszerzeń. Wywoływane sąjedynie procedury 32-bitowych sterowników umieszczonych w pamięci RAM. Można zatem powiedzieć, że o ile po włączeniu komputera jego BIOS zawiera się w całości w pamięci ROM, o tyle po uruchomieniu systemu Windows XP w całości mieści się on w pamięci RAM.
Nie zmieni się to w przyszłości. Pamięć ROM znajdująca się na płycie głównej będzie wykorzystywana tylko do uruchomienia komputera, zainicjowania niezbędnych urządzeń, zabezpieczenia komputera (na przykład hasłem) oraz przeprowadzenia pewnej minimalnej konfiguracji. Po uruchomieniu systemu operacyjnego wszystkie te zadania przejmować będzie zupełnie nowy zestaw sterowników.
Komputer PC może być porównany do kilku warstw, składających się po części z urządzeń, a po części z oprogramowania, wzajemnie ze sobą powiązanych. W najprostszy sposób można wyróżnić w komputerze cztery podstawowe warstwy, z których każda składa się z dalszych podwarstw. Na rysunku 5.1 zostały pokazane cztery warstwy standardowego komputera PC.
Rysunek 5.1.
Warstwy komputera PC
Celem przyjęcia takiej warstwowej architektury było umożliwienie określonemu systemowi operacyjnemu i aplikacjom współpracy z różnymi urządzeniami. Na rysunku 5.1 przedstawiono dwa systemy wyposażone w różne urządzenia, gdzie, dzięki zastosowaniu odpowiednich sterowników (BIOS), pozwolono systemowi operacyjnemu i aplikacjom na współpracę z każdym z urządzeń. A zatem, w dwóch komputerach dysponujących innymi procesorami, nośnikami danych, kartami graficznymi itp. można uruchamiać ten sam zestaw aplikacji.
W tego typu architekturze warstwowej aplikacje komunikują się z systemem operacyjnym za pośrednictwem tak zwanego interfejsu aplikacji API (ang. application program interface). Interfejs API dla każdego systemu jest inny i zawiera różne polecenia i funkcje, które w imieniu aplikacji mogą być wykonywane przez system operacyjny. Przykładem jest program, który w celu odczytania lub zapisania pliku posługuje się wywołaniem systemowym. Dzięki temu aplikacja nie musi wiedzieć, w jaki sposób odczytywać dane z dysku, wysyłać je do drukarki lub wykonywać dowolną inną funkcję oferowaną przez system operacyjny. Ze względu na to. że aplikacja jest całkowicie odizolowana od warstwy sprzętowej, istnieje możliwość uruchamiania jej na różnych platformach. Oprogramowanie jest tak projektowane, aby komunikowało się z systemem operacyjnym, a nie z urządzeniami.
W dalszej kolejności system operacyjny łączy się z warstwą powiązaną z BlOS-em lub sterownikami. BIOS jest złożony z pojedynczych sterowników, które pośredniczą pomiędzy systemem a urządzeniami. Sam system operacyjny nigdy nie komunikuje się bezpośrednio ze sprzętem. W tym celu zawsze wykorzystuje odpowiednie sterowniki, dzięki czemu stosuje się z góry określoną metodę łączenia z urządzeniami. Zazwyczaj to producent urządzenia jest odpowiedzialny za opracowanie odpowiednich sterowników. Ponieważ sterowniki muszą pośredniczyć pomiędzy urządzeniami i systemem operacyjnym, zazwyczaj są tworzone specjalnie dla określonego systemu. W związku z tym producenci urządzeń są zmuszeni do opracowywania wersji sterowników dla różnych wersji systemów operacyjnych takich jak DOS, Windows 9x, Windows NT, Windows 2000, OS/2 i Linux. Jednak ze względu na to, że wiele systemów opiera się na jednakowych procedurach wewnętrznych, niektóre sterowniki są zgodne z różnymi ich wersjami. Przykładem jest sterownik opracowany dla systemu Windows XP, który często współpracuje również z systemami Windows 2000 i NT. Jest tak, ponieważ systemy Windows NT, 2000, XP należą do tej samej kategorii, podobnie jak systemy Windows 95. 98 i Me.
Ze względu na to, że (niezależnie od warstwy sprzętowej) dla systemu operacyjnego BIOS jest zawsze jednakowy, możliwe jest uruchomienie tego samego systemu na różnych platformach. Przykładowo, istnieje możliwość instalacji systemu Windows XP w dwóch komputerach wyposażonych w różne procesory, dyski twarde, karty graficzne i, co więcej, w obu będzie działał zupełnie w ten sam sposób. Wynika to z faktu, że, niezależnie od typu zastosowanego urządzenia, sterowniki oferująjednakowy zestaw podstawowych funkcji.
Jak można zauważyć na rysunku 5.1, warstwa aplikacji i systemu operacyjnego w przypadku wielu systemów może być identyczna, natomiast urządzenia mogą się znacząco od siebie różnić. Ponieważ BIOS zawiera sterowniki pełniące rolę interfejsu pomiędzy urządzeniami a aplikacjami, z jednej strony dostosowuje się do każdego urządzenia, ale z drugiej strony dla systemu operacyjnego pozostaje wciąż taki sam.
Warstwa sprzętowa zawiera w sobie najwięcej różnic występujących pomiędzy poszczególnymi systemami. Zadanie maskowania tych różnic pomiędzy urządzeniami, tak aby możliwe było uruchomienie określonego systemu operacyjnego (a w konsekwencji aplikacji) spoczywa na BlOS-ie. W tym rozdziale zostanie dokładnie omówiona warstwa BIOS.
BIOS — urządzenia i oprogramowanie
Sam BIOS jest programem przechowywanym w pamięci i zawierającym wszystkie sterowniki, będącym interfejsem pomiędzy urządzeniami a systemem operacyjnym. W porównaniu z innymi aplikacjami BIOS jest wyjątkowy, ponieważ nie jest w całości wczytywany z dysku. Jego część jest wcześniej pobierana z pamięci ROM (ang. read only memory — pamięć tylko od odczytu) umieszczonych na płycie głównej lub na kartach rozszerzeń.
BIOS komputera PC może być wczytany z trzech różnych miejsc:
z układu ROM płyty głównej,
z układu ROM karty (na przykład graficznej),
z dysku i załadowany do pamięci RAM (sterowniki urządzeń).
BIOS zapisany w układzie ROM płyty głównej najczęściej bardziej jest kojarzony z urządzeniem niż z programem. Bierze się to stąd, że tego typu BIOS zawiera sterowniki urządzeń wymaganych do uruchomienia komputera. Dość dawno temu, gdy proste komputery PC pracowały tylko pod kontrolą systemu DOS, nie było potrzeby stosowania dodatkowych sterowników. Wszystko, co było wymagane, znajdowało się w BlOS-ie płyty głównej. Tego typu BIOS zazwyczaj zawiera sterowniki wszystkich głównych komponentów systemowych, takich jak klawiatura, stacja dyskietek, dysk twardy czy porty szeregowe i równoległe. Wraz ze wzrostem stopnia złożoności systemów dodawano do nich nowe urządzenia, dla których nie istniały sterowniki zawarte w BlOS-ie płyty głównej. Do tego typu urządzeń należy zaliczyć nowsze karty graficzne, napędy CD-ROM, dyski twarde SCSI, porty USB i tym podobne.
Zamiast stosować na płycie głównej nowy typ BIOS-u obsługującego dodatkowe urządzenia, znacznie prostszym i bardziej efektywnym rozwiązaniem jest skopiowanie wszystkich wymaganych sterowników na dysk twardy, a następnie takie skonfigurowanie systemu operacyjnego, aby ładował je w trakcie uruchamiania. Właśnie w ten sposób została rozwiązana obsługa większości napędów CD-ROM, kart dźwiękowych, skanerów, drukarek, urządzeń PC Card (PCMCIA) i tym podobnych. Ze względu na fakt, że urządzenia te nie wymagają aktywacji w trakcie inicjalizacji systemu, system może zostać załadowany z dysku twardego, a następnie poczekać na uruchomienie sterowników w początkowej fazie startu.
Niektóre sterowniki muszą jednak być uaktywnione już podczas ładowania systemu. Jak na przykład załadować system z dysku, do którego aktywacji wymagane są znajdujące się na nim sterowniki? Oczywiście muszą one znajdować się w układzie ROM umieszczonym na płycie głównej lub na karcie.
W jaki sposób cokolwiek zostanie wyświetlone na ekranie, jeśli używana karta graficzna nie posiada zestawu sterowników zapisanych w układzie ROM? Rozwiązanie tego problemu mogłoby polegać na umieszczeniu na płycie głównej układu ROM mającego wbudowane odpowiednie sterowniki. Jest to jednak rozwiązanie niepraktyczne, ponieważ ze względu na fakt istnienia wielu różnych typów kart graficznych, każdy z nich wymagałby własnych sterowników. W efekcie, na rynku dostępnych byłoby setki różnych układów ROM montowanych na płytach głównych w zależności od typu zastosowanej karty wideo. Lepsze rozwiązanie zaimplementowała w swoim oryginalnym komputerze PC firma IBM. Polegało ono na zaprojektowaniu takiego układu ROM płyty głównej, który sprawdzał gniazda rozszerzeń w poszukiwaniu kart wyposażonych we własne pamięci ROM. Jeśli taka karta została odnaleziona, to zawartość jej układu ROM była odczytywana w trakcie początkowej fazy inicjalizacji komputera, która ma miejsce jeszcze przed rozpoczęciem ładowania systemu operacyjnego z dysku.
Dzięki umieszczeniu sterowników karty bezpośrednio w jej układzie ROM nie jest konieczne przystosowanie ROM-u płyty głównej do obsługi nowych urządzeń, a zwłaszcza tych, które muszą działać podczas fazy uruchamiania komputera. Tylko kilka kart jest zawsze wyposażonych w układ ROM. Należą do nich:
Karty graficzne. Wszystkie tego typu karty posiadają wbudowany BIOS.
Karty SCSI. Karty, które pozwalają na ładowanie systemu z dysków twardych lub napędów CD-ROM SCSI, zawierają zintegrowany BIOS. Należy zauważyć, że w większości przypadków jedynymi urządzeniami obsługiwanymi przez SCSI BIOS są dyski twarde. Jeśli zostanie podłączony napęd CD-ROM. skaner, napęd Zip czy podobne urządzenie wyposażone w interfejs SCSI, to nadal koniecznie będzie załadowanie z dysku twardego odpowiednich sterowników. Chociaż większość nowszych kart SCSI umożliwia ładowanie systemu z napędów SCSI CD-ROM. to jednak w dalszym ciągu są wymagane jego sterowniki pozwalające na uzyskanie do niego dostępu w przypadku,
gdy system jest uruchamiany z innego dysku lub urządzenia.
♦ Karty sieciowe. Karty, które umożliwiają bezpośrednie ładowanie systemu znajdującego się
na serwerze plików zazwyczaj są wyposażone w układ ROM określany terminem ROM-u ładującego (ang. boot ROM) lub ROM-u IPL (ang. initiałprogram load). Tego typu funkcja pozwala na skonfigurowanie komputerów podłączonych do sieci lokalnej jako bezdyskowe stacje robocze nazywane inaczej klientami sieciowymi, komputerami NC (ang. network computer) lub Net PC, a nawet inteligentnymi terminalami.
Udoskonalone kontrolery dysków twardych IDE lub stacji dyskietek. Tego typu karty pozwalają na podłączenie większej liczby lub różnego rodzaju dysków, na co nie pozwalają kontrolery płyty głównej. W celu umożliwienia ładowania systemu z podłączonych dysków, obsługujące je kontrolery wymagają zastosowania wbudowanego BIOS-u.
Karty zgodności z rokiem 2000 (ang. Y2K boards). Tego typu karty zawierają poprawki BIOS-u związane z aktualizacją bajta przechowywanego w pamięci CMOS RAM, odpowiedzialnego za zmianę daty na rok 2000. Wyposażone są one w niewielki sterownik, którego zadaniem jest kontrolowanie zawartości bajta roku w momencie zmiany wartości 99 na 00. Po wykryciu tej zmiany roku sterownik modyfikuje wartość bajta wieku i w miejsce 19 wstawia 20, a tym samym usuwa błąd występujący w niektórych starszych wersjach BIOS-u płyt głównych. Chociaż wspominanie o kartach zgodności z rokiem 2000 może się wydać dziwne, ponieważ zmiana stulecia nastąpiła już kilka lat temu, to jednak w rzeczywistości wiele systemów nadal z nich korzysta i będzie to robić aż do momentu ich wycofania.
BIOS i CMOS RAM
Wiele osób myli BIOS z układem CMOS RAM. Za taki stan rzeczy dodatkowo odpowiada program Setup zawarty w BlOS-ie, który służy do zmiany i zapisywania ustawień konfiguracyjnych w pamięci CMOS RAM. Tak naprawdę, to są to dwa zupełnie niezależne twory.
BIOS płyty głównej jest przechowywany w umieszczonym na niej układzie ROM. Poza nim na płycie znajduje się układ o nazwie RTC/INVRAM (ang. real-time clock/nonvolatile RAM — zegar czasu rzeczywistego/pamięć nie-ulotna RAM). Właśnie w tym układzie są zapisane dane programu BIOS Setup. Sam układ RTC/IWRAM jest właściwie układem zegara wyposażonego dodatkowo w kilka bajtów pamięci. Nazwa CMOS układu związana jest z zastosowaniem do jego produkcji technologii CMOS (ang. complimentary metal-oxide semiconductot).
Pierwszym układem RTC/NVRAM zastosowanym w komputerze PC był produkt firmy Motorola oznaczony jako MC146818. Zawierał 64 bajty służące do przechowywania danych, z czego 14 bajtów zostało zarezerwowanych dla funkcji zegara. Chociaż układ jest określany jako układ pamięci nieulotnej, to tak naprawdę jest inaczej. Oznacza to, że w przypadku braku doprowadzonego zasilania ustawienia związane z datą i czasem, jak również dane zapisane w segmencie RAM zostaną utracone. Nieulotność wynika z faktu zastosowania technologii CMOS, która pozwala uzyskać układ cechujący się dużo mniejszym poborem energii niż pozostałe układy, dzięki czemu można go zasilać z baterii. Chociaż od strony technicznej nie jest to do końca prawdą (prawie wszystkie nowsze typy układów są wykonane w różnych odmianach technologii CMOS), to jednak jest to przyczyna, dla której wiele osób nazywa tego typu układ mianem CMOS RAM. W ostateczności taka nazwa jest łatwiejsza do wymówienia niż RTC/TWRAM. Układ RTC/NVRAM jest zasilany prądem nie przekraczającym 1 uA, dlatego też do działania wymaga baterii o niewielkiej mocy. Większość baterii litowych może zasilać taki układ przez 5 lub nawet więcej lat. Zużycie baterii oznacza utratę zapisanych w układzie RTC/NVRAM informacji, łącznie z datą i czasem. Niektóre systemy są wyposażone w specjalne wersje układów (DS12885 i DS12887) produkowane przez takie firmy jak Dallas Semicondutors, Benchmarq lub Odin, które są wykonane w postaci jednego komponentu zawierającego układ RTC/NVRAM i baterię.
W obszarze pamięci danych układu RTC/NVRAM (albo, mówiąc prościej, układu CMOS RAM) przechowywane są wszystkie parametry konfiguracyjne dysków i innych urządzeń, ustalane za pomocą programu BIOS Setup. Za każdym razem, gdy komputer jest uruchamiany, odczytywane są parametry konfiguracyjne komputera zapisane w układzie CMOS RAM. Pomimo to, że pomiędzy BlOS-em i układem CMOS RAM istnieje pewna zależność, to jednak pozostają one dwoma odrębnymi komponentami systemu.
BIOS płyty głównej
Wszystkie płyty główne są wyposażone w specjalny układ scalony zawierający oprogramowanie, określany terminem ROM BIOS. Układ ROM przechowuje programy ładujące i sterowniki służące do inicjalizacji systemu, a ponadto pełniące rolę interfejsu podstawowych urządzeń. Po włączeniu komputera procedura testująca POST (ang. power on self test) umieszczona w BlOS-ie dokonuje sprawdzenia najważniejszych komponentów systemu. Ponadto istnieje możliwość uruchomienia programu Setup pozwalającego na zapisanie konfiguracji systemowej w pamięci CMOS, która jest zasilana przez baterię znajdującą się na płycie głównej. Układ CMOS RAM często jest określany jako NVRAM, ponieważ jest zasilany prądem o natężeniu około 1 uA. dzięki czemu pozwala na zastosowanie niewielkiej baterii litowej podtrzymującej zawartość pamięci przez kilka lat.
BIOS stanowi zbiór programów umieszczonych — w zależności od architektury systemu — w jednym lub kilku układach. Po włączeniu komputera jest on ładowany jako pierwszy, przed systemem operacyjnym. W większości komputerów PC BIOS zawiera cztery podstawowe funkcje:
POST (ang. power on self test). Procedura testująca POST dokonuje sprawdzenia procesora, pamięci, chipsetu, karty graficznej, kontrolerów dysków, napędów dysków i innych istotnych komponentów.
Program BIOS Setup. Program konfiguracji komputera BIOS Setup zazwyczaj jest oparty na zestawie menu, a uruchamiany jest przez wciśnięcie w trakcie wykonywania procedury POST określonego klawisza lub ich kombinacji. Program BIOS Setup umożliwia konfigurację płyty głównej i chipsetu oraz takich parametrów jak data i czas, hasła, parametry dysków twardych i zdefiniowanie innych podstawowych ustawień systemowych. Możliwa też jest konfiguracja ustawień związanych z funkcją zarządzania energią oraz określenie kolejności urządzeń, z których będzie ładowany system operacyjny. W przypadku niektórych komputerów można również dokonać modyfikacji ustawień dotyczących taktowania procesora i mnożnika częstotliwości. Niektóre komputery oparte na procesorze 286, 386 lub 486 nie posiadały „zaszytego" w układzie ROM programu BIOS Setup, dlatego też wymagane było uruchamianie go z dyskietki. Niektóre nowsze komputery pozwalają natomiast na konfigurację komputera za pomocą programu działającego w systemie Windows.
Program ładujący. Procedura szukająca w pierwszym sektorze kolejnych dysków poprawnego głównego rekordu ładującego (ang. master boot record) system operacyjny. Jeśli zostanie znaleziony sektor spełniający minimalne kryteria (czyli sektor zakończony sygnaturą 55AAh). wtedy zawarty w nim kod zostaje wykonany. W dalszej kolejności program mieszczący się w głównym rekordzie ładującym przejmuje obsługę procesu inicjalizacji i ładuje rekord ładujący woluminu (ang. vołume boot record), znajdujący się w pierwszym fizycznym sektorze wolumenu startowego. Kod w nim zawarty z kolei wczytuje plik jądra systemu, którym przeważnie jest plik IO.SYS (w przypadku systemów DOS i Windows 9x/Me) lub plik NTLDR (w przypadku systemów Windows NT/2000/XP), a następnie przekazuje mu proces uruchomienia systemu operacyjnego.
BIOS (ang. basie input/output system). Określenie odnosi się do zbioru sterowników pełniących w trakcie inicjalizacji i dalszej pracy systemu rolę podstawowego interfejsu pomiędzy nim i zainstalowanymi urządzeniami. W przypadku, gdy system DOS lub Windows pracują w trybie awaryjnym, używane są prawie wyłącznie sterowniki zawarte w układach ROM BIOS. Wynika to z faktu, że w tym trybie nie są używane żadne sterowniki znajdujące się na dysku.
ROM
Pamięć tylko do odczytu ROM (ang. read only memory) charakteryzuje się tym, że w sposób trwały lub pół-trwały przechowuje dane. Tego typu pamięć jest przeznaczona tylko do odczytu, ponieważ dokonanie zapisu jest niemożliwe lub celowo utrudnione. Układ ROM jest często również określany mianem pamięci nieulotnej, ponieważ wszystkie jego dane pozostają w nim nawet po odłączeniu zasilania. Jako taki, układ ROM jest miejscem znakomicie nadającym się do przechowywania instrukcji ładujących komputera PC, czyli oprogramowania inicjalizującego system (BIOS).
Układy pamięci ROM. podobnie jak i RAM, umieszczone są w przestrzeni adresowej procesora. Jest to konieczne ze względu na program służący do inicjalizacji komputera PC. W innym przypadku po włączeniu komputera procesor nie mógłby wykonać żadnego programu, ponieważ nie byłoby go w pamięci.
Przykładowo, po włączeniu komputera procesor automatycznie przechodzi do adresu FFFFOh i spodziewa się odnaleźć tam instrukcje, które pokierują go dalej. Adres ten znajduje się dokładnie 16 bajtów od końca pierwszego megabajta przestrzeni adresowej pamięci, przy samym końcu pamięci ROM. Jeśli adres FFFFhO zostałby zamapowany na adres znajdujący się w zwykłej pamięci RAM, wtedy, po odłączeniu zasilania, doszłoby do utraty zapisanych tam danych. W konsekwencji, przy następnym uruchomieniu komputera procesor nie mógłby odnaleźć żadnych instrukcji do wykonania. Dzięki umieszczeniu pod tym adresem pamięci ROM przy każdym uruchomieniu komputera zawsze znajduje się tam program inicjalizujący system.
^ ^ Zajrzyj do punktu „DRAM" znajdującego się na stronie 524.
Zazwyczaj przestrzeń systemowej pamięci ROM zaczyna się od adresu EOOOOh lub FOOOOh, co odpowiada segmentowi położonemu 128 lub 64 KB przed końcem pierwszego megabajta. Ze względu na to. że zwykle pojemność układu ROM nie przekracza 128 KB, programy w nim zawarte mogą zająć cały ostatni segment pierwszego megabajta liczący 128 KB i zawierający adres FFFFOh, pod którym znajdują się instrukcje ładujące, umieszczony 16 bajtów od końca przestrzeni adresowej zajmowanej przez BIOS. W przypadku niektórych płyt głównych zastosowane układy ROM mają większą pojemność wynoszącą 256 lub 512 KB. Zawarty w nich dodatkowy kod pełni rolę układu ROM karty graficznej (adresy COOOOh - C7FFFh) i jest stosowany na płytach głównych wyposażonych w zintegrowany układ graficzny. Ponadto w tego typu układzie ROM mogą być nawet zawarte dodatkowe sterowniki zajmujące adresy z zakresu od C8000h do DFFFFh i obsługujące zintegrowane urządzenia takie jak kontrolery SCSI lub karty sieciowe.
Na rysunku 5.2 została przedstawiona mapa pierwszego megabajta pamięci komputera PC. Należy zwrócić uwagę na obszary górnej pamięci znajdujące się w przy końcu pierwszego megabajta i zastrzeżone dla kart rozszerzeń oraz układu ROM BIOS płyty głównej.
Rysunek 5.2.
Mapa pamięci komputera PC przedstawiająca adresy pamięci ROM
Niektórzy uważają za dziwne to, że komputer PC po włączeniu rozpoczyna swoje działanie od wykonywania instrukcji BIOS znajdujących się pod adresem pamięci oddalonym o 16 bajtów od końca pamięci ROM, ale takie rozwiązanie jest celowe. Dzięki temu programista piszący kod pamięci ROM musi tylko umieścić instrukcję JMP (ang. jump\ która poinstruuje procesor o wykonaniu skoku do właściwego początku pamięci ROM. W większości przypadków jest to adres bliski FOOOOh, który na mapie pamięci jest położony wcześniej o około 64 KB. Można tutaj użyć analogii książek, które za każdym razem są czytane od strony 16. licząc od końca, natomiast wszyscy ich wydawcy wyrazili zgodę na umieszczenie w tym miejscu książek informacji zawierającej ilość stron, o jaką należy się cofnąć, aby znaleźć się na stronie pierwszej. Dzięki ustaleniu takiej lokalizacji początkowej, można stosować układ ROM o dowolnie większej pojemności, nie przekraczając jednocześnie górnej granicy przestrzeni adresowej pierwszego megabajta pamięci operacyjnej.
Główny BIOS znajduje się w układzie ROM umieszczonym na płycie głównej, natomiast karty wyposażone we własne układy ROM zawierają dodatkowe procedury BIOS-u i sterowniki przez nie wymagane. Dotyczy to zwłaszcza tych kart (np. graficznych), które muszą być aktywne w trakcie początkowej fazy uruchamiania komputera. Karty, które nie muszą być uaktywnione podczas uruchamiania komputera, nie są wyposażane w układ ROM, ponieważ wymagane przez nie sterowniki mogą być załadowane z dysku w późniejszej fazie ładowania systemu operacyjnego.
Ze względu na to, że BIOS stanowi największą część kodu przechowywanego w pamięci ROM, często ta pamięć jest określana jako ROM BIOS. W starszych komputerach PC ROM BIOS płyty głównej składał się nawet z pięciu lub sześciu układów, ale od wielu lat w większości systemów mieści się tylko w jednym.
Układy ROM kart takich jak graficzne, SCSI, zaawansowane kontrolery dysków ATA i karty sieciowe przeznaczone dla bezdyskowych stacji roboczych są w trakcie początkowej fazy inicjalizacji systemu (procedura POST) skanowane i wczytywany przez pamięć ROM płyty głównej. Układ ROM płyty głównej sprawdza specjalny obszar przestrzeni adresowej zarezerwowany dla układów ROM kart rozszerzeń (adresy C0000 - DFFFFh) w poszukiwaniu sygnatury będącej parą bajtów o wartości 55AAh, która wskazuje na początek pamięci ROM.
Wszystkie układy pamięci ROM umieszczone na kartach rozszerzeń muszą rozpoczynać się sygnaturą 55AAh. W przeciwnym razie płyta główna nie jest w stanie ich rozpoznać. Trzeci bajt zawartości określa pojemność układu ROM wyrażoną w 512-bajtowych jednostkach określanych mianem paragrafów (ang. paragraphs). natomiast czwarty bajt jest właściwym początkiem kodu sterowników. Bajt rozmiaru pamięci jest wykorzystywany przez układ ROM płyty głównej do celów testowych. Pamięć ROM płyty głównej sumuje wszystkie bajty w pamięci ROM karty rozszerzenia, a następnie wynik dzieli przez liczbę bajtów. Uzyskana reszta z dzielenia powinna wynosić lOOh. W związku z tym programista tworzący układ ROM dla karty, przy końcu obszaru pamięci umieszcza bajt wypełnienia, którego zadaniem jest wygenerowanie sumy kontrolnej potwierdzającej poprawność danych. W trakcie wykonywania procedury POST płyta główna sprawdza sumę kontrolną pamięci ROM każdej z kart i oznacza te, które zawierają nieprawidłowe dane.
BIOS płyty głównej automatycznie wykonuje programy znajdujące się w układzie ROM każdej karty znalezionej w trakcie operacji skanowania. Można się o tym przekonać na przykładzie karty graficznej, której proces inicjalizacji podczas wykonywania procedury POST sygnalizowany jest w większości komputerów komunikatami widocznymi na ekranie.
Cieniowanie pamięci ROM (ROM shadowing)
Układy pamięci ROM z natury są bardzo wolne i charakteryzują się czasem dostępu wynoszącym 150 ns (na-nosekundy to inaczej miliardowe części sekundy). Dla porównania w najnowszych systemach stosowana pamięć DRAM posiada czas dostępu poniżej 10 ns. Z tego też powodu w prawie wszystkich systemach pamięć ROM jest cieniowana (ang. shadowed). co oznacza, że w trakcie uruchamiania komputera w celu skrócenia czasu dostępu przy normalnych operacjach, jej zawartość jest kopiowana do pamięci DRAM. Procedura cieniowania kopiuje dane z pamięci ROM do pamięci RAM, a następnie umieszcza ten fragment pamięci RAM w przestrzeni adresowej zajmowanej wcześniej przez ROM, po czym następuje wyłączenie układu ROM. W efekcie system „ma wrażenie'", że nadal współpracuje z pamięcią ROM, ale pracującą z szybkością pamięci RAM.
Wzrost wydajności uzyskany po zastosowaniu cieniowania często jest nieznaczny, a ponadto w przypadku niewłaściwego wykonania całej procedury może być powodem problemów. Wynika z tego, że w większości przypadków rozsądnym rozwiązaniem jest wykonanie tylko cieniowania BIOS-u płyty głównej i, ewentualnie, BIOS-u karty graficznej.
Cieniowanie przeważnie przydatne jest tylko w przypadku 16-bitowych systemów operacyjnych, jak DOS lub Windows 3.x. Jeśli jesteś użytkownikiem systemu 32-bitowego, takiego jak Windows 9x. Windows Me, Windows 2000. Windows NT lub Windows XP, wtedy cieniowanie właściwie nie ma sensu, ponieważ tego typu systemy w czasie pracy nie korzystają z 16-bitowego kodu zawartego w pamięci ROM. Zamiast niego, do pamięci operacyjnej RAM ładowane są32-bitowe sterowniki, zastępujące 16-bitowe instrukcje BIOS-u. które używane są tylko w trakcie inicjalizacji systemu.
Parametry cieniowania ustala się za pomocą programu BIOS Setup, umieszczonego w pamięci ROM płyty głównej. Program ten zostanie dokładnie omówiony w dalszej części rozdziału.
Rodzaje pamięci ROM
Można wyróżnić cztery następujące typy układów pamięci ROM:
ROM (ang. Read only memory) — pamięć tylko do odczytu,
PROM (ang. Programmable ROM) — programowalna pamięć ROM,
EPROM (ang. Erasable PROM) — wymazywalna pamięć PROM,
EEPROM (ang. Electrically erasable PROM) — elektrycznie wymazywalny PROM, określany również jako pamięć Flash ROM.
Niezależnie od typu pamięci ROM zastosowanej w systemie, przechowywane w niej dane są nieulotne i nie ulegną modyfikacji, jeśli tylko celowo nie zostaną wymazane lub nadpisane (tam, gdzie jest to możliwe).
W tabeli 5.1 zebrano numery identyfikacyjne wraz z dodatkowymi informacjami stosowanymi w przypadku różnych typów pamięci ROM.
Typ pamięci ROM |
Numer identyfikacyjny |
ROM |
Juz niestosowany |
PROM |
27xxxx |
EPROM* |
27xxxx |
EEPROM/Flash |
28xxxx lub 29xxxx |
xxxx = wartość zazwyczaj określająca pojemność wyrażoną w kilobitach lub megabitach.
* Wyposażona w przezroczystą kwarcową szybkę umieszczoną nad wewnętrzną płytką układu i umożliwiającą naświetlenie promieniowaniem ultrafioletowym wymazującym zwartość pamięci.
ROM (prawdziwy lub maskowany)
Początkowo większość układów ROM była wytwarzana już z trwale wpisanymi na krzemowej płytce zerami i jedynkami. Tego rodzaju układy nazywane były maskowanym układem ROM (ang. Mask ROM), gdyż jego dane były formowane do postaci maski, z której następnie w wyniku procesu fotolitograficznego tworzono płytkę układu ROM. Tego typu proces technologiczny był opłacalny tylko w przypadku wytwarzania setek tysięcy układów ROM o identycznej zawartości. Jeśli konieczna była zmiana tylko jednego bitu, wtedy należało ponownie wykonać maskę, co wiązało się ze znacznymi kosztami. Aktualnie, ze względu na koszty i małą elastyczność, układy pamięci ROM wykonywane z maski nie sąjuż produkowane.
Maskowane pamięci ROM stanowią idealną analogię do tłoczonych dysków CD-ROM. Niektórzy sądzą, że dysk CD-ROM najpierw jest wytwarzany jako czysty nośnik, na którym następnie dane są zapisywane przez laser, ale wcale tak nie jest. Dysk CD-ROM jest kawałkiem plastiku wytłoczonym przy użyciu prasy, na który dane są nanoszone przez matrycę, a nie zapisywane laserem. Jedynym dyskiem, na którym dane są zapisywane za pomocą lasera, jest oryginał, na podstawie którego tłoczy się kopie.
PROM
PROM jest typem pamięci ROM cechującym się tym, że po wyprodukowaniu jest pusta, dlatego też w celu zapisania dowolnych danych musi zostać zaprogramowana. Pamięć PROM została opracowana pod koniec lat siedemdziesiątych przez firmę Texas Instruments i była dostępna w postaci układów o pojemności od 1 KB (8 Kb) do 2 MB (16 Mb) lub nawet większej. Poszczególne typy pamięci są identyfikowane przez numery identyfikacyjne przyjmujące zazwyczaj postać 27nnnn, gdzie 27 oznacza pamięć PROM firmy TI, natomiast nnnn określa pojemność wyrażoną w kilobitach (nie bajtach). Na przykład większość komputerów PC wyposażonych w pamięć PROM zawierała układy 27512 lub 271000 o pojemności 512 Kb (64 KB) lub 1 Mb (128 KB).
Od roku 1981 wszystkie samochody sprzedane w Stanach Zjednoczonych były wyposażone w kom-T^i putery pokładowe zawierające różnego rodzaju układy ROM z zapisanym oprogramowaniem steru-jącym. W przypadku mojego samochodu, Pontiaca Turbo Trans Am (rocznik 1989), zastosowano komputer pokładowy dysponujący układem PROM 2732 o pojemności 32 Kb (4 KB). Układ został użyty w module ECM (ang. electronic control module lub vehicle computer— elektroniczny moduł sterujący) umieszczonym pod tablicą rozdzielczą. Układ PROM zawierał system operacyjny pojazdu oraz tabele danych opisujących wyprzedzenie zapłonu, dostarczanie paliwa i inne parametry związane z pracą silnika i całego samochodu. Wiele urządzeń wyposażonych w zintegrowane komputery korzysta z układów PROM przechowujących ich systemy operacyjne.
Chociaż wspomniałem, że nowe układy PROM nie zawierają żadnych danych, to jednak z technicznego punktu widzenia wstępnie są w nich zapisywane binarne jedynki. Inaczej mówiąc, układ PROM o pojemności 1 Mb wykorzystywany w komputerach PC charakteryzuje się milionem pozycji (dokładnie 1 048 576) zawierających binarne jedynki. Pusty układ PROM może być zaprogramowany, co polega na zapisaniu w nim danych. W celu wykonania operacji programowania zazwyczaj konieczne jest posłużenie się specjalnym urządzeniem noszącym nazwę programatora, programatora PROM lub „wypalarki" PROM (rysunek 5.3).
Rysunek 5.3.
Standardowy grupowy (wieloportowy) programator układów PROM („wypalarka PROM")
W stosunku do operacji programowania układu PROM często używa się określenia „wypalanie", które jest trafną techniczną definicją procesu. Każda binarna jedynka może być porównana z nienaruszonym bezpiecznikiem. Większość układów pamięci jest zasilana napięciem 5 V, ale w momencie programowania układu PROM do jego komórek o różnych adresach zostaje przyłożone wyższe napięcie, zwykle o wartości 12 V. Wyższe napięcie powoduje przepalenie bezpieczników położonych w określonych pozycjach, co jest równoznaczne z przejściem z binarnej jedynki na zero. Chociaż zamiana jedynki na zero jest wykonalna, to jednak należy zauważyć, że operacja odwrotna, czyli przejście z zera na jedynkę, nie jest możliwa.
Programator bada program, który zostanie zapisany w pamięci układu scalonego, a następnie w sposób selektywny zamienia w wymaganych miejscach układu PROM binarne jedynki na zera.
Z tego też powodu układy PROM często są uznawane za układy jednorazowego programowania OTP (ang. one-time programmable). Tego typu układy mogą zostać zaprogramowane tylko raz i nie można wymazać ich zawartości. Większość układów PROM jest bardzo tania. Za typowy układ montowany na płycie głównej należy zapłacić około 12 złotych. A zatem, jeśli zamierzasz zapisać w PROM-ie nowy program, wtedy należy użyć nowego pustego układu i zastąpić nim starszy egzemplarz.
Operacja programowania układu PROM, zależnie od jego pojemności i zastosowanego algorytmu, zajmuje od kilku sekund do kilku minut. Na rysunku 5.3 został pokazany typowy programator układów PROM wyposażony w kilka gniazd. Jest on określany mianem programatora grupowego (ang. gangprogrammer) i pozwala na jednoczesne programowanie kilku elementów, co w przypadku operacji zapisu jednakowych danych daje sporą oszczędność czasu. Tańsze modele programatorów dysponują tylko jednym gniazdem, które w przypadku większości domowych zastosowań jest zupełnie wystarczające.
Programowanie układów PROM mających inne zastosowanie
Posłużyłem się moim programatorem nawet w celu zmiany programu układu znajdującego się w moim samochodzie. Zmieniłem fabryczne ustawienia dotyczące ograniczeń prędkości i obrotów silnika, turbosprężarki, blokad przemiennika momentu obrotowego, kąta wyprzedzenia zapłonu, dostarczania paliwa, biegu wstecznego i kilku innych parametrów! Umieściłem również pod tablicą rozdzielczą przełącznik umożliwiający, nawet w czasie jazdy, wybieranie różnych typów układu. Jeden z nich po przekroczeniu prędkości 60 kilometrów na godziną miał za zadanie odcinać dopływ paliwa i ponownie go przywracać, gdy samochód zwolnił do 56 kilometrów na godzinę. Przypuszczam, że tego typu rozwiązanie mogłoby się okazać przydatne w przypadku nastoletnich kierowców, ponieważ możliwe by było ustawienie dowolnego ograniczenia maksymalnej prędkości lub obrotów silnika! Kolejny zaprogramowany przeze mnie układ ze względów bezpieczeństwa odcina całkowicie dopływ paliwa do silnika, gdy samochód stoi na parkingu. Tym sposobem nawet najsprytniejszy złodziej samochodów nie ukradnie go, chyba że zastosuje holowanie. Jeśli jesteś zainteresowany urządzeniami zmieniającymi układy lub samymi układami stosowanymi w samochodach Turbo Trans Am lub Buick Grand National, skontaktuj się z firmą Casper's Electronics. W przypadku innych pojazdów wyposażonych w modyfikowalne układy PROM, takie firmy jak Fastchip, Superchips, Hypertech i Mopar Performance posiadają w swojej ofercie odpowiednie układy PROM lub moduły PCM (ang. powertrain control module) zwiększające ogólne osiągi samochodów. Po zamontowaniu modułu Mopar Performance PCM w moim samochodzie 5.9L Jeep Grand Cherokee, zauważyłem widoczną różnicę w pracy silnika i ogólnie lepszą sprawność.
Osobiście polecam bardzo tani programator produkowany przez firmę Andromeda Research Labs (www.arlabs.com). którego sam używam. Nie jest to urządzenie drogie i pozwala na podłączenie do komputera za pośrednictwem portu równoległego, dzięki czemu możliwe jest szybkie i proste przesyłanie danych. Ponadto programator umieszczony jest w ułatwiającej transport obudowie. Urządzenie jest sterowane za pomocą dołączonego i instalowanego w podłączonym komputerze programu wyposażonego w interfejs okienkowy. Program dysponuje kilkoma właściwościami takimi jak funkcja pozwalająca na wczytywanie danych z pamięci układu, a następnie zapisywanie ich w pliku na dysku komputera. Ponadto istnieje możliwość zapisywania układu danymi z pliku, porównania zawartości pamięci układu i pliku oraz sprawdzenia przed rozpoczęciem operacji programowania, czy układ jest pusty. Dodatkowo dostępna w urządzeniu funkcja wykonywania kopii zapasowych BIOS-u umożliwia tworzenie kopii bezpieczeństwa BIOS-ów zapisanych w pamięciach Flash, których można użyć na wypadek problemów z układem Flash (pod warunkiem, że można go wyjąć z płyty głównej).
EPROM
EPROM jest odmianą układów PROM, która zyskała sporą popularność. EPROM jest po prostu wymazywalną pamięcią PROM. Układ EPROM można poznać po przezroczystej kwarcowej szybce umieszczonej bezpośrednio nad płytką (rysunek 5.4). W ten sposób możliwe jest obejrzenie płytki układu EPROM! Układy EPROM posługują się takim samym systemem oznaczeń (27xxxx), jaki jest stosowany w przypadku pamięci PROM. Pod względem funkcjonalnym i konstrukcji oba układy różnią się jedynie obecnością przezroczystej kwarcowej szybki umieszczonej nad płytką krzemu.
Rysunek 5.4.
Układ EPROM wyposażony w przezroczystą kwarcową szybkę umożliwiającą wymazanie jego zawartości przy użyciu promieniowania ultrafioletowego
Celem kwarcowej szybki jest umożliwienie naświetlenia płytki układu promieniami ultrafioletowymi. Wynika to z faktu, że pamięć EPROM jest wymazywana właśnie przez naświetlanie intensywnym promieniowaniem UV. Szybka została wykonana z kwarcu, ponieważ zwykłe szkło nie przepuszcza promieni UV. Na pewno przez szybę nie można się opalić!
Kwarcowa szybka podnosi koszty produkcji układów EPROM, które są wyższe niż w przypadku układów PROM OTP. Jeśli możliwość wymazywania pamięci nie jest niezbędna, można również uniknąć dodatkowych kosztów.
Promieniowanie UV wymazuje zawartość pamięci poprzez wywołanie reakcji chemicznej, powodującej odtworzenie połączeń w układach bezpieczników. A zatem każde binarne zero pamięci układu staje się jedynką, a tym samym zostaje przywrócony poprzedni stan układu, w którym występowały wyłącznie jedynki. Zastosowane promieniowanie UV musi charakteryzować się określoną długością (2537 angstremów) i dość dużym natężeniem (12 000 pW/cm2). Poza tym naświetlana pamięć musi znajdować się w odległości 2 - 3 cm od źródła promieni, a sama operacja powinna trwać od 5 do 15 minut. Urządzenie służące do wymazywania pamięci EPROM zawiera źródło promieniowania UV (zazwyczaj specjalna żarówka) położone nad uszczelnioną szufladą, w której są umieszczane układy pamięci (rysunek 5.5).
Na rysunku 5.5 zostało pokazane profesjonalne urządzenie służące do wymazywania układów EPROM, które jest w stanie pomieścić jednocześnie do 50 układów. Osobiście stosuję znacznie mniejsze i tańsze urządzenie DataRase produkowane przez firmę Walling Co. Urządzenie tego typu potrafi jednocześnie wymazywać zawartość czterech układów EPROM. Poza atrakcyjną ceną jest łatwe do przenoszenia. Najnowszy jego model nosi nazwę DataRase II. Podobnie jak inne tego typu urządzenia jest sprzedawany przez wiele firm mających w swojej ofercie wyposażenie związane z programowaniem pamięci EPROM.
Rysunek 5.5.
Profesjonalne urządzenie służące do wymazywania układów EPROM
Przezroczysta kwarcowa szybka układu EPROM zazwyczaj jest przykryta taśmą, która zapobiega przypadkowemu naświetleniu promieniowaniem UV. Promieniowanie ultrafioletowe oczywiście jest składową światła słonecznego, ale jest również obecne w zwykłym oświetleniu pomieszczenia, dlatego też wraz z upływem czasu układ wystawiony na działanie światła może zostać „rozprogramowany". Z tego też powodu po zaprogramowaniu układu EPROM należy w celu jego ochrony umieścić na szybce naklejkę.
EEPROM (Flash ROM)
Nowszym typem pamięci ROM jest układ EEPROM (ang. electrically erasable PROM— programowalna pamięć stała wymazywalna elektrycznie). Tego typu układy nazywane są też układami Flash ROM. Charakteryzują się możliwością wymazywania ich zawartości i następnie ponownego programowania bez konieczności wyjmowania z płyty, na której układ został umieszczony, i stosowania specjalistycznego sprzętu. Dzięki użyciu układu EEPROM lub Flash ROM możliwe jest usunięcie zawartości i ponowne zaprogramowanie pamięci ROM stosowanych na płytach głównych. Cała operacja nie wiąże się z koniecznością wyjmowania układu lub nawet otwierania obudowy komputera.
W przypadku układów EEPROM lub Flash ROM w celu ich wymazywania lub programowania nie jest wymagane stosowanie żadnego programatora lub urządzenia wymazującego wykorzystującego promieniowanie UV. W układy EEPROM lub Flash ROM są wyposażone nie tylko niemalże wszystkie płyty główne wyprodukowane po roku 1994, ale również większość samochodów. Przykładem jest mój Chevy Impala SS (rocznik 1994) wyposażony w PCM zawierający zintegrowany układ Flash ROM.
Układy EEPROM lub Flash ROM można zidentyfikować po oznaczeniu 28xxxx lub 29xxxx oraz braku szybki. Obecność pamięci EEPROM lub Flash ROM na płycie głównej Twojego komputera oznacza, że w prosty sposób możliwe jest dokonanie jej aktualizacji niewymagającej wymiany układów. W większości przypadków operacja ta sprowadza się do pobrania ze strony internetowej producenta płyty głównej nowszej wersji BIOS-u, a następnie uruchomienia specjalnego programu służącego do aktualizacji zawartości pamięci. Cała procedura została opisana dokładniej w dalszej części rozdziału.
Namawiam do okresowego zaglądania na stronę internetową producenta płyty głównej i sprawdzania, czy nie pojawiła się nowsza wersja BIOS-u dla płyty znajdującej się w Twoim komputerze. Uaktualniona wersja BIOS-u może zawierać poprawki błędów lub nowe funkcje, które nie były dostępne w oryginalnej wersji. Wśród różnych poprawek możesz znaleźć rozwiązanie problemu dotyczącego obsługi dysków twardych IDE o pojemności przekraczającej 8,4 GB lub nowsze sterowniki pozwalające na inicjalizację komputera przy użyciu napędu LS-120 (dyskietki o pojemności 120 MB) lub dysków podłączanych do portu USB.
Aktualnie wiele urządzeń wyposażonych w zintegrowane komputery sterujące dysponuje również układami Flash ROM. Niedługo sam będziesz aktualizował zawartość pamięci Flash ROM znajdującą się w Twoim tosterze!
^ ► Zajrzyj do podrozdziału „Aktualizacja BIOS-u" znajdującego się na stronie 476.
Aktualizacja układów ROM nieużywanych w komputerach
Jeśli jesteś zmotoryzowany, z pewnością zainteresuje Cię informacja, że aktualizacja układów ROM jest możliwa również w przypadku samochodów. W tym celu należy sprawdzić, czy producent Twojego pojazdu umożliwił wykonywanie aktualizacji układów ROM. Ze względu na niskie koszty i łatwość wykonania tej operacji producenci samochodów udostępniają aktualizacje układów ROM zawierające poprawki błędów związanych z pracą podzespołów lub zwiększające osiągi pojazdów. W większości sytuacji w celu upewnienia się, czy pojawiły się nowe wersje układów ROM, należy skontaktować się ze sprzedawcą samochodu. Jeśli jesteś posiadaczem samochodu produkowanego przez koncern GM, wtedy w celu uzyskania tego typu informacji możesz zajrzeć na jego stronę internetową. Nowe wersje BIOS-u są przez koncern GM określane są terminem Vehicle Calibra-tions. Informacje na temat aktualizacji BIOS-u (GM Vehicle Calibration Information) znajdują się pod adresem: http://calid.gm.com.
Po podaniu numeru identyfikacyjnego pojazdu VIN (ang. vehicle identification numbet) na stronie internetowej zostanie wyświetlona historia zawierające wszystkie dokonane poprawki i ulepszenia. Historia jest listą wszystkich aktualizacji (kalibracji) układu Flash ROM wykonanych od czasu wprowadzenia na rynek pierwszych modeli określonego samochodu. Przykładowo, w momencie, gdy wpisałem numer VIN mojego samochodu Impala (rocznik 1994), dowiedziałem się, że w ciągu kilku lat pojawiło się pięć aktualizacji układu Flash ROM, a mój pojazd jest wyposażony w drugą wersję układu zainstalowanego przez producenta, co oznacza, że od tego czasu opracowano jego trzy nowsze wersje! Na wspomnianej liście opisano również błędy, które zostały usunięte w różnych aktualizacjach (kalibracjach). Po odwiedzeniu sprzedawcy mojego samochodu i uzyskaniu takich informacji możliwe stało się połączenie auta z komputerem diagnostycznym i uaktualnienie PCM-u o najnowsze oprogramowanie. W moim przypadku usunęło ono kilka wad, takich jak występująca w określonych warunkach nierówna praca silnika, „zgrzyty" przy zmianie biegów, błędne działanie kontrolek związanych z pracą silnika oraz innych mniej istotnych niedociągnięć.
Mogąc zmieniać zawartość pamięci ROM mojego samochodu, zacząłem eksperymentować z aktualizacjami przeznaczonym dla innych samochodów. Na przykład zastosowałem w swoich samochodzie aktualizację przeznaczoną dla modelu Camaro rocznik 1994. Krzywa wyprzedzenia zapłonu oraz inne parametry układu podawania paliwa w przypadku tego modelu miały bardziej agresywne wartości, podobnie jak punkty zmiany biegów oraz inne funkcje. Wszystkich zainteresowanych eksperymentowaniem z zawartością pamięci ROM swoich samochodów odsyłam na strony firm FastChip (www.fastchip.com) i Superchips (tvww.superc/i/ps.com). Tych, którzy sami chcą pisać programy dla swoich samochodów, odsyłam na stronę www.diy-efi.org.
Również inne urządzenia mogą wykorzystywać pamięć Flash ROM. Przykładowo ostatnio uaktualniłem układy Flash ROM znajdujące się w routerze sieciowym, punkcie dostępu sieci bezprzewodowej, a nawet w aparacie cyfrowym firmy Kodak. Cała operacja sprowadzała się do pobrania ze stron internetowych ich producentów odpowiednich plików, a następnie uruchomienia zawartego w pliku programu aktualizującego.
Układy Flash ROM często są używane do dodawania do urządzeń takich jak modemy lub stacje dysków DVD i CD z możliwością zapisywania nowych funkcji lub ich aktualizacji do najnowszych wersji obowiązujących standardów. Przykładem jest aktualizacja używanego przez modem standardu X2 lub K56Flex do wersji V.90 lub V.92 albo dodanie obsługi nowego rodzaju zapisywalnych dysków.
Producenci układów ROM BIOS
Obecnie na rynku istnieje kilku producentów BIOS-u, którzy umieszczają go w układach ROM stosowanych przez zdecydowaną większość wytwórców płyt głównych i całych komputerów. W tym punkcie zostały omówione różne dostępne wersje BIOS-u.
Kilka firm wyspecjalizowało się w opracowywaniu układów ROM BIOS. Gdy podejmuje się temat układów ROM BIOS, na myśl przychodzą trzy większe firmy — American Megatrends Inc., Phoenix Technologies i Award Software (obecnie należąca do firmy Phoenix Technologies). Każdy z wymienionych producentów udziela wytwórcom płyt głównych licencji na swój produkt, dzięki czemu ci mogą się skupić tylko na części sprzętowej płyt. W celu uzyskania jednego z układów ROM i użycia go na płycie głównej, jej pierwotny producent OEM (ang. original eąuipment manufacturer) musi udzielić odpowiedzi na wiele pytań dotyczących architektury płyty. Pytania mają pomóc w zaprojektowaniu odpowiedniego BIOS-u lub dobrania go spośród już istniejących. Połączenie płyty głównej z układem ROM BIOS nie jest dziełem przypadku. Nie istnieje również pojedynczy uniwersalny i zgodny układ ROM. Firmy AMI, Award, Microid Research (MR BIOS) i Phoenix oferują różnym producentom płyt głównych wiele wariantów kodu BIOS-u, z których każdy jest przystosowany do współpracy z określonym typem płyty.
W ostatnim czasie w branży producentów BIOS-u zaszły poważne zmiany. Aż do roku 1995 firma Intel (największy producent płyt głównych) w swoich płytach używała BIOS-u firmy Phoenix, po czym przeszła na produkty firmy AMI. W roku 1997 zrezygnowała z BIOS-u AMI i powróciła do układów firmy Phoenix. Nie tak dawno, bo w 1999 r., Intel jeszcze raz zmienił dostawcę BIOS-u, którym ponownie została firma AMI. We wszystkich wymienionych okresach firma Intel zamawiała BIOS produkowany przez firmę Phoenix lub AMI, a następnie w znacznym stopniu modyfikowała go pod kątem współpracy z określonymi typami swoich płyt głównych. Decyzja Intela dotycząca wyboru producenta BIOS-u zawsze miała duże znaczenie, ponieważ 80 lub więcej procent udziału w rynku sprzedaży płyt głównych należy właśnie do niej. Oznacza to przede wszystkim, że, jeśli planujesz zakup komputera PC, to prawdopodobnie będzie on wyposażony w płytę główną firmy Intel zawierającą nowy BIOS firmy AMI.
Kolejna zmiana była związana z przejęciem pod koniec 1998 r. przez firmę Phoenix firmy Award. Po tym wydarzeniu firma Phoenix przez kilka lat oferowała BlOS-y firmy Award jako oddzielną linię produktów. W marcu 2002 roku firma Phoenix zastąpiła obie linie dwoma nowymi — linią Phoenix FirstBIOS, wywodzącą się z Award BIOS 6.x, oraz linią Phoenix FirstBIOS Pro, wywodzącą się z Phoenix BIOS 4,x.
Obecnie rynek BIOS-ów podzielony jest miedzy dwie firmy — AMI i Phoenix. Z tym. że firma Phoenix nie tylko projektuje BIOS dla wielu systemów, ale jest przede wszystkim odpowiedzialna za opracowywanie nowych standardów związanych z BlOS-em.
Trendem zauważalnym w ostatnich latach jest powstanie osobnych linii BIOS-ów dla 32- i 64-bitowych komputerów biurkowych, komputerów przenośnych, 32- i 64-bitowych serwerów oraz urządzeń z systemami osadzonymi. Mimo że wszystkie wersje BIOS-ów muszą obsługiwać pewne funkcje podstawowe, BlOS-y komputerów przenośnych muszą oferować dodatkowe funkcje, takie jak dokowanie, zaawansowane zarządzanie energią oraz użycie startowych urządzeń USB czy przenośnych pamięci Flash. BlOS-y optymalizowane dla serwerów muszą natomiast zapewniać takie funkcje, jak zaawansowane monitorowanie urządzeń czy obsługę 64-bitowych gniazd PCI. Tworząc dla różnych platform specjalizowane wersje BIOS-ów, ich twórcy zapewniają obsługę funkcji wymaganych przez poszczególne platformy oraz lepszą wydajność i stabilność.
Producenci OEM
Wielu producentów OEM niezależnie opracowało własne zgodne układy ROM. Firmy takie jak Compaą, AT&T i Acer zaprojektowały własne układy BIOS zgodne z produktami oferowanymi przez AMI i Pho-enix. Wymienione firmy oferują również dokonanie aktualizacji BIOS-u do nowszej wersji, która często zawiera więcej funkcji, ulepszeń lub poprawek niż jego starsza wersja. Jeśli jesteś posiadaczem komputera wyposażonego w niestandardowy układ ROM, upewnij się, czyjego producentem jest wielka i uznana firma oraz czy pozwala ona na dokonanie aktualizacji i wprowadzenia, w razie konieczności, poprawek. W idealnym przypadku pliki aktualizacyjne powinny być możliwe do pobrania w internecie.
Większość producentów OEM stosuje BIOS opracowywany dla nich przez inne firmy. Przykładowo, firma Hewlett-Packard zawarła z firmą Phoenix kontrakt na produkcję układów BIOS płyt głównych stosowanych w niektórych jej komputerach PC. Tak samo postąpiła firma IBM. Należy zauważyć, że chociaż firma Pho-enix zaprojektowała układ, to jednak jego aktualizacje lub poprawki w dalszym ciągu należy uzyskiwać od OEM. Tak jest w przypadku większości systemów, ponieważ producenci płyt głównych dostosowują BIOS do wytwarzanych przez siebie modeli.
AMI
Chociaż firma AMI dopasowuje zawartość układu ROM do określonego systemu, to jednak nie sprzedaje kodu źródłowego BIOS-u producentom OEM. Producent OEM jest zmuszony do uzyskania każdej nowej wersji, która zostanie opracowana. Ze względu na to, że wielu producentów OEM nie potrzebuje lub nie korzysta z każdej nowej wersji BIOS-u, w efekcie, zanim zakupią licencję na nowy BIOS, gotowi są pominąć kilka opracowanych aktualizacji. W chwili obecnej BIOS firmy AMI jest najczęściej stosowanym w komputerach PC tego typu układem. Nowsze wersje układów BIOS firmy AMI ze względu na dużą elastyczność programu konfiguracyjnego są nazywane Hi-Flex. BIOS Hi-Flex jest wykorzystywany w przez takich producentów płyt głównych jak Intel, AMI i innych. Firma AMI wyróżnia się tym, że jako jedyny producent BIOS-u zajmuje się również wytwarzaniem płyt głównych.
W trakcie inicjalizacji komputera w dolnym lewym narożniku ekranu wyświetlana jest zawartość łańcucha BIOS ID. Zawiera on wartościowe informacje dotyczące wersji BIOS-u i specyficznych ustawień określanych przy użyciu wbudowanego programu konfiguracyjnego.
Aby móc przyjrzeć się łańcuchowi BIOS ID, należy wyłączyć komputer, a następnie odłączyć klawiaturę lub podczas jego ponownego uruchamiania przytrzymać wciśnięty klawisz. Taka operacja spowoduje błąd klawiatury, a w efekcie wyświetlenie identyfikatora BIOS-u przez dłuższy czas.
Można również pobrać ze strony internetowej firmy AMI {www.ami.com/support/mbid.cfm) program o nazwie AMI Motherboard ID Utility (AMIMBID), uruchomić go i odczytać zawartość łańcucha ID String 1.
Podstawowy łańcuch identyfikacyjny BIOS Identification (ID String 1) jest wyświetlany w trakcie wykonywania procedury POST przez każdy BIOS firmy AMI w lewym dolnym narożniku ekranu poniżej informacji o prawach autorskich. Dwa dodatkowe łańcuchy BIOS ID (ID String 2 i 3) mogą być wyświetlone przez BIOS Hi-Flex firmy AMI, co następuje po naciśnięciu klawisza Insert w trakcie wykonywania procedury POST. Zadaniem dodatkowych łańcuchów jest wyświetlanie opcji dostępnych w BlOS-ie.
W tabeli 5.2 zawarto ogólny format łańcucha BIOS ID String 1 stosowany w przypadku starszych wersji BIOS-u firmy AMI. W tabeli 5.3 pokazano format łańcucha BIOS ID String 1 używany w BlOS-ie Hi-Flex. w tabeli 5.4 format łańcucha BIOS ID String 2 BIOS-u Hi-Flex, natomiast w tabeli 5.5 format łańcucha BIOS ID String 3.
Tabela 5.2. Format łańcucha ABBB-NNNN-mmddrr-KK String I stosowany w starszej wersji BIOS-u firmy AMI
Oznaczenie |
Opis |
A |
Opcje BIOS-u: D = wbudowana diagnostyka, S = wbudowany program Setup, E = wbudowany poszerzony program Setup. |
BBB |
Identyfikator chipsetu lub płyty głównej: C&T = chipset Chips & Technologies, NET = chipset C&T NEAT 286, 286 = standardowa płyta główna 286, SUN = chipset Suntac, PAQ = płyta główna firmy Compaą, INT = płyta główna firmy Intel, AMI = płyta główna firmy AMI. G23 = płyta główna 386 z chipsetem G2. |
NNNN |
Numer referencyjny kodu licencji producenta. |
mmddrr |
Data produkcji BIOS-u (miesiąc, dzień, rok). |
KK |
Numer wersji BIOS-u klawiatury. |
Tabela 5.3. Format łańcucha AB-CCcc-DDDDDD-EFGHIJKL-mmddrr-MMMMMMMM-N String 1 stosowany w wersji BIOS-u Hi-Flex firmy AMI
Oznaczenie |
Opis |
A |
Typ procesora: 0 = 8086 lub 8088, 2 = 286, 3 = 386. 4 = 486, 5 = Pentium, 6 = Pentium Pro/II/III/Celeron/Athlon/Duron. |
B |
Rozmiar BIOS-u: 0 = 64 KB, 1 = 128 KB, 2 = 256 KB. |
CCcc |
Podstawowe i dodatkowe numery wersji BIOS-u. |
DDDDDD |
Numer referencyjny kodu licencji producenta: 0036xx = płyta główna 386 firmy AMI, xx = numer serii, 0046xx = płyta główna 486 firmy AMI, xx = numer serii, 0056xx = płyta główna Pentium firmy AMI, xx = numer serii, 0066xx = płyta główna Pentium Pro firmy AMI, xx = numer serii. |
E |
1 = zatrzymanie w przypadku wystąpienia błędu podczas POST |
F |
1 = inicjalizacja CMOS przy każdym uruchomieniu komputera. |
G |
1 = blokada końcówki 22 i 23 kontrolera klawiatury. |
H |
1 = obsługa myszy w BlOS-ie (kontrolerze) klawiatury. |
I |
1 = Monit o naciśnięcie klawisza <F1> (w przypadku błędu procedury POST). |
J |
1 = Wyświetlenie błędu napędu dyskietki (w trakcie wykonywania procedury POST) |
K |
1 = Wyświetlenie błędu grafiki (w trakcie wykonywania procedury POST). |
L |
1 = Wyświetlenie błędu klawiatury (w trakcie wykonywania procedury POST). |
mmddrr |
Data produkcji BIOS-u (miesiąc, dzień, rok). |
MMMMMMMM |
Identyfikator chipsetu lub nazwa BIOS-u. |
N |
Numer wersji kontrolera klawiatury. |
Układ BIOS firmy AMI zawiera wiele funkcji. Jedną z nich jest wbudowany program konfiguracyjny uruchamiany poprzez wciśnięcie klawisza Delete lub Esc w ciągu kilku pierwszych sekund po włączeniu komputera. BIOS przez krótką chwilę wyświetla informację podającą, kiedy i jaki klawisz należy wcisnąć. BIOS firmy AMI pozwala na określenie niestandardowych parametrów dysków twardych, co daje możliwość zdefiniowania optymalnej konfiguracji wielu dysków ATA i ESDI. Układy BIOS wyprodukowane po roku 1995 obsługują również dyski twarde standardu EIDE (ang. enhanced IDE) i dysponują funkcją automatycznej konfiguracji parametrów dysków.
Niektóre wersje BIOS-u firmy AMI oferowały poza programem konfiguracyjnym unikalną funkcję związaną z wbudowanym pakietem diagnostycznym złożonym z programów okienkowych, który w rzeczywistości był znacznie ograniczoną wersją programu AMIDIAG. Tego typu programy diagnostyczne nie mają zastąpić bardziej zaawansowanych aplikacji instalowanych na dysku, ale zawsze mogą się przydać. Przykładowo, wbudowane programy diagnostyczne nie wykonują intensywnych testów pamięci, natomiast niskopoziomowe formatowanie dysku twardego działa tylko na poziomie BIOS-u, a nie na poziomie rejestrów kontrolera dysków. Tego typu ograniczenia często uniemożliwiały wykonanie formatowania poważnie uszkodzonych dysków. Nowsze wersje BIOS-u firmy AMI nie zawierają już programów diagnostycznych.
Tabela 5.4. Format łańcucha AAB-C-DDDD-EE-FF-GGGG-HH-II-JJJ String 2 stosowany w wersji BIOS-u Hi-Flex firmy AMI
Oznaczenie |
Opis |
AA |
Numer końcówki kontrolera klawiatury służącej do przełączania zegara. |
B |
Funkcja końcówki kontrolera klawiatury przełączającej zegar: H = sygnał (High) aktywujący wysoką częstotliwość zegara. L = sygnał (High) aktywujący niską częstotliwość zegara, |
C |
Przełączanie zegara za pomocą rejestrów chipsetu, 0 = wyłączone, 1 = włączone. |
DDDD |
Adres portu przełączającego częstotliwość zegara na wysoką. |
EE |
Wartość danych przełączająca częstotliwość zegara na wysoką. |
FF |
Wartość maski przełączająca częstotliwość zegara na wysoką. |
GGGG |
Adres portu przełączającego częstotliwość zegara na niską. |
HH |
Wartość danych przełączająca częstotliwość zegara na niską. |
II |
Wartość maski przełączająca częstotliwość zegara na niską. |
JJJ |
Numer końcówki dla funkcji Turbo Switch Input. |
Tabela 5.5. Format łańcucha AAB-C-DDD-EE-FF-GGGG-HH-II-JJ-K-L String 3 stosowany w wersji BIOS-u Hi-Flex firmy AMI |
|
Oznaczenie |
Opis |
AA |
Numer końcówki kontrolera klawiatury służącej do sterowania pamięcią podręczną. |
B |
Funkcja końcówki kontrolera klawiatury sterującej pamięcią podręczną: H = sygnał wysoki aktywuje pamięć podręczną, L = sygnał wysoki wyłącza pamięć podręczną. |
C |
1 = Na końcówce kontrolera klawiatury znajduje się sygnał wysoki. |
DDD |
Sterowanie pamięcią podręczną przy użyciu rejestrów chipsetu: 0 = sterowanie pamięci podręcznej wyłączone, 1 = sterowanie pamięci podręcznej włączone. |
EE |
Adres portu włączającego pamięć podręczną. |
FF |
Wartość danych włączająca pamięć podręczną. |
GGGG |
Wartość maski włączająca pamięć podręczną. |
HH |
Adres portu wyłączającego pamięć podręczną. |
II |
Wartość danych wyłączająca pamięć podręczną. |
JJ |
Wartość maski wyłączająca pamięć podręczną. |
K |
Numer końcówki uruchamiającej ponownie kontroler pamięci 82335. |
L |
Znacznik modyfikacji BIOS-u: 0 = BIOS nie został zmodyfikowany, 1 - 9, A - Z = liczba modyfikacji BIOS-u |
Firma AMI nie udostępnia dokumentacji BIOS-u. Składa to na barki producentów płyt głównych, którzy umieszczają na nich układy BIOS firmy AMI. Niezależnie od tego firma AMI opublikowała obszerną wersję dokumentacji zatytułowanej „Programmer's Guide to the AMIBIOS: Includes Descriptions of PCI, APM, and Socket Services BIOS Functions" i wydanej przez wydawnictwo Windcrest/McGraw-Hill (ISBN 0-07-001561-9). Publikacja opracowana przez inżynierów firmy AMI zawiera omówienie wszystkich funkcji BIOS-u. właściwości, kody błędów i wiele innych informacji. Niestety jej nakład się już wyczerpał. Można spróbować jej jeszcze poszukać za pomocą serwisów Google lub Amazon.com. Osobiście polecam ją użytkownikom, którzy w swoich komputerach mają BIOS firmy AMI. Książka zawiera całą dokumentację, której prawdopodobnie poszukiwali.
BIOS firmy AMI jest sprzedawany za pośrednictwem dystrybutorów, których lista znajduje się na stronie internetowej producenta. Należy jednak mieć świadomość, że nowszych wersji BIOS-u lub zapasowych egzemplarzy nie można zakupić bezpośrednio od firmy AMI. Zajmuje się ona wytwarzaniem aktualizacji BIOS-u przeznaczonego tylko do swoich płyt głównych. Jeśli jesteś posiadaczem płyty wyprodukowanej przez inną firmę zawierającej przystosowany do niej BIOS firmy AMI, wtedy w celu uzyskania jego aktualizacji należy skontaktować się z producentem płyty.
Award
Firma Phoenix, będąca obecnie właścicielem układu BIOS Award, sprzedaje go obecnie pod nazwą FirstBIOS. FirstBIOS oferuje wszystkie funkcje, jakich można od niego oczekiwać, włączając w to program konfiguracyjny uruchamiany po wciśnięciu kombinacji klawiszy Ctrl+Alt+Esc lub określonego klawisza, zazwyczaj wyświetlonego na ekranie w trakcie inicjalizacji systemu. Program konfiguracyjny oferuje możliwość definiowania własnych typów i parametrów dysków twardych (IDE lub ESDI), wymaganych do pełnego wykorzystania ich funkcji. Chociaż zaimplementowana procedura testująca POST jest wystarczająca, to jednak niewielka ilość kodów błędów sygnalizowanych dźwiękowo oznacza, że w przypadku diagnostyki większości problemów związanych z inicjalizacją komputera konieczne będzie użycie specjalnej karty wyświetlającej kody procedur POST. Na swojej stronie internetowej, znajdującej się pod adresem http://www.phoenix.com, firma Phoenix oferuje pomoc techniczną. Firma eSupport.com (poprzednio znana jako Unicore Software) zajmuje się aktualizacją układów Award BIOS przeznaczonych dla końcowych użytkowników.
Phoenix
Oryginalny BIOS firmy Phoenix, oferowany obecnie pod nazwą FirstBIOS Pro, przez wiele lat stanowił standard, z którym były porównywane produkty innych firm. Firma Phoenix była jedną z pierwszych, która przy użyciu metody określanej terminem „czystego pokoju" (ang. clean room) legalnie wykonała inżynierię odwrotną kodu BIOS-u firmy IBM. Metoda „czystego pokoju" polegała na tym, że zespół inżynierów analizował kod BIOS-u produkowanego przez firmę IBM, a następnie opracowywał specyfikację zawierającą mechanizm jego działania oraz obsługiwane przez niego funkcje. Kompletna specyfikacja była później przekazywana drugiemu zespołowi inżynierów, którzy nigdy nie mieli do czynienia z BlOS-em firmy IBM. W związku z tym, zupełnie zgodnie z prawem, opierając się na przygotowanej przez pierwszy zespół specyfikacji, mogli oni zacząć tworzyć kod nowego BIOS-u. Efektem ich pracy był oryginalny kod źródłowy nie będący kopią BIOS-u firmy IBM, a ponadto charakteryzujący się identycznymi możliwościami.
BIOS firmy Phoenix (FirstBIOS Pro) przewyższa inne produkty pod dwoma względami. Z tego też powodu na mojej prywatnej liście rankingowej zajmuje wysoką lokatę. Po pierwsze, BIOS firmy Phoenix jest wyposażony w znakomitą procedurę testową POST. Dysponuje bogatym zestawem sygnalizowanych dźwiękowo kodów błędów służących do wykrycia poważnych problemów związanych z płytą główną, uniemożliwiających poprawne funkcjonowanie systemu. Tak naprawdę już same sygnalizowane dźwiękowo kody błędów procedury POST umożliwiają identyfikację problemów z pamięcią RAM z dokładnością do pojedynczego modułu SIMM lub DIMM znajdującego się w banku 0. Poza tym BIOS firmy Phoenix jest wyposażony w wysokiej jakości program konfiguracyjny pozbawiony wszelkich niedociągnięć i oferujący wszystkie wymagane przez użytkownika funkcje, takie jak definiowanie niestandardowych typów dysków twardych itp. Wbudowany program konfiguracyjny jest uruchamiany po wciśnięciu w trakcie inicjalizacji systemu — zależnie od wersji posiadanego BIOS-u — kombinacji klawiszy Ctrl+Alt+S, Ctrl+Alt+Esc lub określonego klawisza takiego jak FI lub F2 (w większości nowszych systemów).
Po drugie, BIOS firmy Phoenix wiedzie prym pod względem dołączonej dokumentacji. Informacje na temat BIOS-u zostały zawarte nie tylko w instrukcji obsługi dołączonej do komputera, ale dodatkowo firma opracowała zestaw dokumentów, które w branży komputerowej zostały uznane za standard. Oryginalny zestaw jest złożony z trzech książek zatytułowanych kolejno — „System BIOS for IBM PC/XT/AT Computers and
Compatibles", „CBIOS for IBM PS/2 Computers and Compatibles" oraz „ABIOS for IBM PS/2 Computers and Compatibles". Uaktualniona ich wersja nosi tytuł „System BIOS for IBM PCs, Compatibles, and EISA Computers: The Complete Guide to ROM-Based System Software". Poza pełnieniem funkcji znakomitych materiałów zawierających informacje na temat BIOS-u firmy Phoenix, wymienione książki stanowią również wyjątkowe źródło ogólnej wiedzy dotyczącej BIOS-u. Co prawda nakład publikacji już się wyczerpał, ale można ją jeszcze znaleźć przy wykorzystaniu serwisów zajmujących się wyszukiwaniem książek.
Na swojej stronie internetowej znajdującej się pod adresem http://www.phoenix.com firma Phoenix oferuje rozbudowane system pomocy technicznej i dokumentację. Podobną ofertę przedstawiają firmy Micro Firm-ware Inc., (http://www.firmware.com) oraz eSupport (www.esupport.com). Firmy Micro Firmware i eSupport zajmują się również aktualizacją niektórych starszych systemów, takich jak modele komputerów firmy Packard Bell. Gateway (z zainstalowanymi płytami głównymi firmy Micronics), Micron Technologies i innych wyposażonych w BIOS firmy Phoenix. W przypadku większości systemów, a zwłaszcza nowszych modeli, w celu dokonania aktualizacji dowolnego BIOS-u należy skontaktować się z producentem płyty głównej lub komputera.
BlOS-y produkowane przez wymienione firmy są w przemyśle komputerowym uznawane za standardowe, dlatego też dzięki ich częstym aktualizacjom i ulepszeniom można mieć pewność, że również komputer zawierający jeden z nich przez długi czas będzie mógł korzystać z możliwości aktualizacji.
Microid Research BIOS
Firma Microid Research (MR) jest interesującym dostawcą układów BIOS. Jej podstawowy obszar zainteresowań jest związany z aktualizacją BIOS-ów, w które były wyposażone starsze płyty główne oparte na procesorach 486 i Pentium, wobec których ich producenci zaprzestali udzielania wsparcia technicznego. Sama aktualizacja BIOS-u w systemach tego typu pozwala na dodanie do nich nowych funkcji i zwiększenie ich wydajności. BlOS-y firmy Microid Research są sprzedawane za pośrednictwem firmy eSupport.com (Unicore Software).
Jeśli masz do czynienia z kilkoma typami BIOS-u, wtedy zastanów się na dołożeniem do swojej prywatnej biblioteki publikacji autorstwa Phila Crouchera zatytułowanej „BIOS Companion" lub pobraniem jej wersji elektronicznej w formacie PDF. Książka dokładnie omawia opcje BIOS-u i ustawienia konfiguracyjne dostępne w najpopularniejszych obecnie BIOS-ach. Różne edycje książki można nabyć za pośrednictwem firmy Amazon.com lub w innych księgarniach. Jednak, aby zaopatrzyć się w najnowszą (i najtańszą) edycję, namawiam do zamówienia wersji elektronicznej w formacie PDF (Adobe Acrobat) zatytułowanej „The BIOS Companion — Engineefs Edition" oferowanej przez firmę Electrocution.com.
Aktualizacja BIOS-u
W tym podrozdziale pokażę, w jaki sposób aktualizacja BIOS-u może pod wieloma względami wpłynąć korzystnie na używany system. Przedstawię również, dlaczego operacja aktualizacji może być trudna do wykonania i może się wiązać z czymś więcej niż tylko zamontowaniem zestawu układów ROM.
Dzięki zastosowaniu BIOS-u różne systemy operacyjne, pomimo różnic sprzętowych, mogą być uruchamiane na prawie każdym komputerze zgodnym z IBM PC. Ze względu na to, że BIOS komunikuje się z urządzeniami, musi być z nimi w pełni zgodny. Jak już wcześniej wspomniano, zamiast opracowywać własne BlOS-y, wielu producentów komputerów zaopatruje się w nie u specjalistów w tej dziedzinie, takich jak AMI (American Megatrends Inc.) lub Phoenix Technologies Ltd. Producent płyt głównych, który nabył licencję na BIOS, musi następnie dostosować jego kod do swojej płyty głównej. Z tego też powodu aktualizacja BIOS-u w pewnym stopniu komplikuje się. BIOS zazwyczaj jest zawarty w układzie ROM umieszczonym na płycie głównej i jest ściśle związany z modelem oraz wersją płyty. Innymi słowy, zamiast bezpośrednio u wytwórcy BIOS-u, jego aktualizacje dostępne są tylko u producenta płyty głównej lub firmy zajmującej się opracowywaniem uaktualnień BIOS-u dla posiadanej przez Ciebie płyty.
Często się zdarza, że w starszych systemach w celu wykorzystania wprowadzonych ulepszeń konieczne jest również przeprowadzenie aktualizacji BIOS-u. Aby. przykładowo, w starszych komputerach zainstalować niektóre pojemniejsze i szybsze modele dysków twardych IDE (ang. lntegrated Drive Electronics) lub napędy dyskietek LS-120 (o pojemności 120 MB), należy zaktualizować BIOS. Przykładowo, niektóre z komputerów mogą być wyposażone w starsze wersje BIOS-u, który nie obsługuje dysków twardych o pojemności przekraczającej 8 GB.
Poniższa lista zawiera funkcje BIOS-u. które można uzyskać po zaktualizowaniu układu ROM BIOS. Uzyskane funkcje lub inne korzyści zależą od konkretnej płyty głównej:
Obsługa nowszych i szybszych modeli procesorów.
Obsługa napędów ATAPI CD-ROM (zgodnych ze specyfikacją El Torito) umożliwiających uruchomienie systemu operacyjnego.
Obsługa napędów dyskietek LS-120 (120 MB), znanych również pod nazwą SuperDisk lub napędów dyskietek Zip.
Obsługa dysków podłączanych poprzez interfejs USB, umożliwiających uruchomienie systemu operacyjnego.
Krótsze procedury testowe POST, skracające czas uruchomienia się komputera.
Obsługa dysków twardych ATA Ultra-DMA/100 lub UDMA/133.
Obsługa dysków twardych o pojemności przekraczającej 8,4 GB lub 137 GB (48-bitowe adresowanie LBA).
Obsługa dysków twardych z szeregowymi interfejsami ATA (SATA, Serial ATA).
Obsługa środowisk przeduruchomieniowych oraz oprogramowania narzędziowego zapisanych w chronionym obszarze HPA.
Obsługa lub zwiększona zgodność z technologią Pług and Play (PnP).
Usunięcie błędów związanych z kalendarzem i zmianą daty.
Usunięcie problemów związanych z powszechnie znanymi błędami i zgodnością niektórych urządzeń oraz aplikacji lub systemu operacyjnego.
Obsługa funkcji ACPI związanej z zarządzaniem energią.
Monitorowanie temperatury oraz monitorowanie i regulowanie prędkości obrotowej wentylatorów.
Obsługa klawiatur i myszy dołączanych do portów USB.
Sygnalizacja otwarcia obudowy.
W części standardu PC 2001 opublikowanego przez firmę Intel i Microsoft zawarto wymóg obsługi funkcji określanej jako Fast POST. Oznacza to, że czas, jaki upłynie od włączenia komputera do chwili rozpoczęcia ładowania z dysku systemu, nie może przekroczyć 12 sekund (dotyczy to systemów pozbawionych dysków SCSI pełniących rolę podstawowego nośnika systemowego). W określonym limicie czasowym zawarto czas inicjalizacji klawiatury, karty graficznej oraz interfejsu ATA. W przypadku systemów wyposażonych w karty zawierające układy ROM, dla każdego z nich przewidziano dodatkowe 4 sekundy. Firma Intel nazwała tę funkcję RBB (ang. Rapid BIOS Boot). Jest ona obsługiwana przez wszystkie płyty główne wyprodukowane w 2001 r. i nowsze. Niektóre z nich są w stanie rozpocząć ładowanie systemu w czasie nie przekraczającym 6 sekund.
Pomimo postępowania zgodnego z zaleceniami producenta podczas instalacji nowego urządzenia lub aplikacji, może się okazać, że wskutek wystąpienia określonych problemów z BlOS-em nie będą one działały poprawnie. Rozwiązaniem może być jego aktualizacja. Jest to szczególnie częsta sytuacja w przypadku nowszych systemów operacyjnych. Wiele komputerów do poprawnej współpracy z technologią Pług and Play oferowaną przez takie systemy jak Windows 9x, Me, XP i 2000 wymaga wykonania aktualizacji BIOS-u. Ponieważ tego typu problemy pojawiają się w sposób losowy i objawiają się inaczej w różnych modelach płyt, warto od czasu do czasu zajrzeć na stronę internetową producenta i sprawdzić, czy nie pojawiły się jakieś aktualizacje BIOS-u dotyczące wymienionych problemów, które za ich pomocą zostaną usunięte. Aktualizację BIOS-u zalecam również przed zainstalowaniem nowego urządzenia (w szczególności procesora) oraz nowego oprogramowania. Ich niezgodność z BlOS-em komputera, w którym mają zostać zainstalowane, może uniemożliwić działanie komputera.
W celu przetestowania używanego BIOS-u pod kątem zgodności z popularnymi funkcjami, takimi jak inicja-lizacja systemu przy użyciu napędów Zip lub LS-120, zarządzanie energią ACPI czy przekierowywanie przerwań PCI IRQ, należy posłużyć się programem narzędziowym BIOS Wizard udostępnianym przez firmę eSupport.com (wcześniej Unicore). Program można pobrać ze strony internetowej znajdującej się pod adresem http:/7www. esupport. com/techsupport/award/awardutils. htm.
Gdzie szukać aktualizacji BIOS-u?
W przypadku aktualizacji większości BIOS-ów należy skontaktować się telefonicznie z producentem płyty głównej lub pobrać plik z jego strony internetowej. Producenci BIOS-u nie zajmują się jego aktualizacją, ponieważ BIOS zastosowany w używanej przez Ciebie płycie głównej tak naprawdę nie został wykonany przez jej producenta. Innymi słowy, chociaż sądzisz, że jesteś posiadaczem BIOS-u wyprodukowanego przez firmę Phoenix, AMI lub Award, to w rzeczywistości tak nie jest! Zamiast tego dysponujesz BlOS-em opracowanym przez jedną z wymienionych firm, na który producent płyty głównej nabył licencję, a następnie dostosował go do określonego typu płyty. Z tego też powodu jesteś zmuszony do szukania aktualizacji BIOS-u u producenta swojej płyty głównej, która to aktualizacja musi dotyczyć określonego modelu płyty.
W przypadku układów BIOS produkowanych przez firmę Phoenix lub Award istnieje jeszcze jedno rozwiązanie. Firma o nazwie eSupport (wcześniej Unicode) specjalizuje się w opracowywaniu aktualizacji BIOS-u firmy Award. Jeśli nie uda Ci się skontaktować z producentem płyty głównej lub ten przestał istnieć, wtedy może się przydać pomoc firmy eSupport. Podobną współpracę firma Phoenix nawiązała z firmą Micro Firmware, która uzyskała licencję na dostarczanie aktualizacji różnych wersji BIOS-u. Jeśli jesteś posiadaczem BIOS-u firmy Phoenix lub Award, a producent Twojej płyty głównej nie potrafi udzielić Ci pomocy, wtedy skontaktuj się z jedną z tych firm i zapytaj o możliwości rozwiązania problemu. Firma Microid Research (jej dystrybutorem jest również firma eSupport) jest kolejnym miejscem, w którym można poszukać aktualizacji BIOS-u zastosowanego w wielu starszych modelach płyt. Aktualizacje BIOS-u oferowane przez tę firmę przewidziane są dla płyt głównych, których oryginalne wersje zostały wyposażone w BlOS-y firm AMI, Award lub Phoenix. Dzięki nim o nowe funkcje można poszerzyć możliwości starszych płyt, których wytwarzanie zostało zaniechane przez ich oryginalnych producentów. Aby uzyskać więcej informacji, należy skontaktować się z firmą eSupport.
Identyfikacja wersji BIOS-u
Jeżeli postanowisz poszukać aktualizacji BIOS-u przeznaczonego do określonego modelu płyty głównej (lub komputera), musisz uzyskać następujące informacje:
producent i model płyty głównej lub komputera.
wersja używanego BIOS-u,
typ procesora (np. Pentium MMX, AMD K6, Cyrix/IBM 6x86MX. MII, Pentium II/III lub nowszy. AMD Athlon, Athlon XP, itd.).
Zazwyczaj identyfikacja posiadanego BIOS-u polega na przyjrzeniu się ekranowi podczas inicjalizacji komputera. Aby sobie to ułatwić, dobrze jest nieco wcześniej włączyć monitor, ponieważ na osiągnięcie pełnej sprawności potrzebuje on kilku sekund, a informacja na temat BIOS-u jest widoczna właśnie przez taki okres.
Większość nowszych komputerów PC nie wyświetla standardowych komunikatów procedury POST. Zamiast nich przeważnie widoczne jest logo producenta płyty głównej lub komputera, które często jest określane jako splash screen. W celu uruchomienia programu BIOS Setup należy wcisnąć klawisz lub kombinację klawiszy określoną przez producenta BIOS-u. Aby uzyskać więcej informacji, należy zapoznać się z treścią punktu „Uruchomienie i dostęp do programu BIOS Setup" znajdującego się w dalszej części rozdziału. Możesz także spotkać się z określeniem „cichej" inicjalizacji (ang. quiet boot), którym posługują się niektórzy eksperci komputerowi nazywający w ten sposób logo producenta wyświetlane zamiast standardowego ekranu wygenerowanego przez procedurę POST. Często istnieje możliwość zamiany standardowych ekranów wyświetlanych przez BIOS na własne, a nawet można dołączyć logo swojej firmy lub dowolną grafikę. Firma Intel na swojej stronie internetowej znajdującej się pod adresem http://developer.intel.com/design/motherbd/gen_indx.htm zamieściła darmowy program umożliwiający zmianę lub przywrócenie ekranów wyświetlanych przez BIOS płyt głównych przez nią produkowanych.
Poszukaj wszelkich informacji dotyczących praw autorskich lub numerów seryjnych. Aby zatrzymać na ekranie komunikaty wygenerowane przez procedurę POST, można wcisnąć klawisz Pause, dzięki czemu zyska się czas niezbędny do zapisania wymaganych informacji. Wciśnięcie dowolnego klawisza spowoduje kontynuację wykonywania procedury testującej POST.
Dość często informacje zawarte w łańcuchu BIOS ID są również dostępne w programie BIOS Setup. Firma eSupport posiada w swojej ofercie program BIOS Agent (http://www.biosupgrades.com/biosagent/), którego zadaniem jest określenie zawartości łańcucha BIOS ID, jak również typu chipsetu i układu Super I/O wykorzystywanych przez płytę główną. Po uzyskaniu tych informacji można skontaktować się z producentem płyty i sprawdzić, czy jest dostępna nowa wersja zgodnego BIOS-u. Będąc na stronie internetowej producenta, upewnij się. że dostępna aktualizacja jest nowsza od posiadanej. Jeśli tak, pobierz plik i zainstaluj go w swoim komputerze.
Odczytanie daty BIOS-u
Jedna z metod poznania wieku i możliwości BIOS-u polega na odczytaniu jego daty. Data BIOS-u praktycznie każdego komputera PC zapisana jest w ośmiobajtowym łańcuchu tekstowym, znajdującym się pod adresem FFFF5h. Zapisana jest tam data ostatniego uaktualnienia kodu BIOS lub jego kompilacji wykonanej przez producenta płyty głównej. Data BIOS-u jest wskazówką pozwalającą stwierdzić, jakie funkcje są w BlOS-ie dostępne, a jakie jeszcze nie. Zawartość powyższego obszaru pamięci można odczytać za pomocą programu DEBUG, dostępnego we wszystkich wersjach systemu DOS i Windows. Jest to program działający w wierszu poleceń, wyświetlający swój własny znak zachęty w postaci myślnika (-). W wierszu poleceń programu można wydawać programowi określone polecenia. Na przykład polecenie ? spowoduje wyświetlenie pomocy programu. Aby odczytać datę BIOS-u, należy w oknie wiersza poleceń systemu operacyjnego (lub po uruchomieniu komputera z dyskietki DOS) wydać polecenie DEBUG, a następnie polecenie D FFFF: 5 L 8, nakazujące programowi wyświetlenie wartości ośmiu bajtów umieszczonych od adresu FFFF5. Program wyświetli te informacje w postaci szesnastkowej oraz kodów ASCII. Po powrocie do znaku zachęty - należy wydać polecenie Q, powodujące opuszczenie programu DEBUG i powrót do wiersza poleceń systemu operacyjnego. Przykład działania programu DEBUG przedstawiono na rysunku 5.6.
Rysunek 5.6.
Data BIOS-u odczytana za pomocą programu DEBUG
BIOS przykładowego komputera nosi datę 7.11.2003.
Tworzenie kopii zapasowej BIOS-u
Jedną z niedocenianych korzyści płynących z posiadania programatora pamięci EPROM jest możliwość wykonania za jego pomocą kopii zapasowych pamięci ROM. Producenci płyt głównych czy kart rozszerzeń z reguły nie sprzedają osobno zaprogramowanych układów ROM swoich płyt czy kart, a jedyną możliwością naprawy starej płyty głównej lub karty, w której uszkodzeniu uległa zawartość pamięci ROM, jest odtworzenie jej na podstawie przechowywanej kopii zapasowej. Kopię zapasową pamięci ROM można przechowywać w układzie pamięci ROM lub Flash albo w pliku na dyskietce. Autor przechowuje w plikach zawartości pamięci ROM wszystkich używanych przez siebie płyt głównych oraz kart rozszerzeń. Kopia zawartości pamięci ROM przechowywana w pliku ułatwia odczytanie informacji o producencie oraz innych informacji tekstowych, a także pozwala na dezasemblację kodu w celu zapoznania się z jego działaniem.
Aby zapisać w pliku kopię zawartości pamięci ROM BIOS płyty głównej, można umieścić układ ROM BIOS w programatorze EPROM i za pomocą dostępnych funkcji programatora utworzyć jej kopię. Można też w tym celu posłużyć się programem DEBUG, który przydaje się szczególnie wówczas, gdy układ ROM BIOS jest wlutowany w płytę główną.
Kod pamięci ROM BIOS komputera PC ma zwykle wielkość 128 KB i zajmuje dwa segmenty o wielkości 64 KB: E0000 - EFFFF oraz F0000 - FFFFF. BlOS-y karty graficznej oraz innych kart rozszerzeń zajmują obszary COOOO - CFFFF i DOOOO - DFFFF. Z powodu ograniczeń programu DEBUG każdy segment pamięci o wielkości 64 KB należy zapisywać oddzielnie.
Aby za pomocą programu DEBUG zapisać zawartość segmentów pamięci EOOO i FOOO, należy wykonać następujące instrukcje:
Wynik działania powyższych poleceń wydanych w wierszu poleceń systemu Windows XP został pokazany na rysunku 5.7.
Rysunek 5.7.
Zapisanie za pomocą programu DEBUG obszarów pamięci EOOOO - EFFFF oraz FOOOO - FFFFF w plikach
Za pomocą powyższych instrukcji najpierw zdefiniowano wielkość tworzonego pliku, następnie nadano plikowi nazwę, by wreszcie przekopiować zawartość pamięci ROM BIOS do aktualnego segmentu kodu i zapisać go na dysku. Procedurę wykonano dwukrotnie osobno dla obszaru EOOOO - EFFFF oraz FOOOO - FFFFF.
Jeżeli zachodzi potrzeba zapisania segmentów pamięci zawierających BIOS karty graficznej lub zawartości pamięci ROM znajdujących się na kartach rozszerzeń zainstalowanych w komputerze, należy w powyższych procedurach użyć jako adresów początkowych wartości C000:0 lub D000:0. Należy również zmienić odpowiednio nazwy plików. Warto wiedzieć, że BIOS karty graficznej nie musi zajmować całego segmentu COOOO oraz że w segmencie COOOO - DOOOO nie muszą znajdować się żadne pamięci ROM kart rozszerzeń. W takim przypadku system Windows może w tym obszarze umieścić obraz zupełnie innej pamięci.
Należy wiedzieć, że przedstawione wcześniej polecenia trzeba wykonywać w podanej kolejności; w szczególności polecenie N musi zostać wykonane przed poleceniem M. W przeciwnym razie pewna część danych znajdujących się na początku aktualnego segmentu kodu będzie bezużyteczna.
Tworzenie kopii zapasowej konfiguracji CMOS BIOS
Aktualizacja BIOS-u płyty głównej zazwyczaj powoduje usunięcie ustawień programu BIOS Setup zapisanych w układzie CMOS RAM. Z tego też powodu warto wykonać kopię tych ustawień, zwłaszcza wtedy, gdy zawierają ważne parametry, związane na przykład, z dyskiem twardym. Niektóre programy narzędziowe, takie jak Norton Utilities, umożliwiają zapisywanie i przywracanie ustawień zawartości CMOS. Niestety, w przypadku przeprowadzania aktualizacji BIOS-u programy tego typu często są bezużyteczne. Wynika to stąd, że czasami nowy BIOS zawiera nowe ustawienia lub dokonuje zmiany lokalizacji danych zapisanych w pamięci
CMOS RAM. Oznacza to, że przywrócenie danych traci sens. Poza tym, biorąc pod uwagę dużą różnorodność dostępnych układów BIOS. konieczne jest dodatkowe poszukanie programu wykonującego i przywracającego kopię zapasową zawartości pamięci CMOS RAM, który będzie współpracował ze znacznie większą liczbą płyt głównych.
Lepszym rozwiązaniem będzie ręczne zapisanie parametrów zawartych w programie BIOS Setup lub podłączenie do komputera drukarki i — przy użyciu kombinacji klawiszy Shift+PrtSc (ang. Print Screen) — wydrukowanie każdego ekranu wyświetlającego jego konfigurację. Niektóre programy typu shareware potrafią drukować lub nawet zapisywać i przywracać ustawienia programu BIOS Setup zapamiętanego w pamięci CMOS RAM. Ich wadąjest to, że współpracują tylko z określoną wersją BIOS-u i nie mogą być wykorzystane w każdym komputerze. Większość tego typu programów było przydatnych w czasach procesorów 286 i 386, ale od tamtego czasu zastosowanie nowszych systemów, szczególnie tych obsługujących technologię Pług and Play spowodowało, że znaczna ich część stała się bezużyteczna.
Jeżeli nie da się wydrukować zawartości ekranów, można je sfotografować aparatem cyfrowym! Aparat należy ustawić w tryb wykonywania zdjęć z bliska oraz posługiwać się wizjerem LCD, a nie optycznym. W przeciwnym razie część informacji może znaleźć się poza zdjęciem.
Kontrolery klawiatury
Oprócz podstawowego układu ROM w starszych komputerach klasy AT (procesor 286 i późniejsze) stosowano również kontroler klawiatury lub, inaczej mówiąc, układ ROM klawiatury. Układ ten jest mikroprocesorem zintegrowanym z własnym układem ROM. W przypadku większości nowszych płyt głównych kontroler klawiatury często jest umieszczony w układzie Super l/O lub mostku południowym (ang. South Bridge). Pierwszym kontrolerem klawiatury był mikrokontroler Intel 8042 składający się z mikroprocesora, pamięci RAM, ROM i portów 1/0. Ten 40-nóżkowy układ często zawierał w sobie informację dotyczącą praw autorskich identyfikujących kod BIOS-u. W większości płyt głównych funkcje kontrolera realizowane są przez chipset, a dokładniej mówiąc, układ Super l/O lub mostek południowy, dlatego też nie zobaczysz na nich starego układu 8042.
Kontroler klawiatury steruje liniami A20 i reset, a ponadto dekoduje kody wysyłane z klawiatury. Linia A20 jest wykorzystywana przez pamięć rozszerzoną oraz operacje wykonywane w trybie chronionym. W wielu komputerach jeden z wolnych portów jest wykorzystywany do określania częstotliwości pracy procesora. Wskutek jego powiązania z kontrolerem klawiatury i operacjami wykonywanymi w trybie chronionym przy okazji aktualizacji systemu operacyjnego DOS do Windows 95/98, NT lub 2000 pojawiało się wiele problemów związanych z kontrolerami.
Kłopoty z kontrolerem klawiatury w większości systemów zostały usunięte na początku lat 90., dlatego też, jeśli jesteś posiadaczem nowszego komputera, nie powinieneś mieć z nimi do czynienia. W przypadku starszych komputerów, w momencie przeprowadzania aktualizacji BIOS-u często jego producent wyposażał go w nowy kontroler klawiatury.
Układy Flash BIOS
W prawie wszystkich komputerach PC wprowadzonych na rynek po roku 1996 BIOS znajduje się w układzie Flash ROM. Układ Flash ROM jest układem EEPROM, który umożliwia wymazywanie jego zawartości i ponowne programowanie. Cała operacja nie wymaga zastosowania żadnych specjalistycznych urządzeń. Starsze układy EPROM wymagały użycia specjalnego źródła promieniowania ultrafioletowego oraz programatora EPROM służącego do ich wymazywania i programowania. W przeciwieństwie do nich, układy Flash ROM mogą być wymazywane i programowane bez wyjmowania z komputera. W wielu najnowszych komputerach Flash ROM nie jest oddzielnym układem scalonym, lecz częścią mostka południowego.
Zastosowanie układu Flash ROM umożliwia pobieranie ze strony internetowej aktualizacji jego zawartości lub otrzymania jej na dyskietce. Dysponując plikiem aktualizacyjnym, można bez konieczności wyjmowania i zamiany układu Flash ROM znajdującego się na płycie głównej wprowadzić do niego zawartość pliku. Zazwyczaj aktualizacje układów Flash ROM są dostępne na stronie internetowej producenta. Dołączony do niej program służy do utworzenia dyskietki startowej zawierającej obraz nowego BIOS-u oraz program aktualizujący.
Ważne jest, aby procedurę aktualizacji uruchomić z tej dyskietki, ponieważ wtedy nie wystąpi konflikt z innymi programami lub sterownikami, które mogłyby zakłócić proces aktualizacji. Takie rozwiązanie pozwala zaoszczędzić czas i pieniądze zarówno producentowi komputera, jak i jego użytkownikowi.
Czasem zdarza się, że znajdujący się w systemie układ Flash ROM został zabezpieczony przed zapisem. Z tego też powodu przed rozpoczęciem aktualizacji należy wyłączyć zabezpieczenie. Zwykle służy do tego zworka lub przełącznik blokujący możliwość aktualizacji układu ROM. Jeśli blokada przed zapisem nie zostałaby ustawiona, wtedy każdy program potrafiący zapisywać pamięć Flash ROM mógłby stać się powodem naszych kłopotów. Przy braku zabezpieczenia przed zapisem istniałoby zagrożenie ze strony wirusów, które mogłyby wprowadzić swoją kopię bezpośrednio do kodu systemowego BIOS-u zawartego w układzie Flash ROM. Nawet bez fizycznej blokady chroniącej przed zapisem, w nowszych układach Flash ROM BIOS zastosowano algorytmy zabezpieczające, które utrudniają wykonanie nieautoryzowanej aktualizacji. Taką technikę w swoich płytach głównych wykorzystuje firma Intel.
Należy zauważyć, że producenci płyt głównych nie informują o przygotowaniu aktualizacji BIOS-u dla określonego modelu płyty. Jedyne, co nam pozostaje, to od czasu do czasu sprawdzać, czy pojawiły się na stronie internetowej producenta nowe aktualizacje. Zazwyczaj aktualizacje układów Flash ROM udostępniane są za darmo.
Przed rozpoczęciem aktualizacji BIOS-u należy odszukać i pobrać ze strony internetowej producenta płyty głównej odpowiedni plik zawierający nowszą wersję. W tym celu trzeba przejść na stronę WWW producenta, a następnie wyszukać w menu odnośnik prowadzący do strony zawierającej aktualizacje BIOS-u i po zaznaczeniu pobrać nową wersję BIOS-u przeznaczonego dla używanej płyty głównej.
Jeżeli odnaleziona na stronie WWW producenta aktualizacja BIOS-u dotyczy tylko określonej wersji T^i konkretnego rodzaju płyty głównej, nie można jej zastosować do innej płyty. Aby ustalić numer wersji swojej płyty głównej lub określonego jej podzespołu, może być konieczne otwarcie obudowy komputera. Szczegółów tej operacji należy jak zwykle szukać na stronie WWW producenta płyty głównej.
Program służący do aktualizacji BIOS-u mieści się w pliku samorozpakowującego się archiwum, który może zostać po pobraniu zapisany na dysku twardym, ale następnie musi zostać rozpakowany, a jego zawartość przed rozpoczęciem aktualizacji przekopiowana na dyskietkę. Różni producenci płyt głównych dysponują nieznacznie różniącymi się procedurami i programami służącymi do aktualizacji układu Flash ROM. dlatego też należy zapoznać się z dołączoną instrukcją instalacji. Poniżej zawarłem opis instalacji mającej zastosowanie w przypadku płyt głównych firmy Intel, ponieważ, jak dotąd, cieszą się one największą popularnością.
Pliki aktualizacyjne przeznaczone dla układów Flash BIOS płyt firmy Intel i innych producentów zazwyczaj mieszczą się na jednej dyskietce startowej. Najnowsze aktualizacje BIOS-ów płyt głównych niektórych producentów można stosować w środowisku Windows. W przypadku starszych aktualizacji BIOS-u dla płyt firmy Intel i innych wytwórców istniała również możliwość zapisania i sprawdzenia aktualnie używanej wersji BIOS-u przed nadpisaniem jej wersją nowszą. Poza tym możliwe było dodanie innych wersji językowych programu BIOS Setup oraz komunikatów wyświetlanych przez BIOS.
Przed rozpoczęciem procesu aktualizacji BIOS-u należy odłączyć wszystkie urządzenia USB z wyjątkiem klawiatury i myszy. W niektórych komputerach pozostawienie podłączonego dysku USB może uniemożliwić wykonanie uaktualnienia.
Jeżeli w BlOS-ie Award lub FirstBIOS włączona jest funkcja fiyte Merge, przed rozpoczęciem uaktualnienia BIOS-u należy ją wyłączyć. W niektórych komputerach funkcja ta może spowodować zniszczenie BIOS-u podczas jego aktualizacji. Po uaktualnieniu BIOS-u funkcję tę można włączyć ponownie.
Po pobraniu pliku zawierającego nowy BIOS pierwszym krokiem aktualizacji jest uruchomienie programu BIOS Setup i zapisanie aktualnych ustawień. Jest to konieczne, ponieważ w trakcie aktualizacji ustawienia zostaną usunięte. Następnie należy utworzyć dyskietkę z systemem DOS i rozpakować na nią zawartość pobranego pliku aktualizującego BIOS. Kolejnym krokiem jest inicjalizacja systemu przy użyciu utworzonej dyskietki startowej i postępowanie zgodnie z właściwą procedurą aktualizacyjną.
Procedura iFlash firmy Intel opisana w tym podrozdziale jest podobna do operacji aktualizacji BIOS-u wykorzystywanej w większości płyt głównych innych producentów i musi być wykonywana w przypadku, gdy komputer działa pod kontrolą systemu Windows 95. MS-DOS lub systemu nie wyprodukowanego przez firmę Microsoft, takiego jak Linux. Podczas aktualizacji BIOS-u w przypadku komputerów działających pod kontrolą systemów Windows 98, Windows NT 4 i nowszych, wyposażonych w płyty Intel Express, wykorzystywany jest znany użytkownikom systemu Windows program InstalIShield z interfejsem graficznym. Poniżej omówiono krok po kroku procedurę iFlash firmy Intel, aktualizującą BIOS pod kontrolą systemu MS-DOS:
1. Zapisz konfigurację programu BIOS Setup zawartą w pamięci CMOS RAM. Operacja ta może być
wykonana poprzez wciśnięcie w trakcie uruchamiania komputera odpowiedniego klawisza powodującego
uruchomienie programu BIOS Setup (zazwyczaj klawisza FI dla BIOS-u firmy AMI i F2 dla BIOS-u
firmy Phoenix), a następnie zapisanie aktualnych ustawień. Jeśli do komputera jest podłączona drukarka,
wtedy istnieje również możliwość, poprzez naciśnięcie klawisza PrtScr, wydrukowania ekranów
programu BIOS Setup. Po wykonaniu aktualizacji do najnowszej wersji BIOS-u konieczne jest
ponowne ustawienie jego parametrów. Zapisz wszystkie ustawienia specyficzne dla Twojego
komputera. Przydadzą się później, przy ponownej konfiguracji systemu. Szczególną uwagę zwróć
na wszelkie ustawienia dotyczące geometrii dysków twardych (Cylinder/Head/Sectors per track — Cylinder/Głowica/Ilość sektorów na ścieżkę) i ich translacji (LBA, Large, CHS), ponieważ odgrywają one ważną rolę. Jeśli nie uda Ci się przywrócić wartości tych parametrów, możesz nie być w stanie uruchomić z dysku systemu lub uzyskać dostępu do przechowywanych na nim danych.
2. Zamknij program BIOS Setup i uruchom ponownie komputer. Po pełnym załadowaniu systemu
Windows otwórz okno wiersza poleceń lub w trakcie inicjalizacji komputera przejdź od razu
do trybu wiersza poleceń, wykorzystując w tym celu Menu startowe systemu Microsoft Windows, wybierając z niego pozycję Tylko wiersz poleceń (aby przejść do menu, w momencie pojawienia się komunikatu Uruchamianie Windows... należy wcisnąć klawisz F8).
3. Włóż do stacji dyskietek A: sformatowaną dyskietkę —jeśli zawiera jakieś dane, należy
ją sformatować przy użyciu standardowego polecenia:
C:\>F0RMAT A:
W celu sformatowania dyskietki można również posłużyć się programem Eksplorator Windows.
4. Oryginalny plik pobrany ze strony internetowej firmy Intel jest samorozpakowującym się
archiwum zawierającym inne pliki, które należy rozpakować. W tym celu należy umieścić plik
w katalogu tymczasowym, a następnie, po przejściu do niego, dwukrotnie kliknąć pobrany plik
aktualizacyjny BIOS-u. Inny sposób polega na wpisaniu nazwy pliku i naciśnięciu klawisza Enter.
W efekcie plik zostanie rozpakowany. Przykładowo, jeśli pobrany plik ma nazwę CB-P06.EXE
(dla płyty głównej Intel D810E2CB), wtedy należy wpisać następujące polecenie:
C:\TEMP>CB-P06 <Enter>
Rozpakowane pliki zostaną umieszczone w tym samym katalogu, w którym znajduje się pobrany plik aktualizacyjny BIOS-u. Najnowsze aktualizacje układów Flash BIOS firmy Intel zawierają następujące pliki — Desc.txt, Licence.txt, Readme.txt, Run.bat (służący do utworzenia dyskietki startowej) oraz SW.EXE będący kodem BIOS-u.
Aby utworzyć dyskietkę startową, należy uruchomić program Run.bat, który rozpakuje plik SW.EXE, a następnie przeniesie wymagane pliki na czystą dyskietkę umieszczoną w stacji A:.
Teraz można uruchomić ponownie komputer przy użyciu dyskietki startowej znajdującej się w stacji A: i zawierającej rozpakowane pliki nowej wersji BIOS-u. Po załadowaniu systemu z dyskietki, program IFLASH zostanie automatycznie uruchomiony, po czym dokona aktualizacji bloku ładującego BIOS oraz właściwego BIOS-u płyty głównej.
Po wyświetleniu komunikatu potwierdzającego poprawne zakończenie aktualizacji BIOS-u należy wyjąć dyskietkę ze stacji, a następnie, w celu ponownego uruchomienia komputera, nacisnąć klawisz Enter.
Aby uruchomić program BIOS Setup, należy wcisnąć klawisz FI lub F2. Po wyświetleniu pierwszego ekranu należy upewnić się, czy widoczna wersja BIOS-u jest nową wersją.
10. Po uruchomieniu programu BIOS Setup załaduj ustawienia domyślne. Jeśli jesteś posiadaczem
BIOS-u firmy AMI, naciśnij klawisz F5. W przypadku BIOS-u firmy Phoenix przejdź do menu Exit, wybierz pozycję LoadSetup Defaults, a następnie naciśnij klawisz Enter.
Jeśli nie ustawisz wartości domyślnych, komputer może nie działać poprawnie.
11. Jeśli system wymaga specyficznych ustawień, wprowadź je. Aby zapisać ustawienia, należy wcisnąć klawisz F10. zamknąć program BIOS Setup, a następnie ponownie uruchomić komputer. System wyposażony w nową wersję BIOS-u powinien być teraz w pełni funkcjonalny.
Jeśli po uruchomieniu komputera pojawi się błąd sumy kontrolnej CMOS (ang. CMOS checksum) lub inny problem, wtedy należy komputer uruchomić jeszcze raz. Po wystąpieniu błędu sumy kontrolnej CMOS należy uruchomić program BIOS Setup, sprawdzić i zapisać ustawienia, a następnie zamknąć program.
W przypadku starszych wersji BIOS-u płyt firmy Intel procedura aktualizacyjna różni się od powyżej opisanej.
Przywracanie zawartości układu Flash BIOS
W trakcie programowania układu Flash na ekranie powinno pojawić się ostrzeżenie podobne do poniższego:
The BIOS is currently being updated. DO NOT REBOOT OR POWER DOWN until the update is completed (typically within three minutes)...
(Trwa aktualizacja BIOS-u. NIE RESTARTUJ I NIE WYŁĄCZAJ KOMPUTERA do czasu zakończenia operacji aktualizacji (zazwyczaj zajmuje to 3 minuty)...)
Jeśli zlekceważysz powyższy komunikat lub z innego powodu proces aktualizacji zostanie przerwany, nastąpi uszkodzenie BIOS-u komputera. Oznacza to, że nie będzie możliwe jego ponowne uruchomienie, jak również przywrócenie poprzedniego stanu (a na pewno nie będzie to łatwe). Zależnie od modelu płyty głównej może się okazać, że będzie konieczna wymiana układu Flash ROM na egzemplarz, który został zaprogramowany przez jej producenta lub na przykład przez firmę BłOSWorld (www.biosworld.com), oferującą układy Flash ROM z zawartością odpowiednią dla danego rodzaju płyty głównej. Jest to, niestety, jedyna możliwość, ponieważ w przeciwnym razie używana płyta główna do momentu wymiany niesprawnego układu ROM nie będzie poprawnie funkcjonować. Z tego też powodu zawsze mam w pobliżu mój zaufany programator układów ROM. Naprawdę się przydaje, jeśli używa się płyt głównych wyposażonych w układy Flash ROM montowane w gnieździe. Mając programator układów ROM, w ciągu kilku minut jestem w stanie zaprogramować układ i zamontować go na płycie. Jeśli zamierzasz kupić programator układu ROM, proponuję produkty firmy Andromeda Research Labs.
W wielu najnowszych systemach układ Flash ROM jest przylutowany do powierzchni płyty głównej, dlatego też nie jest możliwa jego wymiana, a tym samym nieprzydatna staje się metoda ponownego programowania. Nie oznacza to jednak, że pozostaje nam tylko wymiana całej płyty głównej. Większość tego typu płyt jest wyposażona w specjalną procedurę BIOS Recovery, przywracającą poprzednią zawartość BIOS-u. W tym celu w części układu Flash ROM zostały przewidziane specjalne, niemożliwe do wymazania strefy.
Jeżeli podczas aktualizacji zawartości układu Flash nastąpi jakieś nieprzewidziane katastroficzne zdarzenie, zawartość BIOS-u może ulec zniszczeniu. Aby w takim przypadku przywrócić komputer do działania, należy postępować według przedstawionej niżej procedury. W celu jej poprawnego przeprowadzenia należy zapewnić zasilanie oraz wyposażyć komputer w głośniczek i stację dyskietek skonfigurowanąjako napęd A:.
1. Przełącz zworkę Flash Recovery w tryb przywracania. Prawie wszystkie płyty główne firmy Intel i innych producentów są wyposażone w zworkę lub przełącznik służące do przywracania BIOS-u. W większości przypadków widnieje na nich oznaczenie Recover/Normal. Na rysunku 5.8 pokazano taką zworkę na typowej płycie głównej.
2. Umieść w stacji dyskietek .4: poprzednią dyskietkę startową zawierającą aktualizację BIOS-u. a następnie uruchom ponownie komputer.
Ze względu na niewielką objętość kodu zawartego w niewymazywalnym bloku ładującym układu Flash w trakcie wykonywania procedury na ekranie nie pojawią się żadne komunikaty. Tak naprawdę w celu przeprowadzenia procedury nie jest nawet potrzebna karta graficzna. Przebieg procedury może być kontrolowany przy wykorzystaniu głośniczka i poprzez obserwację diody stacji dyskietek. Sygnał dźwiękowy i zapalenie się diody oznaczają rozpoczęcie kopiowania kodu BIOS-u do układu Flash.
3. Po zgaśnięciu diody stacji dyskietek i usłyszeniu (zazwyczaj dwóch) sygnałów dźwiękowych procedura przywracania powinna już być zakończona. Może się zdarzyć, że w trakcie procesu przywracania pojawią się przestoje związane z przerwaniem operacji odczytu danych z dyskietki. Nie oznacza to, że proces został ukończony. Przed wyłączeniem komputera, w celu upewnienia się, że procedura przywracania została zakończona, należy poczekać około minuty. Mając całkowitą pewność i nie widząc oznak żadnej aktywności komputera, można go wyłączyć.
4. Aby przywrócić poprzedni tryb pracy, należy zmienić położenie zworki służącej do przywracania zawartości układu Flash ROM do jej domyślnego ustawienia.
Po ponownym uruchomieniu komputera nowy BIOS powinien być zainstalowany i aktywny. Jednak, aby upewnić się, że została zainstalowana poprawna wersja BIOS-u, należy pozostawić w napędzie A: dyskietkę zawierającą aktualizację BIOS-u.
Należy zauważyć, że omówiona procedura przywracania BIOS-u często jest najszybszą metodą aktualizacji BIOS-u dużej liczby komputerów, zwłaszcza wtedy, gdy w tym samym czasie wykonywane są różne operacje aktualizacji. Zazwyczaj taką metodą posługują się firmy zajmujące się produkcją i montażem komputerów.
Rysunek 5.8.
Zworka służąca do przywracania BIOS-u, znajdująca się na typowej płycie głównej
IML System Partition BIOS
Firmy IBM i Compaą w niektórych starszych systemach klasy 486 i Pentium wykorzystywały rozwiązanie podobne do układów Flash ROM o nazwie IML (ang. Initial Microcode Load). IML jest techniką polegającą na tym, że kod BIOS-u jest instalowany na specjalnej ukrytej partycji systemowej dysku twardego i ładowany przy każdym uruchomieniu komputera. Oczywiście płyta główna nadal była wyposażona w układ BIOS, ale jego jedynym zadaniem było lokalizowanie i ładowanie uaktualnionego kodu BIOS znajdującego się na partycji systemowej. Technika IML pozwoliła firmie Compaą i IBM na umieszczanie aktualizacji układu ROM na dysku, a następnie jej instalacji na partycji systemowej. IML BIOS jest ładowany przy każdym włączeniu lub restarcie komputera.
Oprócz kodu BIOS-u partycja systemowa przechowuje kompletną kopię programu BIOS Setup oraz zawartości dyskietek Diagnostics i Reference Disk. Istnienie kopii plików umożliwia uruchomienie programu BIOS Setup i aplikacji służącej do konfiguracji komputera podczas każdej inicjalizacji komputera. Dzięki temu w celu wykonania ponownej konfiguracji systemu nie trzeba korzystać z dyskietki startowej. Poza tym odnosi się wrażenie, że cały program Setup, wraz z zawartością dyskietek Diagnostics i Reference Disk, jest umieszczony w układzie ROM.
Wadą techniki IML jest to, że kod BIOS-u jest zapisany na dysku twardym. W związku z tym system nie może poprawnie funkcjonować bez prawidłowo podłączonego i skonfigurowanego dysku. Jeśli dysk ulegnie awarii lub zostanie odłączony, wtedy pozostaje możliwość inicjalizacji systemu przy użyciu dyskietki Reference Disk. Nie jest natomiast możliwe załadowanie systemu przy użyciu standardowej dyskietki startowej.
Takie rozwiązanie może przypominać stosowany w nowszych komputerach obszar HPA (ang. host protected area), będący zarezerwowaną przestrzenią dysku położoną za jego „końcem". Nie jest to jednak dokładnie to samo. W takich komputerach obszar HPA zawiera tylko oprogramowanie diagnostyczne oraz służące do odzyskiwania i wykonywania kopii zapasowych danych. Sam BIOS oraz program BIOS Setup znajdują się w układzie Flash ROM.
Adresy pamięci CMOS RAM płyty głównej
W oryginalnym komputerze IBM AT zastosowano układ Motorola 146818, który pełnił funkcję zegara czasu rzeczywistego RTC (ang. real-time clock) oraz pamięci CMOS RAM. Ten szczególny układ zawierał prosty zegar cyfrowy korzystający z 14 bajtów pamięci RAM. Pozostałe 50 bajtów pamięci mogły posłużyć do zapisania dowolnych danych. Projektanci systemu IBM AT przeznaczyli je do przechowywania informacji o konfiguracji komputera.
Nowsze komputery są pozbawione układu firmy Motorola. Jego funkcje są realizowane przez mostek południowy chipsetu lub układ Super I/O. Inne rozwiązanie polega na zastosowaniu specjalnego modułu NVRAM z baterią produkowanego przez takie firmy jak Dallas lub Benchmarq.
W tabeli 5.6 przedstawiono standardowy format danych zapisanych w 64-bajtowym module CMOS RAM. Dane dotyczą konfiguracji systemu i są odczytywane lub modyfikowane przez program BIOS Setup.
Tabela 5.6. Adresy pamięci CMOS RAM
Adres (heksadecymalnie) |
Adres (dziesiętnie) |
Rozmiar pola |
Funkcja |
OOh |
0 |
1 bajt |
Licznik sekund zegara (BCD) (00 - 59) |
Olh |
1 |
1 bajt |
Wartość sekund alarmu (BCD) |
02h |
2 |
1 bajt |
Licznik minut zegara (BCD) (00 - 59) |
03h |
3 |
1 bajt |
Wartość minut alarmu (BCD) |
04h |
4 |
1 bajt |
Licznik godzin zegara (BCD) (00 - 23) |
05h |
5 |
1 bajt |
Wartość godzin alarmu (BCD) |
06h |
6 |
1 bajt |
Aktualny dzień tygodnia (BCD) (00 - 06) |
07h |
7 |
1 bajt |
Aktualny dzień miesiąca (BCD) (00-31) |
08h |
8 |
1 bajt |
Aktualny miesiąc (BCD) (00- 12) |
09h |
9 |
1 bajt |
Aktualny rok (BCD) (00 - 99) |
OAh |
10 |
1 bajt |
Rejestr stanu A |
OBh |
11 |
1 bajt |
Rejestr stanu B |
OCh |
12 |
1 bajt |
Rejestr stanu C |
ODh |
13 |
I bajt |
Rejestr stanu D |
Tabela 5.6. Adresy pamięci CMOS RAM— ciąg dalszy
Adres (heksadecymalnie) |
Adres (dziesiętnie) |
Rozmiar pola |
Funkcja |
OEh |
14 |
1 bajt |
Stan funkcji diagnostycznych |
OFh |
15 |
1 bajt |
Kod zamknięcia systemu |
lOh |
16 |
1 bajt |
Rodzaje stacji dyskietek |
llh |
17 |
I bajt |
Opcje menu Advanced programu BIOS Selup |
12h |
18 |
1 bajt |
Typy dysków twardych 0/1 (0-15) |
13h |
19 |
1 bajt |
Ustawienia dotyczące klawiatury — Typematic rate i Typematic delay |
14h |
20 |
1 bajt |
Zainstalowane urządzenia |
15h |
21 |
1 bajt |
Pamięć podstawowa w wielokrotności bloków 1 KB (LSB) |
I6h |
22 |
1 bajt |
Pamięć podstawowa w wielokrotności bloków 1 KB (MSB) |
17h |
23 |
1 bajt |
Pamięć rozszerzona w wielokrotności bloków 1 KB (LSB) |
18h |
24 |
1 bajt |
Pamięć rozszerzona w wielokrotności bloków 1 KB (MSB) |
19h |
25 |
1 bajt |
Dysk twardy 0, typ rozszerzony (0 - 255) |
lAh |
26 |
1 bajt |
Dysk twardy 1, typ rozszerzony (0 - 255) |
IBh |
27 |
9 bajtów |
Dysk twardy 0, parametry określone przez użytkownika |
24h |
36 |
9 bajtów |
Dysk twardy 1, parametry określone przez użytkownika |
2Dh |
45 |
1 bajt |
Opcje menu Achanced programu BIOS Setup |
2Eh |
46 |
1 bajt |
Suma kontrolna CMOS-u (MSB) |
2Fh |
47 |
1 bajt |
Suma kontrolna CMOS-u (LSB) |
30h |
48 |
1 bajt |
Rozmiar pamięci rozszerzonej określony przez procedurę POST (LSB) |
31h |
49 |
1 bajt |
Rozmiar pamięci rozszerzonej określony przez procedurę POST (MSB) |
32h |
50 |
1 bajt |
Dwie pierwsze cyfry roku (BCD) (00 - 99) |
33h |
51 |
1 bajt |
Znacznik informacji procedury POST |
34h |
52 |
2 bajty |
Opcje menu Advanced programu BIOS Setup |
36h |
54 |
1 bajt |
Opcje programu BIOS Setup związane z chipsetem |
37h |
55 |
7 bajtów |
Hasło związane z inicjalizacją systemu (zazwyczaj zaszyfrowane) |
3 Eh |
62 |
1 bajt |
Suma kontrolna rozszerzonego CMOS-u (MSB) |
3Fh |
63 |
1 bajt |
Suma kontrolna rozszerzonego CMOS-u (LSB) |
BCD = Zapis w kodzie BCD (Binary-coded decimal). LSB = Mniej znaczący bajt (Least signifwant byle). MSB = Bardziej znaczący bajt (Most significant byle). POST = Power on self test.
Należy zauważyć, że wiele nowszych systemów jest wyposażonych w pamięć CMOS RAM o zwiększonej pojemności wynoszącej 2 KB, 4 KB lub większej. Dodatkowa pojemność została wykorzystana do przechowywania danych związanych z technologią Pług and Play i zawierających informacje na temat konfiguracji kart i innych funkcji systemu. Oficjalnie nie określono jednak pełnego standardu definiującego sposób przechowywania danych CMOS w systemach. Aby uzyskać więcej informacji na temat metody organizacji zawartości CMOS, należy skontaktować się z producentem BIOS-u. Wynika to stąd, że konfiguracja CMOS, wraz z programem BIOS Setup, zazwyczaj stanowi część BIOS-u. Jest to jednocześnie kolejny przykład na to, jak ścisły jest związek pomiędzy BlOS-em a komponentami płyty głównej.
Dostępne są bezpłatne programy i narzędzia służące do wykonywania kopii zapasowej konfiguracji CMOS i późniejszego jej przywracania. Niestety, tego typu programy współpracują tylko z wersją BIOS-u, z myślą o której zostały stworzone. Z tego też powodu zazwyczaj z nich nie korzystam — ich zakres stosowania jest ograniczony do pewnych typów płyt głównych i BIOS-ów, przez co nie sprawdzają się w przypadku wszystkich używanych przeze mnie komputerów.
W tabeli 5.7 zawarto wartości, które mogą zostać zapisane przez BIOS komputera w specjalnym bajcie pamięci CMOS określanym mianem bajta stanu funkcji diagnostycznych. Po sprawdzeniu za pomocą programu diagnostycznego na podstawie jego zawartości można stwierdzić, czy w systemie pojawiły się kody błędów wskazujące na problemy, które do tej pory wystąpiły.
Tabela 5.7. Kody bajta stanu funkcji diagnostycznych pamięci CMOS RAM
Numer bitu
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Wartość szesnastkowa |
Funkcja |
| |
- |
- |
- |
- |
- |
- |
- |
80 |
Brak zasilania zegara czasu rzeczywistego RTC |
— |
| |
- |
- |
- |
- |
- |
- |
40 |
Niepoprawna suma kontrolna pamięci CMOS RAM. |
- |
- | |
— |
— |
— |
— |
— |
20 |
Procedura POST wykryła niepoprawną konfigurację. |
|
— |
- |
— |
| |
— |
— |
— |
— |
10 |
Procedura POST wygenerowała błąd nieprawidłowego rozmiaru pamięci. |
— |
- |
— |
— |
| |
— |
— |
— |
08 |
Nie powiodła się inicjalizacja dysku twardego lub karty kontrolera. |
- | - |
— |
— |
— |
| |
— |
— |
04 |
Stwierdzono niepoprawny czas zegara czasu rzeczywistego RTC. |
|
— | — |
- |
- |
- |
- |
| |
- |
02 |
Niezgodność konfiguracji kontrolerów. |
|
- |
- |
- |
- |
- |
- |
- |
| |
01 |
Przekroczono limit czasu odczytu identyfikatora kontrolera. |
- |
- | - |
- |
- |
- |
- |
- |
00 |
Nie wykryto błędów (sytuacja normalna). |
Jeśli wartość bajta stanu funkcji diagnostycznych jest różna od zera, powoduje to wystąpienie błędu konfiguracji CMOS podczas uruchamiania komputera. Tego typu błędy można usunąć poprzez ponowne uruchomienie programu BIOS Setup.
Wymiana układu BIOS ROM
Komputery wyprodukowane w 1995 r. i starsze zamiast układu Flash ROM były wyposażone w układ EPROM. W celu przeprowadzenia aktualizacji BIOS-u w jednym z nich należy w miejsce dotychczasowego układu EPROM wstawić układ zawierający wcześniej zapisaną nową wersję BIOS-u. Podobnie jak w przypadku aktualizacji układów Flash ROM odpowiedni plik należy uzyskać od producenta płyty głównej. Zazwyczaj związane jest to z opłatą, która wynika z konieczności przygotowania przez producenta odpowiednio zaprogramowanego układu dostosowanego do wymagań odbiorcy oraz dostarczenia go pocztą. Prawdopodobnie większość płyt głównych wyprodukowanych przed rokiem 1995 nie jest warta aktualizacji BIOS-u, dlatego w ich przypadku w ogóle może nie być tej możliwości. W sytuacji, gdy nowa płyta główna kosztuje 300 złotych, raczej nie ma sensu wydawać 200 złotych na nowy BIOS przeznaczony dla przestarzałej płyty. Dodatkowo nowa płyta będzie wyposażona w układ Flash BIOS i wiele innych nowych funkcji.
BIOS identyczny z oferowanym przez producenta można uzyskać za około 120 zł od firmy BlOSWorid {www.biosworld.com). Więcej informacji można uzyskać na stronie WWW firmy.
Procedura wymiany układu BIOS może być przydatna w przypadku konieczności zastąpienia uszkodzonego układu BIOS zamontowanego w gnieździe egzemplarzem zawierającym BIOS przywrócony z kopii zapasowej.
W celu wymiany układu BIOS należy wykonać następujące czynności:
Wykonaj kopię zapasową ustawień pamięci CMOS RAM.
Wyłącz komputer i odłącz kabel zasilający z gniazdka.
Zdejmij obudowę i wyjmij inne komponenty blokujące dostęp do układu EPROM. Pamiętaj
o zachowaniu ostrożności wynikającej z niebezpieczeństwa powstania wyładowań elektrostatycznych. Przed rozpoczęciem tej czynności i demontażem wszelkich wewnętrznych komponentów powinieneś założyć na nadgarstek specjalną opaskę antystatyczną lub dotknąć obudowy.
Przy użyciu narzędzia do wyciągania układów scalonych z podstawek lub płasko zakończonego wkrętaka delikatnie wyjmij układ umieszczony w gnieździe.
Wyjmij nowy układ EPROM z antystatycznego opakowania, w którym został dostarczony.
Zainstaluj nowy układ EPROM w gnieździe.
Zamontuj wszystkie komponenty, które blokowały dostęp do gniazda.
Załóż obudowę, podłącz zasilanie i uruchom komputer.
Przywróć w programie BIOS Setup wcześniej zapisaną konfigurację.
10. Po ponownym uruchomieniu komputera możesz zacząć wykorzystywać możliwości oferowane przez nowy BIOS!
Jak można zauważyć, w przypadku nowszych płyt głównych wyposażonych w układ Flash ROM podobna operacja jest o wiele prostsza. Wynika to z faktu, że zazwyczaj nie trzeba nawet zdejmować obudowy (chyba że pamięć Flash jest zabezpieczona przed zapisem).
BIOS i problemy związane z rokiem 2000
Wszystkie obecnie stosowane komputery powinny poprawnie obsługiwać daty obejmujące rok 2000. Uzyskano to drogą aktualizacji BIOS-u lub instalacji poprawek dotyczących oprogramowania i urządzeń. Jeśli jednak stykasz się z komputerami wyprodukowanymi przez rokiem 1999, z pewnością będziesz chciał przetestować je pod kątem zgodności z rokiem 2000.
Środowisko przeduruchomieniowe
Standardowa oraz profesjonalna wersja BIOS-u FirstBIOS firmy Phoenix dysponują środowiskiem przedu-ruchomieniowym. wyposażonym w interfejs graficzny użytkownika. Środowisko umożliwia dostęp do programu BIOS Setup, programów diagnostycznych oraz programów służących do tworzenia kopii zapasowych i odzyskiwania danych, a także przywracania systemu i oprogramowania do stanu fabrycznego. Wszystkie te programy (za wyjątkiem programu BIOS Setup) przechowywane są w HPA — ukrytym obszarze dysku twardego, ulokowanym za końcem obszaru dostępnego dla systemu operacyjnego. Liczba oraz rodzaj aplikacji dostępnych w środowisku przeduruchomieniowym zależą od dostawcy komputera (firmy OEM). Wygląd środowiska przeduruchomieniowego BIOS-u FirstBIOS firmy Phoenix w komputerze firmy IBM pokazano na rysunku 5.9. Uruchomienie środowiska następuje po naciśnięciu podczas procedury POST klawisza Enter.
Graficzne środowisko przeduruchomieniowe przydaje się w szczególności do odtworzenia dostarczonego oprogramowania. Przykładowo większość dużych producentów OEM obok systemu operacyjnego instaluje w komputerach wiele różnych dodatków, takich jak poprawki Service Pack, sterowniki urządzeń, tapety, dodatkowe elementy interfejsu, pomoc techniczną, dokumentację online i programy narzędziowe ułatwiające posługiwanie się komputerem, a także odtwarzacze DVD, programy pakietu Office oraz inne programy.
Rysunek 5.9.
Środowisko uruchomieniowe komputera IBM dostępne w BlOS-ie Phoena FirstBIOS
Producenci OEM wkładają wiele wysiłku w skonfigurowanie wszystkich dostarczanych programów i chcąc zaoszczędzić tej pracy użytkownikom komputera w przypadku problemów, umożliwiają przywrócenie stanu fabrycznego systemu operacyjnego, sterowników, programów oraz ustawień konfiguracyjnych. Ten sam efekt można osiągnąć, dostarczając z komputerem kilka dysków CD-ROM, ale te mogą się gdzieś zawieruszyć lub okazać się trudne w użyciu. Poza tym ich wytworzenie i dostarczenie jest kosztowne. Wykorzystując FirstBIOS firmy Phoenix, producenci OEM mogą zamiast dostarczania dysków CD-ROM umieścić ich zawartość na dysku twardym i umożliwić dostęp do zapisanych tam aplikacji za pośrednictwem środowiska przedu-ruchomieniowego.
Początkowo wykorzystywano do tego celu ukryte partycje, które jednak mogły zostać łatwo uszkodzone lub nadpisane przez programy służące do podziału dysku na partycje lub inne programy narzędziowe. W nowszych komputerach zawartość fabrycznych dysków CD-ROM jest instalowana w obszarze HPA dysku, dostępnym za pomocą interfejsu programowego PARTIES (ang. Protected Area Run Time Interface Extension Services), obsługiwanego przez wszystkie dyski ATA-4 lub nowsze. Obszar HPA/PARTIES tworzy się za pomocą polecenia interfejsu ATA SET MAX ADDRESS, powodującego, że dysk dla systemu operacyjnego jest odrobinę mniejszy. Większość producentów rezerwuje na obszar HPA ostatnie 3 GB dysku. Przestrzeń dysku, począwszy od adresu MAX ADDRESS (czyli od nowego końca dysku dostępnego dla systemu operacyjnego) aż do fizycznego końca dysku, staje się obszarem HPA, dostępnym jedyne poprzez interfejs PARTIES. Zawartość obszaru HPA oraz jego związek z resztą dysku przedstawiono na rysunku 5.10.
Obszar HPA jest znacznie bezpieczniejszy niż ukryta partycja, gdyż dostęp do danych znajdujących się za końcem dysku jest dla tradycyjnych aplikacji niemożliwy. Dotyczy to również programów służących do edycji partycji, takich jak Partition Magie czy Partition Commander. Przez to obszar ten jest bezpieczny i odporny na uszkodzenia. Aby usunąć obszar HPA, należy zmienić zawartość zmiennej MAX ADDRESS. Następnie za pomocą programów Partition Magie czy Partition Commander można rozszerzyć podstawową partycję, tak by objęła obszar dysku, który był wcześniej ukryty i niedostępny. Jedyną przykrą konsekwencją tego będzie utrata narzędzi diagnostycznych, narzędzi odzyskiwania danych i wykonywania kopii zapasowych dostarczonych przez firmę OEM. Dla wielu osób nie stanowi to problemu, gdyż utracone oprogramowanie mogą otrzymać za niewielką opłatą na dysku CD-ROM, a oprogramowanie diagnostyczne mogą z kolei uruchamiać bezpośrednio ze startowych dyskietek lub dysków CD-ROM. Konieczność odkrycia obszaru HPA zachodzi również w przypadku wymiany dysku, gdy trzeba przekopiować jego zawartość na nowy dysk. Do założenia obszaru HPA na nowym dysku można posłużyć się dyskiem CD-ROM dostarczonym w tym celu przez producenta OEM.
Rysunek 5.10.
Obszar HPA
Większość nowych komputerów wyposażonych w FirstBIOS firmy Phoenix zaopatrzona jest w umieszczone w obszarze HPA oprogramowanie służące do odzyskiwania danych oraz oprogramowanie diagnostyczne tej firmy, będące częścią nowego środowiska zarządzania firmy Phoenix (cME), używanego od 2003 roku przez wielkich producentów OEM (w tym przez firmę IBM) w większości komputerów biurkowych i przenośnych.
Omówienie ustawień CMOS
Aby możliwe było korzystanie z komputera, pamięć CMOS RAM musi zawierać informacje dotyczące dostępnych w nim dysków oraz innych jego możliwości. Program B/OS Setup, w który jest wyposażony komputer, umożliwia aktywację funkcji uruchamianych po jego starcie.
Uruchomienie i dostęp do programu BIOS Setup
Aby uruchomić program BIOS Setup, zazwyczaj konieczne jest ponowne uruchomienie komputera i następnie, w trakcie wykonywania procedury POST, naciśnięcie określonego klawisza lub kombinacji klawiszy. Informacja, jaki klawisz lub kombinację klawiszy należy nacisnąć, wyświetlana jest przez chwilę podczas procedury POST. Jeżeli czas jej wyświetlania jest zbyt krótki, należy nacisnąć klawisz Pause, co zatrzyma na chwilę procedurę POST. Po naciśnięciu dowolnego klawisza, na przykład klawisza spacji, procedura POST kontynuuje działanie. Główni producenci układów BIOS określili standardowe kombinacje klawiszy umożliwiające otwarcie programu BIOS Setup:
AMI BIOS— w trakcie wykonywania procedury POST naciśnij klawisz Delete.
Phoenix BIOS (FirstBIOS Pro) — w trakcie wykonywania procedury POST naciśnij klawisz F2.
Award BIOS (FirstBIOS)— w trakcie wykonywania procedury POST naciśnij klawisz Delete lub kombinację Ctrl+Alt+Esc.
Microid Research (MR) BIOS — w trakcie wykonywania procedury POST naciśnij klawisz Esc.
Jeśli jednak system nie będzie reagował na żaden z wymienionych klawiszy, wtedy, w celu znalezienia właściwych klawiszy lub ich kombinacji, może okazać się konieczne skontaktowanie się z producentem lub zajrzenie do dokumentacji dołączonej do komputera.
Poniżej wymieniono niektóre systemy, w których wykorzystuje się niestandardowe klawisze:
IBM Aptiva/Valuepoint lub Thinkpad— w trakcie wykonywania procedury POST lub w momencie uruchamiania komputera naciśnij klawisz FI.
Komputery przenośne firmy Toshiba — w momencie uruchamiania komputera naciśnij klawisz Esc. a następnie po wyświetleniu odpowiedniego komunikatu klawisz FI.
Starsze wersje BIOS-u firmy Phoenix — uruchom system w trybie awaryjnym z wierszem poleceń, a następnie naciśnij kombinację klawiszy Ctrl+Alt+Esc lub Ctrl+Alt+S.
Compaą — w trakcie wykonywania procedury POST naciśnij klawisz FIO.
Po wyświetleniu głównego okna programu BIOS Setup zazwyczaj powinno być dostępne główne menu, które pozwala na wybranie innych menu dodatkowych powodujących otwarcie różnych sekcji lub ekranów. Jako przykładem posłużymy się płytą główną Intel D875PBZ i dokonamy przeglądu wszystkich menu umożliwiających konfigurację tej płyty. Chociaż inne płyty główne mogą być wyposażone w trochę inny zestaw ustawień, to jednak w większości przypadków są one podobne.
Menu programu BIOS Setup
Większość nowszych wersji BIOS-u po uruchomieniu programu BIOS Setup w górnej części ekranu wyświetla pasek menu służący do nawigacji pomiędzy różnymi zestawami menu podstawowych. Standardowy pasek menu składa się z menu opisanych w tabeli 5.8.
Tabela 5.8. Standardowe menu programu BIOS Setup*
Menu programu BIOS Setup |
Opis |
Maintenance |
Pozwala określić częstotliwość magistrali procesora i usunąć hasła dostępu do konfiguracji. Menu dostępne jest tylko w trybie Configure ustawianym za pomocą zworki umieszczonej na płycie głównej. |
Main |
Pozwala przydzielić zasoby komponentom systemowym. |
Advanced |
Pozwala określić zaawansowane funkcje chipsetu. |
Security |
Pozwala ustawić hasła i opcje zabezpieczeń. |
Power |
Pozwala zdefiniować funkcje związane z zarządzaniem energią. |
Boot |
Pozwala określić opcje inicjalizacji i funkcje dotyczące zasilania. |
Exit |
Zapisuje lub wycofuje zmiany ustawień programu BIOS Setup. |
* Dotyczy BIOS-u płyty głównej Intel D875PBZ. Wykorzystane za zgodą firmy Intel Corporation.
.Ponieważ najbardziej popularne BlOS-y dysponują podobnymi ustawieniami, postanowiłem jako przykładem posłużyć się w zamieszczonych dalej tabelach programem BIOS Setup spotykanym w nowszych modelach płyt głównych firmy Intel. Ze względu na to, że BIOS jest dostosowywany przez producenta do określonego typu płyty głównej, może się zdarzyć, że nawet taka sama wersja BIOS-u będzie w przypadku różnych płyt oferować inne możliwości. Omówione ustawienia dostępne w programie BIOS Setup pomogą Ci się zorientować w ich kategoriach i dowiedzieć się, jaki mają wpływ na pracę komputera.
Wybranie dowolnego z wymienionych menu spowoduje przejście do innego menu oferującego szczegółowe ustawienia. W dalszej części rozdziału zostaną omówione wszystkie opcje oferowane w przypadku typowej płyty głównej takiej jak Intel D875PBZ.
Menu Maintenance
Maintenance jest szczególnym menu umożliwiającym ustawienie częstotliwości magistrali procesora oraz usunięcie haseł programu BIOS Setup. W starszych płytach głównych ustawianie szybkości magistrali procesora (częstotliwości płyty głównej) i mnożnika częstotliwości odbywało się za pomocą zworek. Większość płyt głównych produkowanych przez firmę Intel i innych wytwórców zamiast ustawiania zworek wykorzystuje w tym celu program BIOS Setup. W przypadku płyt firmy Intel pozostawiono jedną zworkę nazywaną zworką konfiguracyjną. Aby menu Maintenance było dostępne, konieczne jest przełączenie jej w tryb Configure.
Program BIOS Setup wyświetla menu Maintenance tylko wtedy, gdy zostanie włączony tryb Configure. W tym celu należy wyłączyć komputer, a następnie zmienić położenie zworki płyty głównej z pozycji Normal na Configure (spójrz na rysunek 5.6 umieszczony wcześniej w tym rozdziale). Ze względu na to, że jest to jedyna zworka dostępna na płycie firmy Intel, nie powinno być problemów z jej znalezieniem. Po ponownym uruchomieniu komputera program BIOS Setup zostanie uruchomiony automatycznie, dzięki czemu menu Maintenance omówione w tabeli 5.9 stanie się dostępne. Po dokonaniu zmian ustawień i ich zapisaniu należy wyłączyć komputer i przywrócić położenie zworki do pozycji Normal stosowanej przy standardowym trybie pracy.
Tabela 5.9. Ustawienia standardowego menu Maintenance*
Ustawienie |
Opcje |
Opis |
Clear Alt Passwords |
OK (domyślnie), Cancel |
Pozwala usunąć hasła użytkownika i administratora. |
Clear BIOS |
OK (domyślnie), Cancel |
Pozwala usunąć dane autoryzujące usługi Wired for Management Boot Integrity Service (BiS). |
CPU Stepping Signature |
Brak opcji |
Wyświetla wersję procesora (ang. stepping). |
CPU Microcode Update Revision |
Brak opcj i |
Wyświetla wersję aktualizacji mikrokodu procesora. |
* Dotyczy BIOS-u płyty głównej Intel D875PBZ. Wykorzystane za zgodąfirmy Intel Corporation.
Należy zauważyć, że większość nowszych procesorów firmy Intel została przewidziana do pracy tylko przy częstotliwościach nominalnych i niższych, co określane jest mianem blokowania częstotliwości (ang. speed locking), natomiast inne procesory umożliwiają ustawienie częstotliwości wyższych od wartości nominalnych.
W przypadku, gdy użytkownik zapomni hasła, wtedy wszystko, co należy zrobić w celu jego usunięcia, sprowadza się do zmiany położenia zworki konfiguracyjnej, a następnie zastosowania odpowiedniej opcji dostępnej w menu Maintenance programu BIOS Setup. Funkcja usuwająca hasło nie wyświetli jego zawartości, a jedynie ją usunie, dzięki czemu w razie konieczności będzie można ustawić nowe hasło. Oznacza to, że bezpieczeństwo komputera zależny od zamka uniemożliwiającego zdjęcie jego obudowy. Wynika to stąd, że każdy, kto uzyska dostęp do zworki konfiguracyjnej, może przy jej użyciu usunąć hasło, a tym samym uruchomić komputer. Z tego też powodu większość wyższej jakości obudów jest wyposażona w zamki.
Menu Extended Configuration
W przypadku niektórych płyt głównych firmy Intel menu Extended Configuration oferuje opcje związane z konfiguracją pamięci podobne do tych, które zostały omówione w podpunkcie „Dodatkowe opcje zaawansowane". Aby uzyskać więcej informacji, zapoznaj się z jego zawartością.
Menu Main
Standardowe menu Main programu BIOS Setup pojawiło się już za czasów procesorów 286, gdy stanowiło jedyny tego typu element. Przy użyciu menu Main można ustawić zegar systemowy oraz wprowadzić parametry dysku twardego i stacji dyskietek, jak również podstawowy typ karty graficznej. Nowsze wersje BIOS-u są wyposażone w bardziej złożony program konfiguracyjny składający się z większej liczby menu. Z tego też powodu menu Main w porównaniu ze starszymi systemami jest w znacznym stopniu rozbudowane.
W nowszych systemach menu Main zawiera dane dotyczące wersji BIOS-u, typu i szybkości procesora, pojemności pamięci oraz informuje, czy pamięć operacyjna lub podręczna wykorzystują funkcję kodu korekcji błędów ECC. Menu Main może również posłużyć do ustawienia daty i czasu systemowego.
Standardowe menu Main omówiono w tabeli 5.10.
Tabela 5.10. Ustawienia standardowego menu Main*
Ustawienie |
Opcje |
Opis |
BIOS Version |
Brak opcji |
Wyświetla wersję BIOS-u. |
Processor Type |
Brak opcji |
Wyświetla typ procesora. |
Hyper-Threading Technology |
Enabled (domyślnie), Disabled |
Uaktywnia i wyłącza funkcję Hyper-Threading procesora. Opcja ta dostępna jest tylko w przypadku, gdy zainstalowany jest procesor wykorzystujący technologię Hyper-Threading. |
Processor Speed |
Brak opcji |
Wyświetla częstotliwość procesora. |
System Bus Speed |
Brak opcji |
Wyświetla częstotliwość magistrali systemowej. |
System Memory Speed |
Brak opcji |
Wyświetla częstotliwość magistrali pamięci. |
Cache RAM |
Brak opcji |
Wyświetla pojemność pamięci podręcznej L2. |
Total Memory |
Brak opcji |
Wyświetla całkowitą pojemność pamięci RAM. |
Memory Mode |
Brak opcji |
Wyświetla tryb pamięci (dwukanałowy lub jednokanałowy). |
Memory Channel A Slot 0 Memory Channel A Slot I |
Brak opcji |
Wyświetla pojemność i typ pamięci DIMM zainstalowanej w każdym gnieździe. |
Memory Channel B Slot 0 |
|
|
Memory Channel B Slot 1 |
|
|
Memory Configuration |
Non-ECC (domyślnie), ECC |
Użycie opcji ECC włącza informowanie o błędach pamięci. Ustawienie to dostępne jest jedynie w przypadku płyty głównej oraz pamięci obsługujących ECC. • |
Language |
English (domyślny, mogą być wymienione dodatkowe) |
Pozwala wybrać domyślny język wykorzystywany przez BIOS. |
System Time |
Hour, minutę, second |
Pozwala określić aktualny czas. |
System Date |
Month, day, year |
Pozwala określić aktualną datę. |
* Dotyczy BIOS-u płyty głównej Intel D875PBZ. Wykorzystane za zgodą firmy Intel Corporation.
Funkcja ECC (ang. error correcting code) wykorzystuje dodatkowe bity modułu pamięci, które mają za zadanie detekcję, a nawet naprawianie na bieżąco błędów występujących w czasie pracy układu. Aby wykorzystać możliwości funkcji kodu korekcji błędów ECC, konieczne jest zainstalowanie w systemie wyposażonych w tę funkcję droższych modułów DIMM. Należy zauważyć, że wszystkie zastosowane pamięci DIMM muszą być wyposażone w tę funkcję. Jeśli chociażby jeden moduł nie obsługuje funkcji ECC, wtedy nie zostanie ona uaktywniona. Osobiście namawiam do zakupu odpowiednich pamięci i wykorzystania możliwości oferowanych przez funkcję ECC, ponieważ dzięki niej praca komputera (w szczególności serwera) jest o wiele stabilniejsza i zapobiega uszkodzeniu danych wynikającym z błędów pojawiających się w pamięci. Błędy pamięci losowo mogą pojawiać się z częstotliwością 1 błędnego bitu w ciągu miesiąca dla każdego zainstalowanego modułu o pojemności od 64 do 256 MB. Funkcja ECC gwarantuje, że tego typu błędy nie spowodują uszkodzenia danych pliku ani też uszkodzenia systemu lub jego całkowitej awarii.
► ► Zajrzyj do podpunktu „Kod korekcji błędów" znajdującego się na stronie 575.
Przed podjęciem decyzji o zakupie pamięci ECC należy upewnić się, czy płyta główna obsługuje funkcję ECC. Oczywiście istnieje możliwość instalacji pamięci ECC na płycie nie obsługującej funkcji ECC, ale w takim przypadku funkcja ta nie będzie aktywna. Należy również sprawdzić, jakie są wymagania płyty głównej związane z instalowaną pamięcią. Nie próbuj umieszczać na płycie pamięci o pojemności przekraczającej jej możliwości, a ponadto upewnij się, że używane moduły spełniają postawione przez nią wymagania. Aby uzyskać więcej informacji na temat typów i pojemności obsługiwanej pamięci, należy zajrzeć do dołączonej do płyty dokumentacji.
Większość starszych wersji BIOS-u zamiast pojedynczej wartości określającej wielkość pamięci wyświetla informacje o pamięci podstawowej i rozszerzonej. Pamięć podstawowa zazwyczaj ma pojemność 640 KB i czasami jest określana mianem pamięci konwencjonalnej. Pamięć rozszerzona jest obszarem znajdującym się powyżej pierwszego megabajta pamięci systemowej.
Nie jest możliwa zmiana wartości wyświetlanych w polach dotyczących pamięci. Ich zadaniem jest tylko informowanie o pojemności automatycznie określonej przez komputer. Jeśli obliczona wartość nie jest zgodna z rzeczywistą pojemnością zainstalowanej pamięci, wtedy może to oznaczać, że prawdopodobnie pojawił się problem z którymś z jej modułów. Przyczyną może być jego uszkodzenie, nieprawidłowa instalacja w gnieździe lub niezgodność z używaną płytą główną.
Menu Advanced
Menu Advanced oferuje zaawansowane opcje związane z konfiguracją chipsetu płyty głównej. Ta część programu BIOS Setup jest ściśle zależna od wykorzystywanego typu chipsetu. Obecnie na rynku dostępnych jest wiele chipsetów, z których każdy charakteryzuje się własnym niepowtarzalnym zestawem ustawień. Część programu związana z konfiguracją chipsetu pozwala użytkownikowi na dostosowanie jej do własnych potrzeb i zmianę niektórych parametrów jego pracy. W tabeli 5.11 zebrano ustawienia BIOS-u typowej płyty głównej.
Tabela 5.11. Typowe ustawienia menu Advanced*
Ustawienie |
Opis |
PCI Configuration |
Pozwala ustawić priorytet przerwań poszczególnych gniazd PCI. |
Boot Configuration |
Służy do konfiguracji funkcji Pług and Play, reinicjacji konfiguracji Pług and Play oraz konfiguracji klawisza Numlock. |
Peripheral Configuration |
Służy do konfiguracji portów urządzeń peryferyjnych. |
Dnve Configuration |
Służy do konfiguracji urządzeń ATA. |
Floppy Configuration |
Służy do konfiguracji stacji dyskietek. |
Event Log Configuration |
Służy do konfiguracji dziennika zdarzeń. |
Video Configuration |
Służy do konfiguracji ustawień związanych z kartą graficzną. |
USB Configuration |
Służy do konfiguracji obsługi urządzeń USB. |
Chipset Configuration |
Służy do konfiguracji zaawansowanych funkcji chipsetu. |
Pan Contro! Configuration |
Służy do konfiguracji działania wentylatorów. |
Hardware Monitoring |
Monitoruje temperaturę i napięcia komputera oraz prędkość obrotową wentylatorów. |
* Dotyczy BIOS-u płyty głównej Intel D875PBZ. Wykorzystane za zgodąfirmy Intel Corporation.
Menu PCI Configuration
Menu PCI Configuration umożliwia ustawienie priorytetów przerwań IRQ przypisywanych kartom zainstalowanym w gniazdach magistrali PCI. Jeśli nie ma potrzeby przypisania określonym kartom PCI konkretnych wartości przerwań IRQ, wtedy domyślna wartość Auto daje możliwość ich przydzielania każdemu gniazdu przez BIOS i system operacyjny. W tabeli 5.12 zamieszczono przykładowe ustawienia.
Gdy znajdujące się na płycie głównej urządzenia, takie jak porty szeregowe i równoległe, zostaną wyłączone, udostępnione zostaną dodatkowe przerwania.
Tabela 5.12. Typowe ustawienia menu PCI Configuration*
Ustawienie |
Opcje |
Opis |
PCI Slot IIRQ Priori ty |
Auto (domyślnie), 3, 5, 9, 10, II |
Pozwala na ustawienie priorytetu przerwań gniazda PCI numer 1. |
PCI Slot 2 IRQ Priority |
Auto (domyślnie), 3, 5, 9,10,11 |
Pozwala na ustawienie priorytetu przerwań gniazda PCI numer 2. |
PCI Slot 3 IRQ Priority |
Auto (domyślnie). 3. 5, 9, 10, 11 |
Pozwala na ustawienie priorytetu przerwań gniazda PCI numer 3. |
PCI Slot 4 IRQ Priority |
Auto (domyślnie). 3, 5.9,10,11 |
Pozwala na ustawienie priorytetu przerwań gniazda PCI numer 4. |
PCI Slot 5 IRQ Priority |
Auto (domyślnie), 3. 5. 9, 10, U |
Pozwala na ustawienie priorytetu przerwań gniazda PCI numer 5. |
Menu Boot Configuration
W tabeli 5.13 zebrano opcje konfiguracji Pług and Play oraz klawiatury uaktywniane w trakcie inicjalizacji komputera.
Tabela 5.13. Typowe ustawienia menu Boot Configuration*
Ustawienie |
Opcje |
Opis |
Pług and Play O/S |
No (domyślnie), Yes |
Pozwala określić, czy jest stosowany system operacyjny zgodny z technologią Pług and Play. Opcja No przekazuje do BIOS-u zadanie konfiguracji wszystkich urządzeń. Opcja Yes umożliwia skonfigurowanie urządzeń Pług and Play systemowi operacyjnemu. W przypadku systemu operacyjnego Pług and Play nie ma znaczenia, jaką wybierze się opcję. W przypadku systemu operacyjnego nie obsługującego funkcji Pług and Play należy wybrać opcję No. |
Numlock |
On (domyślnie), Off |
Pozwala określić obowiązujący po włączeniu komputera status klawisza Num Lock, znajdującego się na klawiaturze numerycznej. |
* Dotyczy BIOS-u płyty głównej Intel D875PBZ. Wykorzystane za zgodą firmy Intel Corporation.
Dodatkowe opcje zaawansowane
Wiele płyt głównych różni się pod względem menu związanego z zaawansowaną konfiguracją chipsetu. Jeśli nie wiesz dokładnie, jaki chipset, typ pamięci oraz inne komponenty zostały zastosowane w komputerze, wtedy w większości przypadków najlepszym rozwiązaniem jest pozostawienie dla tych ustawień wartości Auto. W takim przypadku, w celu właściwej konfiguracji pamięci w nowszych płytach głównych wykorzystywany jest układ pamięci ROM, którym dysponują moduły DIMM lub RIMM. W rzeczywistości wiele nowszych modeli płyt głównych nie pozwala już na dokonywanie ręcznej modyfikacji tych ustawień. Jest to spowodowane tym, że w większości przypadków zmiana ustawień może wywołać problemy przejawiające się w postaci niestabilnej pracy systemu lub jego awarii. Jeśli jednak zamierzasz pozmieniać wartości tych ustawień, namawiam do uprzedniego sprawdzenia, jaki dokładnie typ pamięci i chipsetu znajduje się w komputerze, a następnie, celem pobrania odpowiedniej dokumentacji, skontaktowania się z ich producentem. Dokumentacja zawiera wszystkie techniczne szczegóły związane z tymi komponentami.
W tabeli 5.14 zawarto ustawienia dodatkowe menu Chipset Configuration.
Tabela 5.14. Typowe ustawienia menu Chipset Configuration*
Ustawienie |
Opcje |
Opis |
ISA Enable Bit |
Enabled (domyślnie), Disabled |
W przypadku opcji Enabled mostek PCI-PCI rozpoznaje (wewnątrz przydzielonego mu obszaru portów I/O) tylko 16-bitowe adresy wejścia-wyjścia, nie będące aliasami 10-bitowych adresów magistrali ISA. Zapobiega to konfliktom zasobów z zainstalowanymi w komputerze urządzeniami ISA (takimi jak porty szeregowe i równolegle) oraz umożliwia odwzorowywanie adresów urządzeń ISA zgodnych z VGA. |
PCI Latency Timer |
32 (domyślnie), 64. 96. 128, 160. 192, 224, 248 |
Określa wyrażony liczbą cykli zegara magistrali PCI czas, przez który agent magistrali PCI może jeszcze korzystać z magistrali po tym, jak inny agent zażądał do niej dostępu. |
Burn-In Mode |
Brak opcji |
Przejście do menu konfiguracyjnego testów Burn-In. |
Extended Configuration |
Defauit (domyślnie), User defined |
Pozwala na ustalenie rozszerzonych opcji konfiguracyjnych. |
SDRAM Freąuency2 |
Auto (domyślnie), 266MHz, 333MHz3, 400MHz4 |
Pozwala na przetaktowanie pamięci5. |
SDRAM Timing Controf |
Auto (domyślnie), Manuał-Aggressive, Manual-User defined |
W trybie Auto używane są parametry czasowe pamięci odczytane z układu pamięci. W trybie Manual-Aggressive używane są wyśrubowane ustawienia zdefiniowane przez użytkownika. Opcja Manual-User defined umożliwia zmianę parametrów odczytanych z układu pamięci. |
CPC Override |
Auto (domyślnie), Enabled, Disabled |
Kontroluje tryb CPC/ln. Opcja Enabled pozwala kontrolerowi pamięci DRAM na usiłowanie wyboru układu w dwóch następujących po sobie taktach zegara. |
SDRAM RAS Active to Precharge6 |
8, 7, 6 (domyślnie), 5 |
Odpowiada ustawieniu tRAS lub minimalnemu czasowi otwarcia strony. |
SDRAM CAS# Latency6 |
2.0,2.5, (domyślnie), 3.0 |
Wybór liczby cyklów zegarowych potrzebnych do zaadresowania kolumny pamięci. |
SDRAM RAStt to CAS# Delay" |
4, 3, 2 (domyślnie) |
Wybór liczby cyklów zegarowych pomiędzy zaadresowaniem wiersza a zaadresowaniem kolumny. |
SDRAM RAStt Precharge6 |
4, 3, 2 (domyślnie) |
Wybór opóźnienia w dostępie do nowego wiersza. |
2 Ustawienie to pojawia się jedynie wówczas, gdy ustawienie Extended Configuration przyjmuje wartość User-defmed.
5 Ustawienie to pojawia się jedynie wówczas, gdy zainstalowany procesor korzysta z magistrali systemowej o prędkości 533 MHz.
4 Ustawienie to pojawia się jedynie wówczas, gdy zainstalowany procesor korzysta z magistrali systemowej o prędkości 800 MHz.
5 Po wprowadzeniu zmian komputer należy uruchomić ponownie. Po uruchomieniu komputera wprowadzona zmiana zostanie odzwierciedlona w parametrze System Memory Speed menu głównego.
6 Ustawienie to jest zwykle kontrolowane przez układ SPD ROM modułu DIMM, a pojawia się jedynie wówczas, gdy ustawienie SDRAM Timing Control przybiera wartość Manual-User-Defined.
W przypadku niektórych płyt głównych dostępne są również zaawansowane ustawienia chipsetu, podobne do przedstawionych w tabeli 5.15.
Tabela 5.15. Dodatkowe zaawansowane ustawienia chipsetu
Ustawienie |
Opis |
System BIOS Cacheable |
Pozwala na buforowanie zawartości systemowego układu BIOS ROM znajdującej się w pamięci o adresach z zakresu FOOOOh - FFFFFh, co polepsza wydajność komputera w przypadku 16-bitowych systemów operacyjnych. Jeśli dowolny program spróbuje zapisać w tym obszarze pamięci dane, wtedy może wystąpić błąd systemowy |
Video BIOS Cacheable |
Pozwala na buforowanie zawartości układu BIOS ROM karty graficznej znajdującej się w pamięci o adresach z zakresu COOOOh - C7FFFh, co polepsza jej wydajność w przypadku 16-bitowych systemów operacyjnych. Jeśli dowolny program spróbuje zapisać w tym obszarze pamięci dane, wtedy może wystąpić błąd systemowy. |
Video R.4M Cacheable (Video Memory' Cache Modę) |
Ustawienie wartości Enabled pozwala na buforowanie zawartości pamięci RAM karty graficznej znajdującej się w pamięci o adresach z zakresu AOOOOh - AFFFFh, co polepsza jej wydajność w przypadku 16-bitowych systemów operacyjnych. Jeśli dowolny program spróbuje zapisać w tym obszarze pamięci dane, wtedy może wystąpić błąd dostępu do pamięci. W niektórych systemach ustawieniu Enabled odpowiada tryb USWC (ang. Uncacheable Speculative Write-Combining). |
8/16 Bit I/O Recovery Time |
Mechanizm regeneracji portów I/O dodaje dodatkowe cykle zegara do operacji dostępu do portów I/O magistrali ISA pochodzących z magistrali PCI. Dodatkowe opóźnienie wynika stąd, że magistrala PCI jest znacznie szybsza od magistrali ISA. |
Memory Hole at I5M-16M |
Pozostawia 1 MB pustego obszaru pamięci RAM pomiędzy 15. i 16. megabajtem. Starsze aplikacje czasami nie działają prawidłowo, gdy w systemie jest pamięć o pojemności 16 MB lub większej. W takim przypadku aktywacja tego ustawienia pomaga rozwiązać problem. Standardowo jest ono wyłączone. |
Passive Release |
Po ustawieniu wartości Enabled dostęp procesora do magistrali PCI jest możliwy podczas fazy pasywnego uwolnienia. W przeciwnym razie kontroler zezwala na dostęp do lokalnej pamięci DRAM tylko urządzeniom nadrzędnym magistrali PCI. |
Delayed Transaction |
Chipset zawiera 32-bitowy zintegrowany bufor zapisujący mający za zadanie obsługiwanie cykli opóźniających transakcje. Aby włączyć zgodność ze specyfikacją PCI 2.1, należy ustawić wartość Enabled. |
Funkcje przetaktowywania (badania wytrzymałości) procesora
Wiele płyt głównych wyposażonych jest w funkcje umożliwiające przetaktowywanie (ang. overclocking) komputera, które pozwalają na ustawienie prędkości magistrali procesora (a tym samym i samego procesora oraz pozostałych magistral) większej niż nominalna. Ustawienia te można wykorzystać w testach badających granice wydajności nowych modeli komputerów, tak zwanych testach wytrzymałości (ang. burn-in). W tabeli 5.16 przedstawiono funkcje przetaktowywania (testujące wytrzymałość) dostępne w programie BIOS Setup.
Za pomocą powyższych ustawień można przyśpieszyć działanie procesora oraz magistral PCI i AGP o wartość wyrażoną w procentach.
Tabela 5.16. Typowe ustawienia przetaktowywania i testowania wytrzymałości*
Ustawienie |
Opcje |
Opis |
Do you wish to continue? |
No (domyślnie), Continue |
Włącza i wyłącza opcje trybu przetaktowywania (testowania wytrzymałości). Burn-in jest trybem przetaktowywania przeznaczonym do celów testowych dla inżynierów, techników oraz innych zaawansowanych użytkowników. |
Host and l/O Burn-In Mode |
Default (domyślnie), -2.0%, -1.0%, 1.0%, 2.0%, 3.0%, 4.0% |
Zmienia szybkość zegara magistrali systemowej oraz magistral AGP i PCI o procentową wartość. W przypadku opcji innych niż Default ustawienie AGP/PCI Burn-In Mode przyjmuje automatycznie wartość Default. |
AGP/PCI Burn-In Mode |
Default (domyślnie), 63.88/31.94MHz, 68.05/34.02MHz, 69.44/34.72MHz, 70.83/35.41MHz, 72.22736.11MHz, 73.60/36.80MHz |
Ustawieniem domyślnym jest 66.66/33.33MHz. Wybór innego ustawienia zmienia częstotliwość zegara magistral AGP i PCI, ale tylko wówczas, gdy nie zmieniono prędkości magistrali systemowej. W przypadku opcji innych niż Default ustawienie Host and I/O Burn-In Mode przyjmuje automatycznie wartość Default. |
* Dotyczy BIOS-u płyty głównej Intel D875PBZ. Wykorzystane za zgodą firmy Intel Corporation.
Niektóre płyty główne umożliwiają zwiększenie prędkości magistral AGP i PCI bez konieczności zwiększania prędkości magistrali procesora, co można wykorzystać do przetaktowywania samych kart graficznych AGP lub PCI. Przyspieszając pracę komputera, należy pamiętać, że w zależności od używanych podzespołów oraz oprogramowania prędkości większe niż nominalne mogą zdestabilizować pracę komputera oraz skrócić żywotność procesora. Jest to poza tym naruszenie warunków gwarancji. W przypadku problemów należy przywrócić parametrom przetaktowywania wartości domyślne.
Menu Peripheral Configuration
Menu Peripheral Configuration służy do konfigurowania urządzeń zintegrowanych z płytą główną, takich jak porty szeregowe, równolegle, USB i wbudowane karty dźwiękowe.
W tabeli 5.17 zebrano pozycje standardowego menu Peripheral Configuration wraz z dostępnymi opcjami.
Jeśli porty szeregowe i równoległe nie są wykorzystywane, namawiam do ich wyłączenia, ponieważ w ten sposób zostaną uwolnione zajmowane przez nie zasoby (zwłaszcza przerwania, na które jest duże zapotrzebowanie), które będą mogły być przydzielone innym urządzeniom.
Tabela 5.17. Standardowe menu Peripheral Configuration
Ustawienie |
Opcje |
Opis |
Serial port A |
Auto (domyślnie) Disabled Enabled |
Służy do konfiguracji portu szeregowego A. Opcja Aulo przydziela automatycznie pierwszemu wolnemu portowi COM (zazwyczaj COM 1) adres 3F8h oraz przerwanie IRQ4. |
Base PO address |
3F8 (domyślnie) 2F8 3E8 2E8 |
Określa adres I/O portu szeregowego A. |
Interrupt |
IRQ 4 (domyślnie) IRQ3 |
Określa przerwanie portu szeregowego A. |
Parallel port |
Auto (domyślnie) Disabled Enabled |
Służy do konfiguracji portu równoległego. Opcja Auto przydziela automatycznie portowi LPTI adres 378h oraz przerwanie IRQ7. |
Mode |
Output Only Bi-directional (domyślnie) EPP ECP |
Pozwala na ustawienie trybu pracy portu równoległego. EPP (ang. Extended Parallel Port) oraz ECP (ang. Enhanced Capabilities Port) są trybami dwukierunkowymi o dużej szybkości. |
Base PO address |
378 (domyślnie) 278 |
Określa adres l/O portu równoległego. |
Interrupt |
IRQ 7 (domyślnie) IRQ5 |
Określa przerwanie portu równoległego. |
DMA |
DMA 3 (domyślnie) DMA 1 |
Określa kanał DMA portu równoległego. |
Audio |
Enabled (domyślnie) Disabled |
Włącza lub wyłącza zintegrowaną kartę dźwiękową. |
Onboard LAN |
Enabled (domyślnie) Disabled |
Włącza lub wyłącza zintegrowaną kartę sieciową LAN. |
Znak * wyświetlony przy adresie wskazuje na wystąpienie konfliktu z innym urządzeniem.
Tryby EPP i ECP są zgodne ze standardem IEEE-1284. dlatego też wymagają zastosowania zgodnego z nim kabla drukarki. Ustawienia dotyczą BIOS-u płyty głównej Intel D875PBZ. Wykorzystane za zgodą firmy Intel Corporation.
Menu ATA Configuration
Menu ATA Configuration służy do konfiguracji urządzeń ATA takich jak dyski twarde, napędy CD-ROM, napędy LS-120 (SuperDisk), streamery itp. W tabeli 5.18 zebrano ustawienia menu ATA Configuration wraz z dostępnymi opcjami, które można spotkać w typowej płycie głównej.
Tabela 5.18. Typowe ustawienia menu ATA Configuration
Ustawienie |
Opcje |
Opis |
ATA Configuration |
Enhanced (domyślnie), Disabled, Legacy |
Opcja Enhanced uaktywnia wszystkie zasoby interfejsów Serial ATA (SATA) i Parallel ATA (PATA). Opcja Disabled wyłącza wszystkie zasoby ATA. Opcja Legacy udostępnia systemowi operacyjnemu obsługującemu jedynie tradycyjne interfejsy ATA jeden lub dwa kanały ATA. |
Legacy A TA Channels |
PATA PriOnly PATA Sec Only PATA Pri and Sec SATA PO/PI Only SATA PO/PI, PATA Sec SATA PO/PI, PATA Pri |
Wybór zasobów PATA i SATA udostępnianych systemowi operacyjnemu obsługującemu jedynie tradycyjne interfejsy ATA. Pozycja pojawia się, gdy pozycji ATA Configuration nadano wartość Legacy. |
PCI ATA Bus Master |
Enabled (domyślnie), Disabled |
Włącza i wyłącza użycie kanałów DMA przez operacje odczytu i zapisu dysku realizowane poprzez przerwanie programowe BIOS INT13. |
Hard Disk Pre-Delay |
Disabled (domyślnie) 3 Seconds 6 Seconds 9Seconds 12 Seconds 15 Seconds 21 Seconds 30 Seconds |
Pozwala wybrać jedną z wartości opóźnienia dysku twardego |
Soft RA ID Support |
Disabled (domyślnie), Enabled |
Konfiguruje funkcje macierzy SoftRAID. |
SATAPort-0 |
Brak opcji |
Wyświetla podmenu urządzenia (o ile jest zainstalowane). |
SATA Port-I |
Brak opcji |
Wyświetla podmenu urządzenia (o ile jest zainstalowane). |
PA TA Primary Master |
Brak opcji |
Wyświetla podmenu urządzenia (o ile jest zainstalowane). |
PA TA Primary Slave |
Brak opcji |
Wyświetla podmenu urządzenia (o ile jest zainstalowane). |
PA TA Secondary Master |
Brak opcji |
Wyświetla podmenu urządzenia (o ile jest zainstalowane). |
PA TA Secondary Slave |
Brak opcji |
Wyświetla podmenu urządzenia (o ile jest zainstalowane). |
PATA = Parallel ATA SATA = Serial ATA Pri = Primary Sec = Secondary
PO = Gniazdo 0 interfejsu Serial A TA PI = Gniazdo 1 interfejsu Serial ATA
Ustawienia dotyczą BIOS-u płyty głównej Intel D875PBZ. Wykorzystane za zgodą firmy Intel Corporation.
Funkcja Hard Disk Pre-Delay ma za zadanie opóźnienie dostępu do dysków na czas potrzebny do osiągnięcia odpowiedniej prędkości obrotowej. Niektóre dyski, w momencie gdy inicjalizowany system zaczyna ich szukać, nie sąjeszcze gotowe. W efekcie zostaje wyświetlony komunikat Fixed Disk Fai 1 ure i proces ładowania systemu jest przerywany. Oczywiście włączenie funkcji Hard Disk Pre-Delay wydłuża czas uruchamiania komputera, dlatego też jeśli podłączone dyski są wystarczająco szybkie, należy ją wyłączyć.
Podmenu w menu ATA Configuration
Dodatkowe menu umożliwiają konfigurację każdego urządzenia ATA. Ze wszystkich dotąd omówionych menu programu BIOS Setup, te zawierające ustawienia związane z dyskiem twardym mają największe znaczenie. Tak naprawdę są najistotniejszymi ustawieniami w całym BlOS-ie. Większość nowszych płyt głównych jest wyposażona w dwa kontrolery ATA obsługujące maksymalnie cztery dyski. Większość nowszych wersji BIOS-u dysponuje funkcją detekcji umożliwiającej wykonanie automatycznej konfiguracji dysków. Jeśli jest ona dostępna, wtedy w większości przypadków należy z niej skorzystać, ponieważ pozwoli to w przyszłości zapobiec wielu problemom. Po włączeniu funkcji Auto BIOS wysyła do dysku specjalne polecenie Identify Drive, na które uzyskuje odpowiedź w postaci informacji zawierającej prawidłowe dla niego parametry. Dzięki temu BIOS jest w stanie automatycznie określić specyfikację i optymalne ustawienia pracy prawie wszystkich dysków twardych ATA. Jeśli dla podłączonego dysku zostanie ustawiona wartość Auto, wtedy przy każdej inicjalizacji systemu w trakcie wykonywania procedury POST, BIOS wykryje parametry dysku. Po wyłączeniu komputera można wymienić dysk na inny, a przy jego następnym uruchomieniu nowy dysk automatycznie powinien zostać rozpoznany.
Oprócz funkcji Auto większość starszych wersji BIOS-u oferuje standardową tabelę zawierającą maksymalnie 47 typów dysków wraz z wcześniej wprowadzonymi określonymi parametrami. Każdy zdefiniowany typ dysku charakteryzuje się określoną liczbą cylindrów, głowic, współczynnikiem wstępnej kompensacji zapisu, miejscem parkowania głowicy oraz liczbą sektorów. Jeszcze parę lat temu tabela typów dysków była dość często wykorzystywana, ale obecnie używa się jej rzadko. Wynika to stąd, że prawie żaden dysk nie korzysta już z parametrów zawartych w tabeli.
Kolejna funkcja o nazwie User lub User Defined umożliwia wprowadzenie w odpowiednich polach niestandardowych parametrów dysku CHS (ang. Cylinder, Head, Sector — cylinder, głowica, sektor). Parametry są przechowywane w pamięci CMOS RAM i ładowane przy każdym uruchomieniu komputera.
Jeśli zamiast wartości Auto zostanie ustawiona wartość User, wtedy w większości aktualnie dostępnych BIOS-ów istnieje możliwość modyfikacji ustawień związanych z translacją dysku. Zazwyczaj dostępne są dwa takie parametry — Standard i LBA. Opcja Standard lub LBA-disabled ma zastosowanie tylko w przypadku dysków o pojemności nie przekraczającej 528 MB, które są wyposażone w 1024 cylindry, 16 głowic i 63 sektory. Obecnie ze względu na stosowanie dysków o większej pojemności parametr ten jest rzadko używany.
Funkcja LBA (ang. logical błock addressing — logiczne adresowanie bloków) jest wykorzystywana w prawie wszystkich dyskach o pojemności przekraczającej 528 MB. Należy zauważyć, że jeśli komputery wyprodukowane w roku 1997 i wcześniej nie dysponują nowszą wersją BIOS-u, wtedy zazwyczaj są ograniczone do dysków o maksymalnej pojemności wynoszącej 8,4 GB. Systemy wprowadzone do sprzedaży po roku 1998 zwykle obsługują dyski o maksymalnej pojemności 137 GB (48-bitowe adresowanie LBA). Dzięki temu, że podczas odczytu z dysku kontroler IDE dokonuje translacji adresu danych wyrażonego przy użyciu numeru sektora, głowicy i cylindra na fizyczny adres bloku, w znaczącym stopniu wzrosła szybkość przesyłania danych.
W tabeli 5.19 przedstawiono parametry dysku ATA oferowane przez typowy BIOS nowszego modelu płyty głównej.
Po ustawieniu typu dysku nu Auto pozostałe wartości parametrów zostaną automatycznie skonfigurowane. Namawiam do wykorzystania tej możliwości w prawie wszystkich standardowych konfiguracjach systemowych. Gdy zostanie ustawiona wartość Auto, BIOS przesyła do dysku polecenie Identify, na które uzyskuje odpowiedź w postaci zestawienia wszystkich funkcji, którymi dysponuje urządzenie. Dzięki tym danym BIOS automatycznie ustawia wartości dla wszystkich parametrów, takich jak najszybszy tryb przesyłania danych i inne funkcje pozwalające dyskowi pracować z maksymalną wydajnością.
Tabela 5.19. Typowe ustawienia menu IDE Drive*
Ustawienie |
Opcje |
Opis |
Drive Instatled |
Brak opcji |
Informuje o typie zainstalowanego dysku. |
Type |
Auto (domyślnie) User |
Pozwala określić tryb konfiguracji urządzeń ATA. Wartość Auto powoduje automatyczne odczytanie ustawień z urządzenia ATA/ATAPI. Wartość User pozwala na zmianę ustawień. |
Maximum Capacity |
Brak opcji |
Wyświetla maksymalną pojemność dysku. |
LBA/Large Mode |
Auto (domyślnie) Disabled |
Informuje, czy włączony jest tryb automatycznej translacji. |
Błock Mode |
Auto (domyślnie) Disabled |
Informuje, czy włączony jest tryb automatycznego transferu zawartości wielu sektorów. |
PIO Mode |
Auto (domyślnie) 0 1 2 3 4 |
Pozwala określić tryb PIO związany z przesyłaniem danych z i do dysku. |
DMA Mode |
Auto (domyślnie) SWDMAx MWDMAx UDMAx |
Pozwala określić tryb DMA związany z przesyłaniem danych z i do dysku. SWDMA = SingleWord DMA, MWDMA = MultiWord DMA, U DMA = Ultra DMA. |
SM ART |
Auto (domyślnie), Disabled, Enabled |
Włącza funkcje SMART (ang. Self-Momloring, Analysis and Reporting). Jeżeli dysk obsługuje funkcje SMART, zostaną one uaktywnione automatycznie. |
Cable Detected |
Brak opcji |
Wyświetla typ kabla podłączonego do interfejsu Parallel ATA — 40-żyłowy lub 80-żyłowy. |
AR MD (ATA PI Remoyable Media Device Emulation Type) |
Floppy |
Ustawienie to pojawia się tylko, gdy podłączona jest stacja LS-120 SuperDisk. |
* Dotyczy BIOS-u płyty głównej Intel D875PBZ. Wykorzystane za zgodąfirmy Intel Corporation.
W przypadku dysków twardych oprócz opcji Auto jest jeszcze dostępna tylko jedna wartość — User. Po jej ustawieniu istnieje możliwość ręcznej modyfikacji pozostałych parametrów. Może się to okazać przydatne dla osób, które lubią eksperymentować z różnymi wartościami ustawień, ale zazwyczaj efektem takiej operacji będzie obniżenie wydajności, a najprawdopodobniej nawet wystąpienie problemów powodujących uszkodzenie danych lub dysku. Z możliwości tej należy korzystać jedynie wówczas, gdy instaluje się dysk, który wcześniej został przygotowany z użyciem parametrów innych niż uzyskane w sposób automatyczny za pomocą opcji Auto.
Menu Floppy Configuration
Menu Floppy Configuration umożliwia konfigurację stacji dyskietek i jej interfejsu. W tabeli 5.20 przedstawiono ustawienia menu dostępnego w większości programów BIOS Setup.
Po uaktywnieniu funkcji Diskette Write Protect zostanie uniemożliwiony zapis danych na dyskietkach. Dzięki niej można zapobiec kradzieży danych, jak również uniemożliwić przeniesienie wirusów znajdujących się w komputerze.
Tabela 5.20. Typowe ustawienia menu Diskette Configuration*
Ustawienie |
Opcje |
Opis |
Diskette Controller |
Enabled (domyślnie) Disabled |
Włącza lub wyłącza zintegrowany kontroler stacji dyskietek. |
Diskette A: |
Disabled 360KB, 5,25" 1.2MB, 5,25" 1.44MB, 3,5"(domyślnie) 720KB, 3,5" 2.88MB, 3,5" |
Pozwala określić pojemność i fizyczny format dyskietki napędu A:. |
Diskette Write Protect |
Disabled (domyślnie) Enabled |
Włącza lub wyłącza ochronę przed zapisem dyskietki napędu A:. |
* Dotyczy BIOS-u płyty głównej Intel D845PEBT2. Wykorzystane za zgodą firmy Intel Corporation.
Menu Event Logging
Menu Event Logging pozwala na konfigurację ustawień związanych z rejestracją zdarzeń systemu SMBIOS (ang. System Management BIOS). SMBIOS zgodny ze standardem DMI umożliwia zarządzanie komputerami podłączonymi do sieci. Standard DMI (ang. Desktop Management Interface) jest specjalnym protokołem, który może być wykorzystany przez aplikacje komunikujące się z płytą główną.
Dzięki systemowi SMBIOS administrator może zdalnie uzyskać informacje na temat komputera. Programy takie jak Intel LANDesk Client Manager (stworzony przez firmę Intel, a obecnie oferowany przez firmę LANDesk Software) posługują się systemem SMBIOS do generowania następujących informacji DMI:
danych na temat BIOS-u, takich jak jego wersja,
danych systemowych, takich jak informacje o zainstalowanych urządzeniach I/O, numerach seryjnych i identyfikacyjnych,
zasobach, takich jak pojemność pamięci RAM i pamięci podręcznej oraz częstotliwość taktowania procesora,
danych dynamicznych, takich jak detekcja zdarzeń i rejestracja błędów.
W tabeli 5.21 zawarto ustawienia menu Event Logging dostępnego w programie BIOS Setup.
Tabela 5.21. Typowe ustawienia menu Event Logging*
Ustawienie |
Opcje |
Opis |
Event log |
Brak opcji |
Informuje, czy w dzienniku zdarzeń jest jeszcze wolne miejsce. |
View event log |
[Enter] |
Umożliwia przeglądanie dziennika zdarzeń. |
Clear all event logs |
OK (domyślnie) Cancel |
Ustawienie OK sprawi, że przy ponownym uruchomieniu komputera dziennik zdarzeń zostanie wyczyszczony. |
Event logging |
Enabled (domyślnie) Disabled |
Włącza i wyłącza rejestrację zdarzeń interfejsu DMI. |
Mark Events As Read |
OK (domyślnie) Cancel |
Oznacza wszystkie zdarzenia jako przeczytane. |
Mark evenls as read |
Press [Enter] |
Oznacza wszystkie zdarzenia jako przeczytane. |
* Dotyczy BIOS-u płyty głównej Intel D875PBZ. Wykorzystane za zgodą firmy Intel Corporation.
Niektóre płyty główne obsługujące pamięć z funkcją ECC umożliwiają również rejestrację zdarzeń ECC. Osobiście uważam rejestrację zdarzeń za szczególnie przydatną w przypadku identyfikacji błędów związanych np. z funkcją ECC. Dzięki ustawieniu View event log można sprawdzić, czy w systemie zostały wykryte błędy i czy je usunięto.
Menu Video Configuration
Menu Video Configuration służy do konfiguracji parametrów karty graficznej. W tabeli 5.22 zebrano ustawienia menu Video Configuration dostępnego w BlOS-ie typowych nowszych modeli płyt głównych.
Tabela 5.22. Typowe ustawienia menu Video Configuration*
Ustawienie |
Opcje |
Opis |
AGP Aperture Size |
4MB 8MB 16MB 32MB 64MB (domyślnie) 128MB 256MB |
Pozwala określić rozmiar pamięci RAM płyty głównej wykorzystywanej przez kontroler karty graficznej AGP. |
Primary Video Adapter |
AGP (domyślnie) PCI |
Pozwala określić typ karty graficznej używanej podczas uruchamiania komputera. |
* Dotyczy BIOS-u płyty głównej Intel D875PBZ. Wykorzystane za zgodą firmy Intel Corporation.
Inne płyty główne mogą być również wyposażone w funkcje przedstawione w tabeli 5.23.
Tabela 5.23. Dodatkowe ustawienia menu Video Configuration
Ustawienie |
Opcje |
Opis |
Palette Snooping |
Disabled (domyślnie) Enabled |
Pozwala podstawowemu kontrolerowi karty graficznej PCI współdzielić paletę z dodatkową kartą graficzną ISA. |
AGP Hardware Delected |
Brak opcji |
Informuje, czy została zainstalowana karta graficzna AGP zgodna z trybem xl, x2 lub x4. Wyłącza zintegrowany układ graficzny. |
Najczęściej menu Video Configuration jest stosowane do zmiany podstawowej systemowej karty graficznej. Przydatne jest w przypadku korzystania z systemów Windows 98 i Windows 2000 dysponujących możliwością współpracy z dwoma monitorami. Dzięki temu menu można przypisać karcie graficznej AGP albo PCI rolę podstawowego urządzenia graficznego biorącego udział w inicjalizacji systemu.
Menu USB Configuration
Menu USB Configuration służy do konfigurowania portów USB komputera. W tabeli 5.24 przedstawiono ustawienia menu USB Configuration dostępnego w BlOS-ie typowych nowszych modeli płyt głównych.
Tabela 5.24. Standardowe menu USB Configuration*
Ustawienie |
Opcje |
Opis |
High-Speed USB |
Enabled (domyślnie) Disabled |
Jeżeli nie dysponuje się sterownikiem USB 2.0, należy wybrać opcję Disabled. |
Legacy USB Support |
Enabled (domyślnie) Disabled |
Włącza lub wyłącza obsługę starszych urządzeń USB. |
USB 2.0 Legacy Support |
FullSpeed (domyślnie) HiSpeed |
Konfiguruje obsługę starszych urządzeń USB podłączonych do interfejsu USB 2.0. HiSpeed = 480 Mb/s, FullSpeed = 12 Mb/s. |
* Dotycz BIOS-u płyty głównej Intel D875PBZ. Wykorzystane za zgodą firmy Intel Corporation.
W przypadku płyt głównych wyposażonych w osobne porty USB 1.1 i USB 2.0 mogą istnieć dodatkowe ustawienia konfiguracyjne.
Wizjery LCD aparatów cyfrowych również przekłamują obraz, chociaż nie tak bardzo, jak wizjery optyczne — przyp. tłum.
?*3
Intel SE440BX-2 100000 06/09/99