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

Podobne dokumenty