28
1 Građa računala  - vježbe 2 (2010./2011.) Ivo Ugrina - [email protected] 01:00:00:00  + 00:00:00:01 = 2 Arhitektura Motorole 68000

Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina [email protected] 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

1

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Arhitektura Motorole 68000

Page 2: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

2

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Pojednostavljeni prikaz

MEMORIJA

RAM, ROM, ...

VANJSKIUREĐAJI

tipkovnica,miš,

Monitor,...

CPU

registriALU

interne sabirnice

Adresna sabirnica

Podatkovna sabirnica

Kontrolna sabirnica

Page 3: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

3

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Osnovne komponente CPUa

➢ ALU – aritmetičko-logička jedinica➢ Registri dohvatljivi programu

– Adresni

– Podatkovni

– Statusni

– Uvjetni

➢ Registri nedohvatljivi programu➢ Nema: FPU (floating-point unit), priručnu

memoriju (cache)

Page 4: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

4

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Sabirnice (buses)

➢ Sabirnice su prijenosnici podataka između registara, vanjske memorije i ALU

➢ Dijelimo ih na:● Adresnu (prijenos adrese, 24 bita)● Podatkovnu (prijenos podataka)● Kontrolnu (prijenos podataka i upravljanje

vanjskim uređajima)

Page 5: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

5

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Načini rada procesora

Nadgledni– instrukcije koje nisu potrebne običnom korisniku

– upravljanje poslovima (task scheduler) i obrađivanje prekida (interrupt handling)

– programi imaju pristup cijeloj memoriji

Korisnički– većina se programa izvršava u ovom načinu rada

– program ima pristup samo vlastitim podacima

Page 6: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

6

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Načini rada procesora

➢ Jedini način da program iz korisničkog rada pređe u nadgledni jest pomoću iznimki (prekidi od vanjskih uređaja i nelegalne instrukcije)

➢ prelazak iz nadglednog u korisnički je dopušten

Page 7: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

7

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Registri u kor. načinu rada

Podatkovni● 8 registara veličine 32 bita● D0, D1, …, D7● 1, 8, 16, 32 bitne operacije nad registrima

Programsko brojilo (PC)● Sadrži adresu sljedeće instrukcije● 32 bitni registar

Page 8: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

8

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Registri u kor. načinu rada

Adresni● 8 registara veličine 32 bita● A0, A1, ..., A7● 16 i 32 bitne operacije nad registrima● Sign extension● A0, ..., A6 općenamjenski● A7 pokazivač na korisnički stog

Page 9: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

9

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Registri u kor. načinu rada

Uvjetni (Condition code)● Carry bit (C)● Zero bit (Z)● Negative bit (N)● Oveflow bit (O)● Extend bit (X)

  7     6     5     4      3      2     1     0

    X    N    Z    V   C

Page 10: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

10

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Registri u nad. načinu rada

Adresni● U nadglednom načinu rada adresni registar A7

sadrži pokazivač na nadgledni stog

Statusni● Supervisor bit (S)● Trace bit (T)

● I0, I1, I2 – interrupt mask bits

  7     6     5     4      3      2     1     0

    X    N    Z    V   C15    14   13     12   11    10    9      8

T           S                I2   I1   I0         

Page 11: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

11

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Memorija

➢ Linearna➢ Neprekidan blok ćelija➢ 0x00000000 – 0x00ffffff➢ Adresni prostor 16 MB➢ Vanjski uređaji imaju jedinstvenu

memorijsku lokaciju

N

N+1

N+2

N+3...

a1

b2

cc

01

Page 12: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

12

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Memorija

➢ Osnovna jedinica 1 byte = 8 bita➢ 16 ili 32 bitni operandi moraju

početi na parnim adresama➢ Big endian

N

N+1

N+2

N+3...

a1

b2

cc

01

31          23            15          7          0

MSB                                             LSB

  a1         b2      cc         01registar

Page 13: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

13

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Domaći rad :)

➢ Napišite program, u proizvoljnom programskom jeziku, koji ispisuje na standardni izlaz “Little Endian” ukoliko je procesor na kojem se vrti little endian, odnosno “Big Endian” za big endian procesore.

Page 14: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

14

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Načini adresiranja

Page 15: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

15

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Implicitno adresiranje

➢ Za instrukcije kojima je adresa operanda određena instrukcijskim kodom kažemo da koriste implicitno adresiranje

➢ Na primjer:● RTS (Return from Subroutine) uvijek dohvaća

operand (povratnu adresu) s vrha stoga.● BRA (Branch) uvijek koristi programsko brojilo (PC) i

kao drugi operand uzima adresu na koju se grana.

Page 16: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

16

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Direktno adresiranje

➢ U direktnom adresiranju instrukcija eksplicitno dobiva adresu operanda

➢ Direktno adresiranje dijelimo na:● Direktno adresiranje podatkovnog registra● Direktno adresiranje adresnog registra● Trenutno● Apsolutno

Page 17: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

17

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Direktno adr. pod. registra

➢ U ovom tipu adresiranja podatkovni registar sadrži operand

➢ Označavamo ga sa Dn, gdje n označava broj željenog registra

➢ Primjer:

MOVE.L D0,D3

D0: 10204FFF D0: 10204FFF

D3: 1034F88A D3: 10204FFF

Page 18: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

18

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Direktno adr. adresnog reg.

➢ U ovom tipu adresiranja adresni registar sadrži operand

➢ Označavamo ga sa An, gdje n označava broj željenog registra

➢ Primjer:

MOVEA.L A0,A3

A0: 00200000 A0: 00200000

A3: 0004F88A A3: 00200000

Page 19: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

19

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Trenutno adresiranje

➢ U trenutnom adresiranju operand je dio instrukcije, podaci slijede instrukcijski kod u memoriji.

➢ Koristimo znak # za oznaku ovog adresiranja

MOVE.L #$1FFFF, D0

D0: 012309FF D0: 0001FFFF

Page 20: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

20

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Apsolutno adresiranje

➢ U apsolutnom adresiranju adresa operanda je dio instrukcije

➢ Adresa slijedi instrukcijski kod u memoriji.➢ Adresa može biti 16 ili 32 bita velika

MOVE.L #$10030, $1200

00001200 00 00001200 00

00001201 00 00001201 01

00001202 00 00001202 00

00001203 00 00001203 30

Page 21: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

21

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Indirektno adr. pomoću reg.

➢ U indirektnom adresiranju pomoću registara adresu operanda sadrži adresni registar ili programsko brojilo. Kažemo da registar pokazuje na operand.

➢ Indirektno adresiranje (IA) dijelimo na:● IA pomoću adresnog registra (IAPAR)● IA pomoću adresnog registra uz preddekrementiranje● IA pomoću adresnog registra uz postinkrementiranje

Page 22: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

22

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Indirektno adr. pomoću reg.

● IA pomoću adresnog registra uz odmak● IA pomoću adresnog registra uz indeks i odmak● IA pomoću programskog brojila (IAPPB) uz odmak● IA pomoću programskog brojila uz indeks i odmak

Page 23: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

23

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

IA pomoću adresnog registra (IAPAR)

➢ U ovom tipu adresiranja adresni registar sadrži adresu operanda

➢ Za poziv stavimo ime adresnog registra unutar zagrada

MOVE D0, (A0)

D0: 10434567 00001200 10

A0: 00001200 00001201 43

00001202 45

00001203 67

Page 24: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

24

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

IAPAR uz predekrementiranje

➢ U ovom se tipu adresiranja prvo dekrementira adresni registar te se potom koristi operand s nove adrese

➢ U assemblyju to označavamo sa -(An)

Page 25: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

25

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

IAPAR uz postinkrementiranje

➢ U ovom se tipu adresiranja prvo koristi operand na kojeg pokazuje adresni registar te se potom inkrementira vrijednost u adresnom registru

➢ U assemblyju to označavamo sa (An)+

Page 26: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

26

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

IAPAR uz odmak

➢ U ovom tipu adresiranja efektivnu adresu operanda dobivamo kao zbroj neke 16 bitne vrijednosti x (odmak) i vrijednosti koja je sadržana u adresnom registru

➢ Za x vrijedi sign-expansion➢ U assemblyju to označavamo sa x(An)

Page 27: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

27

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

IAPAR uz indeks i odmak

➢ U ovom tipu adresiranja efektivna aresa operanda dobivena je zbrajanjem adrese u danom adresnom registru, vrijednosti (indeksa) u nekom drugom (indeksnom) registru IR te odmaka x.

➢ Indeksni registar može biti bilo koji od podatkovnih i adresnih registara.

➢ Indeks i odmak mogu biti 16 i 32 bitne vrijednosti. U slučaju 16 bitnih vrijednosti koristi se sign-expansion

➢ U assemblyju to označavamo sa x(An,IR)

Page 28: Građa računala vježbe 2 (2010./2011.) · 27 Građa računala vježbe 2 (2010./2011.) Ivo Ugrina iugrina@math.hr 0 1: 0 0: 0 0: 0 0 + 0 0: 0 0: 0 0: 0 1 = 2 IAPAR uz indeks i odmak

28

Građa računala  ­ vježbe 2 (2010./2011.)

Ivo Ugrina ­ [email protected] 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Domaći rad :)

➢ Proučite indirektno adresiranje pomoću programskog brojila uz odmak te indirektno adresiranje pomoću programskog brojila uz indeks i odmak.