50
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” 90-924 Łódź, ul. Żeromskiego 116, tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl Dr inż. Małgorzata Langer Zadanie nr 30 – Dostosowanie kierunku Elektronika i Telekomunikacja do potrzeb rynku pracy i gospodarki opartej na wiedzy Architektura komputerów Architektura komputerów Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja. Studia I stopnia Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja. Studia I stopnia

Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Embed Size (px)

Citation preview

Page 1: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

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”

90-924 Łódź, ul. Żeromskiego 116,tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl

Dr inż. Małgorzata Langer

Zadanie nr 30 – Dostosowanie kierunku Elektronika i Telekomunikacja

do potrzeb rynku pracy i gospodarki opartej na wiedzy

Architektura komputerówArchitektura komputerów

Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja.

Studia I stopnia

Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja.

Studia I stopnia

Page 2: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

2

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Cel przedmiotuCel przedmiotu

• Program przedmiotu „Architektura komputerów” ma za zadanie pokazać podstawowe funkcje i działanie różnych bloków systemu komputerowego oraz zdefiniować interfejsy pomiędzy tymi blokami.

• Jednakowa waga będzie przykładana do następujących aspektów:

- organizacji komputera widzianej „okiem programisty”- opisu sprzętu spostrzeganego „okiem projektanta elektronika”- szczegółowego logicznego opisu działania systemu komputerowego (wraz z funkcjami systemu operacyjnego)

Page 3: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

3

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

PROGRAM PRZEDMIOTU PROGRAM PRZEDMIOTU

• Wstęp. Organizacja systemu komputerowego: sprzęt, oprogramowanie, system operacyjny

• Ewolucja systemów komputerowych: model von Neumanna, kolejne generacje technologii, ocena działania – definicje parametrów, referencyjne kryteria [benchmarks]

• Systemy liczbowe i kody- systemy liczbowe, konwersja, - działania arytmetyczne, - standardy IEEE dotyczące precyzji liczb- kody binarne- przechowywanie danych, liczby, tablice, rekordy

Page 4: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

4

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

. . .. . .

• Podstawy techniki cyfrowej – kombinatoryka

- podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki funkcjonalne w kombinatoryce, logika „dodatnia” i „ujemna”- obciążenie i przebiegi czasowe- układy synchroniczne- układy sekwencyjne- przerzutniki i rejestry- matryce programowalne

Page 5: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

5

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

. . .. . .

• Podstawowa architektura komputeraA. W ASPEKCIE ORGANIZACJI- formaty danych i instrukcji- ustawienie instrukcji- tryby adresowe, ograniczenia- języki programowania maszynowego, asemblery- procedury, ładowanie programów, makro-instrukcjeB. W ASPEKCIE BUDOWY- wykonywanie programu- przepływ danych, instrukcji i adresów- magistrala i jej architektura- urządzenia wejścia/wyjścia – model ogólny- ALU (jednostka arytmetyczna i logiczna), jednostka sterująca, rodzaje instrukcji, programowalna jednostka sterująca

Page 6: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

6

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

. . .. . .

• Urządzenia peryferyjne- przebiegi czasowe, sterowanie, konwersja danych, detekcja i korekta błędów- przerwania- dostęp do pamięci- dostęp do urządzeń I/O- konwertery A/D i D/A

• Procesor- rodzaje procesorów i systemów komputerowych- zestawy instrukcji- tryby adresowania- rejestry i pamięć- procesor RISC versus CISC- przykłady procesorów

Page 7: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

7

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

. . .. . .

Pamięć

- rodzaje pamięci, podział ze względu na dostęp, funkcje, budowę

- parametry układów pamięci

- organizacja i układy pamięci

- pamięci dyskowe

- pamięć podręczna (cache)

- zwiększenie pojemności, prędkości, optymalizacja wykorzystania

Page 8: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

8

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

. . .. . .

• Rozszerzone funkcje procesorów- przetwarzanie równoległe- nakładki systemu- pamięć typu cache i bufory instrukcji- przerwania- pamięć dzielona

• Sieci wieloprocesorowe na przykładzie Cray- terminologia- topologie statyczne i dynamiczne- protokoły routingu- architektura MISD, SIMD, MIMD

Page 9: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

9

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

. . .. . .

• Systemy wbudowane (embedded systems)- schematy oprogramowania- system operacyjny – wielozadaniowość i wielowątkowość, obsługaprocesów,- systemy operacyjne w czasie rzeczywistym- mikroprocesor ARM (advanced RISC Machine)

• Ocena działania- mierniki szybkości działania, kosztu- optymalizacja

Page 10: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

10

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

. . .. . .

• Sieci komputerowe- architektura sieci, przykładowe modele- standardy i protokoły, funkcje OSI- Internet

• Przetwarzanie rozproszone- maszyny wirtualne- nitki i wątki- zdalne wywoływanie procedur- synchronizacja- algorytmy obliczeniowe

Page 11: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

11

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

ZaliczenieZaliczenie

• Laboratorium składa się w I części z pięciu trzygodzinnych zajęć, do których studenci otrzymają szczegółowe instrukcje opisujące wykonanie ćwiczenia i sposób opracowania sprawozdania oraz w części II z wykonanego w trzyosobowych grupach zadania projektowego, konsultowanego i wspomaganego przez prowadzącego w ramach kolejnych pięciu trzygodzinnych zajęć –zakończonego raportem

• OCENA KOŃCOWA będzie się składać w 60% z zaliczenia materiałów z wykładu (kolokwium pisemne) oraz 40% z laboratorium

Page 12: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

12

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Proponowana literatura uzupełniająca wykładProponowana literatura uzupełniająca wykład

• „Organizacja i architektura systemu komputerowego”, W. Stallings• „Komputer Osobisty IBM PC”, M. Kleiber, R. Szuniewicz• „Computer Organization, Design and Architecture”, S.G. Shiva• „Podstawy systemów operacyjnych”, A. Silberschatz,m P.B. Galvin,

G. Gagne• „Architektura Komputerów”, J. Biernat

• Strony internetowe, katalogi, czasopisma, …

Page 13: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

13

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

ARCHITEKTURA a ORGANIZACJA KOMPUTERAARCHITEKTURA a ORGANIZACJA KOMPUTERA

• Architektura – jest widzialna dla programisty; uwzględnia te atrybuty systemu, które mają wpływ na logiczne wykonywanie programu’ np.:lista rozkazów, mechanizmy wejścia – wyjścia, sposób adresowania pamięci, …

• Organizacja – odnosi się do jednostek operacyjnych i ich połączeń, które stanowią realizację specyfikacji typu architektury, np.:interfejsy, sygnały sterujące

• Przykład: to, czy w systemie istnieje rozkaz mnożenia, jest zagadnieniem architektury, natomiast to, jak ten rozkaz ma być wykonywany – zagadnieniem organizacji

Page 14: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

14

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Wstęp. Organizacja systemu komputerowegoWstęp. Organizacja systemu komputerowego

• sprzęt• oprogramowanie• system operacyjny

Sprzęt komputerowy

Sprzęt komputerowy

System operacyjnySystem operacyjny

KOMPILATOR ASEMBLER BAZA DANYCH EDYTOR * * * EDYTORTEKSTU GRAFIKI

PROGRAMY SYSTEMOWE I UŻYTKOWE

KOMPILATOR ASEMBLER BAZA DANYCH EDYTOR * * * EDYTORTEKSTU GRAFIKI

PROGRAMY SYSTEMOWE I UŻYTKOWE

Użytkownik 1Użytkownik 122 33 ……

Elementy systemu komputerowego

Elementy systemu komputerowego

Page 15: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

15

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

System komputerowySystem komputerowy

• System komputerowy to urządzenie, lub zespół urządzeń (cyfrowych?) do przetwarzania, gromadzenia i wyszukiwania informacji za pomocą odpowiedniego oprogramowania

• Zasadniczym zadaniem systemu komputerowego jest przetwarzanie wprowadzonych (wejściowych) danych tak, aby wyniki (dane wyjściowe) mogły być (z lepszym skutkiem, łatwiej) zastosowane w szczególnej aplikacji –w szczególnym otoczeniu

• System komputerowy jest powiązany z otoczeniem przez urządzenia peryferyjne i/lub linie komunikacyjne

Page 16: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

16

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Sprzęt (ang. hardware)Sprzęt (ang. hardware)

• Cztery główne elementy blokowe występują we wszystkich systemach komputerowych:- jednostka sterująca, CU (Control Unit); centralna CPU;procesor zawierająca odrębną funkcjonalnie:

* jednostkę arytmetyczną i logiczną – ALU (Arithmetic & LogicUnit);- pamięć – MU (Memory Unit), pamięć główna - MM; - jednostka wejścia/wyjścia – IOU lub I/O (Input/Putput Unit);

Komputery są zawodne, ale ludzie jeszcze bardziej (Ed. Murphy) ☺

Komputery są zawodne, ale ludzie jeszcze bardziej (Ed. Murphy) ☺

Page 17: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

17

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Funkcje komputeraFunkcje komputera

• Są 4 podstawowe funkcje, które może realizować komputer:- przetwarzanie danych- przechowywanie danych- przenoszenie danych- sterowanie

Środowisko aplikacyjne(źródło/miejsce przeznaczenia

danych)

Środowisko aplikacyjne(źródło/miejsce przeznaczenia

danych)

Przemieszczanie danych

Przemieszczanie danych

Urządzenie sterujące

Urządzenie sterujące

Przechowywanie danych

Przechowywanie danych

Przetwarzanie danych

Przetwarzanie danych

Funkcjonalny obraz komputeraFunkcjonalny obraz komputera

Page 18: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

18

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Oprogramowanie (ang. software)Oprogramowanie (ang. software)

• Elementami systemu komputerowego są w przeważającej większości urządzenia elektroniczne, w których podstawową jednostką informacji jest albo „0”, albo „1” – odpowiadające dwóm stanom sygnału elektrycznego

• Programy i dane dla nich muszą więc być wyrażone przy użyciu notacji dwójkowej („alfabetu binarnego” zawierającego tylko dwa znaki: 0 i 1). Programy napisane w kodzie dwójkowym to programy w języku maszynowym

• Programowanie tylko przy zastosowaniu ciągu zer i jedynek byłobyprawie niemożliwe. Część podstawowych, prostych (tzw. primitives) instrukcji, jak przesuwanie (shift), dodawanie (add) odejmowanie (sub) itp. ma swoją znakową postać – język asemblera, którą może posługiwać się programista a zrozumie ją ASEMBLER dla danego sprzętu (tłumaczy język asemblera na kod maszynowy).

Page 19: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

19

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Oprogramowanie – c.d.Oprogramowanie – c.d.

• Języki wyższego poziomu (C, C++, JAVA, DELPHI, …) mogą być używane niezależnie od sprzętu. Potrzebny jest KOMPILATOR (inny dla każdego języka), który przetłumaczy program napisany w języku wyższego poziomu na język maszynowy

• PAMIĘTAJ: Asembler i kompilator są PROGRAMAMI

Program w asemblerzeProgram w asemblerze ASEMBLERASEMBLER

Program w jęz. wyższego poziomu

Program w jęz. wyższego poziomu KOMPILATORKOMPILATOR

Program w języku

maszynowym

Program w języku

maszynowymZaładowanieZaładowanie

Page 20: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

20

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

System operacyjnySystem operacyjny

• Operacje takie, jak wybór odpowiedniego kompilatora, załadowaniekodu do pamięci, start, stop, itp. Są wykonywane automatycznie

• Zestaw programów nadzorujących, który pozwala na takie automatyczne działanie to SYSTEM OPERACYJNY

• System operacyjny i niektóre programy użytkowe oraz dane, zwłaszcza o sprzęcie, które nie powinny być modyfikowane ani kasowane, rezydują często w pamięci typu „tylko do odczytu” (read-only). Takie oprogramowanie nazywane jest firmware

Nie można żadnego urządzenia zrobić "odpornym na głupotę", ponieważ głupcy

są genialni. ☺

Nie można żadnego urządzenia zrobić "odpornym na głupotę", ponieważ głupcy

są genialni. ☺

Page 21: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

21

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

System operacyjny OS – (ang. Operating System)System operacyjny OS – (ang. Operating System)

• Program, który działa jako interfejs między użytkownikiem a sprzętem komputerowym

• Oprogramowanie, które steruje wykonywaniem programów przez procesor i zarządza jego zasobami

• Szereguje procesy (zadania); umożliwia współbieżne wykonywanie programów, itd.

• Zarządza pamięcią, również tworzy pamięć wirtualną• JEST SPRZĘTOWO ZALEŻNY OD PROCESORA

Page 22: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

22

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Warstwy systemu komputerowegoWarstwy systemu komputerowego

Page 23: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

23

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Ewolucja systemów komputerowychEwolucja systemów komputerowych

• Pierwsze liczydło (abacus) powstało ponad 3000 lat przed narodzeniem Chrystusa, w Środkowej Azjiliczydła są wciąż używane

• W XVII wieku, we Francji, Pascal wymyślił i wykonał pierwszy mechaniczny kalkulator („Pascalina” - rys.), (chociaż niektórzy przypisują pierwszy kalkulator Niemcowi – W. Schickard)

Kalkulator pozwalał na sumowanie

ośmiocyfrowych liczb

Kalkulator pozwalał na sumowanie

ośmiocyfrowych liczb

Zdjęcia pochodzą z zasobów InternetuZdjęcia pochodzą z zasobów Internetu

Page 24: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

24

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

……• Suwaki logarytmiczne – połowa XVII w. – „kości Napiera” (J. Napier

– szkocki teolog i matematyk; kości – bo wykonane z kości słoniowej) a kilka lat później „prawdziwy” suwak – W. Oughtred

• G. Leibnitz (Niemiec) w 1694 r. zaprojektował kalkulator, który dodawał, odejmował, mnożył, dzielił i pierwiastkował;wprowadził system binarny

Zdjęcia pochodzą z zasobów InternetuZdjęcia pochodzą z zasobów Internetu

Page 25: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

25

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

……

• W 1801 r. Jacquard zastosował perforowane karty (przy tworzeniu wzorzystych tkanin)

• W 1822 r. Anglik – C. Babbage opracował maszynę (parową!), która liczyła równania różniczkowe („Difference Engine”)

• W tym samym czasie C. Babbage zaprojektował (NIGDY TA MASZYNA NIE POWSTAŁA) maszynę analityczną, gdzie 3 zestawy kart perforowanych miałyby być używane dla: wprowadzenia programu, danych wejściowych, wyprowadzenia wyników.PROJEKT BYŁ PRAWDOPODOBNIE PIERWSZYM W ŚWIECIE OPISEM NOWOCZESNEGO KOMPUTERA

W projekcie brała udział programistka – pierwsza kobieta – Ada Lovelace – Jej imieniem nazwano jeden

ze współczesnych języków programowania

W projekcie brała udział programistka – pierwsza kobieta – Ada Lovelace – Jej imieniem nazwano jeden

ze współczesnych języków programowania

Page 26: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

26

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

……

