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

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

Katedra Mikroelektroniki i Technik Informatycznych

Katedra Mikroelektroniki i Technik Informatycznych Katedra Mikroelektroniki i Technik Informatycznych Bloki obieralne na kierunku Mechatronika rok akademicki 2013/2014 ul. Wólczańska 221/223, budynek B18 www.dmcs.p.lodz.pl Nowa siedziba Katedry 2005 2006

Bardziej szczegółowo

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Dziś bardziej niż kiedykolwiek narzędzia używane przez

Bardziej szczegółowo

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11 Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1 Spis treúci Przedmowa... 9 Wstęp... 11 1. Komputer PC od zewnątrz... 13 1.1. Elementy zestawu komputerowego... 13 1.2.

Bardziej szczegółowo

Opracował: Jan Front

Opracował: Jan Front Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny

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

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

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

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

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

PROGRAMOWALNE STEROWNIKI LOGICZNE

PROGRAMOWALNE STEROWNIKI LOGICZNE PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu

Bardziej szczegółowo

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016

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

Zagadnienia egzaminacyjne TELEKOMUNIKACJA studia rozpoczynające się po 1.10.2012 r.

Zagadnienia egzaminacyjne TELEKOMUNIKACJA studia rozpoczynające się po 1.10.2012 r. (TEM) Telekomunikacja mobilna 1. Pasmo zajmowane przez transmisję cyfrową, a szybkość transmisji i przepustowość łącza radiowego. 2. Kodowanie informacji transmitowanej w cyfrowych systemach wizyjnych.

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

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

DLA SEKTORA INFORMATYCZNEGO W POLSCE

DLA SEKTORA INFORMATYCZNEGO W POLSCE DLA SEKTORA INFORMATYCZNEGO W POLSCE SRK IT obejmuje kompetencje najważniejsze i specyficzne dla samego IT są: programowanie i zarządzanie systemami informatycznymi. Z rozwiązań IT korzysta się w każdej

Bardziej szczegółowo

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych Politechnika Śląska w Gliwicach Wydział Automatyki Elektroniki i Informatyki Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych Promotor dr inż. Jacek Loska Wojciech Klimeczko

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

Bezpieczeństwo informacji w systemach komputerowych

Bezpieczeństwo informacji w systemach komputerowych Bezpieczeństwo informacji w systemach komputerowych Andrzej GRZYWAK Rozwój mechanizmów i i systemów bezpieczeństwa Szyfry Kryptoanaliza Autentyfikacja Zapory Sieci Ochrona zasobów Bezpieczeństwo przechowywania

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

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

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

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, ćwiczenia I KARTA

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

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

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

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

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

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

Bezpieczeństwo sieci bezprzewodowych

Bezpieczeństwo sieci bezprzewodowych Bezpieczeństwo sieci bezprzewodowych CONFidence 2005 // Kraków // Październik 2005 Agenda Sieci bezprzewodowe LAN 802.11b/g 802.11a Sieci bezprzewodowe PAN Bluetooth UWB Sieci bezprzewodowe PLMN GSM/GPRS/EDGE

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

FPGA, CPLD, SPLD. Synteza systemów reprogramowalnych 1/27. dr inż. Mariusz Kapruziak mkapruziak@wi.ps.pl pok. 107, tel. 449 55 44

FPGA, CPLD, SPLD. Synteza systemów reprogramowalnych 1/27. dr inż. Mariusz Kapruziak mkapruziak@wi.ps.pl pok. 107, tel. 449 55 44 Synteza systemów reprogramowalnych /27 dr inż. Mariusz Kapruziak mkapruziak@wi.ps.pl pok. 07, tel. 449 55 44 FPGA, CPLD, SPLD 945 950 955 960 965 970 975 980 985 990 995 2000 0 D CLK update v cur Q Q 0

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

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem

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 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

Po ukończeniu studiów pierwszego stopnia na kierunku studiów elektronika i telekomunikacja absolwent:

Po ukończeniu studiów pierwszego stopnia na kierunku studiów elektronika i telekomunikacja absolwent: 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

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

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

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Modułowy programowalny przekaźnik czasowy firmy Aniro. Modułowy programowalny przekaźnik czasowy firmy Aniro. Rynek sterowników programowalnych Sterowniki programowalne PLC od wielu lat są podstawowymi systemami stosowanymi w praktyce przemysłowej i stały

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

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

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

dokument DOK 02-05-12 wersja 1.0 www.arskam.com

dokument DOK 02-05-12 wersja 1.0 www.arskam.com ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania

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

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

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy Programowanie w C++ 1.Czym jest programowanie Pisanie programów to wcale nie czarna magia, tylko bardzo logiczna rozmowa z komputerem. Oczywiście w jednym ze specjalnie stworzonych do tego celu języków.

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

Sterowniki Programowalne (SP)

Sterowniki Programowalne (SP) Sterowniki Programowalne (SP) Wybrane aspekty procesu tworzenia oprogramowania dla sterownika PLC Podstawy języka funkcjonalnych schematów blokowych (FBD) Politechnika Gdańska Wydział Elektrotechniki i

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

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10. Projekt z przedmiotu Systemy akwizycji i przesyłania informacji Temat pracy: Licznik binarny zliczający do 10. Andrzej Kuś Aleksander Matusz Prowadzący: dr inż. Adam Stadler Układy cyfrowe przetwarzają

Bardziej szczegółowo

Opracowanie ćwiczenia laboratoryjnego dotyczącego wykorzystania sieci przemysłowej Profibus. DODATEK NR 4 Instrukcja laboratoryjna

Opracowanie ćwiczenia laboratoryjnego dotyczącego wykorzystania sieci przemysłowej Profibus. DODATEK NR 4 Instrukcja laboratoryjna Wydział Informatyki i Zarządzania Opracowanie ćwiczenia laboratoryjnego dotyczącego wykorzystania sieci przemysłowej Profibus DODATEK NR 4 Instrukcja laboratoryjna. Opracował: Paweł Obraniak Wrocław 2014

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna

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

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

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

Sylwetki absolwenta kierunku Informatyka dla poszczególnych specjalności :

Sylwetki absolwenta kierunku Informatyka dla poszczególnych specjalności : INFORMATYKA Studia I stopnia Celem kształcenia na I stopniu studiów kierunku Informatyka jest odpowiednie przygotowanie absolwenta z zakresu ogólnych zagadnień informatyki. Absolwent powinien dobrze rozumieć

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

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

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

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Politechnika Lubelska Wydział Elektrotechniki i Informatyki PRACA DYPLOMOWA MAGISTERSKA Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Marcin Narel Promotor: dr inż. Eligiusz

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

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

Metodyka projektowania komputerowych systemów sterowania

Metodyka projektowania komputerowych systemów sterowania Metodyka projektowania komputerowych systemów sterowania Andrzej URBANIAK Metodyka projektowania KSS (1) 1 Projektowanie KSS Analiza wymagań Opracowanie sprzętu Projektowanie systemu Opracowanie oprogramowania

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

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

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

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

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

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

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

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

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor Plan wykładu 1. Pojęcie podsystemu graficznego i karty graficznej 2. Typy kart graficznych 3. Budowa karty graficznej: procesor graficzny (GPU), pamięć podręczna RAM, konwerter cyfrowo-analogowy (DAC),

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

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

Cyfrowy rejestrator parametrów lotu dla bezzałogowych statków powietrznych. Autor: Tomasz Gluziński

Cyfrowy rejestrator parametrów lotu dla bezzałogowych statków powietrznych. Autor: Tomasz Gluziński Cyfrowy rejestrator parametrów lotu dla bezzałogowych statków powietrznych Autor: Tomasz Gluziński Bezzałogowe Statki Powietrzne W dzisiejszych czasach jedną z najbardziej dynamicznie rozwijających się

Bardziej szczegółowo

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer Plan prezentacji 1. Cel projektu 2. Cechy systemu 3. Budowa systemu: Agent

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

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

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

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

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

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

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

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

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

Systemy mikroprocesorowe i układy programowalne

Systemy mikroprocesorowe i układy programowalne Grupa bloków Systemy mikroprocesorowe i układy programowalne Katedra Mikroelektroniki i Technik Informatycznych Obszar zagadnień sprzęt sprzęt mikroprocesory SoC, systemy mobilne procesory sygnałowe mikrokontrolery

Bardziej szczegółowo

WETI Informatyka Aplikacje Systemy Aplikacje Systemy

WETI Informatyka Aplikacje Systemy Aplikacje Systemy Kierunek WETI Informatyka Strumienie Aplikacje i Systemy są blokami przedmiotów łącznie "wartych" 20 pkt ECTS w każdym semestrze, realizowanych w semestrach 5 i 6 obok przedmiotów kierunkowych w celu ukierunkowania

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

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

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

WYKORZYSTANIE UKŁADÓW REKONFIGUROWALNYCH W REGULACJI ADAPTACYJNEJ

WYKORZYSTANIE UKŁADÓW REKONFIGUROWALNYCH W REGULACJI ADAPTACYJNEJ WYKORZYSTANIE UKŁADÓW REKONFIGUROWALNYCH W REGULACJI ADAPTACYJNEJ Piotr Bubacz Instytut Informatyki i Elektroniki, Uniwersytet Zielonogórski 65-246 Zielona Góra, ul. Podgórna 50 e-mail: P.Bubacz@iie.uz.zgora.pl

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

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy. SigmaDSP jest niedrogim zestawem uruchomieniowym dla procesora DSP ADAU1701 z rodziny SigmaDSP firmy Analog Devices, który wraz z programatorem USBi i darmowym środowiskiem

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

MODUŁ 3. WYMAGANIA EGZAMINACYJNE Z PRZYKŁADAMI ZADAŃ

MODUŁ 3. WYMAGANIA EGZAMINACYJNE Z PRZYKŁADAMI ZADAŃ MODUŁ 3. WYMAGANIA EGZAMINACYJNE Z PRZYKŁADAMI ZADAŃ E.16. Montaż i eksploatacja sieci rozległych 1. Przykłady zadań do części pisemnej egzaminu dla wybranych umiejętności z kwalifikacji E.16. Montaż i

Bardziej szczegółowo