- From: Raul Herrera <raul.oscar.herrera_at_gmail.com>
- Date: Mon, 30 Oct 2006 09:00:39 -0300
I think that you, as a drivers developers, maybe can help me with this: How do the inb & outb instructions delay works on the parallel port? I've read in many places that they almost always take about 1 microsecond to execute. Is this delay valid for any following instruction, or just for another consecutive inb or outb on parallel? The strange thing is that if I measure just 1 instruction, I get about 200 ns. If I measure 2 consecutive instruccions, I get 1300 ns If I measure 3 consecutive instruccions, I get 2400 ns If I measure 4 consecutive instruccions, I get 3500 ns And so on... So, to me, the 1.1 us delay seems to be valid , but just for consecutive calls, not for just one! Then I would be able to execute some other instruction during that 1 us of each hardware delay! Can anyone confirm this behaviour? the (real time) code draft would be: ini_time = get_time(); inb(0,0x378); inb(0,0x378); inb(0,0x378); end_time = get_time(); delay = end_time - ini_time; Thanks a lot in advance. Raul Herrera
Received on 2006-10-30Z12:00:39