[prev in list] [next in list] [prev in thread] [next in thread]
List: comedi
Subject: timing inb & outb instructions on parallel port
From: "Raul Herrera" <raul.oscar.herrera () gmail ! com>
Date: 2006-10-30 12:00:39
Message-ID: 59ed5820610300400n49bf1095mdb3e3dffa69ad87a () mail ! gmail ! com
[Download RAW message or body]
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
[Attachment #3 (text/html)]
I think that you, as a drivers developers, maybe can help me with this:<br><br>How do \
the inb & outb instructions delay works on the parallel port?<br>I've read in \
many places that they almost always take about 1 microsecond to execute. <br>Is this \
delay valid for any following instruction, or just for another consecutive inb or \
outb on parallel?<br><br>The strange thing is that if I measure just 1 instruction, I \
get about 200 ns.<br>If I measure 2 consecutive instruccions, I get 1300 ns <br>If I \
measure 3 consecutive instruccions, I get 2400 ns<br>If I measure 4 consecutive \
instruccions, I get 3500 ns<br>And so on...<br><br>So, to me, the 1.1 us delay seems \
to be valid , but just for consecutive calls, not for just one! <br>Then I would be \
able to execute some other instruction during that 1 us of each hardware \
delay!<br>Can anyone confirm this behaviour?<br><br>the (real time) code draft would \
be:<br><br>ini_time = get_time();<br>inb(0,0x378); \
<br>inb(0,0x378);<br>inb(0,0x378);<br>end_time = get_time();<br>delay = end_time - \
ini_time;<br><br>Thanks a lot in advance.<br>Raul Herrera<br><br>
_______________________________________________
comedi mailing list
comedi@comedi.org
https://cvs.comedi.org/cgi-bin/mailman/listinfo/comedi
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic