ARM R4 Manuale Utente

Pagina di 456
Cycle Timings and Interlock Behavior 
ARM DDI 0363E
Copyright © 2009 ARM Limited. All rights reserved.
14-34
ID013010
Non-Confidential, Unrestricted Access
14.23 Dual issue
To increase instruction throughput, the processor can issue certain pairs of instructions 
simultaneously. This is called dual issue. When this happens, the instruction with the smaller 
cycle count is assumed to execute in zero cycles. If a pair of instructions can be dual-issued, they 
are always dual-issued unless dual-issuing is disabled, see Auxiliary Control Registers on 
page 4-38
. If one instruction of the pair is interlocked, both are interlocked. 
This section describes:
14.23.1 Dual issue rules
The following rules apply to dual-issue instructions:
Both instructions must be available to the issue stage at the same time. This is unlikely if 
there are many branches.
The second instruction must not use the PC as a source register unless it is B #immed.
The first instruction must not use the PC as a destination register.
Both instructions must belong to the same instruction set, ARM or Thumb.
There must be no data dependency between the two instructions. That is, the second 
instruction must not have any source registers that are destination registers of the first 
instruction.