Programowalne układy przetwarzania sygnałów i informacji technika cyfrowa w multimediach i kryptografii

Wielkość: px
Rozpocząć pokaz od strony:

Download "Programowalne układy przetwarzania sygnałów i informacji technika cyfrowa w multimediach i kryptografii"

Transkrypt

1 Tadeusz ŁUBA*, Krzysztof JASIŃSKI*, Bogdan ZBIERZCHOWSKI* Programowalne układy przetwarzania sygnałów i informacji technika cyfrowa w multimediach i kryptografii W dzisiejszych czasach trudno sobie wyobrazić dziedzinę szeroko rozumianej telekomunikacji, w której cyfrowe przetwarzanie sygnałów DSP (Digital Signal Processing) nie miałoby zasadniczego znaczenia. Odnosi się to do wszystkich warstw systemu telekomunikacyjnego: od urządzeń przetwarzających obrazy, dźwięki, dane alfanumeryczne na sygnały (i odwrotnie), przez sieci telekomunikacyjne przenoszące i komutujące te sygnały, aż po systemy urządzeń, zapewniających dostarczanie różnorakich treści, zwanych powszechnie usługami. Można tu wymienić takie przykłady, jak: modemy telefoniczne, systemy cyfrowego szerokopasmowego dostępu abonenckiego DSL (Digital Subscriber Line), dostępu radiowego, rozpoznawanie mowy i mówców, telewizja cyfrowa wysokiej rozdzielczości, telefonia komórkowa i satelitarna czy związana z większością wymienionych systemów kryptografia. Trzeba podkreślić, że tak szerokie zastosowanie techniki cyfrowej w telekomunikacji znalazło zastosowanie dopiero w momencie opanowania technologii wytwarzania na wielką skalę scalonych układów specjalizowanych ASIC (Application Specific Integrated Circuits). Coraz większą popularnością w tym zakresie cieszą się procesory sygnałowe mikrokomputery skonstruowane specjalnie do cyfrowego przetwarzania sygnałów. Obecnie z procesorami sygnałowymi w wielu zastosowaniach mogą konkurować układy programowalne i reprogramowalne. Dynamiczny rozwój cyfrowych technik telekomunikacyjnych daje się zauważyć zwłaszcza w systemach multimedialnych. Ogólnie można powiedzieć, że telekomunikacyjny system multimedialny to zespół środków technicznych i procesów, umożliwiających przekaz i prezentację wiadomości za pomocą przynajmniej dwóch, wzajemnie zsynchronizowanych, środków przekazu, takich jak: mowa, muzyka, ruchomy obraz, tekst, grafika itp. Powszechnie jest on utożsamiany z takimi usługami, jak: wideotelefonia, wideokonferencja, wideo na żądanie (lub prawie na żądanie), telepraca, teleedukacja, telezakupy itd. W takim systemie wyróżnia się trzy podstawowe elementy funkcjonalne: serwer usług multimedialnych, terminale multimedialne oraz sieć dostępu do usług. Zadaniem sieci jest przeniesienie sygnałów dotyczących usług oferowanych przez serwery do terminali, a także wymiana danych między serwerami. Płaszczyzna transportowa takiej sieci jest na ogół bardzo dobrze rozwinięta i przystosowana do przenoszenia sygnałów cyfrowych z dużą szybkością. Najczęściej są w niej stosowane kable światłowodowe i szybkie techniki transmisyjne: SDH, ATM, Frame-Relay itp. Najbardziej krytycznym elementem tego systemu jest abonencka sieć dostępowa, przenosząca sygnały multimedialne od węzłów sieci transportowej do terminalu i na odwrót. Ze względu na istniejącą infrastrukturę kablową tej sieci (najczęściej symetryczna para przewodów miedzianych, tzw. skrętka), stało się konieczne opracowanie systemów umożliwiających transmisję cyfrową do (i od) abonenta z dużą szybkością. * Instytut Telekomunikacji Politechniki Warszawskiej W tej części sieci powszechnie przyjmowana szerokość pasma podstawowego 300 Hz 3400 Hz nie wynika z własności linii transmisyjnej, lecz z przepustowości filtrów stosowanych (dla transmisji telefonicznej) w punktach styku z siecią transportową. Wspomniana skrętka umożliwia (oczywiście po usunięciu filtrów) wykorzystanie pasma do 1 MHz, a jedynym ograniczeniem szybkości transmisji cyfrowej jest długość kabla i jakość jego wykonania. Efektywne zwiększenie wykorzystania pasma do transmisji dwukierunkowej osiąga się przez stosowanie odpowiednich kodów liniowych oraz przez stosowanie cyfrowej kompensacji (kasowania) echa (Echo Canceller) w układach rozgałęźnych po stronie abonenta i po stronie sieci. Na przykład w sieciach ISDN dla dostępu podstawowego (2B + D) do transmisji o szybkości 144 kbit/s (2 kanały po 64 kbit/s + 16 kbit/s dla kanału sygnalizacyjnego) wykorzystuje się kod liniowy 2B1Q (2-Binary 1-Quatenary) oraz technikę kompensacji echa. Sprowadza się ona do wytworzenia w nadajniku przez adaptacyjny filtr cyfrowy sygnału identycznego z przebiegiem echowym i odjęcia go od całkowitego sygnału odbieranego. Podobną zasadę kasowania echa stosuje się w systemach dostępowych DSL. Opracowano (i dalej się rozwija) systemy HDSL (High data rate Digital Subscribe Line), ADSL (Asymmetric Digital Subscribe Line), VDSL (Very high data rate Digital Subscribe Line) o różnych przepływnościach i różnych technikach kodowania. Kodowanie liniowe i cyfrowe kasowanie echa w systemach dostępowych i sieciach ISDN to niewielka część szerokiego zakresu stosowania cyfrowego przetwarzania sygnałów. Ogromne znaczenie mają techniki kodowania sygnałów telefonicznych i wizyjnych, umożliwiające zmniejszenie przepływności kanałów służących do ich przenoszenia, a także wykrywanie i ewentualnie korekcję błędów transmisji. Wystarczy powiedzieć, że w systemach radiokomunikacji ruchomej szybkość strumienia sygnału mowy zmniejsza się z 64 kbit/s (w systemach PCM) do szybkości poniżej 10 kbit/s. W społeczeństwie informacyjnym wiele dziedzin życia gospodarczego i kulturalnego korzysta z elektronicznego przekazywania danych. Ogromnego znaczenia nabiera zatem poufność, a nawet tajność przekazywanych informacji. Z coraz większym przekonaniem przyjmowany jest pogląd, że ochrona danych będzie odgrywała podstawową rolę w funkcjonowaniu przyszłych systemów informacyjnych. Dotyczy ona głównie aplikacji telekomunikacyjnych, takich jak telefonia bezprzewodowa i komórkowa, faksy, pagery, płatna telewizja, komercyjne produkty audio/wideo itp. Jednak najważniejszym obszarem, w którym decydujące znaczenie mają mechanizmy ochrony informacji, jest komunikacja cyfrowa, a w szczególności sieć internetowa. Mechanizmy ochrony komunikacji cyfrowej są realizowane za pomocą specjalnych protokołów bezpieczeństwa i w formie algorytmów kryptograficznych stały się częścią wielu standardowych rozwiązań, jak IPSec (protokół internetowy), SSL (Secure Socket Layer), szyfrowane komórki sieci ATM oraz różnych standardów ANSI dla bankowości. Eksplozja wzrostu usług internetowych w zakresie handlu i biznesu, w tym operacji finansowych i obrotu kapitałowego, spowodowała, że realizacja mechanizmów zabezpieczenia przed nieuprawnionym dostępem do informacji stała się ogromnym wyzwaniem. PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8 9/

2 Jak widać, zakres zastosowań układów cyfrowych w telekomunikacji będzie coraz większy i niedobrze byłoby, gdyby w rozwoju tej techniki i jej ogromnych rynkowych możliwości nie uczestniczyły firmy polskie. Zrozumienie tych szans jest szczególnie istotne w dobie rewolucyjnego rozwoju technologii układów programowalnych [26]. Dotychczasowe sukcesy polskich firm w komercyjnych aplikacjach techniki cyfrowej w telekomunikacji potwierdzają tę tezę. Doskonałym przykładem może tu być firma ADB Polska, założona przed pięciu laty przez pracowników naukowych Politechniki Zielonogórskiej. Z dużym powodzeniem opracowuje ona i sprzedaje w milionach sztuk również na rynki zagraniczne urządzenia telewizji cyfrowej. W artykule opisano podstawowe właściwości układów programowalnych oraz możliwości ich zastosowania w przetwarzaniu sygnałów i informacji. Omówiono przykłady eksperymentalnych i przemysłowych aplikacji multimedialnych oraz realizacje algorytmów kryptograficznych. Przedstawiono nową ofertę na rynku cyfrowych układów telekomunikacyjnych produkty wirtualne. Wskazano także na ogromne znaczenie syntezy logicznej w tych zastosowaniach. ROLA UKŁADÓW PROGRAMOWALNYCH W ROZWOJU TECHNIKI CYFROWEJ DLA POTRZEB PRZETWARZANIA SYGNAŁÓW I INFORMACJI W technice cyfrowej w ostatnich latach obserwuje się ogromne zmiany w metodach projektowania układów i systemów cyfrowych oraz w technologiach wykonywania urządzeń cyfrowych. Z punktu widzenia technologii jest to postęp od układów katalogowych i płytki drukowanej do specjalizowanych układów ASIC i specjalizowanych procesorów ASIP (Application Specific Instruction Set Processors) o złożoności sięgającej milionów bramek. W szczególności udoskonalenia procesu technologicznego, polegające na redukowaniu wymiarów elementów półprzewodnikowych i zwiększaniu liczby warstw metalizowanych połączeń, a także nowe techniki programowania umożliwiły opracowanie generacji struktur FPLD (Field Programmable Logic Devices) z możliwością reprogramowania i rekonfiguracji [21], [30]. Te cechy układów FPLD umożliwiają implementacje algorytmów DSP, niekiedy znacznie lepsze w porównaniu z implementacjami na procesorach sygnałowych. Obecnie produkowane układy FPLD, w zależności od struktury, klasyfikuje się na układy matrycowe CPLD (Complex PLD) oraz układy komórkowe FPGA. Elementem charakterystycznym dla architektury CPLD jest wykorzystanie w układach wielu struktur typu PAL (Programmable Array Logic) zgrupowanych w bloki SPLD (Simple PLD). Bloki te są ze sobą połączone szybką, programowaną matrycą połączeniową, jak to pokazano na rys. 1. Jej zadaniem jest przesyłanie sygnałów między wejściami zewnętrznymi a wewnętrznymi blokami logicznymi oraz między tymi blokami. Niezależnie od wykonania, ważnymi parametrami matrycy połączeniowej, będącej krytycznym fragmentem układów CPLD, są: zdolność łączeniowa i czas propagacji sygnału. Pod pojęciem zdolności łączeniowej rozumie się możliwość łączenia dowolnych elementów struktury programowalnej. Producenci układów rozwiązują związane z tym problemy w różny sposób, czego efektem są różnorodne architektury matryc połączeniowych, w dużych układach CPLD także wielopoziomowe. Architektura matrycy połączeniowej i technologia zastosowana do jej realizacji mają duży wpływ na czas propagacji sygnału. We współczesnych układach CPLD czas propagacji sygnału przez matrycę połączeniową nie przekracza zazwyczaj 0, ns (m. in. matryce GRP firmy Lattice, PIA Altera, PIM Cypress, ZIA Xilinx). Dostępne są także układy, w których czas propagacji skrócono do ok ps (ZIA, AIM Xilinx). Grupą układów programowalnych o architekturze i budowie elementarnych komórek logicznych, znacznie odmiennej od architektury i budowy komórek układów SPLD i CPLD, są struktury FPGA (Field Progammable Gate Array). Na rys. 2 pokazano ułożenie komórek logicznych oraz traktów połączeniowych, charakterystyczne dla większości układów FPGA. O Rys. 2. Struktura FPGA. Oznaczenia: PIP (Programmable Interconnect Point) programowalne punkty połączeniowe, RC (Routing Channels) trakty połączeniowe, I/O bloki wejściowo-wyjściowe, LB (Logic Blocks) bloki logiczne O Rys. 1. Struktura CPLD. Oznaczenia: PIA (Programmable Interconnect Array) matryca połączeniowa, SPLD prosta struktura PLD typu PAL Praktycznie wszystkie obecnie produkowane układy programowalne są wyposażone w reprogramowalne matryce pamięciowe. Najczęściej są stosowane dwa rodzaje matryc: z komórkami pamięci SRAM (Static RAM) i trwałej EEPROM, a coraz rzadziej PROM lub EPROM. Układy reprogramowalne CPLD i FPGA oferuje na świecie kilku producentów. Są to zarówno układy z matrycami SRAM, jak i EEPROM. Nieulotne matryce EEPROM charakteryzują się ograniczoną liczbą dopuszczalnych cykli reprogramowania, zazwyczaj od 100 do 1000, gwarantują natomiast długi czas przechowywania zapisanych w nich konfiguracji (do 100 lat) bez zasilania. W aplikacjach wymagających dużej pojemności logicznej są stosowane przede wszystkim struktury FPGA, w których rolę elementu pamięciowego spełnia komórka pamięci nietrwałej SRAM. Po każdorazowym włączeniu zasilania niezbędne jest wprowadzenie danych o konfiguracji, czyli tzw. inicjalizacja konfiguracji matrycy. Proces rekonfiguracji we wszystkich układach FPGA przebiega podobnie, przy czym w zależności od typu układu czas inicjalizacji struktury waha się od 1ms (układy serii AT6000) aż do 320 ms (układy FLEX10K). Dzięki wykorzystaniu standardowych interfejsów szeregowych SDI (Serial Data Interface) w układach FPGA oraz JTAG- ISP w układach CPLD, dane konfiguracyjne można załadować do 410 PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8 9/2003

