![Intel NIOS II Owner Reference Manual Download Page 87](http://html1.mh-extra.com/html/intel/nios-ii/nios-ii_owner-reference-manual_2071826087.webp)
The division error exception detects divide instructions that produce a quotient that
can't be represented. The two cases are divide by zero and a signed division that
divides the largest negative number -2147483648 (0x80000000) by -1 (0xffffffff).
Division error detection is only available if divide instructions are supported by
hardware.
Related Information
Programming Model
on page 36
3.7.7.11. Fast TLB Miss
Fast TLB miss exceptions are implemented only in Nios II processors that include the
MMU. The MMU has a special exception vector (fast TLB miss), specified with the Nios
II Processor parameter editor in Platform Designer, specifically to handle TLB miss
exceptions quickly. Whenever the processor cannot find a TLB entry matching the VPN
(optionally extended by a process identifier), the result is a TLB miss exception. At the
time of the exception, the processor first checks
status.EH
. When
status.EH
= 0,
no other exception is already in process, so the processor considers the TLB miss a
fast TLB miss, sets
status
.
EH
to one, and transfers control to the fast TLB miss
exception handler (rather than to the general exception handler).
There are two kinds of fast TLB miss exceptions:
•
Fast TLB miss (instruction)—Any instruction fetch can cause this exception.
•
Fast TLB miss (data)—Load, store,
initda
, and
flushda
instructions can cause
this exception.
The fast TLB miss exception handler can inspect the
tlbmisc
.
D
field to determine
which kind of fast TLB miss exception occurred.
3.7.7.12. Double TLB Miss
Double TLB miss exceptions are implemented only in Nios II processors that include
the MMU. When a TLB miss exception occurs while software is currently processing an
exception (that is, when
status.EH
= 1), a double TLB miss exception is generated.
Specifically, whenever the processor cannot find a TLB entry matching the VPN
(optionally extended by a process identifier) and
status.EH
=
1
, the result is a
double TLB miss exception. The most common scenario is that a double TLB miss
exception occurs during processing of a fast TLB miss exception. The processor
preserves register values from the original exception and transfers control to the
general exception handler which processes the newly-generated exception.
There are two kinds of double TLB miss exceptions:
•
Double TLB miss (instruction)—Any instruction fetch can cause this exception.
•
Double TLB miss (data)—Load, store,
initda
, and
flushda
instructions can
cause this exception.
The general exception handler can inspect either the
exception
.
CAUSE
or
tlbmisc
.
D
field to determine which kind of double TLB miss exception occurred.
3. Programming Model
NII-PRG | 2018.04.18
Nios II Processor Reference Guide
87