background image

2010-05-17

1

Podstawy budowy

działania komputera

Oferta handlowa:

Zniżka (%) = wiek klienta

3 raty

Dane:

Cena  315 zł

Wiek  37 lat

Rata:

(100 

– 37) / 100 * 315

3

Przykład obliczeń

background image

2010-05-17

2

Oferta handlowa:

Zniżka (%) = wiek klienta

3 raty

Dane:

Cena  315 zł

Wiek  37 lat

Rata:

(100 

– 37) / 100 * 315

3

Algorytm

Przykład obliczeń

Obliczenia na 
kalkulatorze:

100
-
37
/
100
*
315
/
3
=

Przykład obliczeń

background image

2010-05-17

3

Obliczenia:

100
-
37
/
100
*
315
/
3
=

1. Wpisz
2.

Naciśnij

3. Wpisz
4.

Naciśnij 

5. Wpisz
6.

Naciśnij 

7. Wpisz
8.

Naciśnij

9. Wpisz 
10.

Pokaż wynik

Program 

obliczeń

Przykład obliczeń

Obliczenia:

100
-

WIEK

/
100
*

CENA

/
3
=

1. Wpisz
2.

Naciśnij

3. Wpisz
4.

Naciśnij 

5. Wpisz
6.

Naciśnij 

7. Wpisz
8.

Naciśnij

9. Wpisz 
10.

Pokaż wynik

Program 
uniwersalny

Przykład obliczeń

background image

2010-05-17

4

Tabela:

Dane

Kto

WIEK

CENA

Babcia

63

177

Dziadek

65

150

Mama

32

512

Tato

37

315

Rata

Przykład obliczeń

Tabela:

Dane i wyniki

Kto

WIEK

CENA

Babcia

63

177

Dziadek

65

150

Mama

32

512

Tato

37

315

Rata

66,15

Przykład obliczeń

background image

2010-05-17

5

Obliczenia:

100
-
WIEK
/
100
*
CENA
/
3
=

1. Wpisz
2.

Naciśnij

3. Wpisz
4.

Naciśnij 

5. Wpisz
6.

Naciśnij 

7. Wpisz
8.

Naciśnij

9. Wpisz 
10.

Pokaż wynik

11.Zapisz wynik w tabelce
12.

Weź  nowe WIEK i CENA i 

przejdź do p.1.

Program z pętlą

Przykład obliczeń

Organizacja obliczeń

(z kalkulatorem) 

Program,

Argumenty,

Wyniki

Interpretacja poleceń,

Odczytywanie danych,

Zapisywanie wyników

Wykonywanie działań

Kalkulator

Kartka

Operator

background image

2010-05-17

6

Organizacja obliczeń

(w komputerze)

Program,

Dane

Interpretacja rozkazów 
programu

Wykonywanie działań

PAMIĘĆ

UKŁAD  STEROWANIA

UKŁAD  WYKONAWCZY

Wykonywanie programu

Program,

Dane

Interpretacja rozkazów 
programu

Wykonywanie działań

PAMIĘĆ

PROCESOR

background image

2010-05-17

7

Pamięć

• Pamięć zewnętrzna
• Pamięć operacyjna
• RAM
• ROM
• Bajt
• Czas dostępu
• Przepustowość
• Adres
• Przestrzeń adresowa

Pamięć = urządzenie 

przechowujące informację

(ang. memorystorage)

Działania na pamięci:

• zapis do pamięci 

(write)

• odczyt z pamięci  

(read)

Parametry pamięci:

• pojemność

• szybkość

Nie ma przetwarzania informacji !

background image

2010-05-17

8

Miejsce pamięci 

w systemie 

komputerowym

Pamięć zewnętrzna, np.

• dyski stałe

• CD ROM

• dyskietki

• "pen drive"

Pamięć wewnętrzna 
(główna, operacyjna)

• RAM

• ROM

Miejsce pamięci 

w systemie 

komputerowym

Pamięć zewnętrzna, np.

• dyski stałe

• CD ROM

• dyskietki

• "pen drive"

Pamięć wewnętrzna 
(główna, operacyjna)

• RAM

• ROM

Opcjonalna 

Konieczna

background image

2010-05-17

9

Pamięć zewnętrzna

-

Jest urządzeniem

wejścia-wyjścia

- Przetwarzanie informacji

jest możliwe dopiero po
jej przepisaniu do pamięci
operacyjnej

-

Transmisje odbywają się

w blokach (kilkadziesiąt  –
kilkaset bajtów)

Pamięć wewnętrzna

-

Jest nieodłączną częścią

komputera

- W czasie wykonywania

programu dostarcza do
procesora kolejne rozkazy
i potrzebne dane

background image

2010-05-17

10

1

0

1

1

0

1

0

0

1

0

1

1

0

0

0

1

bit

bajt

bajt

nibble

(tetrada)

(oktet)

(oktet)

Bit (binary digit

– cyfra dwójkowa (0 i 1)  

[ang. 

odrobina, kawałek]

Byte 

– 8 bitów      [mutacja ang. „bite”  ugryźć]

Nibble 

– ½ bajta   [ang. kęs, ogryzek]

Bity i bajty

Bajt 

– podstawowa jednostka pamięci

Zapis i odczyt zawsze dotyczy słów 

będących wielokrotnością bajta

background image

2010-05-17

11

Ścieżki 

(80)

Sektor
(18/ścieżkę)

Geometria dysku elastycznego

Dyskietka 3,5 cala:

2 x 80  

= 160

ścieżek

x 18  

= 2 880

sektorów

x 512 

= 1 474 560 

bajtów danych

(1,44 MB)

background image

2010-05-17

12

Ile potrzeba pamięci?

Ile potrzeba pamięci?

Strona tekstu A4 

czcionka 10p; 102 znaki w wierszu; 
60 wierszy na stronie

6120 bajtów

Książka 200 str.

ok. 1,2 MB

Muzyka na CD

1 sekunda = 75 bloków 
po 588 „sampli” 4-bajtowych

176 400 bajtów

1 minuta

ok. 10 MB

background image

2010-05-17

13

Ile potrzeba pamięci?

Ekran w trybie znakowym

25 wierszy po 80 znaków (kod znaku + atrybut)

4000 bajtów

Ekran w trybie graficznym

1024 x 768 pikseli; kolor 32-bitowy

ponad 3 MB

Organizacja pamięci operacyjnej

0

0010  1101

1

0110 1111

2

0000  0001

3

1110 1101

4

1010  1001

5

1111 0001

...

Numer 

bajta

(Adres)

Zawartość

background image

2010-05-17

14

Organizacja pamięci operacyjnej

...

A27D

B 9

A27E

5 5

A27F

F F

A280

C 6

A281

0 7

A282

6 C

Adresy 
i zawartość
są zwykle
podawane 
szesnastkowo

Jeden bajt 

dwie cyfry hex

Pola wielobajtowe

...

A27D

B 9

A27E

5 5

A27F

F F

A280

C 6

A281

0 7

A282

6 C

Jakie słowo 4-bajtowe 
jest pod adresem 
A27E ?

background image

2010-05-17

15

Pola wielobajtowe

...

A27D

B 9

A27E

5 5

A27F

F F

A280

C 6

A281

0 7

A282

6 C

Słowo 4-bajtowe 
pod adresem 
A27E:

55 FF C6 07

... czy też:

07 C6 FF 55   ?

Pola wielobajtowe

...

A27D

B 9

A27E

5 5

A27F

F F

A280

C 6

A281

0 7

A282

6 C

55 FF C6 07

07 C6 FF 55

Big Endian

Little Endian

Np. Pentium

Dwie metody

background image

2010-05-17

16

Pamięć operacyjna

Adres

Dane

Zapis

Odczyt

Rejestr adresu

Rejestr danych

Blok pamięci

b

itó

w

2

k

bajtów

p

bajtów

M

ikr

o

o

p

e

ra

cj

e

Pojemność  adres

* Np.

Obszar adresów  - 64 k bajtów (2

6

* 2

10

=  2

16

)

Adres  -

16 bitów

Rejestr adresu  - k

bitów

Obszar adresów  - 2

k

bajtów 

* Np.

Obszar adresów  - 4 G bajty (2

2

* 2

30

=  2

32

)

Adres  -

32 bitów

background image

2010-05-17

17

Pamięć operacyjna

Odczyt

Adres

Dane

Zapis

Odczyt

Rejestr adresu

Rejestr danych

Blok pamięci

M

ikr

o

o

p

e

ra

cj

e

1

1

 0

0

1

0

 1

0

1

0

Pamięć operacyjna

Odczyt

Adres

Dane

Zapis

Odczyt

Rejestr adresu

Rejestr danych

Blok pamięci

M

ikr

o

o

p

e

ra

cj

e

1

1

 0

0

1

0

 1

0

1

0

C7

59

B3

A1

background image

2010-05-17

18

Pamięć operacyjna

Odczyt

Adres

Dane

Zapis

Odczyt

Rejestr adresu

Rejestr danych

Blok pamięci

M

ikr

o

o

p

e

ra

cj

e

1

1

 0

0

1

0

 1

0

1

0

C7

59

B3

A1

A1  59  C7  B3

Pamięć operacyjna

Zapis

Adres

Dane

Zapis

Odczyt

Rejestr adresu

Rejestr danych

Blok pamięci

M

ikr

o

o

p

e

ra

cj

e

1

0

 0

1

1

0

 1

0

1

1

F7

background image

2010-05-17

19

Pamięć operacyjna

Zapis

Adres

Dane

Zapis

Odczyt

Rejestr adresu

Rejestr danych

Blok pamięci

M

ikr

o

o

p

e

ra

cj

e

1

0

 0

1

1

0

 1

0

1

1

F7

F7

Szybkość pamięci

Czas dostępu

– czas od ustawienia adresu 

do odczytania danych (nanosekundy; 10

-9

s)

Przepustowość

– liczba bajtów (lub bitów) przesyłana do/z

pamięci w ciągu sekundy

background image

2010-05-17

20

Częstotliwość: 

133 MHz (czas 7,5 ns )

Dostęp 

2 x w czasie jednego okresu

Szerokość dostępu: 

8 bajtów

Przepustowo

ść: 

2 x 133MHz x 8B =  2,1 GB/s

Przykład:

Przestrzeń adresów

Adres p-bitowy 

2

p

różnych adresów

RAM  (Random Access Memory)

- Pami

ęć zapisywalna; ulotna

ROM  (Read-Only Memory)

- Pami

ęć stała; nieulotna

I/O  (Input/Output)

- Rejestry urz

ądzeń we-wy

ROM

RAM

Nie 

implementowana

I/O

0 1 ...

...  2

p

-1 

background image

2010-05-17

21

Przestrzeń adresów

Adres p-bitowy 

2

p

różnych adresów

ROM

RAM

Nie 

implementowana

I/O

0 1 ...

...  2

p

-1 

Np.

Adres 16-bitowy 

– maksymalna pamięć  64 kB

Adres 32-bitowy 

– maksymalna pamięć  4 GB

Pami

ęci półprzewodnikowe

Zapisywalna (RAM) - ulotna (

volatile

)

Dynamiczna (D-RAM)

- tania, wymaga okresowego od

świeżania 

Statyczna (S-RAM)

- szybsza, dro

ższa, nie wymaga odświeżania 

Sta

ła (ROM)  - nieulotna (

nonvolatile

)

EPROM (Electrically Programmable ROM

EEPROM (Electrically Eresable Programmable ROM

FLASH

background image

2010-05-17

22

Co jest w pamięci 

operacyjnej?

System operacyjny komputera

-

zarządza zasobami

-

komunikuje się z operatorem

Programy użytkowe (aplikacje)

Program startowy (BIOS)

RAM
ładowana 
z dysku

ROM !

Budowa komputera

Model von Neumann’a

Cykl  rozkazowy

Pamięć operacyjna

Centralny  procesor  (CPU)

Jednostka  arytmetyczno-logiczna  (ALU)

Adres pamięci

Maszyna  sekwencyjna

Rozkaz

Licznik rozkazów

Słowo rozkazowe

Kod operacyjny

Rejestry  uniwersalne

background image

2010-05-17

23

Organizacja komputera

PAMIĘĆ

PROCESOR

WEJŚCIE 
WYJŚCIE

Organizacja komputera

M

CPU

I/O

Model von Neumann'a

Memory

Central 

Processing 

Unit

Input/Output

background image

2010-05-17

24

Cykl rozkazowy

M

CPU

I/O

Pobiera rozkaz

Dekoduje rozkaz

Wykonuje operację

Cykl rozkazowy

Pobranie rozkazu 

z pamięci

Wykonanie rozkazu 

w procesorze

Czas 

dostępu !

Pobieranie

argumentów

??

Procesor zawsze jest szybszy niż pamięć

background image

2010-05-17

25

Słowo rozkazowe

Adresy argumentów

Kod operacji

Od jednego do kilku bajtów

Łańcuch dwójkowy

Słowo rozkazowe

(Przykłady)

0100 10

01

0110 1111 0011 1100

(3 bajty: 49 6F 3C)

Wpisz liczbę

6F3C

do rejestru

R1

0010 01

11

(1 bajt: 27)

Przesuń w lewo zawartość rejestru

R3

background image

2010-05-17

26

Kod programu w pamięci

3 F

35AC:

4 7

A 2

0 5

C 6

0 0

8 E

35AD:

35AE:

35AF:

35B0:

35B1:

35B2:

Adres

Rozkaz 2-bajtowy pod adresem 35AD

Rozkaz 1-bajtowy pod adresem 35AF

Rozkaz 2-bajtowy pod adresem 35B0

Rozkazy są wykonywane sekwencyjnie

Licznik i rejestr rozkazów

3 F

35AC:

4 7

A 2

0 5

C 6

0 0

8 E

35AD:

35AE:

35AF:

35B0:

35B1:

35B2:

Adres

3 5 A D

Adres następnego rozkazu

Kod pobranego rozkazu

4 7 A 2

+ 2

Długość rozkazu

background image

2010-05-17

27

Licznik i rejestr rozkazów

3 F

35AC:

4 7

A 2

0 5

C 6

0 0

8 E

35AD:

35AE:

35AF:

35B0:

35B1:

35B2:

Adres

3 5 A F

Adres następnego rozkazu

Kod pobranego rozkazu

0 5

+ 1

Długość rozkazu

Licznik i rejestr rozkazów

3 F

35AC:

4 7

A 2

0 5

C 6

0 0

8 E

35AD:

35AE:

35AF:

35B0:

35B1:

35B2:

Adres

3 5 B 0

Adres następnego rozkazu

Kod pobranego rozkazu

C 6 0 0

+ 2

Długość rozkazu

background image

2010-05-17

28

Bloki funkcjonalne

Licznik rozkazów

Rejestr rozkazów

Rejestry procesora

(pamięć lokalna)

Arytmometr

Procesor centralny

Pamięć 

operacyjna

Sygnały
sterujące

Znaczniki

Przepływy informacji 

w czasie cyklu rozkazowego

Licznik rozkazów

Rejestr rozkazów

Arytmometr

Rejestry
procesora

Pamięć
operacyjna

Adres

Rozkaz

Pobranie rozkazu

background image

2010-05-17

29

Przepływy informacji 

w czasie cyklu rozkazowego

Licznik rozkazów

Rejestr rozkazów

Arytmometr

Rejestry
procesora

Pamięć
operacyjna

Adresy argumentów

Pobranie argumentów

Przepływy informacji 

w czasie cyklu rozkazowego

Licznik rozkazów

Rejestr rozkazów

Arytmometr

Rejestry
procesora

Pamięć
operacyjna

1. argument

2. argument

Kod 
operacji

Wynik

Wykonanie operacji

background image

2010-05-17

30

Wielkość słów 

maszynowych

W pamięci 

8 b (1 Bajt)

Adresy 

16 b;  32 b;  64 b

Rejestry procesora  16 b; 32 b; 64 b

Rozkazy

Od 1 B  do kilkunastu B   (CISC)

32 b  (4 B)   (RISC)

Model komputera

background image

2010-05-17

31

Zasoby pamięci

64 kB pamięci operacyjnej

4 rejestry procesora (16-bitowe)

64 k = 65 536 = 2

16 

,

czyli adres jest 16-bitowy

Formaty słów rozkazowych

1-bajtowe (8-bitowe):

□ □□□□□ □□

3-bajtowe (24-bitowe):

□ □□□□□ □□ □□□□□□□□ □□□□□□□□

background image

2010-05-17

32

Formaty słów rozkazowych

Identyfikator typu słowa

0

□□□□□ □□

Kod operacji    Nr rejestru

Identyf ikator

Adres pamięci

1

□□□□□ □□ □□□□□□□□ □□□□□□□□

Kod operacji    Nr rejestru

Lista rozkazów

Ładowanie rejestru z pamięci

Zapamiętanie rejestru w pamięci

Przesuwanie  zawartości rejestru

Zerowanie  rejestru

Dodawanie liczb

Odejmowanie liczb

Iloczyn logiczny łańcuchów dwójkowych

Uzupełnienie  logiczne łańcucha dwójkowego

Przejście do wskazanego rozkazu  (skok)

background image

2010-05-17

33

Kodowanie rozkazów

Rozkazy krótkie 

Kod op

Zapis 

symboliczny

Działanie

00000

NEG  r

Zmiana znaku  liczby w rej.

00001

NOT  r

Uzupełnienie  logiczne bitów

00010

CLR  r

Zerowanie  rejestru

00011

SHR  r

Przesunięcie w prawo

00100

SHL  r

Przesunięcie w lewo

00101

ROR  r

Przesunięcie cykliczne w prawo

00110

ROL  r

Przesunięcie cykliczne w lewo

Kodowanie rozkazów

Rozkazy długie

Kod op

Zapis 

symboliczny

Działanie

00000

LD r, adr

Przepisz słowo (16b) spod adr do rej.

00001

ST adr, r

Przepisz słowo z rej. pod adres adr

00010

ADD r, adr

Dodaj (wynik w rej.)

00011

SUB r, adr

Odejmij (wynik  w  rej.)

00100

AND r, adr

Iloczyn logiczny (wynik  w rej.)

00101

JMP  adr

Przejdź do adresu adr

00110

BC  adr

Jeżeli C=1, to przejdź do adresu adr

background image

2010-05-17

34

Przykład programu 

w języku asemblera XM-06

LD

R2, 13A5

SHR

R2

SHR

R2

NOT

R2

ST

13A7, R2

Przykład asemblacji

LD

R2, 13A5

1

00000  10   0001 0011 1010 0101

Hex:  82  13  A5

SHR

R2

0  00011  10

Hex:  0E

background image

2010-05-17

35

Przykład asemblacji (cd.)

ST

13A7, R2

1

00001  10   0001 0011 1010 0111

Hex:  86  13  A7

NOT

R2

0  00001  10

Hex:  06

Przykład asemblacji (cd.)

LD

R2, 13A5

SHR

R2

SHR

R2

NOT

R2

ST

13A7, R2

82 13 A5

0E

0E

06

86 13 A7

Kod programu (hex)

Postać asemblerowa

background image

2010-05-17

36

Symulacja działania 

programu

13A4

55

13A5

9E

13A6

87

13A7

3C

13A8

FF

13A9

50

13AA

9E87

LD     R2, 13A5

R2

Pamięć

Symulacja działania

programu

13A4

55

13A5

9E

13A6

87

13A7

3C

13A8

FF

13A9

50

13AA

1001 1110  1000  0111

R2

Pamięć

background image

2010-05-17

37

Symulacja działania

programu

13A4

55

13A5

9E

13A6

87

13A7

3C

13A8

FF

13A9

50

13AA

1001 1110  1000  0111

SHR

R2

R2

0100 1111  0100  0011

Pamięć

R2’

Symulacja działania

programu

13A4

55

13A5

9E

13A6

87

13A7

3C

13A8

FF

13A9

50

13AA

1001 1110  1000  0111

SHR

R2

R2

0100 1111  0100  0011

0010 0111  1010  0001

SHR

R2

Pamięć

R2’

background image

2010-05-17

38

Symulacja 

działania 

programu

13A4

55

13A5

9E

13A6

87

13A7

3C

13A8

FF

13A9

50

13AA

R2

0010 0111  1010  0001

NOT    R2

Pamięć

Symulacja 

działania 

programu

13A4

55

13A5

9E

13A6

87

13A7

3C

13A8

FF

13A9

50

13AA

R2

0010 0111  1010  0001

NOT    R2

1101 1000  0101  1110

Pamięć

R2’

background image

2010-05-17

39

Symulacja działania

programu

13A4

55

13A5

9E

13A6

87

13A7

D8

13A8

5E

13A9

50

13AA

R2

1101 1000  0101  1110

ST     13A7, R2

Pamięć

D8

5E

Deasemblacja programu

Adres:    

Kod:

7A56

82 

7A57 

2C 

7A58 

A3 

7A59 

8A 

7A5A 

2C 

7A5B 

A5 

7A5C 

02 

7A5D 

0E 

7A5E 

86 

7A5F 

2C 

7A60 

B7 

background image

2010-05-17

40

Deasemblacja programu

Adres:    

Kod:

7A56

82

7A57 

2C 

7A58 

A3 

7A59 

8A 

7A5A 

2C 

7A5B 

A5 

7A5C 

02 

7A5D 

0E 

7A5E 

86 

7A5F 

2C 

7A60 

B7 

1

000 0010       rozkaz 3-bajtowy

Deasemblacja programu

Adres:    

Kod:

7A56

82

7A57 

2C

7A58 

A3

7A59 

8A 

7A5A 

2C 

7A5B 

A5 

7A5C 

02 

7A5D 

0E 

7A5E 

86 

7A5F 

2C 

7A60 

B7 

1 00000 10

0010 1100      LD  R2, 2CA3

1010 0011

background image

2010-05-17

41

Deasemblacja programu

Adres:    

Kod:

7A56

82 

7A57 

2C 

7A58 

A3 

7A59 

8A 

7A5A 

2C 

7A5B 

A5 

7A5C 

02 

7A5D 

0E 

7A5E 

86 

7A5F 

2C 

7A60 

B7 

1

000 1010      rozkaz 3-bajtowy

LD  R2, 2CA3

Deasemblacja programu

Adres:    

Kod:

7A56

82 

7A57 

2C 

7A58 

A3 

7A59 

8A

7A5A 

2C

7A5B 

A5

7A5C 

02 

7A5D 

0E 

7A5E 

86 

7A5F 

2C 

7A60 

B7 

1 00010 10

0010 1100         ADD  R2, 2CA5

1010 0101

background image

2010-05-17

42

Deasemblacja programu

Adres:    

Kod:

7A56

82 

7A57 

2C 

7A58 

A3 

7A59 

8A 

7A5A 

2C 

7A5B 

A5 

7A5C 

02

7A5D 

0E 

7A5E 

86 

7A5F 

2C 

7A60 

B7 

0

000 0010    rozkaz 1-bajtowy

LD  R2, 2CA3

ADD  R2, 2CA5

Deasemblacja programu

Adres:    

Kod:

7A56

82 

7A57 

2C 

7A58 

A3 

7A59 

8A 

7A5A 

2C 

7A5B 

A5 

7A5C 

02

7A5D 

0E 

7A5E 

86 

7A5F 

2C 

7A60 

B7 

0 00000 10      NEG R2

LD  R2, 2CA3

ADD  R2, 2CA5