background image

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.

background image

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

background image

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. 

background image

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

background image

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

background image

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

background image

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

background image

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ę

background image

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