Opracowanie pytań na egzamin inżynierski
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

W4-INF-kierunkowe.md 8.8KB

Model TCP/IP

Model TCP/IP to warstwowy model struktury protokołów komunikacyjnych w sieciach komputerowych, opracowany razem z odpowiadającym mu zestawem protokołów w latach 70. w agencji DARPA (Stany Zjednoczone); sam model jak i zestaw protokołów TCP/IP został zaprojektowany w otwartej architekturze i nie jest ograniczony żadnymi patentami ani prawami autorskimi.

W modelu TCP/IP wyróżnia się 4 warstwy:

  • warstwa aplikacji – najwyższa warstwa, odpowiadająca bezpośrednio za wymianę za pomocą sieci różnego typu danych między aplikacjami używanymi przez użytkowników, przykładowe protokoły: HTTP (strony WWW), DNS (tłumaczenie nazw domenowych), SMTP (wymiana poczty), SSH (zdalna praca konsolowa),
  • warstwa transportowa – warstwa zapewniająca kanał komunikacyjny między poszczególnymi aplikacjami na komunikujących się ze sobą urządzeniach, dzieląca dane na segemnty po stronie nadawczej i składająca po stronie odbiorczej, kierująca do każdej z aplikacji ruch sieciowy na podstawie przypisanego jej numeru portu, na jej poziomie wykorzystuje się 2 protokoły: TCP (połączeniowy, gwarantujący niezawodność transmisji) i UDP (bezpołączeniowy, szybszy, ale nie gwarantujący poprawności transmisji),
  • warstwa internetowa (warstwa internetu) – warstwa odpowiadająca za wyznaczanie trasy (routing) i przekazywanie pakietów do kolejnych sieci znajdujących się pomiędzy urządzeniem źródłowym i docelowym, podstawowym protokołem tej warstwy jest protokół IP, wykorzystujący do identyfikacji urządzeń unikalne w skali całej sieci adresy IP,
  • warstwa dostępu do sieci – najniższa warstwa, której zadaniem jest transmitowanie danych przez fizyczne łącza między urządzeniami w obrębie pojedynczej sieci.

Każda z warstw jest niezależna od pozostałych. Przykładowo, na poziomie warstwy aplikacji po drugiej stronie łącza widoczna jest bezpośrednio aplikacja, z którą zostało nawiązane połączenie, niezależnie od trasy pokonywanej przez pakiety w warstwie internetowej. Z kolei z perspektywy warstwy internetowej po przeciwnej stronie łącza znajduje się następne urządzenie na trasie posiadające adres IP, niezależnie od fizycznej struktury sieci i przykładowo liczby przełączników, jakie musi pokonać ramka przenosząca pakiet IP. Dzięki temu można łatwo wykorzystać w sieci różne technologie i z punktu widzenia wyższych warstw nie ma na przykład znaczenia, czy fizycznie transmisja odbywa się kablem w standardzie Ethernet, czy bezprzewodowo w jednym ze standardów Wi-Fi – dowolny rodzaj danych da się przesłać dowolnym łączem.

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

Układy PLD, CPLD oraz FPGA należą do specjalizowanych scalonych układów cyfrowych (ASIC) konfigurowanych przez użytkownika – w odróżnieniu od typowych układów ASIC konfigurowanych maską przez producenta na zamówienie użytkownika. Układy programowalne mogą być dzięki temu produkowane i sprzedawane masowo, co w porównaniu z układami konfigurowanymi maską pozwala znacząco ograniczyć koszty stałe projektu użytkownika (właściwie każdy może taki układ kupić). Wyższy jest natomiast ich jednostkowy koszt i przy seriach rzędu kilkudziesięciu tysięcy urządzeń stają się przez to mniej opłacalne od układów konfigurowanych maską.

W porównaniu z układami ogólnego przeznaczenia, przystosowane do określonych zastosowań układy ASIC cechują się wyższą wydajnością i efektywnością, na przykład umożliwiając zrównoleglenie na etapie projektu operacji, które przez mikroprocesor musiałyby być wykonywane sekwencyjnie. Układy ASIC stosuje się często do sterowania urządzeniami i szybkiego przetwarzania dużych ilości danych – na przykład w kryptografii, w urządzeniach sieciowych (przełączniki), czy też przy cyfrowym przetwarzaniu sygnałów. Układów programowalnych używa się zwykle do prototypowania układów cyfrowych i produkcyjnie dla małych serii (lub większych serii, które szybko powinny trafić na rynek).

Najprostszym i najstarszym rodzajem omawianych układów są układy PLD (Programmable Logic Device). Składają się one z 2 matryc bramek logicznych, AND-OR, sprzętowo najczęściej realizowanych jako NAND-NAND (prawa de Morgana) i występują w trzech odmianach:

  • PAL – z programowalną matrycą AND (najpowszechniejsze)
  • PLE - z programowalną matrycą OR
  • PLA - z programowalnymi obydwoma matrycami

