wstƒp do budowy komputerów - kolos wikikolos.math.uni.lodz.pl/~archive/architektura...

86
Wstęp do budowy komputerów Opracowanie: Piotr Fulmański 2002-01-10

Upload: lyminh

Post on 28-Feb-2019

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

Wstęp do budowy komputerów

Opracowanie: Piotr Fulmański

2002-01-10

Page 2: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

Spis treści

Przedmowa i

1 Wstęp 1

2 Procesor 32.1 Budowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Rejestry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2.1 Rejestry widzialne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2.2 Rejestry sterowania i stanu . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3 Układ sterowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4 Przerwania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.5 Rozkazy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.5.1 Reprezentacja rozkazu . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.5.2 Rodzaje rozkazów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.5.3 Liczba adresów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.5.4 Rodzaje argumentów . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.5.5 Rozkazy o zmiennej długości . . . . . . . . . . . . . . . . . . . . . . . 16

2.6 Adresowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.6.1 Adresowanie natychmiastowe . . . . . . . . . . . . . . . . . . . . . . . 172.6.2 Adresowanie bezpośrednie . . . . . . . . . . . . . . . . . . . . . . . . . 172.6.3 Adresowanie pośrednie . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.6.4 Adresowanie z przesunięciem . . . . . . . . . . . . . . . . . . . . . . . 18

2.7 Potokowe przetwarzanie rozkazów . . . . . . . . . . . . . . . . . . . . . . . . . 192.8 Procesory RISC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.9 Procesory superskalarne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3 Pamięć 203.1 Parametry charakteryzujące pamięć . . . . . . . . . . . . . . . . . . . . . . . 203.2 Hierarchia pamięci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3 Półprzewodnikowa pamięć o dostępie swobodnym . . . . . . . . . . . . . . . . 223.4 Organizacja pamięci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.5 Pamięć podręczna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.6 Układy pamięciowe PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.6.1 PM — Page Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.6.2 FPM — Fast Page Mode . . . . . . . . . . . . . . . . . . . . . . . . . 263.6.3 EDO — Extended Data Out . . . . . . . . . . . . . . . . . . . . . . . 263.6.4 BEDO — Burst EDO . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.6.5 SDRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.6.6 DDR SDRAM — Double Data Rate SDRAM . . . . . . . . . . . . . . 263.6.7 RDRAM — Rambus DRAM . . . . . . . . . . . . . . . . . . . . . . . 273.6.8 VC-SDRAM — Virtual Channel . . . . . . . . . . . . . . . . . . . . . 27

3.7 Moduły pamięci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.7.1 Moduły SIMM-30 (SIP) . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1

Page 3: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

SPIS TREŚCI 2

3.7.2 Moduły SIMM PS/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.7.3 Moduły DIMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.7.4 Moduły DDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.7.5 Moduły RIMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.8 Problem nazewnictwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.9 Dyski magnetyczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.9.1 Własności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.9.2 Organizacja danych na dysku . . . . . . . . . . . . . . . . . . . . . . . 293.9.3 Macierze dyskowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.10 Dyski magnetooptyczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.11 Taśma magnetyczna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.12 Pamięć optyczna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.12.1 Standardy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.12.2 Pamięć optyczna (CD) . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.12.3 Pamięć optyczna (CD-R) . . . . . . . . . . . . . . . . . . . . . . . . . 403.12.4 Pamięć optyczna (CD-RW) . . . . . . . . . . . . . . . . . . . . . . . . 413.12.5 Pamięć optyczna (DVD) . . . . . . . . . . . . . . . . . . . . . . . . . . 423.12.6 Technologia BURN-Proof . . . . . . . . . . . . . . . . . . . . . . . . . 453.12.7 Słowniczek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4 Magistrale 514.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.2 Struktura magistrali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.3 Podstawowe parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.4 Przykłady rozwiązań . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.4.1 Magistrala zewnętrzna w modelu PC/XT . . . . . . . . . . . . . . . . 554.4.2 Magistrala ISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.4.3 Magistrala EISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.4.4 Magistrala MCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.4.5 Magistrala VESA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.4.6 Magistrala PCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.4.7 Magistrala AGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5 Magistrale połączeniowe 615.1 IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.2 EIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.3 Serial-ATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645.4 SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.5 Złącze IEEE-1394 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.6 Złącze USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.6.1 USB 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695.7 IrDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.7.1 IrDA DATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695.7.2 IrDA CONTROL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.8 Interfejs RS-232C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.9 Złącze równoległe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6 Urządzenia peryferyjne 736.1 Monitory CRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736.2 Wyświetlacze LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736.3 Drukarki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736.4 Skanery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736.5 UPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Page 4: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

SPIS TREŚCI 3

7 Tryby PIO i DMA 747.1 DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

8 Zabezpieczenia transmisji danych 758.1 Kod CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

9 Pytania 77

Page 5: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

Przedmowa

Poniższy dokument stanowi elektroniczną wersję notatek, jakie przygotowywałem dla siebieprowadząc wykład ze wstępu do budowy komputerów. Udostępniam je z nadzeją, że ułatwito uporządkowanie wiadomości zebranych na wykładzie. Zdecydowanie polecam zajrzenie doposzczególnych pozycji wymienionych w spisie literatury. Nawet jeśli jakaś pozycja nie jestściśle związana z omawianymi zagadnieniami, to umożliwi poszerzenie własnych horyzontówmyślowych, pozwalając na samodzielny rozwój i ocenę istniejących koncepcji.

i

Page 6: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

Rozdział 1

Wstęp

1

Page 7: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 1. WSTĘP 2

Rysunek 1.1: Schemat połączeń procesora Z80 z pamięcią i układami we/wy.

Page 8: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

Rozdział 2

Procesor

2.1 Budowa

Głównymi zespołami procesora są jednostka arytmetyczno–logiczna (ALU), jednostka steru-jąca (CU), rejestry. ALU jest tą częścią komputera, która realizuje operacje arytmetyczne ilogiczne na danych. Wszystkie inne elementy systemu komputerowego — jednostka sterująca,rejestry, pamięci, we/wy — istnieją głównie po to, żeby dostarczać dane do ALU w celu ichprzetworzenia, a następnie odebrać wyniki.

Jednostka arytmetyczno–logiczna, tak jak wszystkie podzespoły elektroniczne komputera,wykorzystuje proste, cyfrowe uklady logiczne, mogące przechowywać cyfry binarne i wyko-nujące proste operacje logiczne, które dają się opisać przez algebrę Boole’a.

Zarówno dane z których ALU będzie korzystać jak i wyniki wszelkich operacji są prze-chowywane w rejestrach. Rejestry są miejscami tymczasowego przechowywania danych we-wnątrz procesora. ALU ustawia również znaczniki (flagi), bedące wynikiem operacji, lub dają-ce bardziej szczegółowe o niej informacje. Na przykład , znacznik przepełnienia jest ustawianyjako 1, jeżeli wynik obliczeń przekracza długość rejestru, w którym ma być przechowywany.

Jednostka sterująca jest tą częścią procesora, która w rzeczywistości wywołuje zdarze-nia. Wysyła ona wygnały sterowania na zewnątrz procesora w celu spowodowania wymianydanych z pamięcią i modułami we/wy. Jednostka sterująca wysyła również wywnętrzne sy-gnały sterowania procesorem w celu przenoszenia danych między rejestrami, spowodowaniawykonania określonych funkcji przez ALU oraz w celu regulowania innych operacji wewnętrz-nych. Na wejści jednostki sterującej są podawane sygnały z rejestru rozkazu, znaczników stanui sygnały sterujące ze źródeł zewnętrznych (np. sygnały przerwania). Podstawową rolą jed-nostki sterującej jest powodowanie występowania sekwencji operacji elementarnych, zwanych

Rysunek 2.1: Uproszczony schemat funkcjonalny procesora

3

Page 9: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 4

mikrooperacjami, podczas trwania cyklu rozkazu.

Jak działa procesor ?

Działanie procesora sprowadza się do cyklicznego powtarzania dwóch podstawowych operacji:

– pobrania rokazu

– wykonania rozkazu

Przerwanie tego cyklu nastąpić może jedynie w przypadku napotkania specjalengo rozkazunakazującego zatrzymanie procesora lub w wyniku ”interwencji z zewnątrz”.

Cykl pracy procesora składa się z następujących kroków:

1. odczytanie z pamięci rozkazu wskazywanego przez licznik rozkazów i umieszczenie gow rejestrze rozkazów

2. zmiana zawartości licznika rozkazów, tak aby wskazywał następny rozkaz

3. dekodowanie rozkazu znajdującego się w rejestrze rozkazów; określenie jego typu i liczbyoraz rodzaju argumentów

4. wyznaczenie adresów argumentów i ich pobranie

5. wykonanie czynności wynikających z istoty zadanego rozkazu

6. przejście do kroku 1

2.2 Rejestry

Systemy komputerowe zawierają hierarchię pamięci. Na wyższych poziomach jest ona zwykleszybsza, mniejsza i droższa (w przeliczeniu na bit). Wewnątrz procesora występuje zestawrejestrów, które działają jako poziom pamięci przewyższający w hierarchii pamięć główną ipodręczną. Rejestry procesora podzielić można na dwie grupy:

– rejestry widzialne dla użytkownika

– rejestry sterowania i stanu — używane przez jednostkę sterująca, oraz pewne uprzywile-jowane programy systemu operacyjnego (OS) do sterowania wykonywnniem programów

2.2.1 Rejestry widzialne

Rejestry widzialne są rejestrami, do których można odnosić się za pomocą języka maszyno-wego. Możemy je scharakteryzować, posługując się następującym podziałem:

– ogólnego przeznaczenia

– danych

– adresów

– kodów warunkowych

Rejestry ogólnego przeznaczenia mogą być przypisane wielu funkcjom. Na ogół do-wolny rejestr roboczy może zawierać argument dowolnego kodu operacji. Zdarzają się jednakograniczenia - mogą na przykład występować rejestry dedykowane operacjom zmiennoprze-cinkowym.

W pewnych przypadkach rejestry ogólnego przeznaczenia mogą być używane do funkcjiadresowania (np. pośredniego rejestrowego). W innych przypadkach ma miejsce częściowalub pełna separacja rejestrów adresowych od rejestrów danych.

Page 10: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 5

Rejestry danych mogą być używane tylko do przechowywania danych i nie można ichużywać do obliczania adresów argumentów.

Same rejestry adresowe mogą być w pewnym stopniu uniwersalne lub mogą być przy-pisane określonym trybom adresowania. Do przykładów należą:

– wskaźnik segmentu - w maszynie z adresowaniem segmentowym, rejestr segmentu za-chowuje adres podstawy segmentu. Może występować kilka rejestrów: na przykład jedendla systemu operacyjnego i jeden dla bieżącego procesu.

– rejestry indeksowe - używane do adresowania indeksowego; mogą być indeksowane au-tomatycznie wskaźnik stosu

Kody warunkowe (znaczniki stanu, flagi) są bitami ustalanymi sprzętowo przezprocesor w wyniku wykonania instrukcji. Na przykład operacja arytmetyczna może dać wynikdodatni, ujemny, zero lub przepełnienie. Poza skierowaniem do rejestru lub pamięci samegowyniku, ustalany jest również kod warunkowy. Kod ten może być następnie sprawdzony wramach operacji rozgałęzienia warunkowego.

Bity kodu warunkowego zbierane są w jednym lub wielu rejestrach. Zwykle stanowiąone część zawartości rejestru sterowania. Na ogół możliwe jest odczytanie tych bitów przezprogramistę, jednak nie mogą one być zmieniane.

W niektórych maszynach wywołanie podprogramu powoduje automatyczne zapisywaniezawartości wszystkich rejestrów widzialnych dla użytkownika, co umozliwia ich odtworzeniepo powrocie z podprogrmu. Zapisywanie i odtwarzanie jest wykonywanie przez procesor wramach wykonywania rozkazów wywołania i powrotu. Dzięki temu każdy podprogram możeniezależnie używać rejestrów widzialnych dla użytkownika. W innych maszynach obowiązekzachowania zawartości odpowiednich rejestrów przed wywołaniem podprogramu a następnieich przywrócenie po powrocie spoczywa na programiście.

2.2.2 Rejestry sterowania i stanu

W procesorze występują różnorodne rejestry wykorzystywane do jego sterowania. Zwykle niesą one widzialne dla użytkownika; niektóre mogą być dostępne dla rozkazów wykonywanychw trybie sterowania lub dla systemu operacyjnego.

Istnieją cztery tego typu rejestry mające zasadnicze znaczenie dla wykonywania rozkazów:

– licznik programu (PC)

– rejestr rozkazu (IR)

– rejestr adresowy pamięci (MAR)

– rejestr buforowy pamieci (MBR)

Licznik programu zawiera adres rozkazu i zwykle po każdorazowym pobraniu rozkazuaktualizuje się jego wartość, przez co wskazuje on zawsze następny rozkaz przewidziany dopobrania. Licznik modyfikowany jest także przez rozkazy rozgałęzienia i skoku.

Pobrany rozkaz jest ładowany do rejestru rozkazu, gdzie dokonywana jest analiza koduoperacji i specyfikatorów argumentów.

Dane są wymieniane z pamięcią za pośrednictwem rejestrów MAR i MBR.Dodatkowo występować mogą rejestry buforujące służęce jako rejestry wejściowe oraz

wyjściowe dla ALU i wymieniające dane z rejestrem MBR i z rejestrami widzialnymi dlaużytkownika.

We wszystkich projektach procesora jest rejestr lub sespół rejestrów określanych częstojako słowo stanu programu (PSW). Przechowuje się w nich zwykle kody warunkowe i inneinformacje o stanie procesora. Spotkać można następujące flagi: znak (zawiera bit znakuostatniej operacji), zero, równość, przepełnienie, zezwolenie/blokowanie przerwania.

Page 11: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 6

Ponadto obok PSW występować może wiele innych rejestrów związanych ze sterowaniem istanem, adekwatnych dla konkretnego projektu. Ponieważ pewne rodzaje informacji sterowa-nia mają szczególne znaczenie dla systemu operacyjnego, więc chęć wspierania jego, wpłynąćmoże na organizację rejestrów stan i sterowania

Jakie rejestry stosować?

1. W przypadku stosowania rejestrów wyspecjalizowanych z kodu operacji może domyśłniewynikać, do którego rejestru odnosi się określony specyfikator argumentu. Specyfikatorten powinien określać jeden z zespołu rejestrów wyspecjalizowanych a nie jeden zewszystkich dostępnych, co pozwala zaoszczędzić bitów. Specjalizacja ograniczyć możejednak znacznie elastyczność programisty.

2. Osobnym zagadnieniem jest liczba rejestrów. Wpływa to na istę rozkazów, ponieważwięcej rejestrów oznacza konieczność stosowania większej ilości bitów specyfikatora ar-gumentu.

3. Rozważyć należy również problem związany z długością rejestrów. Rejestry adresowemuszą mieć długość wystarczającą do przechowania największego adresu. Rejestry da-nych pomiwnny móc przechować większość rodzajów danych. W niektórych maszynachmożliwe jest używanie sąsiednich rejestrów do przechowywania wartości o podwójnejdługości.

Obecnie istnieje tendencja do używania rejestrów specjalizowanych. Ilość waha się między8 a 32, choć np. procesory o architekturze RISC-owej stosują ich znacznie więcej (nawetkilkaset).

2.3 Układ sterowania

Działanie komputera podczas wykonywania programu składa się z sekwencji cykli rozkazu.Na jeden rozkaz maszynowy przypada jeden cykl. Każdy cykl rozkazu może być traktowanyjako złożony z pewnej liczby mniejszych jednostek. Jednym z wygodnych podziałów jestpodział na pobranie, adresowanie pośrednie, wykonanie i przerwanie, przy czym tylko cyklepobrania i wykonania wystepuja zawsze.

Możliwa jest dalsza dekompozycja tak, że każdy z mniejszych cykli obejmuje z kolei szeregelementarnych kroków, angażujacych rejestry procesora, zwanych mikrooperacjami.

Na przykład pobranie rozkazu lub jego argumentów wymaga otwarcia odpowiednich bra-mek umożliwiajacych przesłanie odresu do rejestru adresowego pamięci, wysłania sygnałówodczytu, otwarcia bramek umożliwiajacych przesłanie danych z rejestru buforowego pamięcido miejsca przeznaczenia.

Wszystkimi tymi złożonymi czynnosiami zarządza układ sterowania. Można w nim wy-różnic następujace bloki funkcjonalne:

– dekoder rozkazów

– układy wykonawcze

– kombinacyjną sieć logiczną

– układy taktujące

Na wejście dekodera podawany jest kod operacji rozkazu znajdujacego sie w rejestrzerozkazów. Sygnały z dekodera uaktywniają odpowiednie fragmenty układów wykonawczych.Układ taktujący generuje odpowiedni ciąg impulsów synchronizujący ich działanie. Ukła-dy wykonawcze generują niezbędne sekwencje sygnałów sterujących pracą poszczególnych

Page 12: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 7

Rysunek 2.2: Uproszczony schemat układu sterowania

układow procesora (ALU, rejestrów, magistral). Wytworzone sygnały sterujące, przez kom-binacyjną sieć logiczną docirają do miejsca przeznaczenia. W ostatniej fazie cyklu sterowanianastępuje aktualizacja licznika rozkazów i przejście do fazy pobrania nastepnego rozkazu.

Układy logiczne realizujące algorytm sterowania procesora cechuje duża złożoność kon-strukcyjna. Struktury niezbędnych sieci logicznych są bardzo nieregularne i trudno jest wy-dzielić układy wykonujące poszczególne czynności elementarne, gdyż znaczna ich część bierzeudział w wielu operacjach. ”Sztywno” połączone ze soba układy są uaktywniane w zależnościod potrzeb za pomoca odpowiednich sekwencji sygnałów taktujących i różnych kombinacjisygnałów sterujących. W tej sytuacji wszelkie zmiany konstrukcyjne są zwykle bardzo pra-cochłonne i kosztowne. Problemy pojawiają się już w momencie gdy ktoś zechce np. dodaćnowy rozkaz do listy już istniejących. Tymczasem łatwo można zauwazyć, że opis algorytmusterowania bardzo przypomina opis algorytmu działania programu. Powstaje więc pytani: czyczasem struktura układu sterowania nie mogłaby odzwierciedlać (we własciwej skali) struk-tury komputera? Ponieważ widać analogie między kolejnymi krokami, z których składa sięwykonanie rozkazu, a kolejnymi rozkazami, z których składa się program, to może wykony-waniem tych kroków (a zatem i wykonywaniem rozkazów) mogłby sterować jakiś wewnętrznymikroprogram zlożony z mikrorozkazów.

Dopuszczając taka możliwość okazuje się, że struktura tak pomyślanego układu sterowaniamoże być bardzo prosta i przejrzysta. Naszkicowana tu koncepcja mikroprogramowanegoukładu sterowania została pierwszy raz zaproponowana przez M. V. Wilkesa z Uniwersytetuw Cambridge w 1951 r. Oto jak wówczas wyrażano sie o tej ideii:

”Jest ona nieco mglista. Żaden z dużych producentów nie wykazał zainteresowania tż me-todą, chociaż najprawdopodobniej wszyscy ja zbadali.”

Jednak już w kilka lat później koncepcja mikroprogramowania staje się podstawową me-todą przy projektowaniu różnych układów.

Podstawową zaletą jest przejrzystość i elastyczność. Ciągowi operacji elementarnych, zktórych składa się cykl wykonania rozkazu, odpowiada ciąg mikrorozkazów wykonywanychprzez stosunkowo prostą sieć logiczną o regularnej strukturze. Mikroporogramy realizująceposzczególne rozkazy są przechowywane w specjalnej, bardzo szybkiej, pamięci wewnetrznej,

Page 13: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 8

Rysunek 2.3: Struktura mikroprogramowanego układu sterowania

zwanej pamięcią sterowania. Jeżeli zajdzie taka potrzeba, względnie łatwo zmienić możnanawet całą liste rozkazów procesora, modyfikujac zawartość pamięci sterowania.

Główną wadę stanowi nieco mniejsza prędkość jednostki mikroprogramowanej od jednost-ki układowej wykonanej w porównywalnej technologii.

Budowa mikrorozkazu

W najprostszym przypadku mikrorozkaz składa się z ciagu bitów odpowiadających poszcze-gólnym bramkom, które w danej chwili należy zamknąć lub otworzyć, aby spowodować okre-ślony przepływ informacji lub wykonać wymagane operacje. Możliwe jest także testowaniestanu wybranych sygnałów i w zależności od wyniku testu odpowiednie rozgałezieni mikro-programu.

Mikrorozkazy tego typu są zwykle bardzo długie, gdyż takich węzłowych punktów, którychstan w danej chwili należy określić, jest w procesorze bardzo dużo. Nazywamy je mikroroz-kazami poziomymi. Pojedyncze bity lub grupy bitów możemy uważać za kody mikroope-racji. Mikrorozkazy poziome mają więc wiele kodów operacji wykonywanych równocześnie,nie mają za to wcale cześci adresowych (każdy z kodów mikrooperacji określa bezpośredniojej argument).

Przeciwieństwem mikrorozkazów poziomych sa mikrorozkazy pionowe o strukturzebardzo zbliżonej do struktury normalnych rozkazów. Maja one jeden kod mikrooperacji ijedno lub kilka pól adresowych. Są znacznie krótsze i oddziaływują na wybrane fragmentyprocesora. Informacje okreslające sygnały sterujące, które należy wygenerować mają postaćzakodowaną.

Mikroprogramy zbudowane z mikrorozkazów poziomych wykonują się szybciej. Wieleczynności określanych przez pojedynczy mikrorozkaz przebiega bowiem równolegle. Trud-niej je jednak ulożyc, gdyż liczba czynników sciśle od siebie zależnych, które równocześnienależy brać pod uwage, jest bardzo duża.

W przypadku mikrorozkazów pionowych algorytm sterowania jest bardziej przejrzysty, asekwencje mikrooperacji łatwiejsze do kontrolowania. Czas wykonania nawet pojedynczegomikrorozkazu jest jednak dluższy, ponieważ trzeba dekodować poszczególne jego pola. Wy-konanie czynności określanych za pomoca jednego mikrorozkazu poziomego wymaga ciągumikrorozkazow pionowych.

Page 14: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 9

Rysunek 2.4: Zasada działania przerwania

2.4 Przerwania

Praktycznie we wszystkich komputerach przewidziano mechanizam, za pomocą którego mo-że zostać przerwane normalne przetwarzanie danych przez procesor. Najczęściej występująnastepujące klasy przerwan:

– programowe - generowane przez warunek będacy wynikiem wykonania rozkazu, taki jakprzepełnienie arytmetyczne, dzielenie przez zero, próba wykonanania niedozwolonegorozkazu oraz odniesienie do przestrzeni pamięci zarezerwowanej dla użytkownika

– zegarowe - generowane prze wewnętrzny zegar; umożliwia wykonanie pewnych funkcjiprzez system operacyjny

– wejścia/wyjścia - generowane przez sterowniki we/wy

– uszkodzenie sprzętu - generowane np. w przypadku błedu parzystości pamięci

Przerwanie pierwotnie przewidziano jako sposób poprawienia efektywnosci przetwarzania.Wiele urządzeń zewnętrznych jest o wiele wolniejszych od procesora. Zalóżmy, ze procesorprzenosi dane do drukarki, stosując schemat cyklu rozkazu przedstawiony wcześniej. Po każdejoperacji zapisu procesor musi pozostawac bezczynnie, aż drukarka za nim nadąży. Długośćtej przerwy może wynosić setki lub nawet tysiące cykli rozkazu. Przerwania dają procesorowimożliwość wykonywania innych rozkazów, podczas gdy ma miejsce operacja we/wy.

Aby obsługa przerwan była możliwa, do cyklu rozkazu dodawany jest cykl przerwania.Jeśli w danym momencie nie stwierdzono obecności sygnału przerwania procesor przechodzido cyklu pobrania i pobiera następny rozkaz z bieżącego programu. Gdy jednak przerwaniewystąpi procesor realizuje następujące czynnosci:

1. zawiesza wykonanie bieżącego programu i zachowuje jego kontekst (tj. zachowane zo-stają dane związane z bieżacym działaniem procesora)

2. licznik programu ustawiony zostaje na początkowy adres programu obsługi przerwania

W rzeczywistych systemach często spotykamy się z przerwaniami wielokrotnymi. Zdarzasię bowiem, że kolejne przerwania następują w czasie, w którym jest przetwarzane przerwaniewcześniejsze.

Page 15: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 10

Problem wielokrotnych przerwań można rozwiązać na dwa sposoby.Pierwszy to uniemożliwienie przerwań, jeśli jakiekolwiek przerwanie jest własnie prze-

twarzane. Jeśli żądanie przerwania nastąpi w tym właśnie czasie, na ogół pozostaje onozawieszone i zostanie wykryte przez procesor gdy zakończy on obsługę poprzedniego. Ujem-ną stroną tego podejścia jest to, że nie bierze się pod uwagę względnej ważności przerwańoraz zadań, które krytycznie zależą od czasu.

Stąd bierze się drugie podejście polegające na określeniu priorytetów przerwań. Dozwolonejest wówczas aby przerwanie o wyższym priorytecie przerwało program obsługi przerwania oniższym priorytecie.

2.5 Rozkazy

Na ogół przeciętny użytkownik pracujący na danym komputerze, czy nawet programistaużywający jednego z wielu dostępnych obecnie języków wysokiego poziomu, nie ma zbyt wielumożliwości by poznać wewnetrzną architekture wykorzystywanej maszyny (inną sprawą jestto, że wcale nie musi jej znać).

Jednym z obszarów, w którym projektant komputera i jego programista maja wspólnyobraz maszyny, jest lista rozkazów maszynowych. Z punktu widzenia projektanta, lista rozka-zów określa wymaganaia funkcjonalne w stosunku do procesora — wdrożenie listy rozkazówjest właśnie tym zadaniem, na którm w głównej mierze polega implementacja procesora.

Z punktu widzenia użytkownika, tylko ten użytkownik, który wybiera programowanie wjęzyku maszynowym (w istocie w języku asemblerowym) ma możliwość uświadomienia sobiestruktury rejastrów i pamięci, rodzaje danych bezpośrednio obsługiwanych przez maszynęoraz funkcjonowanie ALU.

Opis listy rozkazów maszynowych komputera daje nam okazję do głebszego poznaniabudowy i zasad działania procesora.

Działanie procesora jest określone przez rozkazy, które on wykonuje. Ilość realizowanychfunkcji znajduje odbicie w różnorodności definiowanych dla niego rozkazów.

Każdy rozkaz musi zawierać informacje wymagane przez procesor do jego wykonania.Elementami, z których składa się rozkaz sa:

– kod operacji — określa operację, jaka ma być przeprowadzona,

– odniesienie do argumentów źródłowych — operacja może obejmować jeden lub wieleargumentów źródłowych; stanowią one dane wejściowe dla operacji,

– odniesienie do wyników — operacja może prowadzic do powstania jednego lub wieluwyników

– odniesienie do następnego rozkazu — skąd procesor ma pobrać następny rozkaz pozakończeniu wykonywania bieżącego; w większości przypadków następny rozkaz prze-widziany do pobrania następuje bezpośrednio po obecnie przetwarzanym — wówczasnie występuje jawne odniesienie do niego.

Argumenty źródłowe i wyniki mogą znajdować się w jednym z trzech obszarow:

– pamięci głównej - musi być dostarczony adres pamięci

– rejastrze procesora - musi być dostarczony numer pożądanego rejestru

– urządzenia we/wy - rozkaz musi określać moduł we/wy oraz urządzenie we/wy używanew operacji. Jesli używane jest we/wy odwzorowane w pamięci, jest to jeszcze jeden adrespamieci.

Page 16: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 11

Rysunek 2.5: Etapy wykonania rozkazu

Rysunek 2.6: Typowe formaty rozkazów

2.5.1 Reprezentacja rozkazu

Wewnętrznie każdy rozkaz reprezentowany jest za pomoca ciągu bitów. Rozkaz jest dzielonyna pola odpowiadające elementom składowym rozkazu. Obraz rozkazu nazywamy formatemrozkazu.

Dlugość poszczególnych pól i samego rozkazu zależą od kilku czynników. W przypadkukodu operacji decyduje po prostu długość listy rozkazów. Pole n-bitowe może pomieścić tyl-ko 2n różnych kombinacji zer i jedynek, a zatem w komputerze mającym np. 150 różnychrozkazów, kod operacji musi zajmować 8 bitów. Dużo większy wpływ na długość rozkazu maliczba i typ jego argumentów.

Posługiwanie się binarna reprezentacją rozkazów maszynowych nie należy do rzeczy, ”któ-re tygrysy lubią najbardziej”, dlatego powszechnie używana jest ich symboliczna reprezen-tacja. Kody operacji są zapisane za pomocą skrótów, zwanych mnemonikami. Jako przykładtakiej reprezentacji posłużyć mogą rozkazy:

LD — ładuj dane / rozkaz przesłaniaADD — dodajINC — zwiększ o 1

CALL — wywołanie podprogrmu/proceduryRET — powrót z podprogramu/procedury

Argumenty również można reprezentować symboicznie. Na przykład zapis

ADD A,r

oznacza: dodaj wartość zawartą w rejestrze r do zawartości akumulatora (specjalny rejestr).Zatem możliwe jest napisanie programu w języku maszynowym w postaci symbolicznej. Każ-dy symboliczny kod operacji ma ustaloną reprezentację binarną, a programista określa lokali-zację każdego symbolicznego argumentu (rozpoczynając np. od listy definicji: X=513, Y=514)

Page 17: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 12

i tak dalej. Odpowiedni program przekształca kody operacji i odniesienia do argumentów napostać binarną, po czym buduje binarne rozkazy maszynowe.

2.5.2 Rodzaje rozkazów

Rozważmy rozkaz w języku wysokiego poziomu:

x=x+y;

Instrukcja ta zaleca komputerowi dodanie wartości przechowywanej w y do wartości prze-chowywanej w x oraz umieszczenie wyniku w x. Oto jak można tę samą operację zapisaćw języku maszynowym. Załóżmy, że zmienna x ma adres 512 a y - 513. Operacje powyższąmożna by wykonać za pomocą nastepującego ciągu operacji:

1. Załaduj do rejestru zawartość komórki pamięci 512.

2. Dodaj zawartość komórki pamięci o adresie 513 do rejestru.

3. Przechowaj zawartość rejestru w komórce pamięci 512.

Jak łatwo można zauważyć, pojedyncza instrukcja w języku wysokiego poziomu może wy-magać kilku rozkazów maszynowych. Jest to typowa zależność między językiem wysokiegopoziomu a językiem maszynowym. Język wysokiego poziomu wyraża operacje w zwartej for-mie algebraicznej, używajac zmiennych. Jezyk maszynowy wyraża operacje w postaci pod-stawowej, obejmując ”ruch” danych do/z rejestrów/pamięci. Komputer powinien zatem dys-ponować listą rozkazów, które umożliwiłyby użytkownikowi formułowanie dowolnych zadańdotyczących przetwarzania danych. Patrząc na zagadnienie trochę inaczej, można powiedzieć,że lista rozkazów musi być wystarczająca do wyrażenia dowolnych instrukcji języka wysokie-go poziomu aby możliwe stało się jego przetłumaczenie na język maszynowy a następniewykonanie. Stąd rozkazy podzielić możemy na następujące rodzaje

– przetwarzania danych - rozkazy arytmetyczno—logiczne, konwersje,

– przechowywania danych - rozkazy pamięciowe / rozkazy transferu danych,

– przesyłania danych - rozkazy we/wy

– sterowania - rozkazy testowania i rozgałezienia

Operacje arytmetyczne

Większość maszyn realizuje podstawowe operacje arytmetyczne: dodawanie, odejmowanie,mnożenie, dzielenie. Zawsze są one przewidziane dla liczb całkowitych (stałoprzecinkowych,stałopozycyjnych) ze znakiem. Często są również przewidziane dla liczb zmiennopozycyj-nych i upakowanych dziesęetnie. Możliwe są również różne rozkazy jednoargumentowe jakwartość bezwzględna, negacja, inkrementacja, dekrementacja. Operacje arytmetyczne mogąpowodować transfer danych przed i/lub po wykonaniu funkcji w ALU, oraz ustawienie koduwarunkowego i znacznika stanu.

Operacje logiczne

Rozkazy logiczne operują bezpośrednio na bitach, nie wnikając w to, jakie faktycznie daneone reprezentują, dzięki czemu mamy możliwość przetwarzania dowolnych rodzajów danych,jakie użytkownik może chcieć wykorzystać. Są one oparte na operacjach Boole’a. Poza bito-wymi operacjami logicznymi, większość mszyn umożliwia wiele funkcji przesuwania i rotacji.Operacje logiczne rownież angażują ALU i mogą powodować operacje przestania danych.

Konwersja

Są to rozkazy zmieniające format danych lub operujące na formatach danych.

Page 18: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 13

Rysunek 2.7: Różne rodzaje logicznych przesunięć

Transfer danych

Rozkazy tego typu muszą precyzować kilka faktow:

– położenie argumentów źródłowych i wyników (możliwe są np.: pamięć, rejestr, wierz-chołek stosu)

– długość danych przeznaczonych do przesłania

– tryb adresowania

Na przykład komputery serii IBM S/390 dysponują następującymi rozkazami transferudanych:

