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/