Materiały do wykładu 6.Interfejsy Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 7maja2012
Kodowanie kanałowe 6.1 Reprezentacja ciągu bitów na nośniku lub w kanale transmisyjnym Dopasowanie do własności nośnika Zapewnienie synchronizacji Zapewnienie zbalansowania brak składowej stałej Zwiększenie gęstości zapisu
Metoda RZ(return to zero) 6.2 1 1 0 0 1 0 1 Jedynka kodowana jako impuls o poziomie dodatnim Zero kodowane jako impuls o poziomie ujemnym Pomiędzy bitami powrót do poziomu zerowego Samosynchronizacja Brak zbalansowania Dwiezmianypoziomunabit
Metoda RB(return to bias) 6.3 1 1 0 0 1 0 1 Jedynka kodowana jako impuls o poziomie wysokim Zero kodowane jako poziom niski(polaryzacji), bez zmiany poziomu Brak synchronizacji długiego ciągu zer Brak zbalansowania Maksymalnie dwie zmiany poziomu na bit
Metoda NRZ(no return to zero) 6.4 1 1 0 0 1 0 1 Jedynka kodowana jako poziom wysoki Zero kodowane jako poziom niski Brak synchronizacji Brak zbalansowania Maksymalnie jedna zmiana poziomu na bit
Metoda NRZI(no return to zero inverted) 6.5 1 1 0 0 1 0 1 Jedynka kodowana jako zmiana poziomu Zero kodowane jako brak zmiany poziomu Uwaga, w USB odwrotna konwencja kodowania Synchronizacja np. przez nadziewanie bitami Brak zbalansowania Maksymalnie jedna zmiana poziomu na bit
Metoda modulacji fazy 6.6 1 1 0 0 1 0 1 Jedynka kodowana jako zmiana poziomu z niskiego na wysoki Zero kodowane jako zmiana poziomu z wysokiego na niski Konieczna sekwencja synchronizująca Zbalansowanie Dwiezmianypoziomunabit KodManchester,Ethernet10Mb/s,poziomwysoki0V,niski 2V
Metoda FM(frequency modulation) 6.7 1 1 0 0 1 0 1 Jedynka kodowana jako dwie zmiany poziomu Zero kodowane jako jedna zmiana poziomu Konieczna sekwencja synchronizująca Zbalansowanie Maksymalnie dwie zmiany poziomu na bit Stosowana dawo temu w dyskach magnetycznych
Metoda MFM(modified frequency modulation) 6.8 1 1 0 0 1 0 1 Jedynka kodowana jako zmiana poziomu w środku taktu Zero występujące po jedynce kodowane bez zmiany poziomu Zero po zerze kodowane jako zmiana poziomu na początku taktu Konieczna sekwencja synchronizująca, zbalansowanie niedokładne Maksymalnie jedna zmiana poziomu na bit Stosowana dawniej w dyskach magnetycznych
Modulacja czasu trwania impulsów 6.9 1 1 0 0 Wiele różnych metod Stosowana np. w pilotach do zdalnego sterowania
AMI(alternate mark inversion) 6.10 1 1 0 0 1 0 1 Jedynki kodowane na przemian jako impuls dodatni i ujemny Zera kodowane jako poziom zerowy Synchronizacja np. przez nadziewanie bitami Zbalansowanie Maksymalnie jedna zmiana poziomu na bit
HDB3(highdensitybipolaroforder3code) 6.11 1010000011000011000000 B V V B V Jedynki kodowane na przemian jako impuls dodatni i ujemny Mniej niż cztery zera kodowane jako poziom zerowy Cztery kolejne zera zastępowane sekwencją 000V(000, 000+) lub B00V(+00+, 00 ) Samosynchronizacja i zbalansowanie Maksymalnie jedna zmiana poziomu na bit
Kod 4B3T(four binary three ternary) 6.12 Trzypoziomowe kodowanie stosowane w telefonii ISDN Względne poziomy sygnału: 1, 0, +1 Każde 4 bity(16 kombinacji) kodowane jako kombinacja trzech impulsów(27 możliwości do wyboru) Nieużywane kombinacje impulsów: 000, +++, Pozostałe kombinacje wybierane tak, aby uzyskać samosynchronizację i zbalansowanie Maksymalnietrzyzmianypoziomunaczterybity,kompresja4:3
Kod 2B1Q(two binary one quaternary) 6.13 Czteropoziomowe kodowanie stosowane w telefonii ISDN Względnepoziomysygnału: 3, 1,+1,+3 Każde dwa bity kodowane jednym impulsem Maksymalniejednazmianapoziomunadwabity,kompresja2:1
Kod 4D-PAM5 6.14 Pięciopoziomowe kodowanie stosowane w Ethernecie 1 Gb/s Względnepoziomysygnału: 2, 1,0,1,2 Każdy oktet(256 kombinacji) kodowany jako wybrana kombinacja czterech impulsów pięciowartościowych(625 kombinacji) Każdy z czterech impulsów transmitowany osobną parą przewodów, kompresja8:1
Kody xb/yb 6.15 Każde x bitów danych kodowane jako y bitów kanałowych Samosynchronizcja Kodidle 4b/5b Ethernet100Mb/s 8b/10b PCIExpress,SATA,... 64b/66b Ethernet10Gb/s
Własność RLL(d, k) Kody RLL(run length limited) 6.16 d minimalna liczba zer rozdzielających dwie jedynki k maksymalna liczba zer rozdzielających dwie jedynki Kodowanie jedynka jako zmiana poziomu zero jako brak zmiany poziomu Parametr d determinuje minimalny okres czasu między zmianami poziomu, czyli gęstość zapisu lub szybkość transmisji. Parametr k determinuje maksymalny okres czasu między zmianami poziomu, czyli własność synchronizacji.
Kod4b/5bmawłasnośćRLL(0,3). Kod8b/10bmawłasnośćRLL(0,5). Kody RLL 6.17 KodyRLL(1,3),RLL(1,7),RLL(1,10),RLL(2,7),RLL(2,10) RLL(2, 12) stosowane w dyskach magnetycznych i optycznych KodRLL(1,13)stosowanywIrDA
Kod RLL(2, 7) 6.18 Ciąg kodowany długości n bitów zastępowany ciągiem kodowym o długości 2n bitów ciąg kodowany ciąg kodowy 10 0100 11 1000 010 100100 011 001000 0010 00100100 0011 00001000 000 000100 Maksymalnie dwie zmiany poziomu na trzy bity kodowane, kompresja3:2
Kod EFM(eight to fourteen modulation) 6.19 Każde8bitówdanychkodowanejako14bitówkodowych Własność RLL(2, 10), ale nie na granicy słów kodowych RDS(running digital sum) różnica liczby impulsów o poziomie wysokim i niskim w dotychczas zakodowanym ciągu 3 bity separujące między każdymi 14 bitami kodowymi dla zachowania własności RLL i ograniczenia wartości RDS Każde 8 bitów danych kodowane jako 17 bitów kanałowych Kompresja24:17 StosowanywpłytachCD
Kod EFM+ 6.20 Każde 8 bitów danych kodowane jako 16 bitów kanałowych Brak bitów separujących Własność RLL(2, 10) Minimalizacja modułu RDS Kompresja3:2 Stosowany w płytach DVD
Kod stosowany na taśmach papierowych Chwila odprężenia 6.21 MetodaRB Synchronizacja zapewniana przez ścieżkę z małymi dziurkami Zbalansowanie nieistotne dla nośnika papierowego
Interfejs(1) 6.22 Zespół urządzeń i protokołów do przesyłania danych Sposób przesyłania szeregowy równoległy szeregowo-równoległy Trybpracy simplex jednokierunkowy half duplex dwukierunkowy naprzemienny full duplex dwukierunkowy jednoczesny
Liczba urządzeń dwupunktowy(ang. point-to-point) wielopunktowy(ang. multi-point) Arbitraż centralny rozproszony Koordynacja czasowa asynchroniczny synchroniczny Interfejs(2) 6.23
Szyna 6.24 Szyna, magistrala(ang. bus) zespół przewodów, linii przenoszących grupę sygnałów elektrycznych, łączących urządzenia cyfrowe Przewody, linie dedykowane multipleksowane
Złącze(1) 6.25 Łącze zespół środków i urządzeń do przesyłania sygnałów elektrycznych interfejs Złącze podzespół do łączenia obwodów elektrycznych część żeńska(ang. female) część męska(ang. male)
Płeć złącza nie determinuje pełnionej funkcji. gniazdo żeńskie Złącze(2) 6.26 wtyk żeński wtykmęski
Magistrala systemowa 6.27 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
PCI(1) 6.28 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
32-bitowa przestrzeń wejścia-wyjścia 256 bajtowa przestrzeń konfiguracyjna napięciezasilania5vlub3,3v Warianty PCI-X częstotliwość taktowania 133 MHz PCI(2) 6.29 PCI-X2.0 taktowanie266mhzi533mhz,przestrzeńkonfiguracyjna 4096 B, wersja 16-bitowa, zasilanie 1,5 V MiniPCI wersjapci2.2doużytkuwlaptopach Cardbus wersjapcmciaspecyfikacjipci(33mhzi32-bity) AGP(Accelerated Graphics Port, Advanced Graphics Port) interfejs dedykowany do kart graficznych
Funkcjonalność plug and play rozpoznawanie urządzenia przydzielanie adresów pamięci przydzielanie adresów wejścia-wyjścia przydzielanie numeru przerwania Firmware kod wykonywalny w urządzeniu Możliwość konfiguracji hierarchicznej PCI(3) 6.30
PCI(4) 6.31 Linie systemowe CLK sygnałzegara RST reset Linieadresówidanych 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 GNT przyznanie dostępu do magistrali
Linie sterowania interfejsem PCI(5) 6.32 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. IRDY gotowość urządzenia nadrzędnego Podczas odczytu wskazuje, że urządzenie jest gotowe przyjąć dane, a podczas zapisu,żedanenaliniachadsąważne. TRDY gotowość urządzenia podrzędnego Podczas odczytu wskazuje,żedanenaliniachadsąważne,apodczaszapisu,że urządzenie jest gotowe przyjąć dane. Linie zgłaszania przerwań INTA,INTB,INTC,INTD
Interfejs szeregowo-równoległy Pasmo,tor(ang.lane) PCI Express(1) 6.33 dwie pary sygnalizacyjne, po jednej dla każdego kierunku, full duplex niskonapięciowa sygnalizacja różnicowa kodowanie 8b/10b niepotrzebny sygnał zegara wwersji1.0brutto2,5gb/s,netto2gb/s wwersji2.0brutto5gb/s,netto4gb/s
Łącze(ang. link) 1,2,4,8,12,16lub32pasm,torów Gniazdo(ang. slot) 1,4,8lub16pasm,torów zasilanie masa PCI Express(2) 6.34
SCSI(1) 6.35 Small Computer System Interface intefejs dla dysków twardych, pamięci taśmowych, skanerów, drukarek, napędów dysków optycznych itp. Interfejs równoległy, half duplex Parametry szyna8lub16bitów 7lub15urządzeńfizycznychiadaptergłównynawspólnejszynie 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
Arbitraż wg numerów urządzeń SCSI(2) 6.36 Numery urządzeń w kolejności malejących priorytetów: 7,...,0,15,...,8 Protokół obejmujący kilkadziesiąt poleceń Wielowątkowość wykonywanie wielu zadań symultanicznie Porządkowanie rozkazów dla zwiększenia efektywności iscsi specyfikacja używania rozkazów SCSI przez TCP/IP SAS SerialAttachedSCSI wersjaszeregowa,fullduplex
ATA 6.37 Advanced Technology Attachment interfejs równoległy dla pamięci masowych, synchroniczny, half duplex IDE(Integrated Drive Electronics) inna nazwa ATAPI(ATA Packet Interface) rozszerzenie o obsługę m.in. napędów dysków optycznych Interfejs zbliżony do magistrali systemowej komputerów PC AT uproszczenie układów płyty głównej główna część elektroniki w napędzie dysku Maksymalnie dwa urządzenia na szynie, ale jeśli jedno z urządzeń otrzymało dostęp do magistrali, drugie musi czekać.
SATA(1) 6.38 Serial Advanced Technology Attachment następca ATA, ale wbrew nazwieniemanicwspólnegozata. Interfejs szeregowy topologia gwiazdy 7przewodów dwie pary sygnalizacyjne full duplex 3przewodymasy niskonapięciowa sygnalizacja różnicowa kodowanie 8b/10b, niepotrzebny sygnał zegara brutto1,5gb/s,netto1,2gb/s,czyli150mb/s wdrugiejgeneracjido300mb/s,awtrzeciejdo600mb/s
SATA(2) 6.39 ZaletywstosunkudoATA optymalizacja czasu wykonywania sekwencji rozkazów większe prędkości transmisji możliwe dłuższe kable, maksymalnie ok. 1 m cieńsze kable, tańsze złącza, ułatwione chłodzenie
Fibre Channel(1) 6.40 Interfejs szeregowy dla pamięci masowych Protokół transportowy dla innych protokołów Warstwa fizyczna, media, przykładowe parametry światłowódjednomodowy,do2kmprzy400mb/s światłowódwielomodowy,do150mprzy400mb/s skrętka,do50mprzy200mb/s Warstwa łącza kodowanie 8b/10b
Warstwa sieciowa, topologia punkt-punkt pierścień switched fabric Fibre Channel(2) 6.41
Fibre Channel(3) 6.42 Warstwa implementująca funkcje zewnętrzne szyfrowanie RAID Warstwa aplikacji lub enkapsulacji protokołów wyższych warstw IP ATM SCSI Zwiększanie zasięgu, łączenie sieci FC FCIP FibreChanneloverIP IFIP Internet Fibre Channel Protocol
InfiniBand(1) 6.43 Szybki interfejs szeregowo-równoległy do łączenia procesorów i urządzeń peryferyjnych Kable miedziane lub światłowody Komunikacja przez przełączniki, switched fabric Zastosowania superkomputery duże klastry obliczeniowe o wielu tysiącach węzłów Kodowanie 8b/10b
Prędkości transmisji brutto singlerate2,5gb/s doublerate5gb/s quadrate10gb/s Możliwość agregowania łączy 4X 12X Transfer netto 1Xsinglerate2Gb/s 12Xquadrate96Gb/s InfiniBand(2) 6.44
USB(1) 6.45 Universal Serial Bus uniwersalny interfejs szeregowy Podstawowa wersja używa 4 przewodów: VBUS napięcie zasilania, nominalnie +5 V, GND masa, D+, D para przewodów sygnalizacyjnych, skrętka, sygnalizacja różnicowa, half duplex. Interfejs umożliwia zasilanie podłączonych urządzeń: 4,35Vdo5,25V, 100mAnaportnegocjowanedo500mA.
Prędkości transmisji: low-speed 1,5Mb/s(USB1.1), full-speed 12Mb/s(USB1.1), high-speed 480Mb/s(USB2.0), super-speed 5Gb/s(USB3.0). USB(2) 6.46
USB(3) 6.47 Kodowanie do wersji 2.0: NRZI(ang.nonreturntozeroinverted), zero zmiana(inwersja) poziomu sygnału, jedynka brak zmiany poziomu sygnału, nadziewanie bitami dodatkowe zero po każdych 6 jedynkach, kolejność bitów od najmłodszego do najstarszego. Kodowanie w wersji 3.0: 8b/10b,czyli4Gb/snetto, transmisja dwukierunkowa.
USB(4) 6.48 Typy urządzeń: kontroler(ang. host), koncentrator(ang. hub), funkcja, urządzenie(ang. device), Topologia drzewa: maksymalna wysokość 7(wraz z korzeniem i liśćmi), w liściach tylko urządzenia, w korzeniu kontroler i koncentrator główny(ang. root hub), maksymalnie 127 urządzeń i koncentratorów.
USB(5) 6.49 Początkowo zdefiniowano tylko wtyki A, B i nieco później Mini-B oraz odpowiadające im gniazda. Standard opisuje jeszcze: wtyki Micro-A i Micro-B oraz gniazda Micro-AB i Micro-B, inne niezalecane rodzaje złącz(mini-a, Mini-AB), nowytypzłączadlawersji3.0, różne inne złącza, np. esata/usb.
OdstronykontroleraużywasięzłączatypuA. OdstronyurządzeniaużywasięzłączatypuB. USB(6) 6.50 Urządzenie(ang. dual role device, on-the-go), które może pełnić też rolę kontrolera, używa gniazda typu Micro-AB: dodatkowyprzewódidwzłączachminiimicro, ADP(ang. Attach Detection Protocol), SRP(ang. Session Request Protocol), HNP(ang. Host Negotiation Protocol).
Transmisja pakietowa: USB(7) 6.51 początek pakietu sekwencja synchronizująca, koniecpakietu sekwencjaeop(ang.endofpacket). Transakcja składa się z dwóch lub czterech pakietów: znacznik(ang. token) wysyłany przez kontroler do urządzenia, zawiera adres odbiorcy, identyfikuje żądanie. dane(ang. data) wysyłany przez kontroler lub urządzenie zależnie od żądania umieszczonego w znaczniku. potwierdzenie(ang. handshake) transmitowane w przeciwnym kierunku niż poprzedni pakiet. Kolejność bajtów little-endian
USB(8) 6.52 Każde urządzenie może udostępniać wiele konfiguracji. Każda konfiguracja może udostępniać wiele interfejsów logicznych. Każdy interfejs logiczny może udostępniać do 16 punktów końcowych(ang. endpoint). Każdy punkt końcowy może być dwukierunkowy lub jednokierunkowy i używać jednego z czterech rodzajów transmisji: sterowanie(ang. control), dane pilne(ang. interrupt), dane izochroniczne(ang. isochronous), dane masowe(ang. bulk). Podziałem zasobów dla całej szyny steruje kontroler.
FireWire 6.53 Nazwa handlowa firmy Apple IEEE 1394, 1394a, 1394b 6przewodów dwie skrętki do transmisji w obu kierunkach, full duplex masaizasilanie Prędkości transmisji pierwotnie 98,304, 196,608, 393,216 Mb/s do 4,5 m FireWire 800, 786,432 Mb/s 3,2Gb/sdo100mzużyciemświatłowodu i.link, DV wersja dla urządzeń video, 4-przewodowa, bez zasilania
DVI(1) 6.54 Digital Visual Interface łączenie karty graficznej z monitorem Jednolite złącze dla różnych rodzajów sygnałów DVI-D tylko sygnały cyfrowe DVI-I sygnały cyfrowe i analogowe DVI-A tylko sygnały analogowe
DVI(2) 6.55 24 końcówki cyfrowe 6 jednokierunkowych, szeregowych łączy cyfrowych, simplex sygnał synchronizacji(zegara) DDC(display data channel) identyfikacji typu monitora analogowy sygnał synchronizacji pionowej 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) 6.56 Single Link 3 łącza, po jednym dla każdego koloru podstawowego DualLink 6 łączy, po dwa dla każdego koloru podstawowego Parametry pojedynczego kanału(single Link) 21,76do165milionówpikselinasekundę maksymalnie 24 bity na piksel
Inne 6.57 Sieciowe przewodowe Ethernet Sieciowe bezprzewodowe Wi-Fi WiMAX Inne bezprzewodowe IrDA Bluetooth
Kompatybilność 6.58 Ktoś kiedyś powiedział, że kompatybilność zabija. Ale większość żąda zachowania kompatybilności. Kolejne slajdy pokazują przykłady: jaksiętoczęstorobi,aniepowinno; jaktozrobićdobrze.
Reset Zwykła mysz PS/2(1) 6.59 FF resetuj FA potwierdzenie AA autotest pomyślny 00 identyfikator myszy, standardowa mysz PS/2 Inicjacja E8 ustaw rozdzielczość FA potwierdzenie 03 8 zliczeń/mm FA potwierdzenie E6 ustaw skalowanie 1:1 FA potwierdzenie
Inicjacja, cd. Zwykła mysz PS/2(2) 6.60 F3 ustaw maksymalną częstotliwość raportowania zmian FA potwierdzenie 28 częstotliwość 40 FA potwierdzenie F4 uaktywnij FA potwierdzenie Zmiany stanu myszy bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 bajt1nadm.ynadm.xznakyznakx 1 środk.prawylewy bajt 2 przesunięcie X bajt 3 przesunięcie Y
Reset, jak poprzednio Testowanie rodzaju myszy Mysz PS/2 ze skrolowaniem(1) 6.61 F3 ustaw maksymalną częstotliwość raportowania zmian FA potwierdzenie C8 częstotliwość 200 FA potwierdzenie F3 ustaw maksymalną częstotliwość raportowania zmian FA potwierdzenie 64 częstotliwość 100 FA potwierdzenie F3 ustaw maksymalną częstotliwość raportowania zmian FA potwierdzenie 50 częstotliwość 80 FA potwierdzenie
Mysz PS/2 ze skrolowaniem(2) 6.62 Testowanie rodzaju myszy, cd. F2 czytaj typ urządzenia FA potwierdzenie Zwykła mysz 00 identyfikator zwykłej myszy Mysz ze skrolowaniem 03 identyfikator myszy ze skrolowaniem Inicjacja, jak poprzednio
Mysz PS/2 ze skrolowaniem(3) 6.63 Zmiany stanu myszy bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 bajt1nadm.ynadm.xznakyznakx 1 środk.prawylewy bajt 2 przesunięcie X bajt 3 przesunięcie Y bajt 4 przesunięcie Z
O kompatybilności trzeba myśleć zawczasu 6.64 Dobrze jest przewidzieć mechanizm uzgadniania wersji. Wymieniamy się numerami obsługiwanych wersji. Używamy maksimum ze zgłoszonych numerów wersji. Inny, dobry przykład jest na następnym slajdzie.
Negocjowanie opcji w protokole TELNET 6.65 WILL 251kodopcji chęć włączenia opcji potwierdzenie używania opcji WON T 252kodopcji odmowa włączenia lub kontynuacji użycia opcji DO 253kodopcji żądanie, aby druga strona używała opcji potwierdzenie oczekiwania, że druga strona użyje opcji DON T 254kodopcji żądanie, aby druga strona przestała używać opcji potwierdzenie oczekiwania, że druga strona nie będzie dłużej używać opcji