Mnemonik Nazwa Liczba przeznazonych Opisoperacji bitów

L Load 32 Przeniesienie z pamieci do rejestruLH Load halfword 16 Przeniesienie z pamieci do rejestruLR Load 32 Przeniesienie z rejestru do rejestru

STC Store character 8 Przeniesienie z rejestru do pamieci

Operacje we/wy

W celu wykonania instrukcji odnoszącej się do we/wy, procesor podaje adres określającymoduł we/wy i urządzenie zewnętrzne oraz rozkazy we/wy. Rozkazy we/wy podzielić możnana rozkazy

– sterowania

– testowania

– odczytu/zapisu

Rozkazy sterowania

Przy normalnym biegu zdarzeń, wykonywane są kolejne rozkazy z pamięci. Po prostu na-stępuje elementarny przyrost stanu licznika programu przed pobraniem następnego rozkazu.Istnieje jednak wiele przyczyn, dla których wymagane jest przekazanie sterowania w innemiejsce.

1. Są zastosowania wymagające wielokrotnego powtórzenia jakiegoś postępowania. Naprzykład: sumujac 100 liczb wprowadzanych kolejno z urządzenia wejściowego, trzeba100 razy wykonać następujacą parę rozkazów:

Page 19: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 14

(a) czytaj liczbę(b) dodaj liczbę do zawartosci komórki przeznaczonej na sumę

Oczywiście można 100-krotnie powtórzyć w pamięci wymienione rozkazy. Znacznie lep-szy byłby jednak następujacy program:

(a) czytaj liczbę(b) dodaj(c) przejdź do kroku (c)

Rozkazy dające możliwość wykonania kroku (c) nazywamy rozkazami skoku. Mająone zwykle jeden argument, którym jest adres komórki, do której chcemy przekazaćsterowanie. W wyniku wykonania takiego rozkazu do licznika rozkazów trafia własnieten adres. Na rysunku pokazano jak zmienia się (w funkcji czasu) zawartość licznikarozkazów podszas wykonywania programów nie zawierających i zawierających rozkazskoku.

Przykład: zmiana licznika programu zawierającego i nie zawierającego roz-kazy skoku.

2. Praktycznie wszystkie programy obejmują podejmowanie decyzji. Miejsca, w których tonastępuje nazywamy rozgałęzieniami, a rozkazy je realizujące skokami warunkowymi.Podczas ich wykonywania procesor sprawdza, czy warunek wymieniony w treści rozkazujest spełniony czy nie. Jeśli tak, to wykonuje się skok, a jeśli nie, to procesor po prostuprzechodzi do następnego rozkazu.

Na przykład instrukcja ADD powoduje ustawienie jednego z 4 bitow gdy:

Bity (Condition Code) 0 1 2 3Mask 8 4 2 1

Rezultat operacji Zero < 0 > 0 Overflow

Jeśli teraz chcemy wykonać skok warunkowy gdy wynikiem ostatniej operacji, jaką byłododawanie, jest 0, to musimy użyc instrukcji

BC 8,ADRES

Gdy chcemy by skok miał miejsce gdy wynik będzie różny od 0 to napiszemy

BC 6,ADRES

Skokowi bezwarunkowemu odpowiada

BC 15,ADRES

Rozkazy wywołania podprogramu

Zasadniczym powodem stosowania podprogramu jest ekonomia i modułowość.

* Dzięki stosowaniu podprogramow, ten sam fragment kodu może być użyty wielokrotnie,co pozwala na bardziej efektywne gospodarowanie pamięcią.

* Możliwy staje się również podział dużych i złozonych problemów na prostsze.

* Ułatwia to także identyfikację miejsc, gdzie wystąpił bład jak i ich naprawę.

Mechanizm podprogramu standardowego obejmuje dwa podstawowe rozkazy:

rozkaz wywołania , powodujący skok z aktualnej lokacji do podprogramu;

rozkaz powrotu , powodujący powrót od podprogramu do miejsca, w którym nastąpiłojego wywołanie.

Page 20: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 15

Przykład: zasada ”działania” podprogramu.

Przykład: umieszczenie wywołań podprogramów w kodzie programu.

Ponieważ wywołanie podprogramu może nastąpić w wielu różnych punktach programu, orazmogą one być zagnieżdzane, procesor musi zachować adres powrotu. Rozwiązaniem najogól-niejszym i dającym wiele możliwości jest użycie stosu.

Stos jest tablicą jednowymiarową, na której można wykonywać tylko dwie operacje: umie-ścić coś na stosie, pobrać coś ze stosu. Przypominają one układanie na kołku krążków. (...)Dodatkowo dostępny jest wskaźnik stosu zawierający adres aktualnego wierzchołka.

Przykład: użycie stosu do wywoływania podprogramów.

2.5.3 Liczba adresów

Liczba adresów w rozkazie jest podstawową decyzją projektową. Mniej adresów oznaczaprostsze rozkazy, wymagajace mniej złożonych procesorow. Rownież sam rozkaz jest krótszy.Jednak wówczas program zawiera więcej rozkazów, co powodować może wydłużenie czasówwykonania oraz wydłużenie i skomplikowanie samych programow.

W przypadku rozkazów jednoadresowych, progrmista ma na ogół dostęp do jednego reje-stru ogólengo przeznaczeenia, tzw. akumulatora.

W przypadku rozkazów wieloadresowych, zwykle można korzystać z wielu rejestrów ogól-nego przeznaczenia. Pozwala to na wykonywanie pewnych operacji wyłącznie na rejestrach,co przyspiesza wykonanie programu.

Ponadto wybór liczby adresów komplikowany jest przez różne tryby adresowania orazmożliwosc operowania zarówno na rejestrach jak i bezpośrednio na pamieci.

Zobaczmy jak zmienić może się liczba rozkazów w zależności od liczby adresów. Rozważmydziałanie

Y = (A - B) / (C + D * E)

Jeśli używać będziemy rozkazów 3 argumentowych, to moglibyśmy zapisać je następująco

SUB Y,A,B; Y:=A-B (subtract)

MUL T,D,E; T:=D*E (multiply)

ADD T,T,C; T:=T+C (add)

DIV Y,Y,T; Y:=Y/T (divide)

Używając rozkazów 2 argumwntowych otrzymamy

MOVE Y,A; Y:=A

SUB Y,B; Y:=Y-B

MOVE T,D; T:=D

MUL T,E; T:=T*E

ADD T,C; T:=T+C

DIV Y,T; Y:=Y/T

Dla rozkazów 1 argumentowych

LOAD D; AC:=D

MUL E; AC:=AC*E;

ADD C; AC:=AC+C

STOR Y; y:=AC

LOAD A; AC:=A

SUB B; AC:=AC-B

DIV Y; AC:=AC/Y

STOR Y; Y:=AC

Page 21: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 16

2.5.4 Rodzaje argumentów

Rozkazy maszynowe operuja na danych. Najważniejsze z nich, to:

� liczby;

� znaki;

� dane logiczne;

� adresy.

Liczby

Ważną różnica między liczbami używanymi w codziennej matematyce a liczbami przecho-wywanymi w komputerze jest ograniczony charaketer tych ostatnich. Po pierwsze istniejegranica wielkości liczb reprezentowanych w komputerze, a po drugie, w przypadku liczbzmiennopozycyjnych, granica ich dokładności. Konieczna zatem staje się znajomość konse-kwejcji zaokrąglania, przepełniania i niedomiaru.

W komputerach powszechnie spotyka się trzy rodzaje danych numerycznych:

� całkowite lub stałopozycyjne

� zmiennopozycyjne

� dziesiętne

Znaki

Powszechną formą danych jest tekst lub ciąg znaków. Jednakże dane tego typu nie mogąbyć łatwo przechowywane i przetwarzane przez system jako, że został on zaprojektowany zmyślą o przetwarzaniu danych binarnych. Oznaczało to konieczność opracowania kodów, zapomocą których można reprezentować znaki jako ciąg bitów. Najwcześniejszym, powszechnieznanym przykladem jest kod Morse’a. Inne to np.:

� kod ANSI ASCII (American National Standards Institute) powszechnie stosowany wewszystkich komputerach

� kod EBCDIC (Extended Binary Coded Decimal Interchange Code) stosowany np. wmaszynach S/390

2.5.5 Rozkazy o zmiennej długości

Wszystkie dotychczasowe rozważania dotyczyły rozkazów o określonej długości. Jednak pro-jektując listę rozkazów można wybrać rozkazy o różnych długościach, co da w efekcie bardziejelastyczne adresowanie przy różnych kombinacjach odniesień do rejestrów i do pamięci orazich trybie.

Przyjecie rozkazów z zmiennej długości pociąga za soba wzrost złożoności procesora.Zastosowanie rozkazów o zmiennej długości nie eliminuje zadania, aby wszystkie długościrozkazów były integralnie związane z długoscią słowa. Ponieważ procesor nie zna długościnastępnego rozkazu przewidzianego do pobrania, typową strategią jest pobranie liczby bajtówlub słów równej przynajmniej najdłuższemu możliwemu rozkazowi. Oznaczać to może, żeczasem pobieramy wiele rozkazow.

Page 22: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 17

2.6 Adresowanie

Pole lub pola adresowe w typowym formacie rozkazu są ograniczone. Zastosowanie różnychmetod adresowania jest nieodzowne gdy chcemy dysponowac możliwością odnoszenia sie dodużego zakresu lokacji w pamięci w sposób odpowiedni dla postawionego zadania. Metody testanowią kompromis między zakresem adresów i (lub) elastycznością adresowania, aliczbą odniesień do pamięci i (lub) złożonością obliczania adresów z drugiej strony.Do najważniejszych rodzajów adresowania zaliczamy adresowania:

* natychmiastowe

* bezpośrednie

* pośrednie

* z przesunięciem

– względne

– z rejestrem bazowym

– indeksowanie

2.6.1 Adresowanie natychmiastowe

Jest to najprostsza forma adresowania. Mówimy o nim wówczas, gdy argument operacji, którąnależy wykonać, jest zawarty bezpośrednio w treści rozkazu.

Zaletą adresowania natychmiastowego jest to, że żadne odniesienie do pamięci poza po-braniem rozkazu nie jest potrzebne do uzyskania argumentu, gdyż jest on dostępny zaraz pojego pobraniu (stanowi w istocie jego cześć). Wadą jest to, że rozmiar liczby jest ograniczonydo rozmiaru pola adresowego.

Przykład: adresowanie natychmiastowe.

2.6.2 Adresowanie bezpośrednie

W tym przypadku pole adresowe zawiera efektywny adres argumentu.Zaletą tej metody jest prostota, wadą zaś, podobnie jak wcześniej, możliwość obsłużenia

tylko ograniczonej przestrzeni adresowej.

Przykład: adresowanie bepośrednie.

Odmianą jest adresowanie rejestrowe.

Przykład: adresowanie bezpośrednie rejestrowe.

2.6.3 Adresowanie pośrednie

W przypadku adresowania bezpośredniego problemem jest to, że długość pola adresowegojest zwykle mniejsza niż długość słowa, co ogranicza zakres adresów.

W jednym z możliwych rozwiązań pole adresowe odnosi się do słowa w pamięci, którez kolei zawiera pełnej długości adres argumentu. Zaletą tego rozwiązania jest to, że przydługości słowa N dostępna jest przestrzeń adresowa 2N . Wadą jest konieczność wykonaniadwóch odniesień do pamięci.

Przykład: adresowanie pośrednie.

Odmianą jest adresowanie pośrednie rejestrowe.

Page 23: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 18

Prykład: adresowanie pośrednie rejestrowe.

2.6.4 Adresowanie z przesunięciem

Adresowanie to łączy możliwości adresowania bezpośredniego oraz pośredniego adresowaniarejestrowego

Przykład: adresowanie z przesunieciem.

Adresowanie względne

W przypadku adresowania względnego rejestrem domyślnym jest licznik programu. Oznaczto, że adres bieżącego rozkazu jest dodawany do pola adresowego w celu otrzymania adresuefektywnego. Zalóżmy, że mamy do czynienia z sytuacja pokazana na rysunku. Początkowolicznik rozkazów (PC) wskazuje pewien rozkaz. Po pobraniu go do rejestru rozkazów zawartośćPC zmieni się tak, że wskazuje następny rozkaz. Ponieważ odpowiednie pole w rozkazkie 1informuje procesor, że ma on do czynienia z adresowaniem wzglednym, nastepuje dodanieadresu ADR do zawartości PC. Wskazana komórka zawierajaca argument znajduje się wodległości ADR od aktualnego rozkazu. Jest to bardzo ważna własność. Program, w którymstosuje się wyłącznie taki sposób adresowania, można bowiem swobodnie przemieszczać wpamięci i będzie się on wykonywał poprawnie, czego nie możn powiedzieć np. o programachstosujących adresowanie bezwzględne.

Przykład: adresowanie względne.

Adresowanie z rejestrem bazowym

Interpretacje tego typu adresowania jest następująca. Rejestr, do którego się odwołujemy,zawiera adres pamieci, a pole adresowe zawiera przesunięcie (zwykle w postaci liczby cał-kowitej bez znaku) w stosunku do tego adresu. Odniesienie do rejestru może być jawne lubdomyślne.

Adresowanie z rejestrem podstawowym wykorzystuje lokalność odniesienia do pamięci.Jest ona wygodnym srodkiem wdrażania segmentowania.

Rozważmy następujący przykład. Załóżmy, że mamy system dysponujący 64 K słów, apole adresowe rozkazu ma 14 bitów, co pozwala na dostęp do 16 K słów. Dzięki obecnościrejestru bazowego, program może jednak korzystać z całej pamięci.

Przykład: adresowanie z rejestrem bazowym.

Indeksowanie

Interpretacja tego typu adresowania jest następująca. Pole adresowe donosi się do adresuw pamięci głównej, a wywołany rejestr zawiera dodatnie przesunięcie w stosunku do tegoadresu. Jest to rozwiązanie odwrotne w stosunku do adresowania z rejestrem bazowym.

Adresowanie indeksowe jest szczególnie przydatne przy operacjach na tablicach. Cześćadresowa rozkazu zawiera wówczas adres początkowy tablicy, a rejestr indeksowy numer jejkolejnego elementu (czyli indeks tablicy - stąd nazwa metody). Załóżmy, że chcemy przejrzećkolejnych N elementów tablicy. Przy takich operacjach, indeks zmienia się liniowo od 0 doN − 1. Ponieważ rejestry indeksowe są powszechnie używane a potrzeba ich systematycznegozwiększania lub zmniejszania bardzo częsta, niektóre systemy wykonują ją automatycznie,jako część tego samego cyklu rozkazu. W takim przypadku mówimy o autoindeksowaniu.

Page 24: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 2. PROCESOR 19

Przykład: indeksowanie.

2.7 Potokowe przetwarzanie rozkazów

2.8 Procesory RISC

2.9 Procesory superskalarne

Page 25: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

Rozdział 3

Pamięć

3.1 Parametry charakteryzujące pamięć

Pamięć komputera, pozornie prosta w założeniach, cechuje się bardzo dużym zróżnicowaniemjeśli weźmie się pod uwagę takie aspekty jak technologia, oragnizacja, wydajność czy kosztyprodukcji. Nie istnieje jedna technologia, która byłaby w stanie sprostać wszystkim wyma-ganiom. Z tego powodu większość systemów komputerowych dysponuje hierarchią różnychpamięci, stosowanych do ściśle określonych zadań. Aby łatwiej ogarnąć dość złożone zagad-nienie jakim są pamięci najlepiej podzielić je według pewnych cech a następnie rozpatrywaćróżnice w obrębie jednej lub kilku z nich. Pamięci podzielić można ze względu na:

położenie (wewnątrz procesora, wewnętrzna, zewnętrzna);

pojemność (rozmiar słowa, liczba słów);

wydajność (czas dostępu, szybkość transmisji, długość cyklu);

własności fizyczne (ulotna/nieulotna, wymazywalna/niewymazywalna);

rodzaj fizyczny (półprzewodnikowe, magnetyczne);

jednostkę transferu (słowo, blok)

sposób dostępu (sekwencyjny, bezpośredni, swobodny, skojarzeniowy);

organizację

W zasadzie własności te nie wymagają większego komentarza. Określmy tylko pojęciazwiązane ze sposobem dostępu oraz wydajnością.

Dostęp sekwencyjny. Ten rodzaj dostępu spotykany jest na przykład w pamięciach ta-śmowych. Pamięć zorganizowana jest w tym przypadku w oparciu o jednostki danychzwane rekordami. Dostęp do poszczególnych pól rekordu możliwy jest w określonej se-kwencji liniowej. Podczas operacji odczytu/zapisu konieczne jest przemieszczanie sięod bieżącej pozycji do pożądanej, przechodząc przez wszystkie rekordy pośrednie. Wrezultacie czas dostępu do różnych rekordów może być bardzo różny.

Dostęp bezpośredni. Dostępem bezpośrednim charakteryzują się pamięci dyskowe. Me-chanizm ten jest zbliżony do wcześniej opisanego. Jednak w tym przypadku poszcze-gólne bloki lub rekordy mają unikatowy adres oparty na lokacji fizycznej. Dostęp reali-zowany jest przez bezpośredni dostęp do najbliższego otoczenia, po którym następujesekwencyjne poszukiwanie w celu odnalezienia lokacji finalnej. Jak poprzednio czas do-stępu jest zmienny choć nie widać tutaj już takich różnic.

20

Page 26: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 21

Dostęp swobodny. Dostępem swobodnym wyróżniają się systemy pamięci głównej. Każdaadresowalna lokacja ma unikatowy, fizycznie wbudowany mechanizm adresowania. Czasdostępu do danej lokacji nie zależy od sekwencji poprzednich operacji dostępu i jeststały. Dzięki temu dowolna lokacja może być wybierana swobodnie i jest adresowana idostępna bezpośrednio.

Dostęp skojarzeniowy. Dostęp skojarzeniowy może być używany w pamięciach podręcz-nych. Jest to rodzaj dostępu swobodnego, który umożliwia porównywanie i specyficznebadanie zgodności wybranych bitów wewnątrz słowa, przy czym jest to czynione dlawszystkich słów jednocześnie. Tak więc słowo jest wyprowadzane raczej na podstawieczęści swojej zawartości niż na podstawie adresu. Czas dostępu jest stały i niezależnyod poprzednich operacji dostępu.

Czas dostępu. Jest to czas niezbędny do zrealizowania operacji odczytu/zapisu. Czas tenmierzy się od chwili doprowadzenia adresu do momentu zmagazynowania lub udostęp-nienia danych.

Czas cyklu. Czas ten składa się z czasu dostępu i czasu jaki musi upłynąć nim będzie mógłnastępić kolejny dostęp. Dodatkowy czas potrzebny może być na przykład dla zanikusygnałów przejściowych lub do regeneracji danych.

Szybkość transferu. Jest to szybkość, z jaką można wprowadzać lub wyprowadzać dane zjednostki pamięci.

Ponadto warto zwrócić uwagę na własności fizyczne urządzeń do przechowywania danych.W pamięci ulotnej informacja zanika naturalnie lub jest tracona po wyłączeniu zasilania.

W pamięci nieulotnej informacja raz zapisana nie zmienia się aż do chwili zamierzonej zmiany(do zachowania informacji nie jest konieczne zasilanie elektryczne).

Zawartość pamięci niewymazywalnej, w przeciwieństwie do wymazywalnej, nie może byćzmieniana. Tego typu pamięci określa się jako stałe (ROM — read–only memory).

3.2 Hierarchia pamięci

Między podstawowymi parametrami pamięci istnieją wzajemne zależności wiążące ze so-bą pojemność, czas dostępu i koszt. Zwykle mnijszy czas dostępu oznacza większy koszt wprzeliczeniu na bit. Koszt na bit jest jednak tym mniejszy im większą pojemność możemyzaoferować. Większa pojemność oznacza jednak na ogół większy czas dostępu. Znalezieniejednego, uniwersalnego rozwiązania, nie jest możliwe. Osiągnięcie kompromisu możliwe jestpoprzez wykorzystanie hierarchii pamięci.

Przykład: hierarchia pamięci

Oto cechy charakterystyczne tak przyjętej hierarchii pamięci, przy rozpatrywaniu jej w kie-runku od góry do dołu:

* malejący koszt w przeliczeniu na bit,

* rosnąca pojemność,

* rosnący czas dostępu,

* malejąca częstotliwość odwołań do pamięci przez procesor.

Page 27: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 22

3.3 Półprzewodnikowa pamięć o dostępie swobodnym

Wśród pamięci półprzewodnikowych o dostępie swobodnym wyróżnić możemy pamięci odostępie swobodnym — RAM (random access memory) i pamięci stałe — ROM (readonly memory).

Cechą wróżniającą pamięci RAM jest to, że możliwe jest zarówno odczytanie danychz pamięci, jak też łatwe i szybkie zapisanie do niej nowych danych. Obie te operacje sądokonywane za pomocą sygnałów elektrycznych. Inną własnością tego rodzaju pamięci jest ichulotność. Pamięć tego typu musi mieć stałe źródło zasilania. Pamięci RAM można dodatkowopodzielić na dynamiczna (DRAM, D — dynamic) i statyczne (SRAM, S — static).

Dynamiczna pamięć wykonana jest z komórek, które przechowują dane podobnie, jakkondensator przechowuje ładunek elektryczny. Obecność lub brak ładunku w kondensatorzesą interpertowane jako binarne 1 lub 0. Ponieważ kondensatory mają naturalną tendencję dorozładowywania się, tego typu pamięciach musi być co jakiś czas odświeżany ładunek abydane nie uległy utraceniu.

W statycznych pamięciach, dane przechowuje się za pomocą przerzutników. Pamięci tegotypu nie wymagają odświeżania. Zwykle pamięci statyczne są droższe od odpowiadającychim pamięci dynamicznych. Związane jest to po prostu z faktem, że pamięci dynamicznemają mniej złożoną strukturę dzięki czemu możliwe jest gęstsze upakowanie poszczególnychstruktur wchodzących w skład pamięci. Używa się jej przeważnie jako pamięci podręcznej.

Pamięci ROM zawierają w swojej strukturze pewien wzór danych, który w przeciwień-stwie do pamięci typu RAM nie może być modyfikowany. Zwykle pamięci tych używa się doprzechowywania informacji, które nie muszą lub nie mogą być modyfikowane, pewnych pro-gramów bibliotecznych czy programów systemowych. Produkcja pamięci tego typu wiąże sięz dość dużymi kosztami spowodowanymi koniczności wytworzenia nowej serii mikroukładów,nawet wtedy gdy zmienion tylko jeden bit. Konieczność wyrzucenia całej partii produkcyj-nej zajdzie natomiast w przypadku niewłaściwej zawartość pewnej komórki. Z tego względupowstała programowalna pamięć ROM (PROM — programable ROM). Pamięć PROMpodobnie jak ROM jest nieulotna. Zapis można dokonać tylko raz i jest on realizowany elek-trycznie. Czynności tej może dokonać zarówno dostawca jak i klient już po wyprodukowaniuukładu.

Pomiędzy pamięciami RAM i ROM można umieścić pamięci głównie do odczytu. Uży-wa się ich głównie wtedy gdy operacje zapisu są znacznie rzadsze od operacji odczytu, awymagana jest nieulotność. Powszechnie spotkać można trzy rodzaje tego typu pamięci.

EPROM — optycznie wymazywalna programowalna pamięć stała. Pamięć tego typu jestodczytywana i zapisywana elektrycznie. Przed operacją zapisu wymagane jest jednaknaświetlenie układu promieniami ultrafioletowymi w celu wymazania zapisanych da-nych. Proces wymazywania może być wykonywany wielokrotnie; każde wymazanie zaj-muje okoko 20 minut.

EEPROM — elektrycznie wymazywalna programowalna pamięć stała. Jest to pamięć głów-nie do odczytu, która może być zapisana bez wymazywania poprzedniej zawartości;aktualizowane są tylko bajty adresowane. EEPROM jest droższa niż EPROM; zawieratakże mniej bitów w mikroukładzie niż odpowiadająca jej pamięć EPROM.

Flash memory — pamięć błyskawiczna. Podobnie jak w EEPROM-ie, w tego typu pamięciwykorzystuje się metodę wymazywania elektrycznego. Cała pamięć może być wymazanaw ciągu kilku sekund. Ponadto możliwe jest wymazanie bloków pamięci zamiast całegoukładu (nie ma tu jednak wymazywania na poziomie bajtów). Pod względem kosztujak i funkcjonalości, pamięci tego typu można umieścić pomiędzy pamięciami EPROMi EEPROM.

Page 28: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 23

Rysunek 3.1: Struktura komórki pamięci liniowej (a) i przestrzennej (b).

3.4 Organizacja pamięci

Aby zorganizować komórki pamięci w sprawnie funkcjonujący układ, należy je odpowiedniozaadresować. Najprostszym sposobem jest zorganizowanie pamięci liniowo - jest to tak zwaneadresowanie 2D. Do każdej komórki podłączone jest wejście, sygnał wybierania pochodzącyz dekodera oraz wyjście. Nieco innym sposobem jest adresowanie przy użyciu tzw. matry-cy 3D. Pamięć organizuje się tutaj dzieląc dostępne elementy na wiersze i kolumny. Dostępdo pojedynczego elementu pamiętającego można uzyskać po zaadresowaniu odpowiedniegowiersza i kolumny. Dlatego też komórka RAM obok wejścia i wyjścia musi dysponować jesz-cze dwoma sygnałami wybierania, odpowiednio z dekodera kolumn (CAS) i wierszy (RAS).Zaletą pamięci adresowanej liniowo jest prosty i szybszy dostęp do poszczególnych bitów niżw przypadku pamięci stronicowanej (3D), lecz niestety, przy takiej organizacji budowaniewiększych modułów RAM jest kłopotliwe. Dlatego też w przemyśle stosuje się zazwyczajukłady pamięci zorganizowanej w matrycę 3D, pozwala to na nieskomplikowane tworzeniewiększych modułów o jednolitym sposobie adresowania.

Rozważmy przykład. Załóżmy, że chcemy zbudować pamięć o pojemności 16 megabitówdającą możliwość jednoczesnego zapisu/odczytu 4 bitów.

Jeśli miałaby to być pamięć o strukturze 2D, to należałoby zorganizować ją w postaci 4zespołów po 4194304 bity (4194304×4 = 16777216). Każdy taki zespół miałby strukturę 2D.Zatem do wskazania odpowiedniego bitu w zespole należałoby doprowadzić 22 linie adresowe(222 = 4194304).

Rozważmy teraz strukturę 3D. Również w tym przypadku pamięć musi być zprganizowanaw 4 bloki. Każdy taki blok jest kwadratem złożonym z 2048 na 2048 elementów 3D. Chcączaadresować teraz pewną czwórkę bitów należy:

* uaktywnić sygnał wyboru adresu wiersza — RAS,

* podać na magistralę adresową numer wiersza,

* uaktywnić sygnał wyboru adresu kolumny —CAS,

* podać na magistralę adresową numer kolumny.

W tej sytuacji, ponieważ osobno wskazujemy wiersze i osobno kolumny, wystarczy jeśli doukładu doprowadzimy 11 linii adresowych (211 = 2048). Wybierane numery wiersza i ko-lumny przechowywane są w rejestrze adresowym pamięci. Dane słowo zostanie wybranie gdywskazane zostaną obie te wielkości.

Organizacja pamięci 3D przedstawiona wyżej jest odpowiednia do momentu, gdy rozmiarpamięci mierzony w słowach jest równy liczbie bitów w poszczególnym mikroukładzie (bloku).Słowo z jakim mieliśmy do czynienia miało długość 4 bitów. Zatem całkowita pojemnośćpamięci wynosiła 16777216/4 = 4194304 słów. Liczba bitów w pojedynczym mikroukładziewynosiła 2048 × 2048 = 4194304 bitów.

Page 29: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 24

Rysunek 3.2: Pamięć 16 Mbit-ów o strukturze liniowej.

Rysunek 3.3: Pamięć 16 Mbit-ów o strukturze przestrzennej.

Page 30: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 25

Jeśli wymagana jest większa pamięć, potrzebna jest matryca mikroukładów. Oto jak moż-naby zorganizować pamięć składająca się z 16 M słów 4 bitowych. W tym przypadku wystę-pują 4 kolumny mikroukładów, każda zawiera 4 M słów uporządkowanych jak poprzednio.Chcąc wskazać jakieś słowo, należy wskazać, kolumnę mikroukładów a następnie, postępo-wać jak poprzednio. Rejestr adresowy pamięci musi zostać rozszerzony o 2 bity, na którychzapisany będzzie numer kolumny mikroukładów.

Przykład: organiacja pamięci 16 M słów 4 bitowych.

3.5 Pamięć podręczna

Stosowanie pamięci podręcznej jest kompromisem między dużą szybkością jaka powinna cha-rakteryzować pamięć, z jednoczesnym jej dużym rozmiarem z względnie niewielkie pieniądze.Stanowi ona stopień pośredniczący na drodze wymiany informacji procesor — pamięć. Jestona mniejsza niż pamięć główna, ale za to wielokrotnie szybsza. Pamięć podręczna zawierakopię części zawartości pamięci głównej (kopia ta składa się z bloków, a każdy blok z pewnejilości słów). W momencie gdy procesor odwołuje się do pamięci, najpierw sprawdzane jest,czy szukane słowo nie znajduje się w pamięci podręcznej. Jeśli tak, to może ono być bardzoszybko dostarczone do procesora. Jeśli natomiast nie, to blok pamięci głównej zawierającyustaloną liczbę słów jest wczytywany do pamięci podręcznej, a następnie szukane słowo do-starczane jest do procesora. Ze względu na zjawisko lokalności odniesień, jeśli blok danychzostał pobrany do pamięci podręcznej w celu zaspokojenia pojedynczego odniesienia do pa-mięci, jest prawdopodobne, że przyszłe odniesienia będą dotyczyły innych słów zawartych wtym samym bloku.

Zanim blok pozostający w pamięci podręcznej będzie mógł być zastąpiony, koniecznejest rozważenie, czy musi on być zmieniony w pamięci podręcznej a nie głównej. Jeśli niemusi, to stary blok w pamięci podręcznej może być nadpisany. Jeśli musi, to znaczy, że nasłowie zawartym w tej linii pamięci podręcznej musi być przeprowadzona przynajmniej jednaoperacj zapisu, a pamięć główna musi być odpowiedni zaktualizowana.

Problem stanowi fakt, iż do pamięci głównej może mieć dostęp więcej niż jedno urządzenie(na przykład moduł we/wy może być zdolny do bezpośrednich operacji na pamięci). Jeślisłowo byłoby zmienione tylko w pamięci podręcznej, to odpowiednie słowo w pamięci głownejbyłoby nieaktualne. Ponadto, jeśli moduł we/wy zmieniłby słowo w pamięci głównej, toodpowiednie słowo w pamięci podręcznej byłoby nieważne. Jeszcze bardziej złożony problemwystępuje, gdy do jednej magistrali podłączonych jest kilka procesorów wyposażonych wewłasne pamięci podręczne.

Istnieją dwa popularne sposoby rozwiązania problemu pierwszego.Zapis jednoczesny (write through). Przy jego zastosowaniu wszystkie operacje zapisu

są prowadzone jednocześnie zarówno dla pamięci głównej jak i podręcznej, co zapewni ichstałą aktualność. Wadą tej metody jest to, że generuje ona znaczny przepływ danych dopamięci.

Zapis opóźniony (write back). Metoda ta minimalizuje ilość operacji na pamięci głównej.Aktualizuje się w niej tylko pamięć podręczną. Gdy to nastąpi, ustawiany jest bit aktualizacjiodpowiedniego wiersza pamięci podręcznej. Jeśli następnie blok będzi musiał być zastąpiony,to podlega on wpisaniu do pamięci głównej, tylko wtedy gdy ustawiony będzie bit aktualizacji.Problemem jest tutaj to, że część pamięci głownej jest nieaktualna, przez co dostęp modułówwe/wy jest możliwy tylko za pośrednictwem pamięci podręcznej. Komplikuje to znaczniebudowę układów i stwarza możliwość zaistnienia wąskich gardeł.

Problem drugi jest o wiele bardziej złożony. Osoby zainteresowane mogą zajrzeć do [59],[53]

Page 31: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 26

3.6 Układy pamięciowe PC

Pamięc operacyjna komputera PC to po dziś dzień pamięć dynamiczna (DRAM). Omówimytutaj po krótce wszystkie jej typy poczynając od pamięci PM, przez EDO na VC-SDRAMkończąc.

3.6.1 PM — Page Mode

Jest to najstarszy tryb dostępu do pamięci polegający na oddzielnym adresowaniu wiersza ikolumny dla każdego cyklu. Adres wiersza zdejmowany jest przez układ pamięciowy z szynyadresowej w momencie wykrycia opadającego zbocza sygnału sterującego RAS. Po zatrza-śnięciu tego fragmentu adresu w rejestrze wejściowym, następuje krótkotrwałe zwolnienieszyny adresowej, po czym odkłada się na niej fragment adresu odpowiedzialny za numerkolumny. Adres ten jest wprowadzany do układu pamięciowego w momencie zdekodowaniaopadającego zbocza sygnału sterującego CAS.

3.6.2 FPM — Fast Page Mode