3 O Rys. 3. Jednowymiarowa systoliczna matryca sumatora; D przerzutnik struktury programowalnej za pomocą lokalnego sterownika lub specjalnego interfejsu programującego. Strumień danych konfiguracyjnych jest zwykle przechowywany w standardowej pamięci stałej o dowolnej organizacji lub w specjalnej pamięci szeregowej. Ze względu na właściwości matryc pamięciowych, do stosowania w aplikacjach rekonfigurowalnych są predestynowane układy FPGA. Głównym celem rekonfiguracji systemu jest dostosowanie struktury funkcjonalnej, dostępnej w ramach jego architektury podstawowej, do wymagań realizowanych algorytmów. W przypadku realizacji algorytmów, które nie mieszczą się w całości w strukturze systemu, istnieje konieczność ich rozłożenia na sekwencje podzadań realizowanych kolejno w odpowiednich konfiguracjach. Warunkiem niezbędnym do realizacji całego algorytmu jest zdolność systemu rekonfigurowalnego do wymiany danych konfiguracyjnych wraz z przekazaniem wyników uzyskanych w bieżącej konfiguracji do kontynuowania obliczeń w następnej konfiguracji. Taki sposób rekonfiguracji systemu podczas jego działania jest wyróżniany terminem run-time. Obecnie stosuje się kilka metod rekonfiguracji układów FPGA [40]. Najprostszym implementacyjnie, ale niezbyt efektywnym sposobem rekonfiguracji, jest zmiana konfiguracji (tzw. kontekstu) całej struktury programowalnej. Polega ona na szeregowym wprowadzeniu strumienia nowych danych konfiguracyjnych. Wadą tej metody jest konieczność przerwania pracy całego układu, co w konsekwencji może obniżyć wydajność całego systemu. Układy wyposażone w taki mechanizm rekonfiguracji są nazywane jednokontekstowymi. Większość obecnie produkowanych układów FPGA można uważać za układy jednokontekstowe o różnych czasach rekonfiguracji. Bardziej efektywnym sposobem rekonfiguracji jest rekonfiguracja częściowa. Jest ona możliwa pod warunkiem przerwania pracy układu, podobnie jak w przypadku układów jednokontekstowych, chociaż dzięki możliwości wymiany tylko niezbędnej części danych konfiguracyjnych średni czas rekonfiguracji może być zależnie od przyjętego sposobu przydziału zadań znacznie krótszy. Do najbardziej znanych układów rekonfigurowalnych należą struktury AT40K/KA/KAL, AT6000 oraz FPSLIC AT94 (wszystkie wymienione rodziny są to układy FPGA, produkowane przez firmę Atmel [13]) oraz Virtex/Virtex II i Virtex E (produkowane przez firmę Xilinx). Ogromną zaletą układów AT40K/KA/KAL oraz AT6000 jest możliwość ich częściowej rekonfiguracji bez konieczności wyłączania pozostałej, nie poddawanej rekonfiguracji, części układu. Uzyskanie tak dobrego efektu użytkowego jest możliwe dzięki zaawansowanemu mechanizmowi wymiany danych konfiguracyjnych CacheLogic, w który wyposażono wszystkie układy obydwu rodzin. Zupełnie inną architekturę i nieco inne walory użytkowe mają układy AT94, nazywane w nomenklaturze producenta także FPSLIC (Field Programmable System Level Integrated Circuit). Integrują one bowiem w jednej strukturze rekonfigurowalną matrycę FPGA oraz 8- bitowy mikrokontroler RISC. Budowa, właściwości (w tym możliwość częściowej rekonfiguracji) i podstawowe parametry matryc rekonfigurowalnych są identyczne jak dla matryc stosowanych w układach AT40K. Możliwości użytkowe układów AT94K znacznie zwiększa fakt zintegrowania w ich strukturze szybkiego mikrokontrolera o architekturze RISC, którego wydajność dochodzi do 40 MIPS. Szczegółowy opis architektury układów FPSLIC można znaleźć m. in. w artykule [40]. Do stosowania w aplikacjach nie wymagających częściowej rekonfiguracji struktury układu doskonale nadają się układy z rodzin Virtex oraz APEX, które należą obecnie do grupy najwyżej zaawansowanych technologicznie układów FPGA. O ich dużych zaletach decydują m. in. mechanizmy sprzętowej implementacji pamięci różnego typu (w tym FIFO oraz DualPort FIFO), możliwość łączenia bloków logicznych w bloki funkcjonalne bez wykorzystywania lokalnych zasobów połączeniowych, a także krótki czas rekonfiguracji. Jednak nie tylko z tych powodów układy FPGA mają przeważające zalety w implementacjach algorytmów DSP. Decydującym czynnikiem w coraz powszechniejszym zastosowaniu układów FPGA do syntezy układów DSP jest ich specyficzna, ziarnista i potokowa struktura wewnętrzna. Zalety tej struktury objawiają się już na poziomie najprostszych ale wyjątkowo typowych w DSP układów mnożenia skalarnego z akumulacją. Na rys. 3 pokazano uproszczoną strukturę mnożenia szeregowego, realizowanego w jednowymiarowej matrycy systolicznej. Każde ogniwo tego układu można bezpośrednio zrealizować w pojedynczych komórkach struktur FPGA, a niezależność tej struktury od liczby bitów przetwarzanych słów jest dodatkową zaletą decydującą o wydajności i skalowalności realizowanych algorytmów. Układy szeregowego mnożenia bitowego znajdują zastosowanie w realizacjach filtrów typu FIR [26], [36]. Komórkowa budowa struktur FPGA, a w szczególności możliwość grupowania często wykorzystywanych bloków tablic odwzorowań (tablic prawdy) LUT (Look Up Table) w wielowyjściowe pamięci, znakomicie ułatwia realizację układów arytmetyki rozproszonej DA (Distributed Arithmetic) [26]. Strukturę układu DA pokazano na rys. 4. Zaletą architektury DA jest wygodna i efektywna implementacja w strukturach FPGA. Przeprowadzone eksperymenty [36] wskazują, że równoległe i rozproszone układy mnożące implementowane w strukturach FPGA są 6 razy szybsze przy zaledwie 2,5-krotnym zwiększeniu zasobów sprzętowych. Rekonfigurowalne układy FPGA, które zapoczątkowały nową erę w dziedzinie projektowania układów DSP, stanowią również doskonałe medium implementacyjne do realizacji algorytmów szyfrujących w różnych zastosowaniach, takich jak protokoły bezpieczeństwa komunikacji w sieciach, ochrona i potwierdzanie autentyczności informacji i dokumentów oraz do realizacji maszyn wyszukujących klucze w kryptoanalizie. Głównym atutem układów rekonfigurowalnych jako medium konstrukcyjnego jest ich zdolność adaptacyjna, polegająca na możliwości dostosowania architektury logicznej do typu, kształtu i właściwości realizowanych funkcji. Do efektywnego wykorzystania możliwości tych układów, zarówno pod względem optymalizacji logicznej, jak też parametrów fizycznych (szybkość, moc, powierzchnia) jest potrzebna gruntowna znajomość funkcji i własności implementowanych algorytmów. Środkiem do osiągnięcia tak określonego celu jest wiedza o sposobach odwzorowywania podstawowych operacji i funkcji algorytmu w strukturę podstawową matrycy rekonfigurowalnej oraz wybór logicznej reprezentacji danych, odpowiedniej do specyfikacji algorytmu architektury. Większość algorytmów szyfrowania można przedstawić za pomocą grafu przepływu danych, który jest zbudowany zaledwie z kilku różnych komponentów, realizujących mniej lub bardziej złożone operacje arytmetyczne i funkcje logiczne. Poniżej przedstawiono listę najczęściej stosowanych operacji i funkcji. M Proste operacje arytmetyczne, takie jak dodawanie i odejmowanie. M Operacje na krótkich słowach binarnych o nietypowych długościach. O Rys. 4. Architektura DA. Oznaczenia: RP rejestry przesuwające, POT rejestr potokowy, R rejestr wyjściowy PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8 9/

4 M Operacje mnożenia mnożenie ogólne (dowolne wartości operandów), mnożenie modularne, mnożenie z obcięciem wyniku, mnożenie przez stałą, mnożenie z użyciem kodowania nadmiarowego operandów etc. M Równoległe operacje logiczne. M Sekwencje operacji logicznych. M Tablice odwzorowań LUT, np. nieliniowe typu S-box. M Operacje rotacji i przesunięcia. Dla każdej z wymienionych operacji można wyznaczyć efektywne odwzorowanie w strukturze matrycy rekonfigurowalnej. Zastosowanie takich wzorów realizacyjnych do projektowania algorytmów kryptograficznych pozwala lepiej wykorzystać walory systemów rekonfigurowalnych. EKSPERYMENTALNE I PRZEMYSŁOWE APLIKACJE MULTIMEDIALNE Wraz z wprowadzeniem rekonfigurowalnych struktur logicznych pojawiły się nowe możliwości ich zastosowań w dziedzinie przetwarzania obrazów i dźwięku. Pierwszą architekturą komputera konfigurowanego ze strukturami FPGA była wirtualna maszyna, pomyślana jako programowalna pamięć aktywna PAM (Programmable Active Memory); miała ona formę rekonfigurowalnego koprocesora sterowanego standardowym procesorem. Rola procesora sprowadzała się do zarządzania konfiguracją macierzy układów FPGA, które pełniły funkcje koprocesora, i współpracy z tym koprocesorem, analogicznie jak w konwencjonalnych komputerach. Przykładami zastosowania platformy PAM do realizacji specjalizowanych maszyn liczących są między innymi: system DECPeRLe zaprojektowany przez Digital Equipment Corporation s Paris Research Laboratory [38] i system SPLASH, opracowany w Supercomputer Research Center [3]. Systemy PeRLe-0 i PeRLe-1 cechuje wielka efektywność rozwiązywania zadziwiająco szerokiej klasy problemów obliczeniowych. Są one zbudowane z macierzy dwuwymiarowej układów FPGA komunikującej się z otoczeniem zewnętrznym za pomocą szyny o dużej przepływności. Oprócz 16 układów macierzy 4x4 FPGA system zawiera 1 MB pamięci statycznej RAM na każdej z krawędzi macierzy FPGA. Układ został zaprojektowany do przyspieszenia realizacji zadań wymagających dużych mocy obliczeniowych przy założeniu, że części realizowanego algorytmu, które stanowią jego wąskie gardło, będą przekazywane do wykonania układowi. Do specyfikacji zadań zostało zaprojektowane specjalne środowisko programowe [4], które łączy w sobie cechy kompilatorów złożonych języków programowania oraz systemów do projektowania sprzętu. Lista problemów, które efektywnie rozwiązywano za pomocą DEC PeRLe, zawiera wiele istotnych zadań z dziedziny przetwarzania obrazu i dźwięku, jak na przykład: mnożenie dużych liczb całkowitych, kompresja danych, rozwiązywanie równań Laplace a, synteza dźwięku, rozpoznawanie wzorca, splot w dziedzinie dwuwymiarowej, kompresja obrazu. Innym przykładem wysoko wyspecjalizowanej maszyny liczącej jest system SPLASH zaprojektowany w Supercomputer Research Center [3], [8] oraz jego następca SPLASH-2. Podobnie jak system DEC PeRLe, współpracuje on ze stacją roboczą, przyspieszając jej działanie w tych sytuacjach, gdy nie może ona uporać się z zadaniem wymagającym dużych mocy obliczeniowych. Architektura SPLASH-2 została zaprojektowana jako macierz systoliczna na pojedynczej płytce o 16 elementach obliczeniowych, z których każdy zawiera układ FPGA oraz lokalną pamięć. Analogicznie jak w przypadku PeRLe, stworzono środowisko programistyczne, dające możliwość tworzenia aplikacji. Miało ono wbudowany symulator języka VHDL [1], [2], język opisu logiki LDG [9] oraz model programowy SIMD [10]. Za pomocą systemu SPLASH uruchomiono i przetestowano wiele aplikacji. Otrzymane wyniki świadczą o jego dużej efektywności. Lista przykładowych problemów rozwiązanych za pomocą systemu SPLASH-2 zawierała m. in. następujące zadania: wyszukiwanie tekstu, przetwarzanie obrazów, ustalanie zmiennego przecinka oraz splot w dziedzinie dwuwymiarowej. Eksperymenty przeprowadzone z architekturami PeRLe i SPLASH pokazały, że pojedyncza platforma obliczeniowa zbudowana z układów FPGA może zapewnić imponującą efektywność dla bardzo szerokiej rodziny zastosowań. Tak wysoki poziom efektywności był możliwy do osiągnięcia dzięki zaprojektowaniu dla każdego z wymienionych problemów specjalizowanej architektury. Mechanizmy rekonfiguracji gwarantują, że z wykorzystaniem tego samego sprzętu można realizować niezliczoną liczbę różnych architektur logicznych. Osiągnięcie wysokiej efektywności systemów PeRLe i SPLASH było możliwe dzięki: M wyspecjalizowaniu bloków funkcjonalnych; M wykorzystaniu współbieżności; M optymalizacji procesów i interfejsów komunikacyjnych; M wyspecjalizowaniu układów wejściowo-wyjściowych. Niewątpliwie eksperymenty te stały się bezpośrednią przyczyną zastosowania układów programowalnych w komercyjnych (przemysłowych) aplikacjach telekomunikacyjnych. Typowym przykładem mogą być satelitarne systemy telemetryczne firmy TSI TelSys [16], w których rekonfigurowalna matryca składająca się z 12 układów APEX20K100 spełnia rolę rekonfigurowalnego systemu DSP, automatycznie dostosowującego się do protokołu transmisyjnego śledzonej misji satelitarniej (EOS, SBIRS-High, DRTS, Heliosat). Możliwość rekonfiguracji układów CPLD wykorzystała firma LG Information & Telecommunications. W jej ofercie znajdują się urządzenia stosowane w systemach komórkowych CDMA (Code Division Multiple Access), W-CDMA (Wideband CDMA) oraz WLL (Wireless Local Loop). We współpracy z firmą Hanaro Telecom [12] firma LGIE wdrożyła do produkcji modemy W-CDMA, w których zastosowano po cztery układy EPF10K100. Zastosowanie układów rekonfigurowalnych wiąże się z możliwością szybkiego i w miarę bezproblemowego dostosowania toru obróbki sygnału do modyfikacji wprowadzanych w zaleceniach ITU, które mają na celu m. in. zwiększenie przepływności kanałów transmisyjnych, przy jednoczesnym zawężeniu zajmowanego pasma. Układy rekonfigurowalne znalazły zastosowanie także we współczesnych telewizyjnych systemach retransmisyjnych, czego przykładem może być rodzina procesorów wizyjnych D1 firmy Snell & Wilcox [12]. Według danych producenta, zastosowanie układów rekonfigurowalnych spowodowało obniżenie kosztu wykonania takiego procesora o ok. 30% w stosunku do klasycznych rozwiązań opartych na procesorach sygnałowych. Amerykańska firma Metalithic Systems jest producentem profesjonalnego, studyjnego sprzętu audio, w tym wielu cyfrowych konsol mikserskich. W 1999 roku inżynierowie tej firmy opracowali O Rys. 5. Schemat blokowy systemu ze zdalnie rekonfigurowanym blokiem sprzętowym; 1, 2, 3, 4 etapy rekonfiguracji 412 PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8 9/2003

