22
Univerzitet u Novom Sadu Fakultet tehničkih nauka Odsek za računarsku tehniku i računarske komunikacije Memorijski podsistem i adresni režimi procesora

Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Univerzitet u Novom Sadu

Fakultet tehničkih naukaOdsek za računarsku tehniku i

računarske komunikacije

Memorijski podsistem i adresni režimi procesora

Page 2: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

JEDINICA ZA GENERISANJE ADRESA 1/3

Zbog specifične – harvard arhitekture uvode se JEDINICE ZA GENERISANJE ADRESA - AG

Kod AG instrukcija, osnova je PC:

AG mora obavljati izvesne aritmetičke operacije

AG mora da podrži hardversku petlju

Brojač ciklusa (smanjuje se kada se izvrši segment koda)

Registar početka segmenta- START

Registar kraja segmenta – STOP (ili registar dužine segmenta)

AG mora da obezbedi skokove na adrese vektora prekida:

1) PC se smesta na sistemski stek

2) U PC se smesta početna reč rutine za obradu prekida

3) Po završetku obrade prekida, u PC se smešta vrh steka

Page 3: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

JEDINICA ZA GENERISANJE ADRESA 2/3

Jedinica za generisanje adresa podataka:

Odgovorna za generisanje adrese u memoriji za podatke na osnovu adrese u adresnom delu instrukcije

Podržano adresiranje:

Kružno ili modulo adresiranje

Bit-obrnuto adresiranje

Page 4: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

JEDINICA ZA GENERISANJE ADRESA

3/3

MUX

ALJ

REGISTAR DUŽINE

OBRTANJE BITA

ZAJEDNIČKA MAGISTRALA

REGISTAR PETLJE ADRESNI REGISTAR

LOGIKA PETLJE

Page 5: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Prikaz pristupa podacima u memoriji

5

Page 6: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

6

Adresni generator podataka -adresiranje

Informacije koje su potrebne procesoru se mogu nalazitiili u memoriji ili u registrima

U zavisnosti gde se te informacije nalaze procesorpodržava različite adresne režime

Adresiranje je operacija kojom se definišu lokacijeOPERANADA u memoriji

Page 7: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

7

Adresni režimi

Današnji procesori podržavaju neke od sledećih adresnihrežima:

1. PRETPOSTAVLJENO ADRESIRANJE

2. NEPOSREDNO ADRESIRANJE

3. MEMORIJSKO DIREKTNO ADRESIRANJE

4. REGISTARSKO DIREKTNO ADRESIRANJE

5. REGISTARSKO INDIREKTNO ADRESIRANJE

6. REGISTARSKO INDIREKTNO ADRESIRANJE SA INDEKSACIJOM

Page 8: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Adresni režimi DSP procesora (1)

1. PRETPOSTAVLJENO ADRESIRANJE (IMPLIED ADDRESSING) (podazumeva se da je operand u nekoj lokaciji, npr: namenskim registrima za tu inst.)

2. DIREKTNI PODACI (immediate data) NEPOSREDNA ADRESA. Sam operand (a ne njegova adresa) se nalazi u instrukcionoj reči.(male reči u instr.)

3. MEMORIJSKO – DIREKTNO ADRESIRANJE (MEMORY DIRECT ADDRESSING), naziva se i apsolutno adresiranje, podaci koji se adresiraju, stoje u memoriji na lokaciji čija je adresa kodirana u instrukciji.

Page 9: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Adresni režimi DSP procesora (2)

4. REGISTARSKO – DIREKTNO ADRESIRANJE (REGISTER DIRECT ADDRESSING), adresirani podacisu u registru, u adresnom delu instrukcije se definišeadresa registra u kom su podaci.

5. REGISTARSKO – INDIREKTNO ADRESIRANJE je adresiranje kod koga se adresirani podaci nalaze u memoriji, a adresa memorijske lokacije koja ih sadržinalazi se u registru.REGISTARSKOG – INDIREKTNOG ADRESIRANJA SA POST ILI

PRE-INKREMENTOM

6. REGISTARSKO – INDIREKTNO ADRESIRANJE SA INDEKSACIJOM se odnosi na adresiranje u kome su vrednosti smeštene u dva adresna registra i sabiraju se radi formiranja efektivne adrese

Page 10: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

10

Prikaz adresnih režimi

2.

3.

6.

4.

5.

Page 11: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Adresni režimi DSP procesora (3)

ADRESNI REŽIMI

REGISTARSKO – INDIREKTNO ADRESIRANJE SA MODULO ADRESNOM ARITMETIKOM

Primene kružnog bafera

Za rukovanje kružnim baferom, koriste se:Startna adresa

Adresa kraja/dužine

Pokazivač upisa

Pokazivač čitanja

X0

X1 X2

X3

X4

POKAZIVAČ

ČITANJA

POKAZIVAČ

UPISA

X0 X1 X2 X3 X4

POKAZIVAČ

ČITANJA

POKAZIVAČ

UPISA

a)

Page 12: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Adresni režimi DSP procesora (4)

REGISTARSKO-INDIREKTNO ADRESIRANJE SA BIT OBRNUTIM REDOSLEDOM

X0

X1

X2

X3

X4

X5

X6

X7

FFT

X0

X4

X2

X6

X1

X5

X3

X7

a)

BINARNI

BROJAČ

MSB LSB

0 0 0 = 0

0 0 1 = 1

0 1 0 = 2

0 1 1 = 3

1 0 0 = 4

1 0 1 = 5

1 1 0 = 6

1 1 1 = 7

0

1

0

1

0

1

0

1

0

0

1

1

0

0

1

1

0

0

0

0

1

1

1

1

=

=

=

=

=

=

=

=

0

4

2

6

1

5

3

7

Biti obrnuti

b)

c)

0 ti izlazni element =

=

=

=

=

=

=

=

X0

X4

X2

X6

X1

X5

X3

X7

4 ti izlazni element

2 gi izlazni element

6 ti izlazni element

1 vi izlazni element

5 ti izlazni element

3 ći izlazni element

7 mi izlazni element

d)

FFT česta primena:tranformacija vremenskog u frekventi domen->nedostatak je skremblovani ulaz/izlaz

Najneobičniji adresni režim, adresiranje obrtanjem bita koristi se za sračunavanje FFT

Page 13: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Memorijski sistem DSP procesora CS48X

CS48X sadrži 2 memorije za podatke (X i Y) i programskumemoriju

Adrese u programskoj memoriji generiše posebna jedinica(engl. Program Control Unit)

Adrese u memoriji podataka generiše posebna adresnajedinica (AGU engl. Address Generation Unit)

13

Page 14: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Jedinica za generisanje adresa podataka procesora CS48X (1)

Generiše adrese podataka za X i Y memoriju

Dve adresne magistrale, istovremeno adresiranje dvememorije podataka

Sve informacije potrebne za adresiranje se čuvajuparovima 16-bitnih registara

U AGU jedinici se nalaze 12 indeksnih (i0-i11) registara i 12 modulo-ofset registara (nm0-nm11)

Jedan deo modulo-ofset registara definiše adresni režim,a drugi deo indeksaciju (ofset)

14

Page 15: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Jedinica za generisanje adresa podataka procesora CS48X (2)

15

Page 16: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Adresni režimi procesora CS48X

Adresiranja koja podržava ovaj procesor:

NEPOSREDNO ADRESIRANJE

POSREDNO ADRESIRANJE

MODULO ADRESIRANJE (Podrška kružnom baferu)

LINEARNO ADRESIRANJE

POSREDNO ADRESIRANJE SA BIT OBRNUTIM REDOSLEDOM(Podrška za FFT algoritam)

16

Page 17: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Neposredno adresiranje(memorijski direktno)

Podatak se nalazi u nekoj od memorijskih zona (X ili Y), da bi prihvatili podatak moramo imati njegovu adresu

Za ovakav tip adresiranja koristimo instrukciju koja u sebi sadrži traženu adresu na kojoj se nalazi operand

Operand instrukcije je adresa (kao konstanta ili simbol kojipredstavlja to mesto u memoriji)

Primer: a0 = xmem[0x811] ili a0 = xmem[X_address]

Postoje dve verzije ovakvog adresiranja:

1. Zauzima se cela instukcijska reč

2. Zauzima se samo deo instrukcijske reči

Koje su prednosti druge verzije u odnosu na prvu?

17

Page 18: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Posredno adresiranje(registarsko indirektno)

Ovakav tip adresiranja zahteva da se u nekim od registaranalazi adresa u memoriji čijem sadržaju pristupamo

Kao operand navodimo jedan od indeksnih registara AGU (i0-i11)

Primer: x0 = xmem[i1] ili y0 = ymem[i1]

Sadržaj indeksnog registra se ažurira preko jednog od odgovarajućih nm registara

18

Page 19: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Linearno adresiranje

Poseban slučaj posrednog adresiranja

Pogodan pri prolasku kroz bafer, tako da indeksni registarmožemo uvećati pri svakoj operaciji nad njim za korakdefinisan u ofset delu nm registra

Sličan modulo adresiranju

Ovakvo adresiranje ne zahteva da veličina bafera budestepen broja dva

Indeks registar neće biti postavljen na početak bafera, kada dodje do kraja bafera

Kod ovakvog adresiranja modulo deo odgovarajućeg nmregistra postavlja se na 0x0

19

Page 20: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Adresiranje sa bit obrnutim redosledom

Podrška DSP-ova za rad sa FFT i IFFT

Modulo deo odgovarajuceg nm registra postavljen na 0xf

Ofset deo nm registra postavljen je na vrednost 2^(k-1) u slučajuveličine 2^k

Indeksni registar se inicijalizuje obično na početak bafera

Primer:

i0 = (X_Buffer) #<- i0 points to beginning of buffer

nm0 = (0xf010) #<- Set nm0 modulo and offset part

i1 = (X_Bit_Reverse_Buffer) #<- i1 points to buffer where data will

# be written in

do(0x20),>Loop

a0 = xmem[i0]; i0 += n #<- Read from X_Buffer in BitReverse

%Loop: xmem[i1] = a0; i1 += 1 #<- Write it to X_Bit_Reverse_Buffer

20

Page 21: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Ažuriranje indeksnog registra

Podrazumeva umanjenje ili uvaćanje sadržaja indeksnog registra

Ove operacije se obavljaju nezavisno od ALJ i akumulatora

Ovakve operacije se mogu istovremeno nalaziti u instrukcijskoj reči sa operacijama nad memorijom ili aritmetičkim i logičkim operacijama

Neke od operacija nad indeksnim registrom

Primer: i0 (+-)= 1 ili i0 (+-)= 2 ili i0 (+-)= n

a0 = xmem[i0]; i0 += 1

21

Page 22: Memorijski podsistem i...LOGIKA PETLJE Prikaz pristupa podacima u memoriji 5 6 Adresni generator podataka - adresiranje Informacije koje su potrebne procesoru se mogu nalaziti ili

Modulo adresiranje

22

Poseban slučaj posrednog adresiranja

Važan za implementaciju kružnih bafera

Kružni bafer je veličine stepena dvojke (opseg 2^2-2^16)

Početna adresa bafera je umnožak njegove veličine

Modul po kom se vrši adresiranje definisan je modulodelom nm registra

Inkrementiranje indeksnog registra je definisano za koraku vrednosti ofset dela nm registra

Vrednost indeksnog registra se vraća na početak kružnog bafera kada se dostigne krajnja adresa bafera