24.07.2013 Views

Zbirka zadataka iz Mikroprocesorskih sistema 5-0

Zbirka zadataka iz Mikroprocesorskih sistema 5-0

Zbirka zadataka iz Mikroprocesorskih sistema 5-0

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5-0<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong>


Zadatak 5.1<br />

5. Memorije<br />

5. Memorije<br />

Na slici 5.1 prikazana je logi~ka {ema i tablica istine, linijskog dekodera 3-u-8 tipa 74LS138, a na slici<br />

5.2 EPROM memorija tipa 2764 kapaciteta 8kB. EPROM prostor mikrora~unara zasnovan na<br />

mikroprocesoru 8088 kapaciteta 64kB zauzima opseg adresa od F0000h do FFFFFh. Koriste}i<br />

dekodersko kolo 74LS138, logi~ko NAND kolo sa tri ulaza tipa 74LS10 i EPROM memoriju tipa<br />

2764 pokazati kako <strong>iz</strong>gleda struktura memorijskog <strong>sistema</strong>, kao i <strong>sistema</strong> za selekciju adresa. Koliko<br />

EPROM ~ipova je potrebno ugraditi? Nazna~iti za koji je opseg adresa odgovaraju}i <strong>iz</strong>laz dekodera<br />

74LS138 va`e}i.<br />

Selektors<br />

ki ulazi<br />

Ulazi<br />

dozvole<br />

rada<br />

Izlazi<br />

Ulazi<br />

Izlazi<br />

Slika 5.1: Logi~ka {ema i tablica istine 3-u-8 linijskog dekodera 74LS138<br />

5-1


Odgovor<br />

5-2<br />

A13<br />

A14<br />

A15<br />

A16<br />

A17<br />

A18<br />

A19<br />

adrese<br />

RD<br />

~ip<br />

selekt<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

74LS138<br />

2764<br />

A0-A12<br />

OE<br />

CE<br />

D0-D7<br />

Slika 5.2. Memorijski ~ip 2764<br />

Adrese<br />

Podaci<br />

A0<br />

⋅<br />

A12<br />

O0 2764<br />

⋅<br />

O7<br />

a) Struktura memorijskog <strong>sistema</strong><br />

podaci<br />

A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 . . . A0 Opseg selektovanih<br />

adresa<br />

1 1 1 1 0 0 0 x x x . . . x F0000-F1FFF<br />

1 1 1 1 0 0 1 x x x . . . x F2000-F3FFF<br />

. . x . .<br />

. . x . .<br />

. . x . .<br />

1 1 1 1 1 1 1 x x x . . . x FE000-FFFFF<br />

b) Selekcija prostora<br />

Slika 5.3 Struktura koja koristi osam 2764 EPROM-ova za formiranje 64kB memorijskog prostora<br />

lociranog u adresnom prostoru F0000h - FFFFFh


5. Memorije<br />

Zadatak 5.2<br />

^esto se kao dekoder adresa koristi bipolarni PROM. Logi~ka {ema bipolarnog PROM-a tipa<br />

TPB28L42 kapaciteta 512*8 prikazana je na slici 5.4. EPROM prostor kapaciteta 64kB,<br />

mikrora~unrskog <strong>sistema</strong> zasnovanog na CPU 8088, lociran je u adresnom opsegu po~ev od adrese<br />

F0000h do FFFFFh. Koliko EPROM ~ipova tipa 2764 je potrebno ugraditi? Nazna~iti za koji opseg<br />

adresa je odgovaraju}i <strong>iz</strong>laz PROM-dekodera va`e}i.<br />

Odgovor<br />

adrese<br />

dozvola<br />

rada<br />

A0-A8<br />

G<br />

O0-O7<br />

podaci<br />

Slika 5.4 Logi~ki dijagram bipolarnog PROM tipa TPB28L42<br />

Adrese<br />

Podaci<br />

dekoder adresa<br />

TPB28L42<br />

Slika 5.5 Memorijski sistem koji koristi bipolarni PROM TPB28L42 kao dekoder adresa<br />

Ulazi Izlazi<br />

G A8 A7 A6 A5 A4 A3 A2 A1 A0 O0 O1 O2 O3 O4 O5 O6 O7<br />

0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1<br />

0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1<br />

0 0 0 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1<br />

0 0 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1<br />

0 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1<br />

0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1<br />

0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1<br />

0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0<br />

sve ostale kombinacije 1 1 1 1 1 1 1 1<br />

Slika 5.6 Na~in na koji je programiran bipolarni PROM TPB28L42<br />

5-3


Zadatak 5.3<br />

5-4<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Logi~ka {ema programibilnog logi~kog kola tipa PAL16L8 prikazana je na slici 5.7. PAL16L8 se<br />

koristi kao dekoder adresa 64kB EPROM prostora kod mikroprocesora 8088. EPROM prostor je<br />

lociran u opsegu po~ev od adrese F0000h do FFFFFh. EPROM memorija je real<strong>iz</strong>ovana promo}u<br />

~ipova 2764 (8k*8). Ukazati na na~in kako je programirano kolo PAL16L8 i kako <strong>iz</strong>gleda struktura<br />

memorijskog pod<strong>sistema</strong> koju ~ini dekoder i osam EPROM ~ipova 2764?<br />

Logi~ki dijagram<br />

Odgovor<br />

Slika 5.7 Logi~ki dijagram kola PAL16L8<br />

Programiranje ~ipa PAL16L8 vr{i se slede}om programskom sekvencom. Sekvenca je napisana na<br />

HDL jeziku PALASM.


5. Memorije<br />

TITLE adresni_dekoder<br />

PATTERN test_kolo_1<br />

REVISION A<br />

AUTHOR SIMA RUS<br />

COMPANY ELEF<br />

DATE 05/20/1998<br />

CHIP DEKODER PAL16L8<br />

; pins 1 2 3 4 5 6 7 8 9 10<br />

A19 A18 A17 A16 A15 A14 A13 NC NC GND<br />

; pins 11 12 13 14 15 16 17 18 19 20<br />

NC O8 O7 O6 O5 O4 O3 O2 O1 VCC<br />

EQUATIONS<br />

/O1 = A19*A18*A17*A16*/A15*/A14*/A13<br />

/O2 = A19*A18*A17*A16*/A15*/A14*A13<br />

/O3 = A19*A18*A17*A16*/A15*A14*/A13<br />

/O4 = A19*A18*A17*A16*/A15*A14*A13<br />

/O5 = A19*A18*A17*A16*A15*/A14*/A13<br />

/O6 = A19*A18*A17*A16*A15*/A14*A13<br />

/O7 = A19*A18*A17*A16*A15*A14*/A13<br />

/O8 = A19*A18*A17*A16*A15*A14*A13<br />

Struktura memorijskog pod<strong>sistema</strong> kojom se pomo}u kola PAL16L8, U1, dekodiraju osam EPROM<br />

~ipova 2764, U2-U9, prikazana je na slici 5.8<br />

Slika 5.8 PAL16L8 kao dekoder adresa EPROM memorijskog prostora<br />

real<strong>iz</strong>ovan pomo}u osam ~ipova 2764<br />

5-5


Test pitanje 5.1<br />

5-6<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Na slici 5.9 prikazano je kako se pomo}u 16 SRAM ~ipova tipa 62256 (32k*8) formira memorijski<br />

podsistem, i isti povezuje na mikrora~unarski sistem zasnovan na mikroprocesoru 8088.<br />

Slika 5.9 Stati~ki memorijski podsistem kapaciteta 512kB koji koristi 16 SRAM ~ipova tipa 62256


5. Memorije<br />

[tampana plo~a na kojoj su sme{tene komponente sa slike 5.9, koristi dva dekodera tipa 74LS138 za<br />

selekciju 16 razli~itih SRAM komponenti, a tre}im dekoderom (tipa 74LS138) bira se odgovaraju}a<br />

memorijska banka. Sa 16 SRAM ~ipova kapaciteta 32k*8 se formira memorijski prostor veli~ine<br />

512kB (u konkretnom slu~aju je to prostor po~ev od lokacije 00000h do 7FFFFh). Ukratko ukazati na<br />

princip organ<strong>iz</strong>acije logike za dekodiranje i funkcije ostalih komponenti u sistemu.<br />

Odgovor<br />

Prvi dekoder (U4) na {emi sa slike 5.9 selektuje ostala dva dekodera (U3 i U9). Pomo}u adresa koje<br />

po~inju sa A19 A18 = 00 selektuje se dekoder U3, a pri A19A18 = 01 bira se dekoder U9. Treba uo~iti<br />

da se slobodni pinovi dekodera U4 mogu iskoristiti za dalja pro{irenja. Sa A19 i A18 obezbedjena je<br />

selekcija do ~etiri 256k*8 RAM blokova (4*256k*8), naravno uz dogradnju jo{ dodatna dva dekodera<br />

tipa 74LS238 koji bi se koristili za selekciju prostora od 512k do 1M. Anal<strong>iz</strong>iraju}i sliku 5.9<br />

uo~avamo da su adresni ulazi kod ove memorijske sekcije baferovani, a takodje se baferuju signali D0<br />

- D7 kao i upravlja~ki signali /RD i /WR. Baferovanje je va`no kada se na jednoj plo~i pobudjuje ve}i<br />

broj kola (kao {to je u ovom slu~aju sa memorijskim ~ipovima). Bez baferovanja na svakoj plo~i,<br />

optere}enje na sistemskoj adresnoj magistrali, magistrali za podatke i upravlja~koj magistrali postoje<br />

suvi{e veliko i dovodi da rad <strong>sistema</strong> bude nekorektan (fan-in i fan-out CPU-a i memorijskih ~ipova<br />

nije veliki). U konkretnoj real<strong>iz</strong>aciji sa slike5.9 kao baferi LS adresa se koriste kola U1 i U2 (le~<br />

74LS244), a kao bafer upravlja~kih signala /RD, /WR i MS adrese A17-A19 se koristi kolo U3<br />

(74LS244). Na magistrali za podatke povezan je primo-predajnik U5 (74LS245). Ostala kola U6A<br />

(74LS20), U7A (74LS00) i U8A formiraju logiku koja odredjuje smer prenosa podataka po magistrali<br />

za podatke, tj. od CPU-a ka memoriji ili od memorije ka CPU-u.<br />

Test pitanje<br />

Za memorijski sistem definisan zadatkom 5.2 projektovati kolo dekodera adresa TPB28L42, kod koga<br />

je EPROM prostor kapaciteta 64kB, mikrora~unarskog <strong>sistema</strong> zasnovanog na CPU 8088 lociran:<br />

a) u adresnom prostoru po~ev od adrese 30000h do 3FFFFh<br />

b) u adresnom prostoru po~ev od adrese 60000h do 6FFFFh.<br />

Test pitanje 5.2<br />

[ta je to "Flash" memorija, za{to se koristi? Ukazati na jednu njenu tipi~nu aplikaciju?<br />

Odgovor<br />

Flash memorija je komponenta tipa EEPROM. Uobi~ajeno se koristi za memorisanje "setup"<br />

informacije razli~itih interfejs kartica (video kartice, disk kontroler kartice, itd) kao i sistemskog<br />

BIOS-a kod PC ma{ina. Drugim re~ima flash memorije se uglavnom apliciraju za ~uvanje informacije<br />

koja se povremeno menja. Jedina razlika <strong>iz</strong>medju flash memorije i SRAM-a je u tome {to flash<br />

memorija zahteva napon od 12V za programiranje kako kod operacije brisanja tako i operacije upis.<br />

Jedna tipi~na aplikacija Intel-ove flash memorije 28F400 koja se koristi kod <strong>sistema</strong> zasnovanog na<br />

CPU-u 8088 prikazana je na slici 5.10. Memorija 28F400 (~ip U?) se mo`e koristiti kao ~ip kapaciteta<br />

512k*8 ili 256k*16.<br />

Pinovi OE (Output Enable), CE (Chip Enable) i WE (Write Enable) imaju istu ulogu kao i oni kod<br />

SRAM ~ipova. Novi pinovi su: VPP - povezuje se na 12V kod brisanja i programiranja; PWD -<br />

selektuje "power down mode" kada je na logi~koj nuli, ali se takodje koristi i kod programiranja;<br />

BYTE - selektuje na~in rada bajt (0) ili re~ (1); pin DQ15 funkcioni{e kao LS adresni ulaz u bajt<br />

na~inu rada.<br />

Logi~ki simbol dekodera adresa U?A, tipa 74LS139, sa slike 10, i njegova odgovaraju}a tablica istine<br />

prikazani su na slici 5.11.<br />

5-7


5-8<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Slika 5.10 Sprega flash memorije 28F400 kod <strong>sistema</strong> zasnovanog na mikroprocesoru 8088<br />

Selektorski<br />

ulazi<br />

Ulaz<br />

dozvole rada<br />

Selektorski<br />

ulazi<br />

Ulaz<br />

dozvole rada<br />

Ulazi Izlazi<br />

Slika 5.11 Dekoder 74LS139<br />

Izlazi<br />

Izlazi


5. Memorije<br />

Dekoder 74LS139 sa slike 5.10 koristi adresu A19 i upravlja~ki signal IO/ M kao ulaze. Signal A15<br />

selektuje flash memoriju po~ev od lokacije 80000h do FFFFFh, pri ~emu za IO/ M =0 rad dekodera je<br />

dozvoljen.<br />

Test pitanje 5.3<br />

Logi~ki dijagram generatora/detektora parnosti SN74LS280 prikazan je na slici 5.12a) a funkcionalna<br />

tabela na slici 5.12b).<br />

A<br />

B<br />

C<br />

D<br />

E<br />

F<br />

G<br />

H<br />

I<br />

a)<br />

broj ulaza od A do I koji <strong>iz</strong>lazi<br />

su na visoko paran neparan<br />

0, 2, 4, 6, 8 H L<br />

1, 3, 5, 7, 9 L H<br />

b)<br />

Slika 5.12 Logi~ki dijagam (a); i funkcionalna tabela generatora/detektora parnosti SN74AS280 (b)<br />

Napomena: H-visoko (high); L - nisko (low)<br />

Ako na raspolaganju imamo SRAM ~ipove 62556 kapaciteta 32k*8, projektovati 64k*8 SRAM<br />

memorijski sistem koji ima ugra|eno kolo za detekciju gre{ke parnosti. Bitove parnosti koje generi{e<br />

74LS280 ~uvati u SRAM 6287 kapaciteta 64k*1. Koriste}i dekoder adresa 74LS138, SRAM<br />

kapaciteta 64kB, smestiti u memoriju po~ev od lokacije 80000h do 8FFFFh. Memorijski sistem<br />

projektovati za mikroprocesor 8088.<br />

Odgovor<br />

74AS<br />

280<br />

paran<br />

neparan<br />

Struktura memorijskog <strong>sistema</strong> prikazana je na slici 5.13.<br />

Anal<strong>iz</strong>om slike mo`emo do}i do slede}ih zaklju~aka:<br />

(a) osam linija D0-D7 povezano je na ulaze A-H kola U6 (74LS280), dok je ulaz I=0. To zna~i da<br />

kada se na ulazima U6 pojavi paran broj jedinica, logi~ka jedinica koja se generi{e na <strong>iz</strong>lazu paran<br />

upisuje se u U5 (RAM parnosti 6287). Kada je broj jedinica na ulazu neparan, u U5 se upisuje logi~ka<br />

nula. Sa aspekta kodiranja podataka koji se sme{taju u memoriju koristi se neparna parnost.<br />

(b) kod ~itanja podataka <strong>iz</strong> memorije, svaki podatak se dovodi na (drugo) kolo za proveru parnosti U7<br />

(74AS280). U ovom slu~aju koriste se svi ulazi ~ipa U7. Ulazi A do H povezani su na <strong>iz</strong>laze SRAMova<br />

a ulaz I na <strong>iz</strong>laz RAM-a parnosti, U5 (6287). ^ip U5 se ~ita kada je selektovan (CE* = 0), a u U5<br />

se upisuje kada je /CE = 0 i /WE = 0. Ako je parnost neparna (ne postoji gre{ka) <strong>iz</strong>laz paran kola U7<br />

(74AS280) se postavlja na logi~ku nulu. Ako se zbog kakvih razloga pro~itana informacija <strong>iz</strong><br />

memorije promeni, <strong>iz</strong>laz kola U7 }e se postaviti na 1.<br />

(c) <strong>iz</strong>laz paran kola U7 povezan je preko D flip-flopa U8A (74LS74) na ulaz nemaskiraju}eg<br />

prekida NMI. Izlaz NMI (ulaz u CPU) logika sa slike 5.13 ne mo`e nikad da postavi na logi~ku nulu<br />

(nakon uklju~enja <strong>sistema</strong> na napajanje, RESET je taj signal koji postavi NMI na logi~ku nulu). Ako<br />

se NMI postavi na 1, program koji se <strong>iz</strong>vr{ava se prekida, a nakon toga <strong>iz</strong>vr{ava specijalni potprogram<br />

(sistemska rutina) kojom se ukazuje da je u memorijskom sistemu detektovana gre{ka parnosti.<br />

5-9


5-10<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Slika 5.13 SRAM sistem kapaciteta 64 kB koji sadr`i kolo za detekciju gre{aka parnosti<br />

Test pitanje 5.4<br />

Magistrale podataka kod mikroprocesora 8086/80186/80286/80386SX su dvaput ve}eg obima u<br />

odnosu na mikroprocesore 8088/80188. Procesori 8086/80186/80286/80386SX moraju biti u stanju<br />

upisivati (~itati) podatak u bilo koju 16-bitnu ili 8-bitnu lokaciju. To zna~i da se 16-bitni podaci<br />

upisuju (~itaju) u posebne sekcije nazvane banke koje su obima 8-bitova, tj. mikroprocesor mo`e da<br />

pristupi bilo kojoj banci, ili da pristupi jednoj i drugoj banci istovremeno. Jedna banka se naziva ni`abanka<br />

i uklju~uje sve parno numerisane lokacije, a druga vi{a-banka i sadr`i sve neparno numerisane<br />

lokacije. Kada pristupa vi{oj-banci procesor 8086/80186/80286/80386SX aktivira signal /BHE, a<br />

kada pristupa ni`oj banci signal /BLE. Lokacije koje pripadaju parnoj i neparnoj banci prikazane su<br />

na slici 5.14a) a selekcija banaka vr{i se na osnovu tabele sa slike 5.14b). Projektovati dekodersko<br />

kolo koje }e za mikroprocesor 80386SX (24-bitna adresa) selektovati 16*64kB RAM memorijske<br />

komponente u adresnom opsegu od 000000h do 0FFFFFh. Kao dekodere koristiti kola 74LS138.<br />

Odgovor<br />

Struktura dekodera za selekciju banaka prikazana je na slici 5.15. Kao {to se vidi sa slike 5.15 koriste<br />

se dva dekodera 74LS138. Kod dekodera U3, signal /BLE je priklju~en na ulaz /G2A a kod dekodera<br />

U2 signal /BHE je doveden na ulaz /G2A. Selekcija banaka se vr{i shodno slede}oj tabeli :<br />

aktivni dekoderi<br />

16-bitni prenos 8-bitni prenos - vi{a banka 8-bitni prenos - ni`a banka<br />

U1, U2, U3 U1, U2 U1, U3


BHE /BLE (A0) funkcija<br />

5. Memorije<br />

a) memorijske banke do 1 MB<br />

0 0 selektovane su obe banke : 16-bitni prenos<br />

0 1 selektovana je vi{a-banka : 8-bitni prenos<br />

1 0 selektovana je ni`a-banka : 8-bitni prenos<br />

1 1 banke nisu selektovane<br />

b) selekcija banaka pomo}u signala /BHE, /BLE (tj. A0)<br />

Slika 5.14 Memorijske banke i na~in selekcije<br />

Test pitanje 5.5<br />

Za generisanje "write strobe" signala memorijskog pod<strong>sistema</strong> kod mikrora~unara zasnovanih na<br />

CPU-u 8086 koristi se slede}a {ema.<br />

BHE<br />

WR<br />

(MWTC)<br />

AO<br />

HWR<br />

LWR<br />

Kod 80286/80386 umesto /WR se koristi signal /MWTC.<br />

Kod mikrora~unara zasnovanog na CPU-u 80286/80386 16-bitna memorija je locirana u adresnom<br />

prostoru po~ev od lokacije 060000h do 06FFFFh. Koriste}i PAL16L8 kao dekoder adresa,<br />

projektovati strukturu memorijskog <strong>sistema</strong> (dekoder + 16-bitna memorija). Usvojiti da se kao SRAM<br />

~ipovi koriste komponente 62256 (32k*8) a da dekoder adresa generi{e signal /SEL (/CS), /HWR i<br />

/LWR.<br />

Odgovor<br />

Adrese koje treba dekodirati se nalaze u opsegu od<br />

0000 0110 0000 0000 0000 0000 = 060000h<br />

do<br />

0000 0110 1111 1111 1111 1111 = 06FFFFh<br />

tj.<br />

0000 0110 XXXX XXXX XXXX XXXX = 06XXXXh<br />

Vi{a banka<br />

5-11


PAL16L8 treba programirati na slede}i na~in<br />

TITLE Adresni_Dekoder<br />

PATTERN Test 2<br />

REVISION A<br />

AUTHOR SIMA RUS<br />

COMPANY ELEF<br />

DATE 6/8/97<br />

CHIP DEKODER2 PAL16L8<br />

5-12<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Slika 5.15 Selekcija banaka kod 80386SX<br />

; pins 1 2 3 4 5 6 7 8 9 10<br />

A23 A22 A21 A20 A19 A18 A17 A16 AO GND<br />

; pins 11 12 13 14 15 16 17 18 19 20<br />

BHE SEL LWR HWR NC NC MWTC NC NC VCC<br />

EQUATIONS<br />

/SEL = /A23* /A22*/A21*/A20*/A19*A18*A17/A16<br />

/LWR = /MWTC+/A0


HWR = /MWTC+/BHE<br />

5. Memorije<br />

Struktura memorijski sistem plus dekoder prikazana je na slici 5.16.<br />

Zadatak 5.3<br />

Slika 5.16 Struktura dekodera adresa<br />

Kod mikrora~unarskog <strong>sistema</strong> zasnovanog na CPU-u 8086 treba ugraditi dve memorijske sekcije,<br />

RAM i EPROM. Za EPROM sekciju na raspolaganju imamo ~etiri ~ipa 27128 (16k * 8) od kojih treba<br />

real<strong>iz</strong>ovati memoriju kapaciteta 32k*16 lociranoj u prostoru po~ev od adresa F0000h do FFFFFh.<br />

RAM sekciju real<strong>iz</strong>ovati sa ~etiri ~ipa 62256 (32k*8) tako da se dobije memorija kapaciteta 64k*16<br />

po~ev od lokacije 00000h do 1FFFFh. Kao dekoder adresa koristiti kolo 74LS139.<br />

Odgovor<br />

Napomena : Kod 80386SX umesto /BLE se koristi A0<br />

Struktura memorijskog <strong>sistema</strong> prikazana je na slici 5.17. [ema se karakteri{e slede}im<br />

karakteristi~nim re{enjima.<br />

(1) Jedna polovina dvostrukog adresnog dekodera U7A tipa 74LS139 se koristi za selekciju RAM<br />

(~ipovi U2 do U5) a druga U7B za selekciju EPROM sekcije (~ipovi U6 do U11). Memorija se<br />

uvek ~ita kao 16-bitna. Signal /RD je povezan na sve EPROM i RAM /OE ulazne pinove.<br />

(2) Upravlja~ki signali /LWR i /HWR su povezani na razli~ite banke RAM memorije. Ovakvo<br />

re{enje obezbedjuje da se mo`e vr{iti kako 16-bitni, tako i 8-bitni upis podataka u RAM prostor.<br />

(3) Kod najve}eg broja re{enja pristup EPROM sekciji zahteva ubacivanje odredjenog broja stanja-<br />

~ekanja. U konkretnoj real<strong>iz</strong>aciji signal sa <strong>iz</strong>laza kola U12 (74LS30) mo`e se voditi ka<br />

generatoru-<br />

stanja-~ekanja (detalji koji se odnose na generatora-stanja-~ekanja nisu prikazani na slici 5.17).<br />

5-13


Zadatak 5.4<br />

5-14<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Slika 5.17 Memorijski sistem kod 8086 koji sadr`i 6kB EPROM i 128kB SRAM<br />

Projektovati memorijski sistem CPU-a 80386SX koga ~ine slede}e dve sekcije: EPROM kapaciteta<br />

256kB real<strong>iz</strong>ovana od ~etiri ~ipa 27512 (64k*8), i SRAM kapaciteta 128kB real<strong>iz</strong>ovana sa ~etiri ~ipa<br />

62256 (32k*8). Kao dekoder adresa koristiti kolo PAL16L8, koje pored ~ip selekt signala za<br />

memorijske ~ipove treba da generi{e i signale upisa /LWR i /HWR. PAL kolo treba da dekodira 16bitne<br />

memorijske adrese koje pripadaju prostoru od 000000h do 01FFFFh za SRAM, i prostoru od<br />

FC0000h do FFFFFFh za EPROM .<br />

Odgovor<br />

PAL16L8 treba programirati na slede}i na~in<br />

TITLE Dekoder_adresa<br />

PATTERN 3<br />

REVISION A<br />

AUTHOR SIMA RUS<br />

COMPANY ELEF<br />

DATE 6/8/97<br />

CHIP DEKODER_3 PAL16L8<br />

;pins 1 2 3 4 5 6 7 8 9 10<br />

MWTC A0 A16 A17 A18 A19 A20 A21 A22 GND<br />

;pins 11 12 13 14 15 16 17 18 19 20<br />

NC HWR A23 BHE LWR CS0 CS1 CE0 CE1 VCC


5. Memorije<br />

EQUATIONS<br />

/LWR = /MWTC + /A0<br />

/HWR = /MWTC +/BHE<br />

/CS0 = /A23*/A22*/A21*/A20*/A19*/A18*/A17*/A16<br />

/CS1 = /A23*/A22*/A21*/A20*/A19*/A18*/A17*A16<br />

/CE0 = A23*A22*A21*A20*A19*A18*/A17<br />

/CE1 = A23*A22*A21*A20*A19*A18*A17<br />

Test pitanje 5.6<br />

Slika 5.18 Memorijski sistem CPU-a 80386 koji sadr`i 256k EPROM i 128k SRAM<br />

Koliki prostor mo`e da adresiraju mikroprocesori 80386DX ili 80486? Kojim se upravlja~kim<br />

signalima vr{i selekcija banaka, i uka`i na na~in formiranja signala "write-strobe" za svaku banku.<br />

Odgovor<br />

Mikroprocesori 80386DX ili 80486 mogu da adresiraju memoriju kapaciteta 2GB (adresa je 32-bitna).<br />

Magistrala za podatke je 32-bitna, a to zna~i da je memorija organ<strong>iz</strong>ovana u ~etiri banke (slika 5.19).<br />

Selekcija banaka se vr{i pomo}u upravlja~kih signala BE3 , BE2,<br />

BE1i<br />

BE0 . Kada su selektovane sve<br />

banke, vr{i se 32-bitni prenos podataka, kada su selektovane dve banke (/BE3 i /BE2, ili /BE1 i /BE0)<br />

vr{i se 16-bitni prenos podataka, a kod 8-bitnog prenosa selektuje se jedna banka. Na slici 5.20<br />

prikazana je logika za generisanje upravlja~kih signala za upis WR0 , WR1,<br />

WR2 i WR3 .<br />

5-15


Zadatak 5.5<br />

5-16<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Slika 5.19 Organ<strong>iz</strong>acija memorije kod mikroprocesora 80386DX i 80486<br />

Slika 5.20 Upravlja~ki signali za upis u odgovaraju}e banke kod 80386 DX i 80486<br />

Kod <strong>sistema</strong> zasnovanog na mikroprocesoru 80486 projektovati SRAM memorijski sistem kapaciteta<br />

256k*8. Memoriju real<strong>iz</strong>ovati pomo}u SRAM ~ipova tipa 62256 (32k*8), a locirati je u adresnom<br />

prostoru po~ev od lokacije 02000000h do 0203FFFFh. Za dekodiranje adresa koristiti ~ipove<br />

PAL16L8.<br />

Odgovor<br />

Struktura memorijskog <strong>sistema</strong> prikazana je na slici 5.21.<br />

Dekodiranje adresa je organ<strong>iz</strong>ovano u dva nivoa. Program za dekoder U1 oblika je<br />

TITLE Dekoder_adresa<br />

PATTERN Test4 (PAL U1)<br />

REVISION A<br />

AUTHOR SIMA RUS<br />

COMPANY ELEF<br />

DATE 6/8/97<br />

CHIP DEKODER4 PAL16L8<br />

; pins 1 2 3 4 5 6 7 8 9 10<br />

MWTC BE0 BE1 BE2 BE3 A17 A28 A29 A30 GND<br />

; pins 11 12 13 14 15 16 17 18 19 20<br />

A31 CS1 U2 NC WR0 WR1 WR2 WR3 CS0 VCC<br />

EQUATIONS<br />

/WR0 = /MWTC */BE0


5. Memorije<br />

/WR1 = /MWTC */BE1<br />

/WR2 = /MWTC */BE2<br />

/WR3 = /MWTC */BE3<br />

/CS0 = /A31*/A30*/A29*/A28*/A17*/U2<br />

/CS1 = /A31*/A30*/A29*/A28*A17*/U2<br />

Slika 5.21 SRAM kapaciteta 256 k kod <strong>sistema</strong> zasnovan na mikroprocesoru 80486<br />

Napomena: Signali *MRDC, *MWTC, *BE0, *BE1, *BE2 i *BE3 su aktivni kao niski<br />

Dekoder U2 je programiran na slede}i na~in:<br />

TITLE Dekoder_adresa<br />

PATTER Test5 (PAL U2)<br />

REVISION A<br />

AUTHOR SIMA RUS<br />

COMPANY ELEF<br />

DATE 6/8/1997<br />

CHIP DEKODER5 PAL16L8<br />

; pins 1 2 3 4 5 6 7 8 9 10<br />

A18 A19 A20 A21 A22 A23 A24 A25 A26 GND<br />

; pins 11 12 13 14 15 16 17 18 19 20<br />

A27 U2 NC NC NC NC NC NC NC VCC<br />

EQUATIONS<br />

/U2 = /A27*/A26*/A25/A24*/A23*/A22*/A21*/A20*/A19*/A18<br />

Test pitanje 5.7<br />

5-17


5-18<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Kako je kod mikroprocesora Pentium i Pentium Pro (sa <strong>iz</strong>uzetkom verzije P24T) organ<strong>iz</strong>ovana<br />

memorija, i kakva je struktura kola za generisanje odgovaraju}ih "write strobe" signala?<br />

Odgovor<br />

Magistrala podataka kod mikroprocesora Pentium je 64-bitna. Memorija je organ<strong>iz</strong>ovana u osam<br />

banaka (slika 5.22). Struktura kola za generisanje signala "write strobe" prikazana je na slika 5.23.<br />

Slika 5.22 Organ<strong>iz</strong>acija memorije kod mikroprocesora Pentium<br />

Slika 5.23 Struktura kola za generisanje upravlja~kih signala "write strobe"<br />

Napomena: Signal /MWTC se dobija kombinovanjem signala M|/IO i W|/R.<br />

Zadatak 5.6


5. Memorije<br />

Kod <strong>sistema</strong> zasnovanog na mikroprocesoru Pentium koriste}i EPROM ~ipove 27512 (64k*8)<br />

projektovati memorijski sistem obima 1MB koji se nalazi po~ev od memorijske lokacije FFF00000h<br />

do FFFFFFFFh. Dekodiranje adresa organ<strong>iz</strong>ovati u dva nivoa koriste}i komponente PAL16L8.<br />

Odgovor<br />

Struktura memorijskog <strong>sistema</strong> prikazana je na slici 5.24<br />

Slika 5.24 Organ<strong>iz</strong>acija 512kB EPROM prostora kod mikroprocesora Pentium<br />

Dekoderi adresa U1 i U2 su programirani na slede}i na~in:<br />

TITLE Dekoder_adresa<br />

PATTERN Test6 (PAL U1)<br />

REVISION A<br />

AUTHOR SIMA RUS<br />

COMPANY ELEF<br />

DATE 10/8/97<br />

CHIP DEKODER5 PAL16L8<br />

; pins 1 2 3 4 5 6 7 8 9 10<br />

5-19


5-20<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

A29 A30 A31 NC NC NC NC NC NC GND<br />

; pins 11 12 13 14 15 16 17 18 19 20<br />

U2 CE NC NC NC NC NC NC NC VCC<br />

EQUATIONS<br />

/CE = /U2*A29*A30*A31<br />

TITLE Dekoder_adresa<br />

PATTERN Test7 (PAL U2)<br />

REVISION A<br />

AUTHOR SIMA RUS<br />

COMPANY ELEF<br />

DATE 10/8/1997<br />

CHIP DEKODER5 PAL 16 L8<br />

; pins 1 2 3 4 5 6 7 8 9 10<br />

A19 A20 A21 A22 A23 A24 A25 A26 A27 GND<br />

; pins 11 12 13 14 15 16 17 18 19 20<br />

A28 NC NC NC NC NC NC NC U2 VCC<br />

EQUATION<br />

/U2 = A19*A20*A21*A22*A23*A24*A25*A26*A27<br />

Napomena: Memorija je sme{tena po~ev od lokacije F8000000h do FFFFFFFFh.<br />

Test pitanje 5.8<br />

Neka je broj adresnih ulaza memorijskog ~ipa: (a) 8; (b) 11; (c) 12; i (d) 13. Odredi broj memorijskih<br />

lokacija kojima se mo`e pristupati.<br />

Odgovor<br />

(a) 256; (b) 2048; (c) 4096; (d) 8192<br />

Test pitanje 5.9<br />

Koje namene imaju slede}i pinovi kod memorijskih komponenata:<br />

(a) /CS (kod RAM-a) ili /CE (kod EPROM-a ili ROM-a),<br />

(b) /OE<br />

(c) /WE (kod RAM-a)<br />

Odgovor<br />

(a) /CS ili /CE pin se koristi da selektuje ili dozvoli rad memorijskoj komponenti tako da ona mo`e da<br />

obavlja operaciju ~itanje ili upis.<br />

(b) /OE dozvoljava aktiviranje <strong>iz</strong>laznih stepeni ~ipa u toku operacije ~itanje pod uslovom da je /CS ili<br />

/CE aktivan.<br />

(c) /WE uzrokuje da se obavi operacija ~itanja memorije pod uslovom da je /CS ili /CE aktivan.<br />

Test pitanje 5.10<br />

Dekoder adresa real<strong>iz</strong>ovan pomo}u NAND kola prikazan na slici 5.25 koristi se za selekciju 2716<br />

EPROM memorijske komponente kojoj su dodeljene memorijske lokacije FF800h - FFFFFh.<br />

Modifikuj dekoder real<strong>iz</strong>ovan pomo}u NAND kola prikazan na slici 5.25 tako da mo`e da selektuje<br />

memoriju lociranu u slede}em adresnom prostoru:<br />

(a) DF800h - DFFFFh<br />

(b) 40000h - 407FFh


Odgovor<br />

5. Memorije<br />

adresni prostor procesora 8088<br />

Slika 5.25 Adresni dekoder real<strong>iz</strong>ovan NAND kolom koji se koristi da selektuje EPROM ~ip<br />

tipa 2716 za opseg adrese od FF800h - FFFFFh<br />

Za strukturu sa slike 5.25 va`i slede}a adresna selekcija<br />

1111 1111 1xxx xxxx xxxx<br />

ili<br />

1111 1111 1000 0000 0000 = FF800h<br />

do<br />

1111 1111 1111 1111 1111 = FFFFFh<br />

a) Za selekciju adresa u opsegu od DF800h do DFFFFh ima}emo<br />

1101 11111 1xxx xxxx xxxx<br />

ili<br />

1101 11111 1000 0000 0000 = DF800h<br />

do<br />

1101 11111 1111 1111 1111 = DFFFFh<br />

Logi~ka {ema dekodera je prikazana na slici 5.26.<br />

b) Za selekciju adresa u opsegu od 40000h do 407FFh ima}emo<br />

0100 0000 0xxx xxxx xxxx<br />

ili<br />

0100 0000 0000 0000 0000 = 40000h<br />

do<br />

0100 0000 0111 1111 1111 = 407FFh<br />

Logi~ka {ema dekodera je prikazana na slici 5.27.<br />

Magistrala<br />

podataka<br />

procesora<br />

8088<br />

5-21


Test pitanje 5.11<br />

5-22<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Slika 5.26 Logi~ka {ema dekodera adresa koji selektuje memorijski prostor<br />

po~ev od adrese DF800h do DFFFFh<br />

A19<br />

A18<br />

A17<br />

A16<br />

A15<br />

A14<br />

A13<br />

A12<br />

A11<br />

IO/M<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

74ALS133<br />

Slika 5.27 Logi~ka {ema dekodera adresa u opsegu 40000h do 407FFh<br />

Modifikovati logiku dekodera adresa prikazanog na slici 5.3a) tako da dekoder mo`e da selektuje<br />

memoriju ~ije su adrese locirane u opsegu od:<br />

(a) 70000h - 7FFFFh<br />

(b) 40000h - 4FFFFh<br />

Odgovor<br />

a) Za selekciju adresa u opsegu 70000h - 7FFFFh va`i}e<br />

0111 xxxx xxxx xxxx xxxx<br />

ili<br />

0111 0000 0000 0000 0000 = 70000h<br />

do<br />

0111 1111 1111 1111 1111 = 7FFFFFh<br />

Logi~ka {ema dekodera adresa prikazana je na slici 5.28<br />

9


5. Memorije<br />

b) Za selekciju adresa u opsegu od 40000h do 4FFFFh ima}emo<br />

0100 xxxx xxxx xxxx xxxx<br />

ili<br />

0100 0000 0000 0000 0000 = 40000h<br />

do<br />

0100 1111 1111 1111 1111 = 4FFFFFh<br />

Logi~ka {ema dekodera adresa prikazana je na slici 5.29<br />

A17<br />

A16<br />

Test pitanje 5.12<br />

A13<br />

A14<br />

A15<br />

A18<br />

A19<br />

74LS138<br />

A Y0<br />

B Y1<br />

C Y2<br />

Y3<br />

G1 Y4<br />

G2 Y5<br />

G3 Y6<br />

Y7<br />

70000h-71FFFh<br />

72000h-73FFFh<br />

74000h-75FFFh<br />

76000h-77FFFh<br />

78000h-79FFFh<br />

7A000h-7BFFFh<br />

7C000h-7DFFFh<br />

Slika 5.28 Logi~ka {ema dekodera adresa za opseg od 70000h do 7FFFFh<br />

Slika 5.29 Logi~ka {ema dekodera adresa za opseg od 40000h do 4FFFFh<br />

Reprogramiraj bipolarniPROM sa slike 5.4 tako da isti mo`e dekodirati memorijske adrese koje<br />

pripadaju slede}im opsezima:<br />

(a) 30000h - 3FFFFh<br />

(b) 80000h - 8FFFFh<br />

Odgovor<br />

Na~in programiranja bipolarnog PROM-a za slu~ajeve pod a) i b) je prikazan na slede}im tabelama:<br />

a)<br />

OE A8 A7 A6 A5 A4 A3 A2 A1 A0 O0 O1 O2 O3 O4 O5 O6 O7<br />

5-23


(b)<br />

5-24<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1<br />

0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1<br />

0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1<br />

0 0 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1<br />

0 0 0 0 0 1 1 1 0 0 1 1 1 1 0 1 1 1<br />

0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 1<br />

0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1<br />

0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0<br />

OE A8 A7 A6 A5 A4 A3 A2 A1 A0 O0 O1 O2 O3 O4 O5 O6 O7<br />

0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1<br />

0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1<br />

0 0 0 1 0 0 0 0 1 0 1 1 0 1 1 1 1 1<br />

0 0 0 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1<br />

0 0 0 1 0 0 0 1 0 0 1 1 1 1 0 1 1 1<br />

0 0 0 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1<br />

0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 1<br />

0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0<br />

Test pitanje 5.13<br />

Modifikuj kolo prikazano na slici 5.8 programiranjuem PAL komponente, koja ima funkciju dekodera<br />

adresa, tako da je mogu}e adresirati memorijski prostor po~ev od lokacije:<br />

(a) B0000h do BFFFFh<br />

(b) 40000h do 4FFFFh<br />

Odgovor<br />

(a) deo programa koji se odnosi na jedna~ine na osnovu kojih se programira PAL16L8 ima slede}i<br />

oblik<br />

EQUATIONS<br />

/O1 = A19*/A18*A17*A16*/A15*/A14*/A13<br />

/O2 = A19*/A18*A17*A16*/A15*/A14*A13<br />

/O3 = A19*/A18*A17*A16*/A15*A14*/A13<br />

/O4 = A19*/A18*A17*A16*/A15*A14*A13<br />

/O5 = A19*/A18*A17*A16*A15*/A14*/A13<br />

/O6 = A19*/A18*A17*A16*A15*/A14*A13<br />

/O7 = A19*/A18*A17*A16*A15*A14*/A13<br />

/O8 = A19*/A18*A17*A16*A15*A14*A13<br />

(b) EQUATIONS<br />

/O1 = /A19*A18*/A17*/A16*/A15*/A14*/A13<br />

/O2 = /A19*A18*/A17*/A16*/A15*/A14*A13<br />

:<br />

/O8 = /A19*A18*/A17*/A16*A15*A14*A13<br />

Test pitanje 5.14<br />

Na slici 5.30 prikazano je kako se osam EPROM ~ipova tipa 2732 mogu povezati na mikrora~unarski<br />

sistem zasnovan na procesoru 8088.


5. Memorije<br />

(a) Modifikovati kolo sa slike 5.30 tako da dekoder adresa mo`e da selektuje memorijski prostor<br />

po~ev od lokacije 68000h do 6FFFFh.<br />

(b) Modifikovati kolo sa slike 5.30 tako da dekoder adresa mo`e da selektuje osam 2764 (8k*8)<br />

EPROM ~ipova po~ev od lokacije 10000h do 1FFFFh .<br />

Odgovor<br />

(a)<br />

Slika 5.30 Na~in povezivanja osam EPROM ~ipova tipa 2731<br />

kod mikrora~unara zasnovanog na procesoru 8088<br />

(b) re{enje problema za ovaj slu~aj treba da da ~itaoc.<br />

Test pitanje 5.15<br />

Adrese<br />

Podaci<br />

74LS13<br />

5-25


5-26<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Modifikuj kolo sa slike 5.17 tako da je EPROM prostor lociran po~ev od lokacije C0000h do CFFFFh,<br />

a RAM prostor od lokacije 30000h do 4FFFFh.<br />

Test pitanje 5.16<br />

Kod mikrora~unarskog <strong>sistema</strong> zasnovanog na mikorpocesoru 80386SX <strong>iz</strong>vr{iti projektovanje<br />

memorijske plo~e tipa SRAM obima 16 -bitova tako da je SRAM prostor lociran u adresnom opsegu<br />

po~ev od adrese 200000h do 21FFFFh.<br />

Test pitanje 5.17<br />

Izvr{iti projektovanje 32-bitnog memorijskog interfejsa koji ima instaliranu EPROM memoriju po~ev<br />

od lokacije DDDD0000h do FFFFFFFFh, koriste}i pri tome EPROM ~ipove 27128 i kolo PAL16L8<br />

kao dekoder adresa.<br />

Test pitanje 5.18<br />

Odgovor<br />

Za mikrora~unarski sistem zasnovan na procesoru Pentium/PentiumPro <strong>iz</strong>vr{i projektovanje<br />

memorijske plo~e obima 64 bita koja sadr`i EPROM prostor po~ev od lokacije FFF00000h do<br />

FFFFFFFFh, i SRAM prostor po~ev od lokacije 00000000h do 003FFFFFh. Izbor EPROM i SRAM<br />

~ipova kao i dekodera adresa treba da obavi projektant.<br />

Zadatak 5.7<br />

Neka su data slede}a ~etiri bajta heksadecimalnih podataka: 25h, 62h, 3Fh i 52h.<br />

(a) Odredi "checksum" bajt.<br />

(b) Obavi "checksum" operaciju kako bi se obezbedio integritet podataka.<br />

(c) Ako je drugi bajt 62h promenio vrednost na 22h, poka`i kako checksum detektuje gre{ku.<br />

Odgovor


5. Memorije<br />

a) Checksum se odredjuje sabiranjem bajtova<br />

25h<br />

+ 62h<br />

+ 3Fh<br />

+ 52h<br />

118<br />

Suma <strong>iz</strong>nosi 118h, tako da ako se zanemari prenos dobi}emo 18h. Checksum bajt je dvoji~ni<br />

komplement od 18h a to <strong>iz</strong>nosi E8h.<br />

b) Sabiranjem n<strong>iz</strong>a bajtova uklju~uju}i i checksum bajt rezultira novoj sumi ~ija je vrednost nula.<br />

Ovakva vrednost sume ukazuje da u bloku podataka ne postoji bajt ~ija je vrednost promenjena<br />

25h<br />

+ 62h<br />

+ 3Fh<br />

+ 52h<br />

+ E8h<br />

200h (prenos se zanemaruje)<br />

c) Sabiranjem n<strong>iz</strong>a bajtova uklju~uju}i i checksum bajt pokazuje se da je rezultat razli~it od nule, a to<br />

zna~i da je vrednost jednog ili ve}eg broja bajtova promenjena<br />

25h<br />

+ 22h<br />

+ 3Fh<br />

+ 52h<br />

+ E8h<br />

1C0h (zanemaruju}i prenos dobija se C0h).<br />

Test pitanje 5.19<br />

Odredi opseg adresa za koje je signal /CS aktivan :<br />

Zadatak 5.8<br />

A15<br />

A16<br />

A17<br />

A18<br />

A19<br />

A0<br />

A14<br />

.<br />

.<br />

.<br />

32k*8<br />

Kreiraj Checksum rutinu za testiranje 8kB ROM BIOS-a kod IBM PC/XT ma{ine. Na po~etnu<br />

lokaciju Checksum rutine ukazuje par DS:[BX] .<br />

Odgovor<br />

Cheksum PROC NEAR<br />

Mov CX, 8192 ; broj bajtova za sabiranje<br />

Xor AL, AL ; AL = 0<br />

TEST: Add AL,DS : BX ; dodaj naredni bajt<br />

Inc BX ; naredni bajt<br />

Loop TEST ; sabrani svi bajtovi<br />

Or AL, AL ; SUMA = 0 ?<br />

CS<br />

5-27


5-28<br />

Ret<br />

Checksum ENDP<br />

Test pitanje 5.20<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Koriste}i NAND kola i invertore <strong>iz</strong>vr{i projektovanje dekodera adresa koji }e selektovati memorijske<br />

lokacije po~ev od adrese 0C0000h do 0C0FFFh.<br />

Test pitanje 5.21<br />

Odredi opseg adresa koji se mogu selektovati kada <strong>iz</strong>lazi dekodera adresa 74LS138 Y0, Y3 i Y6<br />

postanu aktivni.<br />

Zadatak 5.9<br />

A17<br />

A18<br />

A14<br />

A15<br />

A16<br />

A19<br />

74LS138 16K*8<br />

A<br />

B<br />

C<br />

Y0<br />

CS<br />

G2A Y3<br />

G2B<br />

Propusnost magistrale, BW, se meri u MB/s i <strong>iz</strong>ra~unava se kao<br />

BW=(1/t cik)*W<br />

G1<br />

Y6<br />

gde je: t cik - vreme trajanja ciklusa magistrale; W - obim magistrale u bajtovima.<br />

Taktna frekvencija mikroprocesora 8088 je 5MHz a memorijski ciklus bez ubacivanja stanja ~ekanja<br />

<strong>iz</strong>nosi ~etiri taktna intervala. Odredi propusnost magistrale pod uslovom:<br />

(a) da se ne vr{i ubacivanje stanja ~ekanja,<br />

(b) da se ubacuje jedno stanje ~ekanja.<br />

Uporedi dobijene rezultate sa performansma koje se odnose na mikroprocesor 8086 pod istim<br />

uslovima.<br />

Odgovor<br />

Magistrala podataka maikroprocesora 8088 je 8-bitna a memorijski ciklus je trajanja t cik=4*200ns =<br />

800ns.<br />

a)<br />

BW 8088 = (1/800ns)*1B = 1,25MB/s<br />

Magistrala podataka mikroprocesora 8086 je 16-bitna, pa<br />

BW 8086 =(1/800ns)*2B = 2,5MB/s<br />

b) Pod uslovom da se vr{i ubacicanje jednog stanja ~ekanja memorijski ciklus traja}e 5 taktnih<br />

intervala, tj. t cik = 5*200s = 1000ns, a propusnost magistrale u tom slu~aju <strong>iz</strong>nosi}e<br />

BW' 8088 = (1/1000ns)*1B = 1MB/s<br />

BW' 8086 = (1/1000ns)*2B = 2MB/s


Zadatak 5.10<br />

5. Memorije<br />

Ciklus magistrale mikroprocesora 8086 <strong>iz</strong>nosi 4 taktna intervala, a mikroprocesora 80286 dva taktna<br />

intervala. Ako je radna frekvencija oba mikroprocesora 10MHz odredi propusnost magistrale za oba<br />

procesora pri: (a) 0 stanja ~ekanja, tj. zero WS (sait state); (b) 1WS; i (c) 2WS.<br />

Odgovor<br />

Perioda takta sa kojom procesor radi je 1/(10MHz) = 100ns<br />

8086-10MHz 80286-10MHz<br />

memorijski cklus sa 0WS 400ns 200 ns<br />

memorijski cklus sa 1WS 500ns 300 ns<br />

memorijski cklus sa 2WS 600ns 400 ns<br />

BW 8086/0WS =(1/400ns)*2 = 5MB/s<br />

BW 8086/1WS =(1/500ns)*2 = 4MB/s<br />

BW 8086/2WS =(1/600ns)*2 = 3.3MB/s<br />

BW 286/0WS =(1/200ns)*2 = 10MB/s<br />

BW 286/1WS =(1/300ns)*2 = 6.6MB/s<br />

BW 286/2WS =(1/400ns)*2 = 5MB/s<br />

Zadatak 5.11<br />

Odredi vreme trajanja ciklusa memorije koje se odnosi na operaciju ~itanje i upis kod mikroprocesora<br />

80286, pri:<br />

(a) 12MHz sa 1WS<br />

(b) 16MHz sa 1WS<br />

(c) 16MHz sa 2WS<br />

Napomena: Memorijski ciklus procesora 80286 traje dva taktna intervala.<br />

Odgovor<br />

(a) tcik|12 = (1+2)*80ns = 3*80ns = 240ns<br />

(b) tcik|16 = (1+2)*62ns = 3*62ns = 186ns<br />

(c) tcik 16|2WS = (2+2)*62ns = 4*62ns = 248ns<br />

Napomena: U op{tem slu~aju va`i formula:<br />

t cik = (broj WS + memorijski ciklus) * t cpu<br />

za 80286 memorijski ciklus = 2, a t cpu je taktna frekvencija procesora.<br />

Test pitanje 5.22<br />

Neka mikroprocesor Pentium <strong>iz</strong>vr{ava slede}e instrukcije. Odredi logi~ko stanje signala /BE7 -<br />

/BE0 za svaku od slede}ih instrukcija:<br />

a) Mov AL, [0000]<br />

b) Mov AX, [0000]<br />

c) Mov EAX, [0000]<br />

Odgovor<br />

5-29


5-30<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

instrukcija /BE7 /BE6 /BE5 /BE4 /BE3 /BE2 /BE1 /BE0<br />

Mov AL, [0000] 1 1 1 1 1 1 1 0<br />

Mov AX, [0000] 1 1 1 1 1 1 0 0<br />

Mov EAX, [0000] 1 1 1 1 0 0 0 0<br />

Test pitanje 5.23<br />

Usvojimo da procesor 486 <strong>iz</strong>vr{ava instrukciju Mov EAX, [0005]. Koji }e /BEx signali biti aktivni?<br />

Koliko je ciklusa magistrale potrebno da se <strong>iz</strong>vr{i ova instrukcija?<br />

Odgovor<br />

Instrukcijom Mov EAX, [0005] pristupa se 32-bitnom podatku (4-bajta) koji je u memoriji lociran<br />

po~ev od adresa 0005 do 0008. S obzirom da za poravnanje memorije va`i {ema sa sl. 5.31:<br />

C<br />

8<br />

4<br />

0<br />

.<br />

.<br />

.<br />

Slika 5.31 : Poravnjanost 32-bitnih re~i u memoriji<br />

To zna~i da su za pristup potrebna dva ciklusa magistrale: (a) U toku prvog aktivan je signal /BE3 a<br />

pristupa se bajtu na memorijkoj lokaciji 0008; (b) a u toku drugog aktivni su signali /BE0-/BE2 i<br />

vr{i se prenos bajtova koji su locirani po~ev od memorijske lokacije 0005 do 0007.<br />

Zadatak 5.12<br />

Za upravljanje memorijom mikrora~unarski sistem koristi tehniku strani~enja. Predpostavimo da se<br />

javlja potreba za kori{}enjem stranica po slede}em redosledu: 12, 14, 2, 34, 56, 23, 14, 56, 34, 12 a<br />

da je u glavnoj memoriji mogu}e istovremeno ~uvati do 4 stranice. Izlistati stranice u glavnoj<br />

memoriji nakon svakog prenosa stranice koriste}i slede}e algoritme zamene:<br />

(a) FIFO<br />

(b) LRU<br />

Ukazati kad dolazi do gre{ke strani~enja.<br />

Odgovor<br />

B<br />

7<br />

3


)LRU<br />

Test pitanje 5.23<br />

5. Memorije<br />

Usvojimo da je memorija pre po~etka ispra`njena.<br />

a) FIFO princip<br />

- - - 34 56 * 23 * 14<br />

- - 2 2 34 56 23<br />

- 14 14 14 2 34 56<br />

12 12 12 12 14 2 34<br />

-<br />

-<br />

-<br />

12<br />

Koje osnovne tipove memorija danas naj~e{}e sre}emo kod mikrora~unarskih <strong>sistema</strong>?<br />

Odgovor<br />

-<br />

-<br />

14<br />

12<br />

Naj~e{}e kori{}eni memorijski medijumi kod mikrora~unarskih <strong>sistema</strong> prikazani su na slici 5.32.<br />

mogu}e je samo<br />

~itanje<br />

CD<br />

WORM<br />

CD-R<br />

memorija<br />

opti~ki magnetni poluprovodni~ki<br />

mogu}e je<br />

~itanje i upis<br />

magneto-opti~ki<br />

trake diskovi pro<strong>iz</strong>voljan<br />

pristup<br />

start-stop<br />

strimer<br />

flopi<br />

kruti<br />

ROM<br />

PROM<br />

EPROM<br />

EEPROM<br />

Fle{<br />

Slika 5.32 : Klasifikacija memorijskih medijuma<br />

Napomena : CD-R- recordable CD<br />

Zadatak 5.13<br />

-<br />

2<br />

14<br />

12<br />

34<br />

2<br />

14<br />

12<br />

56<br />

34<br />

2<br />

14<br />

*<br />

23<br />

56<br />

34<br />

2<br />

*<br />

14<br />

23<br />

56<br />

34<br />

*<br />

serijski<br />

pristup<br />

pomera~ki<br />

registar<br />

CCD<br />

RAM<br />

stati~ki<br />

dinami~ki<br />

Adresni dekoder dozvoljava CPU-u da selektuje, na sistemskoj magistrali, memorijsku lokaciju,<br />

interfejs modul, ili kontroler periferije.<br />

Koriste}i dekoder sa slike 5.33 projektovati adresni dekoder koji selektuje jedan od osam adresnih<br />

blokova koji pripadaju adresnom prostoru od FC00h do FFFFh.<br />

*<br />

14<br />

23<br />

56<br />

34<br />

14<br />

23<br />

56<br />

34<br />

+<br />

14<br />

23<br />

56<br />

34<br />

14<br />

5<br />

23<br />

56<br />

34<br />

+<br />

+<br />

12<br />

14<br />

23<br />

56<br />

12<br />

14<br />

23<br />

56<br />

*<br />

*<br />

*-dolazi do gre{ke<br />

strani~enja<br />

*-dolazi do gre{ke<br />

+ strani~enja<br />

+<br />

+ - pogodak<br />

5-31


Odgovor<br />

5-32<br />

A15<br />

A14<br />

A13<br />

A12<br />

A11<br />

A10<br />

Data_Req<br />

A9<br />

A8<br />

A7<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

EN1<br />

EN2<br />

a) Dekoder adresa<br />

adresni<br />

ulazi<br />

upravlja-<br />

~ki ulazi<br />

EN3<br />

dekoder<br />

3:8<br />

A2<br />

A1<br />

A0<br />

.<br />

.<br />

.<br />

A0<br />

A1<br />

A2<br />

dekoder<br />

3:8<br />

EN1<br />

EN2<br />

EN3<br />

Slika 5.33<br />

CS7<br />

CS0<br />

.<br />

.<br />

.<br />

CS7<br />

CS6<br />

CS1<br />

CS0<br />

CS7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

Slika 5.34 : Logika adresnog dekodera<br />

FF80-FFFF<br />

FF00-FF7F<br />

FE80-FEFF<br />

FE00-FE7F<br />

FD80-FDFF<br />

FD00-FD7F<br />

FC80-FCFF<br />

FC00-FC7F<br />

b) selektovani memorijski blokovi<br />

Kao {to se vidi sa slike 5.34, svaka memorijska lokacija u okviru bloka selektuje se pomo}u ni`ih<br />

sedam adresnih linija (A6-A0), a obim bloka je 128 lokacija.<br />

Test pitanje 5.24<br />

Koliko bajtova ~ine memorije slede}eg kapaciteta: kilobajt, megabajt, gigabajt, terabajt, petabajt,<br />

exebajt, zettabajt, i yottabajt.<br />

Odgovor<br />

jedinica skra}enica kapacitet u jedinicama kapacitet u bajtovima<br />

kilo-bajt kB ili k 1024 bajtova 1,024<br />

mega-bajt MB ili M 1024 k-bajtova 1,048,576<br />

giga-bajt GB 1024 mega-bajtova 1,073,741,824<br />

tera-bajt TB 1024 giga-bajtova 1,099,511,627,776<br />

peta-bajt PB 1024 tera-bajtova 1,125,899,306,843,624<br />

exa-bajt EB 1024 peta-bajtova 1,152,921,504,607,870,976<br />

zetta-bajt ZB 1024 exa-bajtova 1,180,591,620,718,458,879,424<br />

yotta-bajt YB 1024 zetta-bajtova 1,208,925,819,615,701,892,530,176<br />

Zadatak 5.14


5. Memorije<br />

Koliko RAM ~ipova kapaciteta 32k*8b je potrebno ugradiditi da bi se real<strong>iz</strong>ovala memorija<br />

kapaciteta 256 kB? Skicirati blok dijagram 256k*8b RAM <strong>sistema</strong>, ako je struktura jednog RAM<br />

~ipa ( kapaciteta 32k*8b) data na slici 5.35.<br />

Odgovor<br />

A17<br />

A16<br />

A15<br />

CS<br />

A 2 "0"<br />

A 1 "1"<br />

A 0<br />

dekoder<br />

3÷8<br />

E "7"<br />

upis/~itanje<br />

A0-A14<br />

selekcija<br />

upis/~itanje<br />

Adr<br />

CS<br />

R/W<br />

32k*8b<br />

Pod<br />

D0-D7<br />

slika 5.35 : RAM kapaciteta 32k*8b<br />

CS0<br />

CS1<br />

.<br />

.<br />

.<br />

A0-A14<br />

32k*8b<br />

Adr<br />

CS Pod<br />

R/W<br />

32k*8b<br />

Adr<br />

CS Pod<br />

R/W<br />

.<br />

.<br />

.<br />

32k*8b<br />

Adr<br />

CS Pod<br />

R/W<br />

Slika 5.36 : Struktura 256*8b RAM-a<br />

D0-D7<br />

Kao {to se vidi sa slike 5.36 ukupno je potrebno osam RAM ~ipova kapaciteta 32k*8 bitova.<br />

Zadatak 5.15<br />

Koriste}i 64k*8b RAM ~ipove i dekoder adresa kao onaj na slici 5.35, konstruisati RAM<br />

memorijski blok kapaciteta 256k*16.<br />

Test pitanje 5.25<br />

Pokazati kako <strong>iz</strong>gledaju logi~ke strukture osnovne stati~ke RAM }elije, modela RAM bit "slice"-a i<br />

16*1b RAM ~ipa.<br />

Odgovor<br />

Logi~ke strukture stati~ke RAM }elije, modela RAM bit "slice"-a i 16*1b RAM ~ipa prikazane su<br />

na slici 5.37 i 5.38.<br />

5-33


5-34<br />

Word<br />

select<br />

0<br />

Data in<br />

Word<br />

select<br />

2 n - 1<br />

B<br />

Read<br />

Write<br />

B<br />

Write logic<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Select<br />

B<br />

S<br />

C<br />

Q<br />

B<br />

Select<br />

Select<br />

S<br />

R<br />

S<br />

R<br />

Q<br />

Q<br />

Q<br />

Q<br />

Bit select<br />

R<br />

Q<br />

a) Stati~ka RAM }elija<br />

Ram cell<br />

(b1) logic diagram<br />

Ram cell<br />

C<br />

C<br />

Read logic<br />

R<br />

Q<br />

Q<br />

C<br />

Word<br />

select<br />

0<br />

Word<br />

select<br />

1<br />

Word<br />

select<br />

2 n -1<br />

Data out<br />

RAM cell<br />

RAM cell<br />

RAM cell<br />

Read/Write<br />

logic<br />

Data in<br />

Data out<br />

Read/ Bit select<br />

Write<br />

(b2) Symbol<br />

(b) Model RAM bit "slice"-a<br />

Slika 5.37 : Struktura stati~ke RAM }elije model RAM bit "slice"-a i struktura 16*1b RAM ~ipa.<br />

Test pitanje 5.26<br />

Unutar RAM ~ipa radi pristupa RAM }elijama umesto jedinstvenog dekodera, sa k ulaza i 2 k <strong>iz</strong>laza<br />

koji zahteva ugrednju 2 k AND kola sa po k ulaza po gejtu, koriste se dva dekodera sa po k/2 ulaza.<br />

Jedan od dekodera upravlja "word" selekt linijama a drugi upravlja "bit" selekt linijama (slika<br />

5.38), {to rezultira dvodimenzionalnoj matri~noj selektorskoj {emi. Ako RAM ~ip ~ine m re~i sa 1<br />

bit po re~i, tada {emom sa slike 5.38 selektuje se ona RAM }elija koja se nalazi na preseku


5. Memorije<br />

WordSelect vrste i BitSelect kolone. S obzirom da WordSelect linija na selektuje striktno re~i<br />

(word) ona se naj~e{}e naziva Row Select. Izlaz dekodera koji selektuje jednu ili ve}i broj bit<br />

"slice"-ova naziva se Column Select.<br />

A3<br />

A2<br />

Row decoder<br />

2-to-4<br />

Decoder<br />

2 1<br />

2 0<br />

Data input<br />

Read/Write<br />

0<br />

1<br />

2<br />

3<br />

Row<br />

select<br />

RAM cell<br />

0<br />

RAM cell<br />

4<br />

RAM cell<br />

8<br />

RAM cell<br />

12<br />

Read/Write<br />

logic<br />

Data in<br />

Data out<br />

Read/ Bit<br />

Write select<br />

Column<br />

decoder<br />

RAM cell<br />

1<br />

RAM cell<br />

5<br />

RAM cell<br />

9<br />

RAM cell<br />

13<br />

Read/Write<br />

logic<br />

Data in<br />

Data out<br />

Read/ Bit<br />

Write select<br />

RAM cell<br />

2<br />

RAM cell<br />

6<br />

RAM cell<br />

10<br />

RAM cell<br />

14<br />

Read/Write<br />

logic<br />

Data in<br />

Data out<br />

Read/ Bit<br />

Write select<br />

RAM cell<br />

3<br />

RAM cell<br />

7<br />

RAM cell<br />

11<br />

RAM cell<br />

15<br />

Read/Write<br />

logic<br />

Data in<br />

Data out<br />

Read/ Bit<br />

Write select<br />

0 1 2 3<br />

2-to-4 Decoder<br />

with enable<br />

2 1 2 0 Enable<br />

A1 A0<br />

Chip select<br />

Slika 5.38 : Dijagram 16*1 RAM koji koristi polje }elija formata 4*4<br />

(a) kako se naziva na~in selekcija RAM }elije prikazan na slici 5.38.<br />

(b) kako <strong>iz</strong>gleda blok dijagram 8*2b RAM-a organ<strong>iz</strong>ovan kao polje }elija formata 4*4<br />

Odgovor<br />

(a) ovakav na~in dekodiranja se naziva koincidentna selekcija<br />

Data<br />

output<br />

5-35


(b)<br />

A2<br />

A1<br />

5-36<br />

Row decoder<br />

2-to-4<br />

Decoder<br />

2 1<br />

2 0<br />

Data input 0<br />

Data input 1<br />

Read/Write<br />

Zadatak 5.16<br />

0<br />

1<br />

2<br />

3<br />

Row<br />

select<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

RAM cell<br />

0<br />

RAM cell<br />

4<br />

RAM cell<br />

8<br />

RAM cell<br />

12<br />

Read/Write<br />

logic<br />

Data in<br />

Data out<br />

Read/ Bit<br />

Write select<br />

Column<br />

decoder<br />

RAM cell<br />

1<br />

RAM cell<br />

5<br />

RAM cell<br />

9<br />

RAM cell<br />

13<br />

Read/Write<br />

logic<br />

Data in<br />

Column select<br />

Data out<br />

Read/ Bit<br />

Write select<br />

0 1<br />

1-to-2 Decoder<br />

with enable<br />

2 0 Enable<br />

A0 Chip select<br />

RAM cell<br />

2<br />

RAM cell<br />

6<br />

RAM cell<br />

10<br />

RAM cell<br />

14<br />

Read/Write<br />

logic<br />

Data in<br />

Data out<br />

Read/ Bit<br />

Write select<br />

RAM cell<br />

3<br />

RAM cell<br />

7<br />

RAM cell<br />

11<br />

RAM cell<br />

15<br />

Read/Write<br />

logic<br />

Data in<br />

Data out<br />

Read/ Bit<br />

Write select<br />

Slika 5.39 : Blok dijagram 8*2b RAM-a koji koristi polja }elija formata 4*4<br />

Data<br />

output 0<br />

Data<br />

output 1<br />

16k*4b RAM ~ip koristi koincidentno dekodiranje (deli interni dekoder na dva dekodera, jedan za<br />

selekciju vreste a drugi za selekciju kolone). (a) ako se usvoji da je polje RAM }elija kvadratnog<br />

tipa, kakvog je tipa svaki od dekodera i koliko je AND kola potrebno za dekodiranje adrese?<br />

Odrediti koje "row" i "column" selekcione linije su aktivirane kada je binarna ulazna adresa<br />

ekvivalentna (9000) 10.


Odgovor<br />

5. Memorije<br />

Pojednostavljena organ<strong>iz</strong>acija dekodera po vrsti i koloni prikazana je na slici 5.40. Organ<strong>iz</strong>acija od<br />

16k*4b rezultira 64kb tj. 64k }elija, koje se organ<strong>iz</strong>uju u formi 256*256. Binarna adresa od<br />

(9000) 10 ekvivalentna je<br />

A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0<br />

1 0 0 0 1 1 0 0 1 0 1 0 0 0<br />

2 3 2 8 = heksadecimalno<br />

8960 40 = decimalno<br />

b) aktiviraju se 40 vrsta i 35 kolona<br />

A7<br />

A6<br />

.<br />

.<br />

.<br />

A0<br />

R/W<br />

D0<br />

D1<br />

D2<br />

D3<br />

dekoder<br />

vrsta<br />

0<br />

1<br />

8 na 256<br />

255<br />

Zadatak 5.17<br />

0<br />

256<br />

.<br />

.<br />

.<br />

64k-<br />

256<br />

dekoder<br />

kolona<br />

1<br />

257<br />

64k-<br />

255<br />

2<br />

258<br />

64k-<br />

254<br />

3<br />

259<br />

64k-<br />

253<br />

4<br />

260<br />

64k-<br />

252<br />

5<br />

261<br />

64k-<br />

251<br />

6<br />

262<br />

64k-<br />

250<br />

7<br />

263<br />

64k-<br />

249<br />

252 253<br />

0 1 2 . . . . . . . . . . . . . . . . . . . . . 62 63<br />

6 na 64<br />

A13 A12 . . . A8 Cs<br />

508<br />

64k-<br />

3<br />

Slika 5.40 : Pojednostavljena organ<strong>iz</strong>acija RAM-a 16k*4b<br />

Na raspolaganju imamo ra~unarski sistem koji koristi strni~enje. Kapacitet glavne memorije je tri<br />

stranice. Izvr{enje programa Q <strong>iz</strong>iskuje obra}anje pet razli~itim stranicama Pi, gde i=1, 2 , 3, 4 , 5<br />

