Zbirka zadataka iz Mikroprocesorskih sistema 5-0
Zbirka zadataka iz Mikroprocesorskih sistema 5-0
Zbirka zadataka iz Mikroprocesorskih sistema 5-0
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