građa računala vježbe 2 (2010./2011.) · 27 građa računala vježbe 2 (2010./2011.) ivo ugrina...

Post on 19-Jan-2020

10 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

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

Ivo Ugrina ­ iugrina@math.hr 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Arhitektura Motorole 68000

2

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

Ivo Ugrina ­ iugrina@math.hr 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

3

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

Ivo Ugrina ­ iugrina@math.hr 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)

4

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

Ivo Ugrina ­ iugrina@math.hr 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)

5

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

Ivo Ugrina ­ iugrina@math.hr 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

6

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

Ivo Ugrina ­ iugrina@math.hr 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

7

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

Ivo Ugrina ­ iugrina@math.hr 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

8

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

Ivo Ugrina ­ iugrina@math.hr 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

9

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

Ivo Ugrina ­ iugrina@math.hr 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

10

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

Ivo Ugrina ­ iugrina@math.hr 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         

11

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

Ivo Ugrina ­ iugrina@math.hr 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

12

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

Ivo Ugrina ­ iugrina@math.hr 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

13

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

Ivo Ugrina ­ iugrina@math.hr 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.

14

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

Ivo Ugrina ­ iugrina@math.hr 01:0

0:00

:00

  + 

00:

00:0

0:0

1 =

 2

Načini adresiranja

15

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

Ivo Ugrina ­ iugrina@math.hr 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.

16

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

Ivo Ugrina ­ iugrina@math.hr 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

17

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

Ivo Ugrina ­ iugrina@math.hr 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

18

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

Ivo Ugrina ­ iugrina@math.hr 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

19

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

Ivo Ugrina ­ iugrina@math.hr 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

20

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

Ivo Ugrina ­ iugrina@math.hr 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

21

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

Ivo Ugrina ­ iugrina@math.hr 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

22

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

Ivo Ugrina ­ iugrina@math.hr 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

23

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

Ivo Ugrina ­ iugrina@math.hr 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

24

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

Ivo Ugrina ­ iugrina@math.hr 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)

25

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

Ivo Ugrina ­ iugrina@math.hr 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)+

26

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

Ivo Ugrina ­ iugrina@math.hr 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)

27

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

Ivo Ugrina ­ iugrina@math.hr 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)

28

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

Ivo Ugrina ­ iugrina@math.hr 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.

top related