Coprocessor Interface
7-2
Copyright © 2000 ARM Limited. All rights reserved.
ARM DDI 0186A
7.1
About the coprocessor interface
ARM966E-S fully supports the connection of on-chip coprocessors through the
external coprocessor interface and supports all classes of coprocessor instructions.
The interface differs from the basic ARM9E-S coprocessor interface. To ease
integration of an external coprocessor, the interface from the ARM966E-S to the
coprocessor has been pipelined by a single clock cycle.
This ensures that ARM966E-S interface outputs, which otherwise arrive late in the
clock cycle, are driven out directly from registers to the external coprocessor. This
significantly eases the implementation task for an external coprocessor.
7.1.1
Synchronizing the external coprocessor pipeline
A coprocessor connected to the ARM966E-S determines which instructions it needs to
execute by implementing a pipeline follower in the coprocessor. Because each
instruction arrives from instruction memory (either from the I-SRAM or AHB
interface) it enters both the ARM9E-S pipeline and the coprocessor pipeline follower.
Because the interface is itself pipelined, the coprocessor pipeline follower operates one
cycle behind the ARM9E-S, sampling the
CPINSTR[31:0]
output bus from the
ARM966E-S interface.
In order to hide the pipeline delay, a mechanism inside the interface block stalls the
ARM9E-S for a cycle by internally modifying the coprocessor handshake signals
whenever an external coprocessor instruction is decoded. This allows the external
coprocessor to
catch up
with the ARM9E-S core.
After this initial stall cycle, the two pipelines can be considered synchronized. The
ARM9E-S then informs the coprocessor when instructions move from Decode into
Execute, and whether the instruction has passed its condition codes and is to be
executed.
Note
Because the ARM966E-S hides the synchronization of the coprocessor pipeline
follower, its coprocessor handshake interface is similar to that of the native ARM9E-S.
This implies that an ARM9E-S designed
pipeline follower
can interface to the
ARM966E-S without modification. The data path of the coprocessor differs however,
due to the ARM966E-S pipelined output data
CPDOUT[31:0]
.
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 ...