A. Myśliński – materiały pomocnicze do wykładu ASK
1
Wykład 11
Układy wejścia - wyjścia.
1. Urządzenia zewnętrzne
Urządzenia zewnętrzne umożliwiają wymianę danych pomiędzy komputerem a otoczeniem
zewnętrznym. Urządzenie zewnętrzne współpracuje z komputerem poprzez łącze z modułem
wejścia – wyjścia. Łącze jest używane do wymiany sygnałów sterowania, stanu oraz danych
pomiędzy urządzeniem zewnętrznym a modułem wejścia – wyjścia.
Rys 11.1 Ogólny model modułu wejścia-wyjścia
Urządzenie peryferyjne - urządzenie zewnętrzne połączone z modułem wejścia – wyjścia.
Kategorie urządzeń zewnętrznych:
•
Przeznaczone do odczytywania przez człowieka - drukarki, terminale wizyjne
•
Przeznaczone do odczytywania przez maszynę – dyski i taśmy magnetyczne, czujniki
•
Komunikacyjne - odpowiednie do komunikowania się z odległymi urządzeniami.
1.1 Budowa urządzenia zewnętrznego
Uproszczony schemat blokowy urządzenia zewnętrznego jest przedstawiony na Rys. 11.2.
Interfejs z modułem we-wy ma postać sygnałów:
•
Sterowania – określają funkcję, jaką ma pełnić urządzenie
•
Stanu – wskazują stan urządzenia, np. GOTOWOŚĆ do przesyłu danych
•
Danych – mają postać zespołu bitów przeznaczonych do wysłania lub odbieranych z
modułu we-wy
Bloki funkcjonalne:
•
Logiczne układy sterowania związane z urządzeniem sterują jego pracą w odpowiedzi
na polecenia płynące z modułu we-wy,
•
Przetwornik dokonuje konwersji danych z postaci elektrycznej na inną formę energii
w przypadku wyjścia z innych form na elektryczną podczas wejścia,
A. Myśliński – materiały pomocnicze do wykładu ASK
2
•
Zwykle
z
przetwornikiem
związany
jest
bufor
umożliwiający
czasowe
przechowywanie danych przenoszonych między modułem we-wy a otoczeniem
zewnętrznym. Bufor ten ma zwykle rozmiar od 8 do 16 bitów
•
Interfejs między modułem wejścia – wyjścia a urządzeniem zewnętrznym
•
Interfejs między urządzeniem zewnętrznym a otoczeniem
Rys. 11.2 Urządzenie zewnętrzne – uproszczony schemat blokowy
1.2 Rodzaje urządzeń zewnętrznych:
•
Wejściowe: Klawiatura, mysz, dysk, skaner
•
Wyjściowe: monitor ekranowy, drukarka
•
Komunikacyjne: modem, karta sieciowa
1.2.2 Klawiatura i monitor
Najbardziej powszechnym środkiem współpracy między komputerem a użytkownikiem jest
zespół klawiatura/monitor.
Podstawową wymienianą jednostką jest znak. Z każdym znakiem wiąże się kod, zwykle o
długości 7 do 8 bitów. Najczęściej używanym kodem jest kod 7-bitowy nazywamy ASCII.
Każdy znak w tym kodzie reprezentowany jest przez unikalny 7-bitowy kod binarny.
Możliwe jest więc reprezentowanie 128 różnych znaków. W kodzie tym występują 2 typy
znaków:
•
drukowalne – znaki alfabetu, cyfry i znaki specjalne, które mogą być drukowane na
papierze lub wyświetlana na ekranie
•
kontrolne – niektóre znaki kontrolne są używane przy drukowaniu lub wyświetlaniu
znaków np. znak powrotu karetki; inne znaki kontrolne związane są z procedurami
komunikacyjnymi.
W przypadku wejścia z klawiatury naciśnięcie klawisza powoduje:
1.
wygenerowanie sygnału eklektycznego, który jest interpretowany przez
przetwornik w klawiaturze i tłumaczony na wzór bitowy odpowiedniego kodu
ASCII
2.
wzór bitowy jest następnie transmitowany do modułu we-wy w komputerze. W
samym komputerze tekst może być przechowywany w tym samym kodzie
ASCII.
A. Myśliński – materiały pomocnicze do wykładu ASK
3
W przypadku wyjścia:
1.
kody ASCII znaków są transmitowane z modułu we-wy do urządzenia
zewnętrznego
2.
Przetwornik w tym urządzeniu interpretuje kod i wysyła niezbędne sygnały
elektryczne do urządzenia wyjściowego w celu albo wyświetlenia, albo
wykonania wymaganej funkcji sterującej.
Napęd dysku
Napęd dysku zawiera układy elektroniczne służące do wymiany danych oraz sygnałów
sterowania i stanu z modułem we-wy, a także układy elektroniczne starowania mechanizmem
odczytu i zapisu. W przypadku dysku z:
•
głowicą nieruchomą – przetwornik może wykonać konwersję między wzorami
magnetycznymi występującymi na poruszającej się powierzchni dysku a bitami w
buforze urządzenia
•
głowicą ruchomą – napęd musi zapewnić sterowanie radialnym przesuwem ramienia
nad powierzchnią dysku
2. Moduł wejścia – wyjścia. Umiejscowienie i schemat blokowy modułu.
Moduł wejścia – wyjścia jest obok procesora i pamięci, trzecim kluczowym składnikiem
komputera. Każdy moduł wejścia – wyjścia jest dołączany do magistrali systemowej lub
centralnego przełącznika. Jest on odpowiedzialny za:
•
sterowanie jednym lub wieloma urządzeniami zewnętrznymi
•
wymianę danych między tymi urządzeniami a pamięcią główną i/lub rejestrami
procesora.
Moduł jest nie tylko złączem mechanicznym ale i „inteligentnym”, które dzięki układom
logicznym umożliwia komunikację między magistralą systemową a urządzeniem
peryferyjnym. Na konieczność funkcjonowania modułu wskazują:
•
znaczna różnorodność urządzeń peryferyjnych
•
mniejsza szybkość transmisji danych do i z urządzeń peryferyjnych w porównaniu z
procesorem lub w niektórych przypadkach odwrotnie (niedopasowanie szybkości)
•
różnorodność formatów danych i długości słów wykorzystywana przez urządzenia
peryferyjne
2.1 Główne funkcje modułu wejścia – wyjścia:
•
Sterowanie i taktowanie
o
koordynowanie przepływu informacji między zasobami wewnętrznymi a
urządzeniami zewnętrznymi.
o
W dowolnym przedziale czasu procesor może komunikować się z jednym lub
wieloma urządzeniami zewnętrznymi wg nieprzewidywalnego schematu, zależnie
od potrzeb programu w odniesieniu do wejścia lub wyjścia.
o
Zasoby wewnętrzne, takie jak pamięć główna i magistrala systemowa, mogą być
wykorzystywane wspólnie przez różne operacje, w tym operacje we-wy danych.
Jeśli system wykorzystuje magistralę, to każde z oddziaływań między procesorem a
modułem we-wy wymaga jednego lub wielu arbitraży magistralowych
o
Układ wejścia – wyjścia musi koordynować przepływ informacji między zasobami
wewnętrznymi a urządzeniami zewnętrznymi.
A. Myśliński – materiały pomocnicze do wykładu ASK
4
o
Może być potrzebny oddzielny zegar taktujący przesyłanie danych do/z urządzenia
zewnętrznego.
o
Sygnały sterujące sprawdzają i ustawiają odpowiedni stan urządzenia.
•
Komunikacja z procesorem
o
Dekodowanie rozkazu, przesyłanie danych oraz informacji o stanie, rozpoznawanie
adresu urządzeń peryferyjnych
•
Komunikacja z urządzeniem zewnętrznym
o
Rozkazy, informacje o stanie, dane
•
Buforowanie danych
o
Różne prędkości transferu danych do i z pamięci głównej lub procesora oraz
urządzeń peryferyjnych
•
Wykrywanie błędów
o
Defekty mechaniczne lub elektryczne
o
Zmiana wzoru bitowego danych (kody korekcyjne, bit parzystości)
2.2 Struktura modułu wejścia – wyjścia
Schemat blokowy modułu wejścia – wyjścia przedstawiono na Rys. 11 .3.
Rys.11.3 Schemat blokowy modułu wejścia-wyjścia
Moduł jest połączony z resztą komputera za pomocą zespołu linii sygnałowych np.
magistrali systemowej. Dane przenoszone do/z modułu są buforowane w jednym lub
wielu rejestrach danych. Może też występować jeden lub wiele rejestrów stanu, które
dostarczają bieżącej informacji ostanie. Rejestr stanu może również funkcjonować jako
rejestr sterowania.
Układy logiczne wewnątrz modułu współpracują z procesorem poprzez zespół linii
sterowania. Są one wykorzystywane przez procesor do wydawania rozkazów modułowi
we-wy. Niektóre linie sterowania mogą być używane przez moduł we-wy.
Moduł musi również rozpoznawać i generować adresy urządzeń, którymi steruje. Każdy
moduł we-wy ma unikatowy adres lub, jeśli kontroluje więcej niż jedno urządzenie
zewnętrzne unikatowy zespół adresów.
A. Myśliński – materiały pomocnicze do wykładu ASK
5
Moduł we-wy zawiera też układy logiczne dostosowane do interfejsów z każdym
sterowanym urządzeniem.
Moduł we-wy musi dysponować:
Interfejsem wewnętrznym w stosunku do komputera (z procesorem i pamięcią
główną)
Interfejsem zewnętrznym w stosunku do komputera (z urządzeniem zewnętrznym)
Moduł we-wy, który przejmuje większość obciążenia szczegółowym przetwarzaniem,
mający wysoki poziom priorytetu w stosunku do procesora, jest zwykle określany jako
kanał we-wy lub procesor we-wy.
Moduł we-wy, który jest całkiem prymitywny i wymaga szczegółowego sterowania, jest
zwykle określany jako sterownik we-wy lub sterownik urządzenia.
3. Typowy schemat urządzenia peryferyjnego
Rys. 11.4. Monitor stereoskopowy a) zasada działania b) schemat blokowy
A. Myśliński – materiały pomocnicze do wykładu ASK
6
4. Zasady realizacji operacji wejścia – wyjścia
Istnieją 3 sposoby realizacji operacji we-wy:
•
Programowane wejście-wyjcie – (wszystkim steruje procesor) dane są wymieniane
między procesorem a modułem we-wy. Procesor wykonuje program, który umożliwia
mu bezpośrednie sterowanie operacją we-wy, włącznie z rozpoznawaniem stanu
urządzenia, wysyłaniem rozkazu odczytu lub zapisu oraz transferem danych. Gdy
procesor wydaje rozkaz modułowi we-wy, musi poczekać na zakończenie operacji we-
wy. Jeśli procesor jest szybszy niż moduł we-wy, oznacza to stratę czasu procesora.
•
Wejście-wyjście sterowane przerwaniami – (procesor zajmuje się obsługą urządzeń
które zgłaszają stan przerwania) procesor wydaje rozkaz we-wy, po czym wykonuje
inne rozkazy, co z kolei ulega przerwaniu przez moduł we-wy, gdy zakończył on
swoją pracę.
•
Bezpośredni dostęp do pamięci – moduł we-wy i pamięć główna wymieniają dane
bezpośrednio, bez angażowania procesora. Jest to rozwiązanie alternatywne w
stosunku do dwóch pierwszych gdzie zarówno w przypadku programowego we-wy,
jak i sterowanego przerwaniami procesor jest odpowiedzialny za pobieranie danych z
pamięci głównej (wyjście) oraz zapisywanie ich w tej pamięci (wejście).
Rys. 11.5 Operacje wejścia – wyjścia: a) programowane (lewa strona) b) sterowane przerwaniami (prawa
strona).
A. Myśliński – materiały pomocnicze do wykładu ASK
7
Rys. 11.6 Operacje wejścia – wyjścia: bezpośredni dostęp do pamięci.
Wady programowanego i sterowanego przerwaniami wejścia-wyjścia:
●
Szybkość transferu ograniczona szybkością, z jaką procesor może testować i obsługiwać
urządzenie.
●
Procesor jest zajęty przesyłaniem danych, co zajmuje jego czas, który mógłby być
przeznaczony na obliczenia i przetwarzanie danych.
Działanie DMA
●
Dodatkowy układ DMA przejmuje od procesora sterowanie urządzeniami wejścia-wyjścia i
ma bezpośredni dostęp do pamięci.
●
Procesor wydaje rozkazy układowi DMA, podając informacje:
rodzaj operacji: odczyt lub zapis
adres urządzenia wejścia-wyjścia
adres pamięci przeznaczonej dla operacji
liczbę bajtów (słów) do odczytania/zapisania
Rys. 11.7. Pojedyncza magistrala: odłączalne DMA
Rys. 11. 8. Pojedyncza magistrala: DMA zintegrowane z wejściem – wyjściem
A. Myśliński – materiały pomocnicze do wykładu ASK
8
Wykład 12
Interfejsy wejścia – wyjścia
4. Szeregowy i równoległy interfejs wejścia – wyjścia
W systemach komputerowych i pomiarowych stosuje się dwa rodzaje transmisji danych:
transmisję równoległą i transmisję szeregową.
•
transmisja równoległa - polega na jednoczesnym przesyłaniu większej liczby bitów
informacji. Każdy bit informacji jest przesyłany odrębną linią danych.
•
transmisja szeregowa - polega na sekwencyjnym przesłaniu kolejnych bitów danych tą
samą linią danych. Wykorzystuje się do tego celu wiele różnych standardów z czego
największą popularność zyskały standardy takie jak RS232, Profibus i inne
Schemat przesyłu znaku metodą równoległą i szeregową przedstawiono na rysunku poniżej.
Rys. 12.1 Transmisja szeregowa i równoległa.
A. Myśliński – materiały pomocnicze do wykładu ASK
9
4.1 Interfejsy szeregowe
●
Port szeregowy RS-232, PS/2 i inne (klawiatura, myszka, drobne urządzenia wejściowe i
wyjściowe)
o
Standardowe porty RS mają złącza 9-cio lub 25-cio pinowe. Oba gniazda mają te same
funkcje i różnią się tylko wyprowadzeniami. Jeśli zajdzie potrzeba to można kupić lub
wykonać prostą przejściówkę na 9 lub 25 pin. Oryginalny RS został zaprojektowany do
transmisji z prędkością 19.2 kbit/s jednak dzisiaj wszystkie porty potrafią pracować z
prędkością 115.2 kbit/s a specjalizowane karty z prędkościami 460 kbit/s lub nawet 920
kbit/s.
●
USB Uniwersalna Szyna Danych (Universal Serial Bus) (jw. oraz skanery, drukarki i inne)
o
USB to szybka szyna szeregowa, która dostarcza zasilanie do urządzeń i pozwala na
transmisję danych z prędkością 12 Mbit/s oraz 1.5 Mbit/s. Mała popularność jest
spowodowana brakiem sterowników oraz wysokimi cenami urządzeń. Szyna na nie
pozwala na bezpośrednie połączenie dwóch komputerów, ale pozwala na stworzenie
sieci komputerowych za pomocą odpowiednich urządzeń
●
IEEE 1394 High Performance Serial Bus [firewire (dyski, kamery)]
o
IEEE 1394 to bardzo szybka szyna szeregowa pozwalająca na transmisję danych z
przepustowością aż do 400 Mbit/s. Przed powstaniem standardu była nazwywana
"FireWire". Szyna ta jest używana najczęściej do podłączania nowoczesnych urządzeń
video i jej zaletą jest możliwość włączania i wyłączania urządzeń w czasie pracy.
Zalety interfejsów szeregowych
•
niski koszt kabli dzięki małej ilości przewodów danych oraz zwiększona
maksymalna długość.
Wady interfejsów szeregowych
•
w celu uzyskania dużego transferu wymagana jest wysoka częstotliwość.
4.2 Interfejsy równoległe
●
Port równoległy PC (drukarki)
o
Port równoległy został zaprojektowany do obsługi drukarek poprzez interfejs
"centronics". Na dzisiaj port ten jest jednak używany znacznie szerzej m.in. do obsługi
skanerów, napedów ZIP, napędów taśmowych do archiwizacji a także do niektórych
kart sieciowych. Dodano do portu komunikację dwukierunkową i rozdzielono tryby
pracy na : SPP, ECP i EPP.
●
Interfejs IDE (dyski, napędy CD i DVD)
●
Interfejs SCSI (dyski, napędy CD, streamery, skanery)
Zalety interfejsów szeregowych
•
duża szybkość transferu przy niewielkiej częstotliwości magistrali.
Wady interfejsów szeregowych
•
wiele kabli do przesyłania danych zwiększa koszt kabli. Interferencja między
przewodami ogranicza długość.
5. Wielopunktowa konfiguracja szeregowa: USB i FireWire
5.1 USB (Universal Serial Bus – uniwersalna magistrala szeregowa)
A. Myśliński – materiały pomocnicze do wykładu ASK
10
USB jest to rodzaj sprzętowego portu komunikacyjnego komputerów, zastępującego stare
porty szeregowe i porty równoległe. Został opracowany przez firmy Microsoft, Intel,
Compaq, IBM i DEC.
Port USB jest uniwersalny w tym sensie, że można go wykorzystać do podłączenia do
komputera wielu różnych urządzeń (np.: kamery wideo, aparatu fotograficznego, telefonu
komórkowego, modemu, skanera, klawiatury, przenośnej pamięci itp). Urządzenia podłączane
w ten sposób mogą być automatycznie wykrywane i rozpoznawane przez system, przez co
instalacja sterowników i konfiguracja odbywa się w dużym stopniu automatycznie (przy
starszych typach szyn użytkownik musiał bezpośrednio wprowadzić do systemu informacje o
rodzaju i modelu urządzenia). Możliwe jest także podłączanie i odłączanie urządzeń bez
konieczności wyłączania czy ponownego uruchamiania komputera.
Większość współczesnych systemów operacyjnych obsługuje złącze USB – dotyczy to m.in.
systemów firmy Microsoft zaczynając od Windows 95 w wersji OSR2 (istnieje także
poprawka do wersji OSR1 udostępniająca obsługę USB), systemów Windows z rodziny NT
(od wersji 5.0), systemów opartych na jądrze Linux, systemów z rodziny BSD oraz Mac OS.
Na opakowaniach produktów można znaleźć oznaczenia USB 2.0 i podobne, ważniejszą
informacją jest jednak szybkość transmisji. Urządzenia te powinny mieć naklejkę informującą
o ich standardzie pracy. Urządzenia USB możemy podzielić na trzy grupy ze względu na
zgodność z przyjętymi specyfikacjami:
•
USB 1.1 Urządzenia spełniające warunki tej specyfikacji mogą pracować z prędkością
(Full Speed) 12 Mbit/s (1,5 MB/s) i (Low Speed) 1,5 Mbit/s (0,1875 MB/s)
•
USB 2.0 (Hi-Speed) Urządzenia zgodne z warunkami nowej specyfikacji mogą
pracować z maksymalną prędkością 480 Mbit/s (60 MB/s). Rzeczywista prędkość
przesyłu danych zależy od konstrukcji urządzenia. Urządzenia w standardzie USB 2.0
są w pełni kompatybilne ze starszymi urządzeniami.
•
USB 3.0 (SuperSpeed) Urządzenia zgodne z warunkami nowej specyfikacji będą
mogły pracować z prędkością 4,8 Gb/s (600 MB/s). Nowy standard oprócz
pozostałych łącz elektrycznych (dla kompatybilności w dół z USB 2.0 i 1.1) korzystać
będzie również z łącz optycznych (kabel połączeniowy będzie wyposażony w
ś
wiatłowód). Kontrolery USB tej generacji będą posiadać inteligentny system
odłączający zasilanie od urządzeń, po stwierdzeniu że z niego nie korzystają. Pierwsza
prezentacja tej technologii odbyła się na targach CES 2008.
Złącze USB wyparło wiele innych ponieważ ma wiele zalet:
•
Prosta eksploatacja: podłączamy i gotowe. Urządzenia USB można podłączać i odłączać
przy włączonym komputerze. System operacyjny rozpoznaje urządzenie i najczęściej ma
pasujący do niego sterownik. Nie ma również ryzyka pomylenia wtyków lub
niewłaściwego ich podłączenia.
•
Wszechstronność: większość pecetów ma kilka gniazd USB, umieszczonych z przodu, z
boku i z tyłu obudowy.
•
Szybkość: w USB 2.0 dane pędzą przez przewody z prędkością 480 MB/s - na przykład
skopiowanie pliku wielkości płyty CD (700 MB) trwa niewiele dłużej niż 20 sekund.
A. Myśliński – materiały pomocnicze do wykładu ASK
11
•
Uniwersalność: praktycznie każdy komputer zbudowany w ciągu ostatnich 10 lat
wyposażony jest w gniazdo USB, a wybór urządzeń peryferyjnych podłączanych do USB
jest olbrzymi.
•
Zasilanie: USB może zasilać urządzenia o niewielkim zużyciu prądu, takie jak klawiatury,
myszy czy dyski 2,5-calowe. Przy napięciu 5 woltów dostarcza prąd o natężeniu 500
miliamperów. Urządzenia dodatkowe o wyższych potrzebach energetycznych, takie jak
drukarki i dyski zewnętrzne 3,5-calowe, wymagają dodatkowego zasilacza, podłączanego
do gniazdka.
•
Prosta budowa: w centrum zawsze znajduje się komputer, do którego podłączone jest
urządzenie USB. Urządzenie wymienia dane bezpośrednio z pecetem. To tak zwane
połączenie typu punkt - punkt jest powodem, dla którego większość urządzeń
podłączonych do komputera przez USB nie potrafi wymieniać danych pomiędzy sobą.
Komputer pełni funkcję tak zwanego hosta USB. Jako gospodarz pyta on regularnie wszystkie
podłączone przez USB urządzenia, tak zwanych klientów, czy są nowe dane do transmisji.
Goście sami z siebie nie mogą wysyłać żadnych danych. Ta procedura, zwana pollingiem
(ang. odpytywanie), angażuje wprawdzie moce obliczeniowe komputera, ale umożliwia
budowę prostych, a tym samym niedrogich urządzeń USB. Połączenie typu USB - USB
możliwe jest tylko w przypadku urządzeń działających w standardzie USB On-The-Go, takich
jak aparaty i drukarki wyposażone w technologię PictBridge.
5.2 Fire Wire (IEEE 1394)
FireWire to standard łącza szeregowego umożliwiającego szybką komunikację i
synchroniczne usługi w czasie rzeczywistym. Opracowany w roku 1995 dla komputerów
osobistych i cyfrowych urządzeń optycznych. Rozwijany przez firmę Apple Inc. Jest
zdefiniowany w dokumencie IEEE 1394. Magistrala ta w okrojonej wersji (brak linii
zasilających) wykorzystywana jest przez firmę Sony (a obecnie również inne) pod nazwą
i.Link. Natomiast firma Creative Technology opisuje złącze jako SB1394. Zmiana nazwy ma
na celu uniknięcie opłat licencyjnych, ale wszystkie te złącza są ze sobą w 100% zgodne.
Standard ten, znany również jako IEEE-1394 bądź iLink, rozwijany jest równolegle do USB.
Choć w swojej filozofii FireWire jest do USB bardzo podobny przeznaczony jest do
zastosowań bardziej profesjonalnych, tzn. do takich gdzie transmisja na poziomie 12 Mbps
(tak jak ma to miejsce w przypadku USB) jest niewystarczająca (USB nie jest w stanie
zagwarantować takiej przepustowości nawet w wersji 2.0.). Otóż standard IEEE-1394 w
obecnie spotykanej wersji oferuje przepustowość magistrali na poziomie 100/200/400 Mbps,
a nawet 800 lub 1600 Mbps, która jest zupełnie wystarczająca do np. montażu video w czasie
rzeczywistym. Obecnie większość dostępnych na rynku kamer video posiada złącze tej
magistrali przeważnie oznaczane jako DV (Digital Video) bądź iLink (kamery Sony).
FireWire jest szeregową magistralą ogólnego przeznaczenia, jednak ze względu na
promowanie jej przez Apple jako wyjątkowo multimedialnej oraz ze względu na powszechne
stosowanie w kamerach jest kojarzona prawie wyłącznie z kamerami cyfrowymi. Obecnie
popularne stało się używanie FireWire w profesjonalnych kartach muzycznych i innym
sprzęcie audio.
FireWire jest powszechnie używany do łączenia kamer wideo i urządzeń pamięci masowej.
Stosuje się go zamiast popularniejszego USB z powodu większej szybkości transmisji
(prędkość nie zależy od wielkości plików jak przy USB – płynny streaming) oraz dlatego, że
A. Myśliński – materiały pomocnicze do wykładu ASK
12
nie wymaga użycia komputera. Nie ma również konieczności wysyłania sygnałów
potwierdzających aktywność urządzenia po drugiej stronie (co czyni USB nieefektywnym dla
profesjonalnej obróbki wideo). Jednak opłaty licencyjne, których wymaga Apple od firm
produkujących urządzenia obsługujące FireWire (0,25 USD za każde urządzenie) oraz
znacznie kosztowniejszy sprzęt spowodowały, że FireWire uległo względem USB na rynku
masowym, na którym koszt produktu jest głównym ograniczeniem.
FireWire odmiennie niż USB zarządza magistralą – nie wymaga kontrolera magistrali czyli
hosta. W standardzie USB magistralą zarządza kontroler (host), na jednej magistrali może
pracować tylko jeden host i jest nim zawsze komputer. W FireWire urządzenia są
równouprawnione, co pozwala na transmisję bezpośrednio pomiędzy urządzeniami
dołaczonymi do magistrali, bez pośrednictwa komputera. Dzięki temu możliwe jest z jednej
strony łączenie przy pomocy magistrali FireWire kilku komputerów ze sobą (i nawet
wykorzystanie protokołu IP), z drugiej strony możliwa jest bezpośrednia komunikacja między
urządzeniami, na przykład przesyłanie danych pomiędzy skanerem i drukarką bez używania
pamięci lub procesora komputera.
5.3 Porównanie FireWire oraz USB
Kategoria
FireWire
USB
Szybkość transferu
400 Mbps do 800 Mbps
do 480 Mbps
Kontroler nadrzędny
nie wymagany
wymagany
Obciążanie procesora
nie
tak
Topologia
sieć rozgałęźna
gwiazda
Maksymalna długość kabla
4.5 m
5 m
Maksymalna odległość
między urządzeniami
72 m
(16 czteroipółmetrowych
odcinków kabla w łańcuchu)
10 m
(dwa pięciometrowe odcinki)
Maksymalna ilość urządzeń
63
127 (+ 1 komputer)
Skalowalność
tak
tak
Plug and Play
tak
tak
Hot Plug
Tak
tak
Standard FireWire, mimo większych możliwości, nie jest tak popularny jak USB. Na skutek
polityki Intela kontroler FireWire nie jest zintegrowany z żadnym chipsetem tej firmy.
Umieszczanie dodatkowego, dedykowanego układu podnosi natomiast koszty produkcji płyt
głównych, dlatego producenci płyt implementowali FireWire jedynie w droższych modelach.
Obecnie jednak, coraz więcej płyt głównych ma w standardzie złącze FW, często nawet dwa.
Zalety FireWire to
•
Cyfrowa transmisja - standard nie wymaga konwersji sygnału cyfrowego w postać
analogową i odwrotnie. Oznacza to lepszą jakość sygnału i brak jakichkolwiek
zakłóceń.
•
Małe rozmiary - transmisja odbywa się po cienkim, szeregowym kablu (2 pary
przewodów sygnałowych i jedna para przewodów zasilających - 8-30V, 1.5A.
•
Prostota użycia - nie jest wymagana praktycznie żadna instalacja ani konfiguracja
sprzętu czy oprogramowania.
•
Hot Plug and Play - urządzenia zgodne z IEEE-1394 mogą być podłączane bądź
odłączane podczas pracy; nie wymagają również restartu komputera.
A. Myśliński – materiały pomocnicze do wykładu ASK
13
•
Skalowalność - obsługa urządzeń transmitujących z prędkością 100, 200, 400 (lub
więcej) megabitów na sekundę.
•
Elastyczność - urządzenia na magistrali mogą być w dowolny sposób łączone
między sobą; możliwe jest nawet połączenie "peer-to-peer" co pozwala na łączenie
urządzeń bez pośrednictwa komputera.
•
Szybkość - standard oferuje izochroniczną transmisję danych co w połączeniu z
dużą prędkością magistrali powoduje, że jest idealny w zastosowaniach video i
audio.
6. Wielopunktowa konfiguracja równoległa: magistrala SCSI
SCSI (Small Computer Systems Interface) – równoległa magistrala danych przeznaczona
do przesyłania danych między urządzeniami.
Wszystkie urządzenia podłączone do magistrali są równorzędne, każde z nich może
pełnić rolę zarówno inicjatora (rozpoczynać operację) jak i celu (wykonywać operację
zleconą przez inicjator). Niektóre urządzenia potrafią pełnić tylko jedną z ról.
System SCSI do niedawna był powszechnie wykorzystywany głównie w wysokiej
klasy serwerach i stacjach roboczych. Obecnie jest on stopniowo wypierany przez
nowszy interfejs SAS. Tańsze komputery domowe wykorzystują przeważnie standard
SATA
System SCSI jest standardem ANSI od roku 1986 (X3.131-1986). Jednak jego
korzenie sięgają juz początku lat 60-tych - prototyp obecnego standardu
stosowany był w komputerach IBM. Na początku lat 80-tych organizacja
normalizacyjna ANSI rozpoczęła prace nad nowym standardem o nazwie IPI
(Inteligent Peripheral Interface) będącym w istocie rozszerzeniem multipleksera
kanałowego IBM. Równocześnie firma Shugart - producent pamięci dyskowych -
opracowała własna specyfikacje magistrali interfejsowej. Magistrala ta, nazwana
SASI (Shugart Associates System Interface), została zaakceptowana przez
wiodące firmy wytwarzające sprzęt komputerowy co później doprowadziło do
uznania jej za standard ANSI.
SCSI jest lokalną magistralą wejścia - wyjścia, w systemach komputerowych
wykorzystywaną do dołączania napędów dyskowych, stacji taśm magnetycznych,
skanerów i innych podobnych urządzeń. W ramach przyjętego standardu zmiana rodzaju
i konfiguracji urządzeń peryferyjnych jest możliwa bez wymiany podstawowego sprzętu i
oprogramowania systemowego.
Rys. 12.2. Podstawowa magistrala SCSI.
A. Myśliński – materiały pomocnicze do wykładu ASK
14
Do magistrali można dołączyć kilka jednostek inicjujących czyli urządzeń SCSI
mogących zainicjować proces we-wy oraz kilka jednostek docelowych czyli urządzeń
wybieranych do wykonania operacji. W systemach SCSI, przy ubieganiu się o dostęp do
magistrali, stosowany jest mechanizm rozproszonego arbitrażu.
Rys.12.3 Przykład połączeń magistrali SCSI.
W ten sposób urządzeniom inicjującym umożliwiono współbieżne prowadzenie procesów
wejścia-wyjścia. Od wszystkich urządzeń SCSI wymaga się zdolności do asynchronicznego
przesyłania informacji. Dodatkowo - ale wyłącznie w fazie transmisji danych – może być
stosowany tryb synchroniczny.
Rys. 12.4. Typowa sekwencja faz magistrali SCSI.
W zależności od sposobu realizacji połączeń magistralowych sygnały przesyłane są
względem wspólnej masy lub różnicowo.
Przy różnicowym przesyłaniu sygnałów dopuszcza się okablowanie magistrali o długości
przewodów do 25 m, podczas gdy w przypadku asymetrycznego prowadzenia sygnałów
(względem wspólnej masy) poprawne przesyłanie danych zapewniają połączenia, których
łączna długość nie przekracza 6 m. Ten drugi sposób przeznaczony jest głównie do łączenia
urządzeń wewnątrz jednej obudowy.
Znormalizowano protokół wymiany komunikatów i strukturę rozkazów. Podzielono je na trzy
kategorie: obowiązkowe, dodatkowe i specyfikowane przez producenta.
Urządzenia SCSI powinny realizować wszystkie rozkazy obowiązkowe przewidziane dla
danego typu urządzenia, a ponadto mogą reagować na inne polecenia potrzebne do ich
obsługi.
A. Myśliński – materiały pomocnicze do wykładu ASK
15
W zdefiniowanym zestawie rozkazów znalazły się i takie, które umożliwiają systemom
operacyjnym pobieranie - od dołączonych urządzeń SCSI - informacji niezbędnych do
automatycznego zainicjowania ich pracy. Sformalizowana sekwencja zgłoszeń
identyfikuje typ urządzenia, jego charakterystyki oraz wszystkie ustawiane parametry.
Kolejne zgłoszenia określają gotowość urządzenia do pracy, typ jego nośników informacji i
inne związane z urządzeniem dane.
W znakomitej większości konfiguracji do magistrali poprzez kontroler podłączony jest jeden
komputer oraz urządzenia pamięci masowej (dyski twarde oraz napędy taśmowe.
Każde z urządzeń podłączonych do magistrali SCSI posiada unikalny w obrębie magistrali
adres - identyfikator (ang. SCSI ID). Pierwotnie do adresowania urządzeń wykorzystywane
były trzy bity magistrali co pozwalało na połączenie ze sobą maksymalnie 8 urządzeń.
W chwili gdy magistrala danych rozrosła się do szerokości 16 bitów została również
rozszerzona do 4 bitów część adresująca urządzenia. Identyfikator pełni również rolę
priorytetu przy rozstrzyganiu próby jednoczesnego dostępu więcej niż jednego urządzenia do
magistrali. Zwyczajowo kontroler posługuje się identyfikatorem 7. W obrębie jednego
identyfikatora istnieją również tzw. LUN (ang. Logical Unit Number) identyfikujące tzw.
urządzenie logiczne na jakie może być podzielone urządzenie fizyczne SCSI.
Przykładem takiego urządzenia mogą być zmieniarki płyt CD, w których poszczególne
elementy składowe (magazynki, czytniki) mogą być identyfikowane przy pomocy LUN.
Magistrala SCSI pozwala na podłączenie więcej niż jednego komputera do dysku (tzw. układ
V). Możliwe jest również przesyłanie danych bezpośrednio pomiędzy urządzeniami bez
ingerencji komputera (np wykonanie kopii macierzy dyskowej na taśmie magnetycznej).
Magistralę SCSI można podzielić ze względu na kilka kryteriów:
sposób transmisji:
asynchroniczny
synchroniczny
prędkość (częstotliwość) transmisji
5 MHz
10 MHz
20 MHz
80 MHz
160 MHz (przy 16 bitach daje to 320MB/s)
szerokość magistrali
8 bitów
16 bitów
parametry elektryczne
sterowanie napięciowe
sterowanie różnicowe (Differential lub High Voltage Diferenetial)
oznaczana jako HVD
sterowanie różnicowe niskonapięciowe (Low Voltage Differential) -
LVD
A. Myśliński – materiały pomocnicze do wykładu ASK
16
Wyróżniamy kilka odmian SCSI:
SCSI-1: pierwsza wersja standardu. Pozwalała na transfer z prędkością 5MB/s na
odległość 6m,
SCSI-2: kolejna wersja standardu. Składa się z dwóch wariantów, zwiększających
transfer do 10 lub 20 MB/s (odpowiednio Fast SCSI i Wide SCSI). Maksymalna
odległość to około 3 metry,
SCSI-3: znany jako Ultra SCSI, prędkość transferu 20-40MB/s, teoretycznie
maksymalna odległość zostaje nadal 3 metry,
Ultra2 SCSI: wprowadzono technologię Low Voltage Differencial, pozwalającą na
zwiększenia maksymalnej odległości do ~ 12m. Prędkość tranferu 40-80 MB/s,
Ultra3 SCSI: maksymalny transfer 160MB/s, dodano funkcje wspomagające
wykrywanie i usuwanie przekłamań.
Elektryczna budowa magistrali SCSI wymaga zakończenia jej specjalnym terminatorem.
Literatura:
1)
W. Stallings, Organizacja i architektura systemu komputerowego, WNT, Warszawa,
2008.
2)
S.H.A. Clarke, W sercu PC, Helion, Gliwice, 2003.