Różnica w stosunku do wcześniej przedstawionego trybu adresowania polega na uproszczeniumechanizmu adresowania. Dostęp do dowolnej komórki pamięci nie odbywa sie poprzez od-czytanie lub zapis tylko jednej wartości. Inny sposób postępowania narzucony został niejakoprzez architekturę PC. Otórz wymiana danych między pamięcią a resztą systemu odbywa sięzwykle w porcjach po kilka bajtów na raz. Wiąże się to, ze wspomnianym już przy okazjiomawiania pamieci podręcznej faktem, iż przetwarzane kody skupione są zwykle w pewnymspójnym wycinku pamięci i w dużej mierze przylegają do siebie.

Przy takim założeniu, adres wiersza przekazuje się do układu pamięciowego tylko razna cztery cykle dostępu, które razem tworzą pewnego rodzaju pakiet (Burst). Posostałetrzy cykle dostępu mają domyślnie ten sam adres wiersza, a tylko zmienny adres kolumny.Czas trwania poszczególnych cykli pakietu (mierzonych w jednostkach zegarowych magistrali)podaje się w formacie x-x-x-x.

3.6.3 EDO — Extended Data Out

Pamięci tego typu stanowią nieznaczną modyfikację poprzenich. Charakterystyczne dla EDOjest to, że można wyznaczać kolejny adres zaraz po rozpoczęciu odczytu poprzedniej komórki.Rezultat taki osiągnięto dzięki zmodyfikowaniu cygnału CAS i nie blokowaniu wyjścia (data-out) w czasie transmisji.

3.6.4 BEDO — Burst EDO

Pamieci tego typu stanowią połączenie technik zastosowanych w FPM i EDO.

3.6.5 SDRAM

Rodzaj pamięci, w której odczyt poszczególnych komórek pamięci synchronizowany jest zzewnętrznym zegarem. Wszystkie sygnały sterujace wyprowadzane są z jednego przebieguzegarowego, co ułatwia integrację pamięci w systemie, gdyż dużo łatwiej jest zagwarantowaćzaostrzone reżimy czasowe w przypadku podwyższania częstotliwości taktujących. PamięćSDRAM jest często oznaczana jako SDR SDRAM (Single Data Rate SDRAM).

3.6.6 DDR SDRAM — Double Data Rate SDRAM

Zasada działania modułów DDR SDRAM polega na stosunkowo prostym ulepszeniu tech-nologii SDRAM. W odróżnieniu od zwykłych SDRAM-ów, DDR SDRAM transmituje danezarówno przy wzroście jaki i spadku sygnału taktującego. Pamięć ta działa dwukrotnie szyb-ciej niż SDR SDRAM, przy tej samej częstotliwości magistrali i procesora.

Page 32: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 27

3.6.7 RDRAM — Rambus DRAM

Technologia RDRAM (Direct Rambus DRAM) opracowana została przez firmę Rambus iprzez nią też opatentowana. Nie stanowi więc tzw. otwartego standardu, a producenci zmu-szeni są do uiszczania opłat licencyjnych. Technologia ta bazuje na trzech elementach: kon-trolerze pamięci (Direct Rambus Controller), kanałach (Direct Rambus Channel) i układachpamiętających (Direct Rambus DRAM). Komunikację ze ”światem zewnętrznym” zapewniakontroler, który połączony jest z układami pamiętającymi za pomocą specjalnych kanałówtransmisyjnych. Jego zadaniem jest zarządzanie żądaniami napływającymi od urządzeń ze-wnętrznych, kontrolowanie przepływu danych, zmiany stanu pracy poszczególnych modułóworaz odświeżanie zawartości pamięci. Każdy kanał może obsłużyć do 32 układów w ramachmaksymalnie trzech modułów (Direct Rambus RIMM), a w systemie może istnieć kilka ta-kich kanałów. Każdym z nich przekazywane są w zarówno dane, jak i informacje sterujące.Wykorzystano transmisję pakietową, pozwalającą na zredukowanie liczby zewnętrznych wy-prowadzeń, jak również na łatwe zwiększenie pojemności bez konieczności dokonywania zmianw samej architekturze.

Pamięci w zależności od wersji mają być taktowane zegarami 300, 350 i 400 MHz, aponieważ dane są transferowane podobnie jak w przypadku pamięci DDR SDRAM przynarastającym i opadającym zboczu sygnału taktującego, ”wewnątrz” daje to prędkość 600,700 i 800 MHz. Ponieważ interfejs pamięci RDRAM jest 16-bitowy, pozwoli to na uzyskaniemaksymalnej przepustowości rzędu odpowiednio 1,2, 1,4 oraz 1,6 GB/s.

Do wad RDRAM należy niewątpliwie długi czas ”robiegu” od momentu wystosowaniarozkazu do pojawienia się pierwszych danych (ok. 70–90 ns, DDR ok. 45 ns). Przewagawidoczna jest natomiast w długich i nieprzerwanych transferach danych. Jednak ze względuna pamięć podręczną drugiego poziomu, zintegrowaną w aktualnych procesorach, zwyżkawydajności wynosi w praktyce 5 procent.

Przykład: struktura pamięci RDRAM.

3.6.8 VC-SDRAM — Virtual Channel

By zrozumieć ideę kanałów wirtualnych, warto przypomnieć sobie, jak obsługiwana jest pa-mięć w tradycyjnym systemie. Tzw. Memory Master - czyli dowolne urządzenie uprawnionedo zapisu/odczytu z pamięci (procesor, kontroler AGP, PCI, pamięci L2-cache itd.) - prze-syła do kontrolera pamięci żądanie operacji na niej wraz z charakteryzującymi je parametra-mi (adres, rozmiar bloku danych, rodzaj operacji itp.), które następnie jest realizowane. Wtrakcie obsługi jednego urządzenia inne muszą oczekiwać na zwolnienie magistrali pamięci izakończenie wspomnianej operacji, co jest poważnym minusem w przypadku współczesnychsystemów współbieżnych. By usunąć tę niedogodność, NEC zaproponował koncepcję VirtualChannel Memory. Każde urządzenie uzyskuje tu dostęp do pamięci nie bezpośrednio, ale zapośrednictwem szybkich wirtualnych kanałów. W ich ramach określa obszary w pamięci, doktórych chce zapisywać lub z których chce odczytywać informacje. W efekcie wszystkie opera-cje wejścia/wyjścia na pamięci są od siebie niezależne i mogą być wykonywane równocześnie.Na dodatek każde urządzenie może zarezerwować na swój użytek kilka kanałów równocześnie.

Przykład: koncepcja pamięci VC-SDRAM.

3.7 Moduły pamięci

3.7.1 Moduły SIMM-30 (SIP)

Listwa połączeniowa płytki posiada 30 pól. Pierwotnie jako elementy złącz stosowane byłykrótkie szpilki (odmiana SIP), a potem pola kontaktowe na płytce drukowanej. Znaczeniekońcówek 1—30 w formie SIP było takie samo jak w SIMM.

SIMM-30 dysponuje 11-bitową szyną adresową. Dla osiągniecia wymaganej szerokościmagistrali 16 bitów konieczne było stosowania dwóch takich jednostek.

Page 33: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 28

3.7.2 Moduły SIMM PS/2

Moduły tego typu skonstruowano w celu zaspokojenia wymagań procesorów z magistralą 32bitową. Miały one 72 pola kontaktowe.

3.7.3 Moduły DIMM

Listwa połączeniowa tych modułów jest dwustronna i posiada w sumie 168 pól kontaktowych.Specyfikacja nie ogranicza ich zastosowania do konkretnego typu pamięci. Mogą one stanowićnośnik dla pamięci FPM, EDO, SDRAM.

3.7.4 Moduły DDR

Moduły te na pierwszy rzut oka przypominają moduły DIMM. Różnią się jednak od nichtopologią listwy połączeniowej, która w przypadku DDR zawiera 184 pola kontaktowe.

3.7.5 Moduły RIMM

Listwa połączeniowa zawiera 184 punkty. Od DDR odróżnia ją inna lokalizacja karbów iden-tyfikujących. Najbardziej charakterystyczną cechę stanowią jednak metalowe pokrywy przy-słaniające same chipy. Moduły RIMM wytwarzają tak dużo ciepła, iż niezbędnym stało sięobudowanie ich radiatorami ułatwiającymi ich chłodzenie.

3.8 Problem nazewnictwa

Jest kilka rodzajów pamięci DDR SDRAM do których stosuje się różne, czasem wprowadza-jące w błąd nazewnictwo.

Na początku stosowano nazwy PC200 i PC266 do pamięci pracujących z częstotliwościa-mi 100 MHz i 133 Mhz. Potem wprowadzono zamiast nich nowe: PC1600, PC2100, PC2600.Nowe nazwy wiążą się maksymalną przepustowością pamięci. Pamięć SDR SDRSM używa64-bitowej szyny danych pracując z częstotliwością 100 MHz lub 133 MHz. Oznacza to mak-symalną przepustowość 800 MB/s i 1064 MB/s. W przypadku DDR SDRAM wartości tenależy podwoić, przez co otrzymujemy odpowiednio 1600 MB/s (dla 100 MHz) - pamięciPC1600, oraz 2128 MB/s (dla 133 Mhz) - pamięci PC2100. Pamięć pracująca z częstotliwo-ścią magistrali 166 MHz osiąga przepustowość 2656 MB/s i oznaczana jest PC2600.

Można również spotkać symbole DDR-266A i DDR-266B. Oznaczają one po prostu pa-mięci PC2100 (z opóźnieniem CAS wynoszącym odpowiednio 2 i 2,5 ns).

Ponadto w stosunku do pamięci RDRAM stosuje się oznaczenia PC600, PC700, PC800w zależności od tego jakim zegarem taktowane są pamięci (odpowiednio 300, 350, 400 MHz).

W numerze 12 z 2001 roku PC WORLD KOMPUTER na stronie 20 znaleźć możnawzmiankę o pamięciach RDRAM 1066 oraz DDR 333.

3.9 Dyski magnetyczne

3.9.1 Własności

Dysk to okrągła płyta wykonana z metalu lub plastiku, pokryta materiałem magnetycznym.Dane są zapisywane i odczytywane za pomocą przwodzącej cewki zwanej głowicą. Podczasoperacji odczytu/zapisu głowica pozostaje nieruchoma, obraca się natomiast dysk.

Zapis polega na wykorzystaniu pola magnetycznego wytwarzanego przez prąd elektrycznypłynący przez cewkę. Do głowicy są wysyłane impulsy, co powoduje zapisywanie wzorówmagnetycznych na powierzchni znajdującej się pod głowicą, przy czym wzory te są różne dlaprądów dodatnich i ujemnych. Przy odczycie wykorzystuje się prąd elektryczny powstającyw cewce pod wpływem pola magnetycznego dysku poruszającego się względem cewki. Gdy

Page 34: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 29

powierzchnia dysku przesuwa się pod głowicą, generowany jest prąd o tej samej biegunowości,jak użyty do zapisu.

Głowica dysku może być nieruchoma lub poruszać się wzdłuż promienia płyty. W przypad-ku dysków z nieruchomą głowicą, występuje jedna głowica zapisu/odczytu na jedną ścieżkę.Wszystkie głowice są zmontowane na sztywnym ramieniu, które rozciąga się przez wszystkieścieżki. W przypadku dysków z ruchomą głowicą, istnieje tylko jedna głowica, umieszczona,jak poprzednio na ramieniu. Ponieważ jednk musi istnieć możliwośc pozycjonowania głowicynad dowolną ścieżką, ramię musi mieć możliwość obrotu lub wydłużania i skracania.

Sam dysk umieszczony jest w napędzie dysku, który składa się z ramienia, wałka ob-racającego dysk i układów elektronicznych potrzebnych do wprowadzania i wyprowadzaniadanych binarnych. Dysk niewymienny jest na stałe mocowany w napędzie dysku. Dysk wy-mienny może być usunięty i zastąpiony innym dyskiem. Zaletą tego ostatniego rozwiązaniajest teoretycznie nieograniczona liczba danych osiągalna przy ograniczonej liczbie systemówdyskowych. Ważniejszą jednak cechą jest łatwa możliwość wymiany danych.

W przypadku większości dysków warstwa magnetyczna jest nanoszona po obu stronachpłyty, co jest określane jako dysk dwustronny.

Niektóre napędy sysków umożliwiają stosowanie wielu płyt umieszczonych jedna naddrugą w pewnych odległościach. Mówić będziemy wówczas o napędzie wielodyskowym.

Zwykle głowica umieszczona była w ustalonej odległości nad płytą. Innym możliwym po-dejściem jest pozostawienie głowicy w fizycznym kontakcie z nośnikiem podczas operacj zapi-su/odczytu (wykorzystywany w przypadku napędu dyskietek). Powstanie trzeciego rodzajudysków związane było ściśle z poszukiwaniem możliwości coraz gęstszego zapisu. Głowicamusi bowiem generować, lub wykrywać pole elektromagnetyczne o wielkości wystarczającejdo przeprowadzenia operacji zapisu/odczytu. Im więcaj danych chcemy umieścić na płycie,tym węższa musi być głowica, aby możliwe stąło się operowanie węższymi ścieżkami. Oznaczato jednak, iż głowica musi być znacznie bliżej powierzchi dysku. Jednak im odległość ta jestmniejsza, tym większe ryzyko błędu spowodowanego przez zanieczyszczenia lub niedokład-nosci. Wynikiem rozważań na ten temat były dyski typu Winchester opracowane w IBM w1968 roku. Głowice tego typu dysków pracują w zamkniętych, hermetycznych obudowacheliminując praktycznie możliwość przedostania się jakichkolwiek zanieczyszczeń. Ze względuna lekkość głowic i niewielkie odległości od powierzchni, w stanie spoczynkowym głowice niesą wycofywane poza obręb dysków, lecz spoczywają na ich powierzchni, w specjalnie prze-znaczonym na to obszarze. Ciśnienie powietrza wytwarzane przez wirujące dyski wystarczaaby unieść je na odpowiednią wysokość umożliwiającą pracę.

3.9.2 Organizacja danych na dysku

Przyjęci takiej konstrukcji pamięci sprawiło, że organizacja danych na płycie ma postać kon-centrycznego zespołu pierścieni, nazywanych ściżkami. Sąsiednie ścieżki rozdzielone są od sie-bie przerwami, minimalizującymi błedy spowodowane przez niewłaściwe ustawienie głowicylub interferencję pola magnetycznego. Na każdej ścieżce przechowywana jest taka sama liczbabitów. Zatem gęstość, wyrażana w bitach jakie da się zapisać na pewnej powierzchni wzrastawraz z przesuwaniem się do wewnątrz dysku. Dane przenoszone są na/z dysku blokami, zwy-kle mniejszymi niż pojemność ścieżki. Wobec tego przechowuje się je w obszarach zwanychsektorami. Na ścieżkę przypada zwykle od kilku do kilkudziesięciu sektorów, o zmiennej lubustalonej długości. Sąsiednie sektory są oddzielone przerwami wewnątrzścieżkowymi. Zbiórwszystkich ścieżek o tym samym promieniu nazywamy cylindrem. W celu identyfikacji sektorana ściżce dysk zawiera dodatkowe informacje, zwanych danymi kontrolnymi, niedostępnymidla użytkownika.

Przykład 3.1 Rozkład danych na dysku

Page 35: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 30

Przykład 3.2 Format ścieżki

Z przedstawionej powyżej organizacji wynika, że adres informacji składać musi się z trzechelementów: numeru cylindra, numeru ścieżki i numeru sektora. Numer cylindra określa poło-żenie głowicy w stosunku do osi dysku, numer ścieżki identyfikuje głowicę, a numer sektoralokalizuje na ścieżce obszar zawierający szukaną informację.

Mówiąc o pamięciach półprzewodnikowych zdefiniowane zostało pojęcie czasu dostępu,tj. czasu jaki upływa od podania adresu pamięci do uzyskania informacji. Dla pamięci dysko-wych parametr ten będzie łącznym czasem jaki potrzebny jest na wykonanie następującychczynności:

– pozycjonowanie głowicy nad ścieżką/cylindrem, tzw. czas przeszukiwania (seek time);

– wybranie głowicy odpowiadającej żądanej ścieżce;

– oczekiwanie na pojawienie się odpowiedniego sektora pod głowicą, tzw. opóźnieniwobrotowe (rotational latency);

– odczytanie i przesłanie informacji do pamięci operacyjnej.

Zdarzyć się może, że ze względu na szybkść obrotową dysku, ilość informacji odczyty-wanych przez głowicę może przekroczyć przepustowość kontrolera. Z tego względu konicznestaje się wówczas zastosowanie odczytu danych z przeplotem, polegającym na niesekwen-cyjnym odczycie kolejnych sektorów. Technika ta daje kontrolerowi czas na przetworzenieodczytanego sektora, ale spowolnia proces odczytu.

Przykład: różne współczynniki przeplotu (1:1, 1:2, 1:3).

3.9.3 Macierze dyskowe

Zasadniczym powodem powstania macierzy dyskowych była ich niewielka wydajność i po-jemność. Poszukując alternatywnych rozwiązań rozpoczęto eksperymenty z zestawami dys-ków twardych (tzw. macierzami), złożonymi z mniejszych i tańszych napędów. W 1988 rokuDavid Patterson, Randy Katz i Gerth Gibson z Uniwersytetu Berkeley w Kalifornii opubli-kowali pracę pod tytułem ”A Case for Redundant Arrays of Inexpensive Disks” (RAID), wktórej zaprezentowali koncepcję macierzy dyskowych oraz wprowadzili pojęcie RAID.

Koncepcja ta bazuje na niezależnej i równoległej pracy kilku dysków, nazywanych razemmacierzą dyskową. Gdy mamy do czynienia z wieloma dyskami, oddzielne zapotrzebowaniana operacje wejścia/wyjścia mogą być przetwarzane równolegle, jeśli tylko poszukiwany blokdanych jest rozproszony na wielu dyskach.

Schemat RAID składa się z sześciu poziomów, wyznaczających różne architektury. Wkażdym z nich RAID stanowi zespół fizycznie istniejących napędów dyskowych, widzianychprzez system operacyjny jako pojedynczy napęd. Dane przechowywane w takiej macierzy(tablicy) dyskowej są rozproszone. Nadmiarowa pojemność dysków wykorzystywana jest doprzechowywania informacji, dających możliwość odzyskania danych w przypadku uszkodzeniajakiegoś dysku.

Warto zauważyć, iż zwiększenie niezawodności nie było celem samym w sobie jaki stawialiprzed sobą pomysłodawcy. Może się to wydać dziwne, ale zastosowanie większej liczby dys-ków, umożliwiające przyspieszenie działań wejścia/wyjścia, zwiększa prawdopodobieństwouszkodzenia.

Page 36: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 31

RAID 0

Jest to macierz złożona z co najmniej dwóch dysków, tworzących jeden wirtualny napęd opojemności równej sumie pojemności dysków składowych. Mechanizm (sprzętowy lub progra-mowy) RAID dzieli zapisywany plik na małe pakiety danych, tzw. bloki stripe (A, B, C...) ostałej wielkości. Pakiety te są następnie kolejno zapisywane na wszystkich dyskach. Ponieważgłowice każdego z dysków pracują niezależnie, teoretycznie możliwy jest równoczesny zapistylu bloków, ile dysków wchodzi w skład macierzy, a co za tym idzie, tylokrotne zwiększenieszybkości zapisu - co jest właśnie istotą takiego układu. W praktyce, wiele zależy od tego,czy wykorzystana magistrala zapewnia równoczesny dostęp do wszystkich dysków macierzy.

Poważną wadą stripingu jest niebezpieczeństwo utraty wszystkich danych w razie awariiktóregoś dysku. RAID poziomu 0 znajduje zastosowania wszędzie tam, gdzie wymagana jestwysoka wydajność w odniesieniu do niekrytycznych danych.

Przykład: RAID 0.

RAID 1

Poziom ten różni się od następnych, sposobem osiągania redundancji. Tutaj redundancja niejest osiągana przez przeprowadzenie pewnych obliczeń, lecz przez zwyczajne duplikowaniewszystkich danych.

RAID 1 umożliwia szybkie uzyskanie odpowiedzi na żądania wejścia/wyjścia, jeśli tylkoich główna część dotyczy odczytu. W takiej sytuacji możliwy jest niemal 2-krotny wrostwydajności w porównaniu z RAID 0. Nastąpi to, gdy możliwe będzie rozdzielenie żądańodczytu w taki sposób, aby w operacji uczestniczyły oba dyski.

RAID 1 zapewnia, iż rezerwowe dane są dostępne natychmiast, bez przerywania pracysystemu. Główną wadą jest koszt takiego rozwiązania; wymaga ono dwukrotnie większejprzestrzeni dyskowej w porównaniu z dyskiem logicznym, który jest obsługiwany. Ponadtopodczas operacji zapisu przesyłana jest dwukrotnie większa ilość danych, co powodować możespowolnienie całej procedury. Z tych powodów wykorzystanie konfiguracji RAID 1 pozostajeraczej ograniczone do napędów przechowujących oprogramowanie systemowe oraz inne bardzoważne pliki.

W przyjętej popularnie terminologii, jeżeli obydwa dyski współpracują z jednym kontro-lerem, mówi się o dyskach lustrzanych (mirroring), a jeśli każdy ma niezależny kontroler – ozdowojeniu (duplexing) dysków. To drugie rozwiązanie jest korzystniejsze zarówno z powoduniezawodności jak i wydajności.

Przykład: RAID 1.

RAID 2

RAID 2 i 3 wykorzystują metodę dostępu równoległego. W takim przypadku wszystkie dyskiuczestniczą w realizacji każdego żądania wejścia/wyjścia. Zwykle poszczególne napędy sąsynchronizowane tak, że w dowolnym momencie każda głowica znajduje się w tej samejpozycji nad każdym dyskiem.

Podobnie jak w pozostałych schematach, wykorzystywane jest paskowanie danych. WRAID 2 i 3 paski te są bardzo małe, równe często jednemu bajtowi lub słowu. W RAID2 kod korekcji błędów jest obliczany na podstawie odpowiednich bitów na każdym dyskudanych, a bity kodu są przechowywane w odpowiednich pozycjach bitowych zlokalizowanychna wielu dyskach parzystości. Zwykle wykorzystywany jest kod Hamminga, który umożliwiakorygowanie błędów jednobitowych i wykrywanie dwubitowych.

Poziom ten, wymagający mniejszej liczby dysków niż RAID 1, nadal jest raczej kosztowny.Sposób zapisu danych powoduje, że każda operacja wymaga równoległej pracy wszystkichdysków. Właściwym miejscem jego zastosowania są środowiska, w których występuje wielebłedów dyskowych.

Page 37: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 32

Przykład: RAID 2.

RAID 3

RAID 3 jest zorganizowany podobnie jak RAID 2. Różnica polega na tym, że wymaga ontylko jednego dysku redundacyjnego, niezależnie od wielkości matrycy dysków. Wykorzystujesię tutaj dostęp równoległy, przy czym dane są rozmieszczone w postaci małych pasków(często wielkości jednego bajtu). Zamiast kodu korekcyjnego, obliczany jest bit parzystościdla zespołu indywidualnych bitów znajdujących się w tej samej pozycji na wszystkich dyskachdanych.

W przypadku uszkodzenia dysku, wszystkie dane są nadal dostępne w tzw. trybie zredu-kowanym. W tym trybie w przypadku odczytu zaginione dane są regenerowane na bieżąco zapomocą obliczeń. Gdy dane są zapisywane w zredukowanej tablicy RAID 3, musi być zacho-wana zgodność parzystośći w celu umożliwienia późniejszej regeneracji. Powrót do pełnegodziałania wymaga wymiany uszkodzonego dysku i zregenerowania całej jego zawartości.

Przykład: RAID 3.

RAID 4

W RAID 4 i 5 wykorzystuje się metodę dostępu niezależnego, dzięki czemu oddzielne żądaniawejścia/wyjścia mogą być obsługiwane równolegle. Z tego względu tablice o dostępie nieza-leżnym są bardziej odpowiednie w przypadku zastosowań wymagających szybkiej odpowiedzina żądanie wejścia/wyjścia, są natomiast stosunkowo mało przydatne w zastosowaniach wy-magających dużych szybkości transferu danych.

Paski wykorzystywane w RAID 4 są stosunkowo duże. Pasek przystości tworzony bit pobicie jest obliczany na podstawie odpowiednich pasków na każdym dysku danych, a bityparzystości są przechowywane w odpowiednim pasku na dysku parzystości.

W schemacie tym występuje pogorszenie wydajności zapisu, jeśli realizowane jest żądaniezapisu małej ilości danych. Przy każdej operacji zapisu muszą być uaktualniane dane nadysku parzystości, który przez to może stać się wąskim gardłem.

Przykład: RAID 4.

RAID 5

RAID 5 zorganizowany jest podobnie jak RAID 4. Różnica polega na tym, że w przypadkuRAID 5 paski przystości są rozproszone na wszystkich dyskach. Typowo wykorzystuje sięschemat cykliczny. Taki sposób rozmieszczenia pasków parzystości zapobiega ewentualnemupowstawaniu wąskich gardeł, o których mowa była w odniesieniu do RAID 4.

Przykład: RAID 5.

3.10 Dyski magnetooptyczne

Dyski magnetooptyczne, ze względu na trwałość zapisu i elastyczność zastosowania, były doniedawna jednym z najatrakcyjniejszych nośników danych. Pod względem wygody dostępu dodanych i wydajnością porównywalne były z klasycznymi dyskami twardymi, zaś odpornościąna niesprzyjające warunki przechowywania i upływ czasu dorównywały CD-ROM-om.

Zgodnie z nazwą, zarówno zapis jak i odczyt dysków magnetooptycznych odbywa się me-todą kombinowaną. Inforamacja przechowywana jest przez pokrywający płytę wykonaną ztworzywa lub szkła odpowiednio dobrany nośnik magnetyczny. Magnetyczna głowica zapisu-jąca znajduje się w pewnej odległości od powierzchni wirującego dysku, co zmienjsza wraż-liwość układu na zanieczyszczenia mechaniczne. Generowane przez nią pole obejmuje kilkaścieżek, jest jednak zbyt słabe, by w normalnych warunkach spowodawać przemagnesowanie

Page 38: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 33

nośnika. Właściwa ścieżka jest wybierana promieniem lasera na tyle silnym, by lokalnie pod-grzać nośnik do temperatury, w której pole wytworzone przez głowicę powoduje reorientacjędomen magnetycznych.

Przy odczycie wykorzystuje się zjawisko różnego skręcania płaszczyzny polaryzacji światłasłabego lasera przy odbiciu od różnie namegnesowanych obszarów powierzchni dysku.

Dzięki takiej technologii dyski magnetooptyczne są stosunkowo odporne zarówno na przy-padkowe pola magnetyczne, jak i wysoką temperaturę — uszkodzenie informacji mogą wy-wołać tylko oba te czynniki występujące jednocześnie.

3.11 Taśma magnetyczna

Pamięć taśmowa była pierwszym rodzajem pamięci pomicniczej. Wciąż jest szeroko używnajako najtańszy i najpowolniejszy zarazem element hierarchii pamięci, choć pojewienie siędydsków optycznych może zachwiać ich ugruntowaną od lat pozycją.

Ze względu na dużą pojemność oraz stosunkowo długą żywotność medium streamery sąpodstawowym narzędziem archiwizacji w sieciach i złożonych systemach komputerowych.Dostępne modele różnią się rodzajem taśmy oraz zastosowaną technologią zapisu. Wszyst-kie urządzenia archiwizujące cechuje wysoka jakość wykonania, gdyż muszą one zapewnićmaksimum niezawodności w trakcie eksploatacji.

Współczesne napędy taśmowe korzystają najczęściej z jednej z pięciu popularnych technikzapisu. Streamery mogą różnić się już na pierwszy rzut oka kształtem kasety przechowującejmagnetyczne medium. Również wśród samych nośników można znaleźć przynajmniej kil-ka odmian charakteryzujących się różną szerokością taśmy oraz stosowaną metodą zapisuinformacji. W celu silniejszego upakowania informacji na nośniku, stosuje się większą licz-bę ścieżek, a za precyzyjne pozycjonowanie głowic odpowiadają tzw. ścieżki wspomagające(servo-tracks).

W części urządzeń korzysta się z techniki zapisu liniowego, w której taśma przesuwanajest przed nieruchomą głowicą. Aby zwiększyć szybkość pracy streamerów, stosuje się tzw. ze-spół zapisująco-odczytujący (kilka pracujących równolegle głowic), dzięki czemu jednocześniemoże zostać ”obsłużonych” więcej ścieżek. Taśma przesuwana jest ze stosunkowo dużą pręd-kością, dlatego konstrukcja urządzenia, jak i sam nośnik narażone są na poważne obciążeniamechaniczne. Zapis liniowy stosowany jest w streamerach typu SLR/MLR oraz DLT.

Inną techniką zapisu jest zapis helikalny przypominający nieco sposób funkcjonowanianp. magnetowidów VHS. Podstawowym elementem konstrukcji czytnika jest zespół głowicodczytujących i zapisujących, umieszczony ukośnie w stosunku do nośnika. Wirowanie głowicoraz równomierny przesuw taśmy decydują o powstaniu ukośnych ścieżek zapisu. Ze względuna znaczne zagęszczenie informacji na powierzchni nośnika medium przesuwane jest powoli.Nie ma również potrzeby stosowania długich taśm, co w konsekwencji powoduje, że czasprzewijania jest przeważnie znacznie krótszy niż w przypadku urządzeń korzystających ztechniki zapisu liniowego.

SLR/MLR (Single/Multiple Linear Recording)

Taśma o szerokości ok. 6 mm przechowywana jest w zamkniętej kasecie (QIC). Nośnik przezcały cykl pracy pozostaje w kasecie, przez co znacznemu skróceniu uległ czas rozpoczynaniaoperacji odczytu/zapisu. Za przesuw medium odpowiada rolka dociskowa oraz pasek prze-kaźnikowy, który porusza obie szpule.

W systemie SLR dane zapisuje pojedyncza głowica na maks. 46 ścieżkach. W MLR3wykorzystywane są trzy pracujące równolegle głowice: dwie zapisujące i jedna odczytująca,co pozwala na weryfikowanie zapisywanych danych niezależnie od kierunku przesuwania siętaśmy. Szybkość transferu danych wynosi 2 MB/s, a pojedyncza taśma mieści do 25 GBdanych bez kompresji (MLR3: 144 ścieżki + 24 ścieżki synchronizujące). Technologie SLR iMLR stosują m.in. firmy Tandberg i Overland.

Page 39: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 34

Przykład: nośnik SLR/MLR.

DLT (Digital Linear Tape)

Technologia DLT, znana ze streamerów Quantum i HP, pochodzi ze świata dużych maszyni komputerów mainframe DEC. Nośnik o szerokości nieco ponad centymetr znajduje się napojedynczej szpuli. Czytnik, w momencie załadowania, wciąga koniec taśmy, którą nawija nadrugą, zewnętrzną szpulę.

Za odczyt i zapis danych odpowiadają cztery zestawy głowic, których charakterystycznącechą jest oryginalne rozmieszczenie - pod różnymi kątami do kierunku ruchu taśmy - chronią-ce gęsto położone ścieżki danych przed możliwością wystąpienia zakłóceń w trakcie odczytu.Taśma o pojemności 35 GB przesuwana jest z bardzo dużą prędkością, co w połączeniu zwydajnym systemem zapisu zapewnia transfer na poziomie ok. 5 MB/s.

Przykład: taśma DLT.

DDS3 (DAT - Digital Audio Tape)

Helikalny standard zapisu DDS3 stosowany jest w czteromilimetrowych taśmach DAT i umoż-liwia przechowanie do 12 GB informacji na pojedynczej kasecie. Taśmy DAT są profesjonal-nym standardem przechowywania dźwięku w cyfrowej postaci. Transfer danych w technologiiDDS3 odbywa się ze średnią prędkością 1 MB/s, a za poprawność zapisu odpowiada metodakorekcji read-after-write, polegająca na odczytywaniu i weryfikowaniu danych bezpośredniopo przeprowadzonym zapisie. W momencie wykrycia błędu następuje ponowne skopiowanieinformacji na nośnik. Dane kodowane są z użyciem znanej z dysków twardych techniki PRML(CHIP 9/96, s. 68). Napędy DDS3 mogą również zapisywać i odczytywać dane w jednym zwcześniejszych standardów - DDS1 i DDS2 - różniących się od DDS3 pojemnością nośnika(mniejsze skondensowanie danych na pojedynczej ścieżce

Przykład: kasety DAT, MIC (AIT).

AIT (Advanced Intelligent Tape)

Technologia AIT jest w pewnym sensie rozwinięciem koncepcji zastosowanych po raz pierwszyw taśmach DAT. Taśma AIT o długości 170 metrów mieści do 25 GB danych (bez kompre-sji) i wykonana jest w technice AME (Advanced Metal Evaporation - proces pokrywanianośnika cieńką warstwą metalu). Dane zapisywane są ze średnią prędkością 3 MB/s. Za bez-pieczeństwo przechowywanych informacji odpowiadają dwa zastosowane mechanizmy korekcji- odczyt-po-zapisie oraz ECC (error correction code). Pierwszy z nich zapewnia poprawnośćzapisu, drugi zaś umożliwia rekonstrukcję danych i odczyt informacji z uszkodzonego nośnika.Unikatową cechą taśm MIC (Memory In Cassette), wykorzystywanych przez napędy AIT,jest układ pamięci zainstalowany wewnątrz kasety.

Przechowuje on informacje o aktualnej zawartości nośnika wraz ze szczegółową lokaliza-cją zbiorów na powierzchni taśmy. Rozwiązanie takie zapewnia niemal błyskawiczny dostępdo przechowanych danych. Technologię AIT opracowała firma Sony na potrzeby urządzeńwizyjnych. AIT powszechnie stosowana jest również w streamerach Seagate.

Mammoth

Dla swoich urządzeń firma Exabyte opracowała własną technologię 8 mm, w której używapodobnego nośnika co AIT. Pojedyncza kaseta mieści 20 GB danych, które zapisywane sąz prędkością 3 MB/s. Napędy 8 mm są kompatybilne z wcześniejszymi modelami (odczyt),dzięki czemu najnowsze urządzenia Exabyte bez problemu odczytują nawet najstarsze taśmy.Streamery Exabyte, podobnie jak urządzenia AIT, korzystają ze 170-metrowej taśmy.

Page 40: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 35

3.12 Pamięć optyczna

Kiedy wprowadzano na rynek pierwsze płyty kompaktowe, nikt się chyba nie spodziewał, żestaną się one jednym z najlepiej znanych i rozpowszechnionych tworów myśli ludzkiej. Dziśtrudno wyobrazić sobie nowoczesny system komputerowy nie dysponujący napędem CD-ROM. Wszystko to, co kiedyś trzeba było pracowicie upakowywać na dyskietkach, możnateraz wygodnie zgromadzić na błyszczącym krążku. Swoją oszałamiającą karierę płyta CDzawdzięcza dwóm zasadniczym czynnikom: bardzo niskim kosztom produkcji oraz możliwościzapamiętania na niej ogromnych ilości cyfrowych informacji.

3.12.1 Standardy

Standard cyfrowego zapisu dźwięku ogłoszony został w 1982 roku przez firmy Philips i Sony.W związku z formą publikacji określany jest on jako Czerwona Ksiega. Tak powstała mu-zyczna płyta CD, dziś nazywana CD-DA (Compact Disk - Digital Audio) lub popularnie”kompaktem”. Trzy lata później narodził się CD-ROM (Compact Disk - Read Only Memo-ry). W 1987 roku opublikowano specyfikację CD-I (Compact Disk - Interactive), a po rokubazujący na niej multimedialny standard CD-ROM XA (eXtended Architecture) umożliwia-jący jednoczesny odczyt danych, dźwięku i obrazu. W 1990 roku pojawiła się specyfikacjaformatu nośników zapisywalnych, w tym CD-R (CD - Recordable).

”Kolorowe” standardy definiują fizyczną i logiczną strukturę płyty oraz metody korekcjibłędów, pomijając sposób kodowania hierarchicznej struktury katalogów oraz nazw plików.W zależności od rozmieszczenia danych użytkowych i ”technicznych” rozróżnia się kilka for-matów zapisu danych: CD-DA, CD-ROM Mode 1, CD-ROM Mode 2, CD-ROM XA Mode 2Form 1 i CD–ROM XA Mode 2 Form 2.

W 1985 standard znany pod nazwą High Sierra, po drobnych modyfikacjach zatwierdzo-ny przez International Organization for Standardization jako norma ISO 9660. Specyfikacjata opisuje sposób kodowania i obsługi struktury plików oraz katalogów na wszystkich plat-formach sprzętowych. Założony uniwersalizm narzuca jednak dość drastyczne ograniczenia.Nazwy powinny składać się z najwyżej 8 znaków (plus 3 znaki rozszerzenia) oraz zawieraćjedynie litery, cyfry i znak podkreślenia. Nazwy katalogów nie mogą posiadać rozszerzenia, aich zagłębienie nie może przekroczyć ośmiu poziomów.

Zapis na płytę plików i katalogów z nazwami ściśle odpowiadającymi rygorom normyISO 9660 nie zawsze wystarcza. Zdefiniowano zatem jej rozszerzenia, oznaczone symbolamiLevel x. I tak ISO 9660 Level1 umożliwia nazywanie plików i katalogów w sposób stosowanyw systemie DOS, zaś Level 8 jest w pełni zgodny z wymogami UNIX-a. Wraz z systememoperacyjnym Windows 95 pojawił się problem z przeniesieniem na dyski kompaktowe długichnazw zbiorów oraz sposobu ich kodowania. Propozycją jego rozwiązania stał się format ISO9660:1988, czyli Joliet. Jest to przedstawiony przez Microsoft sposób kodowania długich nazwWindows 95 z użyciem międzynarodowego zestawu znaków (tzw. Unicode). Zezwala on nazapis do 64 liter w nazwie zbioru z możliwością użycia spacji. Alternatywny sposób zapisudługich nazw, przedstawiony przez firmę Adaptec, nosi kryptonim Romeo. Zgodnie z nimnazwa zbioru może zawierać do 128 znaków (także spacji), ale jest konwertowana na dużelitery. Jeżeli płyta w formacie Romeo zawiera pliki o długich, identycznie zaczynających sięnazwach, podczas jej odczytu w DOS-ie widać jedynie pierwszy z nich (w formacie Joliet -wszystkie).

Format Red Book dla płyt Audio CD

Opracowany w 1980 roku przez Sony i Philipsa standard Red Book zawiera specyfikacjedotyczące cyfrowych płyt Audio CD. Księga ta określa, w jaki sposób na kompaktach mająbyć zapisywane dane oraz informacje adresowe.

Na początku nagranego zbioru danych znajduje się spis jego zawartości, noszący nazwęTable of Contents (TOC). Red Book opisuje także budowę ścieżek (tracks), których płytaAudio CD może mieć maksymalnie 99. Ścieżki te są podzielone na sektory, z których każdy

Page 41: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 36

zawiera 2352 bajty. Sektory stanowią najmniejszą adresowalną jednostkę na płycie CD. Tzw.ramki minut/sekund określają fizyczny adres danego sektora. Podczas odtwarzania płytyAudio CD w ciągu jednej sekundy odczytywane jest 75 sektorów.

W katalogu zawartości dysku (TOC) znajdują się liczby i adresy startowe ścieżek orazinformacja o typie kompaktu (Data- lub Audio-CD). Tzw. ścieżka wstępna (Lead-In Area,LIA) jest pierwszą ścieżką zawierającą rzeczywiste dane, natomiast katalog zawartości znaj-duje się w wydzielonym obszarze. Cały obszar cyfrowych informacji zamyka ścieżka końcowa(Lead-Out Area, LOA).

Format Yellow Book dla płyt Data CD

Yellow Book stanowi uzupełnienie standardu Red Book i zawiera definicję ścieżek danychdla płyty CD-ROM. Na tym samym kompakcie istnieje odtąd możliwość zapisania ścieżekdanych i audio (Mixed-Mode CD). Zdefiniowane w Yellow Book ścieżki noszą tu odpowiednienazwy: CD-ROM-Mode 1 i CD-ROM-Mode 2. Ścieżki Mode 1 są przewidziane dla danychkomputerowych i mogą być odczytywane przez wszystkie napędy CD-ROM. Mode 2 definiujenatomiast ścieżki przeznaczone dla danych audio, wideo oraz zdjęć.

Standard Yellow Book (Mode 1 i 2)2352 bajty

Sync Header Data EDC ECC Free Tag12 4 2048 8 272 8

2352 bajtySync Header Data12 4 2336

Jak pokazują zamieszczone tabele, struktura sektorów w przypadku ścieżek Mode 1 i Mo-de 2 jest odmienna. Aż 288 bajtów kodu przeznacza się do rozpoznawania i korekcji błędów:obszary EDC (Error Detection Codes) oraz ECC (Error Correction Codes) są wykorzystywa-ne np. wtedy, gdy z powodu zarysowania lub zabrudzenia kompaktu wystąpią błędy odczytu.Dzięki kodom EDC i ECC oryginalne dane mogą być więc zrekonstruowane.

Mechanizm rozpoznawania i korekcji błędów jest szczególnie ważny dla ścieżek Mode 1,gdyż zawierają one dane komputerowe (np. programy). W przypadku ścieżek, które zostałyzapisane w trybie Mode 2, korekcja błędów nie odgrywa tak istotnej roli, gdyż są na nichnagrane dane audio, wideo oraz zdjęcia. Dla ludzkiego oka i ucha drobne błędy transmisji niestanowią bowiem - w przeciwieństwie do procesora komputera - żadnego problemu. Z uwagina fakt, że na ścieżkach Mode 2 nie zapisuje się żadnych informacji dotyczących korekcjibłędów, na nośniku pozostaje więcej miejsca dla rzeczywistych danych.

Standard Yellow Book według CD-ROM/XA (Form 1 i 2)2352 bajty

Sync Header Subheader Data EDC ECC12 4 8 2048 8 272

2352 bajtySync Header Subheader Data EDC12 4 8 2324 4

Nowym typem ścieżki danych jest Mode 2 XA (Extended Architecture). W tym przypadkumożliwe jest zapisywanie na jednej ścieżce danych komputerowych wraz z informacjami EDCi ECC oraz danych audio/wideo bez kodu ECC. Na kompaktach nagranych w trybie Mode2 XA możemy więc zapisywać w dowolnej kolejności dane komputerowe, audio i wideo, anastępnie odtwarzać je równocześnie w ramach aplikacji multimedialnych.

Page 42: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 37

Format Green Book dla płyt CD-i

Standard Green Book określa, w jaki sposób na płycie CD mają być zapisane dane czasurzeczywistego. Kompakty nagrywane według tej specyfikacji noszą nazwę CD-i (CompactDisc Interactive). W przypadku standardu Green Book chodzi przede wszystkim o daneADPCM-Audio, wideo i im podobne, które można mieszać w dowolny sposób. Wada takiegorozwiązania polega na tym, że klasyczne napędy CD-ROM nie potrafią odczytywać ścieżekCD-i, ani w ogóle rozpoznawać kompaktów zapisanych w tym formacie.

Standard Green Book (Mode 1 i Mode 2)2352 bajty

Sync Header Subheader Data EDC ECC12 4 8 2048 8 272

2352 bajtySync Header Subheader Data12 4 8 2328

Format Blue Book (CD Extra, wcześniej CD Plus)

Księga Blue Book definiuje standard płyt CD Plus, który umożliwia rozszerzenie specyfikacjiMixed Mode. Rozwiązanie to pozwala na umieszczenie w ramach własnej sesji dodatkowejścieżki danych na końcu dotychczasowego nagrania. Dzięki temu odtwarzanie kompaktów na-granych zgodnie ze standardem Blue Book nie powoduje już żadnych uszkodzeń w zestawachhi-fi, gdyż dane komputerowe są ściśle odizolowane od informacji audio. Odtwarzacz AudioCD ma więc dostęp wyłącznie do danych audio.

Od niedawna standard ten zmienił nazwę z CD Plus na CD Extra. Bez względu nato, która nazwa widnieje na etykiecie, płytę taką możemy bez obaw odczytywać w każdymodtwarzaczu Audio CD.

Format Orange Book dla płyt CD-R

W księdze Orange Book opisany został sposób, w jaki można zapisywać kolejne sesje nadyskach CD-R. Na nagrywalnych płytach CD dane mogą być nagrywane i kasowane z dowolnączęstotliwością. Podobnie jak w przypadku twardych dysków, także i tu nowe dane mogą byćdodawane do już istniejących. Operacja ta odbywa się jednak w kilku tzw. sesjach, w związkuz czym kompakty takie noszą również nazwę Multisession CD-ROM. Płyta taka może byćodczytana na pececie dopiero wtedy, gdy zostanie ona odpowiednio utrwalona przez programnagrywający.

Format White Book (Video CD)

W księdze White Book znajdziemy pełną specyfikację zapisu obrazu wideo na płytach CD.Opracowanie tego standardu stało się konieczne, gdyż w 1993 roku firmy Philips, Sony, JVCi Matsushita rozpoczęły nagrywanie na kompaktach filmów wideo.

Chociaż płyty CD mają stosunkowo dużą pojemność, to w przypadku pełnometrażowegofilmu okazuje się ona niewystarczająca. Z tego też względu konieczne jest zastosowanie spe-cjalnej techniki kompresji, dzięki której można zapisać więcej danych wideo o jakości zbliżonejdo standardu VHS.

3.12.2 Pamięć optyczna (CD)

Kodowanie i struktura danych

Analogicznie jak w przypadku czarnego krążka, także w muzycznym kompakcie może wystą-pić ”przeskok” ścieżki lub obniżenie jakości emitowanego dźwięku, gdy na powierzchni znajdą

Page 43: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 38

się jakieś zarysowania. Aby zaradzić takim problemom, płyta CD dysponuje pewnymi me-chanizmami zabezpieczającymi, za pomocą których napęd jest w stanie odtworzyć utraconedane. Cały sekret takiego rozwiązania tkwi w sposobie zapisu danych na kompakcie.

Gdy promień laserowy napotyka powierzchnię kompaktu, jest on odbijany i dociera dofotokomórki. W momencie natrafienia na zagłębienie (Pit) promień odbija się w innym kie-runku i dopływ światła do czujnika zostaje przerwany. Taka właśnie zmiana oświetleniajest rozpoznawana przez elektroniczny układ odczytujący. Fotokomórka przechwytująca po-wracający promień laserowy najlepiej rozpoznaje przejście od stanu jasnego do ciemnego.Nośnikiem informacji nie jest więc sama wartość, lecz jej zmiana. Normalną sytuacją napłycie CD jest ciągła zmiana pomiędzy obszarami Pit i Land. Jedynie odstępstwo od tejreguły oznacza wartość logiczną 1. Regularne następowanie po sobie kolejnych wartości Pit iLand mechanizm odczytujący interpretuje natomiast jako ciąg zer. Logiczna jedynka stanowizatem zamierzoną nieprawidłowość w regularnym ciągu Pit-Land. Takie nieregularności niepowinny jednak występować zbyt często, gdyż elektroniczny układ odczytujący nie będzie wstanie prawidłowo odczytać informacji.

Pomiędzy kolejnymi jedynkami musi więc zawsze występować określona minimalna licz-ba zer. Konieczne jest przekodowanie przygotowanych do zapisu danych w taki sposób, abyspełniony został powyższy warunek. Stosowana jest w tym przypadku metoda zwana kodo-waniem EFM (Eight to Fourteen Modulation). Do odwzorowania jednego bajta używa się wniej 14 bitów. Za pomocą takiego ciągu bitów można utworzyć 16 384 (214) kombinacje, zktórych do wykorzystania pozostaje 267. Z tej liczby 256 kombinacji służy do odwzorowaniajednego bajta, a pozostałe 11 możliwości są niezdefiniowane.

Najmniejszy stosowany w kompaktach zestaw bajtów nosi nazwę Small Frame (mała ram-ka) i zawiera 24 bajty informacji oraz 8 dodatkowych do korekcji ewentualnych błędów. Jeślijednak zbyt duża część tego 24-bajtowego ciągu zostanie uszkodzona, to nawet najlepszyukład elektroniczny nie będzie w stanie ich odtworzyć na podstawie ośmiu bajtów zapaso-wych.

Powierzchnia użytkowa płyty CD jest podzielona na specjalne segmenty, zwane sektorami.Sektor taki - określany również mianem Large Frame (duża ramka) - składa się z 98 obszarówSmall Frame. Z uwagi na fakt, że sektory łączą się ze sobą tworząc spiralę, ich liczba nie musibyć z góry określona i może zmieniać się w zależności od pojemności dysku.

W przypadku muzycznych kompaktów pojedynczy sektor odpowiada materiałowi muzycz-nemu o długości około jednej siedemdziesiątej piątej sekundy. Gdy z powodu zanieczyszczeńodczytanie jakiegoś sektora jest niemożliwe, odtwarzacz analizuje sąsiednie bloki danych iprzyjmuje zamiast utraconych informacji najbardziej prawdopodobne wartości. W efekciebłąd taki jest praktycznie niesłyszalny przy odtwarzaniu. Jeśli jednak tego typu usterki bę-dą występować zbyt często, słuchacz może odnieść wrażenie, że brzmienie kompaktu jestnieprawidłowe.

Podobne rozwiązanie nie funkcjonuje jednak w przypadku danych komputerowych, gdyżkomputer może pracować tylko na danych autentycznych, a nie przybliżonych. Z tego teżwzględu konieczne jest zastosowanie bardziej zaawansowanego mechanizmu korekcji błędów.

Liczba bajtów przypadających na jeden sektor jest ustalona dla każdego standardu no-śnika; płyty CD-ROM posiadają z reguły sektory o długości 2352 bajtów. Jeśli od tej liczbyodejmiemy 12 bajtów wykorzystywanych do synchronizacji, 288 bajtów do korekcji błędóworaz 4 bajty umożliwiające dokładne adresowanie każdego sektora, to w jednym sektorzepozostanie miejsce na 2 KB danych. W celu uzyskania takiej ilości danych i późniejszego ichprzesłania do komputera, napęd CD musi jednak fizycznie odczytać z kompaktu ponad 7 KBinformacji.

Wśród 288 bajtów przeznaczonych na korekcję błędów znajdują się 4 bajty kontroli pa-rzystości. W ten sposób elektroniczny układ odczytujący może łatwo ustalić, czy w danymsektorze w ogóle występuje jakiś błąd. Po tych czterech bajtach następuje ciąg 8 bajtów ze-rowych, które mają zapewnić fizyczny odstęp pomiędzy danymi. Na pozostałych 276 bajtachznajdują się informacje nadmiarowe (redundantne), wyliczone na podstawie rzeczywistychdanych. Dzięki tak zakodowanym informacjom istnieje możliwość skorygowania w pewnym

Page 44: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 39

zakresie napotkanych błędów.Płyta CD umożliwia przechowywanie utworów muzycznych w postaci cyfrowej. W studiu

nagraniowym specjalny układ elektroniczny próbkuje dany utwór 44 100 razy na sekundę iprzekształca go na postać Small Frames. Płyta kompaktowa jest zatem nagrywana z często-tliwością próbkowania 44,1 kHz. Przy odtwarzaniu takiego krążka powstaje w związku z tymstały strumień danych o przepustowości 176 kilobajtów na sekundę.

Z uwagi na fakt, że zewnętrzne ścieżki płyty CD są dłuższe niż wewnętrzne, szybkość obro-towa napędu musi być zmienna. Gdy głowica odczytująca znajduje się na skrajnie zewnętrznejścieżce, płyta kompaktowa kręci się z szybkością 200 obrotów na minutę. W przypadku ście-żek wewnętrznych musi ona natomiast wykonać w tym samym czasie 530 obrotów, aby byłomożliwe utrzymanie stałej szybkości transmisji danych (176 KB/s). Mechanizm zachowującystałą szybkość odczytu danych znany jest również pod nazwą techniki CLV (Constant LinearVelocity).

W przypadku odtwarzaczy audio taka zmiana szybkości obrotowej nie stanowi wielkiegoproblemu, gdyż pomiędzy poszczególnymi utworami standardowo występują kilkusekundoweprzerwy. W tym czasie napęd CD może dokonać zmiany szybkości. Napędy CD-ROM niemogą jednak pozwolić sobie na takie przerwy. Szczególnie trudna jest taka zmiana w urzą-dzeniach o x-krotnej szybkości, gdyż napęd musi w ułamku sekundy zwolnić lub przyspieszyćobroty dysku. Dlatego producenci napędów instalują w nich wysokiej jakości silniki krokowe,które umożliwiają błyskawiczną zmianę szybkości obrotowej płyty.

Szybkość liniowa i kątowa

Aby napęd CD-ROM mógł transmitować dane ze stałą szybkością, odczytywana płyta mu-siałaby obracać się ze zmienną szybkością. W momencie, gdy głowica odczytuje wewnętrznyobszar płyty, nośnik musi obracać się nieco szybciej, natomiast w przypadku zewnętrznegoobszaru - nieco wolniej. Zmienną szybkość obrotową wykorzystywało w swojej pracy wielenapędów CD-ROM (technologia ta nosiła nazwę CLV - Constant Linear Velocity, czyli stałejprędkości liniowej). Rozwiązanie to ma jednak pewne istotne wady. Silnik napędu musi stalezwiększać i zmniejszać szybkość obracania płyty, w zależności od tego, która ścieżka jest od-czytywana przez promień laserowy. Mechanizm taki z jednej strony wprowadza dodatkowewibracje, z drugiej - niepożądany czas oczekiwania, gdyż głowica odczytująca jest uaktyw-niana dopiero wtedy, gdy szybkość obrotowa kompaktu będzie zbliżona do optymalnej.

Z tych też względów na rynku rozpowszechniła się inna technologia, nosząca nazwę CAV(Constant Angular Velocity). W tym przypadku napęd CD-ROM pracuje zawsze z tą samąszybkością obrotową - bez względu na położenie głowicy odczytującej. Konsekwencją takiegorozwiązania jest większa szybkość transmisji danych, jeśli są one odczytywane z zewnętrznychobszarów płyty. Aby zmniejszyć nieco ten efekt, należy stosować rozwiązanie kompromisowe,któremu nadano nazwę Partial CAV. Płyta CD obraca się wówczas ze stałą prędkością ką-tową do chwili, w której laser będzie chciał odczytać zewnętrzne ścieżki nośnika (20 procentcałego obszaru danych). W tym momencie silnik obniży automatycznie swoją szybkość obro-tową. Zastosowanie takiego mechanizmu pozwala na utrzymanie stosunkowo dużych szybkościtransmisji, które nie będą jednak zbyt wyraźnie odbiegać od wartości średniej.

Źródła błędów

Istnieje bardzo wiele źródeł błędów odczytu płyt CD. Jeśli w trakcie procesu produkcyjnegodo szklanej matrycy dostanie się kurz lub w tworzywie budującym płytę powstaną pęcherzykipowietrza, to możemy spodziewać się utraty całych bloków danych. Z tego też względu, abymechanizm korekcji błędów miał większą swobodę działania, dane zapisane na płycie CDsą trochę rozproszone. Jeżeli uszkodzeniu uległo mniej niż 450 kolejnych bajtów, to istniejemożliwość ich zrekonstruowania.

Producent kompaktów sprawdza więc, jak dużo fizycznych błędów odczytu posiadająnowo wyprodukowane płyty. Niemal standardowym parametrem kompaktu jest więc mak-symalna liczba błędów przypadających na sektor (BLER, Block Error Rate). Wartość ta

Page 45: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 40

jest jednak z reguły ustalana w zupełnie dowolny sposób. Zwykle jako maksymalną dopusz-czalną wielkość parametru BLER przyjmuje się liczbę 220. Przy korekcji błędów decydująceznaczenie ma fakt, w którym miejscu i w jakiej grupie pojawiła się usterka. W normalnymprzypadku elektroniczny układ korygujący może bez problemu naprawić błędy na nośniku owartości BLER 220. Jeśli jednak na powierzchni takiej płyty znajdą się dodatkowo rysy lubzabrudzenia, prawidłowy odczyt danych może być niemożliwy

Z uwagi na istnienie mechanizmu korekcji błędów odtwarzacze kompaktowe są stosunkowomało czułe na zabrudzenia powierzchni. Kolejna zaleta wynika bezpośrednio z praw fizyki.Ognisko strumienia laserowego jest położone stosunkowo daleko od powierzchni (ok. 1,2 mm).W ten sposób - na podstawie praw optyki - minimalizowany jest negatywny wpływ zanieczysz-czeń nośnika. Zabrudzenia te są bowiem na tyle nieostre, że praktycznie stają się niewidoczne.Zjawisko to można wykorzystywać tylko w pewnych granicach. Plama o powierzchni zaledwiejednego milimetra kwadratowego przykrywa bowiem ponad 230 kilobajtów informacji!

Kolejnym źródłem błędów odczytu kompaktów są same napędy. Nawet najlepsze układymechaniczne nie zawsze zapewniają dostęp do właściwego miejsca na dysku. Silnik wprawia-jący płytę CD w ruch obrotowy nie pracuje przez cały czas z identyczną szybkością obrotową.

Także niektóre dyski kompaktowe nie są idealnie wycentrowane. Tendencja do minimalizo-wania kosztów skłania ponadto wielu producentów do stosowania w napędach tanich układówmechanicznych, nie dorównujących precyzją droższym rozwiązaniom. We wszystkich tych sy-tuacjach prawidłowy odczyt danych jest możliwy tylko dzięki istnieniu elektronicznego układukorekcji błędów.

3.12.3 Pamięć optyczna (CD-R)

Jeszcze kilka lat temu istniał poważny problem dotyczący pamięci masowych. Wymaganiapojemnościowe stawały się coraz większe, a tradycyjne nośniki kosztowały ogromne sumy,nie zapewniając wymaganej wydajności i efektywności. W odpowiedzi na oczekiwania użyt-kowników pojawiły się płyty CD-R, które w krótkim czasie stały się niezmiernie popularne.Oferując dużą pojemność (650 MB), przy rozsądnym koszcie nagrania, były praktycznie bez-konkurencyjne. W ciągu kilku lat ilość sprzedawanego sprzętu i wciąż rosnący popyt pozwoliłobniżyć ceny urządzeń nagrywających tak, by stały się dostępne dla przeciętnego użytkow-nika.

Do momentu powstania płyty CD-R ”kompakty” tłoczono w całości, nie było więc po-trzeby, by na płycie znajdowała się więcej niż jedna sesja. W momencie powstania nośnikówCD-R możliwy stał się zapis informacji partiami. Każda partia danych zapisana na płycienosi nazwę sesji. Sesja może się składać z jednej lub kilku ścieżek w tym samym bądź różnymformacie. Dobrym przykładem, pozwalającym zrozumieć różnicę pomiędzy sesją a ścieżką,jest płyta CD-DA. Każdy utwór nagrany na takiej płycie jest ścieżką, a zbiór wszystkichutworów stanowi jedną sesję.

Konieczność jednorazowego zapisania całej sesji implikuje wymóg doprowadzenia do urzą-dzenia nagrywającego równomiernego strumienia danych. W razie przerwy w dopływie da-nych nośnik zwykle zostaje trwale uszkodzony. Zapewnienie ciągłego strumienia danych wpraktyce może się okazać wyjątkowo trudne. Stąd zaleca się wyłączenie podczas nagrywaniafunkcji oszczędzania energii, mogących doprowadzić do spowolnienia procesora lub ”uśpie-nia” dysku. Warto również powstrzymać się w tym czasie od jakiejkolwiek pracy z innymiaplikacjami oraz zadbać o zamknięcie wszystkich zbędnych programów zwykle pracującychw tle, jak np. wygaszacza ekranu czy sterowników sieciowych. Co prawda, wydajność współ-czesnych komputerów, szybkie procesory i dyski o dużym transferze w dużej mierze eliminująte niedogodności, nawet w przypadku pracy pod kontrolą wielozadaniowych systemów ope-racyjnych. Zawsze jednak istnieje możliwość zakłócenia strumienia danych i w konsekwencjizniszczenia nagrywanej właśnie płyty. Milowym krokiem w stronę rozwiązania tego problemujest technologia zapisu pakietowego - Incremental Packet Writing.

Page 46: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 41

Zapis pakietowy

Universal Data Format definiuje pakietowy sposób zapisu danych. W przypadku napędówCD-R możemy mieć do czynienia z czterema wielkościami pakietów nagrywanych bez wy-łączania lasera zapisującego. Największym możliwym do nagrania blokiem danych jest całydysk. Tryb Disk at Once polega na ciągłym zapisie wielu ścieżek. W drugim przypadku- Track at Once - laserowa głowica jest wyłączana po zapisaniu każdej ścieżki. Stwarzato wprawdzie konieczność oddzielenia ich dodatkowymi krótkimi blokami (run-in/run-out),lecz pozwala na zapis poszczególnych ścieżek w odstępach czasowych (umożliwiających uzu-pełnienie danych w buforze). Trzecim z trybów jest Session at Once, czyli zapis sesji lubpłyty w kilku podejściach, z możliwością kontroli odstępów (bloków run-in/run-out) pomię-dzy poszczególnymi ścieżkami. Największą elastyczność daje jednak zmniejszenie wielkościpakietu do minimum, jak ma to miejsce w przypadku przyrostowego zapisu pakietowe-go (Incremental Packet Writing). Po raz pierwszy rozwiązanie to zastosowano w modelu JVCXR-W2010. Polega ono w przybliżeniu na tym, że nagranie małych porcji danych nie wymagazakończenia sesji czy płyty. Dopuszczalne są dowolnie długie odstępy czasu oddzielające na-granie poszczególnych pakietów. Płytę do zapisu pakietowego należy najpierw przygotowaćw urządzeniu CD-R (”sformatować”). By możliwy był odczyt takiej płyty, trzeba zastąpićinterpreter obrazu ISO 9660 (np. MSCDEX) sterownikiem obsługującym format ISO 9660Level 3. Innym sposobem, stosowanym w programach obsługujących nagrywanie pakietowe,jest zakończenie ”sesji pakietowej”, a więc zapisanie nagłówków dotyczących ostatecznej in-formacji w sposób zgodny z ISO 9660. Po takim zabiegu płyta jest czytana we wszystkichurządzeniach CD-ROM, a rozpoczęcie następnej sesji pakietowej wymaga ponownego ”sfor-matowania” kolejnej ścieżki (informacji na temat zapisu pakietowego szukaj na CHIP CD12/96).

3.12.4 Pamięć optyczna (CD-RW)

Płyty CD-R doskonale spełniały swe zadanie w przypadku długoterminowego składowaniadanych, okresowych archiwizacji, a nawet niskonakładowych publikacji. Ich jedyną wadą byłbrak możliwości wielokrotnego zapisu. Uniemożliwiało to swobodne przenoszenie danych, jakw przypadku dyskietek i ograniczało nieco krąg możliwych zastosowań. Potrzebne było nowerozwiązanie i tak powstało CD-RW będące naturalnym rozwinięciem technologii CD-R. CD-RW posiada możliwość wielokrotnego kasowania zawartości płyty i nagrywania jej od nowa.Nośnik prawie niczym nie różni się od zwykłej płyty CD-ROM, pozwala zapisywać dane wtakich samych formatach, jak CD-R i jest odczytywany przez większość nowych czytników.

Struktura krążka CD-RW

Zasadniczą i najpoważniejszą nowością jest wewnętrzna struktura płyty CD-RW. Aby przy-stosować płytę do zapisu zmiennofazowego, należało stworzyć nośnik o odmiennych właściwo-ściach chemicznych. Warstwa nagrywana jest teraz zbudowana ze stopu czterech pierwiastków(srebro, ind, antymon, tellur). Posiada ona zdolność zmiany przezroczystości zależnie od mo-cy padającej na jej powierzchnię wiązki lasera. Absolutnym novum jest, oczywiście, fakt, żezmiany powierzchni płyty spowodowane nagrywaniem są odwracalne. Oznacza to, że wypa-lony i nieprzezroczysty punkt może pod wpływem działania światła o specjalnie dobranymnatężeniu zmienić swoje własności i stać się przezroczystym. Warstwa główna jest otoczonaz obu stron powłokami materiału dielektrycznego, który ma za zadanie poprawienie odpro-wadzania ciepła z nośnika. Staje się to bardzo istotne, gdyż skumulowane ciepło mogłobyskasować wcześniej zapisane na płycie informacje. Najdalej od głowicy lasera leży warstwasrebra, która jest właściwym elementem odbjającym światło. Również nieco inny jest me-chanizm nanoszenia zmian na płytę. Elementem umożliwiającym kasowanie i powtórny zapisdanych na dysku CD-RW jest laser o zmiennej mocy. Standardowe nagrywarki CD-R mogłyemitować wiązkę światła o dwóch różnych natężeniach: bardzo małym - tylko do odczytui w żaden sposób nie zmieniającym struktury nośnika - oraz bardzo dużym - służącym do

Page 47: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 42

miejscowego i gwałtownego podniesienia temperatury warstwy głównej. Jeśli punkt na płyciezostał naświetlony podczas nagrywania laserem dużej mocy, w warstwie nośnika zachodziłyodpowiednie reakcje i stawała się ona nieprzezroczysta. Przez obszar nie naświetlony laseremdużej mocy światło mogło nadal bez przeszkód docierać do warstwy refleksyjnej.

W przeciwieństwie do swojego poprzednika nośnik CD-RW, dzięki specjalnemu składowi,reaguje całkowicie odmiennie na wiązkę światła o średniej mocy. Naświetlenie nią punktu po-woduje odwrócenie ewentualnych wcześniejszych zmian i przywrócenie płycie stanu początko-wego. Zmiennofazowa technika zapisu umożliwia również bezpośrednie nadpisywanie danychbez wstępnego czyszczenia przeznaczonego dla nich miejsca. Przyspiesza to całą operację,gdyż jeśli konieczne byłoby uprzednie usunięcie zawartości (tak jak to jest np. w nośnikachmagnetooptycznych), każda operacja musiałaby przebiegać dwukrotnie.

Zabieg powtórnego zapisu może być wykonywany wielokrotnie. Jednak wbrew niektórymprzekonaniom, istnieje granica wytrzymałości nośnika. Zazwyczaj wynosi ona około tysiącacykli nagraniowych. Nie jest to oszałamiająco dużo, ale zakładając, że daną płytę kasujesię raz w tygodniu, zostałaby ona zniszczona dopiero po 19 latach nieprzerwanego użytko-wania. Raczej nie jest możliwe, aby jakikolwiek produkt cieszył się popularnością przez 20lat. Trzeba zdać sobie sprawę, że za kilka lat z pewnością zostanie wynaleziony nowy sposóbprzechowywania danych i CD-RW straci swoją pozycję.

Nieuniknione zmiany musiały dotknąć także samych urządzeń nagrywających, są onejednak minimalne. Główne modyfikacje przeprowadzono w elektronice, a korekty układuoptycznego są bardzo nieznaczne. Dzięki temu nagrywarki CD-RW są w stanie bez żadnychproblemów nagrywać zwykłe krążki CD-R. Taka własność czyni je urządzeniami uniwersal-nymi. Niewielkie różnice sprzętowe powodują także, że cena nagrywarki CD-RW jest tylkominimalnie wyższa od ceny standardowej nagrywarki (CD-R).

Sprawa zgodności

Zawsze, gdy na rynku pojawia się nowy nośnik danych wypływa problem kompatybilności zdotychczas wyprodukowanymi i zainstalowanymi odtwarzaczami. Niestety dotknął on rów-nież płyt CD-RW, które nie są czytane przez starsze napędy CD-ROM-ów. Związane jestto z o wiele mniejszym natężeniem światła odbijanego od powierzchni płyty i wracające-go do czytnika. W przypadku zwykłego, tłoczonego CD odbijane jest ok. 65% światła, a wCD-RW - tylko 25%. Aby umożliwić zwykłym napędom CD-ROM odczyt danych z płytywielokrotnego zapisu, stworzono elektroniczny mechanizm, wzmacniający sygnał detektoraodbitych promieni lasera. Czytniki, które posiadają taki system, otrzymują miano zgodnychze standardem Multi-Read (MR). W chwili obecnej wszystkie napędy potrafią odczytać pły-ty CD-RW. Niewątpliwą przewagą nad płytami CD-R jest to, że CD-RW są kompatybilne zDVD. Zainstalowany tam laser generuje fale o długości 650 nm, podczas gdy w standardo-wym CD-ROM-ie - 780 nm. Z powodu tej różnicy i specyficznej struktury, CD-R nie będąodczytywane przez większość napędów DVD. Natomiast CD-RW nie są czułe na taką zmianędługości fali lasera i ten problem się nie pojawi.

3.12.5 Pamięć optyczna (DVD)

Swoim wyglądem płyta DVD bardzo przypomina tradycyjny nośnik CD-ROM. Część produ-centów określa nowe krążki jako ”Digital Video Disk”, inni z kolei podkreślają ich uniwersal-ność za pomocą ”Digital Versatile Disk”. Ten nazewniczy bałagan jest nieodłącznie związanyz tworzeniem nowego standardu. Wokół ustalenia końcowej wersji specyfikacji DVD toczą sięod lat nieustanne dyskusje i trwa ostra rywalizacja.

Standard DVD opracowany został przez specjalne konsorcjum, które utworzyła grupa firmz branży elektronicznej. Członkami tego gremium są Hitachi, JVC, Matsushita, Mitsubishi,Philips, Pioneer, Sony, Thomson, Time Warner i Toshiba. Wspólnym celem wymienionychfirm jest rozpowszechnienie na rynku nowego standardu oraz zapewnienie przestrzeganiazałożeń technicznych stworzonej specyfikacji.

Page 48: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 43

Nośniki DVD powinny w przyszłości wyprzeć z rynku płyty kompaktowe i taśmy wideo.Przejście ze standardu CD na DVD będzie łatwe dzięki zachowaniu kompatybilności w dół -odtwarzacze DVD czytają płyty CD. Główną zaletą nowych nośników jest duża pojemność- w zależności od typu płyty można na nich zapisać do 17GB informacji, a więc niemal 27razy więcej niż w przypadku tradycyjnych kompaktów. Tak dobre wyniki udało się uzyskaćmiędzy innymi poprzez zastosowanie nowej techniki dwuwarstwowej wykorzystującej półprze-puszczalny materiał, z którego wykonana jest górna warstwa. Jeśli mają być odczytywanedane z dolnej warstwy, zmieniana jest długość fali światła laserowego, które dzięki temu możeprzeniknąć głębiej.

Aby przełączanie pomiędzy warstwami następowało płynnie i bez zakłóceń, pierwsza war-stwa odczytywana jest od środka na zewnątrz dysku, a druga w kierunku przeciwnym. Dziękitemu w momencie przełączenia pomiędzy warstwami nie zachodzi potrzeba szybkiej zmianypołożenia lasera ani prędkości obrotowej dysku. Ponadto dla zachowania płynności odczytuwprowadzono pamięć buforową. Jeżeli takie same warstwy zostaną umieszczone również naodwrotnej stronie krążka, wówczas powstanie dwustronna, dwuwarstwowa płyta zdolna po-mieścić 17 GB danych, czyli niemal 27 razy więcej niż zwykły CD. Oczywiście, nie wszystkiepłyty muszą być 17-gigabajtowymi olbrzymami. Dla większości współczesnych zastosowań wzupełności wystarczy jednostronny, jednowarstwowy DVD - 4,7 GB pozwala zapisać ponad-dwugodzinny film wideo wysokiej jakości w standardzie MPEG-2.

Pod względem przeznaczenia płyty DVD dzielimy na trzy grupy: DVD-ROM, DVD-Audioi DVD-Video. Nowe nośniki możemy również pogrupować według ich pojemności 4,7-17GB.

DVD-ROM

Urządzenia odczytujące DVD są kompatybilne z płytami CD-ROM i zapisywalnymi kompak-tami. Aby móc odtwarzać te nośniki danych, czytniki DVD zostały wyposażone w specjalnelaserowe układy próbkujące. Głównym obszarem zastosowań płyt DVD są filmy wideo w for-macie MPEG2. Kolejną możliwość wykorzystania tych nośników stanowią zaawansowane gry,które zajmują kilka standardowych płyt CD-ROM. Aby utrudnić nielegalne kopiowanie, pły-ty Video DVD będą sprzedawane wraz z kodem kraju pochodzenia (Area Code), w związku zczym będzie je można odczytywać tylko na kompatybilnych odtwarzaczach. W konsekwencjiamerykańskie krążki nie będą działały w europejskich napędach, co z pewnością znacznieograniczy możliwość rozpowszechnienia się standardu DVD.

Na rynku dostępne są obecnie następujące rodzaje płyt DVD-ROM:

� Single Layer, Single-Sided, 4,7 GB (odpowiada to 135 minutom filmu wideo w formacieMPEG);

� Dual Layer, Single-Sided, 8,5 GB (około 240 minut);

� Single Layer, Double-Sided, 9,4 GB (około 270 minut);

� Dual Layer, Double-Sided, 17 GB (około 480 minut).

DVD-RAM

Znacznie ciekawszą propozycją jest DVD-RAM, który, podobnie jak technologia CD-RW,pozwala na wielokrotny zapis nośnika. W lipcu 1997 roku DVD Forum (Hitachi, Kodak, Pa-nasonic, Mitsubishi, Philips, Pioneer, Sony, Thompson, Toshiba i JVC) opracowało standardpozwalający zapisać 2,6 GB danych na jednej stronie płyty DVD-RAM (5,2 GB dwustron-nie). Według zapewnień producentów płyty DVD-RAM mogą być zapisywane nawet 100tysięcy razy. Tymczasem pod koniec 1997 roku Sony, Philips i Hewlett-Packard zaprezento-wały własny format DVD+RW, zapewniający pojemność 3 GB, który jest niekompatybilnyz poprzednim standardem. Niedługo później NEC przedstawił swoją koncepcję, pozwalającązapisać do 5,2 GB. Jednak dzisiaj produkowane są jedynie urządzenia pracujące w ”orygi-nalnym” standardzie DVD-RAM.

Page 49: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 44

Podczas produkcji płyty DVD-RAM na jej powierzchni tworzone są rowki (grooves) od-dzielone od siebie wypukłymi polami (lands). Również w trakcie wytwarzania na określo-nych obszarach powstają nagłówki sektorów (sector headers). Zapis danych, wykorzystującytechnologię zmiany fazy, odbywa się zarówno w obszarze rowków, jak i pól. Dzięki takie-mu ukształtowaniu powierzchni odnalezienie właściwej ścieżki jest znacznie łatwiejsze niż wprzypadku napędów CD-ROM, ponieważ krawędzie pomiędzy obszarami wykorzystywane sąjako punkty orientacyjne. Granica między rowkiem a polem jest dodatkowo pofalowana, cow trakcie wirowania płyty jest źródłem sygnału informacyjnego, pozwalającego precyzyjniejustawić głowicę lasera i zmniejszyć poziom błędów odczytu.

Podstawową wadą tej odmiany DVD jest brak zgodności z innymi standardami - pły-ty DVD-RAM nie mogą być odczytywane w tradycyjnych odtwarzaczach DVD-ROM, którewymagają wyższego współczynnika odbijania światła. Niemniej możliwości wykorzystaniapłyt DVD-RAM nie ograniczają się do archiwizacji danych. Ich ogromną zaletą jest to, że wwielu sytuacjach mogą pełnić funkcję superszybkich, łatwych w obsłudze dyskietek o ogrom-nej pojemności. Ponieważ napędy DVD-RAM czytają również płyty DVD-ROM, można sięspodziewać, że ich popularność w niedalekiej przyszłości znacznie się zwiększy.

Obecnie dostępne są następujące rodzaje płyt DVD-RAM:� Single Layer, Single-Sided, 2,6 GB;� Single Layer, Double-Sided, 5,2 GB.

DVD-Video

Z uwagi na fakt, że płyta DVD ma wystarczająco dużą pojemność, pozwalającą na zapisaniecałego filmu wraz z kilkoma wersjami dźwięku i napisów, przemysł filmowy od samego po-czątku wykazywał duże zainteresowanie nowym nośnikiem. Jakość przechowywanego w tensposób obrazu i dźwięku jest znacznie wyższa niż w przypadku tradycyjnych taśm wideo. Nie-stety, nawet na płycie DVD zapisywanie całych filmów jest możliwe tylko dzięki zastosowaniuzaawansowanych metod kompresji.

O ile dla krążków DVD-ROM za wystarczającą uznaje się technikę programową MPEG-1(rozdzielczość 353x240 pikseli, współczynnik kompresji 1:30), o tyle do odtwarzania filmówwideo konieczne jest już użycie sprzętowego mechanizmu MPEG-2. Standard ten akceptujeobraz o rozdzielczości 720x480 pikseli i umożliwia uzyskanie współczynnika kompresji nawet1:200.

DVD-Audio

Innym obszarem zastosowań nośników DVD jest branża audio. Tradycyjna płyta CD pozwalana zapisanie 70 minut dźwięku w systemie stereo. Ponieważ przyjmuje się, że ludzkie uchojest w stanie usłyszeć dźwięk w zakresie częstotliwości do 22kHz, zgodnie z twierdzeniemShannona jako maksymalny zakres przyjmuje się wartość dwukrotnie wyższą, czyli 44,1kHz.Częstotliwość próbkowania — zapisu analogowego dźwięku w postaci cyfrowej — wynosizatem 44,1kHz, a głębia - 16bitów.

Nowy standard DVD-Audio ma — podobnie jak DVD-Video — oferować dźwięk Sur-round, znacznie wzbogacający odbiór nagrań koncertowych. W przyszłości na rynku marównież pojawić się standard Super-Audio, który umożliwi odtwarzanie dźwięku z częstotli-wością próbkowania 96kHz i 24-bitową głębią. Dzięki temu nośniki DVD będą mogły uzyskaćto, co według muzycznych koneserów nie jest możliwe w przypadku tradycyjnych kompaktów– dostęp do profesjonalnego rynku audio (high-end). Jest jednak mało prawdopodobne, byprzeciętny śmiertelnik był w stanie rozpoznać jakąkolwiek różnicę jakości dźwięku w stosunkudo płyty CD.

Na nośniku DVD wszystkie dane — tak jak na kompakcie CD — zapisane są na jednej spi-ralnej ścieżce. Poszczególne informacje mają postać niewielkich zagłębień na aluminiowej,

Page 50: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 45

lustrzanej powierzchni płyty (tzw. pits). Jeśli podczas odczytu strumień lasera natrafi naobszar pomiędzy zagłębieniami (tzw. land), to ulegnie on odbiciu. W przypadku obszarówPit następuje natomiast takie odchylenie promienia, że nie trafia on już do specjalnego foto-tranzystora, pełniącego funkcję odbiornika sygnału. Poszczególne obszary na płycie są więcinterpretowane przez czytnik odpowiednio jako ”1” lub ”0”. W celu uzyskania większej po-jemności konstrukcja nośnika DVD - w porównaniu z płytą CD - została w kilku miejscachistotnie zmieniona. Płyta DVD składa się z dwóch sklejonych ze sobą dysków, z którychkażdy pozwala na dwustronny zapis danych. Z uwagi na fakt, że nie zawsze wykorzystywanesą wszystkie możliwości nowego nośnika, istnieją cztery odmiany płyty DVD, różniące siępojemnością.

Przykład: 4 schematy struktury DVD.

Dzięki zastosowaniu znacznie mniejszych struktur danych na jednej stronie pojedynczegodysku DVD można zapisać ponad siedem razy więcej informacji niż w przypadku tradycyj-nego kompaktu. Minimalną długość obszaru Pit ograniczono bowiem z 0,83 (płyty CD) do0,4 mm. Również ścieżki danych zostały umieszczone bliżej siebie - odległość tę zmniejszonoz 1,6 do 0,74 mikrometra. Aby przy tak dużej gęstości zapisu istniała możliwość poprawnegoodczytu danych, do obsługi płyt DVD wykorzystywane są lasery o mniejszej długości fali.O ile w standardowym napędzie CD-ROM używany jest laser podczerwony (długość fali 780nanometrów), o tyle do odczytu płyt DVD wykorzystuje się czerwony laser o długości fali640 nm. W przypadku płyty dwuwarstwowej dane zapisywane są po obu stronach dyskówskładowych. Górna warstwa nośnika ma półprzepuszczalną powierzchnię, co umożliwia od-czytywanie dwóch warstw płyty za pomocą tego samego, odpowiednio ogniskowanego układuoptycznego. Dane zapisane na dolnej warstwie mogą być albo odczytywane równolegle z gór-ną (cyklicznie zmieniana jest wtedy ogniskowa promienia laserowego), albo głowica czytnikaprzeczyta najpierw dane z jednej ścieżki (od środka na zewnątrz), a potem z drugiej (odzewnątrz do środka). W ten sposób możliwy jest nieprzerwany odczyt obrazu wideo zapisa-nego na obu warstwach płyty. Dwuwarstwowe krążki DVD można poznać po złotym kolorzenośnika oraz umieszczonych na jednej stronie dwóch numerach seryjnych. W celu uzyskaniamaksymalnej pojemności 17 gigabajtów należy skleić ze sobą dwa dyski dwuwarstwowe. Donagrania czterogodzinnego filmu wystarcza już jednak jednostronny, dwuwarstwowy nośnikDVD o pojemności 8,5GB.

Struktura sektora danych krążka DVD

Sektor danych płyty DVD (2064 B) składa się z 12 ramek po 172 bajty każda i mieści 2052bajtów danych. Pierwsza ramka zawiera 32-bitowy numer sektora, po którym następują dwabajty wykorzystywane podczas korekcji błędów. Kolejnych sześć pól 8-bitowych zarezerwo-wano do wykorzystania w przyszłości. Ostatnich 160 bajtów pierwszej ramki i kolejnych 11ramek to użyteczne dane zapisane na krążku.

Przykład 3.3 Schemat sektora danych krążka DVD.

3.12.6 Technologia BURN-Proof

Podczas wypalania kompaktów nie można przerwać pracy lasera w dowolnym momencie.Niewielki bufor pamięci RAM zamontowany w nagrywarce pozwala na kontynuowanie zapisunawet podczas chwilowego zatrzymania dopływu danych. Jeżeli jednak w ciągu kilku sekundstrumień znowu nie popłynie, bufor zostanie opróżniony, a proces wypalania - przerwany.Efektem tego błędu, powszechnie znanego jako ”buffer underrun”, w przypadku stosowanianośnika jednokrotnego zapisu (CD-R) jest zniszczenie płyty.

Page 51: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 46

Niektóre przyczyny braku dopływu danych do bufora, powodujące przerwanie nagrania, sąwłaściwie poza naszą kontrolą. Zaliczyć do nich można nie najlepiej zrealizowaną w Windows9x wielozadaniowość, problemy z dostępem do sieci oraz wiele innych konfliktów dowolnychczęści wykorzystywanego komputera lub systemu. Z tego względu nagrywanie wymienianejest często jako proces, podczas którego łatwo można stracić (bezpowrotnie zniszczyć) wyko-rzystany nośnik.

Po wznowieniu zapisu przerwanego na skutek opróżnienia bufora między sektorami pozo-staje mały odstęp. Nie ma to jednak żadnego wpływu na odczytywanie danych przez napędyCD-ROM.

W napędach nowej generacji, gdzie zastosowano technologię BURN-Proof (skrót od BufferUnderRuN Proof), nie ma problemów z dostarczaniem danych do bufora (np. odczytywaniemich z dysku) i żadne zabezpieczenia nie są potrzebne. Wystarcza nawet niewielka pamięćpodręczna napędu i popularny interfejs EIDE, a mimo to obsługa urządzenia jest tak prostajak w przypadku napędu dyskietek.

Mechanizm działania nowego sposobu zapisu nie jest skomplikowany. Od momentu rozpo-częcia nagrania stale sprawdzany jest poziom zapełnienia wewnętrznego bufora. Jeżeli daneprzestaną napływać i napełnienie bufora spadnie poniżej 10% jego maksymalnej pojemności,znajdującą się tam resztkę informacji wykorzystuje się do doprowadzenia nagrania do wybra-nego miejsca na dysku – w praktyce do końca najbliższego sektora. Podczas gdy nagrywarkakontynuuje próby wyciągnięcia następnych danych z komputera i wypełnienia nimi swegobufora, obwody BURN-Proof określają miejsce na krążku, gdzie został zapisany ostatni sek-tor. Gdy go znajdzie, głowica lasera umieszczona zostaje w prawidłowym miejscu i oczekujena napływ danych do bufora. Po jego ponownym wypełnieniu proces nagrywania zostajewznowiony od następnego niezapisanego sektora. Sterowanie położeniem głowicy musi byćjednak na tyle precyzyjne, aby nie dopuścić do powstania większego od określonego w ”po-marańczowej księdze” na sto mikrometrów (w praktyce zwykle około 40) odstępu pomiędzysąsiadującymi sektorami.

Pierwsze modele z nową technologią zostały zaprezentowane przez firmę Sanyo. Jej pro-cesor sterujący pracą urządzenia, oprócz nowej technologii, wyróżnia się także obsługą wielufunkcji realizowanych w innych ”wypalarkach” przez dodatkowe układy i dlatego w pełnizasługuje na miano ”nagrywarkowego” chipsetu.

Łatwo można wywnioskować, że z elementów wymaganych do obsługi nowej technologiitrudniejsze było wykonanie wystarczająco precyzyjnej części mechanicznej napędu niż jegoczęści elektronicznej. Warto jeszcze dodać, że swoje wersje systemów podobnych do BURN-Proofa wprowadziła na rynek firmy Yamaha (system Optimum Write Speed Control) i Ricoh(JustLink).

O przyszłości napędów obsługujących nośniki optyczne świadczy następująca notka z PCWORLD KOMPUTER 12/2001, strona 20: ”Firma Hawlett-Packard kończy produkcję na-grywarek CD-RW. Koncern skupi się na nagrywarkach DVD. . . . Firma nie zaprezentuje kolej-nych napędów CD-R/CD-RW, zaś produkcja starych modeli potrwa do pierwszych miesięcyprzyszłego (tj. 2002 roku).”

3.12.7 Słowniczek

Audio-CD w audio CD poszczególne utwore muzyczne pamiętane są na swojej własnejścieżce. Chociaż taki muzyczny kompakt zawiera kilka ścieżek, nie jest bynajmniejCD wielosesyjnym, gdyż wszystkie te ścieżki zarządzane są przez jeden jedyny TOC.MultiSession CD zawierają jak wiadomo kilka TOC, powiązanych ze sobą odsyłaczami.Muzyczny TOC może pomieścić do 99 wpisów dla nagranych na audio CD utworówmuzycznych.

Bufor - obszar pamięci RAM okresowo przeznaczony na przechowywanie danych.

Page 52: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 47

caddy - wyciągana na zewnątrz napędu płaska i zamykana szufladka chroniąca płytę

CAV (Constant Angular Velocity) - stała prędkość obrotowa; technologia odczytu cha-rakteryzująca się pracą ze stałą prędkością obrotową silnika napędu. Pozwala na unik-nięcie zmian prędkości, ale dane zapisane bliżej środka płyty czytane są dużo wolniejniż na jej zewnętrznych krawędziach

CD-Bridge specyfikacja zapisu informacji CD-I na dysku CD-ROM XA. Używany dla dys-ków Photo CD i VideoCD.

CD-DA (Digital Audio) standardowy format zapisu muzyki.

CD-Extra tryb zapisu Mixed Mode polegający na zapisywaniu ścieżek dźwiękowych napoczątku płyty.

CD-I (CD Interactive) - system interaktywnej rozrywki bazujący na płytach CD. Tenformat zapisu stosowany jest w tych CD, w których między odtwarzaniem dźwięku iruchomych obrazów istnieć musi ścisła synchronizacja.

CD-PLUS Standard kompaktów, w którym dane są zapisywane w dwóch sesjach. Pierwszasesja zawiera dane audio, które mogą być także odczytywane przez zwykły odtwarzaczaudio. W drugiej sesji znajdują się natomiast dane komputerowe, których odtwarzaczaudio nie jest w stanie odczytać.

CD-R (CD Recordable) - płyta CD, na której możliwy jest zapis za pomocą CD-Recordera.

CD-ROM jest skrótem od Compact Disk Read Only Memory. Format ten definiuje sposóbzapisu na CD danych komputerowych.

CD-ROM XA (eXtended Architecture) - format zoptymalizowany pod kątem potrzebmultimediów.

CD-UDF (CD Universal Data Format) - standard opisujący nagrywanie danych pakie-tami.

CLV (Constant Linear Velocity) - stała prędkość liniowa; technologia polegająca na zmia-nie prędkości obrotowej płyty w zależności od umiejscowienia odczytywanych zbiorów;daje bardziej równomierną prędkość liniową odczytu, lecz pociąga za soba czasochłonnąkonieczność ciągłego rozpędzania i hamowania nośnika

DAO ”disk at once” jest techniką zapisu, w której poszczególne ścieżki rejestruje się bezpo-średnio jedna za drugą. Na końcach ścieżek znaczniki inicjujące (lead-in) i zamykające(lead-out) nie są zapisywane - czyli dokładnie na odwrót niż w przypadku track-at-once(patrz dalej).

Disk at Once - metoda pozwalająca na ciągły zapis kilku ścieżek.

Fixing czyli zamykanie CD, polega na zapisaniu znacznika zamykającego (lead-out) na koń-cu CD. Dopiero po zamknięciu dysk kompaktowy można odczytywać w dowolnym na-pędzie CD-ROM.

Format Hybrid Umożliwia połączenie struktury katalogów HFS firmy Apple ze standar-dem ISO 9660.

Helix dane na CD-ROM-ie zapisywane są zawsze wzdłuż spirali (helix), biegnącej od wnę-trza płyty na zewnątrz. Aby na całej powierzchni dysku CD uzyskać stałe natężeniestrumienia danych, prędkość obrotowa silnika wrzeciona musi być stale zmieniana wzależności od położenia głowicy zapisująco-odczytującej.

Incremental Packet Writing - przyrostowy zapis pakietowy. Umożliwia nagranie danychmałymi porcjami bez potrzeby zamykania sesji czy płyty.

Page 53: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 48

Image jako ”image”, czyli obraz, określa się cyfrową kopię zawartości ścieżki. Specjalną jegoformą jest ”ISO image” (obraz fizyczny), zawierający dokładne odwzorowanie ścieżkiISO-9660. Jeszcze inną postacią jest obraz zewnętrzny, który albo wytwarzany jestprzez aplikację, albo odczytywany z CD.

ISO 9660 (High Sierra) - norma opisująca niezależny od systemu operacyjnego hierar-chiczny system plików na dysku CD-ROM.

ISRC (International Standard Recording Code) - kod występujący na płytach CD-DA na początku każdej ścieżki. Zawiera dane o prawach autorskich i dacie zapisu.

Jouliet zestandaryzowany przez Microsoft system plików, bazujący na ISO 9660. Pozwalastosować nazwy plików o długościach do 64 znaków. Pliki te mogą być również odczy-tywane przez starsze wersje DOS-a i Windows.

Kolorowe księgi Dla różnych zakresów zastosowań zdefiniowano normy, które zebrano w”kolorowych” księgach. Czerwona Księga: audio CD; Zielona Księga: multimedialny CD(CD-I); Biała

Księga wideo CD; Żółta Księga: CD dla danych; Niebieska Księga: mieszany CD (audio idane).

Lead-in, lead-out dwa znaczniki, określające początek i koniec jednej sesji. ”Lead-in” ozna-cza znacznik inicjujący, zaś ”lead-out” - znacznik zamykający.

Mixed Mode Ścieżki danych oraz audio są zapisywane razem w ramach jednej sesji. Od-twarzacz Audio-CD rozpoznaje wówczas tylko ścieżki audio, ignorując napotkane danekomputerowe.

Multi Session CD technika rejestracji, w której CD zapisywany jest w kilku sesjach. Zatemw trakcie jednej sesji wypalany jest tylko jeden fragment całej ścieżki danych. Aby pokażdym procesie zapisywania wszystkie dotychczasowe dane można było jednoznacznieadresować na CD, każda sesja prócz właściwych danych użytkowych zawiera swój wła-sny znacznik inicjujący (lead–in), TOC i znacznik zamykający (lead-out). Spisy treści(TOC) każdej z sesji powiązane są w łańcuch, dzięki czemu komputer, wychodząc odostatnio zapisanego TOC, może dotrzeć do danych wszystkich poprzednich sesji. Wiel-ką zaletą rejestracji wielosesyjnej jest to, że do CD można dopisywać dane kilkakrotnie,jednak za tę możliwość płaci się wysoka cenę. Pierwsza sesja zajmuje 23 megabajtyna dane organizacyjne, każda następna - 15 megabajtów. Jeśli więc chcielibyśmy naCD zmieścić pełnych 650 megabajtów danych użytkowych, musimy jako metodę zapisuwybrać SingleSession.

Multi Volume CD ta metoda zapisu jest szczególną odmianą MultiSession CD. Wpraw-dzie w przypadku dysków wielowoluminowych dane nagrywane są także w kilku sesjach,jednak odpowiednie oprogramowanie nie tworzy powiązań (link) pomiędzy poszczegól-nymi TOC. Dlatego każda sesja jest zamkniętą w sobie jednostką informacyjną (wolu-minem) na CD. Kompakty wielowoluminowe mają kilka wad: zwykłe napędy CD-ROMpotrafią najczęściej odczytać tylko ostatnio zapisany wolumin. Dostęp do wszystkichwoluminów zrealizować można wyłącznie w nagrywarce CD-ROM-ów, co zresztą wy-maga zainstalowania specjalnego windowsowego sterownika, który każdy wolumin przy-pisuje do jednej litery napędu.

Obraz ISO 9660 - plik zawierający dokładną kopię danych w postaci, w jakiej są zapisanena płycie CD.

Obraz wirtualny - obraz plików i katalogów utworzony w pamięci komputera w sposóbumożliwiający pobieranie ich z dysku podczas nagrywania płyty.

Page 54: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 49

On the Fly technika rejestracji, w której zapisywane dane generowane są dopiero w trakcieprocesu zapisywania. Stawia to przed komputerem i systemem operacyjnym wysokiewymagania, ponieważ podczas zapisywania otwieranych i zamykanych jest wiele plików.

Overburning - ”powiększenie” płyty, polegające na przesunięciu i skróceniu czasu Lead-Outu (pustego obszaru zamykającego sesję). Uzyskane w ten sposób miejsce wykorzy-stywane jest na ”upchanie” większej ilości danych na płycie. Żeby moć korzystać zoverburningu, musimy posiadać nagrywarkę obsługującą tę funkcję.

Photo-CD Płyty Photo-CD wykorzystują standard ISO 9660 rozszerzony o specyfikacjęISO 9660 XA. Struktura tego typu kompaktów umożliwia zapisywanie obrazu. Abykomputer miał dostęp do wszystkich sesji płyty Photo-CD, potrzebny jest wielosesyjnynapęd CD.

Płyta jednosesyjna (Single-Session CD) Kompakt taki wykorzystuje pojedynczą ścież-kę danych zgodną ze standardem ISO 9660. Na nośniku można umieszczać obok siebiedane komputerowe i audio; mówimy wówczas o płycie Mixed-Mode CD. Każdy napędCD-ROM jest w stanie odczytywać płyty Single-Session CD.

Płyty wielosesyjne - nośniki, na których informacje umieszczone są w kilku kolejnych se-sjach zapisu; po każdym kolejnym nagraniu spis treści krążka uaktualniany jest nowymipozycjami, co pozwala na bezpośredni dostęp do całej zawartości

Romeo - sposób zapisu długich nazw Windows 95. Nazwa zbioru może mieć do 128 znakówi jest konwertowana na duże litery.

Single Session CD w tej metodzie zapisu wszystkie dane zapisywane są na CD-ROM-ie ”zajednym zamachem”. Po zakończeniu procesu wypalania złoty krążek jest raz na zawszezamknięty, co oznacza, że w przyszłości nie będzie można do niego dopisać żadnychnowych danych. Zapisana na SingleSession CD informacja rozpoczyna się od znacz-nika inicjującego (lead-in), po którym następuje TOC, właściwe dane oraz znacznikzamykający (lead-out).

Sektory Run-Out Z powodu opóźnienia przy wyłączaniu lasera zapisującego na końcudanego fragmentu danych lub ścieżki powstają zawsze dwa uszkodzone sektory. Wtrybie Track-at-Once sektory te tworzą się po każdej ścieżce, natomiast w trybie Disc-at-Once - nie.

Sesja (Session) Specyfikacja Orange Book określa tą nazwą obszar ograniczony polamiLIA i LOA. Płyta kompaktowa może zawierać maksymalnie 99 sesji, ale zwykle ma ichznacznie mniej.

Session at Once - sposób zapisu płyty w kilku podejściach z możliwością kontroli odstępów(bloków run-in/run-out) pomiędzy ścieżkami.

Ścieżka (Track) Logiczna jednostka danych na płycie kompaktowej. Ścieżka może zawieraćalbo dane komputerowe (CD-ROM, XA), albo muzykę (CD-DA). Minimalna długośćpojedynczej ścieżki wynosi 600 sektorów. Przed każdą ścieżką musi znajdować się 150pustych sektorów (około 2 sekund nagrania na płycie audio), które w przypadku pierw-szej ścieżki są przeznaczone na obszar TOC. W trybie zapisu Disc-at-Once jedyniepierwsza ścieżka musi zawierać 150 pustych sektorów.

SAO (Session At Once) - tryb nagrywania w jednej sesji bez wyłączania lasera. Pomiędzyścieżkami nie ma żadnych przerw. W odróżnieniu od trybu DAO następne sesje mogąbyć dodane później.

TAO (Track-At-Once) - tryb zapisu polegający na zapisywaniu jednorazowo pojedynczejścieżki. W przypadku CD z danymi różnica w stosunku do ”disk at once” jest nie-wielka. W CD dźwiękowych TAO wstawia po każdej ścieżce dwusekundową przerwę.

Page 55: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 3. PAMIĘĆ 50

Przy samodzielnym nagrywaniu kompaktów muzycznych powoduje, iż między kolejny-mi utworami występuje niepożądana często przerwa. W przerwach pomiędzy wypala-niem kolejnych ścieżek komputer przygotowuje następną porcję danych do nagrywaniakolejnej ścieżki. Za każdym razem, gdy laser kończy pracę, wypala dwa bloki wyjściowe(tzw. Run-Out blocks). Wraz ze wznowieniem pracy nagrywane są jeszcze dwa dodat-kowe bloki wejściowe (tzw. Run-In blocks). Powstałe w ten sposób dodatkowe bloki sąignorowane przez normalne odtwarzacze CD-ROM i nie powodują ujemnych skutkówtransmisji danych, jednak niektóre urządzenia audio mogą odtworzyć tę przerwę jakopojedynczy ”klik”. Dlatego też preferowaną metodą nagrywania płyt audio jest trybDisc-At-Once.

TOC (Table of Contents) - spis zawartości płyty; zawiera wszystkie informacje na tematliczby zapisanych ścieżek, ich długości i zajmowanego obszaru.

Track oznacza tyle co ”ścieżka” i mylony jest często z określeniem ”sesja”. W przypadku CD-ROM pod pojęciem ścieżki rozumie się tę część spirali danych, która zawiera informacjeużyteczne i adresowana jest przez TOC - odnosi się to zarówno do dysków jedno-, jaki wielosesyjnych.

Track at Once - metoda zapisu, w której laser jest wyłączany po zapisaniu każdej ścieżki.Stwarza to konieczność zapisu dodatkowych bloków (run-in/run-out) pomiędzy ścież-kami, lecz pozwala na zapis poszczególnych ścieżek w odstępach czasowych (kiedy np.potrzebny jest czas na dostarczenie danych do bufora).

UDF (Universal Disc Format) - format, który może być używany przy zapisie płyt CD-R/CD–RW/DVD metodą pakietową..

UPC (Universal Product Code) - 13-cyfrowy kod płyty, który może zostać zapisany wTOC.

Wielosesyjność (Multi-Session) Jest to możliwość zapisania na jednym kompakcie kilkuzestawów danych (tzw. sesji) w ramach różnych cykli nagrywania. Do odczytu wielose-syjnego kompaktu potrzebny jest kompatybilny napęd CD oraz odpowiedni sterownik.Nowe napędy CD-ROM i ich sterowniki nie sprawiają pod tym względem żadnych pro-blemów.

Write Test - test zapisu przeprowadzany przy zmniejszonej mocy lasera. Pozwala zoptyma-lizować parametry zapisu w warunkach identycznych do prawdziwego zapisu.

Zamknięcie sesji (Closing Session) Pecet może odczytywać płytę CD tylko wtedy, gdysesja nagrywania została zakończona (utrwalona). Dotyczy to zarówno do płyt Single-Session jak i Multi-Session.

Zapis pakietowy - metoda nagrywania polegająca na zapisie małych fragmentów danych(pakietów). Oprogramowanie obsługujące zapis pakietowy potrafi nagrać dane z wyko-rzystaniem dowolnego menedżera plików.

Page 56: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

Rozdział 4

Magistrale

4.1 Wprowadzenie

Magistrala jest drogą zapewniającą komunikację między urządzeniami. Główną cechą cha-rakterystyczną magistrali jest to, że jest ona wspólnym nośnikiem transmisji. Do magistralidołącza się wiele urządzeń, a sygnały wysyłane przez którekolwiek z nich mogą być odbieraneprzez wszystkie pozostałe urządzenia. Oczywiście dwa urządzenia nie mogą nadawać w tymsamym czasie, gdyż ich sygnały wzajemnie zakłócałyby się; w określonym czasie może więcnadawać tylko jedno urządzenie.

Często magistrala składa się z wielu dróg/linii komunikacyjnych. Każdą linią mogą byćprzesyłane sygnały reprezentujące binarne 0 i 1. W ciągu pewnego czasu przez pojedyńcząlinię może być przekazana sekwencja cyfr binarnych. Kilka lini zawartych w magistrali możnawykorzystywać razem do jednoczesnego (równoległego) transmitowania bitów.

System komputerowy zawiera pewną liczbę różnych magistral, które łączą zespoły kom-putera na różnych poziomach hierarchii. Magistrala łącząca główne zespoły komputera (pro-cesor, pamięć, wejscie-wyjście) nazywana jest magistralą systemową.

4.2 Struktura magistrali

Magistrala systemowa składa się z kilkudziesięciu oddzielnych linii. Każdej linii jest przypi-sane okerślone znaczenie lub funkcja. Linie wchodzące w skład magistrali systemowej możnapodzielić na trzy grupy funkcjonalne: linie danych, sdresów i sterowania.

Linie danych są ścieżkami służącymi do prznoszenia danych między modułami systemu.Linie te określa się łącznie jako szyna danych. Liczba linii wchodzących w kład szyny danychokreśla jej szerokość. Ponieważ w danym momencie każda linia może przenosić tylko 1 bit, zliczby linii wynika, ile bitów można jednocześnie przenosić. Szerokość szyny danych jest klu-czowym czynnikiem określającym wydajność całego systemu. Jeśli na przykład jej szerokośćwynosi 8 bitów, a każdy rozkaz ma długość 16 bitów, to procesor musi łączyć się z modułempamięci dwukrotnie w czasie każdego cyklu rozkazu.

Linie adresowe są wykorzystywane do określania źródła lub miejsca przeznaczenia da-nych przesyłanych magistralą. Jej szerokość determinuje maksymalną możliwą pojemnośćpamięci systemowej. Ponadto linie adresowe są również używane do adresowania portów wej-scia/wyjscia.

Linii sterowania używa się do sterowania dostępem do linii danych i linii adresowych atakże do sterowania ich wykorzystaniem. Ponieważ linie adresowe i danych służą wszystkimzespołom, musi istnieć sposób sterowania ich używaniem. Sygnały sterujace przekazywanemiędzy modułami systemu zawierają zarówno rozkazy, jak i informacje regulujące czas (tak-tujące). Sygnały czasowe określają ważność danych i adresów. Sygnały rozkazów prezyzująoperacje, które mają być przeprowadzone. Typowe linie sterowania to linie:

51

Page 57: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 4. MAGISTRALE 52

Zapis w pamięci. Sprawia, że dane z magistrali zostają zapisane pod określonym adresem.

Odczyt z pamięci. Sprawia, że dane spod określonego adresu są umieszczane w magistrali.

Zapis do wejścia/wyjścia. Sprawia, że dane z magistrali są kierowane do zaadresowanegoportu wejścia/wyjścia.

Odczyt z wejścia/wyjścia. Sprawia, że dane z zaadresowanego portu wejścia/wyjścia sąumieszczane na magistrali.

Potwierdzenie przesłania. Wskazuje, że dane zostały przyjęte z magistrali lub na niejumieszczone.

Zapotrzebowanie na magistralę. Wskazuje, że moduł zgłasza zapotrzebowanie na prze-jęcie sterowania magistralą.

Rezygnacja z magistrali. Wskazuje, że moduł rezygnuje ze sterowania magistralą.

Żądanie przerwania.

Potwierdzenie przerwania.

Zegar. Wykorzystywany do synchronizowania operacji.

Przywrócenie. Ustawia wszystkie moduły w stanie początkowym.

Działanie magistrali, jako środka pośredniczącego w komunikacji modułów, jest bardzoproste. Jeśli jeden z modułów zamierza wysłać/odebrać dane od drugigo, to musi:

1. Uzyskać dostęp do magistrali.

2. Przekazać dane za pomocą magistrali/Przekazać zapotrzebowanie do modułu przezodpowiednie linie sterowania i adresowe a następnie czekać, aż drugi moduł wyśle dane.

W większości systemów komputerowych wykorzystuje się struktury wielomagistraloweo określonej hierarchii. Spowodowane jest to zjawiskiem spadku wydajnosci w przypadkudołączenia do jednej magistrali zbyt wielu urządzeń, a stać się to może głównie z dwóchpowodów.

# Na ogół im więcej urządzeń dołączono do magistrali, tym większe jest opóźnienie propa-gacji. Opóźnienie to określa czas potrzebny do tego, aby skoordynować wykorzystaniemagistrali. Jeśli sterowanie magistralą przenosi się często od zespołu do zespołu, toopóźnienia te mogą zauważalnie obniżyć wydajność.

# Magistrala może stać się wąskim gardłem, jeśli zapotrzebowanie na przesłanie zgro-madzonych danych zbliża się do pojemności magistrali. Problemowi temu można dopewnego stopnia przeciwdziałać, zwiększając szybkość przenoszenia danych przez ma-gistralę, a także stosując szersze magistrale. Ponieważ jednak szybkosć i ilość genero-wanych danych wzrasta obecnie bardzo szybko, przesyłanie pojedynczą magistralą jestw tym wyścigu skazane na porażkę.

W typowej, tradycyjnie stosowanej strukturze występuje lokalna magistrala łącząca pro-cesor i pamięć podręczną. Może ona wspierać jedno lub więcej urządzeń lokalnych. Sterownikpamięci podrecznej łączy te pamięć nie tylko do magistrali lokalnej, ale również do magi-strali systemowej, do której dołączone są wszystkie moduły pamięci głównej. Dzięki temupamięć główna może być przesunięta z magistrali lokalnej do systemowej. W ten sposóbwejście/wyjście komunikuje się z pamięcią główną przez magistralę systemową, nie kolidującz działalnością procesora. Możliwe jest podłączenie sterowników wejścia/wyjścia bezpośred-nio do magistrali systemowej. Bardziej efektywnym rozwiązaniem jest jednak wykorzystaniedo tego celu jednej lub wielu szyn rozszerzeń. Interfejs szyny rozszerzenia buforuje daneprzesyłane między magistralą systamową a sterownikami wejścia/wyjścia dołaczonymi doszyny rozszerzenia. Rozwiązanie to umożliwia systemowi wykorzystywanie wielu urządzeńwejścia/wyjścia i jednocześnie izolowanie ruchu między pamięcią a procesorem od ruchu zwią-zanego z wejściem/wyjsciem.

Page 58: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 4. MAGISTRALE 53

Przykład: tradycyjna architektura magistralowa.

Tak przyjęta architektura jest rozsądnie efektywna, jednak zaczyna się załamywać w miarę,jak rośnie wydajność urządzeń wejścia/wyjścia. Stąd też, jako powszechnie przyjęte postę-powanie, jest budowa szybkich magistrali ściśle zintegrowanych z resztą systemu. Wymagająone tylko mostu między magistralą procesora a magistralą szybką. Rozwiązanie to określanejest czasem jako architektura międzypiętrowa. Zaletą takiego rozwiązanie jest to, że szybkamagistral ściślej sprzęga procesor z urządzeniami wejścia/wyjścia o wysokich wymaganiach,a jednocześnie jest niezależna od procesora. Dzięki temu mogą być tolerowane różnice pro-cesora i szybkiej magistrali, a także różne definicje linii sygnałowych. Zmiany architekturyprocesora nie wpływają na szybką magistralę i na odwrót.

Przykład: architektur o dużej wydajności.

Przykład: budowa wewnętrzna komputera HP VECTRA 486/V.

4.3 Podstawowe parametry

Chociaż występuje wiele różnych rozwiązań magistrali, istnieje kilka podstawowych parame-trów i elementów projektowych, które służą do ich klasyfikowania i różnicowania. Projektującmagistralę należy wziąć pod uwagę:

rodzaj – specjalistyczna

– multipleksowana

metodę arbitrażu – centralną

– rozproszoną

koordynację czasową – synchronicza

– asynchroniczna

sposób wymiany informacji – szeregowa

– równoległa

szerokość magistrali – adres

– dane

rodzaj transferu danych – odczyt

– zapis

– odczyt–modyfikacja–zapis

– odczyt po zapisie

– blokowy

Rodzaje magistrali

Linie magistralowe mogą być podzielone na dwa rodzaje: specjalistyczne i multipleksowane.Linia specjalistyczna jest trwale przypisana albo jednej funkcji (specjalizacja funkcjonal-na), albo fizycznie (specjalizacja fizyczna) określonym zespołom komputera.

Jako przykład tej pierwszej mogą służyć oddzielne linie adresowe i danych stosowane po-wszechnie w systemach komputerowych. Może się jednak zdażyć, że zarówno adresy jak i danetransmitowane są przez ten sam zespół linii przy wykorzystaniu linii sterowania określającejważność adresu. W tym przypadku każdy moduł ma do dyspozycji określony odcinek czasuna skopiowanie adresu i stwierdzenie czy jest adresowanym modułem. Adres jest następnieusuwany z magistrali, a te same połączenia magistralowe są wykorzystywane do przenoszenia

Page 59: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 4. MAGISTRALE 54

danych. Metoda używania tych samych linii do wielu celów jest znana jako multipleksowa-nie czasowe.

Zaletą multipleksowania czasowego jest stosowanie mniejszej liczby linii, co pozwala oszczę-dzić miejsce i (zwykle) koszt. Wadą jest to, że wewnątrz każdego modułu są potrzebne bar-dziej złożone układy. Może ponadto nastąpić spadek wydajności, gdyż niektóre zdarzeniawymagające tych samych linii nie mogą zachodzić równolegle.

Pojęcie specjalizacji fizycznej odnosi się do używania wielu magistral, z których każdałączy tylko określoną grupę modułów.

Do zalet specjalizacji fizycznej należy zaliczyć ich potencjalnie dużą przepustowaść i moż-liwość uniezależnienia pewnych modułów od siebie. Wadą jest zwiekszony rozmiar i kosztsystemu.

Metoda arbitrażu

We wszystkich systemach, wyłaczając te naprawdę proste, zapotrzebowanie na dostęp domagistrali może zgłoszać kilka różnych modułów. Oczywiście, w określonym przedziale cza-su, tylko jeden z nich dostęp ten otrzyma. Który — to zależy właśnie od przyjętej metodyarbitrażu. Jej celem jest zawsze wyznaczenie jednego urządzenia jako nadrzędnego. Urządze-nie nadrzędne może następnie inicjować transfer danych z innymi urządzeniami, które w tymokreślonym przesyłaniu gra rolę podrzędną. Istnieje wiele różnych sposobów postępowania.O każdej z nich można jednak powiedzieć, że jest albo scentraliowana albo rozproszona.

W układzie scentralizowanym istnieje jedno urządzenie, zwane sterownikiem magistralilub po prostu arbitram, które jest odpowiedzialne za gospodarowanie czasem na magistrali.

W układzie rozproszonym centralny sterownik nie występuje. Każdy moduł zawiera ukła-dy logiczne sterujące dostępem, a moduły współpracują korzystając ze wspólnej magistrali.

Koordynacja czasowa

Pojęcie koordynacji czasowej odnosi się do sposobu w jaki koordynowane (czyli uzależniane)są zdarzenia na magistrali.

Przy koordynacji synchronicznej występowanie zdarzeń na magistrali jest wyznaczoneprzez zegar. Magistrala zawiera linię zegarową, którą zegar transmituje regularną sekwencjękolejno zmieniających się zer i jedynek o takim samym czasie trwania. Pojedyncza transmisja1-0 nazywana jest cyklem zegara lub cyklem magistrali i określa przedział czasowy. Wszystkieinne urządzenia dołączone do magistrali mogą odczytywać stan linii zegarowej, a wszystkiezdarzenia rozpoczynają się równocześnie z cyklem zegara. Sygnały na magistrali mogą sięzmieniać w momencie narastania sygnału zegarowego (oczywiście z nieznacznym opóźnieniemwynikającym z czasu propagacji sygnału i czasu reakcji).1 Podstawową zaletą takiego systemujest łatwość manipulacji prędkością transmisji.

Przykład: koordynacja czasowa synchroniczna.

Przy koordynacji asynchronicznej występowanie zdarzeń na magistrali jest zależne od zda-rzenia poprzedzającego.

Przykład: koordynacja czasowa asynchroniczna.

Koordynacja synchroniczna jest łatwiejsza do wdrożenia i testowania. Ceną tego jest jednakmniejsza elastyczność. Ponieważ wszystkie urządzenia dołączone do magistrali synchronicznejsą zależne od ustalonej szybkosci zegara, system nie może w pełni wykorzystać postępu w wy-dajności urządzeń. Przy koordynacji asynchronicznej magistrala może być wykorzystywanawspólnie przez urządzenia szybkie i wolne, wykorzystujące nową i starą technologię.

1Istnieje oczywiście możliwość aktualizowania stanów magistrali zarówno przy wznoszącym jak i opada-

jącym zboczu zegara — patrz pamieci DDR.

Page 60: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 4. MAGISTRALE 55

Sposób wymiany informacji

Wymiana informacji między urządzeniami może przebiegać, w zależności od konstrukcji ma-gistrali łączącej, w formie równoległej lub szeregowej. Magistrala równoległa przesyła w jed-nym cyklu całe słowo danych. Komunikacja poprzez złącze szeregowe odbywa się na innychzasadach. Kolejne pozycje bitowe słowa danch przenoszone są tym samym przewodem. Licz-ba linii połączeniowych jest z reguły dużo mniejsza, ale komplikuje się protokół i pojawiakonieczność wprowadzenia dodatkowch sygnałów kontrolnych.

Szerokość magistrali

Szerokość szyny danych ma wpływ na wydajność systemu: im jest ona szersza, tym więk-sza jest liczna jednocześnie przesyłanych bitów. Szerokość szyny adresowej ma natomiastwpływ na pojemność systemu: im szersza jest szyna adresowa, tym większa jest ilość miejscmożliwych do okerślenia w pamięci.

Rodzaje transferu danych

Magistrala służy do przesyłania różnego rodzaju danych. Wszystkie magistrale obslugujązarówno zapis jak i odszyt. W przypadku multipleksowanych szyn adresów i danych, szynajest najpierw używana do specyfikowania adresu, a następnie do przesyłania danych. Woperacji odczytu występuje typowe oczekiwanie, podczas gdy dane są pobierane z modułupodrzędnego i wprowadzane do magistrali.

W przypadku specjalistycznych szyn adresów i danych, adres jest lokowany na szynieadresowej i pozostaje tam w czasie, gdy dane są doprowadzane do szyny danych. Przy okazjizapisu moduł nadrzędny umieszcza dane na szynie danych natychmiast po ustabilizowaniusię adresu, gdy moduł podrzędny ma możliwość rozpoznania adresu. Przy operacji odczytumoduł podrzędny umieszcza dane na szynie danych tuż po rozpoznaniu adresu.

Na niektórych magistralach dopuszczalne są operacjr kombinowane. Operacja odczyt-modyfikacja-zapis jest po prostu odczytem, po którym natychmiast następuje zapis pod tymsamym adresem. Adres jest rozgłaszany tylko raz, na początku operacji. W typowym przy-padku cała operacja jest niepodzielna w celu zapobieżenia dostępowi do danych przez innepotencjalne moduly nadrzędne.

Odczyt-po-zapisie jest niepodzielną operacją składającą się z zapisu, po którym natych-miast następuje odczyt z tego samego adresu.

Niektóre systemy magistralowe umożliwiają także blokowe przesyłanie danych. W tymprzypadku po jednym cyklu adresu następuje n cykli danych. Pierwsza grupa danych jestprzesyłana pod sprecyzowany adres (lub pobierana pod tym adresem), pozostałe dane sąprzesyłane pod następne adresy (lub pobierane pod tymi adresami).

Przykład: rodzaje magistralowego transferu danych.

4.4 Przykłady rozwiązań

4.4.1 Magistrala zewnętrzna w modelu PC/XT

Będący pierwowzorem dla modelu XT , mikrokomputer IBM PC był konstrukcją ośmiobitowąopartą na procesorze 8086 (lub jego oszczędnościowej wersji 8088). Dla procesora 8086 char-katerystyczne są dwa tryby pracy: minimalny i maksymalny. W trybie minimalnym procesorsam wytwarza sygnały sterowania magistralą systemową. Tryb maksymalny wymaga obec-ności specjalnego dekodera, który, bazując na sygnałach ststusowych procesora, wytwarzaniezbędne sygnały sterujące.

Page 61: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 4. MAGISTRALE 56

Przykład: schemat blokowy komputera XT.

Zewnętrzna magistrala architektury PC/XT jest ośmiobitowa. Komputery tej klasy wypo-sażane były w umieszczone na płycie głównej 62-końcówkowe gniazda rozszerzenia. Liczbatych gniazd nie była jednoznacznie sprecyzowana i zależała od modelu płyty. Teoretyczniejest całkowicie obojętne, w którym z gniazd umieszczono daną kartę, bowiem wyprowadzeniawszystkich gniazd połączono równolegle. W praktyce zdarzało się, że niektóre karty umiesz-czone zbyt blisko siebie zakłócały się.

Karty rozszerzające są niezmiernie ważnym elementem architektur komputera. Dają onebardzo dużą elastyczność w projektowaniu urządzeń peryferyjnych, które z punktu widzeniaoprogramowania będą zachowywały się tak, jak gdyby znajdowały się na płycie głównej.

4.4.2 Magistrala ISA

Wraz z powstaniem modelu PC/AT, którego ogólną sylwetkę określa się mianem ISA (In-dustry Standard Architecture), wprowadzono nową magistralę zewnętrzną. Podobnie jak wmodelu PC/XT, większa część sygnałów magistrali systemowej wyprowadzona jest do gnizad,w których można umieszczać karty rozszerzające. W tym przypadku magistrala zewnętrznajest już jednak 16-bitowa. Gniazda rozszerzające są podzielone na dwa odcinki: pierwszy62 stykowy, jest praktycznie zgodny z 8-bitową nagistralą XT, drugi stanowi jej 36-stykoweuzupełnienie. Dzięki temu magistrala zewnętrzna dysponowała wyprowadzeniami 24-bitowejsystemowej szyny adresowej, 16-bitowej szyny danych i większości sygnałów systemowej szynysterującej. W modelu tym jedynymi układami mogącymi przejąć pełną kontrolę nad magi-stralami systemowymi (tzn. inicjować transmisję i decydować o jej kierunku) są procesor ikontroler DMA. Żaden inny procesor zamontowany na karcie rozszerzającej nie może sterowaćw bezpośredni sposób magistralami systemowymi. Wprawdzie na magistrali zewnętrznej wy-prowadzono sygnał MASTER, ale procedura przejęcia sterowania rozpoczyna się od wymianysygnałów uzgodnienia z kontrolerem DMA, który to dopiero odłącza procesor systemowy odmagistral.

4.4.3 Magistrala EISA

Najwęższym gardłem architektury ISA stała się właśnie magistrala zewnętrzna. Chąc zara-dzić ograniczeniom jakie ona narzycała wprowadzono rozszerzoną archiekturę ISA znaną jakoEISA (Extended ISA). System ten stanowił istotny krok na drodze do wykorzystania pełnychmożliwości procesorów 32-bitowych. Architektura tak okazała się jednak niezwykle kosztow-na ze względu na swoją komplikację. Zachowano bowiem możliwość współpracy z dotychczasstosowanymi peryferiami ISA. Za każdym razem kontroler magistrali decydował czy pod-czas bieżącej operacji można pracować w nowym, 32-bitowym trybie, czy należy symulować16-bitowy. To samo dotyczyło oczywiście kontrolera DMA. Zmiany jakie wprowadzała nowaarchitektura można okerślić jako poważną operację plastyczną. Oto zmiany które dotknęłymagistral

Dowolny kontroler umieszczony na jednej z kart rozszerzających EISA ma nieograniczo-ne możliwości sterowania magistralą systemową. System przydziału magistral kolejnymprocesorom jest dosyć rozbudowany i umożliwia hierarchiczno-priorytetowy sposób do-stępu.

Karty rozszerzające EISA mają do dyspozycji, oprócz wielu sygnałów sterujących, 32bity systemowej szyny adresowej i 32 bity systemowej szyny danch. Na magistralęzewnętrzną EISA składa się 98 sygnałów standardu ISA oraz 90 nowych linii.

Aby zachować wymóg zgodności z kartami ISA, gniazda EISA mają szczególną kon-strukcję. Styki gniazd ułożone są na dwóch poziomach. Poziom górny dostarcza wszyst-kich sygnałów standardu ISA, natomiast w dolnym umieszczono dodatkowe końcówkiEISA. Normalna karta ISA nie może być wsunięta tak głęboko, by sięgać linii dodat-kowych styków. Możliwe jest to dla kart EISA dzięki odpowiednim wycięciom.

Page 62: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 4. MAGISTRALE 57

Istotne zmiany objęły również kontroler DMA. Dzięki temu stał się możliwy transferdanych nie ograniczonych do bloków 64 kB, co miało miejsce w ISA.

Wszystkie magistrale EISA są 32 bitowe. Ponadto procesory 80386 i 80486 mają moż-liwość użytkowania magistrali w specjalnym trybie następujących po sobie kolejnychcykli dostępu (Burst), co oznacza osiąganie adresowanego obiektu w jednym takciezegarowym.

Podsumowanie

Przykład: architektura komputera z magistralą ISA/EISA.

W architekturze PC AT bezpośrednio do szyny procesora dołączono tylko pamięć podręczną.Magistrala procesora (32 linie adresowe, 32 linie danych, linie sterujące) jest taktowana ze-garem o częstotliowści 25 lub 33 MHz. Zatem teoretyczny maksymalny transfer wynosił 132MB/s, w praktyce ok. 100 MB/s. Obie magistrale: 16-bitowa ISA i 32-bitowa EISA pracująz zegarem 8MHz. Teoretycznie transfer większości danchy przez złącze EISA wymaga mini-mum dwóch cykli zegara; dla magistrali ISA — 8. Stąd maksymalny, możliwy do osiągnięcia,transfer wynosi 8 MB/s dla ISA i 33 MB/s dla EISA. Szybkość ta dodatkowo ograniczanajest przez protokół przesyłania danych. Porównanie teraz tych dwóch transferów (transfer namagistrali procesora i transfer na magistrali rozszerzającej) dobitnie pokazują jak bardzo ISAa pośrednio także EISA ograniczały możliwości komputera. problem ten stał się szczególnieistotny wraz z nastaniem graficznych środowisk pracy, kiedy to należało przesłać bardzo dużąilość danych w bardzo krótkim czasie.

4.4.4 Magistrala MCA

Architektura MCA (Micro Chanel Architecture) po raz pierwszy została wprowadzona wmodelu IBM PS/2. Ma w niej miejsce zdecydowany odwrót od tradycyjnego, upartego (wcelu zachowania kompatybilności) trzymania się standardu ISA. Dotyczy to zarówno cechlogicznych jak i fizycznych. Przepustowość magistrali zewnętrznej MCA sięga 20 MB/s. Każ-da z kart rozszerzeń ma swój niepowtarzalny numer identyfikacyjny. Dzięki temu możliwajest jednoznaczna identyfikacja rodzaju karty. Jej konfiguracja odbywała się tylko i wyłącz-nie na drodze dialogu z programem instalacyjnym. Na karcie brakuje jakichkolwiek zwór iprzełączników. Informacja o konfiguracji karty przechowywana jest w systemowej pamięciCMOS. Również pojedyńcze gniazda magistrali zewnętrznej zaczęły być identyfikowane wramach systemu. Dało to na przykład możliwość progrmowego odłączania karty znajdującejsię fizycznie w złączu. Powodem dla któreko architektura ta nie usyskała większej popu-larności była polityka koncernu IBM. Wszystkie bowiem charakterystyczne cechy systemuopatentowano. Stąd też narodził się standard EISA — jako obrona rynku producentów przedmonopolem IBM.

4.4.5 Magistrala VESA

Ponieważ producenci nie mogli liczyć na zdobycie licencji na magistralę MCA, a jeśli jużim się to udało, to wiązało się z dużymi opłatami, powstał pewnego rodzaju pseudo stan-dard. Pseudo, gdyż każdy producent stosował tu swoje prywatne rozwiązania, choć idea byławszędzie taka sama.

Jak można się zorientować z lektury wcześniejszych akapitów w systemach mieliśmy doczynienia z następującą sytuacją. Magistrala procesora była, jak na owe czasy, wystarczajacoszybka. Przepustowość magistral rozszerzeń, również mogłaby wystarczyć, gdyby nie pewien”problemik”. Grafika, bo o niej tu mowa, stawiała bardzo wysokie wymagania dotyczącetransferu danych. W tym momencie dochodzimy właśnie do sedna sprawy. Skoro magistralaprocesora jest szybka, a my mamy dużo ”obrazków” do przesłania, to dlaczego nie podłączyćsterownika grafiki bezpośrednio do tej magistrali? Zwykle były to konstrukcje all in one,gdzie nie było możliwości wymiany urządzenia ”podłączonego” do takiej magistralil. Tak oto

Page 63: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 4. MAGISTRALE 58

narodziła się idea wewnętrznej magistrali lokalnej. Z niej to, gdy prodcentom udało się dojśćdo porozumienia wywodzi się magistrala lokalna VESA.

VESA różni się od wewnętrznej magistrali lokalnej zainstalowaniem złącza VL-Bus wktóre można wkładać karty rozszerzające. Teoretycznie można do takej magistrali dołączyćdo 5 urządzeń. Jednak VESA dedykowana była w zasadzie obsłudze dwóch urządzeń — kartysterownika monitora i kontrolera dysków. Stąd w popularnych domowych PC-tach przeważałypłyty z jednym złączem — złączem dla karty graficznej. Dlatego rozwiązanie to traktowanojako swego rodzaju dodatek do architektur ISA, gdyż nie naruszano istniejącego standardudodając dodatkowe złącze/złącza.

Magistrala VESA jest 32-bitową magistralą zewnętrzną, taktowaną zegarem procesora,którego częstotliowść nie może jednak przekraczać 40 MHz. Jej przepustowość dochodzićmoże do 120 MB/s.

Oba rozwiązania, magistrala wewnętrzna i VL-Bus miały jednak dość poważne wady,wynikające z bezpośredniego dołączenia do magistrali procesora. Po pierwsze, rozwiązanietakie, choć niskie jeśli mowa o kosztach, musi umrzeć śmiercią naturalną wraz z odejściemsystemów opartych na branych pod uwagę procesorach (80386,80486). Po drugie, przeciążeniemagistrali procesora układami innymi, niż przewidywane przez producenta (projekt zakładałobciążenie tylko konkretnymi układami) może zakłócać a nawet uniemożliwiać pracę.

Przykład: architektura komputera z magistralą lokalną i magistralą VESA.

4.4.6 Magistrala PCI

Magistrala PCI (Peripherial Component Interconnect) opracowana została przez firmę In-tel i jest aktualnie dominującym rozwiązaniem 32-bitowej szyny lokalnej. W krótkim czasiewyparła ona magistralę VLB, mimo zbliżonych parametrów. Stało się to możliwe dzięki nie-zależności magistrali PCI od typu procesora.

Architektura z magistralą PCI pozwala na tworzenie bardzo złożonych konstrukcji. Zgod-nie ze specyfikacją 2.1 standardu PCI w jednym systemie może współpracować do 256 ma-gistral PCI, z których każda pozwala na obsługę do 32 urządzeń. Każde z urządzeń możebyć wielozadaniowe i pełnić do 8 różnych funkcji. Podstawowa wersja może pracować z czę-stotliwością od 0 do 33 MHz (v. 2.1 — 66 MHz), co pozwala na osiągnięcie teoretycznejprzepustowości 132 MB/s. Magistrala ta pracuje w trybie burst, co oznacza dostęp do adre-sowanego obiektu w jednym takcie zegarowym.

Zdefiniowano również 64-bitowe rozszerzenie magistrali PCI, umożliwiające transfer zprędkością 264 MB/s. Prędkość taką osiąga się w tym przypadku wyłącznie pomiędzy urzą-dzeniami 64-bitowymi. Wymiana danych pomiędzy urządzeniami 64- i 32-bitowymi jest jed-nak wolniejsza niż na 32-bitowej magistrali PCI ze względu na wprowadzenie dodatkowegocyklu umożliwiającego rozpoznanie sposobu transmisji danych.

Urządzenia PCI, podobnie jak EISA czy MCA, nie mają zwór konfiguracyjnych. Konfigu-racja przebiega automatycznie, przez wpisanie odpowiednich wartości do rejestrów urządzeńPCI. Zmiany wartości tych rejestrów umożliwiają rekonfigurację urządzeń po dołączeniu dosystemu nowego urządzenia. Urządzenia podłączone do magistrali PCI są automatycznie wy-krywane i konfigurowane przez oprogramowanie systemowe przed rozpoczęciem testów POST(Power On Self Test). Na podstawie wartości zapisanych w rejestrach urządzeń PCI opro-gramowanie systemowe decyduje o przydzieleniu kanałów przerwań, przydzieleniu obszarówpamięci, sposobie arbitrażu. Oprogramowanie systemowe zapewnia konfigurację umożliwia-jącą uruchomienie komputera. Po uruchomieniu, systemu konfiguracja urządzeń PCI możebyć zmieniona przez system operacyjny.

Przykład 4.1 Architektura komputera z magistralą PCI.

Page 64: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 4. MAGISTRALE 59

Każde urządzenie PCI wyposażone jest w 256-bajtową pamięć konfiguracyjną, w którejprzechowuje informacje niezbędne do poprawnej pracy. Pierwsze 64 bajty stanowią nagłówek,którego struktura jest jednakowa dla wszestkich urządzeń. Pozostałe 192 bajty to rejestryspecyficzne dla danego urządzenia.

Przykład: struktura nagłówka pamięci konfiguracyjnej urządzenia PCI.

4.4.7 Magistrala AGP

Po magistralach ISA i PCI nadszedł czas na nowe rozwiązanie: szybki port graficzny Accele-rated Graphics Port, w skrócie AGP. Pomysł jest prosty: karta graficzna może użyć dowolnejilości pamięci operacyjnej umieszczonej na płycie głównej, a niezależna szyna graficzna za-pewnia bezpośredni transfer danych. Powinno to dać bardziej realistyczne i szybsze animacjetrójwymiarowe w porównaniu z tym, co było możliwe do tej pory.

Szyna AGP, bazująca na specyfikacji PCI w wersji 2.1 (zegar 66 MHz), taktowana jest ze-garem 66 MHz - w porównaniu z taktem 33 MHz, stosowanym w PCI, oznacza to zwiększeniemaksymalnej przepustowości do 264 MB/s.

Większa przepustowość przy przesyłaniu danych nie jest jedyną zaletą oferowaną przezAGP. Przykładowo, AGP ma dodatkowe linie sygnałowe do sterowania potokami. O ile wszynie PCI polecenie transmisji danych mogło być zrealizowane dopiero po zakończeniu po-przedniego transferu, AGP potrafi przyjąć zlecenia już wtedy, gdy poprzednio żądane danesą jeszcze wyszukiwane w pamięci.

Najważniejszą informacją jest fakt, że AGP obsługuje wyłącznie grafikę. Cała przepusto-wość magistrali może być ”przeznaczona” dla operacji graficznych, bez potrzeby dzielenia sięz innymi urządzeniami. AGP nie jest więc tak uniwersalne, jak szyna PCI, dla której istniejąwszelkie możliwe karty. Dlatego AGP należy widzieć raczej jako uzupełnienie niż następcęPCI.

Szyna AGP jest wykorzystywana do bezpośredniego połączenia między pamięcią opera-cyjną (RAM) na płycie głównej a układem akceleratora na karcie graficznej. Zamiast lokalnejpamięci graficznej na karcie, akcelerator może korzystać z pamięci głównej, na przykład pod-czas przechowywania tekstur. Dotychczas musiały być one najpierw umieszczone w pamięcikarty, zanim procesor graficzny mógł ich użyć. Teraz tekstury będą pobierane bezpośrednioz pamięci głównej. Taką technikę Intel określa mianem ”DIME” (Direct Memory Execute).

Rozmiar pamięci RAM wykorzystywanej przez AGP jest zmienny i zależy zarówno odużywanego programu, jak i od całkowitej wielkości pamięci dostępnej w komputerze. Wzasadzie możliwości grafiki można poprawić również poprzez odpowiednie zwiększenie pamięcikarty graficznej, ale rozwiązanie to jest droższe i nie tak elastyczne jak AGP, gdzie istniejącapamięć RAM może być wykorzystywana dokładnie wedle potrzeb.

Współpraca procesora głównego (CPU), pamięci operacyjnej (RAM) i akceleratora gra-ficznego, jak też połączenie z szyną PCI jest nadzorowane przez zestaw układów (chipset) napłycie głównej. Przykładowo, układy te zarządzają adresami w taki sposób, że wolna pamięćRAM jest widziana przez akcelerator na karcie graficznej jako jego własny obszar pamięci.

W specyfikacjach definiuje się opisane niżej tryby, w których przepustowość osiąga różnewartości. Dla osiąganej szybkości podsystemu graficznego przepustowość ta ma decydująceznaczenie.

AGP 1x : Sama tylko częstotliwość taktowania szyny, podwojona do 66 MHz, daje dwu-krotne zwiększenie przepustowości w stosunku do PCI (264 MB/s). Należy przy tympamiętać, że wartość ta - podobnie jak dla innych opisanych tu trybów - dotyczy mak-symalnych osiągów. W praktyce osiągane wartości są mniejsze.

AGP 2x : Tutaj nie tylko narastające, ale i opadające zbocze sygnału zegara 66 MHz wyko-rzystuje się do zapoczątkowania transferu danych. Wynik: maksymalna przepustowość528 MB/s. W tym tempie dane są przekazywane potokowo.

Page 65: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 4. MAGISTRALE 60

AGP 4x : W trybie tym magistrala przesyła podwójną, w porównaniu z trybem 2x, ilośćdanych bowiem pomiędzy dowolnymi dwoma zboczami zegara mają miejsce dwie trans-akcje. Odpowiada to teoretycznej przepustowości 1064 MB/s.

Przykład: architektura komputera z magistralą AGP.

Page 66: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

Rozdział 5

Magistrale połączeniowe

5.1 IDE

Kontroler dysku twardego

W obudowie klasycznego dysku twardego zintegrowane są jedynie układy bardzo ściśle współ-pracujące z elementami wykonawczymi sterowania części ruchomych napędu dysku — silnikioraz systemy bezpośrednio związane z głowicami odczytująco-zapisującymi. Zadanie stero-wania tymi elementami i obróbkę danych przejmuje kontroler dysku. Z logicznego punktuwidzenia kontroler dysku twardego wymienia dane z magistralą systemową komputera taksamo, jak każde inne urządzenie. Procesor wysyła do odpowiednich rejestrów sterujących da-ne i rozkazy, a pozostający w kontakcie z dyskiem kontroler odpowiada danymi oraz pewnymiinforamcjami dodatkowymi. Sam kontroler składa się z mikroprocesora otoczonego niezbęd-nymi układami dodatkowymi, jak pamięci RAM i ROM, dekodery adresów i specjalistyczneukłady obróbki danych. Każdy kontroler zawiera dodatkowo pamięć mogącą pomieścić pew-ną ilość odczytanych danych wraz z kodami ECC (Error Correction Code); system kontrolii korekcji ECC są zwykle rozwiązaniami sprzętowymi.

Opis standardu

Architektura pierwszych komputerów łączyła dysk twardy z resztą systemu przy pomocymagistrali ST412/506, która wyparta została przez model określany mianem IDE, AT-BUSlub ATA (wprowadzony w 1981).

Skrót IDE (Intelligent Drive Electronics) ma podkreślać fakt, iż napędy dysków jako takiezdolne są do samodzielnych (ineligentnych) działań i nie wymagają oddzielnych kontrolerów(tak jak to miało miejsce w przypadku ST412/506). Spotkać można również rozwinięcie skró-tu jako Integrated Device Electronics. W tym przypadku nacisk kładzie się na nową cechę tegostandardu, tj. zintegrowanie układów kontrolera i mechanizmów napędu w jednej obudowie.Elektronika, jaką montowano w dyskach starszej generacji, miała za zadanie wyłącznie stero-wanie pracą części ruchomych i obróbką sygnałów zapisu i odczytu dla głowic magnetycznych.Pozostałe czynności: pozycjonowanie głowicy nad określoną ścieżką, odszukanie bloku identy-fikującego sektor, dekodowanie sygnału, przesłanie bloku danych do pamięci oraz wszelkiegotypu operacje towarzyszące jak choćby kontrola błędów, wykonywał układ kontrolera dyskuumieszczony na osobnej karcie.

Skrót ATA (AT Attachment) tak samo jak IDE odnosi się do implementacji tej samejmagistrali połączeniowej. Pojawiło się ono nieco później niż IDE i stanowi określenie używaneprzez zespoły normalizacyjne pracujące nad standardem IDE w jego kolejnych wersjach.

AT-BUS jako złącze jest strukturą logiczną. To co w systemach ST412/506 określanebyło mianem złącza, tj. fizyczne połączenie kontrolera i napędu wraz z określeniem znacze-nia poszczególnych linii, tutaj, z logicznego punktu widzenia, nie istnieje. Praktycznie każdymodel dysku IDE ma inne parametry, do których dostosowany jest inny kontroler i nie może

61

Page 67: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 5. MAGISTRALE POŁĄCZENIOWE 62

być mowy o jakimkolwiek standardzie na tym odcinku. Dysk IDE komunikuje się z szy-nami systemowymi za pośrednictwem sterownika określanego często mianem Host-Adapter.Jest to prosty zestaw bramek logicznych realizujących jedynie funkcje dekodowania adresu ibuforowania sygnałów szyn.

Pierwotny standard IDE dopuszczał obsługę jedynie dwóch dysków twardych. Jedne znich musiał wtedy być oznaczony jako Master, a drugi jako Slave. Ustawień tych dokonujesię za pomocą zworek konfiguracyjnych zlokalizowanych na dyskach.

Połączenia dysku IDE z odpowiednimi gniazdami na płycie głównej komputera odbywasię 40-żyłowym płaskim przewodem. Kabel połączeniowy posiada trzy wtyki: po jednymdla dysku Master i Slave oraz jeden do podłączenia do płyty. Żadne z przewodów nie sąskrzyżowane a fizyczna kolejność urządzeń na magistrali nie odgrywa roli.

W swojej pierwszej wersji umożliwiał podłączenie maksymalnie dwóch urządzeń i byłbezpośrednio związany z architekturą ISA, co w rezultacie określiło jego maksymalną prze-pustowość - 3,3 (Mode 0) do 8,3 MB/s (Mode 2). W pierwszej wersji ATA stosowano asynchro-niczne przesyłanie danych regulowane sygnałem strobe generowanym przez kontrolerAT-Busna karcie lub na płycie głównej. Operacje wejścia/wyjścia realizowane były w trybie PIO (zaodbieranie i wysyłanie danych odpowiadała procedura realizowana przez procesor kompute-ra).

5.2 EIDE

Standard AT-BUS bez wątpienia zdominował rynek komputerów PC na długi czas. Jednakw miarę rozwoju techniki, coraz głośniej dawały znać o sobie jego ograniczenia:

� pojemność ograniczona do 504 MB,

� niezbyt duża szybkość transmisji danych,

� możliwość podłączenia dwóch dysków twardych,

� brak możliwości podłączenia innych urządzeń niż dyski twarde.

Opracowanie nowoczesnego i na miarę dzisiejszych potrzeb standardu, zdolnego do ob-sługi wielu różnch urządzeń wymagających dużych możliwości transferowych, w zasadzie niestanowiłoby w chwili obecnej większego problemu. W zasadzie, gdyż koniecność wkompono-wania takiego systemu w rzeczywisty świat użytkowników PC, który częst z uporem maniakachce zachować zgodność ”w dół” nawet z najstarszymi podzespołami, rodzi wiele komplikacji.

Dlatego też, stary i mocno wysłużony system IDE podlega coraz to nowym adaptacjom.Jego kolejne modyfikacje, określane wspólną nazwą EIDE (Enhanced IDE), mają za zada-nie usuwanie kolejnych napotykanych ograniczeń, zapewniając jedocześnie zgodność ze stan-dardem IDE, tak iż nawet najnowsze urządzenia pracują poprawnie podłączone do staregokontrolera IDE. Oczywiści nie można wówczas mówić o wykorzystaniu pełni możliwości.

Następujące po sobie kolejne rozszerzenia pierwotnego standardu IDE szły w kilku kie-runkach:

� wzrost pojemności dysków,

� podniesienie pasma przepustowości magistrali,

� umożliwienie obsługi innych urządzeń (streamery , CD-ROM-y),

� zwiększenie liczby obsługiwanych urządzeń.

Page 68: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 5. MAGISTRALE POŁĄCZENIOWE 63

ATA-2

ATA-2 wprowadzono w 1994 roku. Specyfikacja ATA-2 (Fast ATA/EIDE) wprowadziła nową,zupełnie odmienną metodę transferu - synchroniczne przesyłanie danych. W napędach ATA-2 ”elektronika” napędu synchronizuje wysyłane informacje z wznoszącym zboczem sygnałustrobe (pełniącym funkcję separatora komunikatów). Ponieważ prędkość transferu związanajest bezpośrednio z częstotliwością generowanego sygnału taktującego, naturalnym sposobemzwiększenia przepustowości interfejsu było ”zagęszczenie” w czasie generowanych impulsów.Pojawiły się nowe typu tansmisji w systemie PIO (Type-3 oraz Type-4). Transmisja w tychtrybach posługuje się sprzętowym mechanizmem regulującym prędkość przekazu co pozwalana spowalnianie pracy magistrali przez dysk. Koniczność wprowadzenia mechanizmu regu-lacji wynikła w związku z pojawieniem się niebezpieczeństwa ”przysypania” dysku danymiprzez kontroler. Zdefiniowano ponadto tryby DMA (Type-0, Type-1, Type-2). SpecyfikacjaATA-2 nie zmienia ani dopuszczalnej liczby urządzeń, ani maksymalnej długości przewodupołączeniowego (nadal wynosi ona 46 cm). Zaimplementowano natomiast funkcje wspiera-jące mechanizm Plug & Play. Nowością był również wprowadzony tryb adresowania danychprzechowywanych na dysku - LBA - umożliwiający przekroczenie dotychczasowej barierypojemności 504 MB.

ATA-3

ATA-3 wprowadzono w 1996 roku. Poprawki ograniczają się w zasadzie do implementacji try-bu gwarantującego pewną formę zabezpieczeń dostępu do danych (Secure Mode) oraz systemunadzoru i autodiagnostyki S.M.A.R.T (Self Monitoring Analysis and Reporting Technology).

ATA/ATAPI-4

Standard ten wprowadzono w 1997 roku. Podnisiono w nim maksymalną prędkość transmisjido poziomu 33 MB/s dzięki wprowadzeniu trybów Ultra-DMA. Podwojenie prędkości w po-równaniu z najszybszymi jak dotąd trybami pracy (PIO-4 i MDMA-2) uzyskano wyłączniedzięki zmianom w protokole. W celu zwiększenia szybkości przesyłane dane synchronizujesię oboma zboczami sygnału strobe. W efekcie dwukrotnie zwiększono przepustowość złącza,zachowując zarazem pełną kompatybilność z wcześniejszymi specyfikacjami. Aby zwiększyćwydajność i ”nadążyć” z przesyłaniem informacji w tak szybkim tempie zadanie generowaniasygnału strobe w trakcie odczytu danych przeniesiono na ”elektronikę” dysku twardego. Dzię-ki temu napęd, wysyłając informacje, nie oczekuje na sygnał, lecz generuje go samodzielnie.Umożliwiło to zlikwidowanie bezwładności związanej z dostosowywaniem się urządzenia do”rytmu” generowanego przez kontroler na płycie głównej. UDMA/33 jest całkowicie zgod-ny w dół, a dla jego zaimplementowania wymagane były jedynie niwielkie zmiany. Ponieważczęstotliwość żadnego z sygnałów nie ulagła zwiększeniu, system może posługiwać się dotych-czas stosowanymi przewodami połączeniowymi. Umożliwiono obsługę to czterech urządzeń,po dwa na kabel. Zdefiniowano możliwość współpracy z urządzeniami o fizycznej organizacjidanych innych niż dyski twarde (streamery, CD-ROM-y). Dla potrzeb tych urządzeń po-wstaje nowy logiczny interfejs określany mianem ATAPI (AT Attachment Packet Interface).Składają się na niego nowe funkcje, przekazujące swoje parametry w specjalnych blokach(tzw. pakietach).

W celu zwiększenia bezpieczeństwa przesyłanych danych (Ultra ATA/33 balansuje na gra-nicy możliwości przesyłowych standardowego 40-żyłowego kabla) w interfejsie Ultra ATA/33wprowadzono metodę wykrywania i korekcji błędów transmisji znaną jako suma kontrolnaCRC (Cyclical Redundancy Check). Suma ta obliczana jest dla każdego pakietu przesyłanychdanych, zarówno przez napęd, jak i kontroler na płycie głównej. Po zakończeniu transmisji na-stępuje porównanie obu obliczonych wartości. W razie wystąpienia błędu proces przesyłaniadanych realizowany jest ponownie, w razie potrzeby w wolniejszym trybie komunikacyjnym.

Page 69: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 5. MAGISTRALE POŁĄCZENIOWE 64

ATA/ATAPI-5

Już w dwa lata po wprowadzeniu standardu Ultra ATA/33 okazało się, że poprzeczkę należypodnieść jeszcze wyżej. Teoretyczną maksymalną przepustowość 66 MB/s (ATA-5 lub UltraATA/66) osiągnięto, zwiększając dwukrotnie prędkość przesyłania danych oraz redukującczas realizacji komend sterujących. Aby skorzystać z większej szybkości, należało zastosowaćspecjalny kabel, którego konstrukcja zapobiega powstaniu zakłóceń elektromagnetycznych(przesłuchów) pojawiających się podczas pracy z tak dużą prędkością. W porównaniu z do-tychczas stosowaną taśmą połączeniową dwukrotnie zwiększyła się liczba żył (z 40 do 80),nie zmienił się jednak typ wtyczki. Ponieważ zaistniała jednak konieczność autodetekcji ro-dzaju kabla (nowy, czy stary w sytuacji gdy dysponujemy starszym systemem), trzy wtykiprzypisano do określonych urządzeń i oznakowano różnymi kolorami: niebieski od storonykontrolera, czarny Master i szary Slave. Nowe żyły pełnią funkcję uziemienia i wplecione sąpomiędzy standardowe żyły sygnałowe.

ATA/ATAPI-6

Oferuje możliwości transferu z prędkością do 100 MB/s (Ultra ATA/100). Nadal zapewnionajest kompatybilność z wcześniejszymi wersjami standardu. Wykorzystuje się opracowany dlaUDMA/66 specjalny 80-żyłowy przewód łączący. Ultra ATA/100 oferuje również większebezpieczeństwo przesyłania danych. Protokół ma charakter pakietowy i posługuje się sumamikontrolnymi CRC.

Wprowadzono ponadto:

� rozszerzony tryb adresowania, który przesuwa barierę 127 GB pojemności jak powstałaprzy 28-bitowym schemacie adresowania w trybie LBA;

� możliwość optymalizacji parametrów akustycznych (redukcja hałasu);

� strumieniowe przesyłanie danych audio-video.

Więksość aktualnie produkowanych dysków twardych oraz płyt głównych wyposażonajest w złącze IDE, mogące pracować w trybie Ultra ATA/100. Należy jednak jasno zdawaćsobie sprawę, iż na razie dyski twarde ze złączem IDE mogą dostarczać dane strumieniemnie przekraczającym 20 MB/s. W tym kontekście nie odgrywa większej roli, czy magistralamoże przenieść 60, czy 100 MB/s. Oczywiście inaczej sytuacja będzie wyglądać w przypadkumacierzy dyskowych składających się np. z czterech szybkich urządzeń.

Oto fragment odpowiedzi 1 udzielonej na pytanie jednego z czytelników CHIP-a: ”...Zdrugiej strony dyski IDE, będące w tej chwili na rynku, mają maksymalną prędkość obrotową7200 obr./min i najwyższy osiągany przez nie transfer oscyluje wokół wartości 20 MB/s.Wykonane w CHIPLab pomiary wskazują, że w trybie UltraATA/33 ”twardziele” pracująrównie wydajnie jak w UltraATA/66. Nie podważamy w ten sposób sensu zakupu kontrolera,bo pozwala on na lepszą współpracę między dyskiem a systemem, a poza tym udostępniacztery dodatkowe kanały IDE, jego możliwości będą jednak słabo wykorzystane aż do chwilipojawienia się dysków działających z prędkością 10 000 obr./min i osiągających transferyprzekraczające 30 MB/s...”

5.3 Serial-ATA

Jak można zauważyć, opisany wcześniej, interfejs ATA przeszedł już kilka kuracji odmładza-jących mających na celu przyspieszenie jego działania. W końcu jednak zwiększanie szybkościtransmisji natrafiło na fizyczne ograniczenia jakie pojawiają się podczas transmisji równole-głej z wykorzystaniem wieloprzewodowego kabla transmisyjnego. Wprawdzie dzięki wprowa-dzeniu dodatkowych przewodów służących jako ekranowanie i pewnych środków korygującychbłędy transmisji udało się osiągnąć granice 133 MB/s jednak na tym kończą się możliwości

1Jerzy Michalczyk, CHIP, 2000.01.

Page 70: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 5. MAGISTRALE POŁĄCZENIOWE 65

rozwojowe tego interfejsu. Sytuacje, gdy przepustowość interfejsu ATA/133 stanie się zbytmała, przy obecnym tempie rozwoju nie wydaje się wcale taka odległa. Dlatego też do dal-szych prac postanowiono wybrać, rokujący lepsze perspektywy, interfejs szeregowy. Wbrewpozorom interfejs szeregowy oferować może całkiem ”niezłe” parametry o czym świadczychoćby IEEE 1394 czy USB 2.0. Stosuje się w tym przypadku dwuprzewodową linię różnico-wą o niskim poziomie sygnału. Zrealizowana w ten sposób transmisja synchroniczna na dzieńdzisiejszy pozwala osiągnąć prędkość przesyłania około 2.5 Gb/s (fizyczna granica to około 10Gb/s). Dodatkowym atutem jest łatwa skalowalność transmisji szeregowej (zwielokrotnienielini transmisyjnych). Fizyczna realizacja interfejsu to dwie dwuprzewodowe linie transmisjidanych i dwie takie same linie transmitujące sygnał zegara. Serial ATA jest połączeniem ty-pu ”punkt-punkt”. Wynika z tego konieczność zwielokrotnienia liczby portów i zastosowanietopologii gwiaździstej. Szybkość transmisji, dla pierwszej wersji, ustalono na 1.5 Gb/s (150MB/s) a w dalszych planach jest 3 i 6 Gb/s (300, 600 MB/s). Dziwić może fakt wprowadzeniakolejnego interfejsu, gdy dostępne są inne rozwiązanie w zupełności wystarczające do obsługitransmisji dyskowy. Odpowiedź jest, jak zwykle w świecie PC-ta, jedna i ta sama: w celuzapewnienia zgodności wstecznej.

5.4 SCSI

Drugim pod względem popularności zastosowań interfejsem jest SCSI (Small Computer Sys-tems Interface). SCSI jest bardziej zaawansowanym interfejsem niż IDE/ATA posiadającymkilka zalet, predysponujących go do zastosowań profesjonalnych. Mimo niewątpliwych zaletnie zyskał on poparcia ze strony ”amatorskich” użytkowników komputerów. Główną przyczy-ną tego stany rzeczy są koszty jakie należy ponieść, chcąc korzystać z tego interfejsu. Ponadtogdyby nawet zainwestować w niego, to i tak w warunkach domowych trudno byłoby dostrzecjego zalety.

Podczas gdy IDE należy traktować jako interfejs połączeniowy, SCSI stanowi rodzaj szynysystemowej, z inteligentnymi kontrolerami umieszczonymi w każdym urządzeniu, współpra-cującymi przy przesyłaniu danych. SCSI wspiera wiele różnych typów urządzeń; nie jest, jakIDE/ATA dedykowany tylko dyskom twardym2. Projektowany od podstaw jako dodatkowaszyna dla urządzeń peryferyjnych, SCSI oferuje dużą wydajność oraz możliwość stosowaniarozszerzeń z zachowaniem kompatybilności.

Interfejs SCSI sięga swoim początkiem roku 1979, kiedy to Shugart Associates, kierowaneprzez Alana Shugarta, stworzyło SASI (Shugart Associates System Interface). Ten bardzodawny przodek interfajsu SCSI miał dość ograniczony potencjał — dysponował niewielkąliczbą komend w porównaniu z pierwszymi ”prawdziwymi” interfejsami SCSI i dysponowałprzepustowością 1.5 MB/s. Jak na swoje czasy SASI był wielką ideą, gdyż był pierwsząpróbą stworzenia inteligentnego interfejsu pamięci masowych dla ”małych” komputerów. Zfaktu tego łatwiej będzie zdać sobie sprawę, jeśli uświadomimy sobie, że były to czasy gdypopularnie używano 8-calowch napędów dyskietek.

Prace nad uczynieniem z SASI standardu akceptowanego przez ANSI rozpoczęto w 1981roku, zaś opublikowano go w 1986. W między czasie wprowadzono wiele poprawek w protokolei polepszono jego wydajność. Zmieniono również nazwę na SCSI.

SCSI wymaga interfejsu umożliwiającego jego współpracę z szyną PCI lub ISA. Nie jestto kontroler jako, że właściwy kontroler wbudowany jest w każde urządzenie SCSI; prawi-dłowa nazwa to ”host adapter” (choć znacznie częściej używane jest pojecie ”kontroler”).Urządzenia SCSI przyłączane są do magistrali systemowej właśnie za pomocą host adaptera.Host adapter zaliczany jest do urządzeń SCSI i należy go uwzględnić rozważając maksymalnąmożliwą do podłączenia liczbę urządzeń. Każde urządzenie musi mieć jednoznacznie nada-ny numer ID. Nie ma związku między nadanym numerem a fizyczną pozycją na magistrali;kolejność nadawania numerów jest dowolna. Wymaga się aby końce magistrali zostału od-powiednio zakończone za pomocą tak zwanych terminatorów. Zapobiega to nieporządanym

2Wprawdzie rozszerzenie standardu ATA umożliwia obsługę innych niż dysk twardy urządzeń, dotyczy to

jednak niewielkiej ich klasy, jak na przykład CD-ROM-y

Page 71: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 5. MAGISTRALE POŁĄCZENIOWE 66

odbiciom sygnałów oraz gwarantuje integralność danych przy stosowaniu dłuższych kabli po-łączeniowych. Obowiązuje generalna zasada, że magistrala może mieć tylko jeden począteki jeden koniec (oba obciążone oczywiści termainatorami). Nie są zatem dozwolone żadnerozgałęzienia typu ”Y” czy ”T”.

Teoretycznie, jak już nadmieniono powyżej, przydział adresów do urządzeń jest dowol-ny. ”Teoretycznie”, gdyż od tej zasady istnieją dwa wyjątki. Pierwszym z nich jest adreskntrolera. Koncepcja SCSI stosuje bowiem pojęcie priorytetu w dostępie do magistrali. Imwiększy adres urządzenia, tym wyższy jest jego priorytet. Konsekwencją takiego podejściajest nadawanie kontrolerowi identyfikatora 73. Dla zachowania zgodności w dół, ten numerprzyznawany jest również w typach obsługujących do 16 urządzeń. Drugi wyjątek wynika zfaktu, iż niektóre kontrolery wymagają, by system operacyjny ładowany był dysku 0.

SCSI-1 powstały w roku 1986 używał asynchronicznego trybu transmisji. Szerokość ma-gistrali wynosiła 8 bitów, co pozwalało na transfer z prędkością 3 MB/s. Możliwe było pod-łączenie 8 urządzeń (w tym host adapter). Maksymalna długość magistrali to 6 metrów.

Standard SCSI-2 zaakceptowany przez ANSI w 1994 roku zwiększał szybkość transmisjido 5 MB/s. Dodatkowo umożliwiono łączenie innych, niż dysk twardy, urządzeń. Ponadtozdefiniowano dwa opcjonalne usprawnienia dotyczące szybkości: podwojenie częstotliowścipracy do 10 MHz (tzw. Fast SCSI) oraz zwiększenie szerokości magistrali do 16 bitów (WideSCSI). Oba te rozwiązania te mogły być zastosowane razem, albo tylko jedno z nich, albożadne. Wide SCSI umożliwiał podłączenie do 16 urządzeń. Długość magistrali wynosi 3 metry.Osiągalny maksymalny transfer przedstawia się następująco

Typ Maksymalna liczba Maksymalnyurządzeń transfer (MB/s)

SCSI-Fast Host+7 10SCSI-Wide Host+15 10

SCSI-Fast-Wide Host+15 20

Specyfikacja SCSI-3 opublikowana po raz pierwszy w 1996 wprowadza pewien nieład.Spowodowane jest to wprowadzeniem listy opcjonalnych rozszerzeń. Dowolność ich wyborupowoduje, że na rynku pojawiają się urządzenia spełniające wymagania standardu SCSI-3a jednak różniące się znacznie parametrami. Sytuacji nie poprawia fakt, iż producenci majątendencję do różnego nazywania tego samego. Rozszerzeniami tymi są:

� posługiwanie się obydowoma zboczami sygnałów taktujących co prowadzi do zwiększe-nia pasma przepustowego bez podnoszenia ich częstotliowści;

� kontrola poprawności przekazu za pomocą kodów CRC;� odrębny protokół diagnostyczny pozwalający na ocenę jakości połączenia;� przyspieszone przekazywanie grup rozkazów za pośrednictwem protokołu pakietowego;� uproszczenie i skrócenie mechanizmu uzyskiwania dostępu do magistrali.

Ponadto definicja standardu eliminuje konieczność stosowania dodatkowego kabla połącze-niowego w trybie Fast lub Wide oraz wspiera stosowanie światłowodów. Ważną cechą jestdodanie SCAM (SCSI Configuration Auto-Magically), który eliminuje jednen z większychproblemów związanych z SCSI – prawidłowa konfiguracja. Parametry tego standardu przed-stawiają się następująco

Typ Maksymalna liczba Maksymalny Maksymalna długośćurządzeń transfer (MB/s) magistrali (m)

Ultra-SCSI Host+7 20 3Ultra-Wide-SCSI Host+7 40 3

Ultra-Wide-SCSI-Diff Host+15 40 25Ultra-2-Wide-SCSI Host+15 80 12

Ultra/160 Host+15 160 12

3Pierwsze realizacje SCSI umożliwiały podłączenie maksymalnie 8 urządzeń.

Page 72: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 5. MAGISTRALE POŁĄCZENIOWE 67

5.5 Złącze IEEE-1394

Omawiane tutaj złącze stanowi odmianę magistrali szeregowej o bardzo szerokim polu za-stosowań nie tylko w branży komputerowej. Umożliwia ono łączenie urządzeń wymagającychdużego transferu danych jak dyski twarde, karty wideo, magnetowidy, telewizory, skanery,sprzęt stereofoniczny, odtwarzacze DVD itp. Standard magistrali szeregowej IEEE 13944 po-wstał w 1986 roku w laboratoriach firmy Apple jako alternatywa dla interfejsu SCSI. Cociekawe, technologia ta rozwinęła się kilka lat wcześniej przed opracowaniem USB przez In-tela. Początkowo FireWire był popularyzowany przez - specjalnie do tego celu powołaną -organizację 1394 Trade Association, a w 1995 doczekał się certyfikatu przemysłowego nada-nego przez Institute of Electrical and Electronics Engineers (IEEE) - oficjalna nazwa to IEEE1394-1995.

Ujęte w dokumentach normalizacyjnych ogólne cechy magistrali IEEE-1394 obejmują sze-reg różnorodnych zagadnień (topologie, protokoły, prędkość transmisji itp). Ogólna koncepcjajest bardzo obszerna i pozwala na budowę bardzo rozległych i złożonych systemów.

Transfer odbywa się w zasadzie w trybie asynchronicznym. Standard przewiduje jednakmożliwość wynegocjowania kanałów o minimalnej gwarantowanej przepustowości. Zdefinio-wane są trzy prędkości:

* 98304 Mb/s (12.5 MB/s), oznaczana S100,

* 196608 Mb/s (25 MB/s), oznaczana S200,

* 393216 Mb/s (50 MB/s), oznaczana S400.

Jedną z cech charakterystycznych standardu jest zakaz budowania pętli. W standardzieFireWire maksymalna liczba węzłów (urządzeń) pracujących w sieci wynosi 64. Innymi słowy,do pojedynczego komputera możliwe jest jednoczesne podłączenie 63 urządzeń peryferyjnych(skanerów, drukarek, dysków twardych, napędów DVD, kamer cyfrowych itp.). Ze względuna sposób łączenia poszczególnych urządzeń pracujących w standardzie FireWire sieć IEEE1394 jest siecią typu peer-to-peer (point-to-point), bez wydzielonego węzła nadrzędnego.Oznacza to, że każdy wchodzący w jej skład komponent może kontaktować się samodzielnie zinnymi elementami struktury. Przykładem takiej bezpośredniej komunikacji jest np. sytuacja,w której odpowiednio skonfigurowany aparat cyfrowy współpracuje z drukarką atramentową,natychmiast ”wywołując” gotowe fotografie - i to wszystko bez udziału komputera.

Inną, bardzo istotną właściwością interfejsu szeregowego FireWire jest możliwość dowol-nego podłączania i odłączania poszczególnych urządzeń w trakcie pracy całego systemu - bezpotrzeby wyłączania komputera (Hot-plug). Jest to ściśle związane ze zdefiniowaną w spe-cyfikacji IEEE 1394 cechą samokonfiguracji i rekonfiguracji poszczególnych elementów sieci.Takie rozwiązanie w założeniach podobne jest do mechanizmu plug and play stosowanego m.indla magistrali USB. Podczas inicjalizacji magistrali wszystkie połączone ze sobą komponentysieci IEEE 1394 ”dogadują się” ze sobą - ustalają numery identyfikacyjne, uzgadniają, którez nich będą pełnić funkcję koncentratorów (hubów) oraz przejmą na siebie funkcje kontrolne.Odłączenie jakiegokolwiek urządzenia lub gałęzi sieci nie pociąga za sobą żadnej przerwy wdziałaniu systemu, lecz podział struktury na dwie podsieci, pracujące od tej chwili zupeł-nie niezależnie od siebie. Co ciekawe, ponowne uaktywnienie węzła powoduje automatycznezrekonfigurowanie i połączenie w całość obu oddzielonych uprzednio gałęzi.

Interfejs FireWire do komunikacji pomiędzy poszczególnymi węzłami wykorzystuje trans-misję pakietową. Nagłówek każdego pakietu zawiera: informacje (numer identyfikacyjny) ourządzeniu wysyłającym i odbiorczym, kanale przenoszenia, priorytecie transmisji, bajty kon-trolne CRC oraz różne informacje dodatkowe. Tymi ostatnimi mogą być np. dane służącedo zabezpieczenia przed nielegalnym kopiowaniem filmów DVD - telewizor zignoruje ciągbitów zabezpieczających (wyświetli film), lecz układ kontrolny magnetowidu nie zezwoli nawłączenie zapisu.

4Stosuje się również onaczenia Fire Wire, i.Link.

Page 73: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 5. MAGISTRALE POŁĄCZENIOWE 68

W sieci pracującej w standardzie IEEE 1394 występują zarówno urządzenia transferującedane w czasie rzeczywistym (np. kamery wideo), jak i nie wymagające tak szybkiej komu-nikacji (np. skaner lub drukarka). Ponadto interfejs ten dopuszcza współistnienie węzłów oróżnej prędkości transmisji (100, 200 i 400 Mbit/s). W jaki więc sposób realizowana jestszybka komunikacja wewnątrz sieci?

Standard IEEE 1394 obsługuje dwie różne techniki transmisji danych: asynchronicznąi izochroniczną. Większość urządzeń o niskiej i średniej prędkości przesyłania danych (np.skanery, drukarki, modemy) korzysta z transferu asynchronicznego. Urządzenie nadawczewysyła dane pod ściśle określony adres i oczekuje na potwierdzenie poprawności transmi-sji. W przypadku niepowodzenia operacji następuje powtórzenie transferu. Innymi słowy,gwarantowane jest bezbłędne dostarczenie danych do urządzenia odbiorczego.Dla transferuasynchronicznego zarezerwowane jest zawsze minimum 20% pasma przenoszenia magistraliIEEE-1394. Technika transferu izochronicznego polega natomiast na dokładnym ustaleniuszybkości transmisji, która byłaby niezmienna w czasie. Dane przekazywane są do wszystkichczęści magistrali FireWire w regularnych odstępach czasu bez potwierdzenia poprawnościtransmisji. ”Spóźnione” dane lub informacje odebrane niepoprawnie uznawane są za ”nie-ważne” i nie są powtórnie transmitowane.

Z izochronicznym transferem danych związane są kanały transmisyjne (maksymalnie mo-gą być 64). Dołączenie do interfejsu IEEE 1394 urządzenia wymagającego przekazu danychw czasie rzeczywistym powoduje automatyczne przydzielenie mu kanału transferu izochro-nicznego o żądanym paśmie przenoszenia. W przypadku podłączenia kilku lub kilkunastuwęzłów izochronicznych mechanizm arbitrażu (co 125 ms) dzieli dostępne pasmo przeno-szenia magistrali FireWire pomiędzy wszystkie węzły aktualnie przesyłające dane w czasierzeczywistym.

5.6 Złącze USB

Koncepcja magistrali USB jest pod wieloma względami niezmiernie elastyczna. Projektancistarali się zagwarantować nowej technice maksimum popularności, co oznaczało koniecznośćdostosowania jej do szerokiej gamy urządzeń: od powolnych klawiatur prze modemy do szyb-kich skanerów i kamer wideo. Dostępne pasmo przepustowe musi być optymalnie wykorzy-stane, przy czym należy zagwarantować prawo dostępu do magistrali dla urządzeń wszelkichklas prędkości.

Celem twórców złącza USB (m.in. Intela, Microsoftu, IBM-a i NEC-a) było skonstru-owanie pojedynczego interfejsu, który w przyszłości umożliwiłby pecetowi komunikację zcałym zestawem najróżniejszych urządzeń peryferyjnych. Urządzenia USB można swobodniedołączać i odłączać podczas pracy komputera. Zgodnie z ideą twórców standardu systemoperacyjny powinien natychmiast rozpoznać nowe urządzenie i błyskawicznie zainstalowaćdla niego odpowiednie sterowniki (prawdziwy mechanizm plug and play).

Jak łatwo zorientować się po samej nazwie, złącze USB wykorzystuje szeregową magistralędanych (serial bus). Wszystkie dane są przesyłane kolejno za pośrednictwem jedynie cztero-żyłowego kabla. Dzięki zaawansowanemu mechanizmowi sterowania najszybsza dotychczaswersja magistrali USB oferuje dość wysoką przepustowość - 1,5MB/s, co odpowiada szybko-ści 10-krotnego CD-ROM-u lub starego dysku twardego IDE. W celu ograniczenia kosztów ipodniesienia atrakcyjności standardu USB wśród producentów urządzeń peryferyjnych, opra-cowany został dodatkowo wolniejszy tryb pracy o przepustowości zaledwie 200 KB/s. Takaszybkość transmisji jest zupełnie wystarczająca w przypadku prostych urządzeń, które mu-szą przesyłać niewielkie ilości danych. W przyszłości planowana jest jeszcze implementacjaurządzeń USB, które będą komunikować się z szybkością przekraczającą 60 MB/s. Taka prze-pustowość będzie wystarczająca nawet dla zaawansowanych aplikacji multimedialnych.

Dużą zaletą architektury USB jest możliwość rozbudowy, pozwala ona bowiem na jed-noczesne podłączenie do komputera nawet 127 urządzeń peryferyjnych. Odbywa się to zapośrednictwem tzw. hubów, czyli rozdzielaczy działających w analogiczny sposób jak wie-lowtykowe gniazda w instalacji elektrycznej. W zależności od konstrukcji danego huba, może

Page 74: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 5. MAGISTRALE POŁĄCZENIOWE 69

on wzmacniać napływające sygnały oraz zasilać w prąd mniejsze urządzenia. Rozwiązanieto pozwala ograniczyć do niezbędnego minimum liczbę kabli i gniazd zasilających. Zgodnieze specyfikacją interfejsu USB konfiguracja takich hubów może mieć maksymalnie siedempoziomów.

Przy podłączaniu urządzeń zasilanych z portu USB należy jednak zachować ostrożność.Zużycie prądu jest tu mierzone w jednostkach obciążenia loads (ładunki), przy czym jeden”ładunek” odpowiada maksymalnemu natężeniu 100 mA. Dane urządzenie może należeć albodo kategorii low power (zużycie prądu wynosi maksymalnie jeden ”ładunek”), albo do highpower (do pięciu ”ładunków”). Informacje na ten temat znaleźć można z reguły w dokumen-tacji odpowiedniego sprzętu. Do jednego portu USB w pececie nie wolno podłączać więcej niżjednego urządzenia należącego do kategorii high power. W przypadku tego typu problemówpowinniśmy wykorzystać dodatkowy hub z własnym zasilaniem (np. w monitorze).

Kolejnym aspektem jaki należy brać pod uwagę podłączając kolejne urządzenia pery-feryjne jest wydajność. Jeśli do kilku koncentratorów ”wepnie się” jednocześnie zbyt wieleelementów, to przepustowość magistrali może okazać się niewystarczająca. Z drugiej stronynie zawsze instalacja sprzętu USB jest tak prosta, jak obiecują to jego producenci.

Technologia USB jest pod wieloma względami bardzo podobna do tej którą posługujesię magistrala IEEE-1394. Obie techniki oferują zbliżone parametry. Konkurujące ze sobątechniki starają się zdominować różne sektory branży elektronicznej: USB próbuje opano-wać sektor urządzeń peryferyjnych w technice komputerowej, a IEEE-1394 chce zawładnąćdziedziną wymiany danych pomiędzy sprzętem audiowizualnym. Do wspólnych właściwościporównywanych rozwiązań niewątpliwie należy zaliczyć:

� magistrale są typu szeregowego;

� transfer danych w formie pakietowej odbywa się w trybie synchronicznym z wydzielo-nym kanałem izochronicznym;

� magistrale konfigurują się automatcznie w trakcie pracy, rozpoznawane jest zarówno”pojawienie” się jak i ”zniknięcie” urządzeń; automatyczny przydział adresów;

� nie ma konieczności odnajdowania zakończeń magistrali i instalacji terminatorów.

5.6.1 USB 2.0

Wydajność oferowana przez USB 1.1 jest całkowicie wystarczająca dla urządzeń typu myszczy klawiatura, jednak ustępuje znacznie IEEE 1394 gdy pod uwagę weźmie się urządzeniatypu dysk twardy czy skaner. Właśnie w celu uczynienia z USB ”prawdziwego” konkurentadla IEEE 1349 powstało konsorcjum, złożone między innymi z firm Intel, Microsoft, Hawlett-Packard, Compaq, Philips, mające na celu opracowanie nowego standardu interfejsu USB.

USB 2.0 rozszerza możliwości transferu oferowane przez USB 1.1 z 12Mb/s do 360-480Mb/s. Zakłada się, że nowy interfejs będzie zgodny z poprzednim w obie strony.

5.7 IrDA

5.7.1 IrDA DATA

Począwszy od 1994 roku IrDA DATA definiuje standard uniwersalnego bezprzwwodowegosystemu transmisji danych za pomocą portu podczerwieni. IrDA Data Protocols składa się zpewnej ilości protokołów podstawowych i opcjonalnych. Do podstawowych zaliczyć należy:

� PHY (Physical Signaling Layer);

� IrLAP (Link Access Protocol);

� IrLMP (Link Management Protocol and Information Access Services (IAS)).

Page 75: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 5. MAGISTRALE POŁĄCZENIOWE 70

Charakteryzacja PHY

Minimalna odległość między urządzeniami wynosi 1 m. Dla urządzeń o zmniejszonym pozio-mie zasilania odległość ta wynosi od 20 do 30 cm (możliwe jest wówczas 10-krotne zmniej-szenie poboru energii). Aby współczynnik szybkość połączenia/koszt mógł być dobrany od-powiednio do zaistniałej sytuacji do dyspozycji jest szeroki zestaw klas. W każdej z nichpołączenie jest dwukierunkowe. Szybkość transmisji wahać się może od 9600 b/s do 4 Mb/sz krokiem co 115 kb/s. Pakiety z danymi zabezpieczane są za pomocą kodu CRC (CRC-16do prędkości 1.152 Mb/s, CRC-32 do prędkości 4 Mb/s).

Charakteryzacja IrLAP

Provides a device-to-device connection for reliable, ordered transfer of data. Device discoverprocedures. Handles hidden nodes.

Charakteryzacja IrLMP

Provides multiplexing of the IrLAP layer. Multiple channels above an IrLAP connection.Provides protocol and service discovery via the Information Access Service (IAS).

5.7.2 IrDA CONTROL

IrDA CONTROL jest standardem dotyczącym bezprzewodowej komunikacji urządzeń pery-feryjnych, takich jak mysz, klawiatura, wszelkiego typu urządzenia wskazujące, z tak zwanym”host devices” którym może być zarówno komputer jak i telewizor, magnetowid, lodówka (je-śli ktoś coś takiego w niej zaimplementuje) – słowem dowolne inne urządzenie, którym możnasterować. Do podstawowych protokołów definiowanych przez IrDA Control należą:

� PHY (Physical Layer);

� MAC (Media Access Control);

� LLC (Logical Link Control).

Charakteryzacja IrDA Control Physical Signaling� Minimalna odległość wynosi 5 metrów.

� Obowiązuje dwukierunkowa komunikacja.

� Szybkość transmisji do 75 kb/s.

� Pakiety z danymi zabezpieczone są kodem CRC (CRC-8 lub CRC-16 w zależności oddługości pakietu.

� Rozwiązanie fizyczne zoptymalizowane pod kątem niskiego zużycia energii i mogą byćzastosowania w urządzeniach niskobudrzetowych.

Charakteryzacja IrDA Control MAC� Możliwość komunikacji hosta z wieloma urządzeniami; jednoczesna komunikacja z 8.

� Zapewnienie krótkiego czasu reakcji.

Charakteryzacja IrDA Control LLC� Zapewnia retransmisję danych w przypadku wykrycia błedów.

Page 76: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 5. MAGISTRALE POŁĄCZENIOWE 71

5.8 Interfejs RS-232C

RS-232C jest określeniem powstałego w USA standatdu przesyłania informacji między urzą-dzeniami za pośrednictwem łącza szeregowego. Standard ten definiuje parametry mechanicz-ne, elektryczne i logiczne złącza.

Łącza szeregowe, w które wyposażony jest komputer klasy PC/XT i AT, przystosowa-ne są do transmisji asynchronicznej. Przeznaczone do przesłania dane w formie szeregowejotrzymują pewien rodzaj ”opakowania” – tzw. ramki. Jednorazowo przez łącze przekazywanajest właśnie ramka, a nie pojedynczy bit. Na ramkę składają się:

� znacznik początku ramki;

� dane;

� bit kontroli parzystości;

� znacznik końca rami.

Czas trwania jednego bitu ramki, tj. jednego wyimaginowanego przebiegu synchronizującego,wynika ściśle z uzgodnionej prędkości transmisji. W standardzie tym nadawca może wysyłaćznaki w dowolnej chwili i robić dowolnie długie przerwy pomiędzy poszczególnymi znakami.Asynchroniczność oznacza, iż odbiorac i nadawca nie wymagają koordynacji przed wysłanieminformacji. Gdy jednak nadawanie rozpocznie się, nadawca wysyła wszystkie bity bez przerwmiędzy nimi. W standzrdzie tym, kabel po którym następuje transmisja pozostawiany jestpod ujemnym napięciem (oznaczającym bit 1) gdy nie ma żadnych informacji do przesłania.Ponieważ między kolejnymi bitami napięcie nie powraca do zera, zarównoo nadawca jak i od-bioraca muszą ustalić czas odpowiadający przesłaniu jedngo bitu. Odbiorca uruchamia swójzegar w momencie otrzymania pierwszego bitu. Ponieważ stan ”bezczynności” jest sygnali-zowany w taki sam sposób jak bit o wartości 1, zatem w celu odróżnienia tych dwóch stanówprzesyłany jest bit startu, czyli dodatkowy bit o wartości 0.

Wszystkie cechy charakterystyczne ramki, tj. prędkość transmisji, liczba bitów danych (od5 do 8), liczba bitów stopu, tryb kontroli parzystości są uzgadniane między nadajnikiem aodbiornikiem jako format przekazywanych danych jeszcze przed nawiązaniem połączenia. Naogół ustawień dokonuje się ręcznie, za pomocą odpowiednich programów konfiguracyjnych.Tylko w ten sposób możliwe jest prawidłowe odczytywanie napływających do odbiornikainformacji. Generator odbiornika pracuje więc z założenia z taką samą częstotliwością, z jakąpracował generator nadawczy. Należy jedynie dokonać jeszcze odpowiedniej synchronizacjifazy, tzn. uruchomić układ dekodujący odbiornika precyzyjnie na początku ramki.

Standard RS-232C dotyczy wymiany danych pomiędzy tzw. terminalem DTE (Data Ter-minal Equipment) a modemem DCE (Data Communication Equipment). Utworzony zostałdla potrzeb ujednolicenia komunikacji między końcówką komputerową (Terminal) a dużymkomputerem (Host) przy użyciu łącz telefonicznych i modemów. Pod pojęciem DTE rozu-miemy dziś jednak głównie komputery PC.

Połączenie interfejsów RS-232C od strony mechanicznej stanowi 25-żyłowy przewód za-kończony zdefiniowanymi przez standard wtykami. Większość linii przeznaczona została napotrzeby szeregowej transmisji synchronicznej. W standardzie IBM PC wykorzystywane jesttytlko 9 z tych sygnałów, dlatego też często zamiast wtyku 25-końcówkowego (DB-25) sto-suje się wtyk 9-końcówkowy (DB-9). Ta liczba linii w zupełności wystarcza do obsłużeniatransmisji asynchronicznej w standardzie RS-232C.

Łącze szeregowe może pracować w jednym z trzech trybów.

Tryb simpleksowy

Łącze skonfigurowane jest na stałę na jeden z możliwych kierunków transmisji: z DTE doDCE lub na odwrót, z DCE do DTE.

Page 77: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 5. MAGISTRALE POŁĄCZENIOWE 72

Tryb półdupleksowy

W tym trybie zarówno DTE, jak i DCE mogą być stroną nadającą oraz odbierającą. Dodyspozycji jest jednak tylko jeden logiczny kanał danych, który można naprzemiennie wyko-rzystywać w obu kierunkach.

Tryb dupleksowy

Dane pomiędzy DCE i DTE mogą być przekazywane jednocześnie w obu kierunkach. Wtrybie tym nie jest wymagane uzyskanie przez jedną ze stron zezwolenia na nadawanie. Kanałlogiczny połączenia otwarty jest stale w obie strony.

5.9 Złącze równoległe

Złącze równoległe jest jednym z najstarszych elementów architektury PC, który w praktycz-nie niezmienionej postaci utrzymuje się od wielu już lat. Złącze narodziło się wraz z ideąkomputera PC, kiedy to powstała konieczność zaimplementowania prostego złącza równo-ległego do obsługi drukarki. Łącze służyć miało tylko temu celowi, dlatego też specyfikacjaobejmowała tylko transfer jednokierunkowy. Oprócz 8-bitowej magistrali danych, wyposa-żono je w cztery linie sterujące. Drukarka miała w prawdzie możliwość zgłaszania pewnychsytuacji wyjątkowych, ale o normalnym transferze danych w kierunku przeciwnym nie możnabyło w tym przypadku mówić. Specyfikacja portu równoległego definiuje 5 lini statusowych,z których część służy realizacji protokołu Centronics a część pozwala na sygnalizację pew-nych stanów wyjątkowych. Okazało się, że cztery spośród tych linii wykorzystać można dotransmisji w kierunku odwrotnym. Dwa następujące po sobie półbajtowe (stąd nazwa – trybpółbajtowy) cykle pozwalają na organizację wymiany danych w tempie około 100 kB/s. Łą-cze równoległe umożliwia transfer danych na odległość do około 5 m (szeregowe do około 200m).

Standard IEEE-1284, wydany w 1994 definiuje pięć trybów pracy portu równoległego PC:

Tryb kompatybilny (Compatibility Mode). Tryb podstawowy oferujący jednokierun-kową transmisję z maksymalną prędkością 200 kB/s (praktycznie ok. 150 kB/s).

Tryb półbajtowy (Nibble Mode). Pozwala zarówno na wysyłanie, jak i odbieranie da-nych z wykorzystaniem 4 lini wejściowyh. Dane odbierane mogą być z prędkością 100kB/s.

Tryb bajtowy PS/2 (Byte Mode). Tryb ten korzysta ze modyfikowanego dwukierunko-wego portu danych. Modyfikacja taka musi być zaimplementowana przez producentasprzętu. W obu kierunkach kanał udostępnia pasmo maksymalne do 200kB/s.

Tryb EPP (Enhanced Parallel Port). Kanał dwukierunkowy o szerokości maksymalnej2.3 MB/s. Na ogół wykorzystywany jest do obsługi urządzeń wymagających szerszegokanału transmisyjnego jak na przykłąd skanery.

Tryb ECP (Extended Capabilities Port). Tryb udostępnia kanał dwukierunkowy o pa-rametrach podobnych do EPP. Dodatkowo w trybie tym korzysta się z buforów i kanałuDMA.

Pierwsze trzy tryby bazują na pierwotnym standardzie interfejsu. Dwa pozostałe wymagająkompletenej modyfikacji sprzętu. Tradycyjnie już, wszystkie kolejne standardy są zgodne wdół.

Page 78: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

Rozdział 6

Urządzenia peryferyjne

6.1 Monitory CRT

6.2 Wyświetlacze LCD

6.3 Drukarki

6.4 Skanery

6.5 UPS

73

Page 79: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

Rozdział 7

Tryby PIO i DMA

7.1 DMA

Procesor często postrzegany jest jako ”mózg” komputera. We wczesnych konstrukcjach takbyło w istocie — procesor robił prawie wszystko. Oprócz wykonywania kodu programu byłtakże odpowiedzialny za transfer danych to i z urządzeń peryferyjnych. Powieżenie tej ostat-niej czynności procesorowi nie jest najszczęśliwszym rozwiązaniem, jako, że ”marnuje” onwówczas prawie bezproduktywnie swój czas. W procesie tym jest on bowiem tylko pośredni-kiem umożliwiającym wykonanie transferu.

Wprowadzenie kanałów DMA (direct memory access) dało możliwość wykonywania przezprocesor czynności do jakich został stworzony, podczas gdy odbywał sie transfer danych.

Należy zauważyć, że kanały DMA występują tylko w magistralach ISA, EISA oraz VLB.Ponadto odciążenie procesora nadzorowaniem transmisji tylko teoretycznie oznacza, że mo-że on swobodnie wykonywać inne operacje. Trzeba bowiem pamiętać, że wszystkie szyny(adresowa, danych) są we władanu kontrolera DMA, a więc procesor może przetwarzć tylkote dane, które znajdują się w rejestrach lub pamieci podręcznej. Pojawienie się wraz z ma-gistralą ISA kanałów DMA stanowiło istotne usprawinienie w transporcie danych. Jednakzastosowana wówczas technologia pozostała nie zmieniona do dzisiaj. Stało się to przyczynądla której dzisiejsze twarde dyski nie korzystają z tego mechanizmu.Aktualnie dostępne (2001 XI) tryby danych:

Tryb Maksymalny Zegartransfer [MB/s] UDMA [MHz]

PIO 0 3.33PIO 1 5.22PIO 2 8.33PIO 3 11.11PIO 4 16.66

Singleword DMA 0 2.08Singleword DMA 1 4.16Singleword DMA 2 8.33Multiword DMA 0 4.16Multiword DMA 1 13.33Multiword DMA 2 16.66

Ultra DMA 0 16.16 4.16Ultra DMA 1 25.00 6.25

Ultra DMA 2 (UDMA/33) 33.33 8.33Ultra DMA 3 (UDMA/44) 44.44 11.11Ultra DMA 4 (UDMA/66) 66.64 16.66Ultra DMA 5 (UDMA/100) 99.96 24.96

74

Page 80: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

Rozdział 8

Zabezpieczenia transmisjidanych

8.1 Kod CRC

CRC (Cyclic Redundancy Code) jest cyklicznym kodem nadmiarowym używanym do detek-cji błędów. Najczęściej wykorzystywany jest do zabezpieczania przed przekłamaniami ciągówdanych podczas transmisji. Przyczyną wielkiej popularności tego kodu jest jego skutecznośćwykrywania przekłamań, przy jednoczesnej prostocie obliczania i realizacji sprzętowej algo-rytmu.

Zabezpieczenie danych w tej metodzie polega na dodaniu do nich specjalnie obliczonejdodatkowej informacji, którą stanowi właśnie kod CRC. Do obliczenia kodu CRC potrzebnyjest tak zwany wielomian generacyjny. Stanowi on podstawę do obliczeń i dlatego jego zna-jomość jest niezbędna zarówno dla nadawcy jak i odbiorcy. Wielomianem generacyjnym jestłańcuch bitów, w którym kolejne pozycje są współczynnikami przy odpowiednich potęgachwielomianu. Na przykład wielomian postaci

x7 + x5 + x + 1

zapisujemy jako1x7 + 0x6 + 1x5 + 0x4 + 0x3 + 0x2 + 1x1 + 1x0

co ostatecznie daje ciąg

10100011

Zarówno najstarszy jak i najmłodszy bit wielomianu generacyjnego musi być równy 1, aciąg przeznaczony do zakodowania musi być od niego dłuższy. Przy obliczeniach obowią-zuje arytmetyka modulo 2. Nie uwzględnia się przeniesień przy dodawaniu i pożyczek przyodejmowaniu. Operacje te są zatem równoznaczne z funkcją XOR. Na przykład

10011011 11110000

+ 11001010 - 10100110

---------- ----------

01010001 01010110

Do ciągu danych należy dodać na końcu tyle bitów zerowych ile wynosi stopień wielomia-nu generacyjnego. Następnie należy rozszerzony tak ciąg danych podzielić przez wielomiangeneracyjny.

Dzielenie wykonujemy w następujący sposób. Rozpoczynamy od bitu danych położonegoz lewej strony. Jeśli jest on równy 1, to poniżej przepisujemy wielomia generacyjny, jeśli0, to wpisujemy same zera. Następnie wykonujemy dodawanie modulo 2 (czyli stosujemy

75

Page 81: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 8. ZABEZPIECZENIA TRANSMISJI DANYCH 76

funkcje XOR). W następnym kroku spisujemy z ciągu danych kolejny bit i powtarzamypoprzdnią operację aż zużyjemy wszystkie bity danych. To, co zostanie z dzielenia, będziewłaśnie poszukiwanym kodem CRC. Bity te należy wpisać na koniec ciągu danych zamiastuprzednio dodanych bitów zerowych.

Obliczając teraz kod CRC dla danych z dołączonym kodem, jeśli transmisja była bez-błędna, powinniśmy otrzymać zerową resztę z dzielenia.

W praktycznych zastosowaniach używa się następujących wielomianów

CRC 12 = x12 + x11 + x3 + x2 + x + 1CRC 16 = x16 + x15 + x2 + 1

CRC CCITT = x16 + x12 + x5 + 1

Szczególnie dwa ostatnie wielomiany godne są polecenia, wyłapują bowiem szystkie błędypojedyncze i podwójne, błędy z nieparzystą liczbą bitów, błędy seryjne o długości mniejszejod 16 bitów oraz 99.99% błędów seryjnych 18-bitowych i dłuższych.

Przykład: obliczanie kodu CRC.

Ciag z danymi 1101011011

Generator 10011

11010110110000 : 10011

10011.........

-----.........

10011........

10011........

-----........

00001.......

00000.......

-----.......

00010......

00000......

-----......

00101.....

00000.....

-----.....

01011....

00000....

-----....

10110...

10011...

-----...

01010..

00000..

-----..

10100.

10011.

-----.

01110

00000

-----

1110 - Kod CRC

Page 82: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

Rozdział 9

Pytania

1. Wymień główne zespoły składowe procesora i opisz ich rolę.

2. Wyjaśnij mechanizm funkcjonowania przerwań.

3. Omów ogólny format rozkazu. Jakie czynniki mają na niego wpływ?

4. Omów poszczególne etapy wykonania rozkazu.

5. Umieć opisać zmiany jakie zachodzą przy stosowaniu rozkazów skoku i wywołania pod-porogramu (zmiany licznika programu, zapamiętywanie na stosie miejsc powrotu).

6. Wymień i scharakteryzuj sposoby adresowania.

7. Wyjaśnij idee potokowego przetwarzania rozkazów.

8. Jakie parametry charakteryzują pamięć.

9. Przyczyny stosowania hierarchi pamięci.

10. Scharakteryzuj półprzewodnikowe pamięci o dostępie swobodnym.

11. Opisz modele organizacji pamięci.

12. Opisz zadania i sposób pracy pamięci podręcznej.

13. Opisz linię rozwojową układów pamięciowych stosowanych w komputerach domowych.Wskaż wyraźnie kolejne modyfikacje/zmiany.

14. Przedstaw budowę napędu dyskowego.

15. Przedstaw sposób organizacji danych na dysku magnetycznym.

16. W jakim celu wprowadzono macierze dyskowe. Opisz jeden z poziomów RAID.

17. Przedstaw zasadę pracy napędu magnetooptycznego.

18. Scharakteryzuj budowę, zasadę funkcjonowania itp. taśmy magnetycznej i napędówtaśmowych.

19. Scharakteryzuj budowe i zasadę funkcjonowania dysków optycznych (CD).

20. Scharakteryzuj budowe i przedstaw zasadę funkcjonowania dysków DVD.

21. Przedstaw ogólną strukturę i zadania magistrali.

22. Wymień i opisz parametry charakteryzujące magistralę.

77

Page 83: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

ROZDZIAŁ 9. PYTANIA 78

23. Przedstaw krótko linie rozwojową magistral w komputerach osobistych.

24. Scharakteryzuj magistralę połączeniową IDE/EIDE.

25. Scharakteryzuj magistralę połączeniową SCSI.

26. Scharakteryzuj jedną z następujących magistral połączeniowych: FireWire, USB, IrDA.

27. Opisz zasadę działania monitora CTR.

28. Opisz zasadę działania wyświetlacza LCD.

29. Wymień rodzaje drukarek i opisz sposoby ich pracy.

30. Co to jest skaner i jak działa?

31. Co to jest i do czego służy UPS? Jakie są rodzaje?

32. Przedstaw zabezpieczenia polegające na stosowaniu bitu parzystości, sumy kontrolnej,kodu CRC.

Page 84: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

Spis literatury

[1] Wojciech Antosiewicz, AGP – pryszłość grafiki, PC WORLD KOMPUTER5/97, s 24.

[2] Maurice J. Bach, Budowa systemu operacyjnego UNIX, WNT, Warszawa,1995.

[3] Marcin Bieńkowski,Cyfrowe na złote, CHIP, 6/97.

[4] Marcin Bieńkowski, Magistrala XXI wieku ?, CHIP 12/99, s. 158.

[5] Marcin Bieńkowski, 20 stopień zasilania, CHIP, 5/2000.

[6] Marek Czapelski, UPS – i nie zgasło, CHIP, 9/2000.

[7] Marek Czapelski, Wypalanie na żądanie, CHIP, 11/00.

[8] Robert Dec, Jak działa DVD, CHIP, 6/98.

[9] Ewa Dziekańska, Narodziny procesora, CHIP, 9/98.

[10] Ewa Dziekańska, Polimerowe pamięci optyczne, CHIP, 11/98.

[11] Piotr Górecki, Skaner – oko komputera, Elaktronika dla wszystkich, 9/2001.

[12] Zbigniew Gutowski, Marian Molski, Komputer w pytaniach i odpowiediach,WNT, Warszawa 1988.

[13] Dariusz Hałas, Nagraj własne CD, ENTER 11/2001, s. 48.

[14] http://www.irda.org/

[15] Ewa Hutny, Janusz Hutny, Magistrale, ENTER 3/94, s.33.

[16] JS, Drukarki laserowe, ENTER, 7/93, s. 32.

[17] JS, Igły i kolce, ENTER, 11/93, s. 58.

[18] Marek Kowalski, Cienki czerwony kabelek, ENTER 11/2001, s.34.

[19] Paweł Leśniorowski, Wirujący krążek, CHIP, 7/98.

[20] Paweł Leśniorowski, Na wszelki wypadek, CHIP, 3/99.

[21] Andrzej Majkowski, Michał Stelak, Jan Stożek, Czas na kolorowy wydruk,ENTER, 5/94, s.48.

[22] Andrzej Majkowski, Czym drukować?, ENTER, 7/97, s. 44.

[23] Andrzej Majkowski, Graficzna rewolucja Intela, ENTER 10/97, s. 28.

[24] Andrzej Majkowski, Technologie druku kolorowego, ENTER, 11/97, s. 20.

79

Page 85: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

SPIS LITERATURY 80

[25] Piotr Metzger,Anatomia PC, Helion, 2001.

[26] Jerzy Michalczyk, Wewnętrzne życie odtwarzacza, CHIP, 3/97.

[27] Jerzy Michalczyk, Bez barw? Nie!, CHIP, 12/97, s. 96.

[28] Jerzy Michalczyk, Treci slot, CHIP, 2/98, s. 60.

[29] Jerzy Michalczyk, Wzdłuż srebrnej spirali, CHIP, 7/98.

[30] Jerzy Michalczyk, Twardziele przyszłości, CHIP, 9/98.

[31] Jerzy Michalczyk, Technologia jutra?, CHIP, 11/98.

[32] Jerzy Michalczyk, Wir pamięci, CHIP, 12/99.

[33] Jerzy Michalczyk, Wybierz kolor i wypal!, CHIP, 10/00.

[34] Łukasz Nowak, Nagrajmy to jeszcze raz, CHIP, 11/97.

[35] Jacek Orłowski, Po prost spalam się, CHIP, 3/01.

[36] Przemysław Pawełczyk, PCI ante portas?, ENTER 4/94, s. 22.

[37] Przemysław Pawełczyk, Stara nowa ISA, ENTER 12/94, s. 30.

[38] Przemysław Pawełczyk, Wymiana szyn, ENTER 12/95, s 30.

[39] Przemysław Pawełczyk, Pamięci stałe CD-ROM. Nośnik dwuwarstwowy.,ENTER 3/96, s. 22.

[40] Przemysław Pawełczyk, Szyna dla wielu procesorów, ENTER 8/96, s. 27.

[41] Przemysław Pawełczyk, CardBus i nie tylko, ENTER 11/96, s. 16.

[41] Przemysław Pawełczyk, NFR podzwonne dla HDD?, CHIP, 12/98.

[43] Marcin Pawlak, Koniec kłopotów, CHIP, 9/97.

[44] Jacek Petrus, Wygrać złoto, CHIP, 4/98.

[45] Murray Sargent III, Richard L. Shoemaker, The Personal Computer from theInside Out (Third Edition), Addison-Wesley Publishing Company, 1995.

[46] Abraham Silberschatz, James L. Peterson, Peter B. Galvin, Podstawy syste-mów operacyjnych, WNT, Warszawa 1993.

[47] Ryszard Sobkowski, Historia naturalna PC. Wielotorowa historia szyny, EN-TER 2/96, s. 24.

[48] Ryszard Sobkowski, PCI zupełnie inaczej, ENTER 11/2001, s.31.

[49] Ryszard Sobkowski, Przełamane bariery, ENTER, 1/2002, s. 26.

[50] Ryszard Sobkowski, Nie tylko DDR, ENTER, 1/2002, s. 32.

[51] Ryszard Sobkowski, Dżungla gniazd i podstawek, ENTER, 1/2002, s. 88.

[52] Krzysztof Sokołowski, Jerzy Michalczyk, Silikonowa dżungla, CHIP, 10/97.

[53] William Stallings, Organizacja i architektura systemu komputerowego, Wy-dawnictwa Naukowo-Techniczne, Warszawa 2000.

[54] Michał Stelak, Igłą, tuszem i laserem, ENTER, 11/94, s. 44.

Page 86: Wstƒp do budowy komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/budowa... · prowadz¡c wyk“ad ze wstƒpu do budowy komputerów. Udostƒpniam je

SPIS LITERATURY 81

[55] Michał Stelak, Poświecić, pochlapać, ENTER, 7/96, s. 40.

[56] Michał Stelak, Bez ”twardego” ani rusz, ENTER, 4/97, s. 62.

[57] Michał Stelak, RAM bez prądu, PCkurier, 12 listopada 2001, s. 49.

[58] Michał Stelak, Prąd na czarną godzinę, PCkurier 24, 26 listopada 2001, s.44-48.

[59] Andrew S. Tanenbaum, Rozproszone systemy operacyjne, Wydawnictwo Na-ukowe PWN, Warszawa 1997.

[60] Krzysztof Wierzbicki, 60 milionów tranzystorów, ENTER, 1/2002, s. 36.

[61] Krzysztof Wojtuszkiewicz, Urządzenia techniki komputerowej. Część I. Jakdziała komputer?, MIKOM, Warszawa, 1999.

[62] Krzysztof Wojtuszkiewicz, Urządzenia techniki komputerowej. Część II. Urzą-dzenia peryferyjne i interfejsy, MIKOM, Warszawa, 2000.