• W XIX wieku, ze względu na gwałtowny wzrost liczby ludności, władze administracyjne USA rozpisały konkurs na urządzenie wspomagające wykonanie spisu powszechnego.

• Wygrał Herman Hollerith z maszyną tabulacyjna, która sortowała i podsumowywała dane dostarczane na kartach perforowanych.

• Urządzenie było stosowane do początków II wojny światowej.• Dyskontując sukces maszyny tabulacyjnej Hollerith założył świetnie

prosperujące przedsiębiorstwo (1896r.) Tabulating MachineCompany, które po wchłonięciu kilku podobnych przedsiębiorstw przyjęło nazwę International Business Machines (IBM)

• Pierwsza połowa XX wieku – to dalszy rozwój urządzeń elektromechanicznych (np. w Europie Z1 i Z3 – Niemcy – Konrad Zuse) A już w 1904 i odpowiednio 1906 roku, powstały dioda i trioda.

Na zastosowanie musiały czekać wiele lat…

A już w 1904 i odpowiednio 1906 roku, powstały dioda i trioda.

Na zastosowanie musiały czekać wiele lat…

Page 27: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

27

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Pierwsze nowoczesne komputery - USAPierwsze nowoczesne komputery - USA

• Gwałtowny rozwój elektroniki nastąpił w latach II wojny światowej, w USA, zwłaszcza w Bell Laboratories i na uniwersytetach Harvard i Princeton

• 1941 – 44 MARK I – jeszcze urządzenie elektromechaniczne, wejście i wyjście danych na kartach perforowanych a program na papierowej taśmie perforowanej mnożenie 10-cyfrowych liczb w czasie 10 sekund ☺

• Około 1942 – komputer ABC – połączenie procesora z urządzeniem pamięciowym

• POCZĄTEK NOWEJ ERY – ENIAC – Electronic NumericalIntegrator And Calculator) – 1946 rok – Eckert i Mauchly

Page 28: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

28

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

ENIACENIAC

• Wykorzystano lampy elektronowe i przekaźniki• Program (sekwencja instrukcji) był przechowywany w pamięci • Komputer posiadał pulpit sterowniczy, gdzie należało dokonywać

nowych połączeń przewodami dla każdej sekwencji liczenia• 18 tysięcy lamp elektronowych. Średni czas bezawaryjnej pracy –

około pół godziny• W plątaninie kabli, w zakamarkach, gnieździły się myszy i szczury,

pluskwy i prusaki – powodując częste zwarcia. To od nich powstała nazwa DEBUGGER – odpluskwiacz, którą przejęły później programy usuwające wady programów ☺

Page 29: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

29

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Page 30: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

30

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

EDVAC, EDSAC, …EDVAC, EDSAC, …

• John von Neumann, członek grupy Eckert – Mauchly opracował pierwszy komputer z przechowywanym w pamięci programem,z wykorzystaniem skoku i instrukcji warunkowej – pierwsza wersja w 1945 roku.

• Wilkes wprowadził koncepcję pamięci hierarchicznej – pierwotnej i wtórnej

• Pierwsze 10 lat po II wojnie światowej – to odkrycie tranzystora bipolarnego (i wprowadzenie go – wpierw germanowego a później krzemowego, do produkcji), pierwszych pamięci magnetycznych, konstrukcja pierwszej drukarki, pierwszego włókna optycznego…

• W tym czasie powstają pierwsze języki programowania – ShortOrder Code, translator AO, Fortran (IBM)…

• 1956 r. – IBM opracowuje pierwszy twardy dysk a rok wcześniej pierwszy system operacyjny – Gene AMDAHL

Page 31: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

31

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

EDVAC – Maszyna von NeumannaEDVAC – Maszyna von Neumanna

• Poniżej wymienione cechy pozwalają, by system komputerowy mógł być przełączany z wykonania jednego zadania (programu) na inne bez fizycznej ingerencji w strukturę systemu, a tym samym gwarantują jego uniwersalność:

