RE: Imprecise Interrupts.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Yes, it's the processor which takes care of all this and kernel need not
to worry about it. There is a concept of pipelining in processors, in
Intel this concept was introduced in 8486 processors. In pipelining
multiple instructions are executed at same time. Each instruction is
divided into sub-parts or independent execution units. The for each
machine instruction these execution units are executed in parallel with
some other execution units of other instruction. I think it can be
understood in a better way if you read the section on this topic from
third chapter of "Art of Assemble" book. I am providing the link to it
as follows:

http://webster.cs.ucr.edu/AoA/DOS/ch03/CH03-5.html#HEADING5-4

Regards,
Gaurav


-----Original Message-----
From: kernelnewbies-bounce@nl.linux.org
[mailto:kernelnewbies-bounce@nl.linux.org] On Behalf Of Rithin K Shetty
Sent: Tuesday, June 29, 2004 8:52 PM
To: sajay@temenos.com
Cc: kernelnewbies@nl.linux.org
Subject: Re: Imprecise Interrupts.

    These cases are handled by the processor and the Operating System is

not involved.
Infact, in superscalar processors even though the instructions are 
executed Out-of-Order
they retire in-order. Meaning, the result of executing an instruction is

not committed
until all the instructions which precceded it have retired.
    Now if an interrupt occurs, I guess the pipeline is flushed and the 
interrupt is serviced.
The processor then resumes at the first non committed instruction in the

original path. If
it had executed instructions that were beyond this those will have to be

re-executed.

Thanks,
Rithin.


sajay@temenos.com wrote:

>
> Hi,
>
> In architectures such as Intel x86 architecture Instruction Execution 
> is inorder, ie only when the previous Instruction has completely 
> finish , the next instruction can finish. But  in architectures such 
> as SPARC, an instruction can finish execution before another 
> Instruction that was started prior to this Instruction finishes. 
> Supposing an Interrupt occurs in such a scenario, how does the kernel 
> know which instruction to restart. Or is the system rolled back to a 
> state before these two instructions were started and the System is 
> started from there.
>
> Thanks in Advance,
> Sajay




--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux