No part of this material may be reproduced or duplicated in any form or by any means without the written permission of Seiko Epson. Seiko Epson reserves the right to make changes to this material without notice. Seiko
Epson does not assume any liability of any kind arising out of any inaccuracies contained in this material or due
to its application or use in any product or circuit and, further, there is no representation that this material is applicable to products requiring high level reliability, such as medical products. Moreover, no license to any intellectual property rights is granted by implication or otherwise, and there is no representation or warranty that
anything made in accordance with this material will be free from any patent or copyright infringement of a third
party. This material or portions thereof may contain technology or the subject relating to strategic products under
the control of the Foreign Exchange and Foreign Trade Law of Japan and may require an export license from the
Ministry of International Trade and Industry or other approval from another government agency.
*is the registered trademark of ARM Limited.
* CompactFlash is a registered trademark of Sandisk Corporation.
Names mentioned herein are trademarks and/or registered trademarks of their respective companies.
Table A-2Coprocessor interface signal descriptions ..................................................A-2
Table A-3JTAG and test signal descriptions...............................................................A-3
Table A-4Debugger signal descriptions......................................................................A-4
Table A-5ETM interface signal descriptions...............................................................A-5
Table A-6 ATPG test signal descriptions....................................................................A-7
Table A-7Miscellaneous signal descriptions...............................................................A-7
ARM720T CORE CPU MANUAL EPSON vii
CONTENTS
THIS PAGE IS BLANK.
viiiEPSONARM DDI 0229B
Preface
Preface
Preface
This preface introduces the
CPU Manual
. It contains the following sections:
About this document ................................................................................................. xi
ARM720T Revision 4 (AMBA AHB Bus Interface Version) CORE
About this document
This document is a technical reference manual for the ARM720T r4p2 processor.
Intended audience
This document has been written for experienced hardware and software engineers who might
or might not have experience of the architecture, configuration, integration, and instruction
sets with reference to the ARM product range. it provides information to enable designers to
integrate the processor into a target system as quickly as possible.
Using this manual
This document is organized into the following chapters:
Chapter 1
Chapter 2
Introduction
Programmer’s Model
Read this chapter for an introduction to the ARM720T processor.
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Read this chapter for a description of the 32-bit ARM and 16-bit
Thumb instruction sets.
Configuration
Read this chapter for a description of the ARM1156F-S control
coprocessor CP15 register configurations and programming
details.
Instruction and Data Cache
Read this chapter for a description of the mixed instruction and
data cache.
Write Buffer
The Bus Interface
Memory Management Unit
Read this chapter for a description on how to enhance the system
performance of the ARM720T processor by using the write buffer.
Read this chapter for a description of the ARM720T processor bus
interface.
Read this chapter for a description of the functions and how to use
of the
Memory Management Unit
(MMU).
ARM720T CORE CPU MANUALEPSONxi
Preface
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Chapter
Coprocessor Interface
Read this chapter for a description on how to connect coprocessors
to the ARM1156F-S coprocessor interface.
Debugging Your System
Read this chapter for a description of the hardware extensions and
integrated on-chip debug support for the ARM720T processor.
ETM Interface
Test Support
Signal Descriptions
Read this chapter for a description of the Embedded Trace
Macrocell support for the ARM720T processor.
Read this chapter for a description of how to perform device-specific
test operations.
Read this appendix for a list of all ARM720T processor interface
signals.
Typographical conventions
The following typographical conventions are used in this document:
bold Highlights ARM processor signal names, and interface elements
such as menu names. Also used for terms in descriptive lists, where
appropriate.
italic
monospaceDenotes text that can be entered at the keyboard, such as
spaceDenotes a permitted abbreviation for a command or option. The
mono
monospace italicDenotes arguments to commands or functions where the argument
monospace bold Denotes language keywords when used outside example code.
Highlights special terminology, cross-references, and citations.
commands, file names and program names, and source code.
underlined text can be entered instead of the full command or
option name.
is to be replaced by a specific value.
Product revision status
The rnpn identifier indicates the revision status of the product described in this document,
where:
n
r
n
p
Identifies the major revision of the product.
Identifies the minor revision or modification status of the product.
xiiEPSONARM720T CORE CPU MANUAL
Preface
Timing diagram conventions
This manual contains one or more timing diagrams. The following key explains the
components used in these diagrams. Any variations are clearly labeled when they occur.
Therefore, no additional meaning must be attached unless specifically stated.
Clock
HIGH to LOW
Transient
HIGH/LOW to HIGH
Bus stable
Bus to high impedance
Bus change
High impedance to stable bus
Key to timing diagram conventions
Shaded bus and signal areas are undefined, so the bus or signal can assume any value within
the shaded area at that time. The actual level is unimportant and does not affect normal
operation.
Further reading
This section lists publications by ARM Limited, and by third parties.
ARM periodically provides updates and corrections to its documentation. See
http://www.arm.com for current errata sheets, addenda, and ARM Frequently Asked Questions.
ARM publications
This document contains information that is specific to the ARM720T processor. Refer to the
following documents for other relevant information:
This section lists relevant documents published by third parties.
Standard Test Access Port and Boundary Scan Architecture
•
(IEEE Std.
1149.1.1990).
Figure 9-8 on page 9-19 is printed with permission IEEE Std. 1149.1-1990, IEEE Standard
Test Access Port and Boundary-Scan Architecture Copyright 2001, by IEEE. The IEEE
disclaims any responsibility or liability resulting from the placement and use in the described
manner.
ARM720T CORE CPU MANUALEPSONxiii
Preface
THIS PAGE IS BLANK.
xivEPSONARM720T CORE CPU MANUAL
1
Introduction
1: Introduction
1Introduction
This chapter provides an introduction to the ARM720T processor. It contains the following
sections:
1.1About the ARM720T processor.................................................................. 1-1
The ARM720T processor is a general-purpose 32-bit microprocessor with 8KB cache, enlarged
write buffer , and
processor uses the ARM7TDMI-S CPU, and is software-compatible with the ARM processor
family.
Memory Management Unit
(MMU) combined in a single chip. The ARM720T
The on-chip mixed data and instruction cache, together with the write buffer, substantially
raise the average execution speed and reduce the average amount of memory bandwidth
required by the processor . This enables the external memory to support additional processors
or
Direct Memory Access
The MMU supports a conventional two-level page table structure and several extensions that
make it ideal for running high-end embedded applications and sophisticated operating
systems.
The allocation of virtual addresses with different task IDs improves performance in task
switching operations with the cache enabled. These relocated virtual addresses are monitored
by the EmbeddedICE-RT block.
The memory interface enables the performance potential to be realized without incurring high
costs in the memory system. Speed-critical control signals are pipelined to allow system
control functions to be implemented in standard low-power logic. These control signals permit
the exploitation of paged mode access offered by industry-standard DRAMs.
The ARM720T processor is provided with an
brings out the required signals from the ARM core to the periphery of the ARM720T processor .
This enables you to connect a standard ETM7 macrocell.
The ARM720T processor is a fully static part and has been designed to minimize power
requirements. This makes it ideal for portable applications where low power consumption is
essential.
The ARM720T processor architecture is based on
principles. The instruction set and related decode mechanism are greatly simplified compared
with microprogrammed
(DMA) channels with minimal performance loss.
Embedded T race Macrocell
Reduced Instruction Set Computer
Complex Instruction Set Computers
(CISCs).
(ETM) interface that
(RISC)
ARM720T CORE CPU MANUALEPSON1-1
1: Introduction
A block diagram of the ARM720T processor is shown in Figure 1-1.
Virtual addres s bus
MMU
8KB cache
Internal data bus
ARM720T core
JTAG debug
inter f ace
ETM interfac e
Coprocess or
inter f ace
Data and
address
buffers
AMBA
inter f ace
AMBA AHB
bus interfac e
Control and
clocking logic
System c ontrol
coproc essor
ARM720T
Figure 1-1 720T Block diagram
1-2EPSONARM720T CORE CPU MANUAL
The functional signals on the ARM720T processor are shown in Figure 1-2.
1: Introduction
AMBA
inte r f ace
Coprocess or
inte r f ace
Deb ug
inte r f ace
Mis cellaneous
signals
ATPG
Signals
HADDR[ 31:0 ]
HTRANS[ 1:0]
HBURST [2:0]
HWRI T E
HSIZE[2 :0]
HPROT [3 :0]
HGRA NT
HREADY
HRESP[1:0]
HWDA TA [31 :0]
HRDAT A[ 31:0 ]
HBUSREQ
HLOC K
HCL KEN
EXTCPCLKEN
EXT C P DIN[ 3 1: 0]
EXTCPDOUT[31:0]
EXT C P A
EXT C P B
CPnCPI
CPnOPC
CPTBIT
CPnTRANS
CPnMREQ
EXT CPDBE
COMMRX
COMMTX
DBGA CK
DBGEN
DBGRQ
DBGEXT [1:0]
DBGRNG[ 1:0]
DBGBREAK
BIGENDOUT
nFIQ
nIRQ
VINITHI
HRESETn
HCL K
TESTENABLE
SCANENABLE
ARM720T processor
DBGIR[ 3:0]
DBGSREG[ 3:0]
DBGSDI N
DBGSDO UT
DBGT APS M [3 :0]
DBGC APT URE
DBGSHI FT
DBGUPDA TE
DBGINTEST
DBGEXT EST
DBGn TDOEN
DBGn TRST
DBGT CKEN
DBGT DI
DBGT DO
DBGT MS
ET M EN
ET M BI GEND
ET M HI V ECS
ET M n M REQ
ET M n OP C
ET M SEQ
ET M n EXEC
ETM INSTRVALID
ET M n CP I
ETM ADDR[31 :0]
ET M n RW
ET M C LK EN
ET M SI Z E[1 :0 ]
ETM DBGA CK
ETM RDATA[31 :0]
ET M W DAT A [ 31 :0 ]
ETM ABORT
ET M C PA
ET M C PB
ET M T BIT
ETM PROCID[ 31:0]
ETM PROCIDW R
SCANIN0 - SCANIN6
SCANOUT0 - SCANOUT6
JTAG
inte r f ace
ETM interfac e
ATPG
Signals
Figure 1-2 ARM720T processor functional signals
1.1.1EmbeddedICE-RT logic
The EmbeddedICE-RT logic provides integrated on-chip debug support for the ARM720T core.
It enables you to program the conditions under which a breakpoint or watchpoint can occur.
The EmbeddedICE-RT logic is an enhanced implementation of EmbeddedICE, and enables
you to perform debugging in monitor mode. In monitor mode, the core takes an exception on a
breakpoint or watchpoint, rather than entering debug state as it does in halt mode.
If the core does not enter debug state when it encounters a watchpoint or breakpoint, it can
continue to service hardware interrupt requests as normal. Debugging in monitor mode is
useful if the core forms part of the feedback loop of a mechanical system, where stopping the
core can potentially lead to system failure.
The EmbeddedICE-RT logic contains a
used to pass information between the target and the host debugger. The EmbeddedICE-RT
logic is controlled through the
ARM720T CORE CPU MANUALEPSON1-3
Joint Test Action Group
Debug Communications Channel
(DCC). The DCC is
(JTAG) test access port.
1: Introduction
Changes to the programmer’s model
T o provide support for the EmbeddedICE-RT macrocell, the following changes have been made
to the programmer’s model for the ARM720T processor:
Debug Control Register
There are two new bits in the Debug Control Register:
Bit 4 Monitor mode enable. Use this to control how the device reacts on
a breakpoint or watchpoint:
•When set, the core takes the instruction or data abort
exception.
•When clear, the core enters debug state.
Bit 5EmbeddedICE-RT disable. Use this when changing watchpoints
and breakpoints:
•When set, this bit disables breakpoints and watchpoints,
enabling the breakpoint or watchpoint registers to be
programmed with new values.
•When clear , the new breakpoint or watchpoint values become
operational.
For more information, see
Debug control register
on page 9-39.
Coprocessor register map
A new register, r2, in the coprocessor CP14 register map indicates if the processor
entered the Prefetch or Data Abort exception because of a real abort, or because of a
breakpoint or watchpoint. For more details, see
For more details, see Chapter 9
Debugging Your System
Abort status register
.
on page 9-38.
1-4EPSONARM720T CORE CPU MANUAL
1: Introduction
1.2Coprocessors
The ARM720T processor has an internal coprocessor designated CP15 for internal control of
the device (see Chapter 3
The ARM720T processor also includes a port for the connection of on-chip external
coprocessors. This enables extension of the ARM720T functionality in an
architecturally-consistent manner.
Configuration
).
1.3About the instruction set
The instruction set comprises ten basic instruction types:
•Two types use the on-chip arithmetic logic unit, barrel shifter, and multiplier to
perform high-speed operations on the data in a bank of 31 registers, each 32 bits
wide.
•Three types of instruction control the data transfer between memory and the
registers:
–one optimized for flexibility of addressing
–one for rapid context switching
–one for swapping data.
•Two instructions control the flow and privilege level of execution.
•Three types are dedicated to the control of external coprocessors. These enable you
to extend the functionality of the instruction set off-chip in an open and uniform
way.
The ARM instruction set is a good target for compilers of many different high-level languages.
Where required for critical code segments, assembly code programming is also
straightforward.
ARM720T CORE CPU MANUALEPSON1-5
1: Introduction
1.3.1Format summary
This section provides a summary of the ARM and Thumb instruction sets:
•
ARM instruction set
on page 1-7
Thumb instruction set
•
on page 1-14
A key to the instruction set tables is shown in Table 1-1.
The ARM7TDMI-S core on the ARM720T processor is an implementation of the ARM
architecture v4T. For a complete description of both instruction sets, see the
Architecture Reference Manual
.
ARM
Table 1-1 Key to tables
EntryDescription
{cond}Refer to Table 1-11 on page 1-13.
<Oprnd2>Refer to Table 1-9 on page 1-12.
{field}Refer to Table 1-10 on page 1-12.
SSets condition codes (optional).
BByte operation (optional).
HHalfword operation (optional).
TForces address translation. Cannot be
used with pre-indexed addresses.
<a_mode2>Refer to Table 1-3 on page 1-10 .
<a_mode2P>Refer to Table 1-4 on page 1-11.
<a_mode3>Refer to Table 1-5 on page 1-11 .
<a_mode4L>Refer to Table 1-6 on page 1-11.
<a_mode4S>Refer to Table 1-7 on page 1-12.
<a_mode5>Refer to Table 1-8 on page 1-12 .
#<32bit_Imm>A 32-bit constant, formed by
right-rotating an 8-bit value by an even
number of bits.
<reglist>A comma-separated list of registers,
enclosed in braces ( { and } ).
1-6EPSONARM720T CORE CPU MANUAL
1: Introduction
1.3.2ARM instruction set
This section gives an overview of the ARM instructions available. For full details of these
instructions, see the
The ARM instruction set formats are shown in Figure 1-3.
Note:Some instruction codes are not defined but do not cause the Undefined instruction
trap to be taken, for example, a multiply instruction with bit 6 set. You must not
use these instructions, because their action might change in future ARM
implementations.
ARM720T CORE CPU MANUALEPSON1-7
1: Introduction
The ARM instruction set summary is shown in Table 1-2.
Table 1-2 ARM instructio n su mm ary
OperationAssembler
MoveMoveMOV{cond}{S} <Rd>, <Oprnd2>
Move NOTMVN{cond}{S} <Rd>, <Oprnd2>
Move SPSR to registerMRS{cond} <Rd>, SPSR
Move CPSR to registerMRS{cond} <Rd>, CPSR
Move register to SPSRMSR{cond} SPSR{field}, <Rm>
Move register to CPSRMSR{cond} CPSR{field}, <Rm>
Move immediate to SPSR flagsMSR{cond} SPSR_f, #<32bit_Imm>
Move immediate to CPSR flagsMSR{cond} CPSR_f, #<32bit_Imm>
ArithmeticAddADD{cond}{S} <Rd>, <Rn>, <Oprnd2>
Add with carryADC{cond}{S} <Rd>, <Rn>, <Oprnd2>
SubtractSUB{cond}{S} <Rd>, <Rn>, <Oprnd2>
Subtract with carrySBC{cond}{S} <Rd>, <Rn>, <Oprnd2>
Subtract reverse subtractRSB{cond}{S} <Rd>, <Rn>, <Oprnd2>
Subtract reverse subtract with carryRSC{cond}{S} <Rd>, <Rn>, <Oprnd2>
MultiplyMUL{cond}{S} <Rd>, <Rm>, <Rs>
Multiply accumulateMLA{cond}{S} <Rd>, <Rm>, <Rs>, <Rn>
Multiply unsigned longUM UL L { c o n d } { S } <R d L o > , < R d H i>, <Rm>, < R s >
Multiply unsigned accumulate longUMLAL{cond}{S} <RdLo>, <RdHi>, <Rm>, <Rs>
Multiply signed longSMULL{cond}{S} <RdLo>, <RdHi>, <Rm>, <Rs>
Multiply signed accumulate longSMLAL{cond}{S} <RdLo>, <RdHi>, <Rm>, <Rs>
CompareCMP{cond} <Rd>, <Oprnd2>
Compare negativeCMN{cond} <Rd>, <Oprnd2>