Układy PLD składają się z małej liczby bramek logicznych (typowo posiadają 8-10 wejść i wyjść oraz kilkadziesiąt bramek), a zwiększanie rozmiarów matryc bardzo szybko zaczyna powodować powolne działanie. Dlatego jako ich rozwinięcie opracowano układy CPLD (Complex PLD), składające się z wielu układów PLD połączonych szybką globalną matrycą połączeń – takie układy mogą posiadać już kilka tysięcy bramek logicznych. W układach PLD i CPLD jako pamięć konfiguracji wykorzystuje się różne rodzaje pamięci nieulotnej, we współczesnych konstrukcjach najczęściej EEPROM (elektrycznie programowalną i kasowalną).

Układy FPGA (Field Programmable Gate Array) to najbardziej skomplikowany rodzaj układów programowalnych o największych możliwościach, pierwotnie opracowany przez firmę Xilinx, ich pojemności dochodzą do kilkuset tysięcy bramek logicznych. Podstawową różnicą w stosunku do CPLD jest sposób realizacji funkcji logicznych – w FPGA zamiast klasycznych bramek logicznych wykorzystuje się generatory LUT (LookUp Table), tablicujące tabele prawdy funkcji. Układy FPGA składają się z wielu połączonych globalną matrycą bloków CLB (Configurable Logic Block), zawierających LUT, przerzutniki i multipleksery. Jako pamięć konfiguracji wykorzystywana jest pamięć statyczna RAM (SRAM) – ponieważ jest to pamięć ulotna, często do układów FPGA dołącza się oddzielne układy pamięci EEPROM, z których FPGA po podłączeniu zasilania automatycznie może odczytać konfigurację połączeń. Jest to kolejna ważna różnica w porównaniu z CPLD.

Do konfigurowania współczesnych układów programowalnych wykorzystuje się języki opisu sprzętu (HDL – Hardware Description Language), 2 najczęściej stosowane to VHDL i Verilog. Za ich pomocą opisuje się zachowanie projektowanego układu w pewnej określonej konwencji (zwanej szablonem), którą narzędzia syntezy tworzone przez producentów układów są w stanie przetłumaczyć na konfigurację konkretnego układu FPGA lub CPLD.

Optyczne nośniki informacji

Nośniki optyczne służą do przechowywania informacji w postaci, którą odczytuje się za pomocą wiązki światła (promienia lasera). Pierwszym optycznym nośnikiem danych były płyty LaserDisc o średnicy około 30 cm, opracowane w latach 70. w Stanach Zjednoczonych do zapisu wideo (obraz w formacie analogowym, dźwięk w formacie analogowym lub cyfrowym).

Współcześnie jako optyczne nośniki danych wykorzystuje się płyty o średnicy 12 cm, przechowujące informacje w postaci cyfrowej:

  • CD – najstarszy standard (1982), do odczytu wykorzystuje falę o długości 780 nm (podczerwień), pozwala zapisać 700 MB danych lub 80 minut stereofonicznego dźwięku (w formacie PCM 16-bit z częstotliwością próbkowania 44.1 kHz),
  • DVD – standard z 1995, do odczytu wykorzystuje falę o długości 650 nm (światło czerwone), dzięki czemu uzyskano wyższą gęstość zapisu – mieści 4.7 GB danych na jednej warstwie, na płytach dwuwarstwowych mieszczących 8.5 GB danych wybór warstwy następuje przez odpowiednie zogniskowanie wiązki laserowej (pierwsza warstwa częściowo przepuszcza światło),
  • Blu-ray – standard z 2006, jeszcze wyższa gęstość zapisu, do odczytu wykorzystuje falę o długości 405 nm (światło niebieskie), pozwala zapisać 25 GB danych na jednej warstwie, podobnie jak na płytach DVD możliwy jest zapis dwuwarstwowy (50 GB), a w rozszerzonej wersji standardu nazywanej BDXL – nawet ośmiowarstwowy (200 GB).

Dane cyfrowe są zapisywane na płytach w spiralnej ścieżce od środka nośnika w stronę krawędzi w postaci fragmentów powierzchni odbijających (land) lub pochłaniających (pit) wiązkę światła lasera. Wykorzystywane jest kodowanie NRZI – zmiana powierzchni (pitu w land lub landu w pit) oznacza jedynkę logiczną w odczytywanym sygnale. Odbita od płyty wiązka jest wykorzystywana równocześnie do odczytu danych oraz do utrzymywania lasera w ścieżce i ogniskowania światła na płycie.

Współczesne płyty mogą być zapisywane fabrycznie (jak w przypadku płyt muzycznych CD-ROM), ale mogą też być dostosowane do jednokrotnego zapisu (np. DVD-R) lub wielokrotnego zapisu i kasowania (np. CD-RW, BD-RE) przez użytkownika za pomocą nagrywarki – szczególnie duże znaczenie miały płyty CD-RW przed upowszechnieniem się nośników USB.