pri ~emu je i adresa stranice. N<strong>iz</strong> adresa stranica koji se formira u toku <strong>iz</strong>vr{enja programa Q je<br />

232152453252, {to zna~i da se prvo obra}amo stranici P2 zatim P3, itd. Stranice se dodeljuju<br />

glavnoj memoriji shodno politici zamene FIFO, LRU ili OPT (optimal replacement policy).<br />

Grafi~ki prikazati na~in dodele stranica za sve tri nabrojane politike.<br />

509<br />

64k-<br />

2<br />

254<br />

510<br />

64k-<br />

1<br />

255<br />

511<br />

64k<br />

5-37


5-38<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Vreme 1 2 3 4 5 6 7 8 9 10 11 12<br />

broj stranice 2 3 2 1 5 2 4 5 3 2 5 2<br />

FIFO<br />

LRU<br />

OPT<br />

2*<br />

-<br />

-<br />

2*<br />

-<br />

-<br />

2<br />

-<br />

-<br />

Test pitanje 5.27<br />

2*<br />

3<br />

-<br />

2*<br />

3<br />

-<br />

2<br />

3<br />

-<br />

2*<br />

3<br />

-<br />

⊕<br />

2<br />

3*<br />

-<br />

⊕<br />

2<br />

3<br />

-<br />

⊕<br />

2<br />

3<br />

1<br />

2<br />

3*<br />

1<br />

2<br />

3<br />

1<br />

5<br />

3*<br />

1<br />

2*<br />

5<br />

1<br />

2<br />

3<br />

5<br />

5<br />

2<br />

1*<br />

2<br />

5<br />

1*<br />

⊕<br />

2<br />

3<br />

5<br />

⊕<br />

5*<br />

2<br />

4<br />

2<br />

5*<br />

4<br />

4<br />

3<br />

5<br />

5*<br />

2<br />

4<br />

⊕<br />

2*<br />

5<br />

4<br />

⊕<br />

4<br />

3<br />

5<br />

⊕<br />

Kada se govori o pakovanju DRAM memorijskih ~ipova ~esto se koriste termini SIMM i DIMM.<br />

Objasni njihovo zna~enje.<br />

Odgovor<br />

Prvenstveno zbog visoke gustine pakovanja DRAM-ovi predstavljaju danas jezgro memorije kod<br />

najve}eg broja mikrora~unarskih <strong>sistema</strong>. Na primer, nije ni{ta neobi~no da mikrora~unar ima<br />

instalirano 64MB (DRAM) glavne memorije, 8MB (DRAM) video memorije i jo{ 16MB (DRAM)<br />

hard-disk ke{ memorije. Danas se memorijski ~ipovi pakuju kao integrisana kola standardno<br />

nazvana diskretni ~ipovi. Kod ranijih ma{ina ovi diskretni ~ipovi su bili instalirani u odgovraju}a<br />

podno`ja uobi~ajeno 9 ~ipova po memorijskoj banci. Pojavom 32-bitnih mikroprocesora zahtevi za<br />

ugradnjom memorije ve}eg kapaciteta su postali <strong>iz</strong>ra`eniji pa su memorije postale po kapacitetu<br />

suvi{e velike, a sa druge strane njihova real<strong>iz</strong>acija sa diskretnim ~ipovima je postala neprakti~na.<br />

Naime, za real<strong>iz</strong>aciju samo jedne banke potrebno je 36 ~ipova, tako da ugradnja ve}eg broja banaka<br />

dovodi do iskori{}enja celokupno dostupnog, f<strong>iz</strong>i~kog prostora. Sa ciljem da se minim<strong>iz</strong>ira<br />

povr{ina koja se koristi za ugradnju DRAM-ova na {tampanoj plo~i, moderna (savremena)<br />

alternativna pakovanja standardno koriste memorijske module. Kod ovakvih modula nekoliko<br />

diskretnih memorijskih ~ipova se sme{ta na jednu malu plug-in {tampanu plo~icu. Memorijski<br />

moduli su kompaktniji i pouzdaniji od diskretnih ~ipova <strong>iz</strong> dva razloga. Prvo, ~ipovi se leme na<br />

modulu, instalirani su veoma bl<strong>iz</strong>u jedan drugom tako da je iskori{}enje prostora veoma dobro.<br />

Drugo, diskretnim ~ipovima koji se instaliraju na memorijskim modulima nikad se ne pristupa kao<br />

pojedina~nim ~ipovima ve} kao grupi, pa je povr{ina za pakovanje kompaktnije iskori{}ena, a<br />

kvarovi i nepouzdanosti u radu lak{e se lociraju, dok se moduli jednostavnije i br`e zamenjuju.<br />

Postoji ve}i broj razli~itih tipova memorijskih modula. U najve}em broju slu~ajeva oni imaju<br />

CELP (Card Edge Low Profile) konektore sa 30 do 83 kontakata na svakoj strani modula. Kod<br />

{tampanih plo~a nazvanih SIMM (Single In-line Memory Modules) kontakti se ostvaruju na<br />

suprotnoj strani, po~ev od one strane na kojoj su <strong>iz</strong>lemljeni ~ipovi, tako da svaki par kontakata<br />

(jedan sa prednje a drugi sa zadnje) obezbedjuje samo jedan kontakt tj. aktivan je samo zadnji. Sa<br />

druge strane, kod {tampanih plo~a nazvanih DIMM (Dual In-line Memory Modules) kontakti sa<br />

obe strane plo~a su aktivni ( tj. koriste se oni sa prednje i sa zadnje strane) i slu`e za razli~ite<br />

namene. Postoji i tre}i vid {tampanih plo~a, koje se danas sve redje koriste, poznate pod imenom<br />

SIPP (Single In-line Pin Package) moduli koji koriste pin konektore. Veze kod SIPP modula se<br />

<strong>iz</strong>vode kao iglice uredjene u kolinearnoj formi. Ovakvi moduli su uglavnom namenjeni za direktno<br />

3<br />

2*<br />

4<br />

3<br />

5<br />

4*<br />

4<br />

3<br />

5<br />

⊕<br />

3<br />

2*<br />

4<br />

⊕<br />

3<br />

5*<br />

2<br />

2<br />

3<br />

5<br />

3<br />

5<br />

4*<br />

3*<br />

5<br />

2<br />

⊕<br />

2<br />

3<br />

5<br />

⊕<br />

3*<br />

5<br />

2<br />

3*<br />

5<br />

2<br />

⊕<br />

2<br />

3<br />

5<br />

⊕<br />

* - prvi u{ao<br />

⊕ - pogodak<br />

* - prvi kandidat za zamenu<br />

⊕ - pogodak<br />

⊕ - pogodak


5. Memorije<br />

lemljenje na {tampanoj plo~i. Ponekad se sre}u i specijalna SIPP podno`ja koja predstavljaju n<strong>iz</strong><br />

rupa poredjanih u liniji u koje se “ubada” modul.<br />

Moduli se razlikuju i po broju veza koje imaju. Danas uglavnom sre}emo slede}e tipove modula:<br />

• 30-pinski SIMM<br />

• 72-pinski SIMM<br />

• 72-pinski Small Outline DIMM (SODIMM)<br />

• 168-pinski DIMM<br />

• 30-pinski SIPP.<br />

Test pitanje 5.28<br />

Uka`i na osnovne karakteristike pakovanja tipa SIMM.<br />

Odgovor<br />

Razlikujemo dva tipa pakovanja tipa SIMM:<br />

- 30-pinski SIMM - jednobajtni<br />

- 72-pinski SIMM - ~etvorobajtni.<br />

Izgled 30-pinskog pakovanja tipa SIMM prikazan je na slici 5.41.<br />

Slika 5.41 30-pinsko 9-bitno SIMM pakovanje<br />

Ovaj tip pakovanja karakteri{e bajtovski prenos. Kada se govori o memorisanju podataka, koriste se<br />

9-bitni SIMM-ovi (sa proverom parnosti) i 8-bitni SIMM-ovi (bez provere parnosti). Kolo za<br />

detekciju parnosti ne pripada SIMM plo~ici ali je deo ukupnog memorijskog <strong>sistema</strong>. Kao {to se<br />

5-39


5-40<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

vidi sa Slike 5.41, za proveru parnosti koriste se pinovi 26, 28 i 29. Kod 8-bitnog SIMM-a<br />

pomenuti pinovi su tipa NC (not connected). S obzirom da 30-pinski SIMM-ovi koriste 8-bitnu<br />

magistralu za prenos podataka, za real<strong>iz</strong>aciju jedne banke potrebno je ugraditi ve}i broj SIMM-ova.<br />

Tako na primer, kod 16-bitnih CPU-ova kakvi su 286 i 386SX potrebna su dva 30-pinska SIMM-a<br />

po banci. Kod 32-bitnih CPU-ova kakvi su 386DX i 486 potrebna su ~etiri 30-pinska SIMM-a po<br />

memorijskoj banci. Kod CPU-ova koji imaju 64-bitnu magistralu za podatke kakav je Pentium<br />

potrebno je ugraditi osam 30-pinskih SIMM-ova po memorijskoj banci. Ovaj broj je suvi{e veliki<br />

tako da se danas 30-pinski SIMM-ovi skoro i ne koriste. Izgled 72-pinskog SIMM pakovanja<br />

prikazan je na Slici 5.42. Kao {to se vidi sa slike, prenos se vr{i po ~etiri bajta sa- i bez bita parnosti<br />

na nivou svakog bajta, tj. kada parnost nije implementirana prenose se 32 bita a kada je<br />

implementirana 36 bitova.<br />

sa strane<br />

Slika 5.42 Izgled {tampane plo~e za 8M*32 (32 MB) SIMM-a<br />

Namena pinova SIMM-a sa Slike 5.42 je slede}a:


naziv pina namena<br />

A0-A10 adresni ulazi<br />

CAS0-CAS2 strobe adresa kolone<br />

DQ0-DQ31 ulaz/<strong>iz</strong>laz podataka<br />

nc nije povezan<br />

PD1-PD4 PD1 - PD4<br />

RAS0-RAS3 strobe adresa vrste<br />

Vcc 5V napajanje<br />

GND masa, tj. Vss<br />

WE dozvola upisa<br />

detekcija prisutnosti<br />

5. Memorije<br />

brzina PD1 PD2 PD3 PD4<br />

(ns) (67) (68) (69) (70)<br />

50 nc GND GND GND<br />

60 nc GND nc nc<br />

70 nc GND GND nc<br />

80 nc GND nc GND<br />

Kao {to se vidi sa Slike 5.42 (pogled sa strane), memorijski ~ipovi kod ovog tipa SIMM pakovanja<br />

leme se sa obe strane {tampane plo~e. Ilustracije radi na Slici 5.43 prikazano je ekvivalentno kolo<br />

32MB SIMM pakovanja koje koristi memorijske ~ipove TM 893CBK 32 (8M*32) pro<strong>iz</strong>vod firme<br />

Texas Instruments.<br />

Slika 5.43 Ekvivalentno kolo 32 MB SIMM (8M*32) bez provere parnosti<br />

5-41


5-42<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Test pitanje 5.29<br />

Ukazati na osnovne karakteristike pakovanja tipa DIMM.<br />

Odgovor<br />

72-pinska SIMM pakovanja su postala usko grlo kada su se na tr`i{tu pojavile PC ma{ine<br />

zasnovane na procesorima Pentium i Pentium Pro. Imaju}i u vidu da su magistrale podataka kod<br />

ovih procesora 64-bitne neophodno je bilo ugaraditi dva SIMM-a po jednoj banci, upravo kako su<br />

svojevremeno ma{ine zasnovane na CPU-u 486 zahtevale ugradnju ~etiri 30-pinska SIMM-a. Da bi<br />

se <strong>iz</strong>a{lo na kraj zahtevima ma{ina ~ija je magistrala podataka obima 64-bita projektanti<br />

memorijskih <strong>sistema</strong> razvili su memorijske module sa ve}im brojem veza koje dodatno<br />

omogu}avaju i adresiranje ve}eg memorijskog prostora. Novi moduli imali su ukupno 168 razli~itih<br />

veza, po 84 sa svake od strane modula, a nazvani su DIMM-ovi. Na Slici 5.44 prikazan je <strong>iz</strong>gled<br />

jednog tipi~nog 168-pinskog DIMM-a.<br />

Slika 5.44 168 pinsko DIMM pakovanje<br />

Kao {to se vidi sa Slike 5.44, svaka strana konektora je podeljena na tri grupe medjusobno<br />

razdvojene procepima. Prvu grupu ~ine pinovi 1-10 (85-94) drugu grupu pinovi od 11-40 (86-116),<br />

a tre}u grupu pinovi 41-84 (116-168).<br />

Brzina odziva memorijskog modula signal<strong>iz</strong>ira se CPU-u preko pinova PD1-PD8 shodno slede}oj<br />

tabeli:<br />

signal pin 60 ns 70 ns 80 ns<br />

PD1 79 L L L<br />

PD2 163 L L L<br />

PD3 80 H H H<br />

PD4 164 L L L<br />

PD5 81 L L L<br />

PD6 165 H L H<br />

PD7 82 H H L<br />

PD8 166 H H H<br />

Veoma ~esto, kod minijaturnih verzija PC ma{ina, umesto 72-pinskog SIMM pakovanja koristi se<br />

72-vo pinsko SODIMM (Small Out line Dual In-line Memory Module) pakovanje (Slika 5.45).<br />

Slika 5.45 72 pinsko DODIMM pakovanje


5. Memorije<br />

U elektri~nom pogledu 72-pinsko SODIMM pakovanje ekvivalentno je 72-pinskom SIMM<br />

pakovanju. Svako SODIMM pakovanje ~ine ~etiri <strong>iz</strong>dvojene banke koje omogu}avaju da<br />

magistrala podataka bude obima 8, 16 ili 32 bita.<br />

Test pitanje 5.30<br />

Ukazati na osnovne karakteristike pakovanja tipa SIPP.<br />

Odgovor<br />

SIPP (Single In-line Pin Package) moduli koriste pin-konektore. Izgled 30-pinskog SIPP<br />

memorijskog modula prikazan je na Slici 5.46<br />

Slika 5.46 30-pinski SIPP modul<br />

Izvodi konektora SIPP modula standardno su namenjeni za direktno lemljenje na {tampanoj plo~i.<br />

Ne tako ~esto ovi moduli se instaliraju i u SIPP podno`ja.<br />

U elektri~nom pogledu SIPP i SIMM pakovanja su identi~na, a sa funkcionalne ta~ke gledi{ta ovi<br />

moduli se mogu real<strong>iz</strong>ovati od identi~nih memorijskih ~ipova, tehnologija i kapaciteta.<br />

Test pitanje 5.31<br />

Da li postoji standardna notacija na osnovu koje je mogu}e identifikovati tipove memorijskih<br />

~ipova.<br />

Odgovor<br />

Ne postoji jedinstveni standard na osnovu koga bi bilo mogu}e identifikovati tip memorijskog ~ipa.<br />

Ipak najve}i broj pro<strong>iz</strong>vodja~a pridr`ava se slede}eg pravila<br />

5-43


WWW XX YYYY - ZZ<br />

gde je:<br />

5-44<br />

• WWW - kôd pro<strong>iz</strong>vodja~a<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

• XXX - identifikacija tipa memorije (EPROM, SRAM, DRAM itd)<br />

• YYYY - kapacitet memorisanja u bitovima<br />

• ZZ - vreme pristupa u nanosekundima<br />

Tako na primer, ~ip MC 27256-10 identifikujemo kao:<br />

• WWW = MC, kôd za Motorola Semiconductor<br />

• XX = 27 kôd za EPROM, DRAM se identifikuje sa 41 ili 51, fle{ memorija sa 28, SRAM se<br />

ozna~ava sa 62 ili 7C<br />

• YYYY = 256, ukupni kapacitet memorisanja ~ipa (256 kbita)<br />

• ZZ = 10, vreme pristupa je 100 ns.<br />

Na osnovu fabri~kog broja nemogu}e je identifikovati na koji na~in je organ<strong>iz</strong>ovana memorija<br />

kapaciteta 256 kbita. Kada se govori o EPROM ~ipovima, oni su skoro uvek bajtovske<br />

organ<strong>iz</strong>acije, tako da u konkretnom slu~aju imamo ~ip 32 kB (32 k * 8 = 256 kbita).<br />

Test pitanje 5.32<br />

Koli~ina podataka (merena u bajtovima) koje procesor mo`e da prenese u toku jedne sekunde<br />

naziva se brzina prenosa podataka (DTR Data Transfer Rate), a <strong>iz</strong>ra~unava se kao:<br />

broj prenetih bajtova po jednom ciklusu magistrale<br />

DTR = (1)<br />

vreme jednog ciklusa magistrale<br />

Vreme potrebno da se obavi jedan ciklus magistrale <strong>iz</strong>nosi:<br />

CM = n * T cp =<br />

n<br />

(2)<br />

fcp<br />

gde: n - predstavlja broj sistemskih taktova po jednom ciklusu magistrale, T cp - vreme trajanja<br />

spoljne taktne pobude magistrale, f cp - frekvencija takta magistrale.<br />

Zamenom (2) u (1) dobijamo:<br />

broj prenetih bajtova po jednom ciklusu magistrale * f<br />

DTR =<br />

n<br />

Odrediti DTR za CPU 8088 koji radi na frekvenciji 4,77 MHz i uporediti ovaj rezultat sa DTR-om<br />

mikroprocesora Pentium ~ija je taktna frekvencija magistrale 66 MHz.<br />

Odgovor<br />

1 bajt * 4,77 MHz<br />

DTR 88 =<br />

4 taktna perioda/prenosu<br />

= 1,19 MB/s<br />

8 bajtova * 66 MHz<br />

DTR PEN =<br />

2 taktna perioda/prenosu<br />

(3)


DTR<br />

DTR<br />

PEN<br />

88<br />

= 264 MB/s<br />

= 221<br />

5. Memorije<br />

Ilustracije radi, u slede}oj tabeli prikazani su DTR-ovi za procesore <strong>iz</strong> familije Intel 80x86.<br />

mikroprocesor obim magistrale<br />

(bajtovi)<br />

broj prenetih<br />

bajtova po<br />

memorijskom<br />

ciklusu<br />

broj taktova po<br />

memorijskom<br />

ciklusu<br />

radna frekvencija<br />

magistrale<br />

(MHz)<br />

DTR 1<br />

(MB/s)<br />

8088 1 1 4 8 2<br />

8086 2 2 4 10 5<br />

80386 4 4 2 33 66<br />

80486 4 4 2 50 100<br />

80486 4 16 5 50 160 2<br />

Pentium 8 8 2 66 264<br />

Pentium 8 32 5 66 422 3<br />

Pentium 8 32 4 66 528 4<br />

Pentium Pro 8 8 2 66 264<br />

Pentium Pro 8 32 5 66 422 3<br />

Pentium Pro 8 32 4 66 528 4<br />

Napomena:<br />

1<br />

(DTR se <strong>iz</strong>ra~unava prema jedna~ini (3))<br />

2 (2-1-1-1- burst na~in rada, podaci su poravnjani na 16-bajtovnim granicama, ciklus je tipa samo-~itanje, prenosi se 16<br />

bajtova po ciklusu)<br />

3 (2-1-1-1- burst na~in rada, ciklus je tipa ~itanje ili upis, prenose se 32 bajta po ciklusu)<br />

4 (1-1-1-1- burst na~in rada, iskori{}ena je mogu}nost proto~no odredjivanje adresa).<br />

Test pitanje 5.33<br />

Na Slici 5.47 prikazani su vremenski dijagrami magistralnih ciklusa tipa Upis (Write) i ^itanje<br />

(Read) za mikroprocesore 8086 i 8088.<br />

a) Shodno talasnim dijagramima prikazanim na Slici 5.47, dati kratak komentar koji se odnosi na<br />

cikluse ^itanje i Upis.<br />

b) Ako vreme pristupa pristupa procesora definisano na slici 5.47 <strong>iz</strong>nosi 2.3 T CPU, gde je T CPU= 209<br />

ns, a vreme pristupa memoriji se nalazi u granicama od 200-300 ns odrediti da li }e sistem korektno<br />

raditi bez ubacivanja stanja ~ekanja.<br />

Odgovor<br />

a) komentar treba da dâ ~italac na osnovu anal<strong>iz</strong>e vremenskih dijagrama;<br />

b) vreme pristupa procesora <strong>iz</strong>nosi 2.3*209=481 ns, a to je du`e od 300 ns. Prema tome, nije<br />

potrebno ubacivati stanja ~ekanja.<br />

5-45


5-46<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Slika 5.47 Vremenski dijagrami magistralnih ciklusa kod operacija tipa ^itanje i Upis za mikroprocesore<br />

8086 i 8088.<br />

Test pitanje 5.34<br />

Kada memorija ili U/I podsistem ne mo`e da dostavi podatke CPU-u brzinom sa kojom on to<br />

o~ekuje, sa ciljem da se uskladi brzina rada oba delova <strong>sistema</strong>, ubacuju se stanja ~ekanja. Na koji<br />

na~in se re{ava problem stanja-~ekanja?<br />

Odgovor<br />

Globalno posmatrano, postoje slede}a tri re{enja za ovaj problem:<br />

1. Smanjenje taktne frekvencije <strong>sistema</strong><br />

2. Ugradnja br`ih memorijskih ~ipova ili U/I jedinica<br />

3. Programiranje memorijske jedinice (ili U/I pod<strong>sistema</strong>) tako da, pri svakom pristupu memoriji<br />

(ili U/I podsistemu), <strong>iz</strong>da zahtev za generisanjem stanja ~ekanja - obi~no se to <strong>iz</strong>vodi signalom<br />

READY.<br />

Test pitanje 5.35<br />

Na Slici 5.48 prikazani su magistralni memorijski ciklusi ^itanje i Upis koji va`e za<br />

mikroprocesore 386, 486 i Pentium.<br />

Shodno talasnim dijagramima sa Slike 5.48, dati odgovaraju}i komentar.


5. Memorije<br />

Slika 5.48 Talasni dijagram operacija ^itanje i Upis<br />

Test pitanje 5.36<br />

Na Slici 5.49 prikazano je procesorsko vreme pristupa memoriji za mikroprocesore <strong>iz</strong> familije<br />

80x86. Odrediti:<br />

(a) vreme trajanja taktne prirode procesora u ns;<br />

(b) vreme trajanja pristupa procesora memoriju u ns.<br />

Odgovor<br />

spoljni takt vreme pristupa CPU-a memoriji<br />

procesor frekvencija u MHz perioda u ns T stanja vreme u ns<br />

8088 4,77 209 2.3 480,0<br />

8086 10 100 2.3 230,0<br />

80386 33 33 1.5 49,5<br />

80486 50 20 1.5 30,0<br />

Pentium 66 15 1.5 22,5<br />

Pentium Pro 66 15 1.5 22,5<br />

Napomena: Tamnije {rafirani deo se odnosi na odgovor<br />

Slika 5.49 Vreme pristupa procesoru 80x86 memoriji<br />

5-47


5-48<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Test pitanje 5.37<br />

Kada se govori o operaciji ^itanje ili Upis a re~ je o mikroprocesorima 486, Pentium i Pentium Pro<br />

ukazati na zna~enje pojma burst ciklus.<br />

Odgovor<br />

Kao {to se mo`e primetiti sa Slike 5.48, procesorima 386, 486 i Pentium, da bi preneli jedan<br />

podatak u toku operacije Upis ili ^itanje, potrebna su dva taktna intervala po magistralnom ciklusu.<br />

Po~ev od procesora 486 pa navi{e, implementiran je novi re`im rada nazvan burst bus ciklus.<br />

Su{tina se sastoji u slede}em: Prvi burst bus ciklus karakteri{e trajanje od 2T ciklusa magistrale, ali<br />

zato, svaki naredni ciklus magistrale trajanja je samo T. Na ovaj na~in brzina prenosa podataka se<br />

duplira u odnosu na nonburst na~in rada. Primarni cilj burst na~ina rada je da obezbedi {to je<br />

mogu}e br`e popunjavanje interne procesorske ke{ memorije. U su{tini, burst ciklusi se mogu<br />

implementirati za bilo koji pristup memoriji. Ograni~enja koja va`e su slede}a:<br />

(1) Kod mikroprocesora 486, ciklus je ograni~en na prenos od samo 16 bajtova (obim jedne linije<br />

ke{ memorije) po burst ciklusu. Kod 16-bajtnog poravnjanja podaci pripadaju memorijskoj<br />

oblasti po~ev od adrese XXXX XXX0 do XXXX XXXF. U okviru ove oblasti mogu}a su<br />

slede}a ~etiri burst redosleda (a) 0-4-8-C; (b) 4-0-C-8; (c) 8-C-0-4; i (d) C-8-4-0. Na primer, za<br />

prenos 16 bajtova u burst re`imu rada po~ev od adrese 0000 0100 potrebna su ~etiri ciklusa<br />

magistrale. Jedna od mogu}ih sekvenci je:<br />

ciklus 1 - bajtovi 100 - 103<br />

ciklus 2 - bajtovi 104 - 107<br />

ciklus 3 - bajtovi 108 - 10B<br />

ciklus 4 - bajtovi 10C - 10F<br />

(2) Kod mikroprocesora Pentium u toku burst ciklusa prenose se 32 bajta (odgovara obimu linije<br />

internog ke{a). U ovom slu~aju, takodje, svi podaci koji se prenose moraju da se nalaze u<br />

okviru granica po~ev od adrese XXXX XXX0 do adrese XXXX XX1F. Ponovo su mogu}a<br />

~etiri burst redosleda (a) 0-8-10-18; (b) 8-0-18-10; (c) 10-18-0-8; (d) 18-1-8-0.<br />

(3) Kod mikroprocesora 486 burst ciklusi tipa Upis nisu dozvoljeni, dok su kod Pentiuma<br />

dozvoljena oba, kako burst Upis, tako i burst ^itanje.<br />

Za prenos podataka u burst na~inu rada potrebna su ~etiri ciklusa magistrale. Oni se ozna~avaju kao<br />

2-1-1-1. To zna~i da prvi ciklus magistrale traje 2T, a ostala tri ciklusa 1 T. Koriste}i adresnu<br />

proto~nost (address pipelining), kada se memorijska adresa generi{e pre po~etka magistralnog<br />

ciklusa u toku koga se vr{i prenos podataka, procesor Pentium mo`e da generi{e burst cikluse tipa<br />

1-1-1-1.<br />

Zadatak 5.18<br />

Na Slici 5.50 prikazan je memorijski interfejs koji odgovara memorijskoj mapi sa Slike 5.51. Kao<br />

dekoder adresa se koristi programibilno kolo PAL 16L8.<br />

Kreirati <strong>iz</strong>vorni kôd za PAL adresni dekoder.


8088<br />

CPU<br />

modul<br />

D7-D0<br />

A0-A17<br />

256K x 8<br />

RAM<br />

RD<br />

WR<br />

RAM 0<br />

CE<br />

5. Memorije<br />

256K x 8<br />

RAM<br />

RD<br />

WR<br />

RAM 1<br />

CE<br />

256K x 8<br />

RAM<br />

RD<br />

WR<br />

RAM 2<br />

CE<br />

RD<br />

ROM 0<br />

64K x 8<br />

RAM<br />

A0-A17 A0-A17 A0-A15 A0-A15<br />

RAM0<br />

A16<br />

A17<br />

A18<br />

A19<br />

IOM<br />

RAM1 RAM2<br />

+5V<br />

20 19 18 17 16 15 14 13 12 11<br />

PAL16L8<br />

1 2 3 4 5 6 7 8 9 10<br />

Slika 5.50 Memorijski interfejs<br />

FFFFF<br />

F0000<br />

E0000<br />

C0000<br />

80000<br />

40000<br />

00000<br />

ROM1<br />

64K<br />

ROM0<br />

64K<br />

RAM2<br />

256K<br />

RAM1<br />

256K<br />

RAM0<br />

256K<br />

1 MB<br />

Slika 5.51 Memorijska mapa<br />

ROM0<br />

CE<br />

RD<br />

ROM1<br />

ROM 1<br />

64K x 8<br />

RAM<br />

Zadatak 5.19<br />

32-bitni memorijski interfejs koji podr`ava memoriju kapaciteta YYY MB je prikazan na Slici<br />

5.52. Njega ~ine osam SIMM-ova kapaciteta ZZ MB (SIMM0-7), i kolo Ul tipa 74LS138 kao 3-u-8<br />

linijski dekoder. Svaki SIMM ima ugra|eno po ~etiri memorijska modula. Kapacitet svakog<br />

memorijskog modula je 4 MB. Odrediti:<br />

(a) kapacitet memorijskog interfejsa YYY <strong>iz</strong>ra`en u MB<br />

(b) kapacitet jednog SIMM pakovanja ZZ <strong>iz</strong>ra`en u MB<br />

(c) za koji adresni opseg je va`e}i svaki od osam <strong>iz</strong>laza adresnog dekodera U1<br />

CE<br />

5-49


5-50<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

(d) rad sa koliko memorijskih interfejsa kao onaj sa Slike 5.52 podr`ava sistem<br />

(e) nacrtati memorijsku mapu i nazna~iti mesta gde se preslikavaju SIMM0 do SIMM7.<br />

Deo odgovora:<br />

Slika 5.52 Memorijsko polje koga ~ini osam SIMM-ova<br />

Izlazi dekodera U1, “0” do “7”, aktiviraju se shodno slede}oj tabeli:<br />

<strong>iz</strong>laz opseg adresa<br />

“0” 0000 0000 - 00FF FFFF<br />

“1” 0100 0000 - 01FF FFFF<br />

“2” 0200 0000 - 02FF FFFF<br />

“3” 0300 0000 - 03FF FFFF<br />

“4” 0400 0000 - 04FF FFFF<br />

“5” 0500 0000 - 05FF FFFF<br />

“6” 0600 0000 - 06FF FFFF<br />

“7” 0700 0000 - 07FF FFFF


5. Memorije<br />

A31 A30 A29 28 A27 A26 A25 A24 A23 A22 A3 A2 BE3 BE2 BE1 BE0<br />

Ovih pet linija moraju biti na “niskom”<br />

kako bi se dozvolio rad dekodera<br />

Kori{}enje adresnih- i BE linija za adresiranje memorije kapaciteta 128 MB<br />

128 MB<br />

16 MB<br />

Ove tri linije selektuju jedan<br />

od osam SIMM-ova<br />

FFFFFFFF<br />

F8000000<br />

10000000<br />

08000000<br />

00000000<br />

SIMM7<br />

SIMM6<br />

SIMM5<br />

SIMM4<br />

SIMM3<br />

SIMM2<br />

SIMM1<br />

SIMM0<br />

Ove 22 linije selektuju jedan bajt u<br />

svakom 4 MB x 8 DRAM-u, svakog<br />

SIMM-a<br />

A27-A31 = 11111<br />

A27-A31 = 00001<br />

A27-A31 = 00000<br />

Ove ~etiri linije selektuju bajt, re~<br />

ili duplu re~ (preko ~etiri DRAM<br />

modula na svakom SIMM-u)<br />

Zadatak 5.20<br />

Struktura 32-bitnog memorijskog SRAM interfejsa prikazana je na Slici 5.53. Sistem je zasnovan<br />

na procesoru 386/486. Odredi:<br />

(a) kapacitet interfejsa<br />

(b) strukturu dekodera adresa (logi~ku {emu), ako se memorijski interfejs preslikava na dno f<strong>iz</strong>i~ke<br />

memorije tj. po~ev od adrese 0000 0000.<br />

(c) koja je krajnja adresa zadnjeg bajta ovog interfejsa, i u kom je ~ipu sme{ten ovaj bajt?<br />

5-51


5-52<br />

Magistrala<br />

podataka<br />

Adresna<br />

magistrala<br />

Upravlja~ka<br />

magistrala<br />

D24-D31<br />

D16-D23<br />

D8-D15<br />

D0-D7<br />

A2-A17<br />

Dekoder<br />

D0-D7<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

SRAM-A SRAM-B SRAM-C SRAM-D<br />

A0-A15<br />

BE0<br />

CS2<br />

WE OE CS1<br />

Selekcija memorije<br />

D0-D7<br />

A0-A15<br />

+5V CS2 +5V CS2 +5V CS2 +5V<br />

WE OE CS1<br />

MEMW<br />

MEMR<br />

D0-D7<br />

A0-A15<br />

WE OE CS1<br />

BE1 BE2 BE3<br />

Slika 5.53 32-bitni memorijski SRAM interfejs<br />

D0-D7<br />

A0-A15<br />

WE OE CS1<br />

Test pitanje 5.38<br />

Usvojimo da je CS = FF25h. Odrediti najvi{u i najni`u f<strong>iz</strong>i~ku adresu za memorijski prostor koga<br />

adresiraju mikroprocesori:<br />

(a) 8088/86<br />

(b) 80286<br />

Specificirati sadr`aj bita A20.<br />

Odgovor<br />

(a) najni`a f<strong>iz</strong>i~ka adresa je FF250 h, a najvi{a 0F24F h (FF250 h + FFFF h). S obzirom da kod<br />

procesora 8088/86 postoje samo adresne linije A0-A19, prenos kod operacije sabiranja adresa se<br />

zanemaruje.<br />

(b) kod 286 najni`a f<strong>iz</strong>i~ka adresa je identi~na kao i kod 8088/86 i <strong>iz</strong>nosi FF 250 h, ali je najvi{a<br />

f<strong>iz</strong>i~ka adresa 10 F24F h pa je zbog toga A20 = 1.<br />

Test pitanje 5.39<br />

Za UV - EPROM ~ip 27128 odrediti kapacitet, organ<strong>iz</strong>aciju, broj adresnih pinova kao i broj pinova<br />

za podatke.<br />

Odgovor<br />

Kapacitet ~ipa 27128 je 128 kb. Organ<strong>iz</strong>acija EPROM ~ipova je YY k * 8. To zna~i, za konkretni<br />

slu~aj, da je organ<strong>iz</strong>acija ~ipa 16k*8, {to ukazuje da je broj pinova za podatke 8, a broj adresnih<br />

pinova 14, tj. 2 14 = 16k.<br />

Test pitanje 5.40<br />

Koliko je adresnih pinova dodeljeno svakom od memorijskih ~ipova:


(a) 16k * 4 DRAM<br />

(b) 16k * 4 SRAM<br />

5. Memorije<br />

Odgovor<br />

Broj adresa je 14 s obzirom da je 2 14 = 16k<br />

a) kod DRAM-a postoje 7 adresnih pinova (A0 - A6) i dva pina za RAS i CAS<br />

b) kod SRAM-a postoje 14 adresnih pinova A0 - A13<br />

Broj linija za podatke kod obe memorije, DRAM i SRAM, je identi~an i <strong>iz</strong>nosi 4, tj. D0 - D3.<br />

Test pitanje 5.41<br />

Talasni dijagrami koji va`e kod operacije ^itanje SRAM-a i DRAM-a (standardni model) prikazani<br />

su na Slici 5.54.<br />

a) vremenski dijagrami koji se odnose na operaciju ^itanje, kod SRAM-a, predstavljeni su na Slici<br />

5.54 a).<br />

Uporediti minimalna CPU-ova vremena potrebna da se pro~itaju 150 pro<strong>iz</strong>voljnih memorijskih<br />

lokacija date banke, za slede}e slu~ajeve:<br />

i) DRAM sa t ACC = 100 ns i t RC = 190 ns<br />

ii) SRAM sa t ACC = 100 ns<br />

Odgovor<br />

i) DRAM-u je potrebno 190 ns da pristupi svakoj lokaciji. Zbog toga ukupno je potrebno 150<br />

* 190 = 28,500 ns<br />

ii) U slu~aju SRAM-a potrebno je vreme od 150 * 100 = 15.000 ns.<br />

Test pitanje 5.42<br />

Jedan od na~ina da se elimini{e uticaj t RP (RAS precharge time) vremena kod DRAM-ova je<br />

kori{}enje interleaving metode. Kod ove metode, jedna pored druge se postavljaju dve banke, a<br />

CPU pristupa svakoj banci alternativno. Na ovaj na~in t RP vreme jednog skupa banaka se preklapa<br />

sa vremenom pristupa drugoj banci. To zna~i da dok CPU pristupa jednom skupu banaka, drugi<br />

skup se ponovo puni (precharge). Da bi objasnili princip anal<strong>iz</strong>irajmo Slici 5.55.<br />

Ako usvojimo da 80386SX radi na 20 MHz, memorijski ciklus CPU-a bi}e 100 ns, tj. trajanje dva<br />

taktna intervala. Pod uslovom da je instaliran DRAM ~ije je vreme pristupa 70 ns a precharge<br />

vreme 65 tada dobi}emo da je vreme ciklusa DRAM-a 135 ns, {to je znatno du`e od 100 ns koliko<br />

traje memorijski ciklus CPU-a. Ovaj problem se re{ava kori{}enjem interleaving-a memorije. U<br />

konkretnom slu~aju nakon {to je CPU 80386SX pristupio skupu A on prelazi na pristup skupu B<br />

dok za skup A se odvija akcija precharge. Na sli~an na~in, dok procesor pristupa skupu A, za skup<br />

banaka B se odvija akcija precharge.<br />

b) odrediti vreme pristupa 1024 pro<strong>iz</strong>voljnim bitovima kod memorije kapaciteta 1M * 1 pri t RAC =<br />

85 ns, a t RC = 165 ns.<br />

c) odrediti vreme pristupa svim 1024 memorijskim lokacijama ako se koristi metod interleaving-a<br />

memorije.<br />

5-53


5-54<br />

adrese<br />

RD<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

tAC<br />

va`e}a adresa<br />