System komputerowy powinien posiadać:• Skończoną i funkcjonalnie pełną listę rozkazów• Możliwość wprowadzania programu do systemu poprzez urządzenia

zewnętrzne i przechowywanie go W PAMIĘCI - W TEN SAM SPOSÓB, CO DANYCH

• Procesor (lub jednostkę przetwarzającą i sterującą), który w jednakowy sposób może pobierać dane i instrukcje z pamięci

• Urządzenie sterujące, które pobiera, interpretuje i wykonuje instrukcje z pamięci

• Urządzenie wyjściowe – aby dostarczyć wyniki użytkownikowi

Page 32: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

32

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Architektura von NeumannaArchitektura von NeumannaMAR – Memory Address Register

MBR (lub MDR) – Memory Buffer(Data) Register

ACC – Accumulator

MAR – Memory Address Register

MBR (lub MDR) – Memory Buffer(Data) Register

ACC – Accumulator

[S.G.Shiva, „Computer Organization…][S.G.Shiva, „Computer Organization…]

Page 33: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

33

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

ALUALU

• Jednostka arytmetyczno-logiczna wykonuje operacje na dostarczonych jej danych; podstawowy zestaw to: dodawanie, podstawowe operacje logiczne (AND, XOR, OR, NOT), oraz przesunięcia bitowe w lewo i w prawo. Po wykonaniu zadania oddaje zarówno wynik operacji jak również tzw. Bity warunkowe (Flags) takie jak znak (dodatni/ujemny), Overflow, Carry.

• ALU przetwarza całe słowa w jednym cyklu. Nie posiada własnej pamięci, poza pamięcią służącą do przechowywania wyników (ACC)

• Dzisiaj, praktycznie wszystkie popularne komputery klasy PC posiadają strukturę stworzoną przez Neumanna, dlatego też noszą miano maszyn von Neumanna.

Page 34: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

34

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Ogólny układ komputeraOgólny układ komputera

[S.G.Shiva, „Computer

Organization…]

[S.G.Shiva, „Computer

Organization…]

BUS - magistralaBUS - magistrala

Page 35: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

35

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Architektura von Neumanna - wadyArchitektura von Neumanna - wady

• Programy i dane przechowywane są w jednej pamięci o budowie sekwencyjnej, co może tworzyć „wąskie gardło” w dostępie do pamięci

• Nie ma żadnego wyraźnego rozróżnienia w zapisie binarnym danych i instrukcji a takie rozróżnienie jest dla CPU niezbędne.

• Języki programowania wysokiego poziomu używają różnych struktur zapisywania danych – tutaj mamy jednowymiarowa pamięć i do jednego wymiaru wszystkie typy danych muszą zostać sprowadzone

• Prezentacja danych nie zawiera żadnej informacji o typie (np.: jak odróżnić literę od cyfry). Musi to zostać dokonane przez logikę programu.

Page 36: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

36

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

……

• Dlatego model von Neumanna jest tylko ogólnym modelem; wymaga od kompilatorów bardzo dobrego mapowania pamięci przy wpisywaniu kodu wykonywalnego przez sprzęt.

• Powyższą cechę informatycy nazywają „luką semantyczną”• Nowoczesne kompilatory zawężają skutecznie tę lukę…• Rozwój technologii elektronicznych, szybkości sprzętu, pojemności

pamięci – znacznie zwiększały prędkość podstawowej struktury w modelu von Neumanna

• Rozdzielenie ścieżek: dla adresowania i instrukcji oraz adresowania i danych, co pozwoliło na równoczesny dostęp do instrukcji i danych przez CPU jest podstawą „Architektury Harwardzkiej”

Page 37: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

37

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Architektura HarvardzkaArchitektura Harvardzka

[S.G.Shiva, „ComputerOrganization…]

[S.G.Shiva, „ComputerOrganization…]

Przyniosła ideę przetwarzania równoległegoPrzyniosła ideę przetwarzania równoległego

Page 38: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

38

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Kolejne generacje technologii komputerowychKolejne generacje technologii komputerowych

• Pierwsza generacja (1945-1955) – technologia oparta na lampach elektronowych

• Druga generacja (1955-1965) – technologia oparta na tranzystorach bipolarnych

• Trzecia generacja (1965 – 1980) – technologia oparta na układach scalonych (IC – małej skali integracji)

• Czwarta generacja (od 1980 roku) oparta na CMOS zastosowanych w układach scalonych wielkiej skali integracji (VLSI)

Page 39: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

39

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Pierwsza generacja technologii komputerowychPierwsza generacja technologii komputerowych

• Maszyny takie, jak UNIVAC 1, IBM 701 – zawierające lampy elektronowe, były ogromne i powolne

• Dominującym urządzeniem I/O były taśmy magnetyczne• Dostęp do danych był mierzony w milisekundach

Page 40: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

40

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Druga generacja technologii komputerowychDruga generacja technologii komputerowych

• Na przykład: IBM 1401, 7090; RCA 501; CDC 6600; DEC PDP-1, …)

• W komputerach wykorzystywano pamięć rdzeniową swobodnego dostępu, wielofunkcyjne bloki i wiele procesorów

• Stosowano coraz obszerniejsze wersje asemblerów• Opracowano pierwsze języki wysokiego poziomu• Dostęp do danych był mierzony w mikrosekundach

Page 41: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

41

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Trzecia generacja technologii komputerowychTrzecia generacja technologii komputerowych

• Na przykład: IBM 360, UNIVAC 1108, CDC STAR-100• Dostęp do danych i czasy przetwarzania mierzono

w nanosekundach• Zrealizowano koncepcje przetwarzania wątkowego, matrycy,

oprogramowania jednocześnie wieloma programami• W 1965 roku wprowadzono DEC PDP-8 – pierwszy minikomputer• Minikomputer – maszyna dedykowana do danej aplikacji. Ze

względu na znacząco mniejsze rozmiary, miał ograniczone możliwości przetwarzania w porównaniu z maszynami wielkiej skali– ta definicja przestała być sensowna wraz z rozwojem technologii elektronicznych i informatycznych …

• Na początku lat 70-ych nastąpił rozwój mikroprocesorów (układy scalone), dedykowanych do sterownika lub systemu przetwarzania

Page 42: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

42

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Czwarta generacja technologii komputerowychCzwarta generacja technologii komputerowych

• Jest oparta na VLSI• Urządzenia są produkowane masowo, coraz bardziej złożone i

coraz bardziej dostępne• Pojawiają się opinie, że już się skończyła czwarta generacja i trwa

piąta – ale nie ma jasnych definicji, które atrybuty mają o tym zadecydować – może dopiero wdrożenie układów sztucznej inteligencji, sieci neuronowych lub DNA…

• „Obecna” generacja systemów komputerowych szeroko korzysta z algorytmów przetwarzania równoległego, z zastosowaniem wielu procesorów i jednocześnie pracujących pamięci, posiada „przyjazne użytkownikowi” interfejsy, połączenia sieciowe, itd….

Page 43: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

43

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

SuperkomputerySuperkomputery• Pierwszy superkomputer - CDC 6600

miał 128 KB pamięci a lista jego rozkazów liczyła 64 pozycje; jego prezentacja odbyła się w 1963 roku (firma Control Data Corporation)

• Mógł wykonywać kilka milionów instrukcji na sekundę (MHz), zastosowano w nim po raz pierwszy tranzystory krzemowe i chłodzenie freonem. Dostępny na rynku (w sposób ściśle kontrolowany) od 1965r. -kosztował około 8 milionów dolarów

• Był to pierwszy komputer typu „mainframe” (Amerykanie wolą stosować nazwę „Big iron”). Nazwa powstała ze względu na objętość, ale przyjęła się później dla określonej grupy komputerów

Zdjęcie pochodzi z zasobów Internetu

Zdjęcie pochodzi z zasobów Internetu

Page 44: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

44

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

SuperkomputerySuperkomputery

• Dzisiejsze superkomputery zawierają tysiące procesorów, terabajty pamięci i w ciągu 1 sekundy wykonują tryliony operacji

• Np. BlueGene/L firmy IBM, z 65 tysiącami dwuprocesorowych węzłów o łącznej wydajności około 280 teraflopów (1 teraflop - bilion operacji zmiennoprzecinkowych na sekundę); BlueGene/P mogący osiągnąć nawet 3 petaflopy, czyli 10 razy więcej

• Superkomputer f-my Cray Inc. Na rysunku

Cray-2 - kształt komputera nie jest przypadkowy, twórcy maszyny po raz

pierwszy natknęli się na granice wyznaczane przez stałe fizyczne

Cray-2 - kształt komputera nie jest przypadkowy, twórcy maszyny po raz

pierwszy natknęli się na granice wyznaczane przez stałe fizyczne

Page 45: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

45

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Definicje dotyczące parametrów pracyDefinicje dotyczące parametrów pracy

• MIPS – milion instrukcji na sekundę• MOPS – milion operacji na sekundę• MFLOPS (lub megaflops) – milion operacji zmiennoprzecinkowych

na sekundę• GFLOPS (lub gigaflops) – miliard operacji zmiennoprzecinkowych

na sekundę• Teraflops (1012)• UWAGA: Przedrostki stosowane np. dla wielkości napięcia, mocy,

częstotliwości – dotyczą potęgi o podstawie 10Dla rozmiarów pamięci, plików, rejestrów – potęgi o podstawie 2

Page 46: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

46

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Przedrostki używane w miarach dotyczących systemów komputerowychPrzedrostki używane w miarach dotyczących systemów komputerowych

yYocto2-8010-24

zZepto2-7010-21

aAtto2-6010-18

fFemto2-5010-15

pPiko2-4010-12

nNano2-3010-9

µMikro2-2010-6

mMili2-1010-3

YJotta280Kwadrylion 1024

ZZeta2701021

EEksa2601018

PPeta2501015

TTera2401012

GGiga230Miliard 109

MMega220 = 2048Milion 106

KKilo210 = 1024Tysiąc 103

SymbolPrzedrostekPotęga 2Potęga 10

Page 47: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

47

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Kryteria oceny działania systemów komputerowychKryteria oceny działania systemów komputerowych

• Kryteria referencyjne = BENCHMARKS• Są to standaryzowane zestawy programów, do oceny działania

systemu. Wynik działania takiego programu jest porównywany ze znanym wynikiem z innego (lub standardowego, wzorcowego…) komputera

• Przykłady kryteriów: % wykorzystania pamięci, procesora itp.• Przykładowe, uznane standardy, to:• Real World/Application Benchmarks• Derived Benchmarks (algorithm-based benchmarks)• Single Processor Benchmarks• Kernel Benchmarks, itd.

Page 48: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

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”

90-924 Łódź, ul. Żeromskiego 116,tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl

Dr inż. Małgorzata Langer

Zadanie nr 30 – Dostosowanie kierunku Elektronika i Telekomunikacja

do potrzeb rynku pracy i gospodarki opartej na wiedzy

Architektura komputerówArchitektura komputerów

KONIEC CZĘŚCI PIERWSZEJKONIEC CZĘŚCI PIERWSZEJ

Page 49: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

49

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Page 50: Dr in Ł Architektura komputerów - eletel.p.lodz.pl · • Podstawy techniki cyfrowej – kombinatoryka - podstawowe operacje i algebra Boole’a, minimalizacja, - podstawowe bloki

Architektura komputerów, część 1

50

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego