6. Interfejsy
Transkrypt
6. Interfejsy
Interfejs (1) Materiały do wykładu . ⊲ Zespół urządzeń i protokołów do przesyłania danych ⊲ Sposób przesyłania ⋄ szeregowy 6. Interfejsy ⋄ równoległy Marcin Peczarski ⋄ szeregowo-równoległy Instytut Informatyki Uniwersytet Warszawski ⊲ Tryb pracy ⋄ simplex – jednokierunkowy ⋄ half duplex – dwukierunkowy naprzemienny ⋄ full duplex – dwukierunkowy jednoczesny 13 kwietnia 2008 Interfejs (2) . ⊲ Liczba urządzeń Szyna . ⋄ dwupunktowy (ang. point-to-point) ⊲ Szyna, magistrala (ang. bus) – zespół przewodów, linii przenoszących grupę sygnałów elektrycznych, łączących urządzenia cyfrowe ⋄ wielopunktowy (ang. multi-point) ⊲ Przewody, linie ⋄ dedykowane ⊲ Arbitraż ⋄ multipleksowane ⋄ centralny ⋄ rozproszony ⊲ Koordynacja czasowa ⋄ asynchroniczny ⋄ synchroniczny Złącze (1) . ⊲ Łącze – zespół środków i urządzeń do przesyłania sygnałów elektrycznych ≈ interfejs Złącze (2) . ⊲ Płeć złącza nie determinuje pełnionej funkcji. ⋄ gniazdo żeńskie ⊲ Złącze – podzespół do łączenia obwodów elektrycznych ⋄ część żeńska (ang. female) ⋄ wtyk żeński ⋄ część męska (ang. male) Magistrala systemowa ⊲ Specyficzna dla każdego modelu procesora ⊲ Łącząca procesor ⋄ z kontrolerem pamięci ⋄ z innymi procesorami w systemie wieloprocesorowym ⋄ z kontrolerem innej magistrali, np. PCI ⊲ Linie, sygnały ⋄ danych ⋄ adresowe ⋄ sterujące ⊲ Linie danych i adresowe czasem multipleksowane ⋄ wtyk męski . PCI (1) . ⊲ Peripheral Component Interconnect – interfejs urządzeń peryferyjnych ⊲ Interfejs równoległy, synchroniczny, half duplex ⊲ Specyfikacja ⋄ wymiary złącza ⋄ charakterystyki elektryczne ⋄ protokół komunikacji ⊲ Parametry ⋄ częstotliwość taktowania 33 MHz lub 66 MHz ⋄ 32-bitowa lub 64-bitowa szyna danych ⋄ 32-bitowa przestrzeń adresowa PCI (2) . ⋄ 32-bitowa przestrzeń wejścia-wyjścia PCI (3) . ⊲ Funkcjonalność plug and play ⋄ 256 bajtowa przestrzeń konfiguracyjna ⋄ rozpoznawanie urządzenia ⋄ napięcie zasilania 5 V lub 3,3 V ⋄ przydzielanie adresów pamięci ⋄ przydzielanie adresów wejścia-wyjścia ⊲ Warianty ⋄ przydzielanie numeru przerwania ⋄ PCI-X – częstotliwość taktowania 133 MHz ⋄ PCI-X 2.0 – taktowanie 266 MHz i 533 MHz, przestrzeń konfiguracyjna 4096 B, wersja 16-bitowa, zasilanie 1,5 V ⊲ Firmware ⋄ kod wykonywalny w urządzeniu ⋄ Mini PCI – wersja PCI 2.2 do użytku w laptopach ⋄ Cardbus – wersja PCMCIA specyfikacji PCI (33 MHz i 32-bity) ⊲ Możliwość konfiguracji hierarchicznej ⋄ AGP (Accelerated Graphics Port, Advanced Graphics Port) – interfejs dedykowany do kart graficznych PCI (4) . ⊲ Linie systemowe PCI (5) . ⊲ Linie sterowania interfejsem ⋄ CLK – sygnał zegara ⋄ FRAME – Aktywowana przez urządzenie, które uzyskało dostęp do magistrali i stało się urządzeniem nadrzędnym, wskazuje początek i koniec transakcji. ⋄ RST – reset ⊲ Linie adresów i danych ⋄ AD – multipleksowane linie adresów i danych ⋄ C/BE – multipleksowane linie rozkazów magistralowych i zezwolenia bajtów ⊲ Linie arbitrażu, osobne dla każdego urządzenia ⋄ REQ – żądanie dostępu do magistrali ⋄ TRDY – gotowość urządzenia podrzędnego – Podczas odczytu wskazuje, że dane na liniach AD są ważne, a podczas zapisu, że urządzenie jest gotowe przyjąć dane. ⊲ Linie zgłaszania przerwań ⋄ GNT – przyznanie dostępu do magistrali PCI Express (1) ⋄ IRDY – gotowość urządzenia nadrzędnego – Podczas odczytu wskazuje, że urządzenie jest gotowe przyjąć dane, a podczas zapisu, że dane na liniach AD są ważne. ⋄ INTA, INTB, INTC, INTD . ⊲ Interfejs szeregowo-równoległy PCI Express (2) . ⊲ Łącze (ang. link) ⋄ 1, 2, 4, 8, 12, 16 lub 32 pasm, torów ⊲ Pasmo, tor (ang. lane) ⋄ dwie pary sygnalizacyjne, po jednej dla każdego kierunku, full duplex ⊲ Gniazdo (ang. slot) ⋄ 1, 4, 8 lub 16 pasm, torów ⋄ niskonapięciowa sygnalizacja różnicowa ⋄ zasilanie ⋄ kodowanie 8b/10b ⋄ masa ⋄ niepotrzebny sygnał zegara ⋄ w wersji 1.0 brutto 2,5 Gb/s, netto 2 Gb/s ⋄ w wersji 2.0 brutto 5 Gb/s, netto 4 Gb/s SCSI (1) . ⊲ Small Computer System Interface – intefejs dla dysków twardych, pamięci taśmowych, skanerów, drukarek, napędów dysków optycznych itp. SCSI (2) ⊲ Arbitraż wg numerów urządzeń ⊲ Numery urządzeń w kolejności malejących priorytetów: 7, . . . , 0, 15, . . . , 8 ⊲ Interfejs równoległy, half duplex ⊲ Protokół obejmujący kilkadziesiąt poleceń ⊲ Parametry ⋄ szyna 8 lub 16 bitów ⊲ Wielowątkowość – wykonywanie wielu zadań symultanicznie ⋄ 7 lub 15 urządzeń fizycznych i adapter główny na wspólnej szynie ⊲ Porządkowanie rozkazów dla zwiększenia efektywności ⋄ urządzenie fizyczne może zaadresować 8 urządzeń logicznych ⋄ transmisja asynchroniczna 3–6 MB/s lub synchroniczna 5–320 MB/s ⊲ Terminatory na końcu każdej linii magistralowej ⊲ iSCSI – specyfikacja używania rozkazów SCSI przez TCP/IP ⊲ SAS – Serial Attached SCSI – wersja szeregowa, full duplex . ATA . SATA (1) . ⊲ Advanced Technology Attachment – interfejs równoległy dla pamięci masowych, synchroniczny, half duplex ⊲ Serial Advanced Technology Attachment – następca ATA, ale wbrew nazwie nie ma nic wspólnego z ATA. ⊲ IDE (Integrated Drive Electronics) – inna nazwa ⊲ Interfejs szeregowy ⊲ ATAPI (ATA Packet Interface) – rozszerzenie o obsługę m.in. napędów dysków optycznych ⋄ topologia gwiazdy ⋄ 7 przewodów ⋄ dwie pary sygnalizacyjne – full duplex ⊲ Interfejs zbliżony do magistrali systemowej komputerów PC AT ⋄ 3 przewody masy ⋄ uproszczenie układów płyty głównej ⋄ niskonapięciowa sygnalizacja różnicowa ⋄ główna część elektroniki w napędzie dysku ⋄ kodowanie 8b/10b, niepotrzebny sygnał zegara ⊲ Maksymalnie dwa urządzenia na szynie, ale jeśli jedno z urządzeń otrzymało dostęp do magistrali, drugie musi czekać. SATA (2) ⋄ brutto 1,5 Gb/s, netto 1,2 Gb/s, czyli 150 MB/s ⋄ w drugiej generacji do 300 MB/s, a w trzeciej do 600 MB/s . ⊲ Zalety w stosunku do ATA Fibre Channel (1) . ⊲ Interfejs szeregowy dla pamięci masowych ⋄ optymalizacja czasu wykonywania sekwencji rozkazów ⊲ Protokół transportowy dla innych protokołów ⋄ większe prędkości transmisji ⋄ możliwe dłuższe kable, maksymalnie ok. 1 m ⊲ Warstwa fizyczna, media, przykładowe parametry ⋄ światłowód jednomodowy, do 2 km przy 400 MB/s ⋄ cieńsze kable, tańsze złącza, ułatwione chłodzenie ⋄ światłowód wielomodowy, do 150 m przy 400 MB/s ⋄ skrętka, do 50 m przy 200 MB/s ⊲ Warstwa łącza ⋄ kodowanie 8b/10b Fibre Channel (2) . ⊲ Warstwa sieciowa, topologia Fibre Channel (3) . ⊲ Warstwa implementująca funkcje zewnętrzne ⋄ punkt-punkt ⋄ szyfrowanie ⋄ pierścień ⋄ RAID ⋄ switched fabric ⊲ Warstwa aplikacji lub enkapsulacji protokołów wyższych warstw ⋄ IP ⋄ ATM ⋄ SCSI ⊲ Zwiększanie zasięgu, łączenie sieci FC ⋄ FCIP – Fibre Channel over IP ⋄ IFIP – Internet Fibre Channel Protocol InfiniBand (1) . ⊲ Szybki interfejs szeregowo-równoległy do łączenia procesorów i urządzeń peryferyjnych ⊲ Kable miedziane lub światłowody InfiniBand (2) ⊲ Szybkości brutto ⋄ single rate 2,5 Gb/s ⋄ double rate 5 Gb/s ⋄ quad rate 10 Gb/s ⊲ Komunikacja przez przełączniki, switched fabric ⊲ Możliwość agregowania łączy ⊲ Zastosowania ⋄ superkomputery ⋄ 4X ⋄ 12X ⋄ duże klastry obliczeniowe o wielu tysiącach węzłów ⊲ Transfer netto ⊲ Kodowanie 8b/10b ⋄ 1X single rate 2 Gb/s ⋄ 12X quad rate 96 Gb/s . RS-232 (1) . ⊲ Jeden z najstarszych interfejsów szeregowych RS-232 (2) . ⊲ Wersja pełna – 9 drutów ⊲ Pierwotne przeznaczenie to łączenie terminali znakowych z komputerem ⊲ Brak powszechnie przestrzeganego standardu ⋄ sygnały danych RxD TxD Receive Data Transmit Data DCE → DTE DCE ← DTE ⋄ sygnały gotowości do pracy DSR DTR ⊲ Dwa typy urządzeń ⋄ DTE (Data Terminal Equipment) – terminal, komputer ⋄ DCE (Data Communication Equipment, Data Circuit-terminating Equipment) – zwykle modem Data Set Ready Data Terminal Ready DCE → DTE DCE ← DTE ⋄ sprzętowa kontrola przepływu CTS RTS Clear To Send Request To Send DCE → DTE DCE ← DTE ⊲ Prędkości transmisji od kilkudziesięciu b/s do kilkuset kb/s ⊲ Zasięg do kilkunastu metrów RS-232 (3) . ⋄ sygnały modemowe DCD RING Data Carrier Detected Ring indicator DCE → DTE DCE → DTE ⋄ masa GND Ground ⊲ Wersja uproszczona – 3 druty ⋄ RxD, TxD, GND ⋄ programowa kontrola przepływu, np. XON/XOFF (0x11/0x13) RS-232 (4) . RxD RxD TxD TxD DSR DSR DTR DTR CTS CTS RTS RTS DCD DCD RING RING GND GND ⊲ Poważna wada: co najmniej kilka wersji kabli połączeniowych Kabel prosty DCE–DTE ⋄ na kolejnych rysunkach kilka najczęściej spotykanych RS-232 (5) . RS-232 (6) . RxD RxD RxD RxD TxD TxD TxD TxD DSR DSR DSR DSR DTR DTR DTR DTR CTS CTS CTS CTS RTS RTS RTS RTS DCD DCD DCD DCD GND GND GND GND Kabel skrzyżowany DTE–DTE Inna wersja kabla skrzyżowanego DTE–DTE RS-232 (7) . RS-232 (8) . RxD RxD RxD RxD TxD TxD TxD TxD DSR DSR DSR DSR DTR DTR DTR DTR CTS CTS CTS CTS RTS RTS RTS RTS DCD DCD DCD DCD GND GND GND GND Kabel skrzyżowany DTE–DTE, interfejs uproszczony Inna wersja kabla skrzyżowanego DTE–DTE, interfejs uproszczony RS-232 (9) . ⊲ Sygnalizacja napięciem o wartości bezwzględnej od 3 V do 25 V ⋄ typowo 5 V, 10 V, 12 V, 15 V RS-232 (10) . ⊲ Pojedyncza transmisja ⋄ 1 bit startowy, space, logiczne 0 ⋄ 5 do 9 bitów danych, najpierw najmniej znaczący (LSB) ⊲ Dwa poziomy napięcia ⋄ opcjonalny bit parzystości lub nieparzystości ⋄ niski, napięcie ujemne – sygnał mark, logiczna 1, stan off ⋄ wysoki, napięcie dodatnie – sygnał space, logiczne 0, stan on ⋄ 1 bit lub 1,5 bita lub 2 bity stopu, mark, logiczna 1 ⊲ Dowolnej długości przerwa między kolejnymi transmisjami ⊲ Trikowe zasilanie podłączonych urządzeń ⊲ V.24 – dodatkowe druty ⋄ drugi kanał transmisyjny ⋄ możliwość transmisji synchronicznej USB (1) . ⊲ Universal Serial Bus – uniwersalny interfejs szeregowy USB (2) . ⊲ Prędkości transmisji ⋄ high-speed – 480 Mb/s ⊲ 4 przewody ⋄ full-speed – 12 Mb/s ⋄ VBUS – napięcie zasilania, nominalnie +5 V ⋄ low-speed – 1,5 Mb/s ⋄ GND – masa ⋄ D+, D− – para przewodów sygnalizacyjnych, skrętka, sygnalizacja różnicowa, half duplex ⊲ Kodowanie ⋄ NRZI (non return to zero inverted) ⋄ zero – zmiana (inwersja) poziomu sygnału ⊲ Zasilanie ⋄ 4,35 V do 5,25 V ⋄ jedynka – brak zmiany poziomu sygnału ⋄ 100 mA na port negocjowane do 500 mA ⋄ nadziewanie bitami – dodatkowe zero po każdych 6 jedynkach USB (3) . ⊲ Transmisja pakietowa USB (4) . ⊲ Topologia drzewa ⋄ początek pakietu danych – sekwencja synchronizująca ⋄ brak pętli wymuszany przez dwa rodzaje złączy A i B ⋄ koniec pakietu danych – sekwencja EOP (end of packet) ⋄ maksymalna wysokość 7 (wraz z korzeniem i liśćmi) ⋄ w liściach tylko urządzenia typu function ⊲ Kolejność bajtów i bitów ⋄ w korzeniu root hub i host controller ⋄ little-endian ⋄ maksymalnie 127 urządzeń ⋄ od najmłodszego (LSB) do najstarszego (MSB) ⊲ Wtyki złączy A, B, mini-B ⊲ Dwa typy urządzeń ⋄ hub ⋄ function USB (5) ⊲ Protokół ⋄ host controller ⋄ transakcja, 3 lub 4 pakiety ⋄ sterowanie podziałem zasobów . FireWire . ⊲ Nazwa handlowa firmy Apple ⊲ IEEE 1394, 1394a, 1394b ⊲ 6 przewodów ⋄ dwie skrętki do transmisji w obu kierunkach, full duplex ⊲ Łączenie dwóch równorzędnych urządzeń (komputerów) ⋄ masa i zasilanie ⋄ dual role devices ⋄ host negotiation protocol ⊲ Prędkości transmisji ⋄ pierwotnie 98,304, 196,608, 393,216 Mb/s do 4,5 m ⋄ FireWire 800, 786,432 Mb/s ⋄ 3,2 Gb/s do 100 m z użyciem światłowodu ⊲ i.Link, DV – wersja dla urządzeń video, 4-przewodowa, bez zasilania DVI (1) . ⊲ Digital Visual Interface – łączenie karty graficznej z monitorem DVI (2) . ⊲ 24 końcówki „cyfrowe” ⋄ 6 jednokierunkowych, szeregowych łączy cyfrowych, simplex ⊲ Jednolite złącze dla różnych rodzajów sygnałów ⋄ sygnał synchronizacji (zegara) ⋄ DVI-D – tylko sygnały cyfrowe ⋄ DDC (display data channel) – identyfikacji typu monitora ⋄ DVI-I – sygnały cyfrowe i analogowe ⋄ analogowy sygnał synchronizacji pionowej ⋄ DVI-A – tylko sygnały analogowe ⋄ ekrany „cyfrowe” ⊲ 5 końcówek „analogowych” ⋄ 3 sygnały kolorów podstawowych ⋄ sygnał synchronizacji poziomej ⋄ masa analogowa ⋄ kompatybilne z używanymi w złączu D-Sub DVI (3) ⊲ Single Link ⋄ 3 łącza, po jednym dla każdego koloru podstawowego ⊲ Dual Link ⋄ 6 łączy, po dwa dla każdego koloru podstawowego ⊲ Parametry pojedynczego kanału (Single Link) ⋄ 21,76 do 165 milionów pikseli na sekundę ⋄ maksymalnie 24 bity na piksel . Inne ⊲ Sieciowe przewodowe ⋄ Ethernet ⊲ Sieciowe bezprzewodowe ⋄ Wi-Fi ⋄ WiMAX ⊲ Inne bezprzewodowe ⋄ IrDA ⋄ Bluetooth .