EB
II PWr
1
JAK DZIAŁA KOMPUTER ?
Wyjście
Wejście
Komputer jako czarna skrzynka
(Dane)
(Wyniki)
EB
II PWr
2
Program
CPU
MEM
WE/WY
ROM
RAM
DB
AB
Schemat blokowy komputera
EB
II PWr
3
AB
CB
CPU – centralna jednostka przetwarzająca (procesor) DB – magistrala danych
MEM – pamięć (wewnętrzna)
AB – magistrala adresowa
WE/WY – układy wejścia/wyjścia
CB – magistrala sterująca
Schemat blokowy komputera
Procesor
– przetwarzanie danych i sterowanie pracą pozostałych układów.
Procesor przetwarza dane wykonując na nich elementarne operacje
zwane rozkazami (instrukcjami).
Pamięć
– przechowywanie danych, programu i wyników.
RAM (ang. Random Access Memory) – pamięć operacyjna, ulotna.
EB
II PWr
4
ROM (ang. Read Only Memory) – pamięć nieulotna, pamiętanie progra-
mów startowych (BIOS).
Układy wejścia/wyjścia
– pośredniczą w wymianie informacji pomiędzy
procesorem i pamięcią a urządzeniami zewnętrznymi (peryferyjnymi).
Wyżej wymienione bloki wymieniają informację i współpracują ze sobą
za pośrednictwem
magistrali.
Schemat blokowy komputera
Magistrala – zestaw linii oraz układów przełączających, łączących dwa lub
więcej układów mogących być nadajnikami lub odbiornikami informacji.
Na
Od
EB
II PWr
5
Od
Magistrala danych – przesyłanie danych, wyników i kodów instrukcji.
Magistrala adresowa – przesyłane są adresy komórek pamięci lub układów wej/wyj
Magistrala sterująca – sterowanie pracą układów współpracujących z procesorem.
Szerokość magistrali
– liczba bitów danych przesyłanych równolegle.
Typowe szerokości: 8, 16, 32, 64 bity.
Szybkość magistrali:
od 5 MHz do kilkuset MHz (533 MHz)
Układy cyfrowe
Poszczególne bloki komputera są budowane z
układów cyfrowych
zwanych
także
układami logicznymi.
Układy cyfrowe są zbudowane z elementów elektronicznych:
tranzystory, diody.
Są one wytworzone wewnątrz lub na powierzchni wspólnego podłoża i tworzą
tzw.
układ scalony.
EB
II PWr
6
Układy cyfrowe
W zależności od liczby elementów w pojedynczej strukturze (stopień upakowania)
rozróżnia się układy scalone:
•
małej skali integracji (SSI)
- do kilkudziesięciu elementów (wczesne 1960)
•
średniej skali integracji (MSI)
- setki elementów (późne 1960)
•
wielkiej skali integracji (LSI)
– dziesiątki tysięcy elementów (środek 1970)
EB
II PWr
7
•
wielkiej skali integracji (LSI)
– dziesiątki tysięcy elementów (środek 1970)
•
bardzo wielkiej skali integracji (VLSI)
– setki tysięcy elementów (1980-te)
•
ultra wielkiej skali integracji (ULSI)
– miliony elementów
Układy cyfrowe
Układ cyfrowy można przedstawić jako blok z określoną liczbą wejść i wyjść.
Sygnały wejściowe i wyjściowe są sygnałami binarnymi i tworzą słowa:
wejściowe i wyjściowe.
WEJ
WYJ
EB
II PWr
8
1 0 1 1 0
Układy cyfrowe
Podstawowe układy cyfrowe:
• bramki – realizują proste funkcje logiczne: sumę, iloczyn, negację
• przerzutniki - układ cyfrowy pozwalający zapamiętać 1 bit informacji.
Proste układy cyfrowe są
cegiełkami
, z których są budowane układy złożone:
•
rejestry
– mała bardzo szybka pamięć
•
liczniki
– do zliczania
EB
II PWr
9
•
liczniki
– do zliczania
•
sumatory
– do wykonywania operacji na danych
•
komparatory
– do porównywania
•
dekodery
– do dekodowania danych
•
konwertery
– do wykonywania konwersji
Elementy procesora
Jednostka arytmetyczno-logiczna
(ALU, ang. Arithmetic-Logic Unit) – uniwersalny
układ cyfrowy przeznaczony do wykonywania operacji arytmetycznych i logicznych.
ALU
Wynik
Argument A
Argument B
EB
II PWr
10
Sygnały sterujące
Do zestawu operacji wykonywanych przez ALU należą:
- dodawanie i odejmowanie arytmetyczne
- przesuwanie bitów słowa w prawo i w lewo
- porównywanie wartości dwóch słów
- operacje logiczne (suma, iloczyn, negacja)
Elementy procesora
Dekoder
– układ cyfrowy, który tłumaczy rozkazy na postać, jaka może być
przekazana do układu sterowania celem wykonania.
Jednostka sterująca
– steruje pracą poszczególnych komponentów procesora.
Na podstawie instrukcji pobieranych z dekodera mówi jednostce arytmetyczno-
logicznej co i kiedy ma być wykonywane.
Także koordynuje pracę innych elementów komputera.
EB
II PWr
11
Także koordynuje pracę innych elementów komputera.
Pamięć wewnętrzna cache
– bardzo szybka pamięć podręczna.
Służy do przechowywania najczęściej wykorzystywanych rozkazów i danych.
Elementy procesora
Rejestr
- układ cyfrowy przeznaczony do krótkoterminowego przechowywania
niewielkich ilości informacji.
Część rejestrów jest dostępnych dla użytkownika (rejestry dostępne programowo),
inne są niedostępne i służą do specjalnych celów. Np.
-
rejestr rozkazów
– służy do pamiętania rozkazu
EB
II PWr
12
Rejestry stanowią
najszybszy rodzaj pamięci
, będącej częścią procesora, z którą
kontakt odbywa się z pełną szybkością określoną przez zegar systemowy.
-
rejestr rozkazów
– służy do pamiętania rozkazu
-
licznik rozkazów
– służy do pamiętania adresu rozkazu, jaki ma być wykonany.
Schemat blokowy procesora
Zewn. sygnały sterujące
Program
A F
B C
D E
H L
ALU
Wyniki
Dane
Rejestry
EB
II PWr
13
Zewn. sygnały sterujące
IR – rejestr rozkazów
Dek – dekoder
ALU – jednostka arytmetyczno-logiczna
Program
Układ
sterowania
IR
Dek
DANE
RAM
Cache
PROGRAM
DANE
PROCESOR
Rozkazy procesora
Kod operacji
Argumenty(adresy)
• rozkazy arytmetyczne
• rozkazy logiczne
• rozkazy operacji na bitach
Przykłady:
DODAJ A 25
Rozkaz
– polecenie wykonywane przez procesor komputera.
EB
II PWr
15
• rozkazy sterowania
• rozkazy we/wy
DODAJ A 25
POMNÓś A B C
Poszczególne procesory charakteryzują się zestawem rozkazów, jakie mogą wyko-
nywać. Zestaw taki tworzy tzw.
listę rozkazów
danego procesora.
Lista może zawierać od kilkudziesięciu do paruset rozkazów.
Instrukcje użytkownika
Rozkazy maszynowe
Konwersja na język
maszynowy
Konwersja na
mikrokod
Rozkazy procesora
Program
EB
II PWr
16
Rozkazy mikrokodowe
mikrokod
Zegar systemowy
Praca komputera jest synchronizowana
zegarem systemowym
(wbudowanym na
płycie głównej).
cykl
Liczba cykli na sekundę jest mierzona w Hz.
EB
II PWr
17
Liczba cykli na sekundę jest mierzona w Hz.
1 MHz = 10
6
Hz,
1GHz = 10
9
Hz
Pierwsze mikroprocesory: ok. 5 MHz
Aktualnie: > 3 GHz
W czasie każdego cyklu wykonywana jest pewna liczba rozkazów elementarnych.
Im szybszy zegar, tym więcej rozkazów
będzie wykonanych w jednostce czasu.
Zegar systemowy wyznacza tzw. cykl maszynowy, w czasie którego procesor
wykonuje część lub cały rozkaz.
Cykl maszynowy składa się z 4 operacji rozdzielonych na dwa etapy:
•
Etap pobrania rozkazu
1. Pobranie rozkazu do pamięci wewnętrznej procesora
2. Dekodowanie rozkazu
Cykl maszynowy
EB
II PWr
18
•
Etap wykonania rozkazu
3. Wykonanie rozkazu przez ALU
4. Przesłanie wyniku do rejestru lub pamięci
Wiele rozkazów może wymagać więcej cykli maszynowych. Np. rozkaz pobrania
z pamięci 2 liczb, obliczenia ich sumy i zapisania wyniku do pamięci wymaga 4
cykli maszynowych.
Pobranie
rozkazu
Dekodowanie
rozkazu
Przeslani
e wyniku
1
2
4
Cykl pracy procesora
EB
II PWr
19
Wykonanie
rozkazu
rozkazu
e wyniku
3
Przepływ informacji w cyklu rozkazowym
Licznik rozkazów
Adres rozkazu
Rejestry
Rejestr rozkazów
Rozkaz
KOD
AR1
AR2
W
EB
II PWr
20
ALU
Wynik
Argument
1
Adres argumentu
Pamięć operacyjna
Kod
operacji
Argument 2
ALU
Ponieważ różne komputery wykonują różną liczbę rozkazów w cyklu zegarowym,
to bardziej uniwersalną miarą szybkości komputera (aniżeli szybkość zegara) jest
liczba rozkazów wykonanych w jednostce czasu.
Stosuje się następujące jednostki:
•
Mips
(mega-instruction per second) - miliony prostych rozkazów na sek
•
megaflops
(Mega Floating Point Instruction per Second) – 10
6
(milion)
operacji zmiennoprzecinkowych na sek
Porównanie szybkości komputerów
EB
II PWr
21
operacji zmiennoprzecinkowych na sek
•
gigaflops (GFLOPS)
– 10
9
(miliard) operacji zmiennoprzecinkowych na sek
•
teraflops
(TFLOPS)
– 10
12
operacji zmiennoprzecinkowych na sek
•
petaflops (PFLOPS)
– 10
15
operacji zmiennoprzecinkowych na sek
Porównanie szybkości komputerów
Przykłady:
•
procesory w kalkulatorach - 10 FLOPS
•
procesor Core i7-920 3.4GHz - 70 GFLOPS
•
supercomputer ASCII White (IBM) - 12 teraflops
•
supercomputer Columbia (NASA) – 42.7 teraflops
•
supercomputer Roadrunner (IBM), 2008 – 1 PFLOPS (10
15
)
EB
II PWr
22
•
supercomputer Roadrunner (IBM), 2008 – 1 PFLOPS (10
15
)
•
supercomputer Cray Jaguar, 2009 – 1.75 PFLOPS
•
supercomputer Jaguar XT5 - 2,3 petaflops
Szacuje się, że mózg jest w stanie wykonywać około 10 biliardów
operacji (elementarnych!) na sekundę. Jest to 10
16
.
Superkomputer hybrydowy Roadrunner
Szybkość: 1 petaflop (10
15
flopów)
RAM: 98 terabajtów (98 * 10
12
)
Mieści się w 278 panelach
Zajmuje 5 200 stóp
2
Waga: 500 000 lbs (ok.. 200 ton)
EB
II PWr
23
Moc pobierana: 2.35 MW
System operacyjny : Linux Red Hat
Zainstalowany w Los Alamos (National Nuclear Security Administration)
Transportowany był w 21 tirach.
Parametry charakteryzujące procesor
• Rozmiar słowa
Jednostka danych (w bitach lub bajtach) jaką procesor może przetwarzać w tym
samym czasie (np.. 8, 16, 32, 64 bity).
• Zegar
Od kilku MHz do kilku GHz.
• Pamięć podręczna (ang. cache memory)
- ile poziomów
- jak wielka pamięć
EB
II PWr
24
- jak wielka pamięć
• Lista rozkazów
• Prędkość przetwarzania
Przyśpieszenie pracy komputerów
Zwiększenie szybkości
1. Nowe technologie
- większy stopień integracji obwodów
Bliżej siebie obwody – krótszy czas przesyłania bitów,
Bliżej siebie obwody – wydzielanie więcej ciepła
- zwiększenie liczby rejestrów
EB
II PWr
25
- szybsze i szersze magistrale
- lepszej jakości materiały
Zamiana elementów aluminiowych miedzianymi
2. Nowe rozwiązania w architekturze komputerów
-
ulepszenie listy rozkazów
, CISC (ang. Complex Instruction Set Computer)
Komputer ze złożoną listą rozkazów.
-
wprowadzenie modelu RISC
(ang. Reduced Instruction Set Computer
Komputer ze zredukowaną listą rozkazów.
-
zrównoleglenie operacji
Przyśpieszenie pracy komputerów
EB
II PWr
26
-
zrównoleglenie operacji
-
potokowość
W starych PC wykonanie jednego rozkazu musiało być zakończone przed
rozpoczęciem następnego. W nowszych rozwiązaniach z każdym nowym cyk-
lem maszynowym rozpoczyna się wykonywanie kolejnych rozkazów.
Przyśpieszenie pracy komputerów
-
wieloprocesorowość
--
przetwarzanie równoległe
Wiele procesorów wspólnie wykonują to samo zadanie
--
wieloprzetwarzanie
Każdy procesor wykonuje różne zadanie
EB
II PWr
27
sterowanie
P1
R
A
M
P1
R
A
M
P1
R
A
M
WEJ
EB
II PWr
28
M
M
M
sterowanie
WYJ
Tendencje przyszłościowe
•
Nowe materiały
Obecnie silikon jako naturalny półprzewodnik. Osiągnięto limit upakowania
chipów silikonowych. Trendy:
- przetwarzanie optyczne (światło zamiast elektronów)
- materiały nadprzewodzące
•
Układy 3-D
3-wymiarowe układy, w odróżnieniu od płaskich, pozwalają na upakowanie
znacznie więcej elementów i ok. 10-krotnie zwiększyć szybkość.
EB
II PWr
29
znacznie więcej elementów i ok. 10-krotnie zwiększyć szybkość.
Tendencje przyszłościowe
•
Komputery kwantowe
•
Przetwarzanie optoelektroniczne
EB
II PWr
30
• Komputery organiczne
Tendencje przyszłościowe
•
Komputery kwantowe
Wykorzystuje się zasady fizyki i mechaniki kwantowej. Komputer kwantowy
pracuje na poziomie atomów wykorzystując bity kwantowe tzw.
qubity.
Qubit, w odróżnieniu od bitu, może reprezentować nie dwa, a wiele stanów (i to
nawet w tym samym czasie).
W związku z tym komputery kwantowe mogą być wykładniczo szybsze od
EB
II PWr
31
W związku z tym komputery kwantowe mogą być wykładniczo szybsze od
konwencjonalnych. Dane w komputerach kwantowych są reprezentowane
przez aktualny stan kwantowy układu stanowiącego komputer.
Jego ewolucja odpowiada procesowi obliczeniowemu.
Tendencje przyszłościowe
•
Przetwarzanie optoelektroniczne
Już obecnie wytwarzane są układy optyczne wykorzystujące światło do przesy-
łania danych. W komputerach optycznych planuje się wykorzystanie światła do
wykonywania obliczeń. Ponieważ promienie świetlne nie interferują ze sobą,
komputery optyczne będą znacznie mniejsze i szybsze od elektronicznych.
W tradycyjnych komputerach elektronicznych nośnikiem informacji są elektrony.
EB
II PWr
32
W tradycyjnych komputerach elektronicznych nośnikiem informacji są elektrony.
Poruszają się one ze stosunkowo niewielką prędkością kilku kilometrów na
sekundę. Tymczasem w procesorach optycznych nośnikami informacji są
fotony,
które poruszają się z najwyższą znaną nam prędkością 300 tys. km na sekundę
Tendencje przyszłościowe
• Komputery organiczne
Biotechnologia umożliwi utworzenie organicznych komputerów – zbudowanych
z materii organicznej.
W komputerach opartych na DNA informacja jest kodowana przy pomocy czterech
zasad azotowych: tyminy T, adeniny A, cytozyny C i guaniny G.
Pamięć oparta na DNA:
- sekwencja T, A, C, G – jeden bit to jedna litera
EB
II PWr
33
- sekwencja T, A, C, G – jeden bit to jedna litera
- DNA o długości 1 cm zawiera ponad 1Mbit informacji
- w 1 mm
3
mieści się 10 miliardów takich DNA
- w łebku szpilki można pomieścić 100 000 razy więcej danych niż na dysku 100 GB.
Przy pomocy metod inżynierii genetycznej można rozwiązywać konkretne problemy
obliczeniowe.
Rok
Nazwa
Firma
Zegar
(MHz)
Roz słowa
(bit)
Magistrala
(bit)
Szyb mag
(MHz)
1978
8086/8088
Intel
4.77 - 10
16
8 - 16
5 - 10
1982
80286
6 – 12.5
16
16
6 - 12
1985
80386
16 - 33
32
16 - 32
16 - 33
1989
80486
16 - 100
32
32
16 - 50
1993
Pentium
60 – 233
32
32 – 64
50 - 60
1997
Pentium II
200 – 450
32
64
66 - 100
Charakterystyki procesorów
EB
II PWr
34
1997
Power PC 750
Motorola
200 – 400
32
64
100
1998
Celeron
Intel
266 – 900
32
64
66 - 100
1999
Pentium III
450 – 1.1
32
64
100 - 133
1999
Athlon
AMD
850 – 1.2
32
64
200 - 266
1999
Duron
AMD
750 – 850
32
64
200
2000
Pentium 4
Intel
1.3 GHz
32
64
400
2006
Pentium 4
Intel
3.4 GHz
64
64
533 MHz
EB
II PWr
35