bsteh@alderan.uucp (Herbert Bsteh) (10/02/90)
According to various hardware reference manuals (Compaq, Intel) we found different informations about how long we may hold the IOCHRDY signal. Our Intel manual says something like : "IOCHRDY must not be negated for longer than 15 us" - which does make sense to me because of the REFRESH signal. Our Compaq manual says "This signal should not be hold longer than 2.5 us ...". For our application it is necessary, that the bus agent holds the IOCHRDY for about 10-12 us. Is there any good reason for restricting the "hold-time" to not longer than 2.5 us. and what problems could arise if we go up to the limit of 15 us ? Any help, hints or experiences are welcome. Thanks in advance Herbert
grege@gold.GVG.TEK.COM (Greg Ebert) (10/03/90)
In article <188@alderan.uucp> bsteh@alderan.uucp (Herbert Bsteh) writes: >Is there any good reason for restricting the "hold-time" to not longer >than 2.5 us. and what problems could arise if we go up to the limit >of 15 us ? > 2 problems. First, the floppy drive. If the floppy is running, a DMA xfer occurs every 16 or so us, and the transfer itself can take up to 2usec if you include bus acquisition/release times. Secondly, if you have a 386 or 486, a 32 bit write into an 8-bit device (such as a video card) can require 4 bus cycles. Each cycle can be extended by the video card via IOCHRDY. So.... if you have the scenario where: 1) Your floppy is running 2) Your application is doing 32-bit writes to an 8-bit video card 3) Your device is yanking on IOCHRDY 4) [Possibly] it's a full moon 5) ..... All of this stuff is supposed to be done within the refresh period. Although the probability is low, it can STILL happen.
james@bigtex.cactus.org (James Van Artsdalen) (10/03/90)
In <188@alderan.uucp>, bsteh@alderan.uucp (Herbert Bsteh) wrote: > According to various hardware reference manuals (Compaq, Intel) > we found different informations about how long we may hold the > IOCHRDY signal. Our Intel manual says something like : > "IOCHRDY must not be negated for longer than 15 us" - which does > make sense to me because of the REFRESH signal. Our Compaq manual > says "This signal should not be hold longer than 2.5 us ...". 15us is reasonable. 2.5us is way too short: there are lots of cards that drive IOCHRDY longer than 2.5us. Network cards often go over 15us. VGAs in 800x600 256 color mode often drive IOCHRDY for more than 20us. The winner has to be one card that I have seen drive IOCHRDY for 30ms (milliseconds) after reset. The 15us refresh rate is a hold-over from the original IBM designs. Modern memory systems usually don't need this much refresh. > For our application it is necessary, that the bus agent holds the > IOCHRDY for about 10-12 us. Is there any good reason for restricting > the "hold-time" to not longer than 2.5 us. Nope. Maybe Compaq meant 25us. > and what problems could arise if we go up to the limit of 15 us ? None. You can stretch it out beyond that too, though I wouldn't go much beyond 20us. So many cards on the market already have such delays that all ATs support it. Incidentally, don't forget the floppy. All of this assumes that you're not using the floppy. If that needs to work at the same time, then < 15us is the limit. Under DOS this usually isn't a problem, but with unix or OS/2... -- James R. Van Artsdalen james@bigtex.cactus.org "Live Free or Die" Dell Computer Co 9505 Arboretum Blvd Austin TX 78759 512-338-8789