[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Latency timer questions
>1. If the gnt# is still asserted at the time at which
>the Latency timer expires, can I continue doing the
>burst until the gnt# signal is deasserted ?
Yes.
>2. In the real life systems (pentium class or other
>workstations), what happens if I deassert the req#
>signal immediately after gnt# is asserted for me ?
>Will the arbiter in the system deassert the gnt#
>signal and park the bus to some other agent (if at all
>parking is implemented) ? Is there any disadvantage of
>deasserting the req# signal signal immediately after
>getting the gnt# signal even if I want to do a long
>burst ?
Once you start your transaction, you are supposed to deassert your req
unless you have a different transaction to do other than the one you are
currently doing. I.e. you should assume that the one you are doing
will complete without disconnect. Otherwise, if you keep your req
asserted during that transaction and it does complete, you could get the
bus granted to you with nothing to do which wastes time for the other
devices.
To answer your question though, if you deassert your req immediately,
the arbiter may keep it on you or it may park it on a default master.
I've seen arbiters have two selectable parking modes: 1) park on last
master, 2) park on bridge. Boot code selects. That's not to say that a
chipset is not free to do it some other way so you can't really assume
anything. But again, you should hold request active only when you have
a transaction to do other than the one you are doing.
Rich Iachetta
IBM Microelectronics Division -- Austin
World Wide Field Design Center
Phone: 512-838-6305 Tie Line: 678-6305