powerpc interrupt processing/JMP instruction

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

powerpc interrupt processing/JMP instruction

1,137件の閲覧回数
shantanunakhate
Contributor I

Hello,

       When Interrupt occurs during powerpc execution , what does the powerpc do? will it complete the current instruction execution and then jump to ISR or will it suspend the instruction execution , and execute the same instruction after executing ISR?

consider the following instruction under execution  JUMP xxxxx.

so when an interrupt occurs during this instruction execution , does powerpc complete jmp instruction and then go to ISR or it will suspend JMP instruction execute ISR and then

execute JMP instruction again freshly ?

does the case same with move instruction ?

Regards

0 件の賞賛
6 返答(返信)

667件の閲覧回数
scottwood
NXP Employee
NXP Employee

The interrupted execution will either be completed or aborted.  Given the pipelined nature of the CPU it doesn't really make sense to talk about being in the middle of a specific instruction when the interrupt comes in -- it's likely that the CPU was in the middle of executing several instructions.  By the time the CPU starts executing at the exception vector, it will have sorted things out such that the interrupted state is consistent and restartable.

One notable situation is when the CPU was executing a guarded load instruction.  Since guarded accesses can't be retried (or else the device would see two accesses, which may have side effects), and a load instruction can't complete until data is returned, if an interrupt happens after a guarded load has gone out on the bus, the CPU will wait for the guarded load to complete before taking the interrupt.

0 件の賞賛

667件の閲覧回数
lunminliang
NXP Employee
NXP Employee

This query also relates to MPC8349?

0 件の賞賛

667件の閲覧回数
shantanunakhate
Contributor I

Its MPC8343

0 件の賞賛

667件の閲覧回数
marius_grigoras
NXP Employee
NXP Employee

Hi,

Please let me know the core and also the interrupt type (program, TLB, system call etc).

Thank you,

Marius

0 件の賞賛

667件の閲覧回数
shantanunakhate
Contributor I

MPC8343 and the interrupt would be external interrupt ( GPIO configured as external IRQ)

0 件の賞賛

667件の閲覧回数
lunminliang
NXP Employee
NXP Employee

See below technical support comment:

IRQ is a Integrated Programmable Interrupt Controller (IPIC) input. The interrupt sources controlled by the IPIC unit cause exceptions in the processor core (e300 in the MPC834x). The IPIC can assign int, cint and smi signals of the core. Internal interrupt (int) signal is the main interrupt output from the IPIC to the core.

The external interrupt (int), system management interrupt (smi), decrementer interrupt, and critical interrupt (cint) are maskable asynchronous interrupts. When these interrupts occur, their handling is postponed until the next instruction completes execution and until any interrupts associated with that instruction complete execution. If there are no instructions in the execution units, the interrupt is taken immediately upon determination of the correct restart address (for loading SRR0).

More details in Chapter Interrupts and Exceptions of e300 Power Architecture Core Family Reference Manua http://cache.freescale.com/files/32bit/doc/ref_manual/e300coreRM.pdf

0 件の賞賛