Architektura komputerów

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

Struktura i działanie jednostki centralnej

Programowanie Niskopoziomowe

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Architektura komputerów

Architektura typu Single-Cycle

Architektura komputerów

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

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

Podstawy Informatyki Języki programowania c.d.

Architektura komputerów

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

Wykład 4. Środowisko programistyczne

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

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

A Machine Architecture that is Really Intuitive and Easy. Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym

Rozszerzalne kody operacji (przykład)

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

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

Podstawy Informatyki Języki programowania

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

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Projektowanie. Projektowanie mikroprocesorów

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

Programowanie komputerów

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

Programowanie w asemblerze Linkowanie

Programowanie w C++ 1 Opis procesora Sextium II. Opis procesora Sextium. materiały dydaktyczne udostępnione przez Tomasza Wierzbickiego

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

Organizacja typowego mikroprocesora

Architektura komputerów. Asembler procesorów rodziny x86

Budowa systemów komputerowych

Mikrokontroler ATmega32. Język symboliczny

Język programowania: Lista instrukcji (IL Instruction List)

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

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

Podstawy programowania

Architektura komputerów

Architektura i administracja systemów operacyjnych

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

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

Magistrala systemowa (System Bus)

ARCHITEKTURA PROCESORA,

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

organizacja procesora 8086

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

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

Programowanie niskopoziomowe

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]

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

Systemy wbudowane. Przykłady kodu Assembler

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4

Podstawy programowania skrót z wykładów:

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada

Programowanie w języku Python. Grażyna Koba

Programowanie niskopoziomowe

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

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

Ćwiczenie nr 6. Programowanie mieszane

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

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

Architektura komputerów. Układy wejścia-wyjścia komputera

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Programowanie Niskopoziomowe

Adresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu.

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

Architektura komputerów

Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

Technika mikroprocesorowa I Wykład 2

Architektura komputerów

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET

Przetwarzanie potokowe pipelining

Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Programowanie hybrydowe C (C++) - assembler. MS Visual Studio Inline Assembler

System komputerowy. System komputerowy

Języki programowania zasady ich tworzenia

Wstęp do programowania. Wykład 1

Mikroprocesor Operacje wejścia / wyjścia

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Zaawansowane programowanie w języku C++ Przeciążanie operatorów

Java EE produkcja oprogramowania

Programowanie Niskopoziomowe

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

1 Podstawy c++ w pigułce.

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

ZARZĄDZANIE SIECIAMI TELEKOMUNIKACYJNYMI

Technologia informacyjna. Urządzenia techniki komputerowej

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Podstawy Programowania. Wykład 1

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Architektura komputerów Wprowadzenie do algorytmów

Zaawansowane programowanie w języku C++ Klasy w C++

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

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

Podstawowa architektura prostego komputera (ASC) Elementy komputera (sprzętu) Konsola Jednostka sterująca Rejestr adresów pamięci (MAR) Licznik programu (PC) Pamięć Jednostka arytm./ logiczna Rejestr stanu procesora Rejestr akumulatora (ACC) Rejestry indeksowe Rejestr bufora pamięci Rejestr instrukcji (IR) 2

ORGANIZACJA KOMPUTERA Definicja podstawowych funkcji komputera; dyskusja o formacie i sposobach wykonywania instrukcji, adresowaniu, wywoływaniu powtarzających się podprogramów, przechowywaniu i dostępie do danych, wykonywaniu programów użytkowych i innych; znaczenie programu operacyjnego 3

Zasada działania ASC Program jest przechowywany w pamięci Instrukcja pobierana jest z pamięci do jednostki sterującej i wywoływane przez nią operacje są wykonywane Licznik programu zawiera adres instrukcji, która ma być pobrana z pamięci (zwiększany jest przez jednostkę sterującą przy końcu procedury pobrania instrukcji) Instrukcja pobierana jest do Rejestru Instrukcji (IR) Układy dołączone do IR (hardware) dekodują instrukcję i generują odpowiednie sygnały sterujące do wykonania operacji ACC (Rejestr akumulatora) zbiera wyniki operacji logicznych i matematycznych Rejestry indeksowe pomagają w manipulacji adresami PSR wskazują status ACC, przeniesienie, nadmiar, pozwolenie na przyjęcie przerwania 4

