Architektura komputerów Architektura komputerów
Transkrypt
Architektura komputerów Architektura komputerów
Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja. Studia I stopnia Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie „Innowacyjna dydaktyka bez ograniczeń – zintegrowany rozwój Politechniki Łódzkiej – zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych” Zadanie nr 30 – Dostosowanie kierunku Elektronika i Telekomunikacja do potrzeb rynku pracy i gospodarki opartej na wiedzy 90-924 Łódź, ul. Żeromskiego 116, tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Cel 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 2 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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 3 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 4 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego ... • Podstawowa architektura komputera A. W ASPEKCIE ORGANIZACJI - formaty danych i instrukcji - ustawienie instrukcji - tryby adresowe, ograniczenia - języki programowania maszynowego, asemblery - procedury, ładowanie programów, makro-instrukcje B. 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 5 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 6 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 7 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 8 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ługa procesó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 9 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 10 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Zaliczenie • 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 11 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Proponowana literatura uzupełniająca wykład • 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, … • • • • „Organizacja Architektura komputerów, część 1 12 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego ARCHITEKTURA 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 13 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Wstęp. Organizacja systemu komputerowego • • • sprzęt oprogramowanie system operacyjny Użytkownik KOMPILATOR KOMPILATOR ASEMBLER ASEMBLER BAZA BAZA DANYCH DANYCH 2 3 1 EDYTOR EDYTOR TEKSTU TEKSTU … ** ** ** EDYTOR EDYTOR GRAFIKI GRAFIKI PROGRAMY SYSTEMOWE I UŻYTKOWE System operacyjny Elementy systemu komputerowego Sprzęt komputerowy Architektura komputerów, część 1 14 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego System 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 15 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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 & Logic Unit); - 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) ☺ Architektura komputerów, część 1 16 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Funkcje komputera • Są 4 podstawowe funkcje, które może realizować komputer: - przetwarzanie danych - przechowywanie danych Przechowywanie - przenoszenie danych danych - sterowanie Środowisko aplikacyjne Przemieszczanie danych (źródło/miejsce przeznaczenia danych) Urządzenie sterujące Przetwarzanie danych Funkcjonalny obraz komputera Architektura komputerów, część 1 17 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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łoby prawie 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 18 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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 asemblerze ASEMBLER Program w języku maszynowym Załadowanie Program w jęz. wyższego poziomu KOMPILATOR Architektura komputerów, część 1 19 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego System operacyjny • • • Operacje takie, jak wybór odpowiedniego kompilatora, załadowanie kodu 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” (readonly). Takie oprogramowanie nazywane jest firmware Nie można żadnego urządzenia zrobić "odpornym na głupotę", ponieważ głupcy są genialni. ☺ Architektura komputerów, część 1 20 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego System operacyjny OS 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 21 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Warstwy systemu komputerowego Architektura komputerów, część 1 22 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Ewolucja systemów komputerowych • • Pierwsze liczydło (abacus) powstało ponad 3000 lat przed narodzeniem Chrystusa, w Środkowej Azji liczydł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 Zdjęcia pochodzą z zasobów Internetu Architektura komputerów, część 1 23 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 Internetu Architektura komputerów, część 1 24 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 Architektura komputerów, część 1 25 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 Machine Company, 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 A już w 1904 i odpowiednio 1906 roku, powstały dioda i trioda. Zuse) Na zastosowanie musiały czekać wiele lat… Architektura komputerów, część 1 26 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Pierwsze 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 Numerical Integrator And Calculator) – 1946 rok – Eckert i Mauchly Architektura komputerów, część 1 27 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego ENIAC • • • • • 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 28 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Architektura komputerów, część 1 29 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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 – Short Order 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 30 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego EDVAC – 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 31 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Architektura von Neumanna MAR – Memory Address Register MBR (lub MDR) – Memory Buffer (Data) Register ACC – Accumulator [S.G.Shiva, „Computer Organization…] Architektura komputerów, część 1 32 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego ALU • • • 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 33 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Ogólny układ komputera [S.G.Shiva, „Computer Organization…] BUS - magistrala Architektura komputerów, część 1 34 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Architektura 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 35 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 36 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Architektura Harvardzka [S.G.Shiva, „Computer Organization…] Przyniosła ideę przetwarzania równoległego Architektura komputerów, część 1 37 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Kolejne 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 38 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Pierwsza 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 39 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Druga 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 40 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Trzecia 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 41 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Czwarta 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 42 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Superkomputery • • • 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 Architektura komputerów, część 1 43 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Superkomputery • • • 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 Architektura komputerów, część 1 44 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Definicje 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 10 Dla rozmiarów pamięci, plików, rejestrów – potęgi o podstawie 2 Architektura komputerów, część 1 45 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Przedrostki Przedrostki używane używane w w miarach miarach dotyczących dotyczących systemów systemów komputerowych komputerowych Potęga 10 Potęga 2 Przedrostek Symbol Tysiąc 103 210 = 1024 Kilo K Milion 106 220 = 2048 Mega M Miliard 109 230 Giga G 1012 240 Tera T 1015 250 Peta P 1018 260 Eksa E 1021 270 Zeta Z Kwadrylion 1024 280 Jotta Y 10-3 2-10 Mili m 10-6 2-20 Mikro µ 10-9 2-30 Nano n 10-12 2-40 Piko p 10-15 2-50 Femto f 10-18 2-60 Atto a 10-21 2-70 Zepto z 10-24 2-80 Yocto y Architektura komputerów, część 1 46 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Kryteria 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. Architektura komputerów, część 1 47 KONIEC CZĘŚCI PIERWSZEJ Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Dr inż. Małgorzata Langer Architektura komputerów „Innowacyjna dydaktyka bez ograniczeń – zintegrowany rozwój Politechniki Łódzkiej – zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych” Zadanie nr 30 – Dostosowanie kierunku Elektronika i Telekomunikacja do potrzeb rynku pracy i gospodarki opartej na wiedzy 90-924 Łódź, ul. Żeromskiego 116, tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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