Architektura komputerów



Podobne dokumenty
Architektura komputerów Historia systemów liczących

LEKCJA TEMAT: Zasada działania komputera.

Technika mikroprocesorowa

Budowa i zasada działania komputera. dr Artur Bartoszewski

Wstęp do architektury komputerów

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Opis efektów kształcenia dla modułu zajęć

Architektura komputerów wer. 7

Wykład pierwszy Rys historyczny rozwoju sprzętu komputerowego

Jednostka centralna. dr hab. inż. Krzysztof Patan, prof. PWSZ

Budowa Mikrokomputera

Historia komputera. Architektura komputera Historia komputera. Historia komputera. Historia komputera. Historia komputera

Podstawy Informatyki Systemy sterowane przepływem argumentów

Systemy operacyjne III

Informatyka. Prowadzący: Dr inż. Sławomir Samolej D102 C, tel: , WWW: ssamolej.prz-rzeszow.

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Architektura komputerów wer. 3

Budowa komputera Komputer computer computare

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

PRZEWODNIK PO PRZEDMIOCIE

Struktura i działanie jednostki centralnej

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

MIKROKONTROLERY I MIKROPROCESORY

Architektura komputerów II - opis przedmiotu

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

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Wykład 2. Mikrokontrolery z rdzeniami ARM

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

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

JAKIE IDEE WPŁYNĘŁY NAJSILNIEJ NA ROZWÓJ I EWOLUCJĘ INFORMATYKI?

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Wstęp do Informatyki. dr inż. Paweł Pełczyński

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

algorytm przepis rozwiązania przedstawionego zadania komputer urządzenie, za pomocą którego wykonywane są algorytmy

Architektura mikroprocesorów TEO 2009/2010

Projektowanie. Projektowanie mikroprocesorów

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

dr hab. Joanna Jędrzejowicz Podstawy informatyki i komputeryzacji Gdańska Wyższa Szkoła Humanistyczna

Architektura komputerów

Programowanie Niskopoziomowe

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

Komputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji

LEKCJA TEMAT: Współczesne procesory.

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

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Maszyny liczace - rys historyczny

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Opis efektów kształcenia dla modułu zajęć

Technika cyfrowa i mikroprocesorowa. Zaliczenie na ocenę. Zaliczenie na ocenę

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

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Architektura komputerów

Architektura komputerów

Wykład 2. Mikrokontrolery z rdzeniami ARM

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Technologia informacyjna. Urządzenia techniki komputerowej

Architektura komputerów

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

Wprowadzenie do inżynierii przetwarzania informacji

Technologie Informacyjne

Który z podzespołów komputera przy wyłączonym zasilaniu przechowuje program rozpoczynający ładowanie systemu operacyjnego? A. CPU B. RAM C. ROM D.

Przykładowe pytania DSP 1

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja

3.Przeglądarchitektur

Podstawy Techniki Mikroprocesorowej

Komputer i urządzenia z nim współpracujące.

Przeszłość i przyszłość informatyki

Wykład Mikroprocesory i kontrolery

Architektura komputerów

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Działanie systemu operacyjnego

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

Magistrala systemowa (System Bus)

ID1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki stacjonarne

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

HISTORIA KOMPUTERÓW 2014/15. Bartosz Klin.

16. Taksonomia Flynn'a.

Dydaktyka Informatyki budowa i zasady działania komputera

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

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

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

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

Architektura Komputerów

Technologie informacyjne - wykład 2 -

Organizacja typowego mikroprocesora

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Procesory firmy ARM i MIPS

Elektronika i Telekomunikacja I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Metody optymalizacji soft-procesorów NIOS

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Transkrypt:

Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja. Studia I stopnia Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Innowacyjna dydaktyka bez ograniczeń zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Zadanie nr 30 Dostosowanie kierunku Elektronika i Telekomunikacja do potrzeb rynku pracy i gospodarki opartej na wiedzy 90-924 Łódź, ul. Żeromskiego 116, tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl

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) 2

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 3

... 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 4

... 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 5

... 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 6

... 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 7

... 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 8

... 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 9

... 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 10

Zaliczenie Na laboratorium składa się 18 godzin zajęć, (do których studenci otrzymają szczegółowe instrukcje opisujące wykonanie ćwiczenia i sposób opracowania sprawozdania lub zakresu wymaganych do zaliczenia testów) OCENA KOŃCOWA będzie się składać w 60% z zaliczenia materiałów z wykładu (kolokwium pisemne) oraz 40% z laboratorium (ocena łączna, przekazywana przez prowadzącego) 11

Proponowana 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, 12

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 13

Wstęp. Organizacja systemu komputerowego sprzęt oprogramowanie system operacyjny Użytkownik 1 2 3 KOMPILATOR ASEMBLER BAZA DANYCH EDYTOR * * * EDYTOR TEKSTU GRAFIKI PROGRAMY SYSTEMOWE I UŻYTKOWE System operacyjny Elementy systemu komputerowego Sprzęt komputerowy 14

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 15

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) 16

Funkcje komputera Są 4 podstawowe funkcje, które może realizować komputer: - przetwarzanie danych - przechowywanie danych - przenoszenie danych - sterowanie Przechowywanie danych Środowisko aplikacyjne (źródło/miejsce przeznaczenia danych) Przemieszczanie danych Urządzenie sterujące Funkcjonalny obraz komputera Przetwarzanie danych 17

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). 18

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 Program w jęz. wyższego poziomu ASEMBLER KOMPILATOR Program w języku maszynowym Załadowanie 19

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. 20

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 21

Warstwy systemu komputerowego 22

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 23

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 24

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 25

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 Zuse) A już w 1904 i odpowiednio 1906 roku, powstały dioda i trioda. Na zastosowanie musiały czekać wiele lat 26

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 27

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 28

29

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 30

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 31

Architektura von Neumanna MAR Memory Address Register MBR (lub MDR) Memory Buffer (Data) Register ACC Accumulator [S.G.Shiva, Computer Organization ] 32

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. 33

Ogólny układ komputera [S.G.Shiva, Computer Organization ] BUS - magistrala 34

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. 35

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 36

Architektura Harvardzka [S.G.Shiva, Computer Organization ] Przyniosła ideę przetwarzania równoległego 37

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) 38

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 39

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 40

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 41

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. 42

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 43

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 44

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 (10 12 ) 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 45

Przedrostki używane w miarach dotyczących systemów komputerowych Potęga 10 Potęga 2 Przedrostek Symbol Tysiąc 10 3 2 10 = 1024 Kilo K Milion 10 6 2 20 = 2048 Mega M Miliard 10 9 2 30 Giga G 10 12 2 40 Tera T 10 15 2 50 Peta P 10 18 2 60 Eksa E 10 21 2 70 Zeta Z Kwadrylion 10 24 2 80 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 46

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. 47

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