Architektura komputerów

Podobne dokumenty
Architektura komputerów

Architektura potokowa RISC

Architektura mikroprocesorów TEO 2009/2010

Architektura komputerów

Architektura komputerów

Architektura komputerów

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Architektura komputerów, Informatyka, sem.iii. Rozwiązywanie konfliktów danych i sterowania w architekturze potokowej

16. Taksonomia Flynn'a.

LEKCJA TEMAT: Współczesne procesory.

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Architektura komputerów

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Podstawy Informatyki Systemy sterowane przepływem argumentów

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

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

Przetwarzanie potokowe pipelining

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Organizacja typowego mikroprocesora

Architektura typu Single-Cycle

Struktura i działanie jednostki centralnej

Budowa i zasada działania komputera. dr Artur Bartoszewski

Budowa komputera Komputer computer computare

Mikroprocesory rodziny INTEL 80x86

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Architektura mikroprocesorów z rdzeniem ColdFire

Architektura komputerów

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Budowa Mikrokomputera

Logiczny model komputera i działanie procesora. Część 1.

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

Programowanie Niskopoziomowe

Architektura komputerów egzamin końcowy

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Architektura komputerów

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

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

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Programowanie współbieżne i rozproszone

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura i administracja systemów operacyjnych

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Architektura systemów komputerowych

Architektura komputerów

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

Magistrala systemowa (System Bus)

organizacja procesora 8086

Budowa systemów komputerowych

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++

Metody optymalizacji soft-procesorów NIOS

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Adam Korzeniewski p Katedra Systemów Multimedialnych

ARCHITEKTURA PROCESORA,

ARCHITEKTURA SYSTEMÓW MIKROPROCESOROWYCH. dr inż. Małgorzata Langer B9, pok. 310 Instytut Elektroniki

Architektura komputerów Wprowadzenie do algorytmów

LEKCJA TEMAT: Zasada działania komputera.

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

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

Witold Komorowski: RISC. Witold Komorowski, dr inż.

Technologie Informacyjne Wykład 3

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Programowanie współbieżne Wykład 2. Iwona Kochańska

dr inż. Małgorzata Langer Architektura komputerów

Architektura systemów komputerowych. Arytmetyka maszyn cyfrowych

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH. Klasyczny cykl pracy procesora sekwencyjnego. współczesne architektury. c Dr inż.

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Architektura Systemów Komputerowych

Architektura komputerów

Podstawy Informatyki

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

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

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Architektura komputerów

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

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

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Architektura systemów komputerowych. dr Artur Bartoszewski

architektura komputerów w. 4 Realizacja sterowania

Projektowanie. Projektowanie mikroprocesorów

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

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

Przykładowe pytania DSP 1

Architektura Systemów Komputerowych

Kod U2 Opracował: Andrzej Nowak

Architektura systemów komputerowych. dr Artur Bartoszewski

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

ZARZĄDZANIE SIECIAMI TELEKOMUNIKACYJNYMI

Architektura Systemów Komputerowych

Transkrypt:

Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja. Studia I stopnia Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Innowacyjna dydaktyka bez ograniczeń zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Zadanie nr 30 Dostosowanie kierunku Elektronika i Telekomunikacja do potrzeb rynku pracy i gospodarki opartej na wiedzy 90-924 Łódź, ul. Żeromskiego 116, tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl

Rozszerzone funkcje i algorytmy procesorów Algorytmy szybkiego liczenia Przetwarzanie równoległe Nakładki systemu Bufory instrukcji i wykorzystanie pamięci podręcznej Przerwania Pamięć dzielona 2

Przyśpieszenie dodawania i odejmowania Pseudo-równoległy sumator musi czekać na przetworzenie przeniesienia do najbardziej znaczącego bitu (tzw. Ripple). Rozwiązaniem jest algorytm CARRY LOOK-AHEAD (CLA) Dla każdych 2 bitów o tej samej wadze (a i ; b i ) można zdefiniować funkcje: - generuj G i = a. i b i (przeniesienie jest generowane tylko dla (a. i b i )=1 - P i = a i + b i (suma logiczna) Suma dla każdego bitu: S i =P i + C i-1 (C przeniesienie) Przeniesienie dla każdego bitu: C i = G i + P i C i-1 G i P są generowane symultanicznie; jeżeli są dostępne wszystkie sygnały wejściowe C i-1 w jednym kroku oblicza się wszystkie S i ; podobnie C i czyli dodawanie dowolnie długich liczb w 3 krokach 3

Mnożenie Mnożenie zasadniczo jest wielokrotnym dodawaniem bardzo wolne W systemach binarnych mnożenie przez potęgę 2 można zastąpić przesuwaniem w rejestrze Szybszy od wielokrotnego dodawania może być system porównywalny z pisemnym mnożeniem : 1 0 1 1 x 1 1 0 1 daje cząstkowe iloczyny: 1 0 1 1 0 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 ILOCZYN Każdy niezerowy iloczyn cząstkowy to przesunięcie w lewo 4

Dzielenie Jest to wielokrotne odejmowanie wolne Można je zastąpić przesuwaniem i dodawaniem Załóżmy, że dzielimy liczby całkowite: X (dzielna) przez Y (dzielnik), uzyskując n-bitowy iloraz (Q) i resztę R; reszta spełnia warunek 0 < R < Y Przykładowy algorytm: Trial & error - z lewej strony dzielnej dopisujemy n-1 zer i odejmujemy (podpisując od lewej strony) dzielnik; jeżeli wynik jest ujemny dodajemy go z powrotem i najbardziej znaczący bit ilorazu = 0, jeżeli dodatni =1 i nie dodajemy; przesuwamy dzielnik w prawo, aż najmniej znaczące bity dzielnika i dzielnej będą w tej samej kolumnie Inny algorytm: Nonrestoring division 5

Algorytmy typu pipelining (przesyłanie potokowe; kanały pośredniczące) Przykład: dodawanie liczb zmiennoprzecinkowych (0.5 x 10-3 ) + (0.75 x 10-2 ) = krok pierwszy: wyrównanie wykładników: 0.05 x 10-2 + 0.75 x 10-2 krok drugi: dodanie mantysy: = 0.80 x 10-2 jeżeli mantysa byłaby większa niż 1, trzeba byłoby dodać krok trzeci normalizacja mantysy PIPELINE każdy z tych trzech kroków otrzymuje swoje oddzielne sygnały sterujące i posiada rejestry do przechowywania danych pomiędzy krokami; kiedy operandy wędrują do kroku następnego w kroku poprzednim mogą już być przetwarzane następne liczby! Przy N krokach przyspieszenie wynosi 3N/(3+N-1) 6

VLIW very long instruction word W architekturach VLIW bardzo długie słowo może zawierać kilka (4 do 8) instrukcji. Po pobraniu słowa, instrukcje te mogą być rozdzielone pomiędzy różne obwody, do przetworzenia równoległego (procesory superskalarne, takie jak Pentium) Przykład: dodawanie iloczynów (cząstkowe składniki iloczyny mogą być obliczane równolegle) Architektury takie wymagają bardzo złożonych kompilatorów; jeżeli zmieni się konfiguracja sprzętu NALEŻY DOKONAĆ PONOWNEJ KOMPILACJI 7

Koprocesor Dodatkowy procesor, mający zaimplementowane sprzętowo funkcje algebraiczne i niektóre logiczne, co znacznie przyspiesza ich wykonywanie Procesory peryferyjne Przejmują większość czynności ci związanych zanych z I/O 8

Systemy wieloprocesorowe Struktura Cray X-MP/4 9

Przyspieszenie cyklu instrukcji Cykl czasowy procesora (czas głównego cyklu major cycle time) zależy od czasu transferu rejestrów w strukturze magistrali. Jeżeli jest kilka magistrali, można jednocześnie obsługiwać kilka rejestrów, co implikuje SYMULTANICZNE GENEROWANIE SYGNAŁÓW STERUJĄCYCH W synchronicznych HCU (Hardwired Control Unit) cykl procesora jest zdefiniowany przez najwolniejszy transfer rejestru. Nawet najszybszy transfer zajmie więc tyle samo czasu pełen cykl W asynchronicznych zakończenie jednego transferu uruchamia następny, dlatego asynchroniczny HCU może być szybszy niż synchroniczny (jednak jest dużo trudniejszy w zaprojektowaniu i wykorzystywaniu, dlatego w praktyce używa się synchronicznych) MCU (Microprogrammed CU) jest jeszcze wolniejszy, bo czas wykonania mikroinstrukcji to suma czasu cyklu procesora plus czas dostępu do CROM 10

Nakładanie się instrukcji Procesor może wykonywać fazę pobierania następnej instrukcji, gdy odbywa się faza wykonywania poprzedniej Skoro instrukcja wymaga działania trzech faz: pobrać zdekodować (lub obliczyć adres) wykonać; jednostka sterująca musi posiadać trzy niezależne moduły po jednym dla każdej fazy wtedy można nakładać na siebie przetwarzanie instrukcji; czasem występuje więcej faz, np. prefetch pobieranie do pamięci cache Jest to struktura w algorytmie pipeline WYKONAJ (execute) I 1 I 2 I 3 I 4 E 1 E 2 E 3 E 4... Zakończone cykle instrukcji DEKODUJ D 1 D 2 D 3 D 4 D 5 POBIERZ (fetch) F 1 F 2 F 3 F 4 F 5 F 6... czas t 1 t 2 t 3 t 4 t 5 t 6 11

Nakładanie się instrukcji Optymalnie od trzeciego cyklu czasowego (t 3 ) kanał (pipeline) jest pełny i na każdy przedział czasowy zostaje zakończona jedna instrukcja W praktyce nie zawsze można dokonywać każdej instrukcji w jednakowym czasie i potrzebne są rejestry tymczasowe Jeżeli eli instrukcje są wykonywane w innej kolejności niż pojawiają się w programie (instrukcje rozgałęzione, instrukcje skoku), należy albo unieważnić instrukcje, które po takiej instrukcji już weszły w fazę pobierania lub dekodowania (często stosowane przy instrukcji warunkowej, bo przecież warunek do skoku może nie zostać spełniony i strumień popłynie dalej ), albo nie pobierać instrukcji po pojawieniu się instrukcji wyboru, dopóki nie będzie znany adres następnej instrukcji 12

... Problemy pojawiające się przy równoległym wykonywaniu podczas instrukcji rozgałęzionych nazywane są control hazards Dla równoległego wykonywania instrukcji (architektury superskalarne) potrzebne są algorytmy optymalizacji sterowania Opisane mechanizmy nakładania się faz stosowane są również w MCU, często współpracującymi cymi ze strukturami RISC Stosowane są pipeline z 6 fazami wykonywania instrukcji: FETCH (FI) DECODE (DI) - CALCULATE ADDRESS (CA) FETCH OPERANDS (FO) EXECUTE (EX) STORE RESULTS (ST) Sterownik kanału musi oszacować wymagania np. na ilość rejestrów, zanim instrukcja wejdzie do struktury pipeline, aby uniknąć kolizji (structural hazards) 13

... Data interlocks jeżeli dane dzielone są pomiędzy fazy w pipeline; tzn nie można dokonać obliczenia jeżeli jeden z etapów pracuje na danym zasobie a drugi musi czekać na zakończenie tej operacji. Przykład: Sekwencja instrukcji wykonywana jest w schemacie pipeline: 14

Hazard danych MPY pobiera operand R2 w cyklu 6, gdy instrukcja LOAD jest dopiero wykonywana, pobierze więc błędne dane! Rozwiązanie: wewnętrzne przekierowanie (internal forwarding) danych (mechanizm odczytu kieruje R2 do ALU RÓWNOCZEŚNIE z zapisem do R2, Hazard danych występuje w sąsiadujących siaduj instrukcjach read/write; write/read; albo write/write, które przy równoległym wykonywaniu mogą zmienić kolejność i współdzielony zasób jest błędny dla instrukcji, która miała być wykonana jako pierwsza a została wyprzedzona przez instrukcję następną, lub instrukcja odczytu, która miała nastąpić po zapisie, pobiera zawartość jeszcze nie zmienionego zapisem zasobu. 15

Gałęzie warunkowe Przewidywanie gałęzi (Branch Prediction) - podczas kompilacji zostają przewidziane dwie tymczasowe ścieżki - sekwencje instrukcji jedna dla warunku spełnionego i druga dla niespełnionego aż do znacznika końca pętli. Po dojściu do znacznika wyniki tymczasowe stają się stałe lub są odrzucane (algorytm stosowany w procesorach Intel) Opóźnione wejście w gałęzie (Delayed Branching) (stosowane w MCU, zwłaszcza w RISC) instrukcja docelowa (po wyborze) jest tylko pobrana, a wykonywane są wszystkie następne i dopiero po nich docelowa wchodzi w fazę wykonywania. Kompilator zmienia kolejność instrukcji w przypadku instrukcji rozgałęzionych tak, aby znalazła się jeszcze wcześniej w pipeline niż w programie. Zmniejsza to później czas koniecznego opóźnienia, gdy trzeba czekać na wynik warunku 16

Gałęzie warunkowe... Bufor przewidywania gałęzi mały bufor pamięci, indeksowany adresem instrukcji rozgałęzienia. Zawiera 1 bit na instrukcję wskazujący, czy gałąź została wybrana, czy nie. Kanał pobiera kolejną instrukcję w oparciu o ten bit przewidywania. Idealnie byłoby, gdyby bufor był wystarczająco duży, aby 1 bit przypadał na każdą warunkową instrukcję w programie. W praktyce jest to nierealne i ponieważ do jednego bitu jest przypisanych więcej instrukcji warunkowych, może to stać się powodem błędów. Inna nazwa bufora Tabela historii dekodowania Technika historii gałęzi w tabeli historii przechowuje się najbardziej prawdopodobny (domyślny) adres przeznaczenia dla każdej gałęzi (na przykład wybrany przy ostatnim wykonywaniu programu) i po pobraniu instrukcji wyboru, dalsze wykonywanie przebiega tą gałęzią, z dużą szansą na sukces. 17

Przerwania Ponieważ wiele instrukcji jednocześnie jest wykonywanych w sposób nakładkowy, sprzęt i oprogramowanie do obsługi przerwań jest dość skomplikowane. Precyzyjny system przerwań jeżeli instrukcja nr I generuje przerwanie - wykonywane są wszystkie instrukcje, które zostały już pobrane i są w kanałach (czyli I-1 ; I-2 itd...) a wstrzymane te, które są następne (I+1 ; I+2,..). Ale przy systemie opóźnionego wejścia w gałęzie, kolejność instrukcji może być przemieszana. Zrestartowane muszą zostać również gałęzie wstrzymane. To wymusza utrzymywanie wielu liczników programów. Dodatkowo kilka instrukcji może jednocześnie generować przerwania, których kolejność wykonywania może być różna (rozwiązanie stosuje się wektor stanu dla każdej instrukcji w kanale) 18

Odroczenie instrukcji (Instruction Deferral) Technika, która zapobiega konfliktowi danych w kanale. Przetwarza się tak wiele instrukcji, jak jest możliwe na bieżąco i odracza się ich zakończenie aż do rozwiązania konfliktu danych. Całościowy przepływ instrukcji jest większy niż całkowite opóźnianie wszystkich możliwych etapów w kanale 19

Tryby pracy procesora Kernel mode (tryb jądra systemu) tryb najwyższego uprzywilejowania w systemie; OS (w najbardziej wewnętrznym jądrze ) ma dostęp i może zmienić dowolny rejestr. OS przełącza się w tryb jądra przy obsłudze błędu lub wyjątku Supervisor mode (tryb nadzoru) mniej przywilejów, wykorzystywany do mniej krytycznych części OS. Przeznaczony dla systemów warstwowych prawdziwe jądro OS pracuje w trybie jądra, a pozostałe części (warstwy) OS - w trybie nadzoru; OS ma również dostęp do pamięci użytkowników, ale nie do adresów zastrzeżonych dla trybu Kernel User mode (tryb użytkownika) najmniej uprzywilejowany zapobiega wzajemnemu przeszkadzaniu sobie przez użytkowników, nie ma dostępu do zastrzeżonych adresów 20

Przetwarzanie równoległe Jeżeli aplikacja pozwala na opracowanie algorytmów przetwarzania ze stopniem równoległości A, język kodowania algorytmu na stopień L, kompilatory pozostają przy stopniu równoległości C a struktura sprzętu czyli konstrukcja maszyny pozwala na H, aby przetwarzanie było najbardziej wydajne, musi być spełniona relacja: H > C > L > A 21

Podział komputerów ze względu na ilość strumieni SISD (Single Instruction stream, Single Data stream) pojedynczy strumień i instrukcji i danych; maszyny jednostrumieniowe, zawsze z jednym procesorem SIMD (Single Instruction, Multiple Data) - pojedynczy strumień i instrukcji i wiele strumieni danych architektury, które posiadają wiele koprocesorów sterowanych przez jedną jednostkę sterującą (inna nazwa procesory wektorowe, procesory macierzowe) MISD (Multiple Instruction, Single Data) pojedynczy strumień danych jest pod jednoczesnym działaniem wielu strumieni instrukcji (m.in. wszystkie systemy pipeline) MIMD (Multiple Instruction, Multiple Data) wiele procesorów (systemy wieloprocesorowe), każdy wykonuje swój strumień instrukcji i przetwarza swój strumień danych, alokowanych do niego, albo jeden procesor ale z pełnymi równoległymi kanałami i równoległymi I/O 22

MISD - struktura 23

SIMD - struktura 24

Wiele strumieni danych zagadnienia sieci lokalnych Protokoły routingu statyczne i dynamiczne Routing to mechanizm, który ustanawia ścieżkę pomiędzy dwoma węzłami transmisji komunikatów Ścieżka może być ustanawiana na transmisję dedykowana (przełączalna fizyczne połączenie na całą transmisję), lub na pakiet W węźle pakiety mogą być wstawiane w bufor (z różną obsługą kolejek) przed następnym skokiem Topologie sieci (drzewo, pierścień, gwiazda, sieć połączeń z najbliższymi sąsiadami, sieć zupełna i niezupełna, ) topologie statyczne i dynamiczne Połączenia magistralą i matrycą 25

MIMD - struktura 26

MIMD... Po awarii jednego z procesorów (fizycznych lub logicznych), jego obciążenie przejmuje inny procesor większa niezawodność i odporność na awarie globalne Praca n procesorów nawet przy pełnym obciążeniu nie jest n razy szybsza niż jednego, gdyż dochodzi czas: - komunikacji pomiędzy procesorami - synchronizacji pracy (przy równoległym wykonywaniu niektórych instrukcji) - pusty tracony (niektóre procesory muszą poczekać na inne) - układania pracy procesora (scheduling) czyli alokacja zadań dla procesora Sekwencja zadań wykonywanych przez jeden procesor tworzy WĄTEK (thread) 27

Architektura dzielonej pamięci 28

Architektura przepływu danych Obliczenia są data-driven (gdy dane operandy są dostępne) lub control driven (instrukcje wywołują pobieranie danych) Data driven wymaga gotowych funkcjonalnych jednostek wykonujących określone działania Obok: obliczanie pierwiastków równania kwadratowego, jeżeli podane są a, b, c 29

Architektura maszyny sterowanej przepływem danych 30

KONIEC CZĘŚCI DZIEWIĄTEJ Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Innowacyjna dydaktyka bez ograniczeń zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Zadanie nr 30 Dostosowanie kierunku Elektronika i Telekomunikacja do potrzeb rynku pracy i gospodarki opartej na wiedzy 90-924 Łódź, ul. Żeromskiego 116, tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl