Intel® 80200 Processor based on
Intel® XScale™ Microarchitecture
Developer’s Manual
March, 2003
Order Number: 273411-003
Intel® 80200 Processor based on Intel® XScale™ Microarchitecture
Information in this document is provided in connection with Intel® products. No license, express or implied, by estoppel or otherwise, to any intellectual property
rights is granted by this document. Except as provided in Intel's Terms and Conditions of Sale for such products, Intel assumes no liability whatsoever, and Intel
disclaims any express or implied warranty, relating to sale and/or use of Intel® products including liability or warranties relating to fitness for a particular purpose,
merchantability, or infringement of any patent, copyright or other intellectual property right. Intel products are not intended for use in medical, life saving, or life
sustaining applications. Intel may make changes to specifications and product descriptions at any time, without notice.Intel may make changes to specifications and
product descriptions at any time, without notice.
Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition
and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them.
The Intel® 80200 Processor may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current
characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an ordering number and are referenced in this document, or other Intel literature may be obtained by calling 1-800-548-4725 or by
visiting Intel's website at http://www.intel.com.
8-2Pin State at Reset .......................................................................................................................................... 4
10-1Typical System ............................................................................................................................................. 1
10-5Read Burst, No CWF.................................................................................................................................. 15
10-7Basic Word Write ....................................................................................................................................... 17
10-8Two Word Coalesced Write ....................................................................................................................... 18
10-9Four Word Eviction Write.......................................................................................................................... 19
10-10Four Word Coalesced Write Burst ............................................................................................................. 20
13-2SELDCSR Data Register............................................................................................................................ 19
13-6DBGRX Data Register ............................................................................................................................... 24
13-9High Level View of Trace Buffer............................................................................................................... 32
13-10LDIC JTAG Data Register Hardware......................................................................................................... 35
13-11Format of LDIC Cache Functions .............................................................................................................. 37
13-12Code Download During a Cold Reset For Debug ...................................................................................... 39
13-13Code Download During a Warm Reset For Debug.................................................................................... 41
13-14Downloading Code in IC During Program Execution................................................................................ 43
B-1Intel
C-1Test Access Port Block Diagram.................................................................................................................. 2
C-2TAP Controller State Diagram ..................................................................................................................... 7
C-3JTAG Example ........................................................................................................................................... 13
C-4Timing Diagram Illustrating the Loading of Instruction Register..............................................................14
C-5Timing Diagram Illustrating the Loading of Data Register........................................................................ 15
7-2LDC/STC Format ..........................................................................................................................................3
7-5Cache Type Register......................................................................................................................................5
7-6ARM* Control Register ................................................................................................................................7
7-7Auxiliary Control Register ............................................................................................................................8
7-8Translation Table Base Register....................................................................................................................9
7-9Domain Access Control Register ..................................................................................................................9
7-10Fault Status Register....................................................................................................................................10
7-17Accessing Process ID ..................................................................................................................................16
7-18Process ID Register .....................................................................................................................................16
7-19Accessing the Debug Registers ...................................................................................................................17
7-26Accessing the Debug Registers ...................................................................................................................22
8-3Low Power Modes.........................................................................................................................................5
80200 Processor based on Intel® XScale™ Microarchitecture Bus Signals...................................... 3
10-2Requests on a 64-bit Bus .............................................................................................................................. 4
10-3Requests on a 32-bit Bus .............................................................................................................................. 5
10-4Return Order for 8-Word Burst, 64-bit Data Bus......................................................................................... 7
10-5Return Order for 8-Word Burst, 32-bit Data Bus......................................................................................... 7
11-1BCU Response to ECC Errors...................................................................................................................... 3
14-3Latency Example .......................................................................................................................................... 4
14-4Branch Instruction Timings (Those predicted by the BTB) ......................................................................... 4
14-5Branch Instruction Timings (Those not predicted by the BTB)................................................................... 5
14-12Load and Store Instruction Timings ............................................................................................................. 8
14-13Load and Store Multiple Instruction Timings .............................................................................................. 8
xivMarch, 2003Developer’s Manual
Intel® 80200 Processor based on Intel® XScale™ Microarchitecture
14-18Count Leading Zeros Instruction Timings ....................................................................................................9
A-1C and B encoding ..........................................................................................................................................3
B-1Pipelines and Pipe stages...............................................................................................................................3
C-4JTAG ID Register Value ...............................................................................................................................6
Developer’s ManualMarch, 2003xv
Introduction
1.1Intel® 80200 Processor based on Intel® XScale™
Microarchitecture High-Level Overview
1
The Intel® 80200 processor based on Intel® XScale™ microarchitecture, is the next generation in
the Intel
designed for high performance and low-power; leading the industry in mW/MIPs. The Intel
80200 processor integrates a bus controller and an interrupt controller around a core processor,
with intended embedded markets such as: handheld devices, networking, remote access servers,
etc. This technology is ideal for internet infrastructure products such as network and I/O
processors, where ultimate performance is critical for moving and processing large amounts of data
quickly.
The Intel
achieve high performance. This rich feature set allows programmers to select the appropriate
features that obtains the best performance for their application. Many of the architectural features
added to Intel
high performance processors. This includes:
®
StrongARM* processor family (compliant with ARM* Architecture V5TE). It is
®
80200 processor incorporates an extensive list of architecture features that allows it to
®
80200 processor help hide memory latency which often is a serious impediment to
®
• the ability to continue instruction execution even while the data cache is retrieving data from
external memory.
• a write buffer.
• write-back caching.
• various data cache allocation policies which can be configured different for each application.
• cache locking.
• and a pipelined external bus.
All these features improve the efficiency of the external bus.
The Intel
support of 16-bit data types and 16-bit operations. These audio coding enhancements center around
multiply and accumulate operations which accelerate many of the audio filter operations.
®
80200 processor has been equipped to efficiently handle audio processing through the
1.1.1ARM* Architecture Compliance
ARM* Version 5 (V5) Architecture added floating point instructions to ARM* Version 4. The
®
80200 processor implements the integer instruction set architecture of ARM V5, but does
Intel
not provide hardware support of the floating point instructions.
The Intel
DSP extensions.
Backward compatibility with the first generation of Intel
user-mode applications. Operating systems may require modifications to match the specific
hardware features of the Intel
enhancements added to the Intel
Developer’s ManualMarch, 20031-1
®
80200 processor provides the Thumb* instruction set (ARM* V5T) and the ARM* V5E
®
StrongARM* products is maintained for
®
80200 processor and to take advantage of the performance
®
80200 processor.
Intel® 80200 Processor based on Intel® XScale™ Microarchitecture
Introduction
1.1.2Features
Figure 1-1 shows the major functional blocks of the Intel® 80200 processor. The following
sections give a brief, high-level overview of these blocks.
Figure 1-1. Intel
®
80200 Processor based on Intel® XScale™ Microarchitecture Features
The MAC unit supports early termination of multiplies/accumulates in two cycles and can sustain a
throughput of a MAC operation every cycle. Several architectural enhancements were made to the
MAC to support audio coding algorithms, which include a 40-bit accumulator and support for
16-bit packed data.
See Section 2.3, “Extensions to ARM* Architecture” on page 2-3 for more details.
1-2March, 2003Developer’s Manual
Intel® 80200 Processor based on Intel® XScale™ Microarchitecture
1.1.2.2Memory Management
The Intel® 80200 processor implements the Memory Management Unit (MMU) Architecture
specified in the ARM Architecture Reference Manual. The MMU provides access protection and
virtual to physical address translation.
The MMU Architecture also specifies the caching policies for the instruction cache and data
memory. These policies are specified as page attributes and include:
• identifying code as cacheable or non-cacheable
• selecting between the mini-data cache or data cache
• write-back or write-through data caching
• enabling data write allocation policy
• and enabling the write buffer to coalesce stores to external memory
Chapter 3, “Memory Management”discusses this in more detail.
1.1.2.3Instruction Cache
The Intel® 80200 processor implements a 32-Kbyte, 32-way set associative instruction cache with
a line size of 32 bytes. All requests that “miss” the instruction cache generate a 32-byte read
request to external memory. A mechanism to lock critical code within the cache is also provided.
Introduction
Chapter 4, “Instruction Cache”discusses this in more detail.
1.1.2.4Branch Target Buffer
The Intel® 80200 processor provides a Branch Target Buffer (BTB) to predict the outcome of
branch type instructions. It provides storage for the target address of branch type instructions and
predicts the next address to present to the instruction cache when the current instruction address is
that of a branch.
The BTB holds 128 entries. See Chapter 5, “Branch Target Buffer”for more details.
1.1.2.5Data Cache
The Intel® 80200 processor implements a 32-Kbyte, a 32-way set associative data cache and a
2-Kbyte, 2-way set associative mini-data cache. Each cache has a line size of 32 bytes, supports
write-through or write-back caching.
The data/mini-data cache is controlled by page attributes defined in the MMU Architecture and by
coprocessor 15.
Chapter 6, “Data Cache”discusses all this in more detail.
The Intel
RAM. Software may place special tables or frequently used variables in this RAM. See
Section 6.4, “Re-configuring the Data Cache as Data RAM” on page 6-12 for more information on
this.
®
80200 processor allows applications to re-configure a portion of the data cache as data
Developer’s ManualMarch, 20031-3
Intel® 80200 Processor based on Intel® XScale™ Microarchitecture
Introduction
1.1.2.6Power Management
The Intel® 80200 processor supports two low power modes: idle and sleep. These modes are
discussed in Section 8.3, “Power Management” on page 8-5.
1.1.2.7Interrupt Controller
An interrupt controller is implemented on the Intel® 80200 processor that provides masking of
interrupts and the ability to steer interrupts to FIQ or IRQ. It is accessed through Coprocessor 13
registers. See Chapter 9, “Interrupts”for more detail.
1.1.2.8Bus Controller
The Intel® 80200 processor supports a pipelined external bus that runs at 100 MHz. The data bus is
32/64 bits with ECC protection. The bus controller can be configured to provide critical word first
on load operations, enhancing overall system performance. The bus controller has four request
queues, where all four requests can be active on the pipelined external bus.
Chapter 10, “External Bus” describes the external bus protocol and Chapter 11, “Bus Controller”
covers the aspects of ECC protection. The bus controller registers are accessed via coprocessor 13.
1.1.2.9Performance Monitoring
Two performance monitoring counters have been added to the Intel® 80200 processor that can be
configured to monitor various events in the Intel
developer to measure cache efficiency, detect system bottlenecks and reduce the overall latency of
programs.
Chapter 12, “Performance Monitoring”discusses this in more detail.
1.1.2.10Debug
The Intel® 80200 processor supports software debugging through two instruction address
breakpoint registers, one data-address breakpoint register, one data-address/mask breakpoint
register, and a trace buffer.
Chapter 13, “Software Debug”discusses this in more detail.
1.1.2.11JTAG
Testability is supported on the Intel® 80200 processor through the Test Access Port (TAP)
Controller implementation, which is based on IEEE 1149.1 (JTAG) Standard Test Access Port and
Boundary-Scan Architecture. The purpose of the TAP controller is to support test logic internal and
external to the Intel
Appendix C.2 discusses this in more detail.
®
80200 processor such as built-in self-test, boundary-scan, and scan.
®
80200 processor. These events allow a software
1-4March, 2003Developer’s Manual
Intel® 80200 Processor based on Intel® XScale™ Microarchitecture
1.2Terminology and Conventions
1.2.1Number Representation
All numbers in this document can be assumed to be base 10 unless designated otherwise. In text
and pseudo code descriptions, hexadecimal numbers have a prefix of 0x and binary numbers have a
prefix of 0b. For example, 107 would be represented as 0x6B in hexadecimal and 0b1101011 in
binary.
1.2.2Terminology and Acronyms
ASSPApplication Specific Standard Product
AssertThis term refers to the logically active value of a signal or bit.
BTBBranch Target Buffer
CleanA clean operation updates external memory with the contents of the specified line in
the data/mini-data cache if any of the dirty bits are set and the line is valid. There are
two dirty bits associated with each line in the cache so only the portion that is dirty
gets written back to external memory.
Introduction
After this operation, the line is still valid and both dirty bits are deasserted.
CoalescingCoalescing means bringing together a new store operation with an existing store
operation already resident in the write buffer. The new store is placed in the same
write buffer entry as an existing store when the address of the new store falls in the
4 word aligned address of the existing entry. This includes, in PCI terminology, write
merging, write collapsing, and write combining.
DeassertThis term refers to the logically inactive value of a signal or bit.
FlushA flush operation invalidates the location(s) in the cache by deasserting the valid bit.
Individual entries (lines) may be flushed or the entire cache may be flushed with one
command. Once an entry is flushed in the cache it can no longer be used by the
program.
ReservedA reserved field is a field that may be used by an implementation. If the initial value
of a reserved field is supplied by software, this value must be zero. Software should
not modify reserved fields or depend on any values in reserved fields.
Developer’s ManualMarch, 20031-5
Intel® 80200 Processor based on Intel® XScale™ Microarchitecture
Introduction
1.3Other Relevant Documents
®
• Intel
• ARM Architecture Version 5TE Specification Document Number: ARM DDI 0100E
• ARM Architecture Reference Manual Document Number: ARM DDI 0100B
• Intel
• Intel
• StrongARM SA-1100 Microprocessor Developer’s Manual, Intel Order # 278088
• StrongARM SA-110 Microprocessor Technical Reference Manual, Intel Order #278058
80200 Processor based on Intel® XScale™ Microarchitecture Datasheet, Intel Order #
273414
This document describes Version 5TE of the ARM Architecture which includes Thumb ISA
and ARM DSP-Enhanced ISA.
This document describes Version 4 of the ARM Architecture.
®
XScale™ Microarchitecture Programming Reference Manual, Intel Order # 273436
®
80312 I/O Companion Chip Developer’s Manual, Intel Order # 273410
1-6March, 2003Developer’s Manual
Programming Model
This chapter describes the programming model of the Intel® 80200 processor based on Intel®
™
XScale
Version 5 architecture.
The ARM* Architecture Version 5TE Specification (ARM DDI 0100E) describes Version 5TE of
the ARM Architecture, including the Thumb* ISA and ARM DSP-Enhanced ISA.
2.1ARM* Architecture Compliance
The Intel® 80200 processor implements the integer instruction set architecture specified in ARM*
Version 5TE. T refers to the Thumb instruction set and E refers to the DSP-Enhanced instruction
set.
ARM* Version 5 introduces a few more architecture features over Version 4, specifically the
addition of tiny pages (1 Kbyte), a new instruction (CLZ) that counts the leading zeroes in a data
value, enhanced ARM-Thumb transfer instructions and a modification of the system control
coprocessor, CP15.
2.2ARM* Architecture Implementation Options
microarchitecture, namely the implementation options and extensions to the ARM*
2
2.2.1Big Endian versus Little Endian
The Intel® 80200 processor supports both big and little endian data representation. The B-bit of the
Control Register (Coprocessor 15, register 1, bit 7) selects big and little endian mode. To run in big
endian mode, the B bit must be set before attempting any sub-word accesses to memory, or
undefined results occur. Note that this bit takes effect even if the MMU is disabled.
2.2.226-Bit Code
The Intel® 80200 processor does not support 26-bit code.
2.2.3Thumb*
The Intel® 80200 processor supports the Thumb instruction set.
Developer’s ManualMarch, 20032-1
Intel® 80200 Processor based on Intel® XScale™ Microarchitecture
Programming Model
2.2.4ARM* DSP-Enhanced Instruction Set
The Intel® 80200 processor implements ARM DSP-enhanced instruction set, which is a set of
instructions that boost the performance of signal processing applications. There are new multiply
instructions that operate on 16-bit data values and new saturation instructions. Some of the new
instructions are:
• SMLAxy32<=16x16+32
• SMLAWy 32<=32x16+32
• SMLALxy64<=16x16+64
• SMULxy32<=16x16
• SMULWy32<=32x16
• QADDadds two registers and saturates the result if an overflow occurred
• QDADDdoubles and saturates one of the input registers then add and saturate
• QSUBsubtracts two registers and saturates the result if an overflow occurred
• QDSUBdoubles and saturates one of the input registers then subtract and saturate
The Intel
following implementation notes:
®
80200 processor also implements LDRD, STRD and PLD instructions with the
• PLD is interpreted as a read operation by the MMU and is ignored by the data breakpoint unit,
i.e., PLD never generates data breakpoint events.
• PLD to a non-cacheable page performs no action. Also, if the targeted cache line is already
resident, this instruction has no affect.
• Both LDRD and STRD instructions generation an alignment exception when the address bits
[2:0] = 0b100.
MCRR and MRRC are only supported on the Intel
0 and are used to access the internal accumulator. See Section 2.3.1.2 for more information. Access
to any other coprocessor besides 0x0 are undefined.
2.2.5Base Register Update
If a data abort is signalled on a memory instruction that specifies writeback, the contents of the
base register is not updated. This holds for all load and store instructions. This behavior matches
that of the first generation Intel
architecture as the Base Restored Abort Model.
®
StrongARM* processor and is referred to in the ARM V5
®
80200 processor when directed to coprocessor
2-2March, 2003Developer’s Manual
Intel® 80200 Processor based on Intel® XScale™ Microarchitecture
2.3Extensions to ARM* Architecture
The Intel® 80200 processor made a few extensions to the ARM Version 5 architecture to meet the
needs of various markets and design requirements. The following is a list of the extensions which
are discussed in the next sections.
• A DSP coprocessor (CP0) has been added that contains a 40-bit accumulator and new
instructions.
• New page attributes were added to the page table descriptors. The C and B page attribute
encoding was extended by one more bit to allow for more encodings: write allocate and
mini-data cache. An attribute specifying ECC for 1Meg regions was also added.
• Additional functionality has been added to coprocessor 15. Coprocessor 14 was also created.
• Enhancements were made to the Event Architecture, instruction cache and data cache parity
error exceptions, breakpoint events, and imprecise external data aborts.
2.3.1DSP Coprocessor 0 (CP0)
The Intel® 80200 processor adds a DSP coprocessor to the architecture for the purpose of
increasing the performance and the precision of audio processing algorithms. This coprocessor
contains a 40-bit accumulator and new instructions.
Programming Model
The 40-bit accumulator is referenced by several new instructions that were added to the
architecture; MIA, MIAPH and MIAxy are multiply/accumulate instructions that reference the
40-bit accumulator instead of a register specified accumulator. MAR and MRA provide the ability
to read and write the 40-bit accumulator.
Access to CP0 is always allowed in all processor modes when bit 0 of the Coprocessor Access
Register is set. Any access to CP0 when this bit is clear causes an undefined exception. (See
Section 7.2.15, “Register 15: Coprocessor Access Register” on page 7-18 for more details). Note
that only privileged software can set this bit in the Coprocessor Access Register.
The 40-bit accumulator needs to be saved on a context switch if multiple processes are using it.
Two new instruction formats were added for coprocessor 0: Multiply with Internal Accumulate
Format and Internal Accumulate Access Format. The formats and instructions are described next.
Developer’s ManualMarch, 20032-3
Intel® 80200 Processor based on Intel® XScale™ Microarchitecture
Programming Model
2.3.1.1Multiply With Internal Accumulate Format
A new multiply format has been created to define operations on 40-bit accumulators. Table 2-1 ,
“Multiply with Internal Accumulate Format” on page 2-4 shows the layout of the new format. The
opcode for this format lies within the coprocessor register transfer instruction type. These
instructions have their own syntax.
Table 2-1. Multiply with Internal Accumulate Format
opcode_3 - specifies the type of multiply with
internal accumulate
®
Intel
0b0000 =
0b1000 = MIAPH
0b1100 = MIABB
0b1101 = MIABT
0b1110 = MIATB
0b1111 = MIATT
The effect of all other encodings are
unpredictable.
®
Intel
access to any other acc has unpredictable
effect.
80200 processor defines the following:
MIA
80200 processor only implements acc0;
Two new fields were created for this format, acc and opcode_3. The acc field specifies 1 of 8
internal accumulators to operate on and opcode_3 defines the operation for this format. The Intel
80200 processor defines a single 40-bit accumulator referred to as acc0; future implementations
may define multiple internal accumulators.The Intel
instructions, MIA, MIAPH, MIABB, MIABT, MIATB and MIATT.
Notes:Early termination is supported. Instruction timings can be found
in Section 14.4.4, “Multiply Instruction Timings” on page 14-6.
Specifying R15 for register Rs or Rm has unpredictable results.
acc0 is defined to be 0b000 on 80200.
The MIA instruction operates similarly to MLA except that the 40-bit accumulator is used. MIA
multiplies the signed value in register Rs (multiplier) by the signed value in register Rm
(multiplicand) and then adds the result to the 40-bit accumulator (acc0).
®
80200 processor uses opcode_3 to define six
®
2-4March, 2003Developer’s Manual
Intel® 80200 Processor based on Intel® XScale™ Microarchitecture
MIA does not support unsigned multiplication; all values in Rs and Rm are interpreted as signed
data values. MIA is useful for operating on signed 16-bit data that was loaded into a general
purpose register by LDRSH.
The instruction is only executed if the condition specified in the instruction matches the condition
code status.
S bit is always cleared; no condition code flags are updated
Notes:Instruction timings can be found
in Section 14.4.4, “Multiply Instruction Timings” on page 14-6.
Specifying R15 for register Rs or Rm has unpredictable results.
acc0 is defined to be 0b000 on 80200
Programming Model
The MIAPH instruction performs two16-bit signed multiplies on packed half word data and
accumulates these to a single 40-bit accumulator. The first signed multiplication is performed on
the lower 16 bits of the value in register Rs with the lower 16 bits of the value in register Rm. The
second signed multiplication is performed on the upper 16 bits of the value in register Rs with the
upper 16 bits of the value in register Rm. Both signed 32-bit products are sign extended and then
added to the value in the 40-bit accumulator (acc0).
The instruction is only executed if the condition specified in the instruction matches the condition
code status.
Developer’s ManualMarch, 20032-5
Intel® 80200 Processor based on Intel® XScale™ Microarchitecture
S bit is always cleared; no condition code flags are updated
Notes:Instruction timings can be found
in Section 14.4.4, “Multiply Instruction Timings” on page 14-6.
Specifying R15 for register Rs or Rm has unpredictable results.
acc0 is defined to be 0b000 on 80200.
The MIAxy instruction performs one16-bit signed multiply and accumulates these to a single
40-bit accumulator. x refers to either the upper half or lower half of register Rm (multiplicand) and
y refers to the upper or lower half of Rs (multiplier). A value of 0x1 selects bits [31:16] of the
register which is specified in the mnemonic as T (for top). A value of 0x0 selects bits [15:0] of the
register which is specified in the mnemonic as B (for bottom).
MIAxy does not support unsigned multiplication; all values in Rs and Rm are interpreted as signed
data values.
The instruction is only executed if the condition specified in the instruction matches the condition
code status.
2-6March, 2003Developer’s Manual
Intel® 80200 Processor based on Intel® XScale™ Microarchitecture
2.3.1.2Internal Accumulator Access Format
The Intel® 80200 processor defines a new instruction format for accessing internal accumulators in
CP0. Table 2-5, “Internal Accumulator Access Format” on page 2-7 shows that the opcode falls
into the coprocessor register transfer space.
Programming Model
The RdHi and RdLo fields allow up to 64 bits of data transfer between Intel
registers and an internal accumulator. The acc field specifies 1 of 8 internal accumulators to
transfer data to/from. The Intel
®
80200 processor implements a single 40-bit accumulator referred
to as acc0; future implementations can specify multiple internal accumulators of varying sizes, up
to 64 bits.
Access to the internal accumulator is allowed in all processor modes (user and privileged) as long
bit 0 of the Coprocessor Access Register is set. (See Section 7.2.15, “Register 15: Coprocessor
Access Register” on page 7-18 for more details).
The Intel
®
80200 processor implements two instructions MAR and MRA that move two Intel®
StrongARM* registers to acc0 and move acc0 to two Intel
L - move to/from internal accumulator
0= move to internal accumulator (MAR)
1= move from internal accumulator (MRA)
RdHi - specifies the high order eight (39:32)
bits of the internal accumulator.
RdLo - specifies the low order 32 bits of the
internal accumulator
®
StrongARM*
®
StrongARM* registers, respectively.
-
On a read of the acc, this 8-bit high order field
is sign extended.
On a write to the acc, the lower 8 bits of this
register is written to acc[39:32]
-
This field could be used in future
implementations to specify the type of
saturation to perform on the read of an internal
accumulator. (e.g., a signed saturation to
16-bits may be useful for some filter
algorithms.)
-
®
80200 processor only implements acc0;
Intel
access to any other acc is unpredictable
Note:MAR has the same encoding as MCRR (to coprocessor 0) and MRA has the same encoding as
MRRC (to coprocessor 0). These instructions move 64-bits of data to/from ARM registers from/to
coprocessor registers. MCRR and MRRC are defined in ARM’s DSP instruction set.
Disassemblers not aware of MAR and MRA produces the following syntax:
Section 14.4.4, “Multiply Instruction Timings” on page 14-6
Specifying R15 as either RdHi or RdLo has unpredictable results.
The MAR instruction moves the value in register RdLo to bits[31:0] of the 40-bit accumulator
(acc0) and moves bits[7:0] of the value in register RdHi into bits[39:32] of acc0.
The instruction is only executed if the condition specified in the instruction matches the condition
code status.
Section 14.4.4, “Multiply Instruction Timings” on page 14-6
Specifying the same register for RdHi and RdLo has unpredictable
results.
Specifying R15 as either RdHi or RdLo has unpredictable results.
The MRA instruction moves the 40-bit accumulator value (acc0) into two registers. Bits[31:0] of
the value in acc0 are moved into the register RdLo. Bits[39:32] of the value in acc0 are sign
extended to 32 bits and moved into the register RdHi.
The instruction is only executed if the condition specified in the instruction matches the condition
code status.
This instruction executes in any processor mode.
2-8March, 2003Developer’s Manual
Loading...
+ 259 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.