t RC<br />

t RAC - vreme pristupa od RAS<br />

t CAC - vreme pristupa od CAS<br />

t RC- vreme trajanja ciklusa ~itanja<br />

t RP - RAS precharge vreme<br />

a) vremenski dijagrami operacije ~itanja kod SRAM-a<br />

b) talasni dijagrami koji se odnose na operaciju ^itanje, kod DRAM-ova, predstavljeni su na Slici<br />

5.54 b).<br />

adrese<br />

RAS<br />

CAS<br />

podaci<br />

t RAC - vreme pristupa od RAS<br />

t CAC - vreme pristupa od CAS<br />

t RC - vreme trajanja ciklusa ~itanja<br />

t RP - RAS precharge vreme<br />

tRC<br />

tRAC<br />

tCAC<br />

b) vremenski dijagrami operacije ~itanja kod DRAM-a<br />

Slika 5.54 Vremenski dijagrami kod DRAM-ova i SRAM-ova<br />

tRP


0003<br />

0007<br />

000B<br />

skup B<br />

0002<br />

0002<br />

000A<br />

8 8<br />

D15-D8 D7-D0<br />

5. Memorije<br />

0001<br />

0005<br />

0009<br />

skup A<br />

0000<br />

0004<br />

0008<br />

8 8<br />

D15-D8 D7-D0<br />

Slika 5.55 DRAM interleaving organ<strong>iz</strong>acija<br />

Odgovor<br />

a) vreme potrebno da se pro~itaju sve 1024 lokacije <strong>iz</strong>nosi:<br />

t S = 1024 * t RC<br />

= 1024 * 165 ns<br />

= 168.960 ns<br />

b) Kada se koristi interleaving, tada vreme potrebno da se pro~ita svih 1024 lokacija <strong>iz</strong>nosi:<br />

t’ S = 1024 * t RAC<br />

= 1024 * 85 ns<br />

= 87.040 ns<br />

Test pitanje 5.43<br />

Na koji na~in su organ<strong>iz</strong>ovane memorijske }elije kod slede}ih DRAM ~ipova:<br />

(a) 256 k * 1<br />

(b) 1 M * 1<br />

(c) 4 M * 1<br />

Odgovor<br />

a) Memorija kapaciteta 256 k * 1 ima 9 adresnih pinova (A0 - A8), a }elije su organ<strong>iz</strong>ovane u<br />

obliku matrice 2 9 * 2 9 = 512 * 512, tj. 512 vrsta od kojih svaka ima 512 kolona }elija.<br />

b) 1024 * 1024<br />

c) 2048 * 2048<br />

Test pitanje 5.44<br />

Neka DRAM-ovi tipa : (a) 256k*1; (b) 1M*1; (c) 4M*1; rade u strani~nom na~inu (re`imu) rada<br />

(page mode). Pokazati na koji na~in je svaki ~ip organ<strong>iz</strong>ovan u stranice. Odrediti broj kolona po<br />

stranici za slu~ajeve pod (a), (b) i (c).<br />

5-55


5-56<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Odgovor<br />

(a) za 1 M * 1 imamo 512 stranica, pri ~emu svaka stranica ima 512 kolona }elija<br />

(b) 1024 stranica, gde svaka stranica ima 1024 bitova, tj. kolona<br />

(c) 2048 stranica svaka po 2048 bitova<br />

Test pitanje 5.45<br />

Odrediti ukupno vreme koje CPU potro{i da bi pristupio celoj stranici memorije ako memorijske<br />

banke rade u strani~nom na~inu rada, za slu~aj da je DRAM kapaciteta 1 M * 1 a t RC = 165 ns, t RAC<br />

= 85 ns, a t PC = 50 ns.<br />

Odgovor<br />

U strani~nom na~inu rada, da bi se pro~italo 1024 bitova, porebno je vreme od:<br />

t s = t RAC + 1023 * t PC<br />

= 85 ns + 1023 * 50 ns<br />

= 51.235 ns.<br />

Napomena: Videti vremenske dijagrame u koji su prikazani na slici 5.56<br />

Test pitanje 5.46<br />

Na Slici 5.56 prikazani su talasni dijagrami koji va`e za a) page mode, b) static column mode; c)<br />

nibble mode. Dati komentar i ukazati kako se ra~una ukupno vreme prenosa podatka <strong>iz</strong>me|u CPU-a<br />

i memorije.<br />

Test pitanje 5.47<br />

Odrediti ukupno vreme koje je potrebno CPU-u da pristupi celoj stranici memorije ako memorijske<br />

banke koriste static-column mode, a DRAM-ovi su kapaciteta 1 M * 1 sa t RC = 165 ns, t RAC = 85 ns,<br />

i t SC = 50 ns.<br />

Odgovor<br />

t S = t RAC + 1023 * t SC<br />

= 85 + 1023 * 50 ns<br />

= 51,235 ns.<br />

Test pitanje 5.48<br />

Odrediti ukupno vreme koje je CPU-u potrebno da pristupi:<br />

(a) 4 bita kod nibble mode DRAM-a<br />

(b) svim 1024 bita kod nibble mode DRAM-a ako je t RAC = 85 ns, t NC = 85 ns, t RP = 70 ns.<br />

Odgovor<br />

a) Da bi pristupio 4 bita u nibble mode potrebno je<br />

t 4N = t RAC + 3 t NC<br />

= 85 + 3 * 40 ns<br />

= 205 ns.


5. Memorije<br />

Slika 5.56 Re`imi rada DRAM-a<br />

b) Da bi pristupio svim 1024 bita koriste se 256 pristupa kod 4 nibble mode, tako da je ukupno<br />

vreme<br />

t 4N = 256 (t RAC + 3 t NC + t RP)<br />

= 256 (85 + 3 * 40 + 70)<br />

= 70.400 ns.<br />

Napomena: Za definiciju t RP videti Sliku 5.54 b).<br />

5-57


5-58<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Zadatak 5.21<br />

Koriste}i katalo{ke podatke za 1 M * 1 DRAM ~ip, date na Slici 5.57, odrediti potrebno vreme da<br />

se pristupi 4 bita za slede}e re`ime rada:<br />

(a) standard mode<br />

(b) page mode<br />

(c) static column mode<br />

Uporediti rezultate sa onim dobijenim u prethodnom test pitanju koji va`i za nibble mode DRAM.<br />

Vreme pristupa (ns) Standard Page Static Column Nibble<br />

Access time from row, t RAC 85 85 85 85<br />

Access time from column, t CAC 25<br />

Access time from column, t AA 45<br />

Access time from column, t NC 20<br />

Vreme ciklusa<br />

Read cycle time, t RC 165<br />

Page mode cycle time, t PC 50<br />

Static column time, t SC 50<br />

Nibble mode cycle time, t NC 40<br />

Slika 5.57 Karakteristika 1 M * 1 DRAM ~ipa<br />

Odgovor<br />

Ozna~imo sa t 4xx vreme potrebno da se pro~itaju 4 bita u odgovaraju}em re`imu rada.<br />

(a) za Standard mode:<br />

t 4sm = 4 t RC = 4 * 165 = 660 ns<br />

(b) za Page mode:<br />

t 4pm = t RAC + 3 t PC = 85 + 3 * 50 = 235 ns<br />

(c) za Static column mode:<br />

t 4sc = t RAC + t SC = 85 + 3 * 50 = 235 ns<br />

(d) kod Nibble mode imali smo t 4Nm = 205 ns<br />

Test pitanje 5.49<br />

Ukazati na osnovne f<strong>iz</strong>i~ke razlike <strong>iz</strong>medju slede}ih tipova memorijskih tehnologija: SRAM, fle{<br />

memorije, magnetni flopi disk, opti~ki hard disk, i CD-ROM.<br />

Odgovor<br />

Osnovne karakteristike SRAM-a, Fle{ memorije, magnetnog flopi diska, opti~kog hard diska, i CD<br />

ROM-a prikazane su u slede}oj tabeli:


tehnologija medijum<br />

memorisanja<br />

metod<br />

pristupa<br />

5. Memorije<br />

<strong>iz</strong>menljivost permanentnost vreme<br />

pristupa<br />

SRAM elektronski pro<strong>iz</strong>voljan ~itanje/upis NDRO, gubi se<br />

sadr`aj<br />

fle{<br />

memorija<br />

magnetni<br />

flopi disk<br />

opti~ki hard<br />

disk<br />

elektronski pro<strong>iz</strong>voljan ~itanje re~i/<br />

upis bloka<br />

magnetni serijski ~itanje bloka/<br />

upis bloka<br />

opti~ki serijski ~itanje bloka/<br />

upis bloka<br />

CD-ROM opti~ki serijski ~itanje bloka/<br />

upis bloka<br />

Napomena: NDRO - ne destruktivno ~itanje (non destructive readout)<br />

NDRO, gubi se<br />

sadr`aj<br />

NDRO, gubi se<br />

sadr`aj<br />

NDRO, gubi se<br />

sadr`aj<br />

NDRO, gubi se<br />

sadr`aj<br />

(5-20) ns<br />

(50-100) ns<br />

(10-50) ns<br />

(50-100) ns<br />

(50-100) ns<br />

Zadatak 5.22<br />

RAM prostor veli~ine 128 MB je projektovan od RAM ~ipova kapaciteta 2 N * 4-bita. Usvojimo da<br />

se kao dekoderi adresa koriste integrisani dekoderski ~ipovi tipa 1-<strong>iz</strong>laz-od 2 k , gde je k < 3, kao i<br />

ostala standardna logi~ka kola, ako je potrebno. Glavni cilj projektanata je da u svom re{enju ugradi<br />

minimalan broj integrisanih kola.<br />

(a) Pokazati kako <strong>iz</strong>gleda re{enje memorijskog pod<strong>sistema</strong>, ako usvojimo da svaki RAM ~ip<br />

kapaciteta 2M*4 bita, ima jedinstvenu ~ip selekt liniju. Ponuditi re{enje ~ija je struktura sli~na<br />

onoj koja je prikazana na Slici 5.58 ili Slici 5.59.<br />

(b) Ako svaki RAM ~ip ima dve ~ip selekt linije CS1 = CS2 = 1 pokazati kakva je slo`enost<br />

memorijskog <strong>sistema</strong><br />

Odgovor<br />

adresa A<br />

m<br />

Upravlja~ke<br />

linije<br />

2 m ·w<br />

RAM<br />

CS WE OE<br />

CS WE OE<br />

2 m ·w<br />

2<br />

RAM<br />

m ·w<br />

2<br />

RAM<br />

m w w ·w w<br />

RAM<br />

CS WE OE<br />

podaci D<br />

4w<br />

CS WE OE<br />

Slika 5.58. Pove}anje obima re~i RAM-a za ~etiri puta<br />

CS WE OE<br />

(a) RAM veli~ine 128 MB se mo`e real<strong>iz</strong>ovati kao 64M * 2 * 8 bitova, tj. pomo}u polja RAM<br />

~ipova. Ukupan broj adresa koji nam stoji na raspolaganju je 27. To su adrese od: A26 : A0.<br />

Dekoder tipa 1/64 je potrebno ugraditi radi za dekodiranja MS adresnih bitova A26 : A21 sa<br />

ciljem da se pristupi adresama vrsta. Ovakav dekoder se mo`e real<strong>iz</strong>ovati u dva nivoa pomo}u<br />

devet dekodera adresa tipa 1-od-8 <strong>iz</strong>laza. Svaki <strong>iz</strong>laz rezultuju}eg dekodera je povezan na CS<br />

5-59


5-60<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

ulaze RAM modula M ij . RAM modul M i,j ~ine dva RAM ~ipa kapaciteta 2M*4bita. Ako<br />

usvojimo da dodatni drajveri nisu potrebni, tada ceo memorijski sistem ~ine devet dekodera i<br />

128 RAM ~ipova (Slika 5.60). Na Slici 5.60 prikazan je detalj organ<strong>iz</strong>acije memorijskog bloka<br />

M ij koji odgovara organ<strong>iz</strong>aciji prikazanoj na Slici 5.58. ^italac treba da poka`e da li se mo`e<br />

/koristiti re{enje koje se zasniva na organ<strong>iz</strong>aciji sa Slike 5.59.<br />

adresa A<br />

Napomena: 2 m *w = 2M*4<br />

m+2<br />

~ip selekt<br />

dozvola upisa<br />

<strong>iz</strong>laz<br />

2<br />

dekoder<br />

“1_od_~etiri”<br />

m<br />

E<br />

2 m ·w<br />

RAM<br />

CS WE OE<br />

2 m ·w<br />

RAM<br />

CS WE OE<br />

2 m ·w<br />

RAM<br />

CS WE OE<br />

2 m ·w<br />

RAM<br />

CS WE OE<br />

w<br />

w<br />

w<br />

w<br />

w<br />

podaci D<br />

Slika 5.59 Pove}anje broja re~i koje se ~uvaju u RAM-u za faktor ~etiri<br />

