Coprocessor Interface
ARM DDI 0186A
Copyright © 2000 ARM Limited. All rights reserved.
7-5
•
the instruction in the Decode stage of the coprocessor pipeline must enter its
Execute stage
•
the fetched instruction must be sampled.
In all other cases, the ARM9E-S pipeline is stalled, and the coprocessor pipeline must
not advance.
During the Execute stage, the condition codes are compared with the flags to determine
whether the instruction really executes or not. The output
CPPASS
is asserted, HIGH,
if the instruction in the Execute stage of the coprocessor pipeline:
•
is a coprocessor instruction
•
has passed its condition codes.
If a coprocessor instruction busy-waits,
CPPASS
is asserted on every cycle until the
coprocessor instruction is executed. If an interrupt occurs during busy-waiting,
CPPASS
is driven LOW, and the coprocessor stops execution of the coprocessor
instruction.
Another output,
CPLATECANCEL
, cancels a coprocessor instruction when the
instruction preceding it caused a data abort. This is valid on the rising edge of
CLK
on
the cycle that follows the first Execute cycle of the coprocessor instructions. This is the
only cycle in which
CPLATECANCEL
can be asserted.
On the rising edge of the clock, the ARM9E-S processor examines the coprocessor
handshake signals
CHSDE[1:0]
or
CHSEX[1:0]
:
•
If a new instruction is entering the Execute stage in the next cycle, it examines
CHSDE[1:0]
.
•
If the currently executing coprocessor instruction requires another Execute cycle,
it examines
CHSEX[1:0]
.
7.2.1
Coprocessor handshake states
The handshake signals encode one of four states:
ABSENT
If there is no coprocessor attached that can execute the coprocessor
instruction, the handshake signals indicate the ABSENT state. In this
case, the ARM9E-S takes the undefined instruction trap.
WAIT
If there is a coprocessor attached that can handle the instruction, but not
immediately, the coprocessor handshake signals are driven to indicate
that the ARM9E-S processor core must stall until the coprocessor can
catch up. This is known as the
busy-wait
condition. In this case, the
ARM9E-S processor core loops in an IDLE state waiting for
Summary of Contents for ARM966E-S
Page 6: ...Contents vi Copyright 2000 ARM Limited All rights reserved ARM DDI 0186A ...
Page 20: ...Introduction 1 4 Copyright 2000 ARM Limited All rights reserved ARM DDI 0186A ...
Page 48: ...Tightly coupled SRAM 4 12 Copyright 2000 ARM Limited All rights reserved ARM DDI 0186A ...
Page 80: ...Bus Interface Unit 6 20 Copyright 2000 ARM Limited All rights reserved ARM DDI 0186A ...
Page 118: ...Debug Support 8 26 Copyright 2000 ARM Limited All rights reserved ARM DDI 0186A ...
Page 130: ...Test Support 10 8 Copyright 2000 ARM Limited All rights reserved ARM DDI 0186A ...
Page 142: ...Instruction cycle timings 11 12 Copyright 2000 ARM Limited All rights reserved ARM DDI 0186A ...
Page 158: ...Signal Descriptions A 16 Copyright 2000 ARM Limited All rights reserved ARM DDI 0186A ...
Page 176: ...AC Parameters B 18 Copyright 2000 ARM Limited All rights reserved ARM DDI 0186A ...