Adresowanie pamięci - słowo Słowo pamięci to najczęściej zapisywana i pobierana jednostka danych. Mogą być słowa 8, 16, 32, 64 bitowe; używane są również 6 i 36 bitowe Można adresować połówki i ćwiartki słów oraz wielokrotności (podwójne i poczwórne słowa) Długość słowa adresującego pamięć implikuje ilość pojedynczych słów, które możemy zaadresować, np. przy 16 bitowym słowie, będzie to 216 = 65536 czyli 64K słów; przy 32 bitowym 232 ale przy 8 bitowym jedynie 28 = 256 5

Format danych i instrukcji W ASC pamięć jest matrycą słów, np. 16-bitowych, przy czym każde słowo ( wiersz matrycy ) może być albo daną, albo instrukcją. Interpretacja zależy od kontekstu. Format danych np. stałopozycyjna arytmetyka (sposoby zapisu były omawiane wcześniej) Format instrukcji: Opcode flags (indirect, index) Address OPCODE kod danej operacji, którą potrafi wykonać sprzęt (tzw. primitive) Indirect flag (pośredni wskaźnik) ustawiony na 1, jeżeli będzie adresowanie pośrednie, 0, jeżeli bezpośrednie Index flags wybierają jeden z indeksowych rejestrów przy indeksowanych adresach, lub jeżeli instrukcja przywołuje indeksowy rejestr 6

Format instrukcji Ilość bitów w części adresowej instrukcji wyznacza obszar pamięci, w którym muszą się znaleźć instrukcje programu Ze względu na to, czy instrukcje są wykonywane bez pobierania danych, z pobraniem jednego adresu lub więcej, rozróżnimy trzy klasy formatów. PRZYKŁADY INSTRUKCJI PODAWANE SĄ Z ZAKRESU HDL Bez adresu np. HLT (stop) W części Opcode jest całkowita instrukcja. HLT wskazuje logiczny koniec programu i zatrzymuje maszynę przed pobieraniem następnej instrukcji (nawet, gdyby takie były) Inne przykłady, to SHL (shift left), SHR (shift right), TCA uzupełnienie do 2; te operacje są wykonywane na zawartości ACC 7

Klasy instrukcji c.d. Instrukcje z jednym adresem podają lokalizację w pamięci, która zostanie użyta razem z ACC w danej instrukcji, np. LDA (ładuj - load); format instrukcji: LDA MEM ACC (z zawartości adresu MEM pobierz zawartość do ACC; zawartość pamięci nie zmieni się) Inne przykłady: STA (zapisz store zawartość ACC pod wskazany adres; nie zmieniaj zawartości ACC), ADD (dodaj zawartość pamięci do ACC; zawartość pamięci nie zmieni się) BRU instrukcja skoku bezwarunkowego do adresu... BIP instrukcja warunkowa (IF - jeżeli) Instrukcje z dwoma adresami typu input/output RWD (czytaj z urządzenia wejściowego i zapisz do ACC zawartość poprzednia zostanie utracona), WWD zapisz do urządzenia wyjściowego, zawartość ACC (nie zmieni się) 8

Tryby adresowania Tryby adresowania zależą od języka programowania oraz struktury danych, które stosowane są w maszynie. Zostaną omówione szerzej przy omawianiu dostępu do pamięci. Adresowanie może być bezpośrednie (Direct), lub indeksowane (indexed) Na przykładzie instrukcji load LDA MEM ACC (z zawartości adresu MEM pobierz zawartość do ACC; zawartość pamięci nie zmieni się) LDA Z pobierz dane z efektywnego adresu Z LDA Z, 2 pobierz dane spod adresu: Z + rejestr indeksowany, czyli z rejestru o numerze 2 Jeżeli w rejestrze nr 2 będzie zapisana np. wartość 4, to do akumulatora zostanie wpisana wartość spod adresu Z+4 Zawartość indeksowanego rejestru może rozszerzyć obszar pamięci 9

Rozszerzenie obszaru pamięci Załóżmy, że długość rejestru Z wynosi 8 bitów; wtedy zakres adresowania pamięci wynosi 256 możliwych lokalizacji Jeżeli offset, czyli rejestr indeksowany będzie miał 16 bitów efektywny adres będzie mógł być z zakresu 64K Przy programowaniu można zmieniać zawartości indeksowanych rejestrów, dynamicznie zmieniając adresowanie pamięci Tryb indeksowy wykorzystywany jest zawsze przy odwoływaniu się do elementów tablic (pole adresowe instrukcji wskazuje pierwszy element, a następne wskazywane są poprzez zwiększanie rejestru indeksowanego) 10

Adresowanie pośrednie LDA*Z gwiazdka po instrukcji wskazuje na adresowanie pośrednie Zawartość pola o adresie Z wskazuje adres, gdzie znajduje się dana, która ma zostać wpisana do akumulatora Również adresowanie pośrednie może służyć do rozszerzenia zakresu adresowania pamięci Przy programowaniu wykorzystywane ze wskaźnikiem (pointer), który może wskazywać różne zakresy danych 11

Jednoczesne użycie adresowania pośredniego i indeksowanego LDA*Z,2 Logicznie: można wykonać wpierw indeksowanie (czyli przesunąć adres Z) a potem adresowanie pośrednie (z obliczonego adresu pobrać adres danej do umieszczenia w akumulatorze) tzw.: Preindexed-Indirect można wykonać wpierw adresowanie pośrednie (pobrać adres danej) a później indeksowanie (czyli obliczyć nowy adres) tzw.: Postindexed-Indirect Dana implementacja umożliwia JEDEN sposób 12

Język maszynowy Używane są wyłącznie ciągi zer i jedynek. Adresowanie jest wyłącznie bezpośrednie Praktycznie nie jest możliwe (a przynajmniej stosowane) bezpośrednie pisanie programu w takiej postaci ale do takiej postaci program zostanie przetłumaczony Do tłumaczenia służą asemblery i kompilatory, które przekształcają programy pisane w asemblerze lub językach wyższego poziomu na język maszynowy W przeszłości były używane języki interpretowane (Basic), gdzie Interpretator przekształcał na język maszynowy linijka po linijce podczas wykonywania programu 13

Asembler Składa się z sekwencji instrukcji kodowanych tzw. Mnemonikami oraz adresów. Każda instrukcja składa się z 3 lub 4 pól: - label (etykieta) - mnemonic (standardowy trzyliterowy ciąg liter wskazujący na instrukcję; gwiazdka, jako czwarty znak wskazuje na pośrednie adresowanie) - operand (zawiera absolutny lub symboliczny adres; jeżeli występuje adresowanie z rejestrem indeksowanym, to umieszcza się go po przecinku) - komentarze (pole opcjonalne, zaczyna się od kropki i asembler ignoruje to pole) 14

Etykieta Ciąg znaków alfanumerycznych Etykieta jest symboliczną nazwą, wskazującą lokalizację w pamięci, gdzie znajduje się sama instrukcja Nie trzeba nadawać etykiety dla każdej instrukcji, tylko dla takich, które wywoływane są wielokrotnie z wnętrza programu Pierwszy znak musi być literą lub gwiazdką * (gwiazdka) na początku oznacza, że cała instrukcja jest tylko komentarzem (nie będzie wykonywana) 15

Instrukcje i pseudoinstrukcje Instrukcja jest wykonywalna (executable instruction); asembler generuje dla każdej instrukcji w asemblerze instrukcję w języku maszynowym - wszystkie podane wcześniej przykłady instrukcji Pseudoinstrukcja, (lub dyrektywa dla asemblera assembler directive) służy do sterowania procesem, zarezerwowania pamięci, ustalenia stałych nie powstaje dla niej instrukcja w języku maszynowym; najczęściej umieszcza się pseudoinstrukcje na początku programu - np. Z BSS 5 (block storage starting - rezerwuje 5 lokalizacji poczynając od pierwszego adresu o nazwie Z) 16

Proces wykonywany przez asembler Asembler musi spełnić dwie funkcje: - wygenerować adres dla każdej symbolicznej nazwy w programie źródłowym - wygenerować ekwiwalent w kodzie binarnym dla każdej instrukcji Proces asemblera zwykle dokonywany jest w dwóch przejściach: - pierwsze przejście dla zabezpieczenia lokalizacji pamięci dla każdej symbolicznej nazwy użytej w programie - w drugim przejściu wpisane są rozwiązania dla wszystkich odwołań do tych nazw Jeżeli wszystkie nazwy muszą zostać zadeklarowane przed odwołaniem wystarcza jedno przejście 17

Ładowanie programu Kod wynikowy (object code) musi zostać załadowany do pamięci maszyny, zanim zostanie wykonany Dokonuje tego loader (zapisany na stałe znacznik, wskazujący na początkowy adres programu, lub inicjujący jego wczytanie z urządzenia zewnętrznego) 18

Podprogramy (subroutines) Jest to część kodu większego programu, która wykonuje szczególne zadanie i jest niezależna od kodu pozostałego Niektóre języki (np. Pascal, Fortran) rozróżniają funkcje (zwracają wartość) i procedury (nie zwracają wartości) Inne (np. C lub LISP) traktują wszystkie podprogramy jednakowo Wywołanie podprogramu oznacza skok do pierwszej instrukcji podprogramu (instrukcja JMP). Zakończenie podprogramu skutkuje powrotnym skokiem do tego samego punktu w programie, z którego był wywołany podprogram (powrót) Ponieważ ten sam podprogram może być wywoływany w danym programie wiele razy adres powrotu (return address) musi być zapisany w pamięci 19

Podprogramy c.d. Możliwe jest zagnieżdżanie podprogramów (nested call) czyli podprogram wywołuje kolejny podprogram) trzeba zabezpieczyć wtedy pierwotny adres powrotu przed utraceniem; adresy powrotu składowane są najczęściej na stosie, co umożliwia odtworzenie całej sekwencji zagnieżdżania Podprogramy mogą potrzebować dodatkowych danych, przygotowywanych wcześniej przez główny program oraz przekazywać przetworzone dane do programu. Należy zabezpieczyć prawidłowe zawartości akumulatora i rejestrów przed wywołaniem podprogramu a później przed skokiem powrotnym (również wykorzystuje się tu stos). 20

Makroinstrukcje Jest to grupa instrukcji, która zostaje zakodowana tylko raz i później, w programie, może być używana tyle razy, ile potrzeba Inaczej niż podprogramy wywołanie makro skutkuje podstawieniem grupy instrukcji, które składają się na makro. Nie ma skoku. Można przekazywać parametry do makro-instrukcji; przy podstawieniu instrukcji, każdy parametr zostanie zastąpiony wartością z wywołania 21

Przykład makroinstrukcji Makroinstrukcja o nazwie DOD, która doda wartości A i B i umieści je w C (czyli A, B, C są parametrami) MACRO DOD (A, B, C) LDA A ADD B STA C ENDM Wywołanie tej makroinstrukcji w programie będzie miało postać: DOD(X, Y, Z) Asembler zastąpi DOD trzema instrukcjami, które się na tę makroinstrukcję składają; po asemblacji, A, B i C nie są już widoczne (program widzi tylko X, Y, Z) 22