Jevtinije re{enje se dobija ako svaki RAM ~ip ima <strong>iz</strong>vedeno dva ~ip selekta. U tom slu~aju se RAM<br />

prostor mo`e ogan<strong>iz</strong>ovati kako je prikazano na Slici 5.61. Konkretna real<strong>iz</strong>acija zahteva ugradnju<br />

samo dva dekodera tipa 1-od-8-<strong>iz</strong>laza. Dekoder D1 se koristi da adresira osam vrsta a dekoder D2<br />

osam kolona.


A26<br />

A25<br />

A24<br />

G<br />

D1<br />

0<br />

1<br />

7<br />

A23<br />

A22<br />

A21<br />

A23<br />

A22<br />

A21<br />

A23<br />

A22<br />

A21<br />

G<br />

G<br />

G<br />

D1<br />

D2<br />

.<br />

.<br />

.<br />

D8<br />

0<br />

1<br />

7<br />

0<br />

1<br />

7<br />

0<br />

1<br />

7<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

CS<br />

WE<br />

OE<br />

adrese<br />

A20:A0<br />

5. Memorije<br />

CS00<br />

M00<br />

CS10<br />

M10<br />

.<br />

.<br />

.<br />

CS70<br />

M70<br />

CS01<br />

M01<br />

CS11<br />

M11<br />

.<br />

.<br />

.<br />

CS71<br />

M71<br />

2M*4 2M*4<br />

4 4<br />

8<br />

podaci<br />

Slika 5.60 2D organ<strong>iz</strong>acija memorijskog prostora veli~ine 128 MB koji koristi memorijske ~ipove<br />

sa jedinstvenim CS kapaciteta 2 M * 4<br />

Napomena: Detalji koji se odnose na definisanje stanja signala WE i OE (slika 5.58 i 5.59 nisu prikazani na slici 5.60<br />

Zadatak 5.23<br />

Koriste}i DRAM memorijski ~ip kapaciteta 8 M * 8 bitova kao osnovnu komponentu (Slika 5.62),<br />

projektovati memorijski sistem veli~ine 256 M * 32 bita. Za formiranje memorijskih blokova ve}eg<br />

kapaciteta koristiti {eme prikazane na slikama 5.58 i slici 5.59.<br />

. . .<br />

. . .<br />

. . .<br />

CS07<br />

M07<br />

CS17<br />

M17<br />

.<br />

.<br />

.<br />

CS77<br />

M77<br />

5-61


5-62<br />

A26:A21<br />

A26:A24<br />

6<br />

3<br />

1/8<br />

dekoder<br />

za CS1<br />

3<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

1/8 dekoder<br />

za CS2<br />

A23:A21<br />

M00 M01 M02 M03 M04 M05 M06 M07<br />

M10 M11 M12 M13 M14 M15 M16 M17<br />

M20 M21 M22 M23 M24 M25 M26 M27<br />

M30 M31 M32 M33 M34 M35 M36 M37<br />

M40 M41 M42 M43 M44 M45 M46 M47<br />

M50 M51 M52 M53 M54 M55 M56 M57<br />

M60 M61 M62 M63 M64 M65 M66 M67<br />

M70 M71 M72 M73 M74 M75 M76 M77<br />

Slika 5.61 Organ<strong>iz</strong>acija RAM prostora veli~ine 128 MB u formi 2D-polja kada RAM ~ipovi imaju<br />

dve ~ip selekt linije<br />

Logika za<br />

sinhron<strong>iz</strong>aciju i<br />

osve`avanje<br />

RAS CAS WE OE<br />

Bafer<br />

adrese<br />

vrste<br />

Interni<br />

upravlja~ki<br />

signali<br />

Dekoder<br />

adrese<br />

vrste<br />

13<br />

13<br />

Adresna<br />

magistrala<br />

Magistrala<br />

podataka<br />

D0:D7<br />

8<br />

8192x1024x8<br />

polje memorijskih<br />

}elija<br />

Dekoder adresa<br />

kolona<br />

10<br />

Bafer podataka<br />

Bafer<br />

adresa<br />

kolona<br />

Slika 5.62 Struktura memorijskog DRAM ~ipa kapaciteta 8 MB<br />

CS1<br />

CS1


5. Memorije<br />

Odgovor<br />

Za real<strong>iz</strong>aciju memorijskog prostora veli~ine 256 M * 32 bita pomo}u DRAM ~ipova obima 8 M *<br />

8 bitova potrebno je ugraditi:<br />

256 32<br />

* = 128<br />

8 8<br />

kopija DRAM integrisanih kola sa Slike 5.62, koriste}i pri tome organ<strong>iz</strong>aciju koja je prikazana na<br />

slici 5.58. Da bi se zadovoljile potrebe koje se odnose na veli~inu adresnog prostora treba koristiti<br />

adresni dekoder tipa 1-od-32-<strong>iz</strong>laz.a Re{enje koje se odnosi na organ<strong>iz</strong>aciju memorijskog prostora<br />

veli~ine 256M*32bita prikazana je na Slici 5.63.<br />

5<br />

adresa A13:A17<br />

~ip selekt<br />

adresa A0 A12<br />

dozvola upisa WE<br />

dozvola <strong>iz</strong>laza<br />

RAS<br />

CAS<br />

13<br />

0<br />

1<br />

2<br />

E 30<br />

31<br />

8Mx8b<br />

RAM<br />

A DQ<br />

RAS<br />

CAS WE OE<br />

8Mx8b<br />

RAM<br />

A DQ<br />

RAS<br />

CAS WE OE<br />

8Mx8b<br />

RAM<br />

A DQ<br />

RAS<br />

CAS WE OE<br />

Slika 5.63 256M * 32 bitna organ<strong>iz</strong>acija memorije<br />

zasnovana na DRAM ~ipu kapaciteta 8 M * 8 bita<br />

32<br />

32<br />

32<br />

podaci D<br />

^italac treba da obrati pa`nju na na~in multipleksiranja RAS i CAS signala pomo}u dvo-ulaznih<br />

OR logi~kih kola.<br />

Re{enje prikazano na Slici 5.63 karakteristi~no je i po tome {to je ceo RAM prostor organ<strong>iz</strong>ovan<br />

kao 1D umesto 2D polje.<br />

Test pitanje 5.50<br />

Za DRAM ~ip kapaciteta 8M*8 ~ija je struktura prikazana na slici 5.62 odrediti koje je minimalno<br />

vreme potrebno da se pro~itaju sadr`aji svih adresibilnih lokacija memorije:<br />

(a) Kada se adrese generi{u u pro<strong>iz</strong>voljnoj sekvenci,<br />

5-63


(b) Kada se koristi page mode.<br />

5-64<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Napomena: (i) trajanje ciklusa ~itanja kod generisanja pro<strong>iz</strong>voljnog n<strong>iz</strong>a adresa <strong>iz</strong>nosi 90 ns; (ii) u page mode vreme<br />

prenosa jednog podatka <strong>iz</strong>nosi 30 ns.<br />

Odgovor<br />

(a) Broj lokacija DRAM-a sa Slike 5.62 <strong>iz</strong>nosi 2 23 = 8 M. Vreme potrebno da se pro~itaju sve<br />

lokacije je:<br />

T R = 2 23 * 90 ns = 0,755 s<br />

(b) u page mode-u, u okviru jedne stranice postoje 1024 pristupa, a broj stranica je 8192, tako da je<br />

ukupno vreme:<br />

T S = (1024 * 30) * 8192 = 0,254 s<br />

Zadatak 5.24<br />

Potrebno je projektovati RAM prostor kapaciteta 16 MB. Projektant na raspolaganju ima slede}a tri<br />

DRAM ~ipa ~ija je op{ta struktura prikazana na Slici 5.64.<br />

tip kapacitet cena po ~ipu<br />

1 4 M * 1 bit 22 din<br />

2 1 M * 2 bita 10 din<br />

3 256 k * 8 bitova 4,5 din<br />

Cena ostalih kola, - komponenata ({tampana plo~a, konektori i dr) koje se ugradjuju u memorijski<br />

sistem, <strong>iz</strong>ra~unava se indirektno kao:<br />

Cost. = x + 10 y (dinara)<br />

gde su:<br />

x - broj ugradjenih RAM ~ipova<br />

y - broj adresnih bitova koje treba dekodirati spolja<br />

Odrediti koja }e ugradnja (tip DRAM ~ipova) rezultirati minimalnom cenom memorije.<br />

adresa A<br />

m<br />

OE - dozvola <strong>iz</strong>laza<br />

RAM<br />

2 m ·w<br />

CS WE OE<br />

WE - dozvola upisa<br />

w<br />

CS - ~ip selekt<br />

Slika 5.64 RAM komponenta


Odgovor<br />

tip memorije broj mem.<br />

~ipova<br />

cena mem.<br />

~ip.<br />

5. Memorije<br />

tip dekodera cena pristupa ukupna cena<br />

4 M*1 b 32 32*22 = 704 1-od-2 32+20=52 704+52=756<br />

1 M*2 b 64 64*10 = 640 1-od-16 64+40=104 640+104=744<br />

256 k *4 b 128 128*4,5 =576 1-od-64 128+60=186 576+186=762<br />

Na osnovu dobijenih vrednosti, zaklju~ujemo da je najjeftinije ugraditi ~ipove tipa 1 M * 2 bita<br />

Test pitanje 5.51<br />

Odredjeni broj DRAM-ova kapaciteta 1 M * 16 bitova koristi ~etvorostruki adresni interleaving<br />

radi pristupa memorijskim bankama M0, M1, M2 i M3.<br />

(a) Identifikovati banke kojima se vr{i pristup na osnovu slede}e ~etiri adrese: 01234, ABCDE,<br />

91272 i FFFFF.<br />

(b) Ako je jedna od memorijskih banaka zauzeta, koja je verovatno}a da }e zahtev biti zaka{njen<br />

(odlo`en) zbog sudara kod pristupa toj banci?<br />

Odgovor<br />

Na osnovu vrednosti dva LS bita odredjuje se kojoj se banci pristupa.<br />

a)<br />

heksadecimalna adresa binarna adresa banka kojoj se pristupa<br />

01234 0000...0100 M0<br />

ABCDE 1010...1110 M2<br />

91272 1001...0010 M2<br />

FFFFF 1111..1111 M3<br />

b) Verovatno}a sudara zbog pristupa toj banci je 1/4 = 0,25.<br />

Test pitanje 5.52<br />

Magnetni disk ima slede}e karakteristike:<br />

• broj pisti na povr{ini zapisa 200<br />

• rotacija diska 2400 obrtaja/minuti<br />

• kapacitet memorisanja po pisti 62500 bitova/in~<br />

Proceni prose~nu latentnost kod prenosa podataka ka/od diska.<br />

Napomena: 1 in~ = 2,54 cm<br />

Odgovor<br />

Prose~na latencija t L je vreme potrebno da se disk zaokrene za polovinu kruga, a u konkretnom<br />

slu~aju <strong>iz</strong>nosi:<br />

5-65


5-66<br />

t L<br />

0,<br />

5<br />

= = 12,<br />

5 ms<br />

2400<br />

Brzina prenosa podataka <strong>iz</strong>nosi:<br />

2400 62500 62500<br />

v = * = 40 * =<br />

60 2,54 2,54<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

26000000<br />

2,54<br />

bit/s<br />

Test pitanje 5.52<br />

Za odredjeni magnetni hard disk definisani su slede}i parametri:<br />

• broj diskova (povr{ine na kojima se vr{i zapis) 14(27)<br />

• broj pisti po povr{ini zapisa 4925<br />

• ukupan broj sektora na svim povr{inama za zapis 17,755,614<br />

• formatirani kapacitet diska 9.09 GB<br />

• brzina rotacije diska 5400 obr./min<br />

• prose~no vreme pozicioniranja glave diska na pistu (seek time) 11,5 ms<br />

• interna brzina prenosa podataka 44-65 MB/s<br />

Odrediti veli~inu bloka (sektora) podataka BP i prose~no vreme pristupa bloku podataka t B.<br />

Odgovor<br />

Veli~ina sektora se dobija kao:<br />

formatirani<br />

kapacitet diska<br />

BP =<br />

ukupni brojsektora<br />

na svim povr{inama<br />

za zapis<br />

9<br />

9,09*<br />

10<br />

=<br />

17755,<br />

61<br />

=<br />

512 bajtova<br />

Prose~no vreme pristupa t B predstavlja zbir prose~nog vremena pozicioniranja ana pisti t S, prose~ne<br />

rotacione latentnosti t L, i prose~nog vremena prenosa jednog bloka.<br />

U konkretnom slu~aju imamo da je:<br />

• t S = 11,5 ms<br />

• rotaciona brzina<br />

5400<br />

r = = 90 obr/s = 0,09 obr/ms<br />

60<br />

t L<br />

=<br />

1<br />

2 * 0,09<br />

=<br />

5,56 s<br />

• prose~na interna brzina prenosa je<br />

55 MB/s => 55 kB/ms<br />

za prenos jednog bloka (sektora) potrebno je interno vreme:<br />

t I<br />

512 bajtova<br />

=<br />

55000<br />

= 0,<br />

01ms


Prose~no vreme pristupa:<br />

t BP= t S + t L + t I<br />

= 11,5 + 5,56 + 0,01<br />

= 17,07 ms<br />

5. Memorije<br />

Zadatak 5.25<br />

Vreme pozicioniranja magnetne glave diska zavisi od toga koliko se brzo vr{i pomeranje upisno-<br />

~itaju}e glave sa jedne piste na drugu. Usvojimo da je: (i) ukupan broj pisti N i da su one<br />

numerisane od 0 do N-1; (ii) upisno-~itaju}oj glavi potrebno je vreme D t da se pomeri sa piste i na<br />

pistu i ± D, tj za D pisti.<br />

Shodno prethodnom, ako se prvo pristupalo pisti i a nakon toga sledi pristup pisti j = i ± D, vreme<br />

pozicioniranja glave kod narednog pristupa <strong>iz</strong>nosi D t. Najkra}e vreme pozicioniranja glave je 0 a<br />

najdu`e N t. Postavlja se slede}e pitanje: Koliko je prose~no vreme pozicioniranja glave na pistu t S u<br />

funkciji N i t? Ako usvojimo da se pistama pristupa po pro<strong>iz</strong>voljnom (slu~ajnom) redosledu,<br />

pokazati da je t S ≈N t/3; {to zna~i da je prose~no vreme pristupa pisti pribli`no jednako vremenu da<br />

se upisno-~itaju}a glava pomeri za tre}inu od ukupnog broja pisti.<br />

Izvedi dokaz na primeru N = 8.<br />

Odgovor<br />

Za N = 8 formirajmo matricu oblika 8 * 8, za sve 64 (i, j) kombinacije:<br />

pista j<br />

pista i 0 1 2 3 4 5 6 7<br />

0 0 1 2 3 4 5 6 7<br />

1 1 0 1 2 3 4 5 6<br />

2 2 1 0 1 2 3 4 5<br />

3 3 2 1 0 1 2 3 4<br />

4 4 3 2 1 0 1 2 3<br />

5 5 4 3 2 1 0 1 2<br />

6 6 5 4 3 2 1 0 1<br />

7 7 6 5 4 3 2 1 0<br />

Suma svih 64 ulaza je 168, tako da je:<br />

168<br />

Dsred = = 2,<br />

625<br />

64<br />

Vrednost 2,625 je veoma bl<strong>iz</strong>u vrednosti 8/3.<br />

Da bi general<strong>iz</strong>ovali postupak anal<strong>iz</strong>irajmo ponovo prethodnu tabelu. Anal<strong>iz</strong>u }emo po~eti od<br />

glavne dijagonale, i i}i prema gornjim i donjim dijagonalama.<br />

Prvo, na glavnoj dijagonali su sve nule. Dijagonala ispod glavne dijagonale ima sedam jedinica,<br />

ona ispod subdijagonale {est dvojki, i td. To zna~i da je zbir ulaza ispod glavne dijagonale:<br />

5-67


5-68<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

∑ − N 1<br />

i=<br />

1<br />

1(N-1)+2(N-2)+3(N-3)+...+1(N-1)= i * ( N − i)<br />

Ulazi <strong>iz</strong>nad glavne dijagonale imaju isti oblik, a to zna~i da je njihov zbir (suma) identi~an kao i<br />

prethodna suma. Na osnovu prethodnog, imamo da je:<br />

=<br />

N−1<br />

∑<br />

N−1<br />

∑<br />

i=<br />

1<br />

( N − i)<br />

i=<br />

1<br />

Dsred 2,625<br />

2<br />

(1)<br />

=<br />

2 *<br />

2<br />

N<br />

i *<br />

N<br />

2<br />

i −<br />

N<br />

Kako va`i, u op{tem slu~aju<br />

i:<br />

n<br />

∑<br />

i=<br />

1<br />

n<br />

∑<br />

i=<br />

1<br />

n<br />

i =<br />

i<br />

2<br />

n<br />

=<br />

( n + 1)<br />

2<br />

=<br />

N−1<br />

2<br />

∑i<br />

2<br />

i=<br />

1<br />

( n + 1)(<br />

2n + 1)<br />

zamenom (2) i (3) u (1) dobijamo:<br />

2<br />

N<br />

N<br />

6<br />

( N −1)<br />

2 N(<br />

N −1)(<br />

2N −1)<br />

Dsred =<br />

2<br />

D<br />

sred<br />

D sred<br />

2<br />

2N<br />

= N −1<br />

−<br />

=<br />

N<br />

3<br />

−<br />

lim Dsred<br />

=<br />

N −> α<br />

Zbog ovoga:<br />

t<br />

s<br />

= D<br />

sredt<br />

1<br />

3N<br />

N<br />

3<br />

N t<br />

≈<br />

3<br />

Proverom za N = 8 imamo<br />

N<br />

3<br />

−<br />

1<br />

3N<br />

=<br />

8<br />

3<br />

−<br />

1<br />

24<br />

= 2,625<br />

2<br />

+<br />

N<br />

− 3N −1<br />

3N<br />

a to odgovara vrednosti dobijenoj <strong>iz</strong> tabele.<br />

Test pitanje 5.53<br />

6<br />

Magnetna traka je du`ine 800 m. Zapis na traci se vr{i po 9 pisti. Traka prolazi ispod glave za zapis<br />

brzinom od 500 cm/s. Kolika treba da je linearna gustina zapisa na traci ako `elimo da ostvarimo<br />

brzinu prenosa od 10 7 bita/s? (b) Usvojimo da su podaci na traci organ<strong>iz</strong>ovani u blokove veli~ine 32<br />

kB. Razmak <strong>iz</strong>medju dva bloka je 1 cm. Koliko bajtova je mogu}e memorisati na traci?<br />

(2)<br />

(3)


Odgovor<br />

a) Gustina zapisa D jednaka je:<br />

brzina prenosa<br />

podataka<br />

u bajtovima<br />

D =<br />

brzina kretanja<br />

trake<br />

7<br />

7<br />

10 10<br />

3<br />

D = = = 2,<br />

5*<br />

10 bajta/cm<br />

3<br />

8*<br />

500 4*<br />

10<br />

b) du`ina svakog 32 kB-nog bloka podataka je<br />

32 * 10<br />

l =<br />

2,5*<br />

10<br />

3<br />

3<br />

≈ 12,8 cm<br />

5. Memorije<br />

Maksimalan broj bajtova koji mo`e da se memori{e na traci du`ine 800 m, pod uslovom da se ceo<br />

dostupan prostor koristi za memorisanje podataka, <strong>iz</strong>ra~unava se kao:<br />

ukupan broj blokova podataka<br />

=<br />

ukupna du`ina<br />

du`ina jednog bloka<br />

800m<br />

=<br />

( 0,128 + 0,01)<br />

=<br />

m<br />

+<br />

800<br />

0,138<br />

ukupan broj bajtova = 5800*32 000 = 1,856*10 7 bajtova<br />

Zadatak 5.26<br />

trake<br />

razmak <strong>iz</strong>m. blokova<br />

≈<br />

5800 blokova<br />

Ra~unar R1 ima ugradjen dvo-nivovski virtuelno-memorijski sistem. Vremena pristupa glavnoj<br />

memoriji M 1 i sekundarnoj memoriji M 2 <strong>iz</strong>nose 10 -6 i 10 -3 s, respektivno. Testiranjem je<br />

ustanovljeno da je prose~no vreme pristupa memorijskoj hijerarhiji 10 -4 s. Ovo vreme je<br />

neprihvatljivo duga~ko za najve}i broj aplikacija. Ukazati na najmanje dva na~ina pomo}u kojih je<br />

ovo vreme mogu}e smanjiti sa 10 -4 na 10 -5 s, i dati komentar u vezi cene, kako sa hardverske tako i<br />

softverske ta~ke gledi{ta.<br />

Odgovor<br />

Ukaza}emo na tri na~ina na koje je mogu}e smanjiti t A sa 10 -4 na 10 -5 s.<br />

(1) Pove}anje stope pogodaka H: ovo se mo`e ostvariti pobolj{anjem algoritma memorijskog<br />

preslikavanja (memory mapping algorithm). Tipi~no se to <strong>iz</strong>vodi kori{}enjem bolje politike<br />

zamene stranica ili promenom du`ine stranice. Cena koja mora da se plati je uglavnom<br />

softverska. ^esto je mogu}e pove}ati H pove}anjem kapaciteta glavne memorije, a to direktno<br />

zna~i da se pove}ava cena hardvera. Prvo odredimo teku}u vrednost za H na osnovu relacije<br />

t A = H t A1 + (1 - H) t A2 (1)<br />

gde je t A = 10 -4 , t A1 = 10 -6 , a t A2 = 10 -3<br />

Preuredjenjem po H dobi}emo:<br />

H = (t A - t A2)/(t A1 - t A2) (2)<br />

= (10 -4 - 10 -3 )/(10 -6 - 10 -3 )<br />

= 0,901.<br />

5-69


5-70<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Da bi se dobilo prose~no vreme pristupa t A = 10 -4 potrebno je pove}ati H na H', tako da je:<br />

H' = (10 -5 - 10 -3 )/(10 -6 - 10 -3 )<br />

= 0,991.<br />

To zna~i da `eljeno smanjenje vremena pristupa t A sa 10 -4 na 10 -5 neminovno dovodi do<br />

pove}anja stope pogodaka H sa 0,901 na 0,991.<br />

(1) Smanjenjem t A2 - mogu}e je zameniti sekundarnu memoriju sa uredjajem ~ije je vreme pristupa<br />

kra}e. Na ovaj na~in u zna~ajnoj meri se pove}ava cena hardvera (Slika 5.65).<br />

vreme<br />

pristupa tA (s)<br />

100<br />

10<br />

1<br />

10 -1<br />

10 -2<br />

10 -3<br />

10 -4<br />

10 -5<br />

10 -6<br />

10 -7<br />

10 -8<br />

10 -9<br />

10 -10<br />

10 -9<br />

Preuredjenjem jedna~ine (1) dobija se:<br />

t A2 = (t A - H t A1)(1 - H)<br />

magnetne trake<br />

10 -8<br />

opti~ki diskovi (CD-ROM i dr)<br />

10 -7<br />

magnetni diskovi<br />

(hard-disk)<br />

10 -6<br />

10 -5<br />

Slika 5.65 Vreme pristupa u odnosu na tehnologiju<br />

ako bi u~inili t A = 10 -4 , tada je neophodno da i t A2 bude:<br />

t A2 = (10 -4 - 0,901 * 10 -6 )/(1 - 0,901)<br />

≈ 10 -4<br />

DRAM integrisana kola<br />

SRAM integrisana kola<br />

cena c<br />

(dolara po bitu)<br />

Ovo re{enje ukazuje da je neophodno smanjiti t A2 za faktor reda 10, tj. sa 10 -3 na 10 -4 .<br />

(2) Smanjenje t A1 - mogu}e je smanjiti t A . Ovaj slu~aj se javlja kada se glavna memorija real<strong>iz</strong>uje<br />

br`om tehnologijom.<br />

Preuredjenjem jedna~ine (1) dobi}emo<br />

t A1 = (t A + (1 - H) t A2)/H (3)


5. Memorije<br />

Zamenom za t A = 10 -5 , H = 0,901 i t A2 = 10 -3 u (3), dobi}emo: za t A1 = - 0,998 * 10 -6 , tj.<br />

negativnu vrednost. To zna~i da je nemogu}e ostvariti `eljenu vrednost za t A od 10 -4 ugradnjom<br />

br`ih memorijskih ~ipova.<br />

Zadatak 5.27<br />

Dvo-nivovsku organ<strong>iz</strong>aciju memorije (M 1 i M 2) karakteri{e vreme pristupa t A1 = 10 -8 s i t A2=10 -3 s.<br />

Kolika treba da bude stopa pogodaka H da bi efikasnost pristupa bila ne manja od 65% od svoje<br />

maksimalne vrednosti?<br />

Odgovor<br />

Efikasnost pristupa l je definisana odnosom t A1/t A. Da bi dobili l = 0,65 potrebno je da:<br />

t A = t A1/l<br />

= 10 -8 /0,65<br />

= 1,53846 * 10 -8 s.<br />

Na osnovu relacije:<br />

dobijamo:<br />

t A = H t A1 + (1 - H)t A2<br />

H = (t A - t A2)/(t A1 - t A2)<br />

= (1,53486 * 10 -8 - 10 -3 )/(10 -8 - 10 -3 )<br />

= 0,999846.<br />

To zna~i da stopa pogodaka mora biti H ≥ 0,999846, da bi l ≥ 0.<br />

Zadatak 5.28<br />

Kod n-to nivovske organ<strong>iz</strong>acije memorije, stopa pogodaka H i koja je pridru`ena memoriji M i na<br />

nivou i, mo`e se definisati preko verovatno}e da informacija koju zahteva CPU bude dodeljena<br />

memoriji M i. Ako usvojimo da se sva informacija, koja se ~uva u M i , takodje, javlja i u M i +1, tada<br />

va`i uslov H 1 < H 2


5-72<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Zadatak 5.29<br />

Hijerarhijska struktura memorije ra~unara C1 organ<strong>iz</strong>ovana je u ~etiri nivoa, ozna~ena kao M 1, M 2,<br />

M 3 i M 4, sa odgovaraju}om stopom pogodaka od 0,8, 0,9, 0,99 i 1, respektivno. Neka se u toku<br />

<strong>iz</strong>vr{enja programa Q obra}anje memoriji vr{i 3000 puta. Odrediti ta~an broj obra}anja memoriji R i<br />

koja se obave u toku <strong>iz</strong>vr{enja programa Q, a odnose se na nivo M i.<br />

Odgovor<br />

Neka I = 3000 bude ukupan broj obra}anja memoriji od strane programa Q, i neka H i bude stopa<br />

pogodaka memorije M i. U op{tem slu~aju za broj obra}anja memoriji R i va`i <strong>iz</strong>raz:<br />

gde je H 0 = 0.<br />

R i = (H i - H i-1) I ,<br />

Za konkretan primer ima}emo:<br />

R 1 = 0,80 * 3000 = 2400<br />

R 2 = (0,95 - 0,80) * 3000 = 450<br />

R 3 = (0,99 - 0,95) * 3000 = 120<br />

R 4 = (1,0 - 0,99) * 3000 = 30<br />

Napomena: Treba naglasiti da je ∑R i = I.<br />

Zadatak 5.30<br />

Ostatak-stope-pogodaka - RH i nivoa M i, kod hijerarhijski organ<strong>iz</strong>ovanog memorijskog <strong>sistema</strong>, se<br />

defini{e kao odnos broja zahteva za pristup, koji u su{tini dolaze do M i, prema broju zahteva koje<br />

M i zadovoljava . To zna~i da je RH i


5. Memorije<br />

pristupa t A(s) p i stranice t Bi(s)<br />

M 1 10 -7 0,999990 0,0005<br />

M 2 10 -6 0,000009 0,01<br />

M 3 10 -4 0,000001<br />

Kada se na nivou M i javi proma{aj, dolazi do zamene stranice <strong>iz</strong>medju nivoa M i i M i+1, uz prose~no<br />

vreme zamene stranice t Bi.<br />

(a) Odrediti prose~no vreme za koje procesor pro~ita jednu re~ <strong>iz</strong> memorije.<br />

(b) Neka se projektantu da zahtev da u~inimo da t A


5-74<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

ke{ 1 16 kB 10 -3 10 ns 0,990000<br />

ke{ 2 256 kB 10 -5 20 ns 0,999900<br />

glavna memorija 32 MB 10 -6 100 ns 0,999999<br />

disk memorija 8 GB 10 -9 10 ns 1,000000<br />

b) Neka je, zbog ekonomskih razloga, drugi nivo ke{a eliminisan <strong>iz</strong> <strong>sistema</strong>. Odrediti rezultuju}i<br />

procenat promena koji se odnosi na cenu <strong>sistema</strong> i vreme pristupa.<br />

Odgovor<br />

Neka za memoriju M i vrednosti c i i S i ozna~avaju cenu po bitu i kapacitet, respektivno. Prose~na<br />

cena po bitu -c, se odredjuje na osnovu slede}e relacije:<br />

c = (c 1S 1 + c 2S 2 + c 3S 3 + c 4S 4)/(S 1 + S 2 + S 3 + S 4) (6)<br />

= (10 -3 * 2 14 + 10 -5 * 2 18 + 10 -6 *2 25 +10 -9 *2 33 )/(2 14 + 2 18 + 2 25 + 2 33 )<br />

= (16,38 + 2,62 + 33,55 + 8,59)/(8,62 * 10 9 )<br />

= 7,09 * 10 -9 dolara/bajtu<br />

Na osnovu prezentiranih podataka, stopa pogodaka H i se mo`e interpretirati kao verovatno}a da<br />

re~ kojoj se obra}amo postoji (nalazi se) u memoriji nivoa i, tj. M i. Re~i koja se nalazi na nivou<br />

M i se pristupa samo kada ista nije dodeljena nivou M j, pri ~emu va`i j < i.<br />

Neka p i predstavlja verovatno}a da }e se obra}anje memoriji procesirati od strane nivoa M i.<br />

Sledi da je p i = H i - H i-1, gde H 0 = 0. Shodno prethodnoj konstataciji, ima}emo da je:<br />

t A = p 1t A1 + p 2t A2 + p 3t A3 + p 4t A4.<br />

Odgovaraju}om zamenom za p i, i=1,..., 4, dobi}emo:<br />

t A = (H 1 - H 0)t A1 + (H 2 - H 1)t A2 + (H 3 - H 2)t A3 + (H 4 - H 3)t A4 (7)<br />

= 0,99 * 10 -8 + 0.0099 * 2 10 -8 + 0,00099 * 10 -7 + 0,000001 * 10 -2 s<br />

= (0,99 + 0,0198 + 0,00099 + 0,1) * 10 -8 s<br />

= 1,11079 * 10 -8 s = 11,11 ns<br />

b) ako se <strong>iz</strong>ostavi nivo-2 ke{ M 1 na osnovu jedna~ine (6) dobijamo:<br />

c = (10 -3 * 2 14 * 10 -6 * 2 25 + 10 -9 * 2 33 )/(2 14 + 2 25 + 2 33 )<br />

= (16,38 + 33,55 + 8,59)/(8,62 * 10 9 )<br />

= 6,79 * 10 -9 dolara/bajt.<br />

Uo~ava se smanjenje cene sa 7,09 * 10 -9 dolara/bajtu na 6,79 * 10 -9 dolara/bajtu {to <strong>iz</strong>nosi oko<br />

4,2 %. Zbog eliminacije ke{a na nivou-2, na osnovu jed. (7), ima}emo:<br />

t' A = (H 1 - H 0)t A1 + (H 3 - H 1)t A3 + (H 4 - H 3)t A4<br />

= 0,99 * 10 -8 + 0,009999 * 10 -7 + 0,0000001 * 10 -2 s<br />

= (0,99 + 0,09999 + 0,1) * 10 -8 s<br />

= 1,18999 * 10 -8 s = 11,90 ns<br />

Prose~no vreme pristupa se pove}alo sa 11,11 ns na 11,90 ns, ili procentualno za oko 7%, za<br />

slu~aj kada ke{ nivoa-2 ne postoji, tj. nije instaliran.


5. Memorije<br />

Zadatak 5.33<br />

Anal<strong>iz</strong>irajmo trag (trejs) adresa stranica koji je generisan od strane dvo nivovske {eme ke{-glavna<br />

memorija. [ema koristi strani~enje po zahtevu, a ima kapacitet ke{a od ~etiri stranice.<br />

1 6 4 5 1 4 3 2 1 2 1 4 6 7 4 1 3 1 7<br />

Usvojimo da postoji vru}i (hot) start, tako da su ke{u inicijalno dodeljene strnice 1, 2, 3, i 4.<br />

Koja od politika zamene stranica FIFO ili LRU je pogodnija za ovaj slu~aj?<br />

Odgovor<br />

Simulacije koje se odnose na politike zamene FIFO i LRU prikazane su na Slici 5.66. Usvojeno je,<br />

inicijalno, da su sve stranice napunjenje u ke{ u slede}em redosledu: 1 (prva), 2, 3 i 4 (zadnja).<br />

LRU ima za tre}inu ve}i broj pogodaka od FIFO. Simulacija prikazuje da FIFO ponekad isprazni<br />

na kratko stranicu pre nego {to joj se ponovo obrati, ali to je jednostavno zbog toga {to je to<br />

stranica koja je najdu`e boravila (bila) u ke{u, dok, sa druge strane, LRU je zadr`ava jer je do<br />

pogodka bio skoro do{lo.<br />

vreme t 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 broj pogodaka<br />

stranica<br />

FIFO<br />

pogoci<br />

LRU<br />

pogoci<br />

1 6 4 5 1 4 3 2 1 2 3 4 7 4 1 3 1 7<br />

1 2 2 3 4 4 6 5 5 5 5 1 3 3 2 7 7 7<br />

2 3 3 4 6 6 5 1 1 1 1 3 2 2 4 4 4 4<br />

3 4 4 6 5 5 1 3 3 3 3 2 4 4 7 1 1 1<br />

4 6 6 5 1 1 3 2 2 2 2 4 7 7 1 3 3 3<br />

x x x x x x x x x 9<br />

2 3 3 1 6 6 5 1 4 4 4 1 2 2 3 7 7 4<br />

3 4 1 6 4 5 1 4 3 3 1 2 3 3 7 4 4 3<br />

4 1 6 4 5 1 4 3 2 1 2 3 4 7 4 1 3 1<br />

1 6 4 5 1 4 3 2 1 2 3 4 7 4 1 3 1 7<br />

x x x x x x x x x x x x 12<br />

Slika 5.66 Simulacija traga (trejs-a) koji se odnosi na adresu stranice koriste}i FIFO i LRU politike<br />

zamene<br />

Zadatak 5.34<br />

Izvr{iti projektovanje ~etvorostruko, skupno-asocijativnog ke{a, uzimaju}i kao model 8 kB<br />

dvostruko skupno-asocijativne ke{ memorije prikazane na Slici 5.67. Projektovana ke{ memorija<br />

treba da ima slede}e karakteristike: kapacitet ke{a 64 kB; obim sistemske magistrale 32-bita.<br />

Odgovor<br />

Struktura ~etvorostruke skupno-asocijativne ke{ memorije prikazana je na Slici 5.68. Anal<strong>iz</strong>iraju}i<br />

Sliku 5.67 i Sliku 5.68, mo`emo zaklju~iti slede}e:<br />

32-bitna memorijska adresa S se interpretira na slede}i na~in:<br />

• 5 LS bitova odnose se na deo razme{taja adrese A kojim se identifikuje bajt u okviru 32bajtnog<br />

bloka<br />

5-75


5-76<br />

CPU<br />

20<br />

9<br />

Upravlja~ka<br />

logika<br />

memorije za<br />

upis/~itanje<br />

64<br />

Tag<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

512 x 20<br />

tag RAM T 0<br />

512 x 20<br />

tag RAM T 1<br />

20-bitni<br />

tag komparator C 1<br />

Adresa skupa<br />

Adresa memorije 20 9 3<br />

Adresa skupa<br />

Ke{ tag memorija<br />

A<br />

D<br />

Adresna magistrala 32<br />

512 x 64 RAM<br />

podataka D 0<br />

D<br />

512 x 64 RAM<br />

podataka D1 D<br />

20-bitni<br />

tag komparator C 0<br />

uparenost uparenost<br />

Magistrala podataka<br />

Razme{taj<br />

Ke{ memorija za<br />

podatke<br />

A CS<br />

CS<br />

D<br />

Glavna<br />

memorija<br />

Slika 5.67 Model 8 kB dvostruko skupno-asocijativne ke{ memorije nekog mikroprocesora<br />

CPU<br />

Tag<br />

9 Adresa skupa 12<br />

TAG ke{ memorija Ke{ podataka<br />

18<br />

Upravlja~ka<br />

logika<br />

memorije<br />

za<br />

upis/~itanje<br />

T3<br />

T2<br />

T1<br />

T0<br />

A<br />

Tag<br />

comparator C0<br />

D<br />

D<br />

D<br />

512x18-bit<br />

tag RAM<br />

uparenost<br />

D<br />

Tag<br />

comparator C1<br />

uparenost<br />

Magistrala podataka<br />

Tag<br />

comparator C2<br />

Adresna magistrala 32<br />

D3<br />

D2<br />

D1<br />

uparenost<br />

D<br />

D<br />

D<br />

D0<br />

D<br />

4Kx32-bit<br />

A RAM podataka<br />

32<br />

Tag<br />

comparator C3<br />

uparenost<br />

Slika 5.68 ^etvorostruka skupno-asocijativna ke{ memorija<br />

Glavna<br />

memorija


5. Memorije<br />

• postoje ukupno 64 k/32 = 2 11 = 2048 blokova koji se ~uvaju (memori{u) u ke{<br />

• ke{evi su podeljeni na 512 skupova, pri ~emu svaki skup memori{e po ~etiri bloka koriste}i<br />

skupno asocijativno adresiranje u okviru skupa.<br />

• devet bitova <strong>iz</strong> A formira adresu skupa, dok ostalih 18 bitova tag adresu<br />

• uporedjivanje se vr{i tag komparatorima C 0,..., C 3.<br />

• tag memorija se implementira pomo}u ~etiri RAM-a, T 0,...,T 3, svaki kapaciteta 512 * 18<br />

bitova<br />

• postoje ukupno ~etiri RAM-a podataka, D0,...,D3, svaki kapaciteta 4 k * 32 bita<br />

Test pitanje 5.54<br />

Ra~unarski sistem ~ija je realna memorija veli~ine 2 32 bajtova koristi osmostruku skupnoasocijativnu<br />

memoriju. Obim linije je 16-bajtova, a skup ~ine 2 10 linija. Odrediti obim ke{a i du`inu<br />

tag-a.<br />

Odgovor<br />

obim ke{a = broj skupova * broj blokova po skupu * broj bajtova po bloku<br />

U konkretnom slu~aju:<br />

obim ke{a = 8 * 2 **10 * 16<br />

= 128 kB<br />

Ako usvojimo da se koristi 32-bitna memorijska adresa, ona }e sadr`ati: (a) adresni tag; (b) 10bitnu<br />

adresu skupa; i (c) 4-bitnu bajt adresu.<br />

Prema tome, adresni tag bi}e obima 32-(10 + 4) = 18 bitova.<br />

Zadatak 5.35<br />

Na Slici 5.69 prikazana je struktura 256 kB direktno preslikane ke{ memorije. Projektant, koriste}i<br />

model sa Slike 5.69, treba da projektuje novi ke{ (koriste}i isti model kao onaj na Slici 5.69) koji<br />

ima slede}e karakteristike:<br />

a) kapacitet ke{a treba da je 64 kB,<br />

b) obim ke{ bloka 32 B,<br />

c) obim sistemske magistrale 32-bita.<br />

Odgovor<br />

Zahtevani 16 k * 32-bitni ke{ mo`e se real<strong>iz</strong>ovati pomo}u ~etiri SRAM ~ipova kapaciteta 16k * 8<br />

bitova (Na Slici 5.69 prikazan je SRAM 71286 ~iji je kapacitet 32 k * 8).<br />

U odnosu na Sliku 5.69, kod novog re{enja, adresu skupa treba smanjiti sa 13 na 12-bita. Isti<br />

zaklju~ak va`i i za adresu razme{taja koja adresira bajt u okviru bloka, tj. treba je redukovati sa 5<br />

na 2 bita.<br />

Za obim adresnog taga preostaje 18 bitova, a to zna~i da ako se koristi ceo adresni prostor od 2 32<br />

memorijskih bajtova, potrebno je ugraditi tri ke{-tag RAM integrisana kola tipa 71B74.<br />

Magistrala podataka treba da je 32-bitna.<br />

Osim navedenih <strong>iz</strong>mena, ostali detalji su identi~ni kao oni na Slici 5.69.<br />

5-77


5-78<br />

CPU<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Memorijska<br />

adresa<br />

14 13 5<br />

14 13 Adresa skupa 5<br />

64<br />

8K x 14<br />

ke{ tag<br />

RAM<br />

(2x71B74)<br />

Adresa magistrale<br />

Adresa skupa Razme{taj<br />

32K x 64<br />

ke{ data<br />

RAM<br />

(8x71256)<br />

D MATCH D<br />

Upravlja~ka logika<br />

memorije za upis/~itanje<br />

Magistrala podataka<br />

32<br />

Adresa re~i podataka u<br />

memoriji<br />

Slika 5.69 Struktura 256 kB direktno-preslikani ke{<br />

64<br />

Glavna<br />

memorija<br />

Test pitanje 5.55<br />

Kod <strong>sistema</strong> prikazanog na Slici 5.69 <strong>iz</strong>vr{ena je modifikacija. Naime, adresne linije su ozna~ene<br />

kao A0 : A31, pri ~emu je A0 MS - a ne LS adresni bit. Idenitifikovati koje se adresne linije kod<br />

modifikovanog re{enja koriste za adresiranje ke{ RAM-a podataka.<br />

(a) Neka se podatak obima re~ prenosi po sistemskoj magistrali za 15 ns. Proceniti koliko vremena<br />

je potrebno da se sistem u potpunosti odazove na memorijski pristup kada dodje do ke{<br />

proma{aja.<br />

Odgovor<br />

(a)<br />

(b)<br />

• Na osnovu oznaka sa Slike 5.69, zaklju~ujemo da adresni bitovi A14 : A26 formiraju 13bitnu<br />

adresu skupa,<br />

• narednih pet bitova - A27 i A31, koriste se za adresiranje re~i u okviru bloka,<br />

• bitovi A0 : A13 se koriste kao tag adresa<br />

Jedinstveni osmo bajtovski prenos podataka po sistemskoj magistrali podataka se ostvaruje<br />

za 15 ns. Da bi se sistem odazvao na ke{ proma{aj, generi{e se ~etvorostruki prenos<br />

podataka tipa burst mode (prenose se 8 * 4 = 32 B) pa se na taj na~in popunjava ke{ blok.<br />

Vreme potrebno da se ostvari ovaj prenos <strong>iz</strong>nosi 4 * 15 = 60 ns.<br />

Test pitanje 5.56<br />

Memorijski sistemi se karakteri{u vi{e-nivovskom, hijerarhijskom organ<strong>iz</strong>acijom. Cilj ovakve<br />

organ<strong>iz</strong>acije je da ostvari (postigne) dobar kompromis <strong>iz</strong>medju cene, kapaciteta memorije i<br />

performanse ukupnog memorijskog <strong>sistema</strong>.


5. Memorije<br />

Op{tu strukturu n-nivovskog <strong>sistema</strong> ~ine n razli~itih tipova memorije. Nacrtati blok dijagrame<br />

standardnih hijerarhijskih organ<strong>iz</strong>acija memorije za n = 2, 3 i 4, i ukazati od kojih se tipova<br />

memorije real<strong>iz</strong>uju odgovaraju}i nivoi.<br />

Odgovor<br />

I - Tok instrukcije<br />

D – Tok podataka<br />

CPU<br />

CPU<br />

I<br />

D<br />

Ke{<br />

nivoa 1<br />

I-ke{<br />

CPU<br />

D-ke{<br />

M 1<br />

Ke{<br />

nivoa 2<br />

Za real<strong>iz</strong>aciju odgovaraju}eg nivoa M i koristi se tip:<br />

• SRAM za ke{ memorije<br />

• DRAM za glavnu memoriju<br />

I<br />

D<br />

M1<br />

I<br />

D<br />

M2<br />

I<br />

D<br />

I<br />

D<br />

Glavna<br />

memorija<br />

M1<br />

Glavna<br />

memorija<br />

M 3<br />

I<br />

D<br />

I<br />

Glavna<br />

memorija<br />

I<br />

D<br />

D<br />

M2<br />

I<br />

D<br />

Sekundarna<br />

memorija<br />

M2<br />

Sekundarna<br />

memorija<br />

M 3<br />

Sekundarna<br />

memorija<br />

Slika 5.70 Hijerarhijska organ<strong>iz</strong>acija memorije<br />

a) dvo-nivovska; b) tro-nivovska; c) ~etvoro-nivovska<br />

• magnetna-disk jedinica za sekundarnu memoriju<br />

Test pitanje 5.57<br />

Kakve relacije postoje <strong>iz</strong>medju susednih memorijskih nivoa M i i M i+1 kod hijerarhijske organ<strong>iz</strong>acije<br />

memorije prikazane na slici 5.70<br />

Odgovor<br />

• cena po bitu c i > c i+1<br />

• vreme pristupa t Ai < t Ai+1<br />

• kapacitet memorisanja S i < S i+1<br />

M4<br />

5-79


5-80<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Test pitanje 5.58<br />

Da li kod hijerarhijske organ<strong>iz</strong>acije memorije, prikazane na Slici 30, CPU mo`e direktno da<br />

komunicira sa memorijom nivoa M i?<br />

Odgovor<br />

CPU mo`e direktno da komunicira samo sa M 1, M 1 da komunicira sa M 2 itd. Drugim re~ima, da bi<br />

CPU pro~itao informaciju koja se ~uva na nivou M i potrebno je da se ostvari sekvenca od i prenosa<br />

podataka koja ima oblik:<br />

M i-1 := M i; M i-2 := M i-1; M i-3 := M i-2 ;...; M 1 := M 2; CPU := M 1<br />

Izuzetak je dozvoljen kod manipulacije sa ke{om. Naime, CPU je projektovan da premosti ke{<br />

nivo(e) i da se obrati direktno memoriji. U op{tem slu~aju, sva informacija koja se u datom<br />

trenutku nalazi na nivou M i prisutna je i na nivou M i+1, ali ne i suprotno.<br />

Test pitanje 5.59<br />

Cilj hijerarhijske organ<strong>iz</strong>acije memorije, {to se vremena pristupa ti~e, je da se postignu performanse<br />

koje su veoma bliske najbli`oj memorijskog komponenti M 1 i, a kada se posmatra cena po bitu i<br />

kapacitet memorisanja, ostvare mogu}nosti memorijske komponente M n. U su{tini, performanse<br />

memorijskog <strong>sistema</strong> zavise od velikog broja faktora, identifikovati najva`nije.<br />

Odgovor<br />

• Statisti~ka evidencija o adresnim obra}anjima, tj. redosled i u~estanost generisanja logi~kih<br />

adresa od strane programa koji koriste memorijsku hijerarhiju.<br />

• Vreme pristupa t Ai, za svaki nivo M i - relativno u odnosu na CPU.<br />

• Kapacitet memorisanja S i svakog nivoa.<br />

• Obim S pi bloka (stranica) koji se prenosi <strong>iz</strong>medju susednih nivoa.<br />

• Algorirtam dodele (alokacije) koji se koristi da odredi memorijske oblasti u kojima se<br />

prenose blokovi od strane procesa (zadatka) koji obavlja medjusobnu razmenu (swapping)<br />

blokova.<br />

Test pitanje 5.60<br />

Za dvo-nivovski memorijsko hijerarhijski model koga }emo ozna~iti sa (M 1, M 2), i koji se mo`e<br />

interpretirati kao ke{ - glavna memorija, ili glavna memorija - sekundarna memorija, ukazati na<br />

relacije na osnovu kojih se odredjuje:<br />

a) prose~na cena po bitu memorije - c,<br />

b) stopa ke{ pogodaka - H,<br />

c) prose~no vreme pristupa - t A,<br />

d) efikasnost pristupa - e,<br />

e) iskori{}enost prostora - u.<br />

Odgovor


(a)<br />

c1S1<br />

+ c 2S<br />

c =<br />

S + S<br />

1<br />

2<br />

2<br />

5. Memorije<br />

gde c i ozna~ava cena po bitu (cost-per-bit) za M i, a S i predstavlja kapacitet memorisanja u<br />

bitovima za M i.<br />

(b) Performanse dvo-nivovske organ<strong>iz</strong>acije ~esto se <strong>iz</strong>ra`avaju zavisnosti od stope-pogodaka H<br />

(hit-ratio H). Stopa-pogodaka se defini{e kao verovatno}a da se virtuelnom adresom<br />

generisanom od strane CPU-a, obra}amo informaciji koja je teku}e memorisana u najbr`oj<br />

memoriji M 1. Imaju}i u vidu da se obra}anje memoriji M 1 (pogodak) mo`e ostvariti za mnogo<br />

kra}i period od obra}anja memoriji M 2 (proma{aj), cilj je da stopa pogodaka - H bude {to je<br />

mogu}e bli`a jedinici. U op{tem slu~aju, stopa pogodaka se odredjuje eksperimentalno na<br />

slede}i na~in. Izvr{ava se ili simulira rad skupa reprezentativnih programa. Broji se broj<br />

adresnih obra}anja N 1 i N 2 koji se odnosi na obra}anje memorijama M 1 i M 2, respektivno. Stopa<br />

pogodaka H se <strong>iz</strong>ra~unava na slede}i na~in:<br />

N1<br />

H =<br />

N + N<br />

1<br />

2<br />

Treba naglasiti da H jako zavisi od tipa programa. Veli~ina 1-H naziva se stopa-proma{aja<br />

(miss-ratio).<br />

(c) Neka t A1 i t A2 predstavljaju vreme za pristup memorijama M 1 i M 2, respektivno, relativno u<br />

odnosu na CPU. Kod dvo-nivovske memorijske organ<strong>iz</strong>acije, prose~no vreme pristupa t A<br />

(average time t A) CPU-a nekoj re~i u memoriji <strong>iz</strong>nosi:<br />

t A = H t A1 + (1 - H) t A2<br />

Kod najve}eg broja dvo-nivovske hijerarhijske {eme, zahtev za prenosom re~i koja se ne nalazi<br />

u M 1 (javi se proma{aj) uzrokuje da se, umesto jedne re~i, prenese ceo blok informacije <strong>iz</strong> M 2 u<br />

M 1. Kada se prenos bloka zavr{i, re~ za kojom je <strong>iz</strong>dat zahtev za prenos nalazi se u M 1. Ako sa<br />

t B ozna~imo vreme potrebno da se <strong>iz</strong>vr{i prenos celog bloka podataka (block access ili block<br />

transfer time), tada va`i da je t A2 = t B + t A1. Kada se t A2 zameni u t A dobi}emo:<br />

t A = t A1 + (1 - H) t B<br />

Kod najve}eg broja slu~ajeva t A2 >> t A1, pa t A2 » t B.<br />

(d) Ozna~imo sa r + t A2/t A1 odnos vremena pristupima memorijama M 2 i M 1.<br />

Neka e = t A1/t A, predstavlja faktor koji ukazuje na to za koliko se t A razlikuje od najkra}eg<br />

(minimalnog) vremena pristupa t A1. Vrednost e nazva}emo efikasnost pristupa (access<br />

efficiency) dvo-nivovske memorije. Iz relacije:<br />

t A = H t A1 + (1 - H)t A2<br />

deobom leve i desne strane sa t A1 i sredjivanjem, dobijamo:<br />

1<br />

e =<br />

r + ( 1 − r)H<br />

Na Slici 5.71 prikazana je zavisnost e u funkciji H za razli~ite vrednosti r kao perametar. Tako<br />

na primer, za r = 100, da bi e > 0,9 potrebno je da H > 0,998.<br />

5-81


5-82<br />

efikasnost<br />

pristupa<br />

e<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

1,0<br />

0,8<br />

0,6<br />

0,4<br />

0,2<br />

r=1<br />

r=2<br />

r=10<br />

r=100<br />

0,2 0,4 0,6 0,8 1,0<br />

stopa pogodaka H<br />

Slika 5.71 Efikasnost pristupa e + t A1/t A kod dvo-nivovske memorije u funkciji stope pogodaka H za<br />

razli~ite vrednosti r = t A2/t A1<br />

(e) Organi~enje kod instaliranja ve}eg <strong>iz</strong>nosa memorije u ra~unarskom sistemu uglavnom se ogleda<br />

u ceni. Zbog ovoga, po`eljno je da imamo {to je mogu}e manje neiskori{}ene memorije.<br />

Efikasnost, kao mera koja ukazuje na to kako se u datom trenutku koristi memorijski prostor,<br />

defini{e se kao odnos memorijskog prostora S u zauzetog od strane k "aktivnih" ili "korisnih"<br />

programa i podataka, u odnosu na ukupni <strong>iz</strong>nos dostupne memorije.<br />

Ovaj odnos se naziva iskori{}enost prostora - u (space util<strong>iz</strong>ation) i definisana je kao:<br />

Su<br />

u =<br />

S<br />

S obzirom da se prostoru memorije M 1 ~e{}e obra}amo nego prostoru M 2, opravdanije je meru<br />

u definisati u odnosu na M 1.<br />

Do gubitka prostora memorije M 1 dolazi uglavnom <strong>iz</strong> slede}ih razloga:<br />

• Fragmentacija memorije ~esto uzrokuje da se javi neiskori{}eni prostor (empty regions).<br />

• Neiskori{}ene oblasti - ~esto se podaci kao deo stranice prenose <strong>iz</strong> M 2 u M 1, a zatim ponovo u<br />

M 2, a da se pri tome nismo obratili njima. U su{tini, suvi{ni prenosi su ne<strong>iz</strong>be`ni jer skoro je<br />

nemogu}e u celosti predvideti kojim }e se adresama vr{iti obra}anje.<br />

• Sistemske oblasti - ove oblasti su rezervisane za sistemski softver koji upravlja radom<br />

memorije.<br />

Test pitanje 5.61<br />

Koje zadatke sistem za upravljanje memorijom obavlja automatski?<br />

Odgovor<br />

(1) Translaciju memorijskih adresa <strong>iz</strong> virtuelnog adresnog prostora u kojem se program <strong>iz</strong>vr{ava, u<br />

realne memorijske adrese kojima se identifikuju f<strong>iz</strong>i~ke memorijske lokacije<br />

(2) Dinami~ku (re)alokaciju ili preme{tanje (swapping) informacije <strong>iz</strong>medju razli~itih memorijskih<br />

nivoa, tako da se memorisani delovi (stavke) nalaze u najbr`oj memoriji pre nego {to su oni<br />

potrebni (koriste se)


Test pitanje 5.62<br />

5. Memorije<br />

Kako se dele magnetni hard diskovi u odnosu na pristup medijumu za ~itanje i upis, sa aspekta<br />

kako glava pristupa pistama?<br />

Odgovor<br />

Serijske memorije, kakvi su magnetni hard diskovi, dele se na:<br />

• diskove koji imaju ve}i broj fiksno postavljenih upisno-~itaju}ih glava obi~no po jedna za<br />

pistu<br />

• diskove koji imaju jednu pokretnu glavu koja je zajedni~ka za ve}i broj pisti<br />

Test pitanje 5.63<br />

Kada se govori o magnetnim diskovima, ukazati na zna~enje slede}ih pojmova:<br />

• seek time - t s,<br />

• latencija - t L,<br />

• rotaciona latencija<br />

• blok podataka<br />

• brzina prenosa bloka podataka<br />

• prose~no vreme pristupa bloku podataka<br />

Odgovor<br />

• Prose~no vreme potrebno da se pomeri glava sa jedne piste na drugu naziva se seek time - t s, ili<br />

vreme pozicioniranja<br />

• Nakon {to se glava pozicionira na pisti, potrebno je da se ona pomeri na mesto gde je zapisana<br />

informacija i da dodje do kontakta glave i medijuma kako bi po~eo prenos podataka. U tom<br />

smislu karakteristi~no je prose~no vreme koje je potrebno da se ostvari ovaj pomeraj naziva se<br />

latencija - t L, memorije<br />

• Kod memorija kod kojih informacija rotira po kru`noj pisti, veli~ina t L se naziva rotaciona<br />

latentnost.<br />

• Kod sekvencijalnog zapisa, re~i se grupi{u u ve}e jedinice koje zovemo grupe. Sve re~i <strong>iz</strong> grupe<br />

se sme{taju u uzastopne lokacije tako da vreme potrebno da se pristupi celom bloku ~ini: vreme<br />

pozicioniranja i vreme latencije.<br />

• Brzina sa kojom se vr{i prenos informacija ka- ili sa piste, naziva se brzina prenosa podataka<br />

(data transfer rate).<br />

Prose~no vreme pristupa bloku podataka - t B, jednako je:<br />

tB = tS<br />

+<br />

1<br />

2r<br />

+<br />

n<br />

rN<br />

gde je: N - fiksni kapacitet re~i po pisti r - broj okretaja diska u sekundi; n - broj re~i po bloku<br />

podataka; t S - prose~no seek time;<br />

5-83


5-84<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Pro<strong>iz</strong>vod r N odgovara brzini prenosa podataka <strong>iz</strong> memorije i <strong>iz</strong>ra`ava se u re~/s. Nakon {to je<br />

upisno-~itaju}a glava pozicionirana na po~etak `eljenog bloka, podaci se prenose aproksimativno<br />

za n/(rN) sekundi. Prose~na latencija je 1/(2r) sekundi, a to odgovara vremenu potrebnom da se<br />

disk okrene za pola kruga. Kona~no, t S je prose~no vreme pozicioniranja glave na `eljenu pistu.<br />

Test pitanje 5.64<br />

Na Slici 5.72 prikazana je, na konceptualnom nivou, vi{enivovska hijerarhijska organ<strong>iz</strong>acija<br />

memorije kod jednog ra~unara. Ukazati na osnovne razlike koje postoje <strong>iz</strong>medju nivoa (M 1, M 2) i<br />

(M 2, M 3).<br />

Odgovor<br />

CPU ke{<br />

RF<br />

polje<br />

dvo-nivovska hijerarhija (M i-<br />

1, M i)<br />

M1<br />

glavna<br />

memorija<br />

M2<br />

sekundarna<br />

memorija<br />

Slika 5.72 Vi{enivovska hijerarhijska organ<strong>iz</strong>acija jednog ra~unara<br />

ke{-glavna memorija (M 1,M 2) glavna-sekundarna memorija<br />

(M 2, M 3)<br />

odnos tipi~nih vremena<br />

5/1 1000/1<br />

pristupa tA1/tAi-1 sistem za upravljanje<br />

uglavnom implementiran uglavnom implementiran<br />

memorijom<br />

hardverski<br />

softverski<br />

tipi~an obim stranice 8 B 4 kB<br />

pristup procesora drugom<br />

nivou Mi procesor mo`e direktno da<br />

pristupi M2 svi pristupi ka M3 se real<strong>iz</strong>uju<br />

preko M2 Test pitanje 5.65<br />

Koji su osnovni gradivni blokovi ke{a?<br />

Odgovor<br />

Osnovni gradini blokovi ke{ memorije su ke{ tag memorija i memorija podataka. Na~in njihovog<br />

sprezanja sa CPU-om prikazan je na slede}oj {emi:<br />

M3


Test pitanje 5.66<br />

ke{ tag memorija<br />

(direktorijum)<br />

5. Memorije<br />

pogodak<br />

memorija ke{a<br />

podataka<br />

adresa podaci<br />

upravlja~ki signali<br />

Koje dve osnovne sistemske organ<strong>iz</strong>acije ke{a postoje kod ra~unara?<br />

Odgovor<br />

Postoje dva na~ina organ<strong>iz</strong>acije ke{a ra~unara i ona su prikazana na slici 5.73.<br />

Kod look-aside re{enja (Slika 5.73 a)), na sistemsku magistralu se direktno povezuju ke{ i glavna<br />

memorija. Kod ovog re{enja CPU na po~etku ciklusa upisa/~itanje postavlja na adresnoj magistrali<br />

realnu adresu A i. i na taj na~in inicira ciklus pristup-memoriji. Ke{ M 1 odmah uporedjuje A i sa tag<br />

adresama koje se teku}e nalaze u njegovoj tag memoriji. Ako dodje do uparivanja u M 1, to zna~i da<br />

se javio ke{ pogodak, pristup se zavr{ava od strane operacije upis/~itanje, tako da glavna memorija<br />

M 2 ne u~estvuje u prenosu. Ako ne dodje do uparivanja sa A i, javlja se ke{ proma{aj, pa se tada<br />

`eljeni pristup zavr{ava od strane operacije ~itanje/upis koja je usmerena ka M 2. Kao odziv na ke{<br />

proma{aj, blok (linija, ulaz) podataka B j koji sadr`i i ciljnu adresu A i se prenosi <strong>iz</strong> M 2 u M 1. Ovaj<br />

prenos je brz, jer su blokovi kratki, SRAM je brz, a ceo prenos se ostvaruje u burst mode-u. Ke{<br />

implementira neku politiku zamene kao {to je LRU sa ciljem da odredi gde da smesti dolaze}i blok.<br />

Kada je neophodno, ke{ blok koji se zamenjuje od strane B j u M 1 sme{ta se u M 2. Uo~imo da ke{<br />

proma{aji, i pored toga {to su retki, rezultuju prenosom bloka <strong>iz</strong>medju M 1 i M 2, pa je za to vreme<br />

magistrala zauzeta, {to je ~ini nedostupnom za obavljanje drugih U/I operacija.<br />

Ne{to br`a, ali znatno skuplja organ<strong>iz</strong>acija ke{a prikazana je na Slici 5.73 b), a naziva se lookthrough.<br />

CPU komunicira sa ke{om preko magistrale (lokalne) koja je <strong>iz</strong>dvojena od glavne<br />

sistemske magistrale. Sistemska magistrala je dostupna za kori{}enje ostalim jedinicama (kao {to su<br />

U/I kontroleri) radi komuniciranja sa glavnom memorijom. Zbog toga, pristupi ke{u i pristupi<br />

glavnoj memoriji u kojima ne u~estvuje CPU mogu da se <strong>iz</strong>vr{avaju konkurentno. Nasuprot lookaside<br />

pristupu, kod look-through ke{a CPU automatski ne {alje sve zahteve za pristup memoriji ka<br />

glavnoj memoriji, nego se takvi zahtevi javljaju samo kada dodje do ke{ proma{aja. Look-through<br />

ke{ omogu}ava da lokalna magistrala koja povezuje M 1 i M 2 bude po obimu ve}a od sistemske<br />

magistrale, ~ime se ubrzava prenos podataka <strong>iz</strong>medju ke{a i glavne memorije. Na primer, ako je<br />

sistemska magistrala 32-bitna, a ke{ blok je obima 128 bitova = 16 bajtova (tipi~na vrednost), za<br />

povezivanje M 1 i M 2 se koristi 128-bitna magistrala podataka, koja obezbedjuje da se ceo ke{ blok<br />

prenese za jedan taktni interval. Glavni nedostatak look-through re{enja, pored <strong>iz</strong>razite slo`enosti,<br />

predstavlja du`i vremenski period koji je potreban memoriji M 2 da se odazove CPU-u kada se javi<br />

proma{aj.<br />

5-85


5-86<br />

Sistemska<br />

magistrala<br />

Sistemska<br />

magistrala<br />

CPU<br />

Test pitanje 5.67<br />

CPU<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

Pristu<br />

p<br />

ke{u<br />

[ta su "interleaving" memorije?<br />

Odgovor<br />

Pristup<br />

ke{u<br />

Pristup glavnoj<br />

memoriji<br />

Ke{<br />

M1<br />

Ke{<br />

kontroler<br />

Ke{<br />

M1<br />

a<br />

Zamena<br />

bloka<br />

Zamena bloka<br />

Pristup glavnoj<br />

memoriji<br />

b<br />

Kontroler<br />

glavne<br />

memorije<br />

Slika 5.73 Dve sistemske organ<strong>iz</strong>acije ke{a:<br />

(a) look-aside, i (b) look-through<br />

Glavna<br />

memorija<br />

M2<br />

Glavna<br />

memorija<br />

M2<br />

Predaja razli~itih adresa ve}em broju memorijskih modula tako da se n-uzajamno nepovezanim<br />

linijama koje pripadaju razli~itim memorijskim modulima mo`e simultano pristupati, zovemo<br />

memory interleaving. Pri ovome va`no je praviti razliku <strong>iz</strong>medju: (i) bloka uzastopnih lokacija<br />

kojima se pristupa simultano; i (ii) lokacije koje nisu uredjene a pristupa im se simultano pri ~emu<br />

se lokacije nalaze u razli~itim memorijskim modulima.<br />

Kod interleaving-a memorije memorijsko adresno polje se deli na dva dela. Jedno polje se koristi za<br />

selekciju lokacija u okviru memorijskih modula, a drugo za selekciju modula. Memorijski modul se<br />

mo`e selektovati pomo}u LS i MS adresnih bitova. Na slici 5.74 prikazana su oba adresna formata.


5. Memorije<br />

MS bit LS bit<br />

adresa u okviru modula adresa modula<br />

a) interleaving odredjen ni`im adresama<br />

adresa modula adresa u okviru modula<br />

b) interleaving odredjen vi{im adresama<br />

Slika 5.74 : Adresni formati kod interleaving-a<br />

Jedno tipi~no re{enje memorijskog interleaving-a koje se kod jedno-procesorskih <strong>sistema</strong> koristi za<br />

smanjenje efektivnog vremena pristupa memoriji prikazano je na sl. 5.75.<br />

000<br />

m<br />

.<br />

.<br />

.<br />

modul 1<br />

Test pitanje 5.68<br />

CPU<br />

kontroler memorije<br />

001 m-1<br />

m+1 2m-1<br />

.<br />

.<br />

.<br />

...<br />

modul 2 modul m<br />

Slika 5.75 : Interleaved memorija<br />

Kako se vr{i distribucija adresa kod interleaved memorije?<br />

Odgovor<br />

Distribucija memorijskih adresa po <strong>iz</strong>dvojenim memorijskim modulima, shodno adresnim<br />

formatima sa slike 5.74, prikazana je na slici 5.76. Alternativno, umesto termina adresnog formata<br />

interleaving-odredjen-vi{im-adresama koristi se termin grubi-interleaving (coarse interleaving) a<br />

umesto termina interleaving-odredjen-ni`im-adresama koristi se termin fini-interleaving (fine<br />

interleaving).<br />

Izbor grubog ili finog inteleaving-a zavisi od tipa spre`ne mre`e. Fini-interleaving je efikasniji kod<br />

magistralno orijentisanih arhitektura kada se interleaved memorijski moduli odazivaju u sekvencu<br />

jedan za drugim. Grubi-interleaving je pogodniji kod <strong>sistema</strong> koji koriste krozbar spre`ne mre`e, tj.<br />

kada procesori paralelno pristupaju razli~itim memorijskim modulima.<br />

grubi interleaving fini interleaving<br />

.<br />

.<br />

.<br />

5-87


Adrese<br />

5-88<br />

adresa<br />

modula<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

Test pitanje 5.69<br />

.<br />

.<br />

.<br />

.<br />

adresa u<br />

okviru<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

memorijski<br />

modul<br />

0<br />

memorijski<br />

modul<br />

1<br />

memorijski<br />

modul<br />

n<br />

Adrese<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

adresa u<br />

okviru modula<br />

adresa<br />

modula<br />

Slika 5.76 : Distribucija kod grubog i finog interleving-a<br />

memorijski<br />

modul<br />

0<br />

memorijski<br />

modul<br />

1<br />

memorijski<br />

modul<br />

2<br />

.<br />

.<br />

.<br />

memorijski<br />

modul<br />

n<br />

Kako se koriste interleaving memorije kod <strong>sistema</strong> ~ija je magistrala pove}anog obima?<br />

Odgovor<br />

Re{enje kada je interleaving-odredjen-ni`im-adresama (low order interleaving) je pogodnije kod<br />

jednoprocesorskih <strong>sistema</strong> sa interleaved memorijom, kod kojih se uzastopnim memorijskim<br />

lokacijama, koje se nalaze u razli~itim memorijskim modulima, mo`e pristupiti simultano. Tako na<br />

primer, sa ~etiri modula i interleaving odredjen ni`im adresama, adrese prvog modula bi}e 0, 4, 8,<br />

12, 16, .... , adrese drugog modula bi}e 1, 5, 9, 13, 17, .... , one koje pripadaju tre}em su 2, 6, 10,<br />

14, 18,...., a ~etvrtog modula 3, 7, 11, 15, 19, .... . U op{tem slu~aju sa n-to-strukim interleavingom-odredjen-ni`im-adresama,<br />

adrese prvog modula bi}e 0, n, 2n, 3n, ... , a isti korak va`i i za ostale<br />

module. Uobi~ajeno memorijski sistemi kod kojih je memorija podeljena na module koristi se<br />

format interleavinga-odredjen-vi{im-adresama. Pri ovom u datom trenutku se adresira samo jedan<br />

modul i ne postoji preklapanje <strong>iz</strong>medju memorijskih operacija.<br />

Na slici 5.77 prikazana je interleaved memorijska organ<strong>iz</strong>acija kod jednoprocesorskog <strong>sistema</strong> koja<br />

koristi posebnu magistralu za podatke radi povezivanja procesora i modula. Na osnovu adresa<br />

memorijskih modula selektuju se moduli, a generisane memorijske adrese sukcesivno se upisuju u<br />

adresne baferske registre. Nakon punjenja adrese, modul vr{i detekciju lokacije i obezbedjuje<br />

pristup tipa ~itanja ili upisa. Kod ciklusa ~itanje, nakon isteka ciklusa za pristup memoriji podaci se<br />

sukcesivno pojavljuju na magistralama za podatke. Kod ciklusa upis, podaci na magistralama za<br />

podatke generi{e procesor. Ovi podaci prihvataju se sukcesivno od strane memorijskih modula.<br />

Ovakva organ<strong>iz</strong>acija mo`e biti pogodna za ke{ sistem koji se takodje deli na module.


magistrala<br />

ve} eg obima<br />

CPU<br />

AR - adresni<br />

registar<br />

Dekoder<br />

adrese<br />

modula<br />

adresa<br />

5. Memorije<br />

podaci<br />

memorijski moduli<br />

podaci podaci podaci<br />

AR AR<br />

AR AR<br />

Slika 5.77 : Interleaving memorije kod <strong>sistema</strong> ~ija je magistrala pove}anog obima<br />

Test pitanje 5.70<br />

Kako se koriste interleaving memorije kod <strong>sistema</strong> sa jedinstvenom magistralom?<br />

Odgovor<br />

Jedinstvena magistrala se mo`e koristiti i na na~in kako je to prikazano na slici 5.78. U konkretnoj<br />

real<strong>iz</strong>aciji svakom memorijskom modulu pridru`en je baferski registar za podatke u kome se<br />

privremeno ~uvaju podaci koji se upisuju u modul ili se ti podaci prihvataju kada se ~itaju <strong>iz</strong><br />

modula. Tajming ovog <strong>sistema</strong> prikazan je na slici 5.79a. Mogu}e je takodje istovremeno dovesti<br />

svim modulima istu adresu kako bi se ostvario pristup uzastopnim re~ima (ova varijanta <strong>iz</strong>vodjenja<br />

va`i kada je adresni format interleaving-a odredjen ni`im adresama). Tajming ove varijante je<br />

prikazan na slici 5.79b.<br />

CPU<br />

Dekoder<br />

adrese<br />

modula<br />

adresa<br />

podaci<br />

podaci<br />

memorijski moduli<br />

podaci podaci podaci<br />

AR BR AR BR AR BR AR BR<br />

Slika 5.78 : Interleaving memorije kod <strong>sistema</strong> organ<strong>iz</strong>ovan oko jedinstvene magistrale<br />

Napomena : AR - adresni registar ; BR - baferski registar za podatke<br />

5-89


5-90<br />

memorijski<br />

moduli<br />

memorijski<br />

moduli<br />

<strong>Zbirka</strong> <strong>zadataka</strong> <strong>iz</strong> <strong>Mikroprocesorskih</strong> <strong>sistema</strong><br />

punjenje<br />

adresnih<br />

registara<br />

vreme pristupa<br />

pristup<br />

podacima<br />

a) razli~ite adrese svakom memorijskom modulu<br />

generisanje<br />

adrese<br />

ciklus 1 ciklus 2<br />

generisanje<br />

naredne<br />

adrese<br />

pristup<br />

podacima<br />

b) ista adresa svakom memorijskom modulu<br />

Slika 5.79: Tajming kod interleaved memorije<br />

vreme<br />

vreme

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!