Re[2]: Blokovski ciklusi
Mislim da si pogresno protumacio zadatak. Ipak je receno da treba da
postoji bafer za slanje, a u tvom resenju nigde nema baferisanja podatka.
Ti samo predas podatak transmitteru i cekas da ga on posalje, pa tek onda
po potrebi predajes novi podatak.
Mozda moze i tako, ne znam, treba videti sa asistentom.
PS. Greskom sam poslao prvi mail direktno tebi a ne na listu. Evo sad
saljem na listu...
On Tuesday, January 30, 2007, 1:19:58 AM, Rade wrote:
> Ja nemam taj registar, odnosno, transmitter iz njega salje. Nisam
implementirao duplo baferisanje. :(
> Cini mi se da je ranije bila neka diskusija, da je ta implementacija
opciona. Posto sam tek pocinjao domaci i ionako mi je sve bilo
komplikovano
> nisam to uradio, a sada je dosta velika izmena. Nadam se da to nije bio
imperativ, jer se tim ne dobija bog zna sta u performansama. Sto bi
rekao
> Sofronije: "...dva puta nista je nista, crva nije ni bilo...".
> фПЛПН 30.1.07., markos84@verat.net
<markos84@verat.net> јЕ
ОБРиУБП:
> Ali mi imamo transmit buffer, neki ga zovu i bafer za slanje, neki
> registar za podatke koji se salju. ;)
> Citat iz teksta zadatka:
> Sistem treba da ima jedan kontrolni registar, jedan statusni registar,
> jedan registar za podatke koji se salju i jedan FIFO bafer za podatke
> koji se primaju.
> To prakticno znaci da ti mozes 2 podatka da posaljes u bloku, tj. prvi da
> prosledis direktno u transmitter a drugi u bafer za slanje.
> Naravno, u opisanoj situaciji je neregularno pokusati i 3. upis (u bloku)
> u bafer za slanje, posto je sigurno tada bafer zauzet. Tada postavljas
> odgovarajuci TAG_O i retry signal (ne znam tacno kako se zove u wb
> interfejsu). Isto reagujes i pri svakom drugom pokusaju upisa u pun bafer
> za slanje.
> E sad, ti mozes da realizujes sistem i tako da svaki podatak prvo mora da
> prodje kroz bafer za slanje pa tek onda da ide u transmitter kada je on
> spreman, ali u tom slucaju nikada ne postoji mogucnost upisa 2 podatka za
> redom (u bloku) u bafer, pa cak ni kada je transmitter spreman za slanje.
> Naravno, kao i u prvoj varijanti, u slucaju da master salje podatak u
> bafer, a on je pun, opet reagujes kako je propisano, tj. postavljas TAG_O
> i retry.
> On Tuesday, January 30, 2007, 12:36:57 AM, Rade wrote:
>> Imam problema sa razumevanjem nacina rada blokovskih ciklusa. Molim Vas
> da mi pomognete da razjasnimo kako stvari stoje.
>> Koliko sam shvatio, blokovski upis radi tako sto, MASTER postavi podatke
> na magistralu podatakai STB_O='1'. SLAVE to registruje na sledecu
>> uzlaznu ivicu i postavi ACK, posle te uzlazne ivice kao signal da moze
> da primi sledeci podatak. MASTER na sledecu uzlaznu registruje ACK i
>> postavlja novi podatak... Ako SLAVE hoce da uspori malo, on po
> prihvatanju podatka obara ACK, kao signal da MASTER treba malo da
> saceka. MASTER i
>> dalje proverava ACK na uzlazne ivice, drzeci non-stop podatke na
> magistrali. Kad SLAVE stigne, on ocita te podatke i opet postavi ACK da
> moze da
>> primi novi podatak. Nadam se da nisam zbunio.
>> E sad, ako je ovo prethodno OK: Nas uredjaj je mnogo spor (da bi poslao
> 1 32b podatak pri baud=4 treba mu 34*4=136 taktova. Da li mi treba da
>> drzimo MASTERA na magistrali svih tih 136 taktova? Ne vidim drugi nacin
> da se realizuje blokovski upis u nasem slucaju kada nemamo "transmitter
>> buffer" i mislim da on ovde sluzi samo da bi mi odradili sve, a da u
> principu nema smisla mnogo. Da li sam u pravu?
>> Sto se tice blokovskog citanja, to mozemo lepo da radimo s' obzirom da
> imamo FIFO bafer. Zar ne?
>> Pozdrav i hvala unapred na pomoci.
>> Rade
> --
> Pozdrav,
> Marko e-mail: markos84@verat.net
--
Pozdrav,
Marko e-mail: markos84@verat.net
postoji bafer za slanje, a u tvom resenju nigde nema baferisanja podatka.
Ti samo predas podatak transmitteru i cekas da ga on posalje, pa tek onda
po potrebi predajes novi podatak.
Mozda moze i tako, ne znam, treba videti sa asistentom.
PS. Greskom sam poslao prvi mail direktno tebi a ne na listu. Evo sad
saljem na listu...
On Tuesday, January 30, 2007, 1:19:58 AM, Rade wrote:
> Ja nemam taj registar, odnosno, transmitter iz njega salje. Nisam
implementirao duplo baferisanje. :(
> Cini mi se da je ranije bila neka diskusija, da je ta implementacija
opciona. Posto sam tek pocinjao domaci i ionako mi je sve bilo
komplikovano
> nisam to uradio, a sada je dosta velika izmena. Nadam se da to nije bio
imperativ, jer se tim ne dobija bog zna sta u performansama. Sto bi
rekao
> Sofronije: "...dva puta nista je nista, crva nije ni bilo...".
> фПЛПН 30.1.07., markos84@verat.net
<markos84@verat.net> јЕ
ОБРиУБП:
> Ali mi imamo transmit buffer, neki ga zovu i bafer za slanje, neki
> registar za podatke koji se salju. ;)
> Citat iz teksta zadatka:
> Sistem treba da ima jedan kontrolni registar, jedan statusni registar,
> jedan registar za podatke koji se salju i jedan FIFO bafer za podatke
> koji se primaju.
> To prakticno znaci da ti mozes 2 podatka da posaljes u bloku, tj. prvi da
> prosledis direktno u transmitter a drugi u bafer za slanje.
> Naravno, u opisanoj situaciji je neregularno pokusati i 3. upis (u bloku)
> u bafer za slanje, posto je sigurno tada bafer zauzet. Tada postavljas
> odgovarajuci TAG_O i retry signal (ne znam tacno kako se zove u wb
> interfejsu). Isto reagujes i pri svakom drugom pokusaju upisa u pun bafer
> za slanje.
> E sad, ti mozes da realizujes sistem i tako da svaki podatak prvo mora da
> prodje kroz bafer za slanje pa tek onda da ide u transmitter kada je on
> spreman, ali u tom slucaju nikada ne postoji mogucnost upisa 2 podatka za
> redom (u bloku) u bafer, pa cak ni kada je transmitter spreman za slanje.
> Naravno, kao i u prvoj varijanti, u slucaju da master salje podatak u
> bafer, a on je pun, opet reagujes kako je propisano, tj. postavljas TAG_O
> i retry.
> On Tuesday, January 30, 2007, 12:36:57 AM, Rade wrote:
>> Imam problema sa razumevanjem nacina rada blokovskih ciklusa. Molim Vas
> da mi pomognete da razjasnimo kako stvari stoje.
>> Koliko sam shvatio, blokovski upis radi tako sto, MASTER postavi podatke
> na magistralu podatakai STB_O='1'. SLAVE to registruje na sledecu
>> uzlaznu ivicu i postavi ACK, posle te uzlazne ivice kao signal da moze
> da primi sledeci podatak. MASTER na sledecu uzlaznu registruje ACK i
>> postavlja novi podatak... Ako SLAVE hoce da uspori malo, on po
> prihvatanju podatka obara ACK, kao signal da MASTER treba malo da
> saceka. MASTER i
>> dalje proverava ACK na uzlazne ivice, drzeci non-stop podatke na
> magistrali. Kad SLAVE stigne, on ocita te podatke i opet postavi ACK da
> moze da
>> primi novi podatak. Nadam se da nisam zbunio.
>> E sad, ako je ovo prethodno OK: Nas uredjaj je mnogo spor (da bi poslao
> 1 32b podatak pri baud=4 treba mu 34*4=136 taktova. Da li mi treba da
>> drzimo MASTERA na magistrali svih tih 136 taktova? Ne vidim drugi nacin
> da se realizuje blokovski upis u nasem slucaju kada nemamo "transmitter
>> buffer" i mislim da on ovde sluzi samo da bi mi odradili sve, a da u
> principu nema smisla mnogo. Da li sam u pravu?
>> Sto se tice blokovskog citanja, to mozemo lepo da radimo s' obzirom da
> imamo FIFO bafer. Zar ne?
>> Pozdrav i hvala unapred na pomoci.
>> Rade
> --
> Pozdrav,
> Marko e-mail: markos84@verat.net
--
Pozdrav,
Marko e-mail: markos84@verat.net
Previous by date: Re: Za one koji se nisu prijavili za odbranu a zele da brane projekat
Next by date: Re: Blokovski ciklusi
Previous by thread: Re: Blokovski ciklusi Next by thread: Za one koji se nisu prijavili za odbranu a zele da brane projekat
Previous by thread: Re: Blokovski ciklusi Next by thread: Za one koji se nisu prijavili za odbranu a zele da brane projekat