Architektura komputerów Architektura komputerów
Transkrypt
Architektura komputerów Architektura komputerów
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 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Pamięć i przechowywanie • • • Kilka przerzutników tworzy rejestr; funkcjonalnie pamięć jest zestawem rejestrów, gdzie przechowywane są dane i instrukcje Najszybszy dostęp jest do pamięci głównej (primary memory) gdzie musi znaleźć się zestaw wykonywanych instrukcji, tańsza i wolniejsza może być pamięć wtórna (secondary memory) Ze względu na dostęp do informacji pamięci dzielimy na: RAM (random-access memory) – pamięć swobodnego dostępu RWM (read/write memory) – pamięć do odczytu i zapisu ROM (read only memory) – pamięć tylko do odczytu [zaliczana przez niektórych autorów do RAM, jako, że jest swobodny dostęp do odczytu dowolnego rejestru] CAM (content-addressable memory) lub AM (associative memory) DAM (direct access memory) Architektura komputerów, część 8 2 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Pamięć swobodnego dostępu • • • • • W pamięci typu RAM można w sposób losowy podać adres dowolnej lokalizacji i funkcje zapisu i odczytu do/z takiej lokalizacji będą przebiegały jednakowo i zabierały tyle samo czasu RWM – każdy rejestr pamięci, lub każda lokalizacja, posiada adres z nim związany. Dostęp do danej lokalizacji, czyli wejście danych (zapis) oraz wyjście (odczyt) następuje poprzez adres. Adres ten umieszcza się w MAR (Memory Address Register). Transfer do i z pamięci odbywa się zestawem bitów – słowem pamięci. Jeżeli MAR jest n-bitowy, czyli umożliwia zaadresowanie 2n lokalizacji (każda mieści słowo) a słowo jest m-bitowe, pojemność pamięci wynosi (2n x m) bitów Ilość dostępnej pamięci podaje się zawsze w formacie N X M – czyli N słów zawierających M jednostek. Jednostka może być: bitem, bajtem (8 bitów) lub słowem Architektura komputerów, część 8 3 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Schemat blokowy pamięci RWM Architektura komputerów, część 8 4 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego RWM – ciąg dalszy • • • MBR (memory buffer register) – rejestr bufora pamięci. Tam przechowuje się dane, które zostaną zapisane do pamięci, lub zostały odczytane Procedura odczytu: Do MAR dostarczony zostaje adres, sygnał sterujący READ ustawiony na 1, zawartość zaadresowanego słowa zostaje skopiowana do MBR. ZAWARTOŚĆ PAMIĘCI POZOSTAJE NIEZMIENIONA Procedura zapisu: Do MBR zostaje dostarczone słowo, do MAR adres, sygnał sterujący WRITE zostaje ustawiony na 1. Zawartość MBR zostaje przeniesiona do zaadresowanej lokalizacji pamięci. PAMIĘĆ ZOSTAJE ZMIENIONA Architektura komputerów, część 8 5 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Długość słowa • Typowe długości słowa: 6, 16, 32, 36, 64 bity • Zwłaszcza przy długich słowach nie zawsze mogłyby być one w pełni wykorzystane; istnieje więc możliwość adresowania półsłowa lub ćwierć-słowa – najczęściej bajtu. Takie pamięci nazywają się: byte-addressable. • ROM – pamięć ROM możemy logicznie rozpatrywać jak RWM, gdzie nie ma sygnału WRITE. Zawartość pamięci zostaje wpisana („wypalona”) raz, u producenta, lub wiele razy ale w specyficznych, niestandardowych warunkach Architektura komputerów, część 8 6 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego CAM – pamięć adresowana zawartością • • • • • W tej koncepcji nie istnieje wyraźny adres, a logika poszukuje lokalizacji zawierających szczególny, wyspecyfikowany wzór. Dane zostały wpierw wprowadzone do pamięci – hardware pamięci poszukuje zgodności z zadanym wzorem – albo identyfikuje taką lokalizację (pierwszą, lub wszystkie), albo daje sygnał” NO MATCH Zadany wzór powstaje z maskowania rejestru danych (gdzie zostało wprowadzone pełne słowo) rejestrem maski (wskazującym obszar słowa, który będzie stanowił wzór). Wynik znajduje się w rejestrze wyboru słowa Jeżeli wyszukiwane są wszystkie zgodne słowa, zostaje zastosowany układ MMR – multiple-match resolver UWAGA – hardware poszukuje zgodności z wieloma bitami jednocześnie – MUSI BYĆ ZAPEWNIONY OBWÓD RÓWNOLEGŁEGO ODCZYTYWANIA I PORÓWNYWANIA Architektura komputerów, część 8 7 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Pamięć o dostępie sekwencyjnym (SAM) • • Przykład: rejestr przesuwny z szeregowym wejściem i wyjściem PRZESUWANIE W PRAWO daje logiczne FIFO (first in, first out) SHIFT RIGHT INPUT OUTPUT • Nie ma adresów, dane są sekwencyjnie zapisywane i odczytywane. Pamięć o dostępie sekwencyjnym, z algorytmem FIFO, nazywana jest KOLEJKĄ (queue) • Na podobnej zasadzie działa pamięć szeregowa – np. taśma w kasecie – trzeba przewinąć wszystkie pozycje pomiędzy, aby przejść między pozycjami na początku i końcu taśmy Architektura komputerów, część 8 8 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego SAM – LIFO • • PRZESUWANIE W PRAWO – przy zapisie oraz W LEWO – przy odczycie; odczyt i zapis z jednej strony; LIFO – last in/first out – odczytuje się najświeższy zapis – STOS Logiczne sygnały: PUSH (przy zapisie, „wpychaj” – przesuwanie w prawo); POP (przy odczycie, „pobierz” – przesuwanie w lewo) INPUT OUTPUT PUSH POP Architektura komputerów, część 8 9 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego DAM – pamięć o dostępie bezpośrednim • • • Przykład: dysk (magnetyczny, optyczny) Przetwornik (głowica, laser…) ustawiany jest w dowolnej wyznaczonej pozycji. Od tego miejsca dane są pobierane w sposób sekwencyjny Inna nazwa – semi-RAM, pamięć równoległa (w odróżnieniu od szeregowej) Architektura komputerów, część 8 10 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Pamięć DAM Architektura komputerów, część 8 11 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Parametry systemów pamięci • • • • • Pojemność – maksymalna ilość jednostek (bitów, bajtów, słów) danych, które mogą być przechowywane (ilość adresów x zawartość pojedynczej lokalizacji) Czas dostępu – ile czasu musi minąć, aby uzyskać dostęp do danych od momentu ustawienia adresu (w RAM – dostęp oznacza, że dane pojawią się w MBR) W pamięciach DAM czas dostępu jest funkcją pozycji głowicy (gdzie była wcześniej i gdzie musi przejść teraz) Czas cyklu – jest miarą jak często można uzyskać dostęp do pamięci; w pamięciach wymagających ponownego zapisu (odświeżania) danych po odczycie, jest większy niż czas dostępu Szybkość transferu danych [bps] – ile bitów na sekundę może zostać odczytanych Architektura komputerów, część 8 12 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Inne parametry • • • • • • • Koszt – iloczyn pojemności i ceny, podzielony na ilość bitów Tolerancja błędów (dopuszczalna ilość błędów w %) Odporność na promieniowanie (w różnych zakresach częstotliwości EM) Kompresja danych Wielkość i waga Zużycie mocy (w odniesieniu do bitu) Rodzaj i konieczność zasilania (pamięć ulotna i nieulotna) Architektura komputerów, część 8 13 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Hierarchia pamięci • • • • • Pamięć główna (primary memory) w systemie komputerowym zawsze jest typu RAM (najszybsza) Program i potrzebne dane w momencie gdy potrzebuje ich procesor, powinny być w pamięci głównej Pozostałe dane i nieużywane bloki instrukcji mogą być pamięci wtórnej (secondary memory), najczęściej typu DAM Obie pamięci organizowane są w schemat pamięci wirtualnej – z punktu widzenia użytkownika - cała pamięć jest dostępna do programowania. OS (system operacyjny) kieruje przesyłaniem odpowiednich bloków do i z pamięci głównej do wtórnej Nawet pamięć główna (połączona magistralą) jest zbyt wolna dla procesora; dlatego wykorzystywana jest pamięć podręczna (CACHE) – równolegle zaopatrywana z pamięci głównej; jeszcze szybsze są rejestry procesora Architektura komputerów, część 8 14 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Poziomy hierarchii pamięci 1. Rejestry CPU 2. Cache – pamięć podręczna (jest to RAM – z szybszymi, równoległymi połączeniami) 3. Pamięć główna (procesor pobiera programy i dane poprzez cache) 4. Pamięć wtórna, masowa, najczęściej typu DAM i SAM Jeżeli koszt pamięci poziomu i oznaczymy jako: Ci a pojemność tego poziomu przez Si, to średni koszt systemu pamięci: n Ca = ∑C S i =1 n i i ∑S i =1 Aby średni koszt był najbliższy pamięci najtańszej (n), a najczęściej Ci>>Ci+1 dąży się do warunku Si<<<Si+1 i Architektura komputerów, część 8 15 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Inne akronimy dotyczące pamięci • • • • • • • • • CDROM (compact disk ROM) WORM (write-once-read-many-times) SRAM (static RAM) – nie wymagają odświeżania po odczycie DRAM (dynamic RAM) – odczyt jest rozładowaniem pojemności – zapis musi zostać ponownie dokonany (odświeżanie) MC – (memory cell); DMC (dynamic MC) – komórka pamięci iRAM (integrated RAM) – obecnie najczęściej dynamiczne i nieulotne PROM (programmable ROM) EPROM (erasable PROM) – kasowanie najczęściej światłem ultrafioletowym EAROM (electrically alterable ROM) Architektura komputerów, część 8 16 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Inne akronimy… • • • AMC (associative memory cell); [associative = content-addressable] DVD (Digital Video Disk) HD DVD (High Density DVD) • RAID (Redundant Array of Independent Disks) – wykorzystywane, gdy tolerancja błędów = 0; wszystkie operacje są wykonywane symultanicznie na więcej niż jednym urządzeniu; każdy dysk posiada niezależne urządzenie sterujące – SLED (single large expensive disk) RAID level 0 : oznacza 0 dysków zapasowych (czyli zapisuje się tylko w jednej lokalizacji) RAID level 1 : zapisuje się wszystko na 2 dyskach symultanicznie (1 jest zapasowy – lustrzany – mirror) Architektura komputerów, część 8 17 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego RAID … • • • RAID level 0+1 (HDTP: high data-transfer performance): zapisuje się tylko na 1 dysku (szybszym) a później dokonuje zapisu na dysku lustrzanym RAID level 2 (kod Hamminga) – mapowanie dysku (fizyczna lokalizacja obu dysków jest identyczna; możliwe wykrycie błędów parzystości, odzyskiwanie zawartości; proces powolny RAID level 3 (PTP – parallel transfer with parity) – oprócz lustrzanego kopiowania stosuje się zapis informacji o parzystości (wąskie gardło przy jej obliczaniu, ale zajmuje mniej miejsca, chociaż potrzeba 3 dysków) RAID level 4 (with Shared Parity) (jak level 0, tylko z obliczaniem parzystości) – dane zapisywane są w blokach równej wielkości (taśma), po którym następuje taśma (strip) z zapisem parzystości Architektura komputerów, część 8 18 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego RAID… • • • RAID level 5 (Distributed Parity Blocks) – umożliwia zapis danych o różnych wielkościach (bloki nie muszą być jednakowe); po każdej taśmie następuje informacja o parzystości. Duża szybkość odczytu, średnia zapisu. Bardzo trudno jest odtworzyć zawartość takiego dysku. RAID level 6 (with Two Independent Parity Schemes) – tzw. Dual parity – czyli podwójne sprawdzanie parzystości – czyli podwójna taśma parzystości, reszta, jak w level 5 RAID level 10 (HRHP – high reliability & high performance) – matryca, której segmentami są matryce RAID level 1 Architektura komputerów, część 8 19 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Zwiększenie szybkości • • • Dla danej technologii pamięci czas dostępu i cyklu są zdefiniowane. Dla przyspieszenia działania pamięci w układzie konieczna jest optymalizacja dekodowania adresów i technik dostępu BANKING (ang. bank – pole stykowe); adresy umieszcza się dla każdego modułu pamięci w jednym, tym samym banku, albo oddzielnych, np. dla programu i danych (szybciej, w fazie pobierania instrukcji, można pobierać dane) Przeplot (Interleaving) – żądanie dostępu do następnego słowa inicjowane jest, gdy następuje dostęp do słowa bieżącego (najmniej znaczące bity podają już nr banku) Stosuje się sekwencyjne przeplatanie (kolejne odwołanie następuje poprzez kolejny fizyczny bank); istnieje wiele algorytmów Architektura komputerów, część 8 20 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Zwiększenie szybkości … • • • Pamięci wieloportowe (wielo-dostepowe) (multiport memories) – każdy port – to MAR i MBR. Niezależny dostęp do pamięci może nastąpić poprzez dowolny port - p. Szczególnie użyteczne przy wielu urządzeniach korzystających z jednej pamięci Pobieranie szerszego słowa. Przykład: z pamięci 64 bitowej można w jednej fazie pobierania przekazać do MBR 8 bajtów żądanych przez 8 niezależnych, ustawionych adresów, albo 2 pełne słowa 32bitowe Bufor instrukcji – w schemacie FIFO – gdy CPU kończy pobieranie instrukcji, następna już umieszczana jest w buforze (trudności przy skoku, używa się wtedy rozkazu FREEZE – zatrzymanie wcześniejszego pobierania, lub instrukcjach wyboru rozgałęzionych) Architektura komputerów, część 8 21 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Zwiększenie szybkości … • • Zasada regionalizacji programu (program locality principle) – lokalizacje, do których w krótkim czasie będzie się odwoływał CPU – powinny być zapisane w jednym obszarze (zasada wykorzystywana przede wszystkim w pamięci podręcznej – ściąganie całego klastera i sprawdzenie, czy adres, do którego jest odwołanie znajduje się już w cache, tzw. ‘cache hit’); potrzebny jest wtedy algorytm wymiany – które bloki (klastery) mogą w pamięci podręcznej zostać wymienione na nowe (w przypadku: ‘cache miss’) Mapowanie bezpośrednie (każdy adres pamięci ma „swoje” miejsce w danym bloku pamięci podręcznej – kłopot, jeżeli kolejne odwołania są do adresów mapowanych w tym samym bloku – system staje się niewydolny Architektura komputerów, część 8 22 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Algorytmy wymiany w pamięci podręcznej • • • • LRU (least recently used) usuwany jest blok nieużywany najdłużej; do każdego bloku musi być przypisany licznik (tzw. asking counter, lub aging counter) – każde odwołanie do bloku zeruje licznik a wszystkie pozostałe liczniki zostają zwiększone o 1. W przypadku wymiany LRU usuwany jest blok, którego licznik ma wartość największą Usuwanie bloku wpisanego najdawniej – FIFO, bardzo łatwy w zastosowaniu, ale niektóre bloki są wciąż zapisywane, bo wykorzystywane często a kasowane LFU (least frequently used) – kasowany jest blok z najmniejszą liczbą odwołań Losowo – symulacje wskazują, że przy zwiększającym się czasie pomiaru – nie ma zbyt dużej różnicy w porównaniu do innych Architektura komputerów, część 8 23 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Operacje zapisu w pamięci podręcznej • • • CPU może pobrać daną z pamięci cache i aktualizować ją, tzn. zmienić jej wartość – w konsekwencji dane w pamięci głównej, skąd klaster zawierający daną został odczytany – również musi zostać zmieniony (zasada spójności) Write back blok zaktualizowany w cache otrzymuje specjalną etykietę (tzw. brudny blok). Gdy taki ‘dirty block’ ma zostać usunięty z cache, wpierw zostaje skopiowany do pamięci głównej Write through – w momencie aktualizacji w pamięci podręcznej, odpowiedni blok w pamięci głównej również jest zapisywany z tą samą wartością; mechanizm zapewnia zasadę spójności (szczególnie istotne przy wielodostępie), ale nie jest efektywny (przy aktualizacji kilku danych z tego samego klastera będzie potrzebnych kilka aktualizacji bloku w pamięci głównej) Architektura komputerów, część 8 24 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Operacje zapisu w pamięci podręcznej… • • Write once – możliwe przy wielu procesorach i wspólnej magistrali do pamięci. Pierwszy procesor (Master) pracuje z algorytmem WRITE THROUGH – czyli, gdy zmienia zawartość w swojej pamięci podręcznej, brudny blok jest natychmiast przepisywany do pamięci głównej; pozostałe procesory, jeżeli mają w swoich pamięciach podręcznych ten blok – natychmiast usuwają go i pobierają nowy, uaktualniony. Pozostałe procesory pracują z zasadą write-back i po aktualizacji brudne bloki zapisywane są do pamięci głównej przy ich wymianie Przy włączeniu zasilania zawartość pamięci podręcznej jest przypadkowa, wadliwa i nie może być wykorzystana (muszą być ustawiane bity ważności informacji przy wczytywaniu kolejnych bloków) Architektura komputerów, część 8 25 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Optymalizacja pamięci podręcznej • Jeżeli Tm jest średnim czasem dostępu do pamięci głównej a Tc do pamięci podręcznej, h jest prawdopodobieństwem trafień (hit ratio), (1-h) prawdopodobieństwem nietrafienia (miss ratio), to średni czas dostępu do systemu pamięci wynosi: Ta = hTc + (1 – h)Tm • • Aby uzyskać jak najkrótszy średni czas dostępu (czyli zbliżony do Tc) należy projektować i stosować algorytmy z jak największym h, co nie zawsze jest realne Inne rozwiązanie – zwiększać pojemność pamięci podręcznej (Intel Pentium posiada dwa poziomy pamięci cache: pierwszy poziom w chipie i drugi na zewnątrz) Architektura komputerów, część 8 26 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego „Logiczne” zwiększanie pamięci głównej • • • • Program i dane muszą znajdować się podczas wykonywania w pamięci głównej. Zwykle jej wielkość nie pozwala na to i wielka część programu i danych znajduje się w pamięci wtórnej Wirtualna pamięć: (virtual address space) cały zasób pamięci wtórnej jest dostępny dla programów i danych, chociaż procesor odwołuje się wciąż tylko do pamięci głównej. Stosowane są nakładki (overlays) Pamięć wirtualna podzielona jest na strony (jednakowej długości) lub segmenty (równoznaczne z nakładką) o niejednakowej długości, dalej mogące być podzielone na strony Mechanizm obsługi pamięci wirtualnej jest podobny do podręcznej: należy sprawdzić adres odwołania i czy dana zawartość pamięci wtórnej jest w pamięci głównej, czy należy ją tam umieścić; do wymiany stosowane jest FIFO i LRU Architektura komputerów, część 8 27 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Różnice przy obsłudze pamięci podręcznej i wirtualnej • • • W pamięci podręcznej operuje się blokami o wymiarach kilku bajtów, przy pamięci wirtualnej wymieniane strony mają wielkość kilku kilobajtów (wielkość ta jest zmienna, zależnie od aplikacji i wielkości przeciętnych segmentów) Gdy w pamięci podręcznej następuje nietrafienie (miss) – procesor bezczynnie czeka na wpisanie bloku z głównej pamięci; dla przyśpieszenia tego procesu, obsługiwany jest on wyłącznie sprzętowo To samo w pamięci wirtualnej jest nazywane błędem strony (page fault), traktowanym jako wywołanie przez OS – procesor zostaje przełączony do innego zadania w czasie gdy strona jest przenoszona z pamięci wtórnej do głównej; obsługa tej procedury jest częściowo programowa, częściowo implementowana sprzetowo – MMU (memory management unit) Architektura komputerów, część 8 28 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Przykłady trybów MMU • • • Tryb płaski - Flat mode – przestrzeń adresowa jest pojedyncza i ciągła dla całego programu; razem znajdują się kod, dane i stosy procedur; typowa wielkość – 4 GB Tryb segmentowy – Segmented mode – kod programu, dane i stosy procedur są oddzielnie zarządzane przez oddzielne segmenty; procesor może zaadresować np. 16383 segmenty, każdy o pojemności 232 bajty (dane Intela) Tryb adresów rzeczywistych – Real – address mode – liniowa przestrzeń adresowa dla programu i systemu operacyjnego składa się z matrycy segmentów (64 KB każdy); maksymalny wymiar liniowej przestrzeni adresowej w tym trybie – 220 bajtów Architektura komputerów, część 8 29 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tryby odwołań do pamięci przez procesor • • • Protected Real-address System management (SMRAM) • Inne uwagi: - niektóre procesory w pamięci podręcznej zapisują wyłącznie programy (a nie dane) Architektura komputerów, część 8 30 KONIEC CZĘŚCI ÓSMEJ Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Dr inż. Małgorzata Langer Architektura komputerów „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