«« ( Date ) »» // «« ( Thread ) »» // vlsi-nastava - 2007

Pitanje (za asistenta) u vezi sa logikom citanja

by Vladimir Mitrovic
četvrtak, 27. decembar 2007 - 22:22.

Pozdrav,

Imam par pitanja vezano za protokol citanja vrednosti i/ili statusa brojaca, konkretno za stanje spoljasnjeg signala RD koji postavlja procesor. Evo kako ja zamisljam scenario, a Vi me ispravite ako negde gresim:

1. Procesor upisuje u kontrolni registar vrednost oblika "11....11", dakle trazi ispis vrednosti i statusa prvog brojaca.

2. Kada je vrednost smestena u kontrolni registar i kada detektujemo aktivan signal RD, stavljamo nizi bajt vrednosti prvog brojaca na internu magistralu, a zatim je ucitavamo u Data Bus Buffer i stavljamo na raspolaganje procesoru.

3. Ono sto me buni: da li cekamo da procesor obori vrednost signala RD pre nego sto zapocnemo slanje sledeceg, viseg bajta (ili statusne reci, zavisno od rezima rada brojaca)? Da li na neki drugi nacin stavlja brojacu do znanja da je zavrsio sa citanjem? Ili treba da jednostavno izbacujemo jednu po jednu vrednost na magistralu?

Deluje mi logicno da procesor obara RD kada zavrsi sa citanjem bajta i onda ga ponovo postavlja za sledeci, ali u tom slucaju bi mozda morali da se zastitimo od softverskih/sistemskih bagova. Npr. postavljena je pogresna komandna rec u kontrolni registar - korisnik je hteo da zada rezim rada nekog brojaca, a postavio je komandu za vracanje statusa. U tom slucaju on ne bi (softverski) zadavao komande za citanje.

Dakle, konkretno me zanima kako izgleda taj handshake sa procesorom oko izbacivanja vrednosti na magistralu.

Hvala,
Vladimir