Linker W praktyce program będzie się składał z programu głównego i kilku podprogramów (modułów). Moduły mogą pochodzić albo z wcześniej zdefiniowanej biblioteki, albo być przygotowane dla danej, szczególnej aplikacji Moduły tłumaczone są na kod maszynowy niezależnie od głównego programu Podczas asemblacji program łączący (linker) wstawia kod maszynowy danego modułu do danego pojedynczego programu głównego Linker musi rozwiązać odwołania do symboli i zastąpić je właściwymi adresami Często linker musi również zmienić wartości adresów skoków, zapamiętywania, ładowania oraz zadbać, aby poszczególne podprogramy nie nakładały się na siebie 23

Łączenie dynamiczne Dopiero załadowanie programu będzie dokonywało ostateczego łączenia. Wcześniej, program będzie zawierał niezdefiniowane symbole i listę modułów i/lub bibliotek Oszczędzamy miejsce (często używane moduły są składowane raz, nie są częścią zapisanych programów co znacznie zwiększałoby ich wielkość) Możemy wymieniać poszczególne moduły lub biblioteki (również poprawiać znajdujące się w nich błędy) i nic nie zmieniać w programach W Microsoft Windows dynamically linked libraries to DLL 24

Łączenie dynamiczne c.d. Większość systemów opartych na Unixie posiada search path, która podaje katalogi systemowe, w których należy szukać bibliotek dynamicznych Niektóre systemy podają ścieżki w pliku konfiguracji W niektórych na trwale zapisane są adresy w programie ładującym (loader) API (application program interface) linker działający w momencie wywołania przez aplikację (stosowane we wszystkich współczesnych systemach operacyjnych) Wada łączenia dynamicznego jeżeli zostanie dokonana nieodpowiedzialna zmiana w przechowywanych bibliotekach programy lub cały system przestaną działać. 25

System operacyjny Z perspektywy komputera jest to program najbliżej powiązany ze sprzętem dystrybutor zasobów (resource allocator) Jest to program sterujący (control program) nadzorujący działanie programów uzytkownika oraz obsługą i kontrolą pracy urządzeń wejścia wyjścia System operacyjny, jest to ten program, który działa w komputerze przez cały czas i nazywany jest jądrem (kernel) W 1998 roku rozpoczął się pierwszy (do dzisiaj było już ich wiele) proces przeciwko Microsoft o zaliczanie zbyt wielu funkcji komputera do systemu operacyjnego i uniemożliwienie tym samym konkurencji ze strony dostawców aplikacji (programów użytkowych) 26

System operacyjny definicje zadań Celem systemu operacyjnego jest wygoda użytkownika Celem OS jest zapewnienie wydajnego działania systemu komputerowego Są to często sprzeczne ze sobą wymagania Systemy operacyjne i architektura komputerów wywarły i wywierają na siebie wzajemny wpływ Znaczący wpływ na rozwój OS wywarły sieci komputerowe, wprowadzając sieciowe systemy operacyjne (NOS network operating system) 27

Program rozruchowy Bootstrap program wstępny program potrzebny, aby komputer mógł rozpocząć pracę (po włączeniu do zasilania). Określa on stan początkowy wszystkich elementów systemu, poczynając od rejestrów jednostki centralnej, poprzez sterowniki urządzeń, aż po zawartość pamięci Musi wiedzieć, jak załadować system operacyjny i rozpocząć jego działanie musi zlokalizować i wprowadzić do pamięci jądro systemu operacyjnego; OS rozpoczyna wówczas wykonanie pierwszego procesu (w Unixie jest to INIT) i zaczyna czekać na wystąpienie jakiegoś zdarzenia. Przechowuje się go w pamięci stałej, tylko do odczytu (ROM read only memory), aby nie mógł zostać skasowany 28

KONIEC CZĘŚCI CZWARTEJ 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