25.07.2013 Views

Komponente digitalnih sistema

Komponente digitalnih sistema

Komponente digitalnih sistema

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

<strong>Komponente</strong> <strong>digitalnih</strong> <strong>sistema</strong><br />

broja 45 na stek zahteva da brojevi 34 i 23 budu premešteni na lokacije Top‐1 i Top‐2. S druge strane,<br />

kada se broj 45 uzima sa steka, brojevi 34 i 23 se pomeraju naviše, tako da ponovo zauzimaju lokacije<br />

Top i Top‐1 (Sl. 2‐28(c)). U ovom konkretnom primeru, na stek se može staviti najviše četiri broja, pre<br />

nego što se stek napuni. Nakon toga, svaki novi upis u stek znači gubitak podatka sa dna steka.<br />

(a) (b) (c)<br />

Sl. 2‐28. Rad steka: (a) sadržaj steka pre upisa broja 45; (b) sadržaj steka nakon upisa broj 45; (c) sadržaj steka<br />

nakon čitanja broja 45.<br />

2.2.7.1 Realizacija na bazi pomeračkih registara<br />

Prilikom projektovanja steka, važno je uočiti da se zapamćeni podaci pomeraju za jednu poziciju<br />

naniže, odnosno naviše, prilikom izvođenja operacija upisa i čitanja. Na osnovu ovog zapažanja<br />

zaključujemo da za realizaciju steka treba koristiti pomeračke registre u kombinaciji sa obostranim<br />

brojačem za detekciju praznog, odnosno punog steka. Ove komponente su korišćene za realizaciju m‐<br />

bitnog steka dubine 4 koji je prikazan na Sl. 2‐29. Konkretno, za realizaciju su korišćeni univerzalni<br />

pomerački registar ‐ vidi Sl. 2‐17 i obostrani brojač sa Sl. 2‐19. Uočimo da ovaj stek ima m ulaznih<br />

linija INi i m izlaznih linija OUTi, 0≤i≤m‐1. Takođe, stek ima tri upravljačka signala, Push/pop, Enable i<br />

Reset.<br />

Signal Push/pop upravlja upisom i čitanjem iz steka. Kada je Push/pop=0, podatak se upisuje u stek;<br />

kada je Push/pop=1, podatak se čita iz steka. Signal Enable omogućava (dozvoljava) rad steka, dok<br />

signal Reset, uvek kada je 0, briše sadržaj pomeračkih registara i resetuje obostrani brojač. Rad steka<br />

je opisan tabelom operacija sa Sl. 2‐29(a). Uočimo da stek ima dva izlazna signala, Empty i Full, koji<br />

ukazuju na status steka, na sledeći način: ako je stek prazan, signal Empty ima vrednost 1; s druge<br />

strane, kada Full ima vrednost 1, stek je pun (Sl. 2‐29(c)).<br />

Na Sl. 2‐29(d) se može videti da se stek sastoji iz m 4‐bitnih pomeračkih registara tako da svakom<br />

ulazu odgovara jedan pomerački registar. Pri svakom upisu u stek, svi pomerački registri obavljaju<br />

operaciju pomeranja udesno. Slično, pri svakom čitanju iz steka, svi pomerački registri obavljaju<br />

operaciju pomeranja ulevo. Svaki novi podatak koji se stavlja na stek, preko ulaza IL pomeračkog<br />

registra se upisuje se na poziciju Q3 pomeračkih registara, koja predstavlja vrh steka. Stanje brojača<br />

ukazuje na broj podataka u steku. Sinhronizovano sa svakom rastućom ivicom taktnog signala,<br />

pomerački registri obavljaju pomeranje udesno, a brojač broji unapred za 1 (Push/pop=0 i Enable=1),<br />

odnosno pomeranje ulevo i brojanje unazad (Push/pop=1 i Enable=1).<br />

58

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!