Stargazer wrote:
> On Mar 17, 10:06 pm, "Marven Lee" <spamt...@[EMAIL PROTECTED]
> wrote:
>> Stargazer wrote:
>>> I measured CPU clocks elapsed between the first assembly instruction
>>> executed at interrupt's entry point in IDT and beginning of the C code
>>> of user-defined interrupt handler and the result was a big
>>> surprise :-) It took about 2500 cycles despite that I have only a
>>> handful of assembly instructions before a call to user-supplied IRQ
>>> handler.
>> Is the Celeron 2.8G related to the Pentium 4? I'm not clued up on
>> processors of the last few years.
>
> Yes, it's Celeron from Pentium-4 family. However, I don't include
> processor's interrupt entry and IRET into timing. For now I want my
> interrupt entry code to introduce minimal additional latency, not deal
> with matters that I can't change anyway :-)
>
> As I said, I know where the problem lies, but I don't understand the
> reason so I can't yet eliminate it.
>
>
> D
>
Does the same instruction take a different length of time if accessing
another variable? Likewise, does the same instruction on the same
variable take as long if done whilst NOT in an interrupt routine?
Is the variable somewhere odd, or is there a second instance of it, so
that you are not accessing what you think you are? Have you viewed the
actual machine code to see that nothing odd has been added by your
assembly phase?
Just clutching at straws here.
Matt


|