Upload
phunghanh
View
215
Download
0
Embed Size (px)
Citation preview
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
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)
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
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
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
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
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
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
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
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
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
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, …
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
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
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
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) ☺
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
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).
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
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. ☺
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
Architektura komputerów, część 1
22
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Warstwy systemu komputerowegoWarstwy systemu komputerowego
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
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
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
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…
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
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 ☺
Architektura komputerów, część 1
29
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
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
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
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…]
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.
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
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.
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”
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
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)
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
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
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
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….
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
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
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
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
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.
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
Architektura komputerów, część 1
49
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Architektura komputerów, część 1
50
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego