
INTERRUPTS
11-42
11.9.4.1
Avoiding Certain Destinations for MDU Operations
Typically, when delivering an interrupt, the processor attempts to push the first four local registers
(pfp, sp, rip, and r3) onto the local register cache as early as possible. Because of
register-interlock, this operation is stalled until previous instructions return their results to these
registers. In most cases, this is not a problem; however, in the case of instructions performed by the
Multiply/Divide Unit (
divo
,
divi
,
ediv
,
modi
,
remo
, and
remi
), the processor could be stalled for
many cycles waiting for the result and unable to proceed to the next step of interrupt delivery.
Interrupt latency can be improved by avoiding the first four local registers as the destination for a
Multiply/Divide Unit operation. (Registers pfp, sp, and rip should be avoided for general
operations as these are used for procedure linking.)
11.9.4.2
Masking Integer Overflow Faults for syncf
The i960 core architecture requires an implicit
syncf
before delivering an interrupt so that a fault
handler can be dispatched first, if necessary. The
syncf
can require a number of cycles to
complete if a multi-cycle multiply or divide instruction was issued previously and
integer-overflow faults are unmasked (allowed to occur). Interrupt latency can be improved by
masking integer-overflow faults, which allows the implicit
syncf
to complete in much shorter
time.
Summary of Contents for i960 Jx
Page 1: ...Release Date December 1997 Order Number 272483 002 i960 Jx Microprocessor Developer s Manual ...
Page 24: ......
Page 25: ...1 INTRODUCTION ...
Page 26: ......
Page 35: ...2 DATA TYPES AND MEMORY ADDRESSING MODES ...
Page 36: ......
Page 46: ......
Page 47: ...3 PROGRAMMING ENVIRONMENT ...
Page 48: ......
Page 73: ...4 CACHE AND ON CHIP DATA RAM ...
Page 74: ......
Page 85: ...5 INSTRUCTION SET OVERVIEW ...
Page 86: ......
Page 111: ...6 INSTRUCTION SET REFERENCE ...
Page 112: ......
Page 233: ...7 PROCEDURE CALLS ...
Page 234: ......
Page 256: ......
Page 257: ...8 FAULTS ...
Page 258: ......
Page 291: ...9 TRACING AND DEBUGGING ...
Page 292: ......
Page 309: ...10 TIMERS ...
Page 310: ......
Page 324: ......
Page 325: ...11 INTERRUPTS ...
Page 326: ......
Page 369: ...12 INITIALIZATION AND SYSTEM REQUIREMENTS ...
Page 370: ......
Page 412: ......
Page 413: ...13 MEMORY CONFIGURATION ...
Page 414: ......
Page 429: ...14 EXTERNAL BUS ...
Page 430: ......
Page 468: ......
Page 469: ...15 TEST FEATURES ...
Page 470: ......
Page 493: ...A CONSIDERATIONS FOR WRITING PORTABLE CODE ...
Page 494: ......
Page 502: ......
Page 503: ...B OPCODES AND EXECUTION TIMES ...
Page 504: ......
Page 515: ...C MACHINE LEVEL INSTRUCTION FORMATS ...
Page 516: ......
Page 523: ...D REGISTER AND DATA STRUCTURES ...
Page 524: ......
Page 550: ......
Page 551: ...GLOSSARY ...
Page 552: ......
Page 561: ...INDEX ...
Page 562: ......
Page 578: ......