
Philips Semiconductors
DSPCPU Architecture
File: arch.fm5, modified 7/23/99
PRELIMINARY INFORMATION
3-9
ed by the ANSI C compiler, only a subset of the registers
needs to be preserved by the event handlers. Refer to
the TriMedia SDE Reference Manual to find details on
which registers can be in use. The DSPCPU register
state can be described by the contents of this subset of
the general purpose registers and the contents of the
PCSW and the DPC (Destination Program Counter) val-
ue (the target of the inter-tree jump).
The priority resolution mechanism built into the DSPCPU
hardware dispatches the highest-priority non-masked
special event request at the time of a successful inter-
ruptible jump operation. In view of the simple, real-time-
oriented nature of the mechanisms provided, only limited
nesting of events should be allowed.
3.5.1
RESET
RESET is the highest priority special event. It is asserted
by external hardware or by the host CPU. TM1100 will
respond to it at any time.
External hardware reset through the TRI_RESET# pin
initiates boot protocol execution, as described in
Chapterue to be lost and instruction execution to start from ad-
dress DRAM_BASE.
A PCI host CPU can perform a TM1100 DSPCPU only
reset by a MMIO write to the BIU_CTL.SR and CR bits.
Such a reset does not cause a full boot, instead the
DSPCPU resumes execution from DRAM_BASE.
3.5.2
EXC (Exceptions)
The DSPCPU enters EXC special-event processing un-
der the following conditions:
1. RESET is de-asserted.
2. The intersection PCSW[15,6:0] & PCSW[31,22:16] is
non-empty or PCSW.TFE is set.
3. A successful interruptible jump is in the nal jump ex-
ecution stage.
DSPCPU hardware takes the following actions on the ini-
tiation of EXC processing:
1. DPC gets assigned the intended destination address
of the successful jump.
2. Instruction processing starts at EXCVEC.
All other actions are the responsibility of the EXC handler
software. Note that no other special event processing will
take place until the handler decides to execute an inter-
ruptible jump that succeeds.
3.5.3
INT and NMI (Maskable and Non-
Maskable Interrupts)
The on-chip Vectored Interrupt Controller (VIC) provides
32 INT request input hardware lines. The interrupt con-
troller prioritizes and maps attention requests from sev-
eral different peripherals onto successive INT requests
to the DSPCPU.
INT special event processing will occur under the follow-
ing conditions:
1. RESET is de-asserted.
2. The intersection PCSW[15,6:0] & PCSW[31,22:16] is
empty and PCSW.TFE is not set.
3. The intersection of IPENDING and IMASK is non-
empty.
4. The interrupt is at level NMI or PCSW.IEN = 1.
5. A successful interruptible jump is in the nal jump ex-
ecution stage.
DSPCPU hardware takes the following actions on the ini-
tiation of NMI or INT processing:
1. DPC gets assigned the intended destination address
of the successful jump.
2. Instruction processing starts at the appropriate inter-
rupt vector.
All other actions are the responsibility of the INT handler
software. Note that no other special event processing will
take place until the handler decides to execute an inter-
ruptible jump that succeeds.
3.5.3.1
Interrupt Vectors
Each of the 32 interrupt sources can be assigned an ar-
bitrary interrupt vector (the address of the first instruction
of the interrupt handler). A vector is setup by writing the
address to one of the MMIO locations shown in
Figure 3-6. The state of the MMIO vector locations is un-
defined after RESET. (Addresses of the MMIO vector
registers are offset with respect to MMIO_BASE.)
Programmer’s note: Please see the TriMedia Program-
mer’s Reference Manual for information on writing inter-
rupt handlers.
3.5.3.2
Interrupt Modes
DSPCPU interrupt sources can be programmed to oper-
ate in either
level-sensitive or edge-triggered mode. Op-
eration in edge-triggered or level-sensitive mode is de-
termined by a bit in the ISETTING MMIO locations
On RESET, all ISETTING registers are cleared.
In edge-triggered mode, the leading edge of the signal
on the device interrupt request line causes the VIC (Vec-
tored Interrupt Controller) to set the
interrupt pending flag
corresponding to the device source number. Note that,
for active high signals, the leading edge is the positive
edge, whereas for active low request signals (such as
PCI INTA#), the negative edge is the leading edge. The
interrupt remains pending until one of two events occurs:
Table 3-9. Special Events and Event Vectors
Event
Vector
RESET
(Highest priority) vector to DRAM_BASE
EXC
(All exceptions) vector to EXCVEC (programmable)
NMI,
INT
(Non-maskable interrupt, maskable interrupt) use
the programmed vector (one of 32 vectors depend-
ing on the interrupt source)