Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
W sercu PC wedug
Petera Nortona
Autor: Scott H. A. Clark
Tumaczenie: Wereszczyski Zygmunt
ISBN: 83-7197-796-4
Tytu oryginau: Peter Norton's New Inside The PC
Format: B5, stron: 640
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
O Autorze ........................................................................................ 15
Wprowadzenie ................................................................................. 17
Cz I
Cz II
Wewntrz komputera....................................................... 99
Spis treci
7
Waciwy dobr kolorw....................................................................................... 148
Regulacja monitora ......................................................................................... 149
Modyfikacja informacji w obrazie .................................................................... 149
Sposb porozumiewania si z wywietlaczem ......................................................... 150
Zasady dziaania wywietlaczy............................................................................... 151
Lampy kineskopowe ....................................................................................... 151
Wywietlacze ciekokrystaliczne ...................................................................... 153
Podsumowanie ..................................................................................................... 158
Spis treci
9
Zadania klawiatury komputera ......................................................................... 265
Kody klawiszy i sterownik klawiatury w jednostce centralnej ............................. 265
Powiadamianie programw o wcinitych klawiszach.......................................... 266
Rne klawiatury dla rnych potrzeb .............................................................. 266
Alternatywa dla pisania, czyli rozpoznawanie gosu ................................................. 270
Suchanie i rozumienie to trudne zadania........................................................... 272
Mowa naturalna i przerywana .......................................................................... 272
W skrcie: jak to dziaa?.................................................................................. 273
Rozumienie .................................................................................................... 274
Jak daleko ju zaszlimy? ................................................................................ 274
Pokazywanie punktu, czyli krcenie mysz ............................................................. 275
Rne rodzaje myszy ...................................................................................... 275
Wiele przyciskw i kko................................................................................. 279
Inne urzdzenia wejciowe dla komputerw PC ...................................................... 281
Skanery.......................................................................................................... 281
Cyfrowe kamery i aparaty fotograficzne............................................................ 283
Joysticki i inne urzdzenia podczane do portu gier........................................... 285
Podsumowanie ..................................................................................................... 285
10
Spis treci
11
12
Dodatki.......................................................................................... 535
Dodatek A System operacyjny: porednik midzy czowiekiem a komputerem ... 537
Czym jest system operacyjny i dlaczego jest on potrzebny? ....................................... 538
Jak zrezygnowa z systemu operacyjnego i dlaczego jest to zy pomys?.............. 538
Epoka systemu DOS ....................................................................................... 539
Dziaanie systemu operacyjnego....................................................................... 540
Spis treci
13
DOS nie yje! Niech yje Windows! ...................................................................... 545
Obecnie uywane odmiany Windows................................................................ 545
Windows jest rodowiskiem sterowanym zdarzeniami.......................................... 549
Wielozadaniowo bez wywaszczania i z wywaszczaniem ................................... 550
Wybr systemu operacyjnego dla komputera PC ..................................................... 551
Windows 98 i Windows Me ............................................................................. 552
Windows 2000 i Windows XP ......................................................................... 552
Linux ............................................................................................................. 553
Unix .............................................................................................................. 554
W jaki sposb mona unikn dokonywania wyboru.......................................... 554
Podsumowanie ..................................................................................................... 555
Rozdzia 15.
Architektura procesora
Konstruktorzy komputerw mwi czsto o architekturze danego modelu. C okrelenie to ma oznacza? Przecie zwykle dotyczy ono budynkw, a nie komputerw!
W sowniku amerykaskiej odmiany jzyka angielskiego sowo architekt zdefiniowano jako projektant (czegokolwiek), za architektura to struktura (rwnie czegokolwiek). A zatem architektura komputerw oznacza opis uoenia poszczeglnych
czci komputera oraz zasady ich budowy, ktre umoliwiaj midzy nimi wspprac
i okrelone dziaanie.
Podstaw kadej konstrukcji komputera jest procesor (CPU). Projektanci tego ukadu
scalonego wanie podczas jego tworzenia ostatecznie decyduj o tym, jakie moliwoci bdzie posiada komputer. Na przykad procesor ma okrelon liczb wyprowadze. Ich liczba i przeznaczenie wskazuje na rozmiar pamici, ktra moe by z nim
poczona, na rodzaj informacji przetwarzanych w procesorze, reakcj na zdarzenia
zewntrzne itp.
Procesory z rodziny x86 maj wiele cech wsplnych. Ten zestaw jednorodnych waciwoci okrela architektur x86, za konstrukcja samego komputera PC jest czci
bardziej oglnej budowy x86. Zanim przejdziemy do opisu szczegw zwizanych
z x86, warto omwi rnice wystpujce midzy dwiema podstawowymi konstrukcjami procesorw, oznaczanymi skrtami RISC i CISC.
312
RISC
RISC jest skrtem od nazwy Reduced Instruction Set Computer (czyli komputer
o zredukowanym zestawie instrukcji). Procesor tego typu obsuguje stosunkowo ma
liczb instrukcji. Czy nie brzmi to dziwnie? Oczywicie, chocia trzeba pamita, e
niekiedy jako jest znacznie waniejsza ni ilo.
Tradycyjnie producenci komputerw konstruuj coraz bardziej skomplikowane procesory, by sprosta nowym wymaganiom ekstrawaganckich funkcji. Takie mylenie
prowadzi do tworzenia sprztu, dziki ktremu obsugiwanych jest coraz wicej rodzajw instrukcji, lecz odbywa si to kosztem czasu ich wykonywania. Im wikszy
jest zestaw instrukcji, tym duej trwa ich wykonywanie.
Niektrzy producenci komputerw postpuj odwrotnie; chc zoptymalizowa wydajno procesorw i zmniejszy koszt ich produkcji, a zatem konstruuj procesory
obsugujce niewielk liczb instrukcji. Typowym procesorem RISC jest PowerPC.
Dziki prostszym instrukcjom, ich wykonywanie moe by przyspieszone bez koniecznoci wbudowywania nowych tranzystorw.
Czy jest to logiczne? Oczywicie, niekiedy tak. Jeli zestaw instrukcji zostanie uproszczony, wszelkie wyrafinowane funkcje musz by realizowane za pomoc oprogramowania,
co zamiast wzrostu wydajnoci przetwarzania moe spowodowa jej spadek.
Na obecnym etapie rozwoju technologii procesorw rozwizania typu RISC staj si
coraz bardziej skomplikowane. Obecnie ukady RISC obsuguj znacznie wicej instrukcji ni robiy to niegdy. Z drugiej strony, tradycyjne procesory optymalizowane
s z zastosowaniem sztuczek uywanych dotychczas tylko w procesorach RISC.
Czy zatem, kiedy zamierzamy kupi nowy procesor, powinnimy wybiera ukad typu
RISC? Zazwyczaj sprzedawca nie wie, czy dany procesor jest procesorem tego typu.
Jedno mona stwierdzi z ca pewnoci: RISC nie jest ju rozwizaniem, bez ktrego
nie mona si obej.
313
Rysunek 15.2.
Rodzina
mikroprocesorw
Celeron bya
projektowana z myl
o zrwnowaeniu
wydajnoci i ceny
Trzeba pamita, e dalej w tym rozdziale wielokrotnie mona bdzie znale odwoania do ukadw z rodziny x86. Pod t wspln nazw rozumie si nie tylko seri mikroprocesorw produkowanych przez firm Intel, cznie z wieloma modelami Pentium, lecz rwnie wszystkie klony tych procesorw, produkowane przez
firmy konkurencyjne (na przykad AMD i VIA oraz Cyrix i IDT). Dla uproszczenia nie
bdziemy za kadym razem podkrela tych rozrnie. Jeli dany komputer wyposaony jest w ktry z tych sklonowanych ukadw, naley przyj, e to, co napisano o procesorach x86, bdzie prawdopodobnie prawdziwe take dla procesora w rozpatrywanym komputerze. Jeeli rnice midzy poszczeglnymi odmianami
bd znaczce, zostanie to wyranie podkrelone.
Naley take pamita o innej wanej sprawie. Pomimo deklarowanej zgodnoci
ukadw produkowanych przez firmy AMD lub VIA z rodzin x86, niektre z nich
wymagaj uycia specjalnych zestaww ukadw scalonych na pycie gwnej. Jako
przykad mona poda procesory Duron i Athlon firmy AMD, ktre nie mog dziaa
z zestawami ukadw firmy Intel, a nawet wymagaj podstawek o innych rozmiarach.
314
Firma AMD (skrt od angielskiej nazwy Advanced Micro Devices) swoim procesorem K7 Athlon zagrozia rynkowej pozycji Intela. Seria tych ukadw przewysza
procesory Pentium III pod wieloma wzgldami i traktowana jest przez wielu najbardziej
zagorzaych graczy jako jedyna platforma dla grafiki trjwymiarowej. Na rysunku 15.4
pokazano procesor K6-2, na rysunku 15.5 procesor Duron, a na rysunku 15.6. Athlon
wszystkie opracowane i wyprodukowane przez AMD.
Rysunek 15.4.
Procesor K6-2 firmy
AMD jest innym
konkurentem dla
ukadw Intela
Rysunek 15.5.
Kolejn pozycj
w ofercie AMD
jest rodzina
procesorw Duron
315
Rysunek 15.6.
Rodzina procesorw
Athlon firmy AMD
wybierana jest przez
wielu uytkownikw,
szczeglnie przez
wymagajcych graczy
EPIC
Skrt EPIC pochodzi od angielskiego okrelenia Explicitly Parallel Instruction Computing (co oznacza bezporednie rwnolege przetwarzanie instrukcji). Dziki udostpnieniu moliwoci przetwarzania rwnolegego ju na poziomie instrukcji, przeamuje ono tradycyjnie obecne w architekturach RISC i CISC bariery dla programw
wykonywanych sekwencyjnie. W tego typu rozwizaniu system moe wykonywa tyle
instrukcji, ile wynika z moliwoci oblicze rwnolegych, jeli tylko owe instrukcje
s odpowiednio powizane.
EPIC oznacza cakowicie nowe metody obliczeniowe. Samo przyjcie tej technologii
nie wystarczy, aby uzyska efektywny wzrost wydajnoci. By osign taki efekt, naley
od nowa napisa cay system operacyjny. W fazie opracowania znajduje si ju specjalna, 64-bitowa wersja systemu Windows 2000. Istniej rwnie wersje Linuksa,
ktre obsuguj przetwarzanie 64-bitowe.
316
317
318
Nastpnie blok obsugi instrukcji musi zdecydowa, jakich danych wymaga przetwarzana instrukcja. Niektre instrukcje same w sobie zawieraj cz lub wszystkie potrzebne im dane. S to tzw. dane bezporednie. Inne instrukcje dziaaj na danych
obecnych w rejestrach procesora, jeszcze inne natomiast na zawartoci komrek pamici gwnej; mog te przesya tam wyniki swoich dziaa. Blok obsugi instrukcji
musi zatem sprawdzi, czy wszystkie dane wymagane przez instrukcje s na swoim
miejscu i czy s gotowe do uycia. W przeciwnym wypadku musi zaaranowa pobranie tych danych do procesora.
Na zakoczenie tego cigu czynnoci blok obsugi okrela, co dana instrukcja nakazuje procesorowi, a nastpnie uaktywnia potrzebne czci procesora, by zadania zostay wykonane. Najprostsze instrukcje odpowiadaj elementarnym zadaniom realizowanym przez poszczeglne bloki procesora. Wspczesne ukady z rodziny x86
maj specjalne obwody przeznaczone do wykonywania pewnych bardziej zoonych
instrukcji w przypadku, gdy s one czciej uywane. Dziki temu takie instrukcje
wykonywane s znacznie szybciej. W rzeczywistoci, wikszo instrukcji rozpoznawanych przez procesor x86 wymaga podjcia wielu dziaa przez rne elementy maszynerii liczcej w procesorze. Dekoder instrukcji wyszukuje te dziaania w wewntrznej bibliotece zwanej magazynem mikrokodu i dostarcza pobrane stamtd mikroinstrukcje
do odpowiednich blokw procesora, gdzie bd one wykonywane.
Rejestry s miejscem
tymczasowego przechowywania danych
Rejestry odgrywaj bardzo wan rol w kadym procesorze. Kady komputer i kady
mikroprocesor, taki jak x86 (bdcy w istocie komputerem), musi dysponowa miejscem na przechowywanie aktualnie przetwarzanych informacji.
Wiele ukadw z rodziny x86 rni si liczb rejestrw i w wielu przypadkach maj
one rne rozmiary. Pierwotne procesory 8086 i 8088 miay po 14 rejestrw przechowujcych dane 16-bitowe. Pentium II ma znacznie wicej rejestrw, z ktrych wikszo to rejestry 64-bitowe, chocia wystpuje rwnie kilka wikszych. W przypadku
najwikszych rejestrw (zwanych buforami translacyjnymi przegldania bocznego,
ang. translation look-aside buffers) jedynie cz przechowywanych w nich bitw jest
dostpna dla programu dziaajcego w procesorze. Reszta ukryta jest przed tym programem, lecz dostpna dla samego procesora, co pomaga mu szybciej wykona okrelone zadanie.
Jednym z powodw stosowania wikszej liczby rejestrw w ostatnich modelach procesorw z rodziny x86 jest to, e ukady te zostay skomplikowane do tego stopnia, i
potrzebne s specjalne rejestry umoliwiajce automatyczne testowanie procesora na
zakoczenie procesu produkcyjnego w fabryce. Producenci musz by pewni, e
ukady opuszczajce zakad dziaaj poprawnie. Innym powodem zwikszenia liczby
rejestrw jest obecno w tych procesorach dodatkowych blokw do zarzdzania
systemem, niezalenie od obecnoci blokw realizujcych podstawowe zadania obliczeniowe. Bloki zarzdzania systemowego realizuj rnego rodzaju operacje specjalne, na przykad wyczenie zasilania przy braku aktywnoci, co ma zaoszczdzi
pobieran energi.
319
Aby maksymalnie uproci wykad, warto zaj si przede wszystkim zestawem rejestrw zdefiniowanych w procesorze 8086. Kolejne rejestry, dodane w kolejnych
ukadach z rodziny x86, s bardzo podobne do pierwotnych, przynajmniej jeli chodzi
o zasad dziaania. Omwimy je oglnie, przy okazji wyjaniania ich przeznaczenia.
Czternacie rejestrw procesora 8086 (a take 8088) podzielono na pi kategorii,
ktre bd prezentowane w nastpnych sekcjach.
320
wskazujcej na to, ile razy wykonana zostaa dana operacja. Jeli osiga ona
okrelon warto docelow, program musi wykona skok do innego miejsca
w kodzie. Konieczne porwnanie i skok w jednej instrukcji jest moliwe
jedynie wtedy, gdy licznik (ang. counter) wykonanych operacji
przechowywany jest w tym wanie rejestrze.
Rejestr DX (a take DH i DL) nazywany jest zazwyczaj rejestrem danych
Rejestr znacznikw
Jeden specjalny rejestr zwany jest rejestrem znacznikw (jego mnemoniczny skrt to
po prostu FLAGS). Jest on miejscem przechowywania szesnastu pojedynczych bitw,
z ktrych kady oznacza jaki stan. Najprostszym przykadem dziaania jednego ze
znacznikw jest sygnalizacja wyniku przeprowadzonego ostatnio porwnania dwch
bajtw (tzn. okrelenie, czy byy one rwne, czy te nie). Inne znaczniki sygnalizuj
znak wyniku ostatniej operacji arytmetycznej (dodatni, ujemny lub zero, a take wskazuj, czy nie nastpio przepenienie rejestru). Jeszcze inne informuj o stanie procesora, na przykad poprzez podanie odpowiedzi na nastpujce pytania: czy procesor
reaguje na zewntrzne sygnay przerwa, czy je ignoruje? Czy procesor dziaa w trybie krokowym? Czy cigi bajtw przetwarzane s w gr, czy w d?
Nowsze procesory z rodziny x86 maj dusze rejestry zarwno dla danych, jak i dla
znacznikw, dlatego mog one wyraa wicej warunkw wanie za pomoc znacznikw.
Wartoci znacznikw decyduj o zachowaniu si procesora podczas wykonywania
tzw. instrukcji warunkowych, ktre bd omwione w tym rozdziale nieco dalej.
Wskanik instrukcji
Kolejny rejestr specjalnego przeznaczenia przechowuje adres komrki w pamici
gwnej, w ktrej mieci si aktualnie wykonywana instrukcja. Nazywa si on, zgodnie ze swoim przeznaczeniem, wskanikiem instrukcji (ang. instruction pointer) i ma
321
mnemoniczny skrt IP. Warto w tym rejestrze niejawnie adresuje komrk pamici,
w ktrej znajduje si wykonywana instrukcja. Aby uzyska rzeczywisty adres, naley
t warto poczy w odpowiedni sposb z wartoci przechowywan w innym rejestrze, zwanym rejestrem segmentu kodu (ang. code segment register). Rejestr segmentu kodu przedstawiony bdzie nieco pniej.
Warto znajdujca si we wskaniku instrukcji zmienia si w dwojaki sposb. Wyrnia si normalny przebieg sterowania oraz rozgazienia.
Instrukcje rozgazie
Powysze stwierdzenia nie obowizuj w okoo 10% przypadkw. Dotyczy to sytuacji, w ktrych bieca instrukcja moe nakaza procesorowi pobranie nastpnej instrukcji z jakiego innego miejsca ni zazwyczaj. Instrukcja taka nazywana jest instrukcj rozgazienia lub instrukcj skoku. Rozrnia si dwa rodzaje takich instrukcji:
bezwarunkowe instrukcje rozgazienia, w ktrych pooenie nastpnej komrki jest
zawsze inne ni podczas zwykego przebiegu sterowania i warunkowe instrukcje rozgazienia, w ktrych podejmuje si decyzj o skoku do innej lokalizacji albo normalnym przejciu do kolejnej. Dziaanie instrukcji warunkowych okrelane jest na podstawie wartoci pewnych bitw w rejestrze znacznikw.
Innym sposobem zmiany przebiegu sterowania jest wykonanie instrukcji wywoujcej
podprogram. Umoliwia ono faktyczne przerwanie, na krtki czas, wykonywania programu i przywoanie, zamiast niego, innego programu (mwic dokadniej, chodzi
o niewielkie programy wbudowane w innych miejscach programu gwnego). Gdy
taki miniprogram zakoczy swoje zadanie, wykona instrukcj powrotu. Spowoduje
ona, e procesor podejmie wykonywanie przerwanego, pierwotnego programu i zacznie swe dziaanie od instrukcji umieszczonej bezporednio za instrukcj wywoania
podprogramu.
Taka strategia wywoywania podprogramw pozwala programistom zaoszczdzi ich
wysiki. Mog oni napisa raz jaki podprogram i wykorzystywa go z wielu rnych
miejsc w wikszym programie, bez koniecznoci wstawiania w te miejsca wszystkich
jego instrukcji. W rzeczywistoci, oprcz zmniejszenia pracochonnoci, moliwe jest
rwnie ograniczenie rozmiarw gwnego programu, co w niektrych sytuacjach jest
ogromn zalet.
322
Rejestry indeksowe
Dwa rejestry przeznaczone zostay do obsugi przemieszczania cigw danych w pamici (wielobajtowych sekwencji o dowolnej dugoci). Pierwszy z nich, zwany rdowym rejestrem indeksowym (ang. source index register, w skrcie SI), moe na
przykad przechowywa adres pocztku cigu, ktry ma by przemieszczony. Drugi,
zwany docelowym rejestrem indeksowym (ang. destination index register, w skrcie
DI), zawiera adres, pod ktrym ma zosta umieszczony przesuwany cig danych.
Liczba bajtw, ktre maj by przesunite, przechowywana jest zazwyczaj w rejestrze CX, penicym w takiej sytuacji rol licznika. Oprcz zastosowa zwizanych
z przemieszczaniem cigw danych, rejestry indeksowe mog by rwnie wykorzystywane do wskazywania miejsc w tablicy zawierajcej dane liczbowe, a take do
wykonywania wielu innych operacji.
Rejestry segmentowe
Ostatnia kategoria rejestrw to rejestry segmentowe (ang. segment registers). W procesorze 8086 s cztery takie rejestry. Maj one specjalne przeznaczenie, poniewa
stosowane s wycznie do obliczania adresw. W nastpnym punkcie wyjanione zostanie szczegowo, na czym polegaj niektre sposoby zastosowania wartoci przechowywanych w rejestrach segmentowych. Warto przedstawi teraz nazwy tych rejestrw i rodzaje przechowywanych przez nie adresw.
Pierwszy z nich nazywany jest rejestrem segmentu kodu (ang. code segment register,
w skrcie CS). Przechowuje on warto, ktra po poczeniu z wartoci wskanika
instrukcji okrela adres nastpnej instrukcji przeznaczonej do wykonania.
Nastpny nazywany jest rejestrem segmentu danych (ang. data segment register,
w skrcie DS). Zazwyczaj rejestr DS uywany jest jako wskanik obszaru pamici,
w ktrym przechowywane s wartoci danych. Moe on by poczony na przykad
z liczbami z rejestrw BX, SI lub DI, dziki czemu istnieje moliwo okrelenia poszczeglnego bajta lub sowa danych.
Trzeci rejestr to dodatkowy rejestr segmentu (ang. extra segment register, w skrcie ES).
Zgodnie ze swoj nazw, moe on by dodatkowo wykorzystany przez programist
do dowolnego celu jako rejestr segmentowy, chocia najbardziej naturalnym jego zastosowaniem s operacje na acuchach.
323
Ostatni okrelany jest jako rejestr segmentu stosu (ang. stack segment register,
w skrcie SS). Warto w nim przechowywana czona jest z wartoci w rejestrze
wskanika stosu (SP) i wskazuje sowo danych aktualnie przetwarzanych na stosie.
Wicej informacji na temat stosu mona znale nieco dalej. W niektrych instrukcjach rejestr SS moe take funkcjonowa w poczeniu z rejestrem BP.
Obliczanie adresw
Podczas omawiania wskanika instrukcji (IP) podano, e jego zawarto sama z siebie nie okrela miejsca w pamici, w ktrym przechowywana jest instrukcja.
Procesory z rodziny 8086 przy kadym odwoaniu do pamici (w celu pobrania z niej
danych albo wpisania ich do niej) musz wykona mniej lub bardziej skomplikowan
operacj czenia dwch rejestrw, by okreli miejsce, ktrego to odwoanie dotyczy. Czsto procesor musi uy wartoci nie tylko z dwch rejestrw lub wikszej ich
liczby, lecz posuy si trzema rnymi tablicami danych, aby okreli rzeczywisty
adres komrki w pamici (tak si dzieje w trybie chronionym).
Od abstrakcji do rzeczywistoci
Istnieje kilka powodw takiej komplikacji przy obliczaniu adresw w procesorze x86.
Zapewne najwaniejszym z nich jest to, e procesory z tej rodziny posuguj si kilkoma rodzajami przestrzeni adresowej.
Na poziomie fizycznym (czyli oznaczajcym to, co rzeczywicie dzieje si w komputerze) komrki pamici s adresowane przez napicia na przewodach doprowadzonych do kadego moduu lub ukadu scalonego. Sygnay dostarczane s z odpowiednich
wyprowadze procesora. Poprzez obserwacj napicia na wyprowadzeniach procesora
i oznaczanie jedynkami stanw wysokich, a zerami niskich, otrzymujemy liczb binarn, ktr nazywamy adresem fizycznym.
324
325
326
Jedyna rnica midzy trybem chronionym 286 (ktry nadal obsugiwany jest nawet
przez najnowsze procesory z rodziny x86 w celu zapewnienia wstecznej zgodnoci)
a trybem chronionym 386 (ktry wykorzystywany jest prawie przez cay czas przez
nowoczesne programy) to na og rozmiar liczb przechowywanych w tablicy deskryptorw. Wi si z tym rnice rozmiaru obszarw pamici opisywanych przez
te deskryptory oraz rna liczba atrybutw dostpu do tych obszarw.
327
328
Oprcz tego, kady segment pamici (tutaj jest to obszar okrelony przez zawarto
rnych wierszy w jakiej tablicy deskryptorw) ma pewne atrybuty dostpu. Tylko
te programy, ktre dysponuj odpowiednim poziomem ochrony, maj prawo do
zmiany atrybutw, co powoduje, e mog by wykonane tylko te operacje, na ktre
pozwalaj poszczeglne atrybuty dostpu.
Przestrzeganie wszystkich opisanych tutaj regu wymuszane jest przez procesor. Dlatego wanie jest o tym mowa w rozdziale powiconym wewntrznej architekturze
procesora, a w szczeglnoci przy okazji omawiania sposobw obliczania adresw.
Ukady obliczajce adresy wewntrz procesora zapewniaj rwnie, e instrukcje wykonywane s bez naruszania adnej z wymienionych regu.
Naruszenie ktrej z nich okrelane jest jako wyjtek. Wyjtki klasyfikowane s jako
bdy, puapki i przerwania zada. Gdy wystpi jaki wyjtek, procesor przerywa zadanie wykonywane przez program, wycza si i zajmuje si innym dziaaniem. Odbywa si to bardzo podobnie do reakcji na przerwania zewntrzne lub programowe,
ktrych mechanizmy omwione bd w tym samym rozdziale nieco dalej.
Najbardziej niesawnym wyjtkiem jest tzw. Oglny bd ochrony typu 13 (ang. General Protection Fault). Powoduje on wywietlenie na ekranie komunikatu o bdzie
i prowadzi do zamknicia programu, ktry spowodowa tak sytuacj. Mona sdzi,
e system Windows bardzo czsto si zawiesza. Tak jest naprawd, lecz nie zdarza si
to tak czsto, jak mogoby si zdarza przy braku wbudowanego w kady procesor
x86 systemu wymuszania ochrony.
Jednostka arytmetyczno-logiczna
Na tym poziomie wygodnie jest przedstawi inny zesp logicznych czci procesora,
do ktrych zaliczamy jednostk arytmetyczno-logiczn (ang. Arithmetic-Logic Unit,
w skrcie ALU) i kilka innych elementw majcych podobne zadania. ALU dodaje,
odejmuje, mnoy i dzieli liczby cakowite. Moe ona take porwnywa dwie liczby,
aby okreli, czy s one rwne, a jeli nie s wskaza, ktra z nich jest wiksza.
329
SMP
Skrt ten oznacza symetryczne przetwarzanie wieloprocesorowe (ang. Symmetric
Multiprocessing). Jest to specjalny rodzaj architektury komputera o duej wydajnoci,
w ktrej poszczeglne procesory s rwnoczenie udostpniane rnym zadaniom.
Symetryczno oznacza, e dane zadanie moe by przydzielone dowolnemu procesorowi, ktry nie jest akurat zajty. Oprcz tego, w konstrukcji takiej mwi si rwnie o skalowalnoci, czyli o moliwoci instalowania dodatkowych procesorw, jeli
budowa pyty gwnej na to pozwala.
Aby komputer zbudowany zgodnie z architektur SMP mg dziaa, musz by spenione rne wymagania. Po pierwsze, zestaw pomocniczych ukadw scalonych (tzw.
chipset) na pycie gwnej musi obsugiwa wiele procesorw. Nie wszystkie zestawy
to potrafi. Po drugie, rwnie procesor musi by przystosowany do pracy w systemie
SMP. Ukady takie jak: Celeron, Duron i kilka odmian procesora Athlon nie umoliwiaj pracy w takiej konfiguracji. Po trzecie, system operacyjny musi wykrywa
i wykorzystywa dodatkowe procesory. Nie mona uruchomi oddzielnie kilku systemw operacyjnych na oddzielnych procesorach, poniewa musi je obsugiwa jeden
system. Ponadto, teoretyczny wzrost wydajnoci spowodowany zastosowaniem wielu
procesorw okazuje si w praktyce nieco mniejszy, poniewa procesory wspuytkuj pami i zasoby dyskowe.
Unix, Linux, Windows NT i Windows 2000 oraz Windows XP obsuguj systemy
wieloprocesorowe, natomiast Windows 9x i Windows ME nie mog by wykorzystywane w tego typu konfiguracjach.
Na rysunku 15.7 pokazano fragment wieloprocesorowej pyty gwnej z dwoma gniazdami procesorw.
Rysunek 15.7.
Ta pyta gwna jest
jedn z tych, ktre
umoliwiaj uycie
wielu procesorw
330
Operacje zmiennoprzecinkowe
Poczwszy od procesora 486DX, w kadym ukadzie z rodziny x86 znajduj si oddzielne ukady do przetwarzania liczb zmiennoprzecinkowych. Jedn grup stanowi
zestaw rejestrw o dugoci 80 bitw przeznaczonych specjalnie do przechowywania
liczb zmiennoprzecinkowych. Druga grupa obejmuje zestaw bramek logicznych (oraz
specjalnych instrukcji mikrokodu, ktre uaktywniaj te bramki), poczonych w taki
sposb, by rzeczywicie wykonyway operacje na liczbach zmiennoprzecinkowych.
Instrukcje zmiennoprzecinkowe dodane zostay do zestawu instrukcji procesora wczeniej, jeszcze zanim wykonujce je ukady pojawiy si wewntrz procesora. Pocztkowo procesor przechwytywa te instrukcje i wywoywa specjalny program emulacyjny
do ich wykonania. Pniej procesor mg przechwytywa instrukcje zmiennoprzecinkowe i przekazywa je do oddzielnego ukadu, zwanego koprocesorem numerycznym.
Obecnie procesor ma ju wystarczajc wydajno, by takie instrukcje mg przetwarza sam.
331
Takie dziaanie moe si okaza cakiem przydatne i bardzo wydajne. W wielu programach multimedialnych oraz w niektrych rodzajach aplikacji biurowych wymagane jest wanie powtarzanie tej samej operacji na wielu zwizanych pozycjach danych. Przy uyciu MMX wykonanie takiego zadania mona znaczco przyspieszy.
Jako przykady mona poda cyfrowe przetwarzanie sygnau (stosowane w programach do obsugi tzw. winmodemw) oraz niektre operacje w grafice dwuwymiarowej (na przykad tzw. odwzorowania tekstur).
Jedn z wad tej metody jest to, e nie mona jednoczenie korzysta z rejestrw
zmiennoprzecinkowych w obliczeniach i w operacjach MMX. Zazwyczaj, w wikszoci wspczesnych procesorw x86, jednostki obliczeniowe staoprzecinkowa
i zmiennoprzecinkowa dziaaj rwnolegle, co przyspiesza wykonywanie zwykych programw.
Firma AMD opracowaa wasn wersj rozszerzenia zestawu instrukcji i nazwaa j
3DNow!. Rozszerzono tu zestaw x86 dziki dodaniu kilku instrukcji SIMD, wykonujcych podobne operacje na rejestrach zmiennoprzecinkowych, co w zestawie MMX.
Oprcz tego, dodano instrukcje dla operacji staoprzecinkowych i zmiennoprzecinkowych oraz wprowadzono kilka zmian w rejestrach, dziki czemu uzyskano wikszy
stopie rwnolegoci oblicze. Poszczeglne instrukcje z zestawu 3DNow! miay na
celu zgodnie z nazw zestawu przyspieszenie operacji przy wywietlaniu grafiki trjwymiarowej, a take przyspieszenie oblicze wymaganych w trakcie przetwarzania dwiku i wywietlania filmw.
Ostatnio wszystkie procesory produkowane przez AMD, Cyrix (oddzia firmy National Semiconductor) i Centaur (oddzia firmy IDT) obsuguj rozszerzenia 3DNow!
oraz MMX.
Intel musia zareagowa na wdroenie koncepcji 3DNow!. W odpowiedzi zdecydowa si na dalsze rozszerzanie zestawu MMX w przyszych konstrukcjach procesorw, a nie na przyjcie rozwiza zastosowanych w 3DNow!. Zmodernizowane rozszerzenie nazwano pocztkowo MMX2, lecz obecnie mwi si o nowych instrukcjach
Pentium III, a skrtowo nazywa si je KNI (skrt powsta od kodowej nazwy procesora, w ktrym zastosowane zostao po raz pierwszy, po dodaniu odpowiednich rozszerze ukadowych Katmai New Instruction).
KNI oznacza zatem ulepszenia konstrukcji procesora w trzech kierunkach: nowe instrukcje, nowe rejestry i nowe sposoby sterowania dostpem do pamici.
Nowe instrukcje SIMD s zarwno zmiennoprzecinkowe, jak i staoprzecinkowe.
Wykorzystuj one nowe, specjalne rejestry o dugoci wikszej ni miay poprzednio
rejestry zmiennoprzecinkowe. Instrukcje te umoliwiaj prac ze 128 bitami na raz (co
oznacza osiem liczb dwubajtowych lub cztery liczby zmiennoprzecinkowe o zwykej
dokadnoci). Oprcz tego, uwzgldniono w nowych instrukcjach sugestie przekazywane przez programistw, takie jak moliwo uredniania z zaokrglaniem w d
(wykorzystywana w kodowaniu sygnau wizyjnego przy pokazywaniu ruchu) oraz
pewne elementy zwizane z rozpoznawaniem mowy.
332
Dziaanie wszystkich starszych procesorw x86 polegao na sekwencyjnym pobieraniu instrukcji, uruchamianiu ich i zapamitywaniu wynikw. Nie byo moliwe rozpoczcie pobierania nowej instrukcji przed zachowaniem wyniku dziaania instrukcji
poprzedniej.
Nowa architektura strumieniowej obsugi pamici okrela metod przetwarzania
zastosowan przez firm Intel w procesorach Pentium III. Polega ona na umoliwieniu programicie pobierania kilku instrukcji z wyprzedzeniem przed ich wykonaniem,
na ich wykonaniu i zachowaniu wynikw tak szybko, jak bdzie to moliwe. Proces
ten przebiega bez zaburzania wykonywania dodatkowych instrukcji. Dziki temu procesor nie musi oczekiwa na pobranie danych lub instrukcji z pamici ani na zapis do
pamici, co powoduje, e jego wydajno wzrasta.
Zalety te mona wykorzysta tylko w specjalnie napisanych programach, ktre
uwzgldniaj dodatkowe instrukcje. To samo odnosio si kiedy do korzystania ze
sprztowych udogodnie w obliczeniach zmiennoprzecinkowych, gdy byy one jeszcze nowoci. Jedynie te programy, w ktrych dokonano stosownych zmian, mogy
korzysta z rozszerze procesora i dziki temu mogy dziaa szybciej. Nie wszystkie
programy mona byo jednak tak zmodyfikowa.
Z biegiem czasu wiele programw zaczo korzysta z jednostki zmiennoprzecinkowej. Jeli uruchamia si je na komputerze z procesorem 486SX lub 386, ktre nie
maj wbudowanej jednostki zmiennoprzecinkowej, okazuje si to bardzo mczce!
Programy w takim przypadku musz wywoywa program emulujcy, by skompensowa w ten sposb brak specjalnych ukadw w procesorze, za dziaanie takiego
emulatora jest znacznie wolniejsze ni dziaanie specjalnego ukadu.
Chocia rozszerzenie MMX pojawio si ju kilka lat temu, nadal nie jest ono powszechnie wykorzystywane w znajdujcych si na rynku programach, nie liczc gier.
Instrukcje 3DNow! s lepiej obsugiwane, przynajmniej jeli chodzi o system Windows, poniewa firma Microsoft wczya je do najnowszych wersji programu sterujcego DirectX. Dowolny program wykorzystujcy do aktywacji sprztu API DirectX
bdzie korzysta z ich zalet pod warunkiem, e uruchamiany jest na procesorze wyposaonym w rozszerzenie 3DNow!.
Prawdopodobnie Microsoft zapewni obsug rozszerzenia KNI rwnie w przyszych
wydaniach swoich programw sterujcych i w innych programach systemowych. Jeli
tak si stanie i jeli strumieniowa architektura potwierdzi zalety oferty Intela, Pentium
III moe jeszcze raz znacznie przewyszy konkurencyjne produkty.
333
Pami podrczna (dla adresw) uywana bya jeszcze wczeniej, w postaci bufora
transakcji (TLB) w procesorze 386 i w tej formie zachowaa si rwnie we wszystkich procesorach z rodziny 386. Jednak taki rodzaj pamici podrcznej jest przewanie
ukryty i niedostpny dla buforowania danych i instrukcji, zatem nie bdzie tutaj
omawiany.
Do szerokiego zastosowania pamici podrcznej przyczyni si fakt, e wspczesne
procesory s bardzo szybkie i z atwoci przewyszaj szybko dziaania pamici
gwnej. Po wbudowaniu do procesora pamici o niewielkiej pojemnoci, dorwnujcej szybkoci samemu procesorowi, mona j wykorzysta jako bufor do chwilowego przechowywania danych i instrukcji pobieranych z pamici gwnej oraz wysyanych do tej pamici. Ze wzgldu na szybko, jak oferuje pami podrczna, jest ona
wyjtkowo droga i stosuje si j tylko jako dodatek do pamici gwnej.
Jest to tzw. pami podrczna pierwszego poziomu (ang. level 1 cache), ktra przyspiesza dziaanie procesora w dwojaki sposb. Po pierwsze, buforuje ona dane przesyane przez procesor do pamici gwnej i dane pobierane z tej pamici.
Gdy informacja ma by zapisana do pamici gwnej, wtedy pami podrczna przyjmuje j od procesora, ktry natychmiast moe zaj si innymi operacjami. Ukad sterujcy pamici podrczn odpowiedzialny jest za przekazanie przechowywanej informacji na waciwe miejsce w pamici gwnej.
Drug przyczyn przyspieszenia dziaania stanowi buforowanie przez procesor wielokrotnych odczytw informacji z okrelonego miejsca w pamici gwnej. Podczas
pierwszego odczytu nie ma przyspieszenia. Podczas drugiego odczytu (i kolejnych)
procesor da dostpu do tej samej komrki o tej samej zawartoci. Jeli dana warto
znajduje si ju w pamici podrcznej, jej ukad sterujcy dostarcza dane prawie natychmiast.
Podstawowe ograniczenie efektywnoci pamici podrcznej wynika z faktu, e w porwnaniu z rozmiarem pamici gwnej jej pojemno jest bardzo niewielka, zatem
tylko nieliczna cz zawartoci ostatnio obsugiwanych komrek pamici gwnej
moe by przechowywana w pamici podrcznej.
334
Architektura ukadw
towarzyszcych procesorowi
Po lekturze dotychczasowego materiau Czytelnicy powinni dobrze rozumie dziaanie elementw funkcjonalnych procesora. Zanim zakoczymy opis architektury komputera PC, powinnimy jeszcze pozna dziaanie oraz rozmieszenie zewntrznych
ukadw towarzyszcych procesorowi. Najwaniejsza jest tu pami gwna, a nastpnie porty obsugujce wejcia i wyjcia. Wszystkie pozostae ukady komunikuj
si z procesorem wanie za pomoc tych dwch struktur.
335
Pami
Pami gwna i procesor s w komputerze obszarami, w ktrych wykonywane s
wszystkie obliczenia. Wynika to std, e dane i programy musz by umieszczone
w jakim obszarze pamici gwnej, zanim procesor co z nimi zrobi. Niektre programy i bardzo mae porcje danych mog tam przebywa stale. Przewanie s one
jednak wyrzucane z tego obszaru, kiedy nie s ju potrzebne, i wwczas s albo niszczone (programy), albo zachowywane na trwaym noniku (dane). Po takiej operacji
zajmowane przez nie obszary pamici s dostpne dla nowych programw i danych.
Pami gwna w komputerze PC jest mieszank pamici RAM, ROM i miejsc, ktre
mona zapeni. Znaczy to, e procesor moe adresowa fizyczn przestrze adresow
o ustalonym rozmiarze. W niektrych obszarach tej przestrzeni umieszczone s ukady
pamici o swobodnym dostpie do zapisu i odczytu (RAM). W innych miejscach
znajduj si ukady pamici tylko do odczytu (ROM) lub przewanie tylko do odczytu
(pami nieulotna, tzw. NVRAM). Zazwyczaj w wikszej czci przestrzeni adresowej nie znajduje si nic.
Nie zawsze tak byo. W czasach, gdy komputery PC byy jeszcze czym nowym, pamici byy znacznie drosze w przeliczeniu za jeden bajt ni s obecnie. wczesne
komputery nie potrafiy jednak adresowa wicej ni 1 MB. Wielu wacicieli owych
komputerw PC miao przestrze adresow wypenion prawie cakowicie ukadami
pamici RAM lub ROM.
336
337
338
W kadym przypadku, niezalenie od tego, czy uywa si wielu procesorw, czy korzysta si z DMA (lub innych urzdze do zarzdzania magistral, takich jak na
przykad szybkie sterowniki SCSI), moliwa jest niekiedy zmiana zawartoci pamici
gwnej nie tylko przez sam sterownik pamici podrcznej procesora (lub sterownik
pamici L2 i L3, jeli takie wystpuj). Jeli zdarzy si taka sytuacja, sterownik pamici podrcznej podczony do pamici gwnej musi by o tym fakcie poinformowany i musi uniewani przynajmniej obraz tej pamici ulokowany w pamici podrcznej, zanim nie zastpi jej now, zaktualizowan zawartoci.
Jedynym sposobem uzyskania spjnoci pamici podrcznej jest podczenie jej sterownika do pamici gwnej i ledzenie wszystkich prb dostpu podejmowanych
przez inne urzdzenia. Sterownik pamici podrcznej musi sprawdza, czy kady adres udostpnianej komrki pamici pokrywa si z adresem komrki aktualnie przechowywanej w zarzdzanej przez niego pamici podrcznej. Kady sterownik pamici podrcznej ma zatem wbudowan moliwo swoistego podsuchu magistrali (ang.
bus snooping), by sprawdza, jakie urzdzenie moe dokonywa wpisw do pamici.
Pojawia si rwnie inny, nieco bardziej subtelny problem zwizany ze spjnoci
pamici podrcznej. Jeli procesor prbuje zapisa co do pamici pod adresem, pod
ktrym umieszczony jest ukad ROM lub nie ma w ogle nic, taka prba si nie powiedzie. Jeli sterownik pamici podrcznej nie bdzie poinformowany o tym fakcie,
moe przetrzymywa informacj przekazan przez procesor w taki sam sposb, jakby
bya to informacja obowizujca, ktra powinna znale si pod podanym adresem
w pamici gwnej. Dopki ta informacja pozostaje w pamici podrcznej, procesor
moe j pobra w dowolnym momencie. Jednak jeli bdzie zwleka tak dugo, a zostanie ona zmieniona, pobierze warto rzeczywist (jeli taka istnieje) przechowywan pod danym adresem.
Jedynym sposobem uniknicia problemw tego typu jest przekazywanie do sterownika pamici podrcznej informacji o tym, ktre obszary fizycznej przestrzeni adresowej mog by buforowane (czyli w ktrych znajduje si rzeczywicie pami RAM),
a ktre nie (czyli te, ktre nie s obsadzone lub zawieraj pami ROM). Prawie zawsze korzystne jest buforowanie odczytu z pamici ROM, ale nigdy nie naley pozwala na buforowanie zapisu do takich obszarw.
Nowoczesne programy do konfiguracji BIOS-u zawieraj czsto procedury, za pomoc
ktrych mona poinformowa sterownik pamici podrcznej o obszarach wymagajcych buforowania. Jeli do programu zostan wprowadzone poprawne dane konfiguracyjne, problemy nie wystpi. Pomyka w danych moe jednak skutkowa dziwnymi niespodziankami objawiajcymi si podczas pracy komputera.
Stosy
Wspomniano wczeniej, e procesor musi dysponowa jakim miejscem do chwilowego przechowywania przetwarzanej informacji. Do tego wanie su rejestry. Niekiedy ich liczba jest jednak zbyt maa, by przechowa ca potrzebn informacj
i trzeba j wwczas zgromadzi w innym miejscu.
339
Kopot ten wystpuje szczeglnie w systemach wielozadaniowych. Symulacja jednoczesnego wykonywania kilku zada polega na wykonaniu niewielkiej czci jednego
zadania, przeczeniu si do drugiego, wykonaniu jego niewielkiej czci, przeczeniu si do trzeciego itd.
Przy kadym przeczaniu zada procesor musi zachowa zawarte w rejestrach wartoci, uzyskane w poprzednim zadaniu i dopiero wwczas moe zaj si wykonywaniem kolejnego zadania. Do tego celu su stosy. Nie jest to ich jedyne przeznaczenie,
chocia w wikszoci s one tak wanie wykorzystywane.
Koncepcja stosu jest prosta i mona wyjani jej dziaanie na przykadzie stosu talerzy.
Kiedy chcemy odoy umyty przed chwil talerz, ukadamy go na stosie w szafce.
Kiedy chcemy wyj jakie talerze, bierzemy je kolejno z wierzchoka stosu. Talerz
pooony na stosie jako ostatni bdzie z niego zdjty jako pierwszy.
Rol stosu w komputerze peni po prostu obszar pamici skojarzony z rejestrem przechowujcym wskanik adresowy. Jeli jaka porcja informacji ma by przesana na
stos w wyniku wykonania instrukcji , jest ona wpisywana pod adres wyznaczony
przez wskanik adresowy, po czym nastpuje zmniejszenie o jeden wartoci tego wskanika, ktry od tego momentu bdzie pokazywa nastpn komrk pamici o niszym
adresie. Przy pobieraniu informacji ze stosu za pomoc instrukcji odbywa si proces
odwrotny: informacja jest odczytywana z komrki okrelonej przez zawarto rejestru,
a po odczycie zawarto rejestru wskanikowego powikszana jest o jeden.
Maksymalny rozmiar stosu ustalany jest na podstawie rozmiaru liczb, ktre mog by
przechowywane w rozwaanym rejestrze oraz na podstawie pocztkowej wartoci
wskanika stosu (w normalnych warunkach jest ona taka sama, jak rozmiar segmentu przydzielonego na potrzeby stosu). Na og to drugie ograniczenie jest wice, chocia mona take utworzy bardzo duy stos korzystajcy z caej niemal pojemnoci rejestru.
Gdy program prbuje przesa na stos wicej informacji ni mona obsuy ze wzgldu
na ograniczenia rozmiaru stosu, wtedy wskanik stosu staje si ujemny. Procesor rejestruje ten fakt i zanim dojdzie do operacji na stosie, wygenerowany zostanie wyjtek.
W komputerze PC zawsze musi istnie stos gotowy do uytku. Procesor przechowuje
wskanik biecego pooenia w stosie w rejestrze zwanym rejestrem wskanika stosu
(SP). Jest to warto offsetu w segmencie wskazywanym lub definiowanym przez zawarto rejestru segmentu stosu (SS).
W kadym poprawnie napisanym programie jedn z pocztkowych operacji jest
utworzenie prywatnego stosu. Wynika to std, e programici nie mog przewidzie,
ile dostpnego miejsca znajduje si na stosach utworzonych wczeniej. Operacja tworzenia prywatnego stosu przez program polega na zarezerwowaniu pewnego obszaru
pamici, nastpnie przesaniu biecej wartoci wskanika stosu na stos utworzony
wczeniej, a potem zaadowaniu do rejestrw SS i SP nowych wartoci wskazujcych
na zarezerwowany obszar pamici. Koczc t operacj, program pobiera stare wartoci ze stosu i procesor odzyskuje swj poprzedni stan. Konieczne jest rwnie przesanie na stos zawartoci wszystkich rejestrw, ktre bd modyfikowane przez program i pobranie ich ze stosu na zakoczenie programu.
340
W komputerze PC mona zdefiniowa dowoln liczb stosw w dowolnym momencie, ale tylko jeden z nich bdzie stosem biecym. Jest nim stos okrelany za pomoc
adresu logicznego (jest to zapis specjalny, ktry naley odczytywa jako oddzielone dwukropkiem liczby szesnastkowe, przechowywane w dwch rejestrach
o nazwach podanych w nawiasie kwadratowym).
Przy okazji naley wspomnie, e w ostatnio produkowanych procesorach x86 istnieje jeszcze inny stos. Jest on przeznaczony do obsugi omiu 80-bitowych rejestrw
procesora, ktre wykorzystywane s do oblicze zmiennoprzecinkowych, a take do
wykonywania instrukcji MMX w procesorach Pentium MMX i Pentium II. Z tego
specjalnego stosu w zwyczajnych okolicznociach korzystaj tylko instrukcje MMX
(i 3DNow! w klonach x86) oraz instrukcje zmiennoprzecinkowe. Nie naley go myli
z normalnym stosem, tworzonym i obsugiwanym przez instrukcje i
poza
obszarem pamici gwnej w programach.
Stos odgrywa wan rol w programowaniu, poniewa umoliwia tworzenie bardziej
skomplikowanych struktur ni w przypadku korzystania z samych rejestrw procesora,
sucych do tymczasowego przechowywania informacji. Bez stosu nie byaby moliwa wielozadaniowo.
Porty
Gdy procesor tworzy adres fizyczny na swoich wyprowadzeniach adresowych, odwouje si do okrelonego miejsca w przestrzeni adresw pamici. Prosta zmiana stanu
napicia z wysokiego na niski na jednym z wyprowadze (nazywanym wyprowadzeniem uaktywniajcym pami lub porty I/O) sygnalizuje, e adres na wyprowadzeniach
procesora moe by interpretowany jako warto z innej przestrzeni adresowej.
Poniewa te inne adresy przewanie uywane s podczas przekazywania informacji
midzy procesorem i innymi urzdzeniami, w tym take urzdzeniami zewntrznymi,
okrelana przez nie logiczna przestrze adresowa nazywana jest przestrzeni portw
wejcia-wyjcia komputera. Niezalenie od tego, e adresy w nowej przestrzeni okrelane s przez napicia na tych samych wyprowadzeniach, ktre okrelaj take
zwyczajne adresy, przestrze portw I/O jest czym zupenie innym ni fizyczna
przestrze adresowa.
Przede wszystkim jest ona znacznie mniejsza. Kady procesor z rodziny x86, poczwszy od 8086 i 8088 a do najnowszych modeli Pentium II, ma tak sam przestrze I/O o rozmiarze 64 kB (65536). Wynika to std, e do jej obsugi procesory
wykorzystuj tylko 16 dolnych linii adresowych.
Oprcz tego, z adresami w przestrzeni portw I/O nie wie si adna komplikacja
w postaci selektorw lub stronicowania. Dysponujemy tylko 64 kB adresw portw
(jednobajtowych), dlatego te do okrelenia danego portu potrzebna jest tylko jedna
liczba 16bitowa, ktr mona zaadowa do dowolnego rejestru oglnego przeznaczenia (chocia niektre instrukcje wymagaj, by adres portu zaadowany by do rejestru DX).
341
342
Przepustowo portw
Pierwotnie porty podczane byy do linii danych i linii adresowych procesora tak
samo jak ukady pamici. W miar wzrostu szybkoci dziaania procesorw i pamici,
zaczto rozdziela drogi przepywu danych do pamici i do portw I/O. cz si one
w zestawie ukadw pomocniczych pyty gwnej, lecz poza tym miejscem dziaaj
niezalenie i z rnymi szybkociami.
Nowoczesne i bardzo dobrze wyposaone komputery PC korzystaj na przykad
z magistrali pamici dziaajcej z czstotliwoci 166 MHz (oraz z zegarem wewntrznym procesora o czstotliwoci do 3,06 GHz), lecz magistrala PCI taktowana
jest z czstotliwoci do 66 MHz. Obsugiwana jest rwnie magistrala ISA, taktowana
jak za dawnych czasw z czstotliwoci 8,33 MHz. Te ograniczenia przepustowoci stosowane s po to, by nawet w najnowszych komputerach zapewni moliwo korzystania ze starszych kart rozszerzajcych.
343
Powszechnie stosowanym rozwizaniem przynajmniej w kwiaciarniach jest instalacja czujnika wyzwalanego przy przejciu klienta przez drzwi. Zazwyczaj takie
urzdzenie skada si ze rda wiata i fotodetektora umieszczonego na przeciwnej
framudze drzwi. Przerwanie wizki wiata przez wchodzcego (lub wychodzcego)
klienta powoduje uruchomienie dzwonka na zapleczu, a tym samym waciciel zostaje powiadomiony, e trzeba kogo obsuy. Pocztkowy koszt tego rozwizania
jest wikszy ni koszt nasuchu, bowiem wie si z zakupem oraz instalacj czujnika
i dzwonka. Na dusz met taka inwestycja jest jednak opacalna, poniewa waciciel moe dziki niej pracowa bardziej wydajnie.
Po raz pierwszy firma Intel zastosowaa podobne rozwizanie w procesorze 8086,
a potem we wszystkich ukadach z rodziny x86. Szczegy stosowania tej strategii s
bardzo interesujce.
344
Przerwania sprztowe
Pierwszy rodzaj przerwa, zwanych przerwaniami sprztowymi, wykorzystywany jest
jako gwny rodek zwracania uwagi procesora na to, co dzieje si poza nim. Na przykad przy kadym naciniciu klawisza klawiatura przesya do jednostki centralnej pewien sygna. Specjalny ukad zwany sterownikiem klawiatury odbiera ten sygna i nastpnie sygnalizuje procesorowi nacinicie klawisza.
Procesor ma dwa wyprowadzenia, za pomoc ktrych mog by mu sygnalizowane
przerwania sprztowe: normalne wejcie przerwa (z symbolicznym oznaczeniem INTR)
oraz wejcie przerwa niemaskowalnych (wyprowadzenie z oznaczeniem NMI).
W rzeczywistoci w komputerze znacznie wicej zdarze wymaga powiadomienia
procesora i wydaje si to w takiej sytuacji problemem. Na szczcie standardowa architektura komputera osobistego zawiera rozwizanie tego kopotu.
Standardow czci pyty gwnej, otaczajc kady procesor, jest podsystem zwany
sterownikiem przerwa. W pierwotnym komputerze PC/XT mg on przyjmowa sygnay z omiu linii i wysya do procesora sygna przerwania. Nastpnie, po potwierdzeniu odbioru tego sygnau przez procesor, sterownik przerwa powinien poinformowa procesor o tym, z ktrej linii pochodzio przerwanie. W komputerze IBM
PC/AT i wszystkich konstrukcjach pniejszych, liczba wej sterownika przerwa
zostaa powikszona do 15 albo 16. Ta niejednoznaczno (15 albo 16) wynika z faktu,
e jedno z wej przerwa zbiera sygnay z omiu innych, lecz w niektrych sytuacjach moe by wykorzystywane niezalenie.
345
Przerwania programowe
W firmie Intel oceniono, e bardzo dobrze bdzie stworzy takie rozwizanie, ktre
umoliwiaoby programom powodowanie przerwa w czasie swojej pracy. Polega to
na przerwaniu pracy programu gwnego i uruchomieniu innego specjalnego programu obsugujcego zdarzenie zgaszajce sygna przerwania.
Bez trudu mona wykaza zalet takiego mechanizmu. Twrca programu moe na
przykad wiedzie, e w pewnym momencie program musi wysa jak informacj
na ekran. Jednak program (i programista) nie musz potrafi dokadnie okreli, w jaki
sposb ma si to odbywa. Wystarczy wwczas, e gwny program przechwyci odpowiedni rodzaj przerwania przy okrelonych wartociach w niektrych rejestrach,
wskazujcych, co ma by wysane na ekran, a program wywoany przez przerwanie
wykona reszt pracy.
Programista tworzcy program, ktrego zadaniem jest wysyanie czego na ekran, nie
musi zna wszystkich szczegw takich operacji. Z kolei programista tworzcy program, ktry faktycznie realizuje zapis na ekran, nie musi niczego wiedzie o tym, dlaczego i kiedy dana informacja ma pojawia si na ekranie.
346
Wyjtki procesora
Po zrealizowaniu opisanego mechanizmu, specjalici pracujcy w firmie Intel doszli
do wniosku, e byoby dobrze, gdyby procesor mg z niego korzysta do obsugi
wykrywanych przez siebie bdw. Dotyczy to na przykad takich sytuacji, w ktrych
program dajcy dostpu do obszaru pamici, w stosunku do ktrego nie ma odpowiednich uprawnie (czsto nazywa si to oglnym bdem ochrony lub bdem strony),
bdzie wyzwala odpowiednie przerwanie. Wywoany program obsugi takiego przerwania moe nastpnie wywietli na ekranie okno z informacj o bdzie i zakoczy
dziaanie programu gwnego, ktry w bd spowodowa.
347
348
349
Konstruktorzy pierwszego komputera PC zdawali sobie z tego spraw, dlatego zdecydowali o doczeniu dodatkowego mikrosterownika, przeznaczonego wycznie do
obsugi takich problemw. Jest to specjalny ukad mikroprocesorowy, wykonujcy
tylko jedno zadanie, noszcy nazw sterownika bezporedniego dostpu do pamici
(lub po prostu ukadu DMA). Wsppraca tego ukadu z procesorem gwnym polega
na tym, e procesor moe przekaza mu cz swoich zada zwizanych z przenoszeniem pewnej liczby bajtw z kolejnych komrek pamici, poczwszy od okrelonego
adresu do kolejnych komrek zlokalizowanych pod innym adresem pocztkowym.
Istnieje rwnie moliwo polecenia sterownikowi DMA, by wysa okrelon liczb
bajtw z kolejnych komrek pamici na okrelony adres portu.
Procesor moe take nakaza sterownikowi DMA pobranie okrelonej liczby bajtw
ze wskazanego portu i zachowanie ich w kolejnych komrkach pamici, poczwszy
od okrelonego adresu. Przy kadej takiej operacji ukad DMA tworzy tzw. kana
DMA. Oznacza to, e okrelona cz tego ukadu zajmuje si okrelonym zadaniem.
Ukad DMA nie jest jednak w stanie wskaza, ktra jego cz ma si zajmowa poszczeglnym zadaniem. O wyborze kanau decyduje urzdzenie dajce wykonania
takiej operacji (czyli procesor lub jakie urzdzenie wejciowe albo wyjciowe). Oznacza to, e kanay DMA rwnie znajduj si w grupie cennych zasobw i konflikty
w dostpie do nich mog uniemoliwia uzyskanie penej wydajnoci.
Do tej pory w komputerze PC nie spotyka si zbyt wielu urzdze, ktre wymagaj
uycia kanau DMA, zatem problem braku wolnych kanaw jest mniej grony ni
problem braku wolnych przerwa. Taka sytuacje nie musi jednak trwa bez koca,
poniewa w miar wzrostu liczby nowych urzdze peryferyjnych przesyajcych coraz wiksze porcje informacji moe si okaza, e sterownik DMA nie bdzie mg
znale wolnego kanau.
350
Powrt DMA
DMA powrci jednak na scen i okazao si, e stanowi lepsze rozwizanie ni rodki zastosowane w pierwszym komputerze PC. Powodem tego zwrotu s po prostu
nowe technologie stosowane w magistralach obsugujcych wejcia i wyjcia (PCI,
USB i CardBus). Dziki nim przekaz danych do urzdze peryferyjnych i odbir danych z tych urzdze odbywa si prawie tak samo szybko jak przekaz danych na magistrali pamici gwnej. Obecnie po raz drugi DMA jawi si jako moliwo zaoszczdzenia czasu pracy procesora i jego otoczenia.
Take sam system DMA zosta ulepszony i obecnie korzysta moe z dostpnej przepustowoci magistrali w sposb znacznie bardziej wydajny ni kiedy. Najnowsza
wersja tego mechanizmu, zwana Ultra DMA, stosowana jest przy transmisji danych
do urzdze IDE z przepywnoci 33 MB/s (czyli dwukrotnie wiksz ni poprzednio).
Wykorzystano tu moliwo transmisji danych, wyzwalanej obydwoma zboczami
impulsw zegarowych, a nie tylko samym zboczem opadajcym, co byo dotd powszechnie przyjte i nadal jest standardem w przypadku wikszoci magistrali.
Dla uytkownika PC oznacza to powrt kanaw DMA. Ponownie stay si one zalecanym sposobem przenoszenia duych porcji danych midzy urzdzeniami peryferyjnymi i pamici, a coraz wicej urzdze zaczyna korzysta z tego rozwizania.
Dostosowywanie si do zegara
Czstotliwoci zegara w komputerze PC byy wzmiankowane ju kilkakrotnie. Rzeczywicie, od wielu lat jedn z najczciej wymienianych liczb w reklamach komputerw jest warto czstotliwoci zegarowej (czytamy na przykad: Kup nasz wspaniay,
nowy komputer z dwoma procesorami Pentium II Xeon 450 MHz). C tak naprawd oznacza ta czstotliwo? Ktre czci komputera faktycznie taktowane s tak
czstotliwoci? Czy w komputerze s jeszcze jakie inne generatory zegarowe? Jeli
tak, czemu su? Odpowied na te pytania Czytelnik znajdzie w tym podrozdziale.
351
Zegar procesora
Najbardziej znany jest zegar tykajcy wewntrz ukadu scalonego procesora. Decyduje on o szybkoci dziaania najszybszej czci komputera. Szczeglnie obecnie tylko rdze procesora dziaa z tak czstotliwoci i aden inny element komputera nie
jest w stanie zbliy si do tej wartoci. Wyjtkiem jest tu pami podrczna L2
w Pentium Pro lub Pentium II Xeon, umieszczona wewntrz moduu procesora i taktowana tak sam czstotliwoci. W procesorze Pentium II czstotliwo taktowania
pamici L2 jest dwukrotnie mniejsza ni czstotliwo taktowania rdzenia. We wszystkich pozostaych ukadach z rodziny x86 zewntrzna pami podrczna jest taktowana z tak sam czstotliwoci, jak magistrala obsugujca pami gwn.
Magistrala prowadzca z procesora do pamici gwnej zazwyczaj taktowana jest
czstotliwoci kilkakrotnie mniejsz ni rdze procesora. Procesor korzysta ze zwielokrotnionej czstotliwoci taktowania zewntrznej magistrali. Znaczy to, e ukady,
ktre rzeczywicie tworz generator zegarowy, mieszcz si poza procesorem, ktry
synchronizuje swj wasny, niezbyt stabilny generator z ustalon wielokrotnoci
czstotliwoci zewntrznego sygnau zegarowego.
352
Na przykad w komputerze z procesorem Pentium II 400 MHz czstotliwo taktowania pamici gwnej wynosia 100 MHz. Oznaczao to, e wewntrzny zegar procesora
dziaa z czstotliwoci czterokrotnie wiksz ni zegar zewntrzny. Nieco szybsze
maszyny z procesorami 450 MHz korzystay z takiej samej czstotliwoci zewntrznej, lecz wewntrzna czstotliwo taktowania procesora bya w nich uzyskiwana po
pomnoeniu czstotliwoci zewntrznej przez wspczynnik rwny 4,5.
353
Wspczesne komputery maj jednak dodatkowe magistrale I/O, ktre dziaaj znacznie szybciej ni ISA, chocia jeszcze nie tak szybko jak pami gwna. Czstotliwo
taktowania magistrali PCI wynosi zazwyczaj 33 MHz, za w zczu AGP, w najnowszych komputerach jest rwna 266 MHz. Czstotliwoci te uzyskiwane s metod podziau lub zwielokrotniania czstotliwoci sygnau zegarowego pamici gwnej.
Co to jest superskalowanie?
Chepic si tym, e nowy komputer jest szybszy ni starsze modele, ktre naley
wymieni, producenci czsto wskazuj na superskalowaln (ang. super-scalar) wydajno. C jednak naprawd to oznacza? Po prostu, znaczy to, e jeli czstotliwo
zegarowa w nowym komputerze jest taka sama jak w starym, ten nowy bdzie wykonywa programy szybciej. Jeli w nowym komputerze czstotliwo zegarowa jest
dwukrotnie wiksza ni w starym, to wzrost szybkoci wykonywania programw
w porwnaniu ze starym bdzie nie wikszy ni dwa razy. Oznacza to, e wydajno
wzrasta szybciej ni wynika to ze wzrostu czstotliwo zegarowej. Gdyby obowizywaa tu proporcjonalna relacja wydajnoci i czstotliwoci zegarowej, wydajno
mona by regulowa za pomoc tej czstotliwoci. Jeli jest wiksza, mwi si o superskalowaniu.
Moe istnie wiele przyczyn superskalowalnej wydajnoci. Zwykle wynika ona z poczenia kilku ulepsze, takich jak: dodanie wikszej liczby jednostek wykonujcych
instrukcje (staoprzecinkowe i zmiennoprzecinkowe), obsuga nowszych i bardziej
wydajnych instrukcji (na przykad MMX i 3DNow!), korzystanie z duszych potokw
instrukcji czy wreszcie wiksze pojemnoci pamici podrcznej L1 lub L2. Wzrost
wydajnoci moe by rwnie spowodowany spekulatywnym wykonywaniem
przez pewne czci procesora instrukcji, na ktre jeszcze nie nadesza kolej, lecz
przewiduje si ich wykonanie. Takie dziaanie moe by przydatne, jeli okae si, e
wyniki takich instrukcji s potrzebne bd one wwczas dostpne od razu. Wzrost
wydajnoci moe by rwnie spowodowany uyciem wikszej liczby procesorw.
354
355
pocze z ukadami pamici systemowej. Konieczny efekt prbowano osign rnymi metodami. Firma IBM wprowadzia na przykad tzw. MicroChannel. Wielu
producentw klonw stosowao odmienn konstrukcj, o nazwie Extended Industry
Standard Architecture (w skrcie EISA). Utworzono take grup producentw, nazwan Video Equipment Standards Association (w skrcie VESA), ktrej pocztkowym zadaniem bya pomoc w opracowywaniu nowych standardw podsystemw grafiki, lecz przeksztacio si to we wspieranie standardw wielu innych podzespow
uywanych w komputerze PC. Oczywicie, podane tu przykady nie wyczerpuj listy
wszystkich metod, za pomoc ktrych prbowano ulepszy stary, dobry standard magistrali ISA.
Magistrala PCI
Skrt PCI pochodzi od angielskiej nazwy magistrali Peripheral Component Interconnect (czyli poczenie urzdze peryferyjnych). Bya ona promowana gwnie przez
firm Intel jako nowy sposb czenia podzespow, ktry pocztkowo mia podwyszy efektywno dziaania pyty gwnej. Pniej rozszerzono jej zastosowanie rwnie do obsugi pocze z urzdzeniami zewntrznymi.
Wan cech konstrukcyjn magistrali PCI bya moliwo przystosowania jej do
rnych komputerw lub do innego sprztu. Nie ograniczao si to tylko do zastpowania przez ni magistrali ISA ani do dziaania tylko w komputerach zgodnych z PC.
Jak si okae za chwil, PCI nie oznacza tylko pojedynczej konstrukcji. Istnieje kilka
wanych odmian tej magistrali, na przykad CompactPCI, ktrej uywa si w sterownikach przemysowych i przyrzdach pomiarowych. Podstawowa wersja magistrali
PCI jest take stosowana w komputerach wieloprocesorowych (z procesorami x86,
Alpha, PowerPC i innymi). Istniej rwnie cztery warianty magistrali dla komputerw PC, rnice si szerokoci magistrali danych i czstotliwoci taktowania.
Omwimy te warianty, jednak aby uproci te zagadnienia, nie bdziemy szczegowo prezentowa ani standardu CompactPCI, ani zastosowa magistrali PCI w komputerach z procesorami innymi ni x86.
356
357
358
PCI zyskaa wiele zastosowa zaraz po wprowadzeniu na rynek. Wyranie potwierdzia swoj wyszo nad poprzednimi standardami magistrali w komputerze PC. Byo
to tak widoczne, e producenci PC chcieli stosowa j w swoich produktach, a i klienci
byli z niej bardzo zadowoleni. Wiele firm zaczo wstawia karty PCI w nowe zcza.
Przede wszystkim byy to karty grafiki, sterowniki dyskw twardych i karty sieciowe,
poniewa to w ich przypadku najbardziej potrzebne byo zwikszenie szybkoci.
Gdy zwikszono czstotliwo taktowania pyty gwnej do 66 MHz, magistrala PCI
nadal pozostaa przy wartoci 33 MHz. Gdy procesory rozpoczy obsug danych 64bitowych, PCI nadal obsugiwaa tylko 32 bity. Dopiero niedawno standard PCI zosta
rozszerzony i obecnie uwzgldnia zarwno wersj 64-bitow, jak i taktowanie czstotliwoci 66 MHz. Rozszerzenie byo jeszcze cenniejsze, poniewa zapewniao zgodno z wczeniejszymi i przyszymi urzdzeniami. Mona zatem (przy pewnym ograniczeniu wydajnoci) posugiwa si starszymi kartami 32-bitowymi, taktowanymi
czstotliwoci 33 MHz w nowych zczach 64-bitowych z zegarem 66 MHz i odwrotnie. Taka obustronna zgodno jest rzeczywicie bardzo rzadko spotykana w historii rozwoju standardw.
To niezwyke dziaanie uzyskano w bardzo prosty sposb. Do 64-bitowej magistrali
PCI doczono po prostu dodatkowy segment do zcza, podobnie jak w 16-bitowym
rozszerzeniu zcza starej, 8-bitowej magistrali ISA. Obecnie mona zatem wstawi
starsz kart 32-bitow do 64-bitowego zcza PCI, a take now kart 64-bitow do
starszego zcza 32-bitowego. Sztuczka polega na tym, e nowsze karty musz si
same skonfigurowa w taki sposb, by dziaa jako karty 32-bitowe w 32-bitowych
zczach PCI.
Podobnie dziaa zegar 66 MHz ze starszymi kartami PCI, poniewa sterownik danego
segmentu magistrali PCI rozpoznaje obecno wolniejszych kart i w przypadku ich
wykrycia zmniejsza czstotliwo taktowania w tym segmencie. Z drugiej strony,
kada nowsza karta PCI moe dziaa wolniej. Definicja magistrali PCI przewiduje,
e karty lub magistrale mog by taktowane z dowoln czstotliwoci, a do 0 MHz.
Oczywicie, wikszo korzysta z maksymalnej dozwolonej dla danego standardu
czstotliwoci taktowania, bowiem w przeciwnym wypadku nie byoby moliwe osignicie odpowiedniej wydajnoci.
Odstpstwem od tej zasady jest system skonfigurowany w taki sposb, by oszczdza
energi, gdy nie pracuje on z maksymaln wydajnoci. W takich sytuacjach mona
by spowalnia magistral PCI i uzyska tym samym dodatkow oszczdno, lecz
niewiele wspczenie produkowanych komputerw potrafi to zrobi. Maszyny pozwalajce na tak dodatkow oszczdno musiayby posiada specjaln konstrukcj.
Dlatego wanie, mimo i uycie mieszaniny kart PCI o rnych standardach w rnych zczach jest dozwolone, prowadzi do znacznego spadku wydajnoci magistrali.
Mona zatem oczekiwa pojawienia si komputerw PC wyposaonych w segmenty
nowej magistrali PCI o wikszej szybkoci i w segmenty magistrali taktowanej wolniej. Jeli komputer ma now, szersz magistral (prawdopodobnie na odcinku taktowanym szybciej), uytkownicy powinni umieci wszystkie starsze, 32-bitowe karty
w wolniejszych segmentach i zarezerwowa szybsze segmenty, o wikszej szerokoci
tylko dla tych kart, ktre rzeczywicie tego wymagaj.
359
360
361
Rysunek 15.9.
Pokazany tu fragment
rysunku 15.8 obejmuje
zcze PCI (z lewej)
i AGP (z prawej)
w celu ukazania
rnic w budowie
mechanicznej
tych zczy
Szybko komunikacji z podsystemem AGP jest wana, lecz nie jest to jedyny znaczcy czynnik. Rwnie wana jest wydajno przetwarzania systemu. Przy uzyskiwanym obecnie stopniu integracji ukadw scalonych nie jest jeszcze moliwe zamontowanie na niewielkiej karcie PCI lub AGP wszystkich wymaganych podzespow
w celu uzyskania wymaganych parametrw. Duo ukadw umieszczonych na jednej
karcie moe powodowa jej przegrzewanie lub przecienie zcza AGP ponad dopuszczaln warto.
Sposobem rozwizania tego typu problemw sta si nastpny standard, zwany AGP
Pro. Zaproponowano w nim, by karty AGP byy grube (czyli miay wiele podzespow oraz dodatkowo doczane moduy). Karty tego typu zajmuj wicej miejsca
ni pozwala na to standardowy odstp midzy zczami PCI, wynoszcy okoo 2 cm.
Karty AGP Pro mog zajmowa wicej miejsca ni przewiduje si zwykle na dwa,
a nawet trzy zcza (zcze AGP i ssiednie zcza PCI). W kadym przypadku producent moe skorzysta ze zcza AGP i dodatkowo ze zcz PCI. Jeeli posiada si
kart umieszczon w wicej ni jednym zczu, mona uzyska dodatkowy dostp do
zasilania oraz do niektrych linii magistrali PCI, ktre nie wystpuj w magistrali AGP.
Dotychczas powstaa wstpna definicja standardu AGP Pro i pojawio si kilka deklaracji producentw, ktrzy wyrazili ch wytwarzania takich kart. W rzeczywistoci na
rynku nie ma jeszcze kart tego typu i dopiero gdy si pojawi, mona bdzie oceni
wydajno wyposaonych w nie komputerw.
362
W definicji magistrali AGP wystpuje zatem uwaga, e karta grafiki moe mie dostp
tylko do fragmentu pamici gwnej. Ten fragment oglda mona w specjalnym oknie
AGP. Tablica odwzorowa adresw grafiki (ang. Graphic Address Remapping Table,
w skrcie GART) decyduje o tym, do ktrego fragmentu pamici dostp bdzie moliwy.
Tablica GART tworzona jest albo w lokalnej pamici na karcie AGP, albo w pamici
gwnej. Okrela ona obszary pamici gwnej, do ktrych karta AGP moe mie
bezporedni dostp. Zmiana zawartoci tablicy powoduje zmian pooenia tych obszarw. Na karcie AGP znajduj si specjalne ukady, wskazujce pooenie tych obszarw i korzystajce z ich zawartoci poprzez mostek pnocny.
363
Zastosowanie
Przepustowo
Karty dwikowe
Adaptery SCSI
Karty graficzne
Karty sieciowe
Karty z portem gier
Modemy wewntrzne
EISA
Karty sieciowe
33 MB/s
Adaptery SCSI
PCI
Karty graficzne
266 MB/s
Adaptery SCSI
Karty dwikowe
Karty sieciowe
Modemy wewntrzne
AGP 4X, 8X
Karty graficzne
Mostek poudniowy
Na poudniowym kracu magistrali PCI mieci si ukad scalony zwany mostkiem
poudniowym. Zawiera on pozostae podzespoy wchodzce w skad tzw. logiki towarzyszcej pyty gwnej (czyli zestawu ukadw pomocniczych), ktrych nie umieszczono
w mostku pnocnym. Mostek poudniowy zawiera ukady interfejsu odpowiedzialne za
przekazywanie sygnaw midzy magistral PCI a znacznie od niej wolniejsz magistral ISA i innymi interfejsami wystpujcymi w komputerze PC. Wspczesne pyty
gwne maj niewiele zcz ISA, gwnie z tego powodu, e karty produkowane
wczeniej w tym standardzie zostay zmodyfikowane i wsppracuj obecnie z magistral PCI.
Do ukadu mostka poudniowego podczone s stacje dyskietek. Ukad ten obsuguje
zazwyczaj take dwa kanay EIDE (gwny i wtrny), do ktrych mona podcza
po dwa urzdzenia EIDE, chocia mgby obsugiwa cztery takie kanay. W mostku
poudniowym s rwnie oddzielne magistrale do obsugi klawiatury, myszy, standardowego portu rwnolegego (ECP lub EEP) oraz co najmniej jednego portu szeregowego. Oddzielne magistrale przewidziane s do obsugi zcz USB, a take IEEE
1394 (FireWire). Ukad mostka poudniowego ma zawiera rwnie interfejs obsugujcy zcza kart PC bdzie to zapewne 32-bitowy interfejs CardBus z magistral
Zoomed Video, podczon bezporednio do podsystemu grafiki.
Jeli w komputerze jest kilka magistral PCI, do kadej z nich mona podczy oddzielny ukad mostka poudniowego. Nie jest to jednak obowizkowe.
364
Jeli w komputerze PC maj by zcza ISA, bd one podczone do mostka poudniowego. Magistrala ISA jest zatem w tej architekturze dodatkiem do magistrali PCI
i nie jest poczona w jaki bezporedni sposb z procesorem, co byo charakterystyczne w jej pierwotnej wersji.
Interfejsy ISA, IDE oraz CardBus taktowane s czstotliwoci 8,33 MHz (czyli jest
to dokadnie cztery razy mniej ni w standardowej magistrali PCI). Jedynym wyjtkiem jest tu kana EIDE ATA66, w ktrym zastosowano zegar o czstotliwoci 16,7
MHz, lecz dziaa on tylko wtedy, gdy urzdzenia podczone s za pomoc specjalnego kabla zgodnego ze specyfikacj ATA66. Pozostae porty podczone do mostka
poudniowego korzystaj z mniejszych i rnych czstotliwoci taktowania (cze
Zoomed Video midzy kart PC a sterownikiem wizyjnym dziaa z czstotliwoci 33
MHz, niezalenie od czstotliwoci 8,33 MHz stosowanej na odcinku midzy kart
PC a mostkiem poudniowym).
365
gigabitowy Ethernet,
interfejsy Fibre Channel,
interfejsy Ultra3 SCSI,
poczenia klastrw.
366
starsze karty podobnie jak nowe karty PCI-X podcza mona do starszych zczy
PCI. W takich przypadkach wszystkie urzdzenia bd dziaa zgodnie ze starsz definicj magistrali PCI.
Jedn z zalet architektury PCI jest zgodno wstecz. Dotyczy to rwnie PCI-X, poniewa jej wsteczna zgodno ze starszymi urzdzeniami PCI wynika z nastpujcych cech:
Karty PCI-X mog by uywane w konwencjonalnych systemach PCI, jednak
PXI-X i 3GIO
Skrt 3GIO powsta od angielskiej nazwy Third-Generation I/O (czyli wejciawyjcia trzeciej generacji). Grupa PCI-SIG podpisaa z grup robocz Arachoe porozumienie postulujce utrzymywanie i rozpowszechnianie specyfikacji architektury 3GIO.
Grupa robocza Arachoe ma status niezalenego zrzeszenia producentw, w skad ktrego wchodz firmy: Compaq, Dell, IBM, Intel i Microsoft. Zajmuje si ona tworzeniem propozycji standardw dla grupy PCI-SIG.
3GIO oznacza szeregowe poczenie I/O, w ktrym zmniejszono liczb stykw w interfejsie. Jego cele s nastpujce:
wzrost efektywnoci finansowej,
maksymalizacja przepustowoci pojedynczej linii interfejsu,
zapewnienie wysokiej skalowalnoci,
zabezpieczenie inwestycji poczynionych przez klienta,
uatwienie przenikania si technologii.
367
Odpowied brzmi: nie. Standard PCI-X jest zoptymalizowany pod ktem aplikacji
wymagajcych bardzo duej przepustowoci, ktre dziaaj na serwerach lub na stacjach
roboczych. Z drugiej strony, 3GIO ma charakter oglny i ma prowadzi do optymalizacji wydajnoci szeregowej magistrali I/O w aplikacjach o mniejszym znaczeniu.
Obydwa standardy s po prostu przeznaczone dla innych segmentw rynku.
W standardzie 3GIO zastosowano model warstwowy w celu zapewnienia rnych
pocze w operacjach wejciowo-wyjciowych przy duej szybkoci transmisji.
Skada si on z piciu warstw. S to:
Warstwa konfiguracyjna, obejmujca model plug-and-play przeniesiony z PCI.
Warstwa oprogramowania, obejmujca model programu sterujcego PCI.
Warstwa transakcyjna, korzystajca z protokou pakietowego.
Warstwa cza danych, zapewniajca integralno danych.
Warstwa fizyczna, ktra stanowi podstaw czy 3GIO, zawierajcych
368
Podsumowanie
W tym rozdziale bardziej szczegowo zaprezentowano pyt gwn, ktra stanowi
rdze kadego komputera PC. W nastpnych rozdziaach omwione zostan m.in.
proces rozruchu, podczas ktrego komputer si oywia oraz pami, dziki ktrej
dziaanie takie jest moliwe.