5 128-kanałową konsolę, wykonaną na układach Spartan firmy Xilinx, w której możliwość rekonfiguracji układów wykorzystano do budowy różnego rodzaju efektów audio, w tym cyfrowego pogłosu i kompresji szumów [15]. Szczególnym przykładem w grupie opracowań komercyjnych jest propagowana od 1998 roku przez firmę Xilinx idea budowania sprzętu rekonfigurowanego przez Internet IRL (Internet Reconfigurable Logic), co schematycznie pokazano na rys. 5 [17]. Pierwsze komercyjne aplikacje IRL opracowały i wdrożyły w 1999 roku firmy Bosch i Siemens, które testują możliwości stosowania układów zdalnie rekonfigurowalnych w aplikacjach samochodowych [17]. Na początku 2001 roku, w wyniku prac prowadzonych wspólnie z LG Electronics oraz konsorcjum: Xilinx, Celoxica oraz WindRiver, powstały wykorzystujące układy Virtex E zdalnie rekonfigurowalne: odtwarzacz MP3 oraz internetowy telefon VoIP [14]. Urządzenia te mają zostać wdrożone do masowej produkcji przed końcem 2003 roku. UKŁADY PROGRAMOWALNE W KRYPTOGRAFII Wśród pierwszych implementacji szyfrów blokowych w układach programowalnych szczególnie interesujące były dwa opracowania. Pierwsze powstało w Szwajcarskim Federalnym Instytucie Technicznym w Lozannie pod akronimem CryptoBooster [25]. CryptoBooster spełnia funkcje rekonfigurowalnego, modułowego koprocesora kryptograficznego, który współpracuje z głównym komputerem jako akcelerator operacji kryptograficznych. Próbnym modułem wykonanym w tej architekturze była realizacja symetrycznego szyfru blokowego IDEA. Przeprowadzone testy wykazały, że pod względem szybkości i przepustowości koprocesor nadaje się do zastosowań w szybkich sieciach, jak ATM, SONET i GigaEthernet. Drugi przykład to projekt wykorzystujący rekonfigurowalny procesor PipeRench opracowany w Carnegie Mellon University [37]. Oryginalna warstwowa architektura procesora PipeRench, zaprojektowana w CMU, została zoptymalizowana pod względem implementacji kryptograficznych. Jej głównymi cechami są: wirtualizacja, potokowa organizacja ścieżki danych i zerowy pozorny czas rekonfiguracji. Wirtualizacja umożliwia implementację algorytmów nie mieszczących się w całości w fizycznej strukturze systemu. W architekturze PipeRench zrealizowano szereg algorytmów, jak CRYPTON, IDEA, RC6 i Twofish. Na podstawie analizy wielu zastosowań sprzętowych [5] realizacji algorytmów kryptograficznych można określić funkcje i wymagania, jakie powinien spełniać elastyczny system kryptograficzny. Są to: M możliwość zmiany algorytmu w trakcie pracy, M możliwość wprowadzania nowych algorytmów, M duża szybkość przetwarzania danych, M łatwa obsługa interfejsu użytkownika, M modyfikowalność oprogramowania sterującego (upgradable firmware), M modyfikowalność sprzętu. Traktując powyższe warunki jako założenia do konstrukcji systemu kryptograficznego, współpracującego z głównym komputerem PC na zasadzie koprocesora, można zaproponować konstrukcję, której uproszczona architektura jest przedstawiona na rys. 6. Zasadniczymi blokami takiego systemu są: M koprocesor kryptograficzny z pamięcią buforową, M układ sterujący, M biblioteka algorytmów. Koprocesor kryptograficzny wykonuje wszelkie operacje związane z szyfrowaniem i deszyfrowaniem danych. Po włączeniu zasilania koprocesor rezydujący w strukturach FPGA nie jest jeszcze zaprogramowany. Na sygnał wyboru algorytmu, wydany przez użytkownika za pośrednictwem interfejsu, układ sterujący przepisuje do koprocesora z biblioteki algorytmów odpowiedni zbiór konfiguracyjny. Po skonfigurowaniu koprocesor jest gotowy do pracy. Transmisja danych szyfrowanych i deszyfrowanych pomiędzy systemem a komputerem odbywa się za pośrednictwem magistrali ISA. Tą samą drogą, z komputera do systemu, są przekazywane nowe zbiory modyfikujące lub rozszerzające bibliotekę algorytmów. O Rys. 6. Architektura elastycznego systemu kryptograficznego Naszkicowana wyżej koncepcja elastycznego systemu kryptograficznego została wykorzystana przez autorów przy opracowaniu prototypu wieloalgorytmowego koprocesora kryptograficznego, który zrealizowano w ramach prac badawczych w Instytucie Telekomunikacji PW. Prototyp koprocesora został wykonany w formie karty do komputerów klasy PC. Schemat blokowy karty koprocesora, uwzględniający szczegółowo sygnały magistrali ISA, jest przedstawiony na rys. 7. Karta wymaga wstępnej inicjalizacji kilku wewnętrznych rejestrów, których zawartość ustawia się przez interfejs programowy w komputerze. Ich wartości definiują szczegółowo następujące funkcje i parametry karty: M wybór algorytmu kryptograficznego DES, X_DES_X, DES3_EEE, DES3_EDE; M tryb pracy algorytmu ECB, CBC, OFB_64, CFB_01, CFB_08, CFB_16, CFB_64; M tryb współpracy z magistralą ISA normal lub pipeline; M funkcje karty szyfrowanie/deszyfrowanie, wpisywanie kluczy i wektora stanu początkowego. Przed rozpoczęciem cyklu szyfrowania/deszyfrowania są testowane wybrane komórki rejestru stanów w celu ustalenia prawidłowości przeprowadzonej inicjalizacji. Aby zapobiec lub przynajmniej utrudnić ataki hackerów, wprowadzono dodatkowe mechanizmy ochronne zapewniające bezpieczeństwo kluczy i bloków danych zarówno jawnych, jak i zaszyfrowanych. Zastosowane mechanizmy wykrywają pewne odstępstwa od oczekiwanych prawidłowych sekwencji instrukcji inicjujących proces szyfrowania/deszyfrowania i blokują reakcje koprocesora na sygnał startu GO lub niszczą zawartość rejestrów kluczy i rejestru stanu początkowego. Algorytm DES został zaprojektowany według amerykańskiej normy FIPS 46, zaś tryby pracy opracowano na podstawie normy FIPS 81. Algorytmy DES-EDE i DES-EEE, mimo iż nie są aktualnie ujęte w normach, należą obecnie do najczęściej używanych szyfrów O Rys. 7. Schemat blokowy wieloalgorytmowego koprocesora kryptograficznego PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8 9/

6 w protokołach bezpieczeństwa stosowanych w sektorze bankowym na całym świecie. Tryby pracy, pozwalające dopasować właściwości szyfru do wymagań otoczenia, są zgodne z międzynarodowymi normami ISO/IEC 8372 i ISO/IEC Główna część projektu została wyspecyfikowana w języku AHDL dla środowiska MAX+PLUS II firmy ALTERA, z przeznaczeniem dla rodziny układów rekonfigurowalnych FLEX 10K. W prototypie wykorzystano układ FLEX 10K30. Eksperymenty symulacyjne przeprowadzone z algorytmem DES, uwzględniające zastosowanie w koprocesorze układu FLEX 10K50, wykazały, że maksymalna częstotliwość zegara systemowego może wynosić około 70 MHz. Odpowiada to maksymalnej szybkości przetwarzania rzędu 190 Mbit/s. Dla algorytmu potrójny DES osiągalna szybkość wynosi około 66 Mbit/s. NOWY STANDARD SZYFROWANIA: ALGORYTMY ANALIZA I WYBÓR OPTYMALNYCH IMPLEMENTACJI Przedstawione powyżej przykłady implementacji algorytmów kryptograficznych były jedną z wielu prób poszukiwania optymalnych realizacji nowych algorytmów szyfrujących, które w XXI wieku mogłyby zastąpić dotychczasowy światowy standard DES. Wydarzeniem o przełomowym znaczeniu kamieniem milowym w dziedzinie ochrony systemów informacyjnych i bezpieczeństwa w sieciach teleinformatycznych stał się konkurs zorganizowany przez amerykański NIST (National Institute of Standards and Technology). Wyłoniona w ostatniej rundzie konkursu grupa najlepszych algorytmów kryptograficznych została poddana niezwykle gruntownym badaniom teoretycznym i szczegółowej analizie ich walorów praktycznych, zwłaszcza implementacji sprzętowych wybranej grupy szyfrów pod względem oceny ich wydajności i przydatności w przyszłych systemach kryptograficznych. Analizowane implementacje szyfrów zostały zrealizowane w kilku ośrodkach akademickich na podstawie tych samych założeń funkcjonalnych, wspólnej metodologii i wspólnych narzędzi projektowania, tej samej technologii i tych samych architektur układów rekonfigurowalnych. Za podstawę oceny implementacji zgłoszonych na forum III Konferencji Kandydatów AES (Advanced Encryption Standard) posłużyły przyjęte i uzgodnione wcześniej miary parametrów związanych z szybkością przetwarzania i złożonością realizacji. Głównymi kryteriami przyjętymi przez NIST do oceny i kwalifikacji szyfrów w konkursie na nowy standard były: bezpieczeństwo, efektywność w realizacjach sprzętowych i programowych oraz elastyczność. Spośród tych czterech parametrów efektywność realizacji sprzętowej okazała się szczególnie ważnym czynnikiem, umożliwiającym zróżnicowanie konkurujących algorytmów, przy założeniu, że: M porównanie było oparte na zbiorze obiektywnych i zgodnie akceptowanych miar, M istniały dostrzegalne różnice pomiędzy kandydatami, M ustalono wyraźną zgodność pomiędzy wynikami uzyskanymi przez niezależne grupy. W celu osiągnięcia większej jednolitości i czytelności porównań wyników otrzymanych przez różne grupy, zaproponowano zgodną terminologię, która może być użyta do opisu różnych architektur i parametrów wydajności szyfrów blokowych. się zestawieniem parametrów użytkowych, własności funkcjonalnych i charakterystyki procesu projektowania. Do grupy parametrów użytkowych, które mają istotny wpływ na efektywność przetwarzania danych, należą: możliwość przetwarzania równoległego i potokowego, zmienna długość słowa i szybkość działania. Do najważniejszych właściwości funkcjonalnych, decydujących o elastyczności i bezpieczeństwie implementacji kryptograficznej, zalicza się: możliwość wymiany algorytmu w trakcie pracy (algorithm agility), zabezpieczenie przed penetracją (tamper resistance) i kontrolę dostępu do kluczy. Charakterystykę procesu projektowania określają między innymi: języki specyfikacji, długość cyklu projektowania, koszty narzędzi do projektowania, koszty testowania, utrzymania i modyfikacji. Z porównania parametrów użytkowych wynika, że układy ASIC i FPGA mają wyraźną przewagę nad implementacją programową pod względem efektywności przetwarzania. Istotna różnica pomiędzy technologią ASIC i FPGA dotyczy szybkości działania układów FPGA, które są wolniejsze, co wynika z opóźnień wprowadzanych przez elementy programowalnych połączeń i proces rekonfiguracji. Pod względem funkcjonalnym następuje większe zróżnicowanie: największe bezpieczeństwo zapewnia ASIC, natomiast wadą jest całkowity brak możliwości modyfikacji. W przypadku układów ASIC i FPGA proces projektowania jest podobny w sposobie specyfikacji (język opisu sprzętu), weryfikacji (symulator) i testowania (płyta prototypowa). Zasadnicza różnica pomiędzy nimi polega na tym, że układy FPGA nie wymagają projektu warstwy fizycznej (layout), wytwarzania i testowania defektów fizycznych. Konsekwencją tego są: znacznie krótszy cykl projektowania i dużo tańsze narzędzia do projektowania i testowania. Z porównań wynika, że implementacje oparte na FPGA mają przewagę nad technologią ASIC pod względem kosztów i długości cyklu opracowania prototypu, możliwości wielokrotnego i szybkiego rekonfigurowania i możliwości eksperymentalnego testowania dużej liczby różnych architektur. Ponadto implementacje na układach FPGA zapewniają znacznie wyższy stopień zgodności i wiarygodności porównań. Są bowiem weryfikowane na podstawie dokładnych symulacji funkcjonalno-czasowych gotowych struktur i eksperymentalnego testowania prototypu. Założenia, porównywane parametry i zasady projektowania Ogólny model sprzętowej implementacji symetrycznych szyfrów blokowych jest pokazany w formie schematu blokowego na rys. 8. Według tego schematu zostały zrealizowane wszystkie szyfry z ostatniej rundy konkursu AES. Schemat ten składa się z następujących części: M modułu szyfrowania/deszyfrowania, w którym są kodowane i dekodowane bloki danych wejściowych, M bloku generacji kluczy pochodnych, w którym wyznacza się zbiór kluczy wewnętrznych na podstawie jednego klucza zewnętrznego, M pamięci kluczy wewnętrznych, w której są przechowywane klucze utworzone w bloku generacji kluczy lub dostarczone przez interfejs wejściowy z zewnątrz, Wybór technologii Algorytmy kryptograficzne mogą być realizowane zarówno w formie programu, jak i sprzętu. Implementacje programowe są projektowane i kodowane przy użyciu języków programowania, takich jak C, C ++, Java czy asembler, a następnie wykonywane w uniwersalnych mikroprocesorach, procesorach sygnałowych lub kartach inteligentnych. Implementacje sprzętowe są projektowane i specyfikowane za pomocą języków opisu sprzętu, takich jak VHDL i Verilog HDL i realizowane z wykorzystaniem jednej z dwóch technologii: specjalizowanych układów scalonych typu ASIC lub rekonfigurowalnych matryc logicznych FPGA. Do porównania i oceny wymienionych technologii pod względem ich przydatności do zastosowań kryptograficznych można posłużyć O Rys. 8. Schemat blokowy realizacji sprzętowej szyfrów blokowych 414 PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8 9/2003

7 M interfejsu wejściowego, służącego do wprowadzania danych wejściowych i kluczy oraz do buforowania danych wejściowych oczekujących na kodowanie/dekodowanie, M interfejsu wyjściowego, używanego do buforowania danych przetworzonych i przesyłania ich do zewnętrznej pamięci, M jednostki sterującej, w której są wytwarzane sygnały sterujące pracą pozostałych bloków. W celu ujednolicenia procedury projektowania implementacji szyfrów, przyjęto wstępnie następujące założenia: M długość klucza 128 bitów, co upraszcza porównywanie i analizę M generowanie kluczy pochodnych na zewnątrz, M długość bloku danych 128 bitów, M dzielenie zasobów funkcjonalnych pomiędzy część szyfrującą i deszyfrującą. Poniżej przedstawiono definicje parametrów używanych do porównywania szyfrów z punktu widzenia efektywności ich implementacji sprzętowych. Szybkość szyfrowania (deszyfrowania) jest określana jako liczba bitów zaszyfrowanych (zdeszyfrowanych) w jednostce czasu. Jednostką szybkości jest Mbit/s. Czas opóźnienia szyfrowania (deszyfrowania) (latency) jest zdefiniowany jako czas niezbędny do zaszyfrowania (zdeszyfrowania) jednego bloku danych jawnych lub zaszyfrowanych. Jeżeli w aplikacji podczas jednej sesji są szyfrowane/deszyfrowane duże porcje danych, to szybkość wyznacza całkowity czas wykonywania tych operacji i jest najlepszą miarą szybkości szyfru. Drugi ważny parametr to powierzchnia zajmowana przez układ, gdyż jest głównym czynnikiem określającym jego koszt. Przyjmuje się, że z grubsza koszt układu scalonego jest wprost proporcjonalny do jego powierzchni. Dla ścisłości należy jednak uwzględnić koszt obudowy, na który ma wpływ liczba wyprowadzeń. W pewnych aplikacjach mogą wystąpić ograniczenia maksymalnej dostępnej powierzchni do realizacji modułu kryptograficznego, wynikające z kosztów dostępnej technologii wytwarzania, zużywanej mocy lub kombinacji tych czynników, np. w inteligentnych kartach z mikrokontrolerem. W układach ASIC powierzchnia wymagana do implementacji jest zwykle wyrażana w µm 2, choć są też używane dwie miary względne: liczba tranzystorów i liczba bramek logicznych. Wartości tych trzech miar są ze sobą ściśle skorelowane, ale relacje te trudno określić. W implementacjach FPGA jedyną uznaną miarą wielkości układu jest liczba komórek logicznych. Struktura tworzenia projektu w środowisku CAD do implementacji algorytmów w układach FPGA jest pokazana na rys. 9. Wszystkie szyfry AES zostały w pierwszym kroku opisane w języku VHDL, a na- Tryby pracy Symetryczne szyfry blokowe są używane w kilku trybach operacyjnych, które z punktu widzenia implementacji sprzętowej można podzielić na dwie kategorie: M tryby bez sprzężenia zwrotnego, takie jak tryb elektronicznej książki kodowej (ECB) i tryb licznikowy, M tryby ze sprzężeniem zwrotnym, jak tryb wiązania bloków zaszyfrowanych (CBC), tryb sprzężenia zwrotnego szyfrogramu (CFB) i tryb sprzężenia zwrotnego wyjściowego (OFB). W trybach bez sprzężenia zwrotnego szyfrowanie każdego kolejnego bloku danych może być wykonane niezależnie od przetwarzania innych bloków. W trybach ze sprzężeniem zwrotnym nie jest możliwe rozpoczęcie szyfrowania następnego bloku danych przed zakończeniem kodowania bloku bieżącego i wszystkie bloki muszą być szyfrowane sekwencyjnie. To ograniczenie nie dotyczy operacji deszyfrowania, która może być wykonywana równolegle na kilku blokach szyfrogramu we wszystkich trybach. Zgodnie z obecnymi standardami bezpieczeństwa, szyfrowanie jest wykonywane przede wszystkim z użyciem trybów sprzężenia zwrotnego, jak CBC i CFB, zaś tryby bez sprzężenia zwrotnego są głównie stosowane do szyfrowania kluczy podczas ich dystrybucji. Te wymagania bezpieczeństwa uniemożliwiają wykorzystanie w pełni efektywności implementacji sprzętowych opartych na równoległym przetwarzaniu wielu bloków danych. Podstawowe architektury Wybierając architekturę dla implementacji szyfrów w strukturach FPGA, wystarczy ograniczyć się do dwóch typów: bazowej architektury iteracyjnej i architektury z rozwiniętą (częściowo lub w pełni) pętlą. Podstawową architekturę sprzętową stosowaną do implementacji jednostki szyfrującej/deszyfrującej typowego szyfru blokowego z tajnym kluczem pokazano na rys. 10a. Jedną rundę szyfru zrealizowano jako układ kombinacyjny, uzupełniony rejestrem i multiplekserem. W pierwszym cyklu zegara wejściowy blok danych jest podawany przez multiplekser i zapisywany w rejestrze. W każdym kolejnym cyklu zegara jest realizowana operacja jednej rundy szyfrowania, a jej rezultat podawany zwrotnie do układu przez multiplekser i zapisywany następnie w rejestrze. Architektura bazowa ma dwie cechy charakterystyczne: M w tym samym czasie jest kodowany tylko jeden blok danych, M liczba cykli zegara, koniecznych do zaszyfrowania jednego bloku danych, jest równa liczbie rund szyfru. Architektura z częściowo rozwiniętą pętlą jest przedstawiona na rys. 10b. Jedyna różnica w porównaniu z bazową architekturą iteracyjną polega na tym, że część kombinacyjna układu realizuje K rund szyfrowania zamiast jednej. Liczba K musi być podzielnikiem całkowitej liczby rund. Liczba cykli zegara koniecznych do zaszyfrowania jednego bloku danych jest K-krotnie mniejsza od liczby rund. Minimalny okres zegara wzrasta ze współczynnikiem nieco mniejszym niż K. O Rys. 9. Środowisko projektowe CAD stępnie zweryfikowane przy użyciu symulatora Active-HDL z firmy ALDEC. Do korekcji błędów i weryfikacji kodów źródłowych wykorzystano wektory testowe i pośrednie wyniki przetwarzania z opublikowanych wcześniej implementacji programowych. Przedstawione raporty zawierają powierzchnię, szybkość i inne dane o implementacji oraz zbiory danych do symulacji czasowej i do skonfigurowania układu. O Rys. 10. Podstawowe architektury szyfrów w trybach ze sprzężeniem zwrotnym: a) bazowa architektura iteracyjna, b) z częściowo rozwiniętą pętlą, c) z pętlą w pełni rozwiniętą PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8 9/

8 Architektura z rozwiniętą w pełni pętlą jest pokazana na rys. 10c. Schemat ten nie zawiera wejściowego multipleksera ani linii sprzężenia zwrotnego. Dzięki temu jest możliwy niewielki wzrost szybkości i zmniejszenie powierzchni układu w porównaniu z architekturą o częściowo rozwiniętej pętli zawierającej taką samą liczbę rund. Z przeglądu architektur wynika, że do implementacji szyfrów AES w układach FPGA optymalny wybór stanowi bazowa architektura iteracyjna. Zapewnia ona maksymalny współczynnik szybkość/powierzchnia dla trybów operacyjnych ze sprzężeniem zwrotnym (CBC, CFB), używanych powszechnie do szyfrowania masowych danych i gwarantuje szybkości i powierzchnie bliskie optymalnym. Wydaje się bardzo prawdopodobne, że architektura ta będzie powszechnie stosowana w większości aplikacji. Jest także względnie łatwa do implementacji w podobny sposób dla wszystkich szyfrów AES, dzięki czemu umożliwi bardziej miarodajne porównanie. PRODUKTY WIRTUALNE NOWA OFERTA NA RYNKU TELEKOMUNIKACJI Wraz z wprowadzeniem struktur reprogramowalnych pojawiły się jeszcze inne możliwości aplikacyjne. Wynikają one nie tylko z poprawy parametrów funkcjonalnych i czasowych oraz zmian w architekturze logicznej, ale również z samej istoty reprogramowalności. Jeden z kierunków takich aplikacji określa koncepcja produktu wirtualnego systemu, funkcji lub układu scalonego, które nie istnieją w rzeczywistości materialnej, ale potencjalnie mogą być w każdej chwili zrealizowane. Takie układy wirtualne to zarówno gotowe produkty o zmiennych funkcjach i właściwościach, jak również elastyczne klocki, z których można konstruować większe systemy. Powstał ogromny rynek wirtualnych produktów specjalizowanych, tzw. rynek własności intelektualnej IP (Intellectual Property Business) zawartej w układach zaprojektowanych w postaci kodów źródłowych języków HDL. Działalnością taką zajmują się m.in. firmy: ALTERA, XILINX INC., TILAB, CAST INC., insilicon CORPORA- TION, DIGITAL COMMUNICATION TECHNOLOGIES, IP SEMICON- DUCTORS, a w Polsce DIGITAL CORE DESIGN. Typową ofertą tych firm są właśnie układy DSP, a w szczególności: kodery FFT i DCT, układy kryptograficzne, komutatory i rutery ATM, dekodery Viterbiego dla sieci LAN, skramblery i deskramblery itp. Rynek produktów wirtualnych to jednocześnie ogromne wyzwanie dla zaawansowanych metod optymalizacji logicznej. Wynika to z faktu, że konkurencję na tym rynku będą wygrywać tylko najlepsze produkty. Do ich realizacji zostaną wykorzystane zaawansowane metody syntezy, niejednokrotnie występujące wyłącznie w specjalistycznym oprogramowaniu uniwersyteckim. Duża złożoność struktur FPGA, a także ich nietypowe konstrukcje (komórki), spowodowały wzrost roli i znaczenia zaawansowanych procedur syntezy logicznej. Wpływ zaawansowanych procedur syntezy logicznej na jakość implementacji sprzętowych układów przetwarzania informacji i sygnałów jest szczególnie znaczący w algorytmach wykorzystujących struktury tablicowe typu LUT. Struktury takie są powszechnie stosowane w filtrach cyfrowych, układach transformacji falkowej [31], w szczególności do realizacji wykorzystujących arytmetykę rozproszoną [26], a także w algorytmach kryptograficznych, korzystających z tzw. bloków permutacyjno-podstawieniowych. W Zakładzie Podstaw Telekomunikacji IT-PW opracowano specjalistyczne oprogramowanie do optymalizacji implementacji sprzętowych struktur typu LUT. Oprogramowanie to nazwane DEMAIN [21], [22], [27] jest dostępne nieodpłatnie na stronie internetowej Zakładu Podstaw Telekomunikacji IT-PW: W systemie DEMAIN, jako główną procedurę syntezy logicznej zorientowanej na struktury FPGA, wykorzystuje się tzw. algorytm dekompozycji zrównoważonej. Skuteczność tego oprogramowania można ocenić na podstawie eksperymentów przeprowadzonych z realizacjami układów cyfrowych wyposażonych w struktury specyfikowane tablicami LUT. Eksperymenty te polegały na implementacji typowych układów cyfrowych głównie z dziedziny teleinformatyki za pomocą różnych systemów projektowania, a następnie na porównaniu ich realizacji pod względem liczby użytych komórek odpowiedniej struktury FPGA. Wymowa przeprowadzonych eksperymentów jest znacząca, bowiem do projektowania użyto systemów renomowanych firm światowych, takich jak Altera, Synopsys, Exemplar i Xilinx. W szczególności zrealizowano i porównano następujące układy: M bin2bcd1 konwerter kodu binarnego na BCD dla liczb z zakresu od 0 do 99, M bin2bcd2 konwerter kodu binarnego na BCD dla liczb z zakresu od 0 do 355, M DESboxes zespół skrzynek podstawieniowych szyfru DES, M rd88 sbox z algorytmu kryptograficznego Rijndael, M DESaut kombinacyjną część układu sekwencyjnego z implementacji algorytmu kryptograficznego DES, M 5B6B kombinacyjną część układu kodera 5B-6B. W tabeli 1 przedstawiono wyniki porównania metody wykorzystującej dekompozycję zrównoważoną, zaimplementowaną w systemie DEMAIN, z metodami zaimplementowanymi w systemach: SIS, FPGA Express, Leonardo Spectrum i MAX+PlusII. Przykładowe układy zostały zaimplementowane w strukturach FPGA z rodziny O Tabela 1. Wyniki implementacji rzeczywistych układów przy użyciu różnych narzędzi syntezy logicznej Przykład DEMAIN MAX +Plus II Architektura FPGA EPF10K10LC84-3 FPGA Express Leonardo Spectrum SIS liczba komórek logicznych bin2bcd bin2bcd DESboxes rd DESaut B6B FLEX. W tabeli podano liczbę komórek logicznych wymaganych do implementacji poszczególnych układów. Z podanych rezultatów wynika, że realizacja za pomocą metody wykorzystującej dekompozycję zrównoważoną jest najoszczędniejsza pod względem liczby zajętych komórek i wygrywa nawet z realizacją osiągniętą za pomocą uniwersyteckiego systemu SIS [35], opracowanego na Uniwersytecie Kalifornijskim w Berkeley. W szczególności warto zwrócić uwagę na implementację konwertera kodu binarnego na kod BCD (wersja 1) oraz na implementacje skrzynek podstawieniowych (s-box) szyfrów DES i Rijndael. Jak widać, wspomaganie procesu projektowania zaawansowanymi procedurami syntezy logicznej prowadzi do rezultatów niemożliwych do uzyskania nawet za pomocą najlepszych systemów komercyjnych. Trzeba również podkreślić, że na jakość powyższych implementacji w systemach komercyjnych nie mają wpływu nawet najlepsze kompilatory języków HDL. Konwerter BIN2BCD1 jest typowym przykładem takiej sytuacji. Otóż konwerter ten można zaprojektować bądź to w strukturze zbudowanej z bloków funkcjonalnych według tzw. algorytmu +3 1), bądź też jako układ kombinacyjny realizujący bezpośrednio tablicę LUT konwertera. W obu przypadkach strukturę konwertera można zapisać w językach opisu sprzętu, np. AHDL lub VHDL. Opisując realizację według algorytmu +3 w języku VHDL i dokonując odpowiedniej kompilacji w systemie MAX+PLUS II amerykańskiej firmy Altera, uzyskuje się realizację układu BIN2BCD1 na 62 komórkach struktury FLEX 10K [23]. Ten sam układ opisany tablicą prawdy (w specyfikacji VHDL instrukcjami CASE) i skompilowany w tym samym systemie Altery zajmuje 131 komórek FLEX. Ale wprowadzając tablicę prawdy układu BIN2BCD1 do systemu DEMAIN i dokonując odpowiedniej dekompozycji, uzyskuje się realizację tego samego konwertera na zaledwie 13 komórkach struktury FLEX czyli 10 razy lepiej. Nie mniej intrygujące są wyniki implementacji skrzynek S-box algorytmów kryptograficznych DES i Rijndael. Istotne jest, że wykorzystanie tak zrealizowanych bloków permutacyjnych do budowy modułu rundy DES, a następnie modułu ścież- - 1) Dokładny opis takiej realizacji można znaleźć w książce [21] 416 PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8 9/2003

9 ki przepływu danych nie wymaga żadnych dalszych zmian w innych plikach składowych projektu. Implementacje ścieżki przepływu danych w strukturze rodziny FLEX10K program DEMAIN redukuje do 296 komórek logicznych. W porównaniu do 709 komórek niezbędnych do realizacji tego bloku bez zastosowania programu DEMAIN stanowi to ponad dwukrotną redukcję wymaganych zasobów. Optymalizacja z użyciem systemu DEMAIN poprawia także maksymalna częstotliwość taktowania modułu DES. Wzrosła ona o ponad 51,5 MHz. Ponieważ do zaszyfrowania jednego bloku danych tekstu jawnego potrzeba 16 cykli, szacunkowa szybkość szyfrowania P tego modułu wynosi: P = 51,5 MHz/16 64 bity = 206 Mbit/s. Oznacza to prawie dwukrotny wzrost szybkości szyfrowania bloku ścieżki przepływu danych. Podobnie jak w przypadku bloku rundy zrealizowanego bez wykorzystania dekompozycji, rzeczywista szybkość układu realizującego cały algorytm DES będzie zależała od sposobu realizacji pozostałych modułów tego algorytmu, a więc modułu sterowania i modułu generacji podkluczy. Tak zoptymalizowany blok rundy umożliwia realizację całej ścieżki rozpływu danych w sposób potokowy. Specyfikację takiej realizacji w języku AHDL podano w tabeli 2. Wykorzystano tu zmodyfikowany blok rundy (desroundp). Modyfikacja polega na dodaniu na wyjściu modułu odpowiedniego rejestru. Umieszczenie 16 bloków tak zmodyfikowanych bloków rundy w łańcuchu zapewnia znacznie efektywniejszą pracę układu, gdyż dane mogą być szyfrowane potokowo. Układ wymaga 4346 komórek logicznych i może pracować z szybkością P = 86,9 MHz 64 bity 5 Gbit/s. O dużej skuteczności systemu DEMAIN świadczy również realizacja szyfru HIEROCRYPT, wykonana w ramach pracy magisterskiej na Wydziale Cybernetyki WAT [34]. Efektem jego zastosowania była redukcja zasobów sprzętowych z ok. 22 tys. komórek logicznych do 10 tys., a także 5-krotne przyśpieszenie działania układu. Praca ta zdobyła I nagrodę w konkursie na najlepszą pracę magisterską, zorganizowanym w ramach konferencji ENIGMA. Przeprowadzone eksperymenty w pełni potwierdzają tezę, że komercyjne systemy projektowania układów cyfrowych niejednokrotnie realizują projekty dalekie od rozwiązań optymalnych pod względem zajętości zasobów sprzętowych. Sytuacja ta jest szczególnie niepokojąca dla najnowszych układów reprogramowalnych typu O Tabela 2. Specyfikacja rozpływu danych w języku AHDL OPTIONS BIT0 = MSB; INCLUDE "iniperm"; INCLUDE "desroundp"; INCLUDE "invperm"; SUBDESIGN datapathp( clk : INPUT; plaintext[1..64] : INPUT; subkey[1..16][1..48] : INPUT; encrypteddata[1..64] : OUTPUT; ) VARIABLE ip : iniperm; round[1..16] : desroundp; invp : invperm; BEGIN round[].clk = clk; ip.in[] = plaintext[]; round[1].r[] = ip.out[33..64]; round[1].l[] = ip.out[1..32]; round[1].k[] = subkey[1][]; FOR i IN 1 TO 15 GENERATE round[i+1].r[] = round[i].nextr[]; round[i+1].l[] = round[i].nextl[]; round[i+1].k[] = subkey[i+1][]; END GENERATE; invp.in[] = (round[16].nextr[],round[16].nextl[]); encrypteddata[] = invp.out[]; END; FPGA i FLEX. Przyczyna tego zjawiska tkwi w niedostosowaniu procedur syntezy logicznej, które w systemach komercyjnych są z reguły realizowane według klasycznych metod minimalizacji funkcji boolowskich i nie uwzględniają metod dekompozycji funkcjonalnej [22]. Zatem stosowanie zaawansowanych systemów uniwersyteckich niejednokrotnie może się przyczynić do sukcesu rynkowego, w szczególności specyficznej techniki układów FPLD. Omówione w artykule zastosowania układów reprogramowalnych w cyfrowym przetwarzaniu sygnałów i kryptografii, dzięki możliwości zmiany konfiguracji w trakcie pracy i elastycznemu wykorzystywaniu zasobów sprzętowych, zapewniają ich wykorzystanie do realizacji złożonych algorytmów obliczeniowych. W połączeniu z możliwościami wspierania procesów optymalizacji komercyjnych systemów zaawansowanymi systemami syntezy i optymalizacji logicznej stwarza to szansę dla rozwoju rodzimych opracowań urządzeń telekomunikacyjnych. Jest ona szczególnie widoczna w systemach multimedialnych i kryptograficznych, dla których istotniejsze są parametry techniczne, wynikające z istoty reprogramowania, niż jednostkowy koszt produkcji. LITERATURA [1] Arnold J. M.: The Splash 2 software environment. In D. A. Buell and K. L. Pocek, editors, Proceedings of IEEE Workshop on FPGAs for Custom Computing Machines, Napa, CA, April, 1993 [2] Arnold M., Buell D. A. and Davis E. G.: VHDL programming on Splash 2. In More FPGAs: Proceedings of the 1993 International Workshop on Field-Programmable Logic and Applications, Oxford, England, September 1993 [3] Arnold, D. A. Buell, and E. G: Davis. Splash 2. In Proceedings of the 4th Annual ACM Symposium on Parallel Algorithms and Architectures, June 1992 [4] Bertin P. and Touati H.: PAM programming environments: Practice and experience. In D. A. Buell and K. L. Pocek, editors, Proceedings of IEEE Workshop on FPGAs for Custom Computing Machines, Napa, CA, April 1994 [5] Connor T., Deng S., Marchant S.: Cryptographic Coprocesor with Algorithm Agility, Worcester Polytechnic Institute, Worcester, March 1999 [6] Elbirt A. J., Yip W., Chetwynd B., Paar C.: An FPGA implementation and performance evaluation of the AES block cipher candidate algorithm finalists, Proc. 3 rd Advanced Encryption Standard (AES) Candidate Conference, New York, April 13-14, 2000 [7] Gaj K., Chodowiec P.: Comparison of the hardware performance of the AES candidates using reconfigurable hardware, Proc. 3 rd Advanced Encryption Standard (AES) Candidate Conference, New York, April 13-14, 2000 [8] Gokhale M., Holmes W., Kopser A., Lucas S., Minnich R., Swelly D., and Lopresti D.: Building and using a highly parallel programmable logic array. IEEE Computer, 24 (1), January 1991 [9] Gokhale M., Kopser A., Lucas S. and Minnich R.: The logic description generator. Technical Report SRC-TR , Suprtcomputer Research Center (SRC), 1990 [10] Gokhale M. and Schott B.: Data Parallel C on a reconfigurable logic array. Journal of Supercomputing, 9 (3), 1994 [11] Guccione S. A., Delon L., Downs D.: A reconfigurable content addressable memory, Parallel and Distributed Processing. Springer- Verlag, Berlin, May 2000 [12] [13] [14] [15] [16] [17] [18] IEEE Computer Society, Proceedings of IEEE Workshop on FPGAs for Custom Computing Machines, [19] Jachna Z.: Analiza metod specyfikacji układów cyfrowych z punktu widzenia optymalizacji logicznej i odwzorowania technologicznego. Rozprawa doktorska, WAT, Warszawa 2002 [20] Jasiński K., Zbysiński P.: Rekonfigurowalny koprocesor systemowy: uniwersalna platforma obliczeniowa, Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, nr 10, 2000 [21] Łuba T., Zbierzchowski B.: Komputerowe projektowanie układów cyfrowych. Wydawnictwa Komunikacji i Łączności, Warszawa 2000 [22] Łuba T.: Synteza układów logicznych, Wyższa Szkoła Informatyki Stosowanej i Zarządzania, wyd. 2, poprawione i rozszerzone, Warszawa 2001 PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8 9/

10 [23] Łuba T., Zbierzchowski B., Zbysiński P.: Układy reprogramowalne dla potrzeb telekomunikacji cyfrowej. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, nr 5, 2002 [24] Łuba T. (red.), Rawski M., Tomaszewicz P., Zbierzchowski B.: Synteza układów cyfrowych. WKŁ Warszawa (przewidywany termin wydania listopad 2003) [25] Mosanya E. et al.: CryptoBooster: A Reconfigurable and Modular Cryptographic Coprocesor, Proceedings of the Workshop on Cryptographic Hardware and Embedded Systems, Worcester August 1999 [26] Meyer-Baese U.: Digital Signal Processing with Field Programmable Gate Arrays, Springer Verlag, Berlin 2001 [27] National Security Agency, Initial plans for estimating the hardware performance of AES submissions aes/round2/round2.htm [28] Nowicka M., Rawski M., Łuba T.: DEMAIN an Interactive Tool for FPGA-Based Logic Decomposition, Proceedings of the 6 th International Conference Mixed Design of Integrated Circuits and Systems, Kraków 1999 [29] IFAC Workshop on Programmable Devices and Systems (E. Hrynkiewicz chairman), PDS2001, materiały konferencyjne, Gliwice 2001 [30] Pasierbiński J., Zbysiński P.: Układy programowalne w praktyce, WKŁ, Warszawa 2001 [31] Rakowski W.: O implementacjach sprzętowych transformacji falkowej. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, nr 2 3, 2003 [32] Rawski M., Jóźwiak L., Łuba T.: Functional decomposition with an efficient input support selection for sub-functions based on information relationship measures. Journal of Systems Architecture, 47, Elsevier Science B. V., 2001 [33] Reprogramowalne układy cyfrowe (J. Sołdek przewodniczący Komitetu Programowego), materiały IV Konferencji Naukowej, Szczecin 2001 [34] Rogowski M.: Implementacja algorytmu HIEROCRYPT w strukturach programowalnych. Praca magisterska, WAT, 2003 [35] Sentovich E., et al.: SIS: A system for Sequential Circuits Synthesis. Electronics Research Laboratory Memorandum, No. VCB/ERLM92/41, University of California, Berkeley, 1992 [36] Tessier R., Burlesson W.: Reconfigurable Computing for Digital Signal Processing: A Survej. Journal of VLSI Signal Processing, 28, 2001 [37] Taylor R., Goldstein S.: A High-Perfomance Flexible Architecture for Cryptography, Proceedings of the Workshop on Cryptographic Hardware and Embedded Systems, Worcester August 1999 [38] Vuillemin Bertin P., Roncin D., Shand M., Touati H., and Boucard P.: Programmable active memories: Reconfigurable systems come of age. IEEE Transactions on VLSI Systems, 4 (1), 1996 [39] Wiatr K.: Sprzętowe implementacje algorytmów przetwarzania obrazów w systemach wizyjnych czasu rzeczywistego. AGH, Kraków 2002 [40] Zbysiński P.: Rekonfigurowalne układy FPSLIC firmy Atmel, Elektronizacja nr PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8 9/2003

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS inż. Michał HALEŃSKI Wojskowy Instytut Techniczny Uzbrojenia ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH Streszczenie: W artykule przedstawiono budowę oraz zasadę działania układów FPGA oraz

Bardziej szczegółowo

Bezpieczeństwo kart elektronicznych

Bezpieczeństwo kart elektronicznych Bezpieczeństwo kart elektronicznych Krzysztof Maćkowiak Karty elektroniczne wprowadzane od drugiej połowy lat 70-tych znalazły szerokie zastosowanie w wielu dziedzinach naszego życia: bankowości, telekomunikacji,

Bardziej szczegółowo

Elektronika i techniki mikroprocesorowe

Elektronika i techniki mikroprocesorowe Elektronika i techniki mikroprocesorowe Technika cyfrowa ZłoŜone one układy cyfrowe Katedra Energoelektroniki, Napędu Elektrycznego i Robotyki Wydział Elektryczny, ul. Krzywoustego 2 PLAN WYKŁADU idea

Bardziej szczegółowo

Temat: Pamięci. Programowalne struktury logiczne.

Temat: Pamięci. Programowalne struktury logiczne. Temat: Pamięci. Programowalne struktury logiczne. 1. Pamięci są układami służącymi do przechowywania informacji w postaci ciągu słów bitowych. Wykonuje się jako układy o bardzo dużym stopniu scalenia w

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Jednostki obliczeniowe w zastosowaniach mechatronicznych Kierunek: Mechatronika Rodzaj przedmiotu: dla specjalności Systemy Sterowania Rodzaj zajęć: Wykład, laboratorium Computational

Bardziej szczegółowo

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych (Na przykładzie projektowania układów sterujacych) Grzegorz Łabiak i Marek Węgrzyn Instytut Informatyki

Bardziej szczegółowo

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall Grzegorz Sułkowski, Maciej Twardy, Kazimierz Wiatr Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall Plan prezentacji 1. Architektura Firewall a załoŝenia 2. Punktu

Bardziej szczegółowo

Szerokopasmowy dostęp do Internetu Broadband Internet Access. dr inż. Stanisław Wszelak

Szerokopasmowy dostęp do Internetu Broadband Internet Access. dr inż. Stanisław Wszelak Szerokopasmowy dostęp do Internetu Broadband Internet Access dr inż. Stanisław Wszelak Rodzaje dostępu szerokopasmowego Technologia xdsl Technologie łączami kablowymi Kablówka Technologia poprzez siec

Bardziej szczegółowo

Systemy wbudowane. Paweł Pełczyński ppelczynski@swspiz.pl

Systemy wbudowane. Paweł Pełczyński ppelczynski@swspiz.pl Systemy wbudowane Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie definicja, zastosowania, projektowanie systemów wbudowanych Mikrokontrolery AVR Programowanie mikrokontrolerów

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Układy kombinacyjne

Wstęp do Techniki Cyfrowej... Układy kombinacyjne Wstęp do Techniki Cyfrowej... Układy kombinacyjne Przypomnienie Stan wejść układu kombinacyjnego jednoznacznie określa stan wyjść. Poszczególne wyjścia określane są przez funkcje boolowskie zmiennych wejściowych.

Bardziej szczegółowo

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW: ELEKTRONIKA i TELEKOMUNIKACJA STUDIA PIERWSZEGO STOPNIA PROFIL OGÓLNOAKADEMICKI

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW: ELEKTRONIKA i TELEKOMUNIKACJA STUDIA PIERWSZEGO STOPNIA PROFIL OGÓLNOAKADEMICKI EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW: ELEKTRONIKA i TELEKOMUNIKACJA STUDIA PIERWSZEGO STOPNIA PROFIL OGÓLNOAKADEMICKI Umiejscowienie kierunku w obszarze kształcenia Kierunek studiów elektronika i telekomunikacja

Bardziej szczegółowo

Układy programowalne. Wykład z ptc część 5

Układy programowalne. Wykład z ptc część 5 Układy programowalne Wykład z ptc część 5 Pamięci ROM Pamięci stałe typu ROM (Read only memory) umożliwiają jedynie odczytanie informacji zawartej w strukturze pamięci. Działanie: Y= X j *cs gdzie j=linia(a).

Bardziej szczegółowo

Wielokontekstowy sterownik programowalny przyszłości wykorzystujący układy programowalne psoc

Wielokontekstowy sterownik programowalny przyszłości wykorzystujący układy programowalne psoc Wielokontekstowy sterownik programowalny przyszłości wykorzystujący układy programowalne psoc Dariusz Kania* Celem artykułu jest przedstawienie koncepcji działania wielokontekstowego sterownika przemysłowego

Bardziej szczegółowo

Sprawdzian test egzaminacyjny 2 GRUPA I

Sprawdzian test egzaminacyjny 2 GRUPA I ... nazwisko i imię ucznia Sprawdzian test egzaminacyjny 2 GRUPA I 1. Na rys. 1 procesor oznaczony jest numerem A. 2 B. 3 C. 5 D. 8 2. Na rys. 1 karta rozszerzeń oznaczona jest numerem A. 1 B. 4 C. 6 D.

Bardziej szczegółowo

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013

Bardziej szczegółowo

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM Spis treści 1. Wstęp... 9 2. Ćwiczenia laboratoryjne... 12 2.1. Środowisko projektowania Quartus II dla układów FPGA Altera... 12 2.1.1. Cel ćwiczenia... 12 2.1.2. Wprowadzenie... 12 2.1.3. Przebieg ćwiczenia...

Bardziej szczegółowo

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura systemów komputerowych. dr Artur Bartoszewski Architektura systemów komputerowych dr Artur Bartoszewski Rozwój płyt głównych - część 2 Magistrale kart rozszerzeń Rozwój magistral komputera PC Płyta główna Czas życia poszczególnych magistral Pentium

Bardziej szczegółowo

Systemy wbudowane. Układy programowalne

Systemy wbudowane. Układy programowalne Systemy wbudowane Układy programowalne Układy ASIC Application Specific Integrated Circuits Podstawowy rozdział cyfrowych układów scalonych: Wielkie standardy: standardowe, uniwersalne elementy o strukturze

Bardziej szczegółowo

Systemy uruchomieniowe

Systemy uruchomieniowe Systemy uruchomieniowe Przemysław ZAKRZEWSKI Systemy uruchomieniowe (1) 1 Środki wspomagające uruchamianie systemów mikroprocesorowych Symulator mikroprocesora Analizator stanów logicznych Systemy uruchomieniowe:

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

JĘZYKI PROGRAMOWANIA STEROWNIKÓW JĘZYKI PROGRAMOWANIA STEROWNIKÓW dr inż. Wiesław Madej Wstęp Języki programowania sterowników 15 h wykład 15 h dwiczenia Konsultacje: - pokój 325A - środa 11 14 - piątek 11-14 Literatura Tadeusz Legierski,

Bardziej szczegółowo

Projektowanie układów FPGA. Żródło*6+.

Projektowanie układów FPGA. Żródło*6+. Projektowanie układów FPGA Żródło*6+. Programowalne układy logiczne W elektronice cyfrowej funkcjonują dwa trendy rozwoju: Specjalizowane układy scalone ASIC (ang. Application Specific Integrated Circuits)

Bardziej szczegółowo

Systemy i Sieci Radiowe

Systemy i Sieci Radiowe Systemy i Sieci Radiowe Wykład 3 Media transmisyjne część 1 Program wykładu transmisja światłowodowa transmisja za pomocą kabli telekomunikacyjnych (DSL) transmisja przez sieć energetyczną transmisja radiowa

Bardziej szczegółowo

DSL (od ang. Digital Subscriber Line)

DSL (od ang. Digital Subscriber Line) MODEMY xdsl DSL (od ang. Digital Subscriber Line) cyfrowa linia abonencka, popularna technologia szerokopasmowego dostępu do internetu. Często określa się ją jako xdsl. Wynalazcą modemów DSL był Joseph

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów PCI EXPRESS Rozwój technologii magistrali Architektura Komputerów 2 Architektura Komputerów 2006 1 Przegląd wersji PCI Wersja PCI PCI 2.0 PCI 2.1/2.2 PCI 2.3 PCI-X 1.0 PCI-X 2.0

Bardziej szczegółowo

Urządzenia techniki komputerowej. Cyfrowe układy funkcjonalne

Urządzenia techniki komputerowej. Cyfrowe układy funkcjonalne Urządzenia techniki komputerowej Cyfrowe układy funkcjonalne Technika cyfrowa jest w dzisiejszych czasach obszarem wiedzy o całkowicie interdyscyplinarnym obliczu. Jej zagadnienia kształtowane z jednej

Bardziej szczegółowo

PLAN KONSPEKT. do przeprowadzenia zajęć z przedmiotu. Wprowadzenie do projektowania sieci LAN

PLAN KONSPEKT. do przeprowadzenia zajęć z przedmiotu. Wprowadzenie do projektowania sieci LAN PLAN KONSPEKT do przeprowadzenia zajęć z przedmiotu Wprowadzenie do projektowania sieci LAN TEMAT: Wprowadzenie do projektowania sieci LAN CEL: Zapoznanie uczniów z podstawami zasadami projektowania sieci

Bardziej szczegółowo

2013-12-02. Autor: Jakub Duba. Interjesy

2013-12-02. Autor: Jakub Duba. Interjesy Autor: Jakub Duba Interjesy 2 1 Interjesy 3 Interjesy 4 2 5 Universal Serial Bus (USB; uniwersalna magistrala szeregowa) rodzaj sprzętowego portu komunikacyjnego komputerów, zastępującego stare porty szeregowe

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń

Bardziej szczegółowo

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki. Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów

Bardziej szczegółowo

Platforma Integracji Komunikacji

Platforma Integracji Komunikacji Platforma Integracji Komunikacji ogólnopolska łączność służbowa łączenie różnorodności RadioEXPO, 8 październik 2014 GRUPA WB 140 000 120 000 100 000 80 000 60 000 40 000 20 000 0 kapitał własny (K Eur)

Bardziej szczegółowo

Bezpieczeństwo informacji oparte o kryptografię kwantową

Bezpieczeństwo informacji oparte o kryptografię kwantową WYŻSZA SZKOŁA BIZNESU W DĄBROWIE GÓRNICZEJ WYDZIAŁ ZARZĄDZANIA INFORMATYKI I NAUK SPOŁECZNYCH Instrukcja do laboratorium z przedmiotu: Bezpieczeństwo informacji oparte o kryptografię kwantową Instrukcja

Bardziej szczegółowo

USŁUGI DODATKOWE W SIECIACH BEZPRZEWODOWYCH VoIP oraz multimedia w sieciach WiFi problemy

USŁUGI DODATKOWE W SIECIACH BEZPRZEWODOWYCH VoIP oraz multimedia w sieciach WiFi problemy Seminarium poświęcone sieci bezprzewodowej w Politechnice Krakowskiej - projekt Eduroam USŁUGI DODATKOWE W SIECIACH BEZPRZEWODOWYCH VoIP oraz multimedia w sieciach WiFi problemy Wprowadzenie Problematyka

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Struktury

Bardziej szczegółowo

PLAN KONSPEKT. Bezprzewodowe sieci dostępowe. Konfigurowanie urządzeń w bezprzewodowych szerokopasmowych sieciach dostępowych

PLAN KONSPEKT. Bezprzewodowe sieci dostępowe. Konfigurowanie urządzeń w bezprzewodowych szerokopasmowych sieciach dostępowych PLAN KONSPEKT do przeprowadzenia zajęć z przedmiotu Bezprzewodowe sieci dostępowe TEMAT: Konfigurowanie urządzeń w bezprzewodowych szerokopasmowych sieciach dostępowych CEL: Zapoznanie uczniów z podstawami

Bardziej szczegółowo

Efekty kształcenia na kierunku AiR drugiego stopnia - Wiedza Wydziału Elektrotechniki, Automatyki i Informatyki Politechniki Opolskiej

Efekty kształcenia na kierunku AiR drugiego stopnia - Wiedza Wydziału Elektrotechniki, Automatyki i Informatyki Politechniki Opolskiej Efekty na kierunku AiR drugiego stopnia - Wiedza K_W01 K_W02 K_W03 K_W04 K_W05 K_W06 K_W07 K_W08 K_W09 K_W10 K_W11 K_W12 K_W13 K_W14 Ma rozszerzoną wiedzę dotyczącą dynamicznych modeli dyskretnych stosowanych

Bardziej szczegółowo

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie

Bardziej szczegółowo

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie Laboratorium Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie programowalnym FPGA. 1. Zasada działania algorytmów Algorytm Vernam a wykorzystuje funkcję

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Inteligentny czujnik w strukturze sieci rozległej

Inteligentny czujnik w strukturze sieci rozległej Inteligentny czujnik w strukturze sieci rozległej Tadeusz Pietraszek Zakopane, 13 czerwca 2002 Plan prezentacji Problematyka pomiarów stężenia gazów w obiektach Koncepcja realizacji rozproszonego systemu

Bardziej szczegółowo

Projektowanie zabezpieczeń Centrów Danych oraz innych systemów informatycznych o podwyższonych wymaganiach bezpieczeństwa

Projektowanie zabezpieczeń Centrów Danych oraz innych systemów informatycznych o podwyższonych wymaganiach bezpieczeństwa Projektowanie zabezpieczeń Centrów Danych oraz innych systemów informatycznych o podwyższonych wymaganiach bezpieczeństwa dr inż. Mariusz Stawowski mariusz.stawowski@clico.pl Agenda Wprowadzenie Specyficzne

Bardziej szczegółowo

Łącza WAN. Piotr Steć. 28 listopada 2002 roku. P.Stec@issi.uz.zgora.pl. Rodzaje Łącz Linie Telefoniczne DSL Modemy kablowe Łącza Satelitarne

Łącza WAN. Piotr Steć. 28 listopada 2002 roku. P.Stec@issi.uz.zgora.pl. Rodzaje Łącz Linie Telefoniczne DSL Modemy kablowe Łącza Satelitarne Łącza WAN Piotr Steć P.Stec@issi.uz.zgora.pl 28 listopada 2002 roku Strona 1 z 18 1. Nośniki transmisyjne pozwalające łączyć sieci lokalne na większe odległości: Linie telefoniczne Sieci światłowodowe

Bardziej szczegółowo

Zakład Techniki Cyfrowej. Tematy prac dyplomowych na rok akademicki 2011-2012

Zakład Techniki Cyfrowej. Tematy prac dyplomowych na rok akademicki 2011-2012 Tematy prac dyplomowych na rok akademicki 2011-2012 Temat: Badanie właściwości pamięci hierarchicznych w systemach mikroprocesorowych Promotor: prof. dr hab. inż. Ryszard Pełka e-mail: rpelka@wel.wat.edu.pl,

Bardziej szczegółowo

Księgarnia PWN: Mark McGregor Akademia sieci cisco. Semestr szósty

Księgarnia PWN: Mark McGregor Akademia sieci cisco. Semestr szósty Księgarnia PWN: Mark McGregor Akademia sieci cisco. Semestr szósty Wprowadzenie 13 Rozdział 1. Zdalny dostęp 17 Wprowadzenie 17 Typy połączeń WAN 19 Transmisja asynchroniczna kontra transmisja synchroniczna

Bardziej szczegółowo

Chipset i magistrala Chipset Mostek północny (ang. Northbridge) Mostek południowy (ang. Southbridge) -

Chipset i magistrala Chipset Mostek północny (ang. Northbridge) Mostek południowy (ang. Southbridge) - Chipset i magistrala Chipset - Układ ten organizuje przepływ informacji pomiędzy poszczególnymi podzespołami jednostki centralnej. Idea chipsetu narodziła się jako potrzeba zintegrowania w jednym układzie

Bardziej szczegółowo

Warstwy i funkcje modelu ISO/OSI

Warstwy i funkcje modelu ISO/OSI Warstwy i funkcje modelu ISO/OSI Organizacja ISO opracowała Model Referencyjny Połączonych Systemów Otwartych (model OSI RM - Open System Interconection Reference Model) w celu ułatwienia realizacji otwartych

Bardziej szczegółowo

Sieci komputerowe. Jerzy Skurczyński Instytut Matematyki Uniwersytetu Gdańskiego Gdańsk, 2002 r.

Sieci komputerowe. Jerzy Skurczyński Instytut Matematyki Uniwersytetu Gdańskiego Gdańsk, 2002 r. Sieci komputerowe Jerzy Skurczyński Instytut Matematyki Uniwersytetu Gdańskiego Gdańsk, 2002 r. 1 Literatura: 1. M.J. Bach, Budowa systemu operacyjnego UNIX, WNT, 1995. 2. Ch. Brenton, Projektowanie sieci

Bardziej szczegółowo

Urządzenia zewnętrzne

Urządzenia zewnętrzne Urządzenia zewnętrzne SZYNA ADRESOWA SZYNA DANYCH SZYNA STEROWANIA ZEGAR PROCESOR PAMIĘC UKŁADY WE/WY Centralna jednostka przetw arzająca (CPU) DANE PROGRAMY WYNIKI... URZ. ZEWN. MO NITORY, DRUKARKI, CZYTNIKI,...

Bardziej szczegółowo

INFORMATYKA Pytania ogólne na egzamin dyplomowy

INFORMATYKA Pytania ogólne na egzamin dyplomowy INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja

Bardziej szczegółowo

Telekomunikacyjne Sieci

Telekomunikacyjne Sieci Telekomunikacyjne Sieci Szerokopasmowe Dr inż. Jacek Oko Wydział Elektroniki Instytut Telekomunikacji, Teleinformatyki i Akustyki Katedra Radiokomunikacji i Teleinformatyki Pracownia Sieci Telekomunikacyjnych

Bardziej szczegółowo

ZiMSK. Konsola, TELNET, SSH 1

ZiMSK. Konsola, TELNET, SSH 1 ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl Konsola, TELNET, SSH 1 Wykład

Bardziej szczegółowo

8. MAGISTRALE I GNIAZDA ROZSZERZEŃ. INTERFEJSY ZEWNĘTRZNE.

8. MAGISTRALE I GNIAZDA ROZSZERZEŃ. INTERFEJSY ZEWNĘTRZNE. 8. MAGISTRALE I GNIAZDA ROZSZERZEŃ. INTERFEJSY ZEWNĘTRZNE. Magistrala (ang. bus) jest ścieżką łączącą ze sobą różne komponenty w celu wymiany informacji/danych pomiędzy nimi. Inaczej mówiąc jest to zespół

Bardziej szczegółowo

Zaawansowane technologie w nowoczesnych układach sterowania

Zaawansowane technologie w nowoczesnych układach sterowania Zaawansowane technologie w nowoczesnych układach sterowania Leszek A. Szałek Cito Systems, Inc. 3940 Freedom Circle, Santa Clara, CA 95054, USA leszeks@citosys.com 1. Wstęp Postępujący rozwój technologii

Bardziej szczegółowo

Sieci Komórkowe naziemne. Tomasz Kaszuba 2013 kaszubat@pjwstk.edu.pl

Sieci Komórkowe naziemne. Tomasz Kaszuba 2013 kaszubat@pjwstk.edu.pl Sieci Komórkowe naziemne Tomasz Kaszuba 2013 kaszubat@pjwstk.edu.pl Założenia systemu GSM Usługi: Połączenia głosowe, transmisja danych, wiadomości tekstowe I multimedialne Ponowne użycie częstotliwości

Bardziej szczegółowo

Obecna definicja sieci szerokopasmowych dotyczy transmisji cyfrowej o szybkości powyżej 2,048 Mb/s (E1) stosowanej w sieciach rozległych.

Obecna definicja sieci szerokopasmowych dotyczy transmisji cyfrowej o szybkości powyżej 2,048 Mb/s (E1) stosowanej w sieciach rozległych. SYSTEMY SZEROKOPASMOWE 1 Obecna definicja sieci szerokopasmowych dotyczy transmisji cyfrowej o szybkości powyżej 2,048 Mb/s (E1) stosowanej w sieciach rozległych. ATM Frame Relay Fast 10 Gigabit X.25 FDDI

Bardziej szczegółowo

Projektowanie Infrastruktury Sieciowej v2 2012/09/01

Projektowanie Infrastruktury Sieciowej v2 2012/09/01 Projektowanie Infrastruktury Sieciowej v2 2012/09/01 www.netcontractor.pl Wstęp Era nowych technologii umożliwiła praktycznie nieograniczone możliwości komunikacji niezależenie od miejsca i czasu. Dziś

Bardziej szczegółowo

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4 Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,

Bardziej szczegółowo

Virtual Grid Resource Management System with Virtualization Technology

Virtual Grid Resource Management System with Virtualization Technology Virtual Grid Resource Management System with Virtualization Technology System zarządzania zasobami wirtualnego Gridu z wykorzystaniem technik wirtualizacji Joanna Kosińska Jacek Kosiński Krzysztof Zieliński

Bardziej szczegółowo

Pamięci masowe. ATA (Advanced Technology Attachments)

Pamięci masowe. ATA (Advanced Technology Attachments) Pamięci masowe ATA (Advanced Technology Attachments) interfejs systemowy w komputerach klasy PC i Amiga przeznaczony do komunikacji z dyskami twardymi zaproponowany w 1983 przez firmę Compaq. Używa się

Bardziej szczegółowo

SERWERY KOMUNIKACYJNE ALCATEL-LUCENT

SERWERY KOMUNIKACYJNE ALCATEL-LUCENT SERWERY KOMUNIKACYJNE ALCATEL-LUCENT OmniPCX Enterprise Serwer komunikacyjny Alcatel-Lucent OmniPCX Enterprise Communication Server (CS) to serwer komunikacyjny dostępny w formie oprogramowania na różne

Bardziej szczegółowo

Płyty główne rodzaje. 1. Płyta główna w formacie AT

Płyty główne rodzaje. 1. Płyta główna w formacie AT Płyty główne rodzaje 1. Płyta główna w formacie AT Jest formatem płyty głównej typu serwerowego będącej następstwem płyty XT o 8-bitowej architekturze. Została stworzona w celu obsługi 16-bitowej architektury

Bardziej szczegółowo

Zastosowania PKI dla wirtualnych sieci prywatnych

Zastosowania PKI dla wirtualnych sieci prywatnych Zastosowania PKI dla wirtualnych sieci prywatnych Andrzej Chrząszcz NASK Agenda Wstęp Sieci Wirtualne i IPSEC IPSEC i mechanizmy bezpieczeństwa Jak wybrać właściwą strategię? PKI dla VPN Co oferują dostawcy

Bardziej szczegółowo

SpeakUp click, czyli jak bezstresowo dogadać się z lampką?

SpeakUp click, czyli jak bezstresowo dogadać się z lampką? 1 SpeakUp click, czyli jak bezstresowo dogadać się z lampką?, mgr inż. Paweł Sióda SpeakUp click, czyli jak bezstresowo dogadać się z lampką? W ostatnich latach wszyscy obserwujemy ultraszybki rozwój elektroniki

Bardziej szczegółowo

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ WYMAGANIA BEZPIECZEŃSTWA DLA SYSTEMÓW IT Wyciąg z Polityki Bezpieczeństwa Informacji dotyczący wymagań dla systemów informatycznych. 1 Załącznik Nr 3 do Część II SIWZ Wymagania

Bardziej szczegółowo

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność obliczeń a architektura procesorów Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność komputerów Modele wydajności-> szacowanie czasu wykonania zadania Wydajność szybkość realizacji wyznaczonych

Bardziej szczegółowo

KIERUNKOWE EFEKTY KSZTAŁCENIA

KIERUNKOWE EFEKTY KSZTAŁCENIA WYDZIAŁ INFORMATYKI I ZARZĄDZANIA Kierunek studiów: INFORMATYKA Stopień studiów: STUDIA II STOPNIA Obszar Wiedzy/Kształcenia: OBSZAR NAUK TECHNICZNYCH Obszar nauki: DZIEDZINA NAUK TECHNICZNYCH Dyscyplina

Bardziej szczegółowo

Protokoły zdalnego logowania Telnet i SSH

Protokoły zdalnego logowania Telnet i SSH Protokoły zdalnego logowania Telnet i SSH Krzysztof Maćkowiak Wprowadzenie Wykorzystując Internet mamy możliwość uzyskania dostępu do komputera w odległej sieci z wykorzystaniem swojego komputera, który

Bardziej szczegółowo

1. Wprowadzenie...9. 2. Środowisko multimedialnych sieci IP... 11. 3. Schemat H.323... 19

1. Wprowadzenie...9. 2. Środowisko multimedialnych sieci IP... 11. 3. Schemat H.323... 19 Spis treści 3 1. Wprowadzenie...9 2. Środowisko multimedialnych sieci IP... 11 2.1. Model odniesienia... 11 2.2. Ewolucja technologii sieciowych...12 2.3. Specyfika ruchowa systemów medialnych...13 2.4.

Bardziej szczegółowo

ZL19PRG. Programator USB dla układów PLD firmy Altera

ZL19PRG. Programator USB dla układów PLD firmy Altera ZL19PRG Programator USB dla układów PLD firmy Altera Nowoczesny programator i konfigurator układów PLD produkowanych przez firmę Altera, w pełni zgodny ze standardem USB Blaster, dzięki czemu współpracuje

Bardziej szczegółowo

w sieciach szerokopasmowych CATV i ISP - Model OSI

w sieciach szerokopasmowych CATV i ISP - Model OSI Technologie VoIP wykorzystywane w sieciach szerokopasmowych CATV i ISP - Model OSI mgr inż. Zbigniew Papuga Stowarzyszenie Elektryków Polskich W celu ujednolicenia struktury oprogramowania sieci komputerowych

Bardziej szczegółowo

Systemy GIS Systemy baz danych

Systemy GIS Systemy baz danych Systemy GIS Systemy baz danych Wykład nr 5 System baz danych Skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki Użytkownik ma do dyspozycji narzędzia do wykonywania różnych

Bardziej szczegółowo

Transceiver do szybkiej komunikacji szeregowej i pętla fazowa do ogólnych zastosowań

Transceiver do szybkiej komunikacji szeregowej i pętla fazowa do ogólnych zastosowań Transceiver do szybkiej komunikacji szeregowej i pętla fazowa do ogólnych zastosowań Mirosław Firlej Opiekun: dr hab. inż. Marek Idzik Faculty of Physics and Applied Computer Science AGH University of

Bardziej szczegółowo

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych

Bardziej szczegółowo

Kurs Podstawowy S7. Spis treści. Dzień 1

Kurs Podstawowy S7. Spis treści. Dzień 1 Spis treści Dzień 1 I System SIMATIC S7 - wprowadzenie (wersja 1401) I-3 Rodzina sterowników programowalnych SIMATIC S7 firmy SIEMENS I-4 Dostępne moduły i ich funkcje I-5 Jednostki centralne I-6 Podstawowe

Bardziej szczegółowo

Pytania i odpowiedzi

Pytania i odpowiedzi Pytania i odpowiedzi Pytanie: Proszę o doprecyzowanie wymagania odnośnie wymaganych procesorów w serwerach dostępowym i zarządzającym. Zaproponowany w SIWZ procesor e3-1286l v3 obsługuje max 32GB ram i

Bardziej szczegółowo

Sterowniki programowalne Programmable Controllers. Energetyka I stopień Ogólnoakademicki. przedmiot kierunkowy

Sterowniki programowalne Programmable Controllers. Energetyka I stopień Ogólnoakademicki. przedmiot kierunkowy Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Sterowniki programowalne Programmable Controllers

Bardziej szczegółowo

PRZYKŁADOWE PYTANIA NA PRÓBNY EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE ZAWODOWE

PRZYKŁADOWE PYTANIA NA PRÓBNY EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE ZAWODOWE PRZYKŁADOWE PYTANIA NA PRÓBNY EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE ZAWODOWE Zawód: technik informatyk symbol cyfrowy: 312[01] opracował: mgr inż. Paweł Lalicki 1. Jaką kartę przedstawia poniższy rysunek?

Bardziej szczegółowo

2013-04-25. Czujniki obiektowe Sterowniki przemysłowe

2013-04-25. Czujniki obiektowe Sterowniki przemysłowe Ogólne informacje o systemach komputerowych stosowanych w sterowaniu ruchem funkcje, właściwości Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i transportowej

Bardziej szczegółowo

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna 1. Wstęp Wprowadzenie do PKI Infrastruktura klucza publicznego (ang. PKI - Public Key Infrastructure) to termin dzisiaj powszechnie spotykany. Pod tym pojęciem kryje się standard X.509 opracowany przez

Bardziej szczegółowo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Na podstawie: Albert Lozano-Nieto: RFID Design Fundamentals and Applications, CRC Press, Taylor & Francis Group, London New York, 2011 RFID RadioFrequency

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Siemens Simatic S7-300 Informacje podstawowe o sterowniku programowalnym

Siemens Simatic S7-300 Informacje podstawowe o sterowniku programowalnym Siemens Simatic S7-300 Informacje podstawowe o sterowniku programowalnym Zakład Napędu Elektrycznego ISEP PW Wstęp Sterowniki swobodnie programowalne S7-300 należą do sterowników średniej wielkości. Są

Bardziej szczegółowo

Bandwidth on Demand - wyzwania i ograniczenia. Tomasz Szewczyk tomeks@man.poznan.pl

Bandwidth on Demand - wyzwania i ograniczenia. Tomasz Szewczyk tomeks@man.poznan.pl Bandwidth on Demand - wyzwania i ograniczenia Tomasz Szewczyk tomeks@man.poznan.pl 1 O PCSS Jednostka afiliowana przy Instytucie Chemii Bioorganicznej PAN Dział sieci Dział usług sieciowych Dział komputerów

Bardziej szczegółowo

Dwa lub więcej komputerów połączonych ze sobą z określonymi zasadami komunikacji (protokołem komunikacyjnym).

Dwa lub więcej komputerów połączonych ze sobą z określonymi zasadami komunikacji (protokołem komunikacyjnym). Sieci komputerowe Dwa lub więcej komputerów połączonych ze sobą z określonymi zasadami komunikacji (protokołem komunikacyjnym). Zadania sieci - wspólne korzystanie z plików i programów - współdzielenie

Bardziej szczegółowo

Wykład 2. Mikrokontrolery z rdzeniami ARM

Wykład 2. Mikrokontrolery z rdzeniami ARM Wykład 2 Źródło problemu 2 Wstęp Architektura ARM (Advanced RISC Machine, pierwotnie Acorn RISC Machine) jest 32-bitową architekturą (modelem programowym) procesorów typu RISC. Różne wersje procesorów

Bardziej szczegółowo

Biometryczna Identyfikacja Tożsamości

Biometryczna Identyfikacja Tożsamości c Adam Czajka IAiIS PW 27 maja 2014 1/37 Adam Czajka Wykład na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej Semestr letni 2014 c Adam Czajka IAiIS PW 27 maja 2014 2/37 Budowa

Bardziej szczegółowo

ZAŁĄCZNIK NR 1.8 do PFU Serwery wraz z system do tworzenia kopii zapasowych i archiwizacji danych - wyposażenie serwerowni

ZAŁĄCZNIK NR 1.8 do PFU Serwery wraz z system do tworzenia kopii zapasowych i archiwizacji danych - wyposażenie serwerowni ZAŁĄCZNIK NR 1.8 do PFU Serwery wraz z system do tworzenia kopii zapasowych i archiwizacji danych - wyposażenie serwerowni 1. Serwer główny 1 szt. Komponent Obudowa Płyta główna Wydajność Pamięć RAM Karta

Bardziej szczegółowo

NX700 PLC www.atcontrol.pl

NX700 PLC www.atcontrol.pl NX700 PLC NX700 Podstawowe cechy Rozszerzalność, niezawodność i łatwość w integracji Szybki procesor - zastosowanie technologii ASIC pozwala wykonywać CPU proste instrukcje z prędkością 0,2 us/1 krok Modyfikacja

Bardziej szczegółowo

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami Struktury sieciowe Struktury sieciowe Podstawy Topologia Typy sieci Komunikacja Protokoły komunikacyjne Podstawy Topologia Typy sieci Komunikacja Protokoły komunikacyjne 15.1 15.2 System rozproszony Motywacja

Bardziej szczegółowo

Tematy prac dyplomowych w Katedrze Awioniki i Sterowania. Studia: I stopnia (inżynierskie)

Tematy prac dyplomowych w Katedrze Awioniki i Sterowania. Studia: I stopnia (inżynierskie) Tematy prac dyplomowych w Katedrze Awioniki i Sterowania Studia I stopnia (inżynierskie) Temat: Skalowanie czujników prędkości kątowej i orientacji przestrzennej 1. Analiza właściwości czujników i układów

Bardziej szczegółowo

interfejs szeregowy wyświetlaczy do systemów PLC

interfejs szeregowy wyświetlaczy do systemów PLC LDN SBCD interfejs szeregowy wyświetlaczy do systemów PLC SEM 08.2003 Str. 1/5 SBCD interfejs szeregowy wyświetlaczy do systemów PLC INSTRUKCJA OBSŁUGI Charakterystyka Interfejs SBCD w wyświetlaczach cyfrowych

Bardziej szczegółowo

Optimus ABA IPSec + Windows 2000/XP + Terminal ABAX-2. Instrukcja tworzenia połącze ń szyfrowanych.

Optimus ABA IPSec + Windows 2000/XP + Terminal ABAX-2. Instrukcja tworzenia połącze ń szyfrowanych. Optimus ABA IPSec + Windows 2000/XP + Terminal ABAX-2 Instrukcja tworzenia połącze ń szyfrowanych. Grzegorz Łabuzek grzesiek@aba.krakow.pl Pawe ł Krawczyk pawelk@aba.krakow.pl Piotr Leśniak piotrl@aba.krakow.pl

Bardziej szczegółowo

Zdalne logowanie do serwerów

Zdalne logowanie do serwerów Zdalne logowanie Zdalne logowanie do serwerów Zdalne logowanie do serwerów - cd Logowanie do serwera inne podejście Sesje w sieci informatycznej Sesje w sieci informatycznej - cd Sesje w sieci informatycznej

Bardziej szczegółowo

MODUŁ: SIECI KOMPUTEROWE. Dariusz CHAŁADYNIAK Józef WACNIK

MODUŁ: SIECI KOMPUTEROWE. Dariusz CHAŁADYNIAK Józef WACNIK MODUŁ: SIECI KOMPUTEROWE Dariusz CHAŁADYNIAK Józef WACNIK WSZECHNICA PORANNA Wykład 1. Podstawy budowy i działania sieci komputerowych Korzyści wynikające z pracy w sieci. Role komputerów w sieci. Typy

Bardziej szczegółowo

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności. Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych

Bardziej szczegółowo

Implementacja Gigabitowego Ethernetu na układach FPGA dla eksperymentów fizycznych

Implementacja Gigabitowego Ethernetu na układach FPGA dla eksperymentów fizycznych Implementacja Gigabitowego Ethernetu na układach FPGA dla eksperymentów fizycznych Grzegorz Korcyl Plan 1. Systemy akwizycji danych 2. Używana elektronika 3. Układy FPGA 4. Programowanie FPGA 5. Implementacja

Bardziej szczegółowo

Projektowanie z użyciem procesora programowego Nios II

Projektowanie z użyciem procesora programowego Nios II Projektowanie z użyciem procesora programowego Nios II WSTĘP Celem ćwiczenia jest nauczenie projektowania układów cyfrowych z użyciem wbudowanych procesorów programowych typu Nios II dla układów FPGA firmy

Bardziej szczegółowo

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia Techniczno-Humanistyczna w Bielsku-Białej Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 7 Temat ćwiczenia: Konfiguracja i badanie połączenia GPRS 1. Wstęp

Bardziej szczegółowo

CS 1140. AlgoRex - Centrala systemu wykrywania i sygnalizacji pożaru. Właściwości. Cerberus Division. Siemens Building Technologies Sp. z o.o.

CS 1140. AlgoRex - Centrala systemu wykrywania i sygnalizacji pożaru. Właściwości. Cerberus Division. Siemens Building Technologies Sp. z o.o. Cerberus Division CS 1140 AlgoRex - Centrala systemu wykrywania i sygnalizacji pożaru Właściwości Centrala systemu wykrywania pożaru sterowana mikroprocesorowo o budowie modułowej. Elastyczna architektura

Bardziej szczegółowo

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro 1. Cel ćwiczenia Celem ćwiczenia jest zaprojektowanie sterowania układem pozycjonowania z wykorzystaniem sterownika VersaMax Micro oraz silnika krokowego. Do algorytmu pozycjonowania wykorzystać licznik

Bardziej szczegółowo