电子工程世界电子工程世界电子工程世界

产品描述

搜索
 

HD6417709SF167B

器件型号:HD6417709SF167B
厂商名称:Renesas Electronics Corporation
厂商官网:https://www.renesas.com/
下载文档

文档预览

HD6417709SF167B器件文档内容

32                       SH7709S Group

                                              Hardware Manual

                          Renesas 32-Bit RISC Microcomputer
               SuperH RISC engine Family/SH7700 Series

    Rev.5.00
    2003.9.18
     Renesas 32-Bit RISC Microcomputer
SuperH RISC engine Family/SH7700 Series

        SH7709S Group
       Hardware Manual

                                                                                                              REJ09B0081-0500O
Cautions

Keep safety first in your circuit designs!
1. Renesas Technology Corp. puts the maximum effort into making semiconductor products

    better and more reliable, but there is always the possibility that trouble may occur with them.
    Trouble with semiconductors may lead to personal injury, fire or property damage.
    Remember to give due consideration to safety when making your circuit designs, with
    appropriate measures such as (i) placement of substitutive, auxiliary circuits, (ii) use of
    nonflammable material or (iii) prevention against any malfunction or mishap.

Notes regarding these materials
1. These materials are intended as a reference to assist our customers in the selection of the

    Renesas Technology Corp. product best suited to the customer's application; they do not
    convey any license under any intellectual property rights, or any other rights, belonging to
    Renesas Technology Corp. or a third party.
2. Renesas Technology Corp. assumes no responsibility for any damage, or infringement of any
    third-party's rights, originating in the use of any product data, diagrams, charts, programs,
    algorithms, or circuit application examples contained in these materials.
3. All information contained in these materials, including product data, diagrams, charts,
    programs and algorithms represents information on products at the time of publication of these
    materials, and are subject to change by Renesas Technology Corp. without notice due to
    product improvements or other reasons. It is therefore recommended that customers contact
    Renesas Technology Corp. or an authorized Renesas Technology Corp. product distributor for
    the latest product information before purchasing a product listed herein.
    The information described here may contain technical inaccuracies or typographical errors.
    Renesas Technology Corp. assumes no responsibility for any damage, liability, or other loss
    rising from these inaccuracies or errors.
    Please also pay attention to information published by Renesas Technology Corp. by various
    means, including the Renesas Technology Corp. Semiconductor home page
    (http://www.renesas.com).
4. When using any or all of the information contained in these materials, including product data,
    diagrams, charts, programs, and algorithms, please be sure to evaluate all information as a total
    system before making a final decision on the applicability of the information and products.
    Renesas Technology Corp. assumes no responsibility for any damage, liability or other loss
    resulting from the information contained herein.
5. Renesas Technology Corp. semiconductors are not designed or manufactured for use in a
    device or system that is used under circumstances in which human life is potentially at stake.
    Please contact Renesas Technology Corp. or an authorized Renesas Technology Corp. product
    distributor when considering the use of a product contained herein for any specific purposes,
    such as apparatus or systems for transportation, vehicular, medical, aerospace, nuclear, or
    undersea repeater use.
6. The prior written approval of Renesas Technology Corp. is necessary to reprint or reproduce in
    whole or in part these materials.
7. If these products or technologies are subject to the Japanese export control restrictions, they
    must be exported under a license from the Japanese government and cannot be imported into a
    country other than the approved destination.
    Any diversion or reexport contrary to the export control laws and regulations of Japan and/or
    the country of destination is prohibited.
8. Please contact Renesas Technology Corp. for further details on these materials or the products
    contained therein.

Rev. 5.00, 09/03, page iv of xliv
General Precautions on Handling of Product

1. Treatment of NC Pins

Note: Do not connect anything to the NC pins.
         The NC (not connected) pins are either not connected to any of the internal circuitry or are
         used as test pins or to reduce noise. If something is connected to the NC pins, the
         operation of the LSI is not guaranteed.

2. Treatment of Unused Input Pins

Note: Fix all unused input pins to high or low level.
         Generally, the input pins of CMOS products are high-impedance input pins. If unused pins
         are in their open states, intermediate levels are induced by noise in the vicinity, a pass-
         through current flows internally, and a malfunction may occur.

3. Processing before Initialization

Note:  When power is first supplied, the product's state is undefined.
       The states of internal circuits are undefined until full power is supplied throughout the
       chip and a low level is input on the reset pin. During the period where the states are
       undefined, the register settings and the output state of each pin are also undefined. Design
       your system so that it does not malfunction because of processing while it is in this

       undefined state. For those products which have a reset function, reset the LSI immediately

       after the power supply has been turned on.

4. Prohibition of Access to Undefined or Reserved Addresses

Note: Access to undefined or reserved addresses is prohibited.
         The undefined or reserved addresses may be used to expand functions, or test registers
         may have been be allocated to these addresses. Do not access these registers; the system's
         operation is not guaranteed if they are accessed.

                                                   Rev. 5.00, 09/03, page v of xliv
                   Configuration of This Manual

This manual comprises the following items:

1. General Precautions on Handling of Product
2. Configuration of This Manual
3. Preface
4. Contents
5. Overview
6. Description of Functional Modules

    CPU and System-Control Modules
    On-Chip Peripheral Modules

        The configuration of the functional description of each module differs according to the
        module. However, the generic style includes the following items:
    i) Feature
    ii) Input/Output Pin
    iii) Register Description
    iv) Operation
    v) Usage Note

When designing an application system that includes this LSI, take notes into account. Each section
includes notes in relation to the descriptions given, and usage notes are given, as required, as the
final part of each section.

7. List of Registers
8. Electrical Characteristics
9. Appendix
10. Main Revisions and Additions in this Edition (only for revised versions)

The list of revisions is a summary of points that have been revised or added to earlier versions.
This does not include all of the revised contents. For details, see the actual locations in this
manual.

11. Index

Rev. 5.00, 09/03, page vi of xliv
Preface

This LSI is a microprocessor with the 32-bit SH-3 CPU as its core and peripheral functions
necessary for configuring a user system.

This LSI is built in with a variety of peripheral functions such as cache memory, memory
management unit (MMU), interrupt controller, timer, three serial communication interfaces, real-
time clock (RTC), use break controller (UBC), bus state controller (BSC) and I/O ports.

This LSI can be used as a microcomputer for devices that require both high speed and low power
consumption.

Target Readers: This manual is designed for use by people who design application systems using
the SH7709S.
To use this manual, basic knowledge of electric circuits, logic circuits and microcomputers is
required.

Purpose: This manual provides the information of the hardware functions and electrical
characteristics of the SH7709S.
The SH3, SH-3E, SH3-DSP Programming Manual contains detailed information of executable
instructions. Please read the Programming Manual together with this manual.

How to Use the Book:

To understand general functions
     Read the manual from the beginning.
        The manual explains the CPU, system control functions, peripheral functions and electrical
        characteristics in that order.

To understanding CPU functions
     Refer to the separate SH3, SH-3E, SH3-DSP Programming Manual.

Explanatory Note: Bit sequence: upper bit at left, and lower bit at right

List of Related Documents: The latest documents are available on our Web site. Please make
sure that you have the latest version.
(http://www.renesas.com/eng/)

User manuals for SH7709S

Name of Document                        Document No.
SH7709S Group Hardware Manual           This manual
SH3, SH-3E, SH3-DSP Programming Manual  ADE-602-156

                                        Rev. 5.00, 09/03, page vii of xliv
User manuals for development tools                                     Document No.
                                                                         ADE-702-246
     Name of Document                                                    ADE-702-186
     C/C++ Compiler, Assembler, Optimizing Linkage Editor User's Manual  ADE-702-201
     Simulator/Debugger User's Manual
     Embedded Workshop User's Manual

Rev. 5.00, 09/03, page viii of xliv
List of Items Revised or Added for This Version

Section            Page    Description
                   6       ASERAM deleted from figure
1.2 Block Diagram
Figure 1.1 Block                               BRIDGE
Diagram

                               UDI       I bus 2
                              INTC
                           CPG/WDT

                                     External bus
                                       interface

                           ASERAM deleted from legend

2.5.1 Processor States 53  Description amended

5.4 Memory-Mapped 113      In the power-on reset state, the internal states of the CPU and the
Cache
5.4.1 Address Array        on-chip supporting module registers are initialized. In the manual

                           reset state, the internal states of the CPU and registers of on-chip

                           supporting modules other than the bus state controller (BSC) are

                           initialized.                Refer to

                           the register configurations in the relevant sections for further

                           details.

                           Description amended

                           This operation is used to invalidate the address specification for a
                           cache. Write back will take place when the U bit of the entry that
                           received a hit is 1. Note that, when a 0 is written to the V bit, a 0
                           should always be written to the U bit of the same entry, too.

                                                       Rev. 5.0, 09/03, page ix of xliv
Section                 Page     Description

5.4.3 Examples of       115,     (1) Invalidating a Specific Entry
Usage                   116      Description amended
                                 A specific cache entry can be invalidated by accessing the allocated
6.2.6 Interrupt         127      memory cache and writing a 0 to the entry's U and V bits. The A bit is
                                 cleared to 0, and an address is specified for the entry address and the
Exception Handling and           way. If the U bit of the way of the entry in question was set to 1, the
                                 entry is written back and the V and U bits specified by the write data are
Priority                         written to.
                                 In the following example, the write data is specified in R0 and the
Table 6.4 Interrupt              address is specified in R1.
Exception Handling               ; R0 = H'0000 0000 LRU = H'000, U = 0, V = 0
Sources and Priority             ; R1 = H'F000 1080, Way = 1, Entry = H'08, A = 0
(IRQ Mode)                       ;

6.3.6 Interrupt         138                MOV.L R0, @R1

Request Register 0               To invalidate all entries and ways, write 0 to the following addresses.
                                          Addresses
(IRR0)                                         F000 0000
                                               F000 0010
8.2.1 Standby Control 184                      F000 0020
Register (STBCR)                                      :
                                               F000 3FF0

                                 This involves a total of 1,024 writes.
                                 The above operation should be performed using a non-cacheable area.

                                 (2) Invalidating a Specific Address
                                 Newly added
                                 (3) Reading Data from a Specific Entry
                                 Description amended
                                 ; R0 = H'F100 004C; Data array access, Entry = H'04,
                                 ; Way = 0, Longword address = 3
                                 ;

                                     MOV.L R0, @R1 ; Longword 3 is read.
                                 IPR (bit numbers) for SCI amended
                                 (Before)IPRB(3-0)  (After)IPRB(7-4)

                                 Description amended
                                 When clearing an IRQ5RIRQ0R bit to 0, read the bit while bit set
                                 to 1, and then write 0. In this case, 0 should be written only to the
                                 bits to be cleared and 1 to the other bits. The contents of the bits
                                 to which 1 is written do not change.

                                 Description added
                                 Bit 1--Module Standby 1 (MSTP1)
                                 Before switching the RTC to module standby, access at least one
                                 among the registers RTC, SCI, and TMU.

Rev. 5.0, 09/03, page x of xliv
Section               Page  Description
                      187
8.3.3 Precautions           Newley added
when Using the Sleep  191
Mode                        Note *3 added to bit table
                            Note: 3. Before putting the RTC into module standby status, first
8.5.1 Transition to
Module Standby                          access one or more of the RTC, SCI, and TMU
Function                                registers. The RTC may then be put into module standby
                                        status.
9.3 Clock Operating 210     2. under cautions amended
Modes                       The peripheral clock frequency should not be set higher than the
                            frequency of the CKIO pin, higher than 33.34 MHz.
Table 9.4 Available
Combinations of Clock       Description added
Mode and FRQCR              5.Supply of the clock that has been set begins at WDT count
Values
                              overflow, and the processor begins operating again. The WDT
9.5.1 Changing the 213        stops after it overflows.
Multiplication Rate         When the following three conditions are all met, FRQCR should
                            not be changed while a DMAC transfer is in progress.
9.8.2 Changing the 218,      Bits IFC2 to IFC0 are changed.
                            STC2 to STC0 are not changed.
Frequency             219    The clock ratio of I (on-chip clock) to B (bus clock) after the
                            change is other than 1:1.
10.1.1 Features       223   Description added
                            5.The counter stops at a value of H'00 or H'01. The stop value
10.2.5 Individual     246   depends on the clock ratio.
                            When the following three conditions are all met, FRQCR should
Memory Control              not be changed while a DMAC transfer is in progress.
                            Bits IFC2 to IFC0 are changed.
Register (MCR)               STC2 to STC0 are not changed.
                            The clock ratio of I (on-chip clock) to B (bus clock) after the
                            change is other than 1:1.
                            Refresh function description deleted
                            Description added
                            Bit 7--Synchronous DRAM Bank Active (RASD): Specifies
                            whether synchronous DRAM is used in bank active mode or auto-
                            precharge mode. Set auto-precharge mode when areas 2 and 3
                            are both designated as synchronous DRAM space.
                            The bank active mode should not be used unless the bus width
                            for all areas is 32 bits.

                            Rev. 5.0, 09/03, page xi of xliv
Section                Page        Description

10.2.13 MCS0 Control 258           Description added
Register (MCSCR0)
                                   Bit 6--CS2/CS0 Select (CS2/0)
10.3.4 Synchronous 290             Only 0 should be used for the CS2/0 bit in MCSCR0. Either 0 or 1
DRAM Interface                     may be used for MCSCR1 to MCSCR7.

10.3.6 PCMCIA          310         Bank Active description added

Interface                          ... .In bank active mode, too, all banks become inactive after a
                                   refresh cycle or after the bus is released as the result of bus
Figure 10.32 Basic                 arbitration.
Timing for PCMCIA                  The bank active mode should not be used unless the bus width
Memory Card Interface              for all areas is 32 bits.

                                   Figure amended

                                   D15 to D0

                                   (Write)

10.3.7 Waits between 320           Figure amended
Access Cycles
                                              T1   T2 Twait T1  T2 Twait T1        T2
Figure 10.40 Waits
between Access Cycles              CKIO

                                   A25 to A0

10.3.10 MCS[0] to      323 Description amended
MCS[7] Pin Control
                                 This enables 32-, 64-, 128-, or 256-Mbit memory to be connected
                                 to area 0 or area 2. However, only CS2/0 = 0 (area 0) should be
                                 used for MCSCR0. Table 10.15 shows MCSCR0MCSCR7
                                 settings and MCS[0]MCS[7] assertion conditions.

11.6 Usage Notes       387 Description added

                                   13. DMAC transfers should not be performed in the sleep mode
                                         under conditions other than when the clock ratio of I (on-
                                         chip clock) to B (bus clock) is 1:1.

                                   14. When the following three conditions are all met, the
                                         frequency control register (FRQCR) should not be changed
                                         while a DMAC transfer is in progress.

                                          Bits IFC2 to IFC0 are changed.

                                          STC2 to STC0 in FRQCR are not changed.

                                          The clock ratio of I (on-chip clock) to B (bus clock) after
                                            the change is other than 1:1.

13.4.3 Precautions 426 Newly added
when Using RTC

Module Standby

Rev. 5.0, 09/03, page xii of xliv
Section               Page  Description
16.4 SCIF Interrupts  550
                            Description amended

                            When the TDFE flag in the serial status register (SCSSR) is set to
                            1, a TXI interrupt request is generated. The DMAC can be
                            activated and data transfer performed when this interrupt is
                            generated. When data exceeding the transmit trigger number is
                            written to the transmit data register (SCFTDR) by the DMAC, 1 is
                            read from the TDFE flag, after which 0 is written to it to clear it.

16.5 Usage Notes      551   When the RDF flag in SCSSR is set to 1, an RXI interrupt request
                            is generated. The DMAC can be activated and data transfer
19.13.2 SC Port Data 610    performed when the RDF flag in SCSSR is set to 1. When
Register (SCPDR)            receive data less than the receive trigger number is read from the
                            receive data register (SCFRDR) by the DMAC, 1 is read from the
                            RDF flag, after which 0 is written to it to clear it.

                            Description amended

                            1. SCFTDR Writing and TDFE Flag:
                            However, if the number of data bytes written to SCFTDR is equal
                            to or less than the transmit trigger number, the TDFE flag will be
                            set to 1 again even after having been cleared to 0. TDFE clearing
                            should therefore be carried out after data exceeding the specified
                            transmit trigger number has been written to SCFTDR.

                            2. SCFRDR Reading and RDF Flag:
                            However, if the number of data bytes in SCFRDR exceeds the
                            trigger number, the RDF flag will be set to 1 again even after
                            having been cleared to 0. RDF should therefore be cleared to 0
                            after being read as 1 after all the receive data has been read.

                            Title Amended

                            Rev. 5.0, 09/03, page xiii of xliv
Section               Page         Description
                      622          Figure amended
20.3 Bus Master
Interface                          Upper byte read     Bus               Module internal data bus
                                                    interface
Figure 20.2 A/D Data                      CPU                                 TEMP
Register Access                      receives                                 [H'40]
Operation (Reading                 data H'AA
H'AA40)

                                                               ADDRn H        ADDRn L   n = A to D
                                                                 [H'AA]         [H'40]

                                   Lower byte read     Bus               Module internal data bus
                                                    interface
                                          CPU                                 TEMP
                                     receives                                 [H'40]
                                    data H'40

                                                               ADDRn H        ADDRn L   n = A to D
                                                                 [H'AA]         [H'40]

23.1 Absolute         657          Caution added

Maximum Ratings                    2.Until voltage is applied to all power supplies, a low level is input
                                   at the RESETP pin, and CKIO has operated for a maximum of 4
Table 23.1 Absolute                clock cycles, internal circuits remain unsettled, and so pin states
Maximum Ratings                    are also undefined. The system design must ensure that these
                                   undefined states do not cause erroneous system operation.
                                   Note that the RESETP pin cannot receive a low level signal while
                                   a low level signal is being input to the CA pin.

23.2 DC               659,         Test conditions for in sleep mode amended

Characteristics       662          Item Symbol Min      Typ Max Unit Test Conditions

Table 23.2 DC                      Sleep Icc        --  15 30                 *1: When there is no
Characteristics                                         10 20                 other external bus
                                   mode*1 IccQ                                cycle other than the
                                                    --                        refresh cycle.

                                                                              Vcc = 1.9 V
                                                                              VccQ = 3.3 V

                                                                              B = 33MHz

                                   Note * added
                                   * If the IRL and IRLS interrupts are used, the minimum is 1.9 V.

Rev. 5.0, 09/03, page xiv of xliv
Section               Page  Description

23.3.6 Synchronous 690      Tnop cycle deleted from figure
DRAM Timing
                                         Tc1       Tc2 Tc3/Td1 Tc4/Td2 Td3                     Td4
                                                                                                         tAD
Figure 23.31                CKIO        tAD                    Row address
Synchronous DRAM            A25 to A16  tAD                                            tAD               tCSD3
Burst Read Bus Cycle        A12 or A10  tAD                                                              tRWD
(RAS Down, Same Row         A15 to A0   tCSD3         Read command
Address, CAS Latency        CSn         tRWD                                           tAD               tDQMD
= 2)                        RD/WR       tRASD2                                                  tRDS2 tRDH2
                            RAS         tCASD2     Column address
                            CAS         tDQMD                                                            tBSD
                            DQMxx                                                      tCASD2

                            D31 to D0                           tRDS2 tRDH2
                                                           tBSD

                            BS

                            CKE         (High)                                                 tDAKD1
                            DACKn          tDAKD1

                                                            Rev. 5.0, 09/03, page xv of xliv
Section                  Page      Description

A.2 Pin Specifications 723         Function information amended for VCCRTC, VCCPLL1, VCC
                                   PLL2, and VCC
Table A.2 Pin
Specifications                     Pin Pin No. Pin No. I/O                Function
                                           (FP-208C, (BP-
                                           FP-208E) 240A)

                                   VCC 3       E2         Power RTC oscillator power
                                   RTC
                                                           supply supply

                                                            (2.0/1.9/1.8/1.7 V)

                                   VCC 145     F16,       Power PLL power supply
                                   PLL1 150     E17        supply (2.0/1.9/1.8/1.7 V)
                                   VCC
                                   PLL2

                                   VCC 29, 81,  L3, L4,    Power Internal power supply

                                   134, 154, U11, T11, supply (2.0/1.9/1.8/1.7 V)

                                   175          J17, J16,

                                                E18, C19,

                                                C12, D12

A.3 Treatment of         724       "When RTC is not used" and "When PLL2 is not used" amended
                                   (Before) (1.9/1.8V) (After) (2.0/1.9/1.8/1.7V)
Unused Pins                        Note 2 amended
                                   Note: 2. Unused data pins should be switched to the port
A.4 Pin States in        726 to
Access to Each           738                   function, or pulled up.
Address Space

Table A.3 Pin States
(Ordinary Memory/Little
Endian)

Table A.4 Pin States
(Ordinary Memory/Big
Endian)

Table A.5 Pin States
(Burst ROM/Little
Endian)

Table A.6 Pin States
(Burst ROM/Big
Endian)

Table A.9 Pin States
(PCMCIA/Little Endian)

Table A.10 Pin States
(PCMCIA/Big Endian)

Rev. 5.0, 09/03, page xvi of xliv
                                Contents

Section 1 Overview and Pin Functions.......................................................................... 1

1.1 SH7709S Features ............................................................................................................. 1
1.2 Block Diagram .................................................................................................................. 6
1.3 Pin Description .................................................................................................................. 7

        1.3.1 Pin Assignment .................................................................................................... 7
        1.3.2 Pin Function ......................................................................................................... 9

Section 2 CPU....................................................................................................................... 19

2.1 Register Configuration ...................................................................................................... 19
        2.1.1 Privileged Mode and Banks.................................................................................. 19
        2.1.2 General Registers ................................................................................................. 22
        2.1.3 System Registers .................................................................................................. 23
        2.1.4 Control Registers.................................................................................................. 23

2.2 Data Formats ..................................................................................................................... 25
        2.2.1 Data Format in Registers ...................................................................................... 25
        2.2.2 Data Format in Memory ....................................................................................... 25

2.3 Instruction Features ........................................................................................................... 26
        2.3.1 Execution Environment ........................................................................................ 26
        2.3.2 Addressing Modes................................................................................................ 28
        2.3.3 Instruction Formats............................................................................................... 32

2.4 Instruction Set.................................................................................................................... 35
        2.4.1 Instruction Set Classified by Function.................................................................. 35
        2.4.2 Instruction Code Map ........................................................................................... 50

2.5 Processor States and Processor Modes.............................................................................. 53
        2.5.1 Processor States.................................................................................................... 53
        2.5.2 Processor Modes .................................................................................................. 54

Section 3 Memory Management Unit (MMU)............................................................ 55

3.1 Overview ........................................................................................................................... 55
        3.1.1 Features ................................................................................................................ 55
        3.1.2 Role of MMU ....................................................................................................... 55
        3.1.3 SH7709S MMU.................................................................................................... 58
        3.1.4 Register Configuration ......................................................................................... 61

3.2 Register Description .......................................................................................................... 61
3.3 TLB Functions................................................................................................................... 63

        3.3.1 Configuration of the TLB ..................................................................................... 63
        3.3.2 TLB Indexing ....................................................................................................... 65
        3.3.3 TLB Address Comparison.................................................................................... 66
        3.3.4 Page Management Information ............................................................................ 68

                                                                                        Rev. 5.00, 09/03, page xvii of xliv
3.4 MMU Functions ................................................................................................................ 69
        3.4.1 MMU Hardware Management ............................................................................. 69
        3.4.2 MMU Software Management............................................................................... 69
        3.4.3 MMU Instruction (LDTLB) ................................................................................. 70
        3.4.4 Avoiding Synonym Problems............................................................................... 72

3.5 MMU Exceptions .............................................................................................................. 74
        3.5.1 TLB Miss Exception ............................................................................................ 74
        3.5.2 TLB Protection Violation Exception.................................................................... 75
        3.5.3 TLB Invalid Exception......................................................................................... 76
        3.5.4 Initial Page Write Exception ................................................................................ 77
        3.5.5 Processing Flow in Event of MMU Exception (Same Processing Flow
                  for Address Error) ................................................................................................ 79

3.6 Configuration of Memory-Mapped TLB........................................................................... 80
        3.6.1 Address Array ...................................................................................................... 80
        3.6.2 Data Array ............................................................................................................ 81
        3.6.3 Usage Examples ................................................................................................... 83

3.7 Usage Note ........................................................................................................................ 83

Section 4 Exception Handling.......................................................................................... 85

4.1 Overview ........................................................................................................................... 85
        4.1.1 Features ................................................................................................................ 85
        4.1.2 Register Configuration ......................................................................................... 85

4.2 Exception Handling Function............................................................................................ 85
        4.2.1 Exception Handling Flow..................................................................................... 85
        4.2.2 Exception Vector Addresses................................................................................. 86
        4.2.3 Acceptance of Exceptions .................................................................................... 88
        4.2.4 Exception Codes................................................................................................... 90
        4.2.5 Exception Request Masks .................................................................................... 91
        4.2.6 Returning from Exception Handling .................................................................... 91

4.3 Register Descriptions......................................................................................................... 92
4.4 Exception Handling Operation .......................................................................................... 93

        4.4.1 Reset..................................................................................................................... 93
        4.4.2 Interrupts .............................................................................................................. 93
        4.4.3 General Exceptions............................................................................................... 94
4.5 Individual Exception Operations ....................................................................................... 94
        4.5.1 Resets ................................................................................................................... 94
        4.5.2 General Exceptions............................................................................................... 95
        4.5.3 Interrupts .............................................................................................................. 99
4.6 Cautions............................................................................................................................. 100

Section 5 Cache .................................................................................................................... 103

5.1 Overview ........................................................................................................................... 103
        5.1.1 Features ................................................................................................................ 103

Rev. 5.00, 09/03, page xviii of xliv
        5.1.2 Cache Structure .................................................................................................... 103
        5.1.3 Register Configuration ......................................................................................... 105
5.2 Register Description .......................................................................................................... 105
        5.2.1 Cache Control Register (CCR) ............................................................................. 105
        5.2.2 Cache Control Register 2 (CCR2) ........................................................................ 106
5.3 Cache Operation ................................................................................................................ 109
        5.3.1 Searching the Cache ............................................................................................. 109
        5.3.2 Read Access ......................................................................................................... 111
        5.3.3 Prefetch Operation................................................................................................ 111
        5.3.4 Write Access ........................................................................................................ 111
        5.3.5 Write-Back Buffer................................................................................................ 111
        5.3.6 Coherency of Cache and External Memory.......................................................... 112
5.4 Memory-Mapped Cache.................................................................................................... 112
        5.4.1 Address Array ...................................................................................................... 112
        5.4.2 Data Array ............................................................................................................ 113
        5.4.3 Examples of Usage ............................................................................................... 115

Section 6 Interrupt Controller (INTC) ........................................................................... 117

6.1 Overview ........................................................................................................................... 117
        6.1.1 Features ................................................................................................................ 117
        6.1.2 Block Diagram ..................................................................................................... 118
        6.1.3 Pin Configuration ................................................................................................. 119
        6.1.4 Register Configuration ......................................................................................... 120

6.2 Interrupt Sources ............................................................................................................... 121
        6.2.1 NMI Interrupt ....................................................................................................... 121
        6.2.2 IRQ Interrupts ...................................................................................................... 121
        6.2.3 IRL Interrupts....................................................................................................... 122
        6.2.4 PINT Interrupts .................................................................................................... 124
        6.2.5 On-Chip Peripheral Module Interrupts................................................................. 124
        6.2.6 Interrupt Exception Handling and Priority ........................................................... 125

6.3 INTC Registers.................................................................................................................. 131
        6.3.1 Interrupt Priority Registers A to E (IPRAIPRE) ................................................ 131
        6.3.2 Interrupt Control Register 0 (ICR0) ..................................................................... 132
        6.3.3 Interrupt Control Register 1 (ICR1) ..................................................................... 133
        6.3.4 Interrupt Control Register 2 (ICR2) ..................................................................... 136
        6.3.5 PINT Interrupt Enable Register (PINTER) .......................................................... 137
        6.3.6 Interrupt Request Register 0 (IRR0)..................................................................... 138
        6.3.7 Interrupt Request Register 1 (IRR1)..................................................................... 140
        6.3.8 Interrupt Request Register 2 (IRR2)..................................................................... 141

6.4 INTC Operation................................................................................................................. 143
        6.4.1 Interrupt Sequence................................................................................................ 143
        6.4.2 Multiple Interrupts................................................................................................ 145

6.5 Interrupt Response Time ................................................................................................... 145

                                                                                         Rev. 5.00, 09/03, page xix of xliv
Section 7 User Break Controller...................................................................................... 149

7.1 Overview ........................................................................................................................... 149
        7.1.1 Features ................................................................................................................ 149
        7.1.2 Block Diagram ..................................................................................................... 150
        7.1.3 Register Configuration ......................................................................................... 151

7.2 Register Descriptions......................................................................................................... 152
        7.2.1 Break Address Register A (BARA)...................................................................... 152
        7.2.2 Break Address Mask Register A (BAMRA) ........................................................ 153
        7.2.3 Break Bus Cycle Register A (BBRA) .................................................................. 154
        7.2.4 Break Address Register B (BARB) ...................................................................... 156
        7.2.5 Break Address Mask Register B (BAMRB)......................................................... 157
        7.2.6 Break Data Register B (BDRB) ........................................................................... 158
        7.2.7 Break Data Mask Register B (BDMRB) .............................................................. 159
        7.2.8 Break Bus Cycle Register B (BBRB)................................................................... 160
        7.2.9 Break Control Register (BRCR)........................................................................... 162
        7.2.10 Execution Times Break Register (BETR) ............................................................ 166
        7.2.11 Branch Source Register (BRSR) .......................................................................... 167
        7.2.12 Branch Destination Register (BRDR) .................................................................. 168
        7.2.13 Break ASID Register A (BASRA) ....................................................................... 169
        7.2.14 Break ASID Register B (BASRB) ....................................................................... 169

7.3 Operation Description ....................................................................................................... 170
        7.3.1 Flow of the User Break Operation........................................................................ 170
        7.3.2 Break on Instruction Fetch Cycle ......................................................................... 170
        7.3.3 Break by Data Access Cycle ................................................................................ 171
        7.3.4 Sequential Break .................................................................................................. 172
        7.3.5 Value of Saved Program Counter......................................................................... 172
        7.3.6 PC Trace............................................................................................................... 173
        7.3.7 Usage Examples ................................................................................................... 174
        7.3.8 Notes .................................................................................................................... 179

Section 8 Power-Down Modes......................................................................................... 181

8.1 Overview ........................................................................................................................... 181
        8.1.1 Power-Down Modes............................................................................................. 181
        8.1.2 Pin Configuration ................................................................................................. 183
        8.1.3 Register Configuration ......................................................................................... 183

8.2 Register Descriptions......................................................................................................... 183
        8.2.1 Standby Control Register (STBCR) ..................................................................... 183
        8.2.2 Standby Control Register 2 (STBCR2) ................................................................ 185

8.3 Sleep Mode........................................................................................................................ 187
        8.3.1 Transition to Sleep Mode ..................................................................................... 187
        8.3.2 Canceling Sleep Mode.......................................................................................... 187
        8.3.3 Precautions when Using the Sleep Mode ............................................................. 187

8.4 Standby Mode.................................................................................................................... 188

Rev. 5.00, 09/03, page xx of xliv
        8.4.1 Transition to Standby Mode ................................................................................. 188
        8.4.2 Canceling Standby Mode ..................................................................................... 189
        8.4.3 Clock Pause Function........................................................................................... 190
8.5 Module Standby Function ................................................................................................. 191
        8.5.1 Transition to Module Standby Function............................................................... 191
        8.5.2 Clearing Module Standby Function...................................................................... 191
8.6 Timing of STATUS Pin Changes ...................................................................................... 192
        8.6.1 Timing for Resets ................................................................................................. 192
        8.6.2 Timing for Canceling Standby ............................................................................. 194
        8.6.3 Timing for Canceling Sleep Mode ....................................................................... 196
8.7 Hardware Standby Mode................................................................................................... 199
        8.7.1 Transition to Hardware Standby Mode ................................................................ 199
        8.7.2 Canceling Hardware Standby Mode..................................................................... 199
        8.7.3 Hardware Standby Mode Timing ......................................................................... 200

Section 9 On-Chip Oscillation Circuits ......................................................................... 203

9.1 Overview ........................................................................................................................... 203
        9.1.1 Features ................................................................................................................ 203

9.2 Overview of CPG .............................................................................................................. 204
        9.2.1 CPG Block Diagram............................................................................................. 204
        9.2.2 CPG Pin Configuration ........................................................................................ 206
        9.2.3 CPG Register Configuration................................................................................. 206

9.3 Clock Operating Modes..................................................................................................... 207
9.4 Register Descriptions......................................................................................................... 211

        9.4.1 Frequency Control Register (FRQCR) ................................................................. 211
9.5 Changing the Frequency.................................................................................................... 213

        9.5.1 Changing the Multiplication Rate ........................................................................ 213
        9.5.2 Changing the Division Ratio ................................................................................ 213
9.6 Overview of WDT............................................................................................................. 214
        9.6.1 Block Diagram of WDT ....................................................................................... 214
        9.6.2 Register Configuration ......................................................................................... 214
9.7 WDT Registers .................................................................................................................. 215
        9.7.1 Watchdog Timer Counter (WTCNT) ................................................................... 215
        9.7.2 Watchdog Timer Control/Status Register (WTCSR) ........................................... 215
        9.7.3 Notes on Register Access ..................................................................................... 217
9.8 Using the WDT ................................................................................................................. 218
        9.8.1 Canceling Standby................................................................................................ 218
        9.8.2 Changing the Frequency....................................................................................... 218
        9.8.3 Using Watchdog Timer Mode .............................................................................. 219
        9.8.4 Using Interval Timer Mode .................................................................................. 219
9.9 Notes on Board Design...................................................................................................... 220

                                                                                         Rev. 5.00, 09/03, page xxi of xliv
Section 10 Bus State Controller (BSC) ......................................................................... 223

10.1 Overview ........................................................................................................................... 223
        10.1.1 Features ................................................................................................................ 223
        10.1.2 Block Diagram ..................................................................................................... 225
        10.1.3 Pin Configuration ................................................................................................. 226
        10.1.4 Register Configuration ......................................................................................... 228
        10.1.5 Area Overview ..................................................................................................... 229
        10.1.6 PCMCIA Support................................................................................................. 232

10.2 BSC Registers.................................................................................................................... 235
        10.2.1 Bus Control Register 1 (BCR1)............................................................................ 235
        10.2.2 Bus Control Register 2 (BCR2)............................................................................ 239
        10.2.3 Wait State Control Register 1 (WCR1) ................................................................ 240
        10.2.4 Wait State Control Register 2 (WCR2) ................................................................ 241
        10.2.5 Individual Memory Control Register (MCR) ....................................................... 245
        10.2.6 PCMCIA Control Register (PCR) ........................................................................ 248
        10.2.7 Synchronous DRAM Mode Register (SDMR)..................................................... 252
        10.2.8 Refresh Timer Control/Status Register (RTCSR) ................................................ 253
        10.2.9 Refresh Timer Counter (RTCNT) ........................................................................ 255
        10.2.10 Refresh Time Constant Register (RTCOR) .......................................................... 256
        10.2.11 Refresh Count Register (RFCR)........................................................................... 256
        10.2.12 Cautions on Accessing Refresh Control Related Registers .................................. 257
        10.2.13 MCS0 Control Register (MCSCR0)..................................................................... 258
        10.2.14 MCS1 Control Register (MCSCR1)..................................................................... 259
        10.2.15 MCS2 Control Register (MCSCR2)..................................................................... 259
        10.2.16 MCS3 Control Register (MCSCR3)..................................................................... 259
        10.2.17 MCS4 Control Register (MCSCR4)..................................................................... 259
        10.2.18 MCS5 Control Register (MCSCR5)..................................................................... 259
        10.2.19 MCS6 Control Register (MCSCR6)..................................................................... 259
        10.2.20 MCS7 Control Register (MCSCR7)..................................................................... 259

10.3 BSC Operation .................................................................................................................. 260
        10.3.1 Endian/Access Size and Data Alignment ............................................................. 260
        10.3.2 Description of Areas............................................................................................. 265
        10.3.3 Basic Interface...................................................................................................... 268
        10.3.4 Synchronous DRAM Interface ............................................................................. 276
        10.3.5 Burst ROM Interface ............................................................................................ 304
        10.3.6 PCMCIA Interface ............................................................................................... 307
        10.3.7 Waits between Access Cycles .............................................................................. 319
        10.3.8 Bus Arbitration..................................................................................................... 320
        10.3.9 Bus Pull-Up .......................................................................................................... 321
        10.3.10 MCS[0] to MCS[7] Pin Control ........................................................................... 323

Section 11 Direct Memory Access Controller (DMAC) .......................................... 327

11.1 Overview ........................................................................................................................... 327

Rev. 5.00, 09/03, page xxii of xliv
        11.1.1 Features ................................................................................................................ 327
        11.1.2 Block Diagram ..................................................................................................... 329
        11.1.3 Pin Configuration ................................................................................................. 330
        11.1.4 Register Configuration ......................................................................................... 331
11.2 Register Descriptions......................................................................................................... 333
        11.2.1 DMA Source Address Registers 03 (SAR0SAR3)........................................... 333
        11.2.2 DMA Destination Address Registers 03 (DAR0DAR3) .................................. 334
        11.2.3 DMA Transfer Count Registers 03 (DMATCR0DMATCR3) ......................... 335
        11.2.4 DMA Channel Control Registers 03 (CHCR0CHCR3) ................................... 336
        11.2.5 DMA Operation Register (DMAOR) ................................................................... 343
11.3 Operation........................................................................................................................... 345
        11.3.1 DMA Transfer Flow............................................................................................. 345
        11.3.2 DMA Transfer Requests....................................................................................... 347
        11.3.3 Channel Priority ................................................................................................... 349
        11.3.4 DMA Transfer Types ........................................................................................... 352
        11.3.5 Number of Bus Cycle States and DREQ Pin Sampling Timing ........................... 363
        11.3.6 Source Address Reload Function ......................................................................... 372
        11.3.7 DMA Transfer Ending Conditions ....................................................................... 374
11.4 Compare Match Timer (CMT) .......................................................................................... 376
        11.4.1 Overview .............................................................................................................. 376
        11.4.2 Register Descriptions ........................................................................................... 377
        11.4.3 Operation.............................................................................................................. 380
        11.4.4 Compare Match .................................................................................................... 381
11.5 Examples of Use................................................................................................................ 383
        11.5.1 Example of DMA Transfer between On-Chip IrDA and External Memory ........ 383
        11.5.2 Example of DMA Transfer between A/D Converter and External Memory ........ 384
        11.5.3 Example of DMA Transfer between External Memory and SCIF Transmitter

                  (Indirect Address On)........................................................................................... 385
11.6 Usage Notes....................................................................................................................... 387

Section 12 Timer (TMU) ................................................................................................... 389

12.1 Overview ........................................................................................................................... 389
        12.1.1 Features ................................................................................................................ 389
        12.1.2 Block Diagram ..................................................................................................... 390
        12.1.3 Pin Configuration ................................................................................................. 391
        12.1.4 Register Configuration ......................................................................................... 391

12.2 TMU Registers .................................................................................................................. 392
        12.2.1 Timer Output Control Register (TOCR) .............................................................. 392
        12.2.2 Timer Start Register (TSTR)................................................................................ 392
        12.2.3 Timer Control Registers (TCR)............................................................................ 393
        12.2.4 Timer Constant Registers (TCOR) ....................................................................... 397
        12.2.5 Timer Counters (TCNT)....................................................................................... 397
        12.2.6 Input Capture Register (TCPR2) .......................................................................... 399

                                                                                        Rev. 5.00, 09/03, page xxiii of xliv
12.3 TMU Operation ................................................................................................................. 400
        12.3.1 General Operation ................................................................................................ 400
        12.3.2 Input Capture Function......................................................................................... 403

12.4 Interrupts ........................................................................................................................... 404
        12.4.1 Status Flag Setting Timing ................................................................................... 404
        12.4.2 Status Flag Clearing Timing................................................................................. 405
        12.4.3 Interrupt Sources and Priorities ............................................................................ 405

12.5 Usage Notes....................................................................................................................... 406
        12.5.1 Writing to Registers.............................................................................................. 406
        12.5.2 Reading Registers................................................................................................. 406

Section 13 Realtime Clock (RTC) .................................................................................. 407

13.1 Overview ........................................................................................................................... 407
        13.1.1 Features ................................................................................................................ 407
        13.1.2 Block Diagram ..................................................................................................... 408
        13.1.3 Pin Configuration ................................................................................................. 409
        13.1.4 RTC Register Configuration................................................................................. 410

13.2 RTC Registers ................................................................................................................... 411
        13.2.1 64-Hz Counter (R64CNT).................................................................................... 411
        13.2.2 Second Counter (RSECCNT)............................................................................... 411
        13.2.3 Minute Counter (RMINCNT) .............................................................................. 412
        13.2.4 Hour Counter (RHRCNT) .................................................................................... 412
        13.2.5 Day of Week Counter (RWKCNT) ...................................................................... 413
        13.2.6 Date Counter (RDAYCNT).................................................................................. 414
        13.2.7 Month Counter (RMONCNT).............................................................................. 414
        13.2.8 Year Counter (RYRCNT) .................................................................................... 415
        13.2.9 Second Alarm Register (RSECAR)...................................................................... 415
        13.2.10 Minute Alarm Register (RMINAR) ..................................................................... 416
        13.2.11 Hour Alarm Register (RHRAR) ........................................................................... 416
        13.2.12 Day of Week Alarm Register (RWKAR)............................................................. 417
        13.2.13 Date Alarm Register (RDAYAR) ........................................................................ 418
        13.2.14 Month Alarm Register (RMONAR)..................................................................... 418
        13.2.15 RTC Control Register 1 (RCR1) .......................................................................... 419
        13.2.16 RTC Control Register 2 (RCR2) .......................................................................... 420

13.3 RTC Operation .................................................................................................................. 422
        13.3.1 Initial Settings of Registers after Power-On......................................................... 422
        13.3.2 Setting the Time ................................................................................................... 422
        13.3.3 Reading the Time ................................................................................................. 423
        13.3.4 Alarm Function .................................................................................................... 424
        13.3.5 Crystal Oscillator Circuit...................................................................................... 425

13.4 Usage Notes....................................................................................................................... 426
        13.4.1 Register Writing during RTC Count .................................................................... 426
        13.4.2 Use of Realtime Clock (RTC) Periodic Interrupts ............................................... 426

Rev. 5.00, 09/03, page xxiv of xliv
        13.4.3 Precautions when Using RTC Module Standby ................................................... 426

Section 14 Serial Communication Interface (SCI)..................................................... 427

14.1 Overview ........................................................................................................................... 427
        14.1.1 Features ................................................................................................................ 427
        14.1.2 Block Diagram ..................................................................................................... 428
        14.1.3 Pin Configuration ................................................................................................. 431
        14.1.4 Register Configuration ......................................................................................... 432

14.2 Register Descriptions......................................................................................................... 432
        14.2.1 Receive Shift Register (SCRSR) .......................................................................... 432
        14.2.2 Receive Data Register (SCRDR).......................................................................... 433
        14.2.3 Transmit Shift Register (SCTSR)......................................................................... 433
        14.2.4 Transmit Data Register (SCTDR) ........................................................................ 434
        14.2.5 Serial Mode Register (SCSMR) ........................................................................... 434
        14.2.6 Serial Control Register (SCSCR) ......................................................................... 437
        14.2.7 Serial Status Register (SCSSR) ............................................................................ 440
        14.2.8 SC Port Control Register (SCPCR)/SC Port Data Register (SCPDR) ................. 444
        14.2.9 Bit Rate Register (SCBRR) .................................................................................. 446

14.3 Operation........................................................................................................................... 453
        14.3.1 Overview .............................................................................................................. 453
        14.3.2 Operation in Asynchronous Mode........................................................................ 455
        14.3.3 Multiprocessor Communication ........................................................................... 465
        14.3.4 Synchronous Operation ........................................................................................ 474

14.4 SCI Interrupts .................................................................................................................... 484
14.5 Usage Notes....................................................................................................................... 485

Section 15 Smart Card Interface...................................................................................... 489

15.1 Overview ........................................................................................................................... 489
        15.1.1 Features ................................................................................................................ 489
        15.1.2 Block Diagram ..................................................................................................... 490
        15.1.3 Pin Configuration ................................................................................................. 491
        15.1.4 Smart Card Interface Registers............................................................................. 491

15.2 Register Descriptions......................................................................................................... 492
        15.2.1 Smart Card Mode Register (SCSCMR)................................................................ 492
        15.2.2 Serial Status Register (SCSSR) ............................................................................ 493

15.3 Operation........................................................................................................................... 494
        15.3.1 Overview .............................................................................................................. 494
        15.3.2 Pin Connections.................................................................................................... 495
        15.3.3 Data Format.......................................................................................................... 496
        15.3.4 Register Settings................................................................................................... 497
        15.3.5 Clock .................................................................................................................... 498
        15.3.6 Data Transmission and Reception ........................................................................ 501

15.4 Usage Notes....................................................................................................................... 507

                                                                                        Rev. 5.00, 09/03, page xxv of xliv
        15.4.1 Receive Data Timing and Receive Margin in Asynchronous Mode .................... 507
        15.4.2 Retransmission (Receive and Transmit Modes) ................................................... 509

Section 16 Serial Communication Interface with FIFO (SCIF) ............................. 511

16.1 Overview ........................................................................................................................... 511
        16.1.1 Features ................................................................................................................ 511
        16.1.2 Block Diagram ..................................................................................................... 512
        16.1.3 Pin Configuration ................................................................................................. 515
        16.1.4 Register Configuration ......................................................................................... 516

16.2 Register Descriptions......................................................................................................... 517
        16.2.1 Receive Shift Register (SCRSR) .......................................................................... 517
        16.2.2 Receive FIFO Data Register (SCFRDR).............................................................. 517
        16.2.3 Transmit Shift Register (SCTSR)......................................................................... 517
        16.2.4 Transmit FIFO Data Register (SCFTDR) ............................................................ 518
        16.2.5 Serial Mode Register (SCSMR) ........................................................................... 518
        16.2.6 Serial Control Register (SCSCR) ......................................................................... 520
        16.2.7 Serial Status Register (SCSSR) ............................................................................ 522
        16.2.8 Bit Rate Register (SCBRR) .................................................................................. 527
        16.2.9 FIFO Control Register (SCFCR).......................................................................... 534
        16.2.10 FIFO Data Count Register (SCFDR) ................................................................... 536

16.3 Operation........................................................................................................................... 537
        16.3.1 Overview .............................................................................................................. 537
        16.3.2 Serial Operation.................................................................................................... 538

16.4 SCIF Interrupts .................................................................................................................. 550
16.5 Usage Notes....................................................................................................................... 551

Section 17 IrDA.................................................................................................................... 555

17.1 Overview ........................................................................................................................... 555
        17.1.1 Features ................................................................................................................ 555
        17.1.2 Block Diagram ..................................................................................................... 556
        17.1.3 Pin Configuration ................................................................................................. 559
        17.1.4 Register Configuration ......................................................................................... 560

17.2 Register Description .......................................................................................................... 561
        17.2.1 Serial Mode Register (SCSMR) ........................................................................... 561

17.3 Operation Description ....................................................................................................... 563
        17.3.1 Overview .............................................................................................................. 563
        17.3.2 Transmitting ......................................................................................................... 563
        17.3.3 Receiving.............................................................................................................. 564

Section 18 Pin Function Controller ................................................................................ 565

18.1 Overview ........................................................................................................................... 565
18.2 Register Configuration ...................................................................................................... 569
18.3 Register Descriptions......................................................................................................... 570

Rev. 5.00, 09/03, page xxvi of xliv
        18.3.1 Port A Control Register (PACR).......................................................................... 570
        18.3.2 Port B Control Register (PBCR) .......................................................................... 571
        18.3.3 Port C Control Register (PCCR) .......................................................................... 572
        18.3.4 Port D Control Register (PDCR) .......................................................................... 573
        18.3.5 Port E Control Register (PECR)........................................................................... 574
        18.3.6 Port F Control Register (PFCR) ........................................................................... 575
        18.3.7 Port G Control Register (PGCR) .......................................................................... 576
        18.3.8 Port H Control Register (PHCR) .......................................................................... 577
        18.3.9 Port J Control Register (PJCR) ............................................................................ 579
        18.3.10 Port K Control Register (PKCR) .......................................................................... 580
        18.3.11 Port L Control Register (PLCR)........................................................................... 581
        18.3.12 SC Port Control Register (SCPCR) ...................................................................... 582

Section 19 I/O Ports ............................................................................................................ 587

19.1 Overview ........................................................................................................................... 587
19.2 Port A ................................................................................................................................ 587

        19.2.1 Register Description ............................................................................................. 587
        19.2.2 Port A Data Register (PADR) .............................................................................. 588
19.3 Port B ................................................................................................................................ 589
        19.3.1 Register Description ............................................................................................. 589
        19.3.2 Port B Data Register (PBDR)............................................................................... 590
19.4 Port C ................................................................................................................................ 591
        19.4.1 Register Description ............................................................................................. 591
        19.4.2 Port C Data Register (PCDR)............................................................................... 592
19.5 Port D ................................................................................................................................ 593
        19.5.1 Register Description ............................................................................................. 593
        19.5.2 Port D Data Register (PDDR) .............................................................................. 594
19.6 Port E................................................................................................................................. 595
        19.6.1 Register Description ............................................................................................. 595
        19.6.2 Port E Data Register (PEDR) ............................................................................... 596
19.7 Port F................................................................................................................................. 597
        19.7.1 Register Description ............................................................................................. 597
        19.7.2 Port F Data Register (PFDR)................................................................................ 598
19.8 Port G ................................................................................................................................ 599
        19.8.1 Register Description ............................................................................................. 599
        19.8.2 Port G Data Register (PGDR) .............................................................................. 600
19.9 Port H ................................................................................................................................ 601
        19.9.1 Register Description ............................................................................................. 601
        19.9.2 Port H Data Register (PHDR) .............................................................................. 602
19.10 Port J.................................................................................................................................. 603
        19.10.1 Register Description ............................................................................................. 603
        19.10.2 Port J Data Register (PJDR)................................................................................. 604
19.11 Port K ................................................................................................................................ 605

                                                                                       Rev. 5.00, 09/03, page xxvii of xliv
        19.11.1 Register Description ............................................................................................. 605
        19.11.2 Port K Data Register (PKDR) .............................................................................. 606
19.12 Port L................................................................................................................................. 607
        19.12.1 Register Description ............................................................................................. 607
        19.12.2 Port L Data Register (PLDR) ............................................................................... 608
19.13 SC Port .............................................................................................................................. 609
        19.13.1 Register Description ............................................................................................. 609
        19.13.2 SC Port Data Register (SCPDR) .......................................................................... 610

Section 20 A/D Converter ................................................................................................. 613

20.1 Overview ........................................................................................................................... 613
        20.1.1 Features ................................................................................................................ 613
        20.1.2 Block Diagram ..................................................................................................... 614
        20.1.3 Input Pins.............................................................................................................. 615
        20.1.4 Register Configuration ......................................................................................... 616

20.2 Register Descriptions......................................................................................................... 617
        20.2.1 A/D Data Registers A to D (ADDRA to ADDRD) .............................................. 617
        20.2.2 A/D Control/Status Register (ADCSR) ................................................................ 618
        20.2.3 A/D Control Register (ADCR)............................................................................. 621

20.3 Bus Master Interface.......................................................................................................... 622
20.4 Operation........................................................................................................................... 623

        20.4.1 Single Mode (MULTI = 0)................................................................................... 623
        20.4.2 Multi Mode (MULTI = 1, SCN = 0) .................................................................... 625
        20.4.3 Scan Mode (MULTI = 1, SCN = 1) ..................................................................... 627
        20.4.4 Input Sampling and A/D Conversion Time .......................................................... 629
        20.4.5 External Trigger Input Timing ............................................................................. 630
20.5 Interrupts ........................................................................................................................... 631
20.6 Definitions of A/D Conversion Accuracy ......................................................................... 631
20.7 Usage Notes....................................................................................................................... 632
        20.7.1 Setting Analog Input Voltage ............................................................................... 632
        20.7.2 Processing of Analog Input Pins .......................................................................... 632
        20.7.3 Access Size and Read Data .................................................................................. 633

Section 21 D/A Converter ................................................................................................. 635

21.1 Overview ........................................................................................................................... 635
        21.1.1 Features ................................................................................................................ 635
        21.1.2 Block Diagram ..................................................................................................... 635
        21.1.3 I/O Pins................................................................................................................. 636
        21.1.4 Register Configuration ......................................................................................... 636

21.2 Register Descriptions......................................................................................................... 637
        21.2.1 D/A Data Registers 0 and 1 (DADR0/1) .............................................................. 637
        21.2.2 D/A Control Register (DACR)............................................................................. 637

21.3 Operation........................................................................................................................... 639

Rev. 5.00, 09/03, page xxviii of xliv
Section 22 User Debugging Interface (UDI) ............................................................... 641

22.1 Overview ........................................................................................................................... 641
22.2 User Debugging Interface (UDI) ....................................................................................... 641

        22.2.1 Pin Descriptions ................................................................................................... 641
        22.2.2 Block Diagram ..................................................................................................... 642
22.3 Register Descriptions......................................................................................................... 642
        22.3.1 Bypass Register (SDBPR).................................................................................... 643
        22.3.2 Instruction Register (SDIR).................................................................................. 643
        22.3.3 Boundary Scan Register (SDBSR) ....................................................................... 644
22.4 UDI Operation................................................................................................................... 651
        22.4.1 TAP Controller..................................................................................................... 651
        22.4.2 Reset Configuration.............................................................................................. 652
        22.4.3 UDI Reset............................................................................................................. 653
        22.4.4 UDI Interrupt........................................................................................................ 653
        22.4.5 Bypass .................................................................................................................. 653
        22.4.6 Using UDI to Recover from Sleep Mode ............................................................. 653
22.5 Boundary Scan .................................................................................................................. 654
        22.5.1 Supported Instructions.......................................................................................... 654
        22.5.2 Points for Attention .............................................................................................. 655
22.6 Usage Notes....................................................................................................................... 655
22.7 Advanced User Debugger (AUD) ..................................................................................... 655

Section 23 Electrical Characteristics.............................................................................. 657

23.1 Absolute Maximum Ratings.............................................................................................. 657
23.2 DC Characteristics............................................................................................................. 659
23.3 AC Characteristics............................................................................................................. 663

        23.3.1 Clock Timing........................................................................................................ 664
        23.3.2 Control Signal Timing.......................................................................................... 670
        23.3.3 AC Bus Timing .................................................................................................... 673
        23.3.4 Basic Timing ........................................................................................................ 675
        23.3.5 Burst ROM Timing .............................................................................................. 678
        23.3.6 Synchronous DRAM Timing ............................................................................... 681
        23.3.7 PCMCIA Timing.................................................................................................. 699
        23.3.8 Peripheral Module Signal Timing ........................................................................ 706
        23.3.9 UDI-Related Pin Timing ...................................................................................... 709
        23.3.10 AC Characteristics Measurement Conditions....................................................... 711
        23.3.11 Delay Time Variation Due to Load Capacitance.................................................. 712
23.4 A/D Converter Characteristics........................................................................................... 713
23.5 D/A Converter Characteristics........................................................................................... 713

Appendix A Pin Functions ................................................................................................ 715

A.1 Pin States ........................................................................................................................... 715
A.2 Pin Specifications .............................................................................................................. 719

                                                                                        Rev. 5.00, 09/03, page xxix of xliv
A.3 Treatment of Unused Pins ................................................................................................. 724
A.4 Pin States in Access to Each Address Space ..................................................................... 725

Appendix B Memory-Mapped Control Registers....................................................... 739

B.1 Register Address Map ....................................................................................................... 739
B.2 Register Bits ...................................................................................................................... 745

Appendix C Product Lineup ............................................................................................. 757
Appendix D Package Dimensions................................................................................... 758

Rev. 5.00, 09/03, page xxx of xliv
Figures      Block Diagram ..................................................................................................... 6
             Pin Assignment (FP-208C, FP-208E) .................................................................. 7
Figure 1.1   Pin Assignment (BP-240A).................................................................................. 8
Figure 1.2   User Mode Register Configuration ...................................................................... 20
Figure 1.3   Privileged Mode Register Configuration.............................................................. 21
Figure 2.1   General Registers ................................................................................................. 22
Figure 2.2   System Registers .................................................................................................. 23
Figure 2.3   Register Set Overview, Control Registers ............................................................ 24
Figure 2.4   Longword ............................................................................................................. 25
Figure 2.5   Data Format in Memory ....................................................................................... 25
Figure 2.6   Processor State Transitions................................................................................... 54
Figure 2.7   MMU Functions ................................................................................................... 57
Figure 2.8   Virtual Address Space Mapping........................................................................... 59
Figure 3.1   MMU Register Contents ...................................................................................... 62
Figure 3.2   Overall Configuration of the TLB ........................................................................ 63
Figure 3.3   Virtual Address and TLB Structure...................................................................... 64
Figure 3.4   TLB Indexing (IX = 1) ......................................................................................... 65
Figure 3.5   TLB Indexing (IX = 0) ......................................................................................... 66
Figure 3.6   Objects of Address Comparison ........................................................................... 67
Figure 3.7   Operation of LDTLB Instruction.......................................................................... 71
Figure 3.8   Synonym Problem ................................................................................................ 73
Figure 3.9   MMU Exception Generation Flowchart ............................................................... 78
Figure 3.10  MMU Exception Signals in Instruction Fetch ...................................................... 79
Figure 3.11  MMU Exception Signals in Data Access ............................................................. 80
Figure 3.12  Specifying Address and Data for Memory-Mapped TLB Access ........................ 82
Figure 3.13  Vector Table......................................................................................................... 86
Figure 3.14  Example of Acceptance Order of General Exceptions ......................................... 89
Figure 4.1   Bit Configurations of EXPEVT, INTEVT, INTEVT2, and TRA Registers......... 92
Figure 4.2   Cache Structure .................................................................................................... 104
Figure 4.3   CCR Register Configuration ................................................................................ 106
Figure 5.1   CCR2 Register Configuration .............................................................................. 107
Figure 5.2   Cache Search Scheme (Normal Mode) ................................................................ 110
Figure 5.3   Write-Back Buffer Configuration......................................................................... 112
Figure 5.4   Specifying Address and Data for Memory-Mapped Cache Access...................... 114
Figure 5.5   Block Diagram of INTC....................................................................................... 118
Figure 5.6   Example of IRL Interrupt Connection.................................................................. 122
Figure 6.1   Interrupt Operation Flowchart .............................................................................. 144
Figure 6.2   Example of Pipeline Operations when IRL Interrupt is Accepted ....................... 148
Figure 6.3   Block Diagram of User Break Controller............................................................. 150
Figure 6.4   Canceling Standby Mode with STBCR.STBY..................................................... 189
Figure 7.1   Power-On Reset (Clock Modes 0, 1, 2, and 7) STATUS Output ......................... 192
Figure 8.1
Figure 8.2                                                                       Rev. 5.00, 09/03, page xxxi of xliv
Figure 8.3    Manual Reset STATUS Output............................................................................ 193
Figure 8.4    Standby to Interrupt STATUS Output.................................................................. 194
Figure 8.5    Standby to Power-On Reset STATUS Output...................................................... 195
Figure 8.6    Standby to Manual Reset STATUS Output.......................................................... 196
Figure 8.7    Sleep to Interrupt STATUS Output ...................................................................... 196
Figure 8.8    Sleep to Power-On Reset STATUS Output.......................................................... 197
Figure 8.9    Sleep to Manual Reset STATUS Output.............................................................. 198
Figure 8.10   Hardware Standby Mode (When CA Goes Low in Normal Operation)............... 200
Figure 8.11   Hardware Standby Mode Timing (When CA Goes Low during WDT Operation
              on Standby Mode Cancellation) ........................................................................... 201
Figure 9.1    Block Diagram of Clock Pulse Generator ............................................................ 204
Figure 9.2    Block Diagram of WDT ....................................................................................... 214
Figure 9.3    Writing to WTCNT and WTCSR......................................................................... 217
Figure 9.4    Points for Attention when Using Crystal Resonator............................................. 220
Figure 9.5    Points for Attention when Using PLL Oscillator Circuit ..................................... 221
Figure 10.1   Block Diagram of Bus State Controller................................................................ 225
Figure 10.2   Correspondence between Logical Address Space and Physical Address Space .. 229
Figure 10.3   Physical Space Allocation .................................................................................... 231
Figure 10.4   PCMCIA Space Allocation .................................................................................. 232
Figure 10.5   Writing to RFCR, RTCSR, RTCNT, and RTCOR............................................... 257
Figure 10.6   Basic Timing of Basic Interface ........................................................................... 269
Figure 10.7   Example of 32-Bit Data-Width Static RAM Connection ..................................... 270
Figure 10.8   Example of 16-Bit Data-Width Static RAM Connection ..................................... 271
Figure 10.9   Example of 8-Bit Data-Width Static RAM Connection ....................................... 272
Figure 10.10  Basic Interface Wait Timing (Software Wait Only)............................................. 273
Figure 10.11  Basic Interface Wait State Timing (Wait State Insertion by WAIT Signal
              WAITSEL = 1)..................................................................................................... 275
Figure 10.12  Example of 64-Mbit Synchronous DRAM Connection (32-Bit Bus Width)........ 277
Figure 10.13  Example of 64-Mbit Synchronous DRAM Connection (16-Bit Bus Width)........ 278
Figure 10.14  Basic Timing for Synchronous DRAM Burst Read ............................................. 282
Figure 10.15  Synchronous DRAM Burst Read Wait Specification Timing .............................. 283
Figure 10.16  Basic Timing for Synchronous DRAM Single Read............................................ 284
Figure 10.17  Basic Timing for Synchronous DRAM Burst Write ............................................ 286
Figure 10.18  Basic Timing for Synchronous DRAM Single Write........................................... 288
Figure 10.19  Burst Read Timing (No Precharge) ...................................................................... 291
Figure 10.20  Burst Read Timing (Same Row Address) ............................................................ 292
Figure 10.21  Burst Read Timing (Different Row Addresses) ................................................... 293
Figure 10.22  Burst Write Timing (No Precharge) ..................................................................... 294
Figure 10.23  Burst Write Timing (Same Row Address) ........................................................... 295
Figure 10.24  Burst Write Timing (Different Row Addresses) .................................................. 296
Figure 10.25  Auto-Refresh Operation ....................................................................................... 298
Figure 10.26  Synchronous DRAM Auto-Refresh Timing......................................................... 299
Figure 10.27  Synchronous DRAM Self-Refresh Timing .......................................................... 301

Rev. 5.00, 09/03, page xxxii of xliv
Figure 10.28  Synchronous DRAM Mode Write Timing ........................................................... 303
Figure 10.29  Burst ROM Wait Access Timing ......................................................................... 305
Figure 10.30  Burst ROM Basic Access Timing ........................................................................ 306
Figure 10.31  Example of PCMCIA Interface ............................................................................ 308
Figure 10.32  Basic Timing for PCMCIA Memory Card Interface ............................................ 310
Figure 10.33  Wait Timing for PCMCIA Memory Card Interface ............................................. 311
Figure 10.34  Basic Timing for PCMCIA Memory Card Interface Burst Access ...................... 312
Figure 10.35  Wait Timing for PCMCIA Memory Card Interface Burst Access ....................... 313
Figure 10.36  PCMCIA Space Allocation .................................................................................. 314
Figure 10.37  Basic Timing for PCMCIA I/O Card Interface .................................................... 316
Figure 10.38  Wait Timing for PCMCIA I/O Card Interface ..................................................... 317
Figure 10.39  Dynamic Bus Sizing Timing for PCMCIA I/O Card Interface ............................ 318
Figure 10.40  Waits between Access Cycles .............................................................................. 320
Figure 10.41  Pull-Up Timing for Pins A25 to A0 ..................................................................... 321
Figure 10.42  Pull-Up Timing for Pins D31 to D0 (Read Cycle) ............................................... 322
Figure 10.43  Pull-Up Timing for Pins D31 to D0 (Write Cycle) .............................................. 322
Figure 11.1   Block Diagram of DMAC .................................................................................... 329
Figure 11.2   DMAC Transfer Flowchart .................................................................................. 346
Figure 11.3   Round-Robin Mode.............................................................................................. 350
Figure 11.4   Changes in Channel Priority in Round-Robin Mode............................................ 351
Figure 11.5   Operation of Direct Address Mode in Dual Address Mode ................................. 353
Figure 11.6   Example of DMA Transfer Timing in the Direct Address Mode in Dual Mode
              (Transfer Source: Ordinary Memory, Transfer Destination: Ordinary Memory). 354
Figure 11.7   Indirect Address Operation in Dual Address Mode (When External Memory
              Space has a 16-Bit Width).................................................................................... 355
Figure 11.8   Example of Transfer Timing in the Indirect Address Mode in Dual Address
              Mode .................................................................................................................... 356
Figure 11.9   Data Flow in Single Address Mode...................................................................... 357
Figure 11.10  Example of DMA Transfer Timing in Single Address Mode .............................. 358
Figure 11.11  Example of DMA Transfer Timing in Single Address Mode (16-byte Transfer,
              External Memory Space (Ordinary Memory)  External Device with DACK) . 359
Figure 11.12  Example of DMA Transfer in Cycle-Steal Mode................................................. 360
Figure 11.13  Example of Transfer in Burst Mode ..................................................................... 360
Figure 11.14  Bus State when Multiple Channels Are Operating............................................... 362
Figure 11.15  Cycle-Steal Mode, Level Input (CPU Access: 2 Cycles) ..................................... 365
Figure 11.16  Cycle-Steal Mode, Level Input (CPU Access: 3 Cycles) ..................................... 366
Figure 11.17  Cycle-Steal Mode, Level input (CPU Access: 2 Cycles, DMA RD Access:
              4 Cycles)............................................................................................................... 367
Figure 11.18  Cycle-Steal Mode, Level input (CPU Access: 2 Cycles, DREQ Input Delayed) . 368
Figure 11.19  Cycle-Steal Mode, Edge input (CPU Access: 2 Cycles) ...................................... 369
Figure 11.20  Burst Mode, Level Input ...................................................................................... 370
Figure 11.21  Burst Mode, Edge Input ....................................................................................... 371
Figure 11.22  Source Address Reload Function Diagram........................................................... 372

              Rev. 5.00, 09/03, page xxxiii of xliv
Figure 11.23  Timing Chart of Source Address Reload Function............................................... 373
Figure 11.24  Block Diagram of CMT ....................................................................................... 376
Figure 11.25  Counter Operation ................................................................................................ 380
Figure 11.26  Count Timing ....................................................................................................... 381
Figure 11.27  CMF Setting Timing ............................................................................................ 382
Figure 11.28  Timing of CMF Clearing by the CPU .................................................................. 382
Figure 12.1   Block Diagram of TMU ....................................................................................... 390
Figure 12.2   Setting the Count Operation ................................................................................. 401
Figure 12.3   Auto-Reload Count Operation.............................................................................. 402
Figure 12.4   Count Timing when Operating on Internal Clock ................................................ 402
Figure 12.5   Count Timing when Operating on External Clock (Both Edges Detected) .......... 403
Figure 12.6   Count Timing when Operating on On-Chip RTC Clock ...................................... 403
Figure 12.7   Operation Timing when Using Input Capture Function (Using TCLK Rising
              Edge) .................................................................................................................... 404
Figure 12.8   UNF Setting Timing............................................................................................. 404
Figure 12.9   Status Flag Clearing Timing................................................................................. 405
Figure 13.1   Block Diagram of RTC ........................................................................................ 408
Figure 13.2   Setting the Time ................................................................................................... 422
Figure 13.3   Reading the Time ................................................................................................. 423
Figure 13.4   Using the Alarm Function .................................................................................... 424
Figure 13.5   Example of Crystal Oscillator Circuit Connection............................................... 425
Figure 13.6   Using Periodic Interrupt Function ........................................................................ 426
Figure 14.1   Block Diagram of SCI .......................................................................................... 428
Figure 14.2   SCPT[1]/SCK0 Pin .............................................................................................. 429
Figure 14.3   SCPT[0]/TxD0 Pin............................................................................................... 430
Figure 14.4   SCPT[0]/RxD0 Pin............................................................................................... 431
Figure 14.5   Example of Data Format in Asynchronous Communication (8-Bit Data
              with Parity and Two Stop Bits) ............................................................................ 455
Figure 14.6   Output Clock and Serial Data Timing (Asynchronous Mode) ............................. 457
Figure 14.7   Sample Flowchart for SCI Initialization............................................................... 458
Figure 14.8   Sample Flowchart for Transmitting Serial Data ................................................... 459
Figure 14.9   Example of SCI Transmit Operation in Asynchronous Mode (8-Bit Data
              with Parity and One Stop Bit) .............................................................................. 461
Figure 14.10  Sample Flowchart for Receiving Serial Data ....................................................... 462
Figure 14.11  Example of SCI Receive Operation (8-Bit Data with Parity and One Stop Bit) .. 465
Figure 14.12  Communication Among Processors Using Multiprocessor Format
              (Sending Data H'AA to Receiving Processor A) .................................................. 466
Figure 14.13  Sample Flowchart for Transmitting Multiprocessor Serial Data .......................... 467
Figure 14.14  Example of SCI Multiprocessor Transmit Operation (8-Bit Data with
              Multiprocessor Bit and One Stop Bit) .................................................................. 468
Figure 14.15  Sample Flowchart for Receiving Multiprocessor Serial Data .............................. 470
Figure 14.16  Example of SCI Receive Operation (8-Bit Data with Multiprocessor Bit and
              One Stop Bit)........................................................................................................ 472

Rev. 5.00, 09/03, page xxxiv of xliv
Figure 14.17  Data Format in Synchronous Communication ..................................................... 474
Figure 14.18  Sample Flowchart for SCI Initialization............................................................... 476
Figure 14.19  Sample Flowchart for Transmitting Serial Data ................................................... 477
Figure 14.20  Example of SCI Transmit Operation .................................................................... 478
Figure 14.21  Sample Flowchart for Receiving Serial Data ....................................................... 480
Figure 14.22  Example of SCI Receive Operation...................................................................... 482
Figure 14.23  Sample Flowchart for Transmitting/Receiving Serial Data.................................. 483
Figure 14.24  Receive Data Sampling Timing in Asynchronous Mode ..................................... 486
Figure 15.1   Block Diagram of Smart Card Interface............................................................... 490
Figure 15.2   Pin Connection Diagram for Smart Card Interface .............................................. 495
Figure 15.3   Data Format for Smart Card Interface.................................................................. 496
Figure 15.4   Waveform of Start Character................................................................................ 498
Figure 15.5   Initialization Flowchart (Example)....................................................................... 502
Figure 15.6   Transmission Flowchart ....................................................................................... 504
Figure 15.7   Reception Flowchart (Example)........................................................................... 506
Figure 15.8   Receive Data Sampling Timing in Smart Card Mode .......................................... 508
Figure 15.9   Retransmission in SCI Receive Mode .................................................................. 509
Figure 15.10  Retransmission in SCI Transmit Mode ................................................................ 510
Figure 16.1   Block Diagram of SCIF........................................................................................ 512
Figure 16.2   SCPT[5]/SCK2 Pin .............................................................................................. 513
Figure 16.3   SCPT[4]/TxD2 Pin............................................................................................... 514
Figure 16.4   SCPT[4]/RxD2 Pin............................................................................................... 515
Figure 16.5   Sample Flowchart for SCIF Initialization ............................................................ 540
Figure 16.6   Sample Flowchart for Transmitting Serial Data ................................................... 542
Figure 16.7   Example of Transmit Operation (8-Bit Data, Parity, One Stop Bit)..................... 544
Figure 16.8   Example of Operation Using Modem Control (CTS)........................................... 544
Figure 16.9   Sample Flowchart for Receiving Serial Data ....................................................... 546
Figure 16.10  Sample Flowchart for Receiving Serial Data (cont)............................................. 547
Figure 16.11  Example of SCIF Receive Operation (8-Bit Data, Parity, One Stop Bit)............. 549
Figure 16.12  Example of Operation Using Modem Control (RTS)........................................... 549
Figure 16.13  Receive Data Sampling Timing in Asynchronous Mode ..................................... 552
Figure 17.1   Block Diagram of IrDA........................................................................................ 556
Figure 17.2   SCPT[3]/SCK1 Pin .............................................................................................. 557
Figure 17.3   SCPT[2]/TxD1 Pin............................................................................................... 558
Figure 17.4   SCPT[2]/RxD1 Pin............................................................................................... 559
Figure 17.5   Transmit/Receive Operation................................................................................. 564
Figure 19.1   Port A ................................................................................................................... 587
Figure 19.2   Port B ................................................................................................................... 589
Figure 19.3   Port C ................................................................................................................... 591
Figure 19.4   Port D ................................................................................................................... 593
Figure 19.5   Port E.................................................................................................................... 595
Figure 19.6   Port F.................................................................................................................... 597
Figure 19.7   Port G ................................................................................................................... 599

              Rev. 5.00, 09/03, page xxxv of xliv
Figure 19.8   Port H ................................................................................................................... 601
Figure 19.9   Port J .................................................................................................................... 603
Figure 19.10  Port K ................................................................................................................... 605
Figure 19.11  Port L.................................................................................................................... 607
Figure 19.12  SC Port ................................................................................................................. 609
Figure 20.1   Block Diagram of A/D Converter ........................................................................ 614
Figure 20.2   A/D Data Register Access Operation (Reading H'AA40) .................................... 622
Figure 20.3   Example of A/D Converter Operation (Single Mode, Channel 1 Selected) ......... 624
Figure 20.4   Example of A/D Converter Operation (Multi Mode, Channels AN0 to AN2
              Selected)............................................................................................................... 626
Figure 20.5   Example of A/D Converter Operation (Scan Mode, Channels AN0 to AN2
              Selected)............................................................................................................... 628
Figure 20.6   A/D Conversion Timing ....................................................................................... 629
Figure 20.7   External Trigger Input Timing ............................................................................. 630
Figure 20.8   Definitions of A/D Conversion Accuracy ............................................................ 632
Figure 20.9   Example of Analog Input Protection Circuit ........................................................ 633
Figure 20.10  Analog Input Pin Equivalent Circuit .................................................................... 633
Figure 21.1   Block Diagram of D/A Converter ........................................................................ 635
Figure 21.2   Example of D/A Converter Operation.................................................................. 639
Figure 22.1   Block Diagram of UDI ......................................................................................... 642
Figure 22.2   TAP Controller State Transitions ......................................................................... 651
Figure 22.3   UDI Reset............................................................................................................. 653
Figure 23.1   EXTAL Clock Input Timing ................................................................................ 665
Figure 23.2   CKIO Clock Input Timing ................................................................................... 665
Figure 23.3   CKIO Clock Output Timing................................................................................. 665
Figure 23.4   Power-on Oscillation Settling Time ..................................................................... 666
Figure 23.5   Oscillation Settling Time at Standby Return (Return by Reset)........................... 666
Figure 23.6   Oscillation Settling Time at Standby Return (Return by NMI)............................ 667
Figure 23.7   Oscillation Settling Time at Standby Return (Return by IRQ4 to IRQ0,
              PINT0/1, IRL3 to IRL0)....................................................................................... 667
Figure 23.8   PLL Synchronization Settling Time during Standby Recovery (Reset or NMI) .. 668
Figure 23.9   PLL Synchronization Settling Time during Standby Recovery (IRQ/IRL or
              PINT0/PINT1 Interrupt)....................................................................................... 668
Figure 23.10  PLL Synchronization Settling Time when Frequency Multiplication Rate
              Modified ............................................................................................................... 669
Figure 23.11  Reset Input Timing............................................................................................... 671
Figure 23.12  Interrupt Signal Input Timing............................................................................... 671
Figure 23.13  IRQOUT Timing .................................................................................................. 671
Figure 23.14  Bus Release Timing.............................................................................................. 672
Figure 23.15  Pin Drive Timing at Standby................................................................................ 672
Figure 23.16  Basic Bus Cycle (No Wait) .................................................................................. 675
Figure 23.17  Basic Bus Cycle (One Wait)................................................................................. 676
Figure 23.18  Basic Bus Cycle (External Wait, WAITSEL = 1) ................................................ 677

Rev. 5.00, 09/03, page xxxvi of xliv
Figure 23.19  Burst ROM Bus Cycle (No Wait) ........................................................................ 678
Figure 23.20  Burst ROM Bus Cycle (Two Waits) .................................................................... 679
Figure 23.21  Burst ROM Bus Cycle (External Wait, WAITSEL = 1) ...................................... 680
Figure 23.22  Synchronous DRAM Read Bus Cycle (RCD = 0, CAS Latency = 1, TPC = 0) .. 681
Figure 23.23  Synchronous DRAM Read Bus Cycle (RCD = 2, CAS Latency = 2, TPC = 1) .. 682
Figure 23.24  Synchronous DRAM Read Bus Cycle (Burst Read (Single Read 4),
              RCD = 0, CAS Latency = 1, TPC = 1) ................................................................. 683
Figure 23.25  Synchronous DRAM Read Bus Cycle (Burst Read (Single Read 4),
              RCD = 1, CAS Latency = 3, TPC = 0) ................................................................. 684
Figure 23.26  Synchronous DRAM Write Bus Cycle (RCD = 0, TPC = 0, TRWL = 0)............ 685
Figure 23.27  Synchronous DRAM Write Bus Cycle (RCD = 2, TPC = 1, TRWL = 1)............ 686
Figure 23.28  Synchronous DRAM Write Bus Cycle (Burst Mode (Single Write 4),
              RCD = 0, TPC = 1, TRWL = 0) ........................................................................... 687
Figure 23.29  Synchronous DRAM Write Bus Cycle (Burst Mode (Single Write 4),
              RCD = 1, TPC = 0, TRWL = 0) ........................................................................... 688
Figure 23.30  Synchronous DRAM Burst Read Bus Cycle (RAS Down, Same Row
              Address, CAS Latency = 1).................................................................................. 689
Figure 23.31  Synchronous DRAM Burst Read Bus Cycle (RAS Down, Same Row
              Address, CAS Latency = 2).................................................................................. 690
Figure 23.32  Synchronous DRAM Burst Read Bus Cycle (RAS Down, Different Row
              Address, TPC = 0, RCD = 0, CAS Latency = 1) .................................................. 691
Figure 23.33  Synchronous DRAM Burst Read Bus Cycle (RAS Down, Different Row
              Address, TPC = 1, RCD = 0, CAS Latency = 1) .................................................. 692
Figure 23.34  Synchronous DRAM Burst Write Bus Cycle (RAS Down, Same Row
              Address) ............................................................................................................... 693
Figure 23.35  Synchronous DRAM Burst Write Bus Cycle (RAS Down, Different Row
              Address, TPC = 0, RCD = 0) ............................................................................... 694
Figure 23.36  Synchronous DRAM Burst Write Bus Cycle (RAS Down, Different Row
              Address, TPC = 1, RCD = 1) ............................................................................... 695
Figure 23.37  Synchronous DRAM Auto-Refresh Timing (TRAS = 1, TPC = 1) ..................... 696
Figure 23.38  Synchronous DRAM Self-Refresh Cycle (TRAS = 1, TPC = 1) ......................... 697
Figure 23.39  Synchronous DRAM Mode Register Write Cycle ............................................... 698
Figure 23.40  PCMCIA Memory Bus Cycle (TED = 0, TEH = 0, No Wait) ............................. 699
Figure 23.41  PCMCIA Memory Bus Cycle (TED = 2, TEH = 1, One Wait, External Wait,
              WAITSEL = 1)..................................................................................................... 700
Figure 23.42  PCMCIA Memory Bus Cycle (Burst Read, TED = 0, TEH = 0, No Wait).......... 701
Figure 23.43  PCMCIA Memory Bus Cycle (Burst Read, TED = 1, TEH = 1, Two Waits,
              Burst Pitch = 3, WAITSEL = 1)........................................................................... 702
Figure 23.44  PCMCIA I/O Bus Cycle (TED = 0, TEH = 0, No Wait)...................................... 703
Figure 23.45  PCMCIA I/O Bus Cycle (TED = 2, TEH = 1, One Wait, External Wait,
              WAITSEL = 1)..................................................................................................... 704
Figure 23.46  PCMCIA I/O Bus Cycle (TED = 1, TEH = 1, One Wait, Bus Sizing,
              WAITSEL = 1)..................................................................................................... 705

              Rev. 5.00, 09/03, page xxxvii of xliv
Figure 23.47  TCLK Input Timing ............................................................................................. 707
Figure 23.48  TCLK Clock Input Timing................................................................................... 707
Figure 23.49  Oscillation Settling Time at RTC Crystal Oscillator Power-on............................ 707
Figure 23.50  SCK Input Clock Timing ..................................................................................... 707
Figure 23.51  SCI I/O Timing in Clock Synchronous Mode ...................................................... 708
Figure 23.52  I/O Port Timing .................................................................................................... 708
Figure 23.53  DREQ Input Timing............................................................................................. 708
Figure 23.54  DRAK Output Timing.......................................................................................... 709
Figure 23.55  TCK Input Timing................................................................................................ 709
Figure 23.56  TRST Input Timing (Reset Hold)......................................................................... 710
Figure 23.57  UDI Data Transfer Timing ................................................................................... 710
Figure 23.58  ASEMD0 Input Timing........................................................................................ 710
Figure 23.59  Output Load Circuit.............................................................................................. 711
Figure 23.60  Load Capacitance vs. Delay Time........................................................................ 712
Figure D.1    Package Dimensions (FP-208C)........................................................................... 758
Figure D.2    Package Dimensions (FP-208E)........................................................................... 759
Figure D.3    Package Dimensions (BP-240A).......................................................................... 760

Rev. 5.00, 09/03, page xxxviii of xliv
Tables      SH7709S Features .................................................................................................. 2
            Characteristics......................................................................................................... 5
Table 1.1   SH7709S Pin Function ........................................................................................... 9
Table 1.2   Initial Register Values ............................................................................................ 22
Table 1.3   Addressing Modes and Effective Addresses........................................................... 28
Table 2.1   Instruction Formats ................................................................................................. 32
Table 2.2   Classification of Instructions .................................................................................. 35
Table 2.3   Instruction Code Format ......................................................................................... 38
Table 2.4   Data Transfer Instructions ...................................................................................... 39
Table 2.5   Arithmetic Instructions ........................................................................................... 41
Table 2.6   Logic Operation Instructions .................................................................................. 44
Table 2.7   Shift Instructions..................................................................................................... 45
Table 2.8   Branch Instructions ................................................................................................. 46
Table 2.9   System Control Instructions.................................................................................... 47
Table 2.10  Instruction Code Map ............................................................................................. 50
Table 2.11  Register Configuration............................................................................................ 61
Table 2.12  Access States Designated by D, C, and PR Bits ..................................................... 68
Table 3.1   Register Configuration............................................................................................ 85
Table 3.2   Exception Event Vectors ........................................................................................ 87
Table 4.1   Exception Codes ..................................................................................................... 90
Table 4.2   Types of Reset ........................................................................................................ 95
Table 4.3   Cache Specifications............................................................................................... 103
Table 4.4   LRU and Way Replacement (When the cache lock function is not used) .............. 105
Table 5.1   Register Configuration............................................................................................ 105
Table 5.2   Way Replacement when PREF Instruction Ended Up in a Cache Miss ................. 107
Table 5.3   Way Replacement when Instructions Except for PREF Instruction Ended Up
Table 5.4   in a Cache Miss....................................................................................................... 108
Table 5.5   LRU and Way Replacement (when W2LOCK=1) ................................................. 108
            LRU and Way Replacement (when W3LOCK=1) ................................................. 108
Table 5.6   LRU and Way Replacement (when W2LOCK=1 and W3LOCK=1)..................... 108
Table 5.7   INTC Pins ............................................................................................................... 119
Table 5.8   INTC Registers ....................................................................................................... 120
Table 6.1   IRL3IRL0/IRLS3IRLS0 Pins and Interrupt Levels ............................................ 123
Table 6.2   Interrupt Exception Handling Sources and Priority (IRQ Mode) ........................... 126
Table 6.3   Interrupt Exception Handling Sources and Priority (IRL Mode)............................ 128
Table 6.4   Interrupt Levels and INTEVT Codes...................................................................... 130
Table 6.5   Interrupt Request Sources and IPRAIPRE............................................................ 131
Table 6.6   Interrupt Response Time......................................................................................... 146
Table 6.7   Register Configuration............................................................................................ 151
Table 6.8   Data Access Cycle Addresses and Operand Size Comparison Conditions............. 171
Table 7.1   Power-Down Modes ............................................................................................... 182
Table 7.2
Table 8.1

            Rev. 5.00, 09/03, page xxxix of xliv
Table 8.2 Pin Configuration.................................................................................................... 183
Table 8.3 Register Configuration............................................................................................ 183
Table 8.4 Register States in Standby Mode ............................................................................ 188
Table 9.1 CPG Pins and Functions ......................................................................................... 206
Table 9.2 CPG Register .......................................................................................................... 206
Table 9.3 Clock Operating Modes .......................................................................................... 207
Table 9.4 Available Combinations of Clock Mode and FRQCR Values................................ 208
Table 9.5 Register Configuration............................................................................................ 214
Table 10.1 BSC Pins................................................................................................................. 226
Table 10.2 BSC Registers......................................................................................................... 228
Table 10.3 Physical Address Space Map.................................................................................. 230
Table 10.4 Correspondence between External Pins (MD4 and MD3) and Memory Size......... 231
Table 10.5 PCMCIA Interface Characteristics ......................................................................... 232
Table 10.6 PCMCIA Support Interface .................................................................................... 233
Table 10.7 32-Bit External Device/Big-Endian Access and Data Alignment .......................... 260
Table 10.8 16-Bit External Device/Big-Endian Access and Data Alignment .......................... 261
Table 10.9 8-Bit External Device/Big-Endian Access and Data Alignment ............................ 262
Table 10.10 32-Bit External Device/Little-Endian Access and Data Alignment........................ 263
Table 10.11 16-Bit External Device/Little-Endian Access and Data Alignment........................ 263
Table 10.12 8-Bit External Device/Little-Endian Access and Data Alignment.......................... 264
Table 10.13 Relationship between Bus Width, AMX Bits, and Address Multiplex Output ....... 279
Table 10.14 Example of Correspondence between SH7709S and Synchronous DRAM

                Address Pins (AMX [3:0] = 0100 (32-Bit Bus Width)).......................................... 281
Table 10.15 MCSCRx Settings and MCS[x] Assertion Conditions (x: 07).............................. 324
Table 11.1 DMAC Pins ............................................................................................................ 330
Table 11.2 DMAC Registers .................................................................................................... 331
Table 11.3 Selecting External Request Modes with RS Bits .................................................... 347
Table 11.4 Selecting On-Chip Peripheral Module Request Modes with RS3-0 Bits................ 348
Table 11.5 Supported DMA Transfers...................................................................................... 352
Table 11.6 Relationship between Request Modes and Bus Modes by DMA Transfer

                Category ................................................................................................................. 361
Table 11.7 Register Configuration............................................................................................ 377
Table 11.8 Transfer Conditions and Register Settings for Transfer between On-Chip SCI

                and External Memory ............................................................................................. 383
Table 11.9 Transfer Conditions and Register Settings for Transfer between On-Chip A/D

                Converter and External Memory ............................................................................ 384
Table 11.10 Values in DMAC after End of Fourth Transfer ...................................................... 385
Table 11.11 Transfer Conditions and Register Settings for Transfer between External

                Memory and SCIF Transmitter............................................................................... 386
Table 12.1 TMU Pin................................................................................................................. 391
Table 12.2 TMU Registers........................................................................................................ 391
Table 12.3 TMU Interrupt Sources........................................................................................... 405
Table 13.1 RTC Pins................................................................................................................. 409

Rev. 5.00, 09/03, page xl of xliv
Table 13.2 RTC Registers......................................................................................................... 410
Table 13.3 Day-of-Week Codes (RWKCNT) .......................................................................... 413
Table 13.4 Day-of-Week Codes (RWKAR) ............................................................................. 417
Table 13.5 Recommended Oscillator Circuit Constants (Recommended Values).................... 425
Table 14.1 SCI Pins ................................................................................................................. 431
Table 14.2 SCI Registers .......................................................................................................... 432
Table 14.3 SCSMR Settings ..................................................................................................... 446
Table 14.4 Bit Rates and SCBRR Settings in Asynchronous Mode ......................................... 447
Table 14.5 Bit Rates and SCBRR Settings in Synchronous Mode ........................................... 450
Table 14.6 Maximum Bit Rates for Various Frequencies with Baud Rate Generator

                (Asynchronous Mode) ............................................................................................ 451
Table 14.7 Maximum Bit Rates with External Clock Input (Asynchronous Mode)................. 452
Table 14.8 Maximum Bit Rates with External Clock Input (Synchronous Mode) ................... 452
Table 14.9 Serial Mode Register Settings and SCI Communication Formats .......................... 454
Table 14.10 SCSMR and SCSCR Settings and SCI Clock Source Selection ............................. 454
Table 14.11 Serial Communication Formats (Asynchronous Mode) ......................................... 456
Table 14.12 Receive Error Conditions and SCI Operation......................................................... 464
Table 14.13 SCI Interrupt Sources ............................................................................................. 484
Table 14.14 SCSSR Status Flags and Transfer of Receive Data ................................................ 485
Table 15.1 Smart Card Interface Pins ....................................................................................... 491
Table 15.2 Registers ................................................................................................................. 491
Table 15.3 Register Settings for Smart Card Interface ............................................................. 497
Table 15.4 Relationship of n to CKS1 and CKS0..................................................................... 499
Table 15.5 Examples of Bit Rate B (Bits/s) for SCBRR Settings (n = 0)................................. 499
Table 15.6 Examples of SCBRR Settings for Bit Rate B (Bits/s) (n = 0)................................. 499
Table 15.7 Maximum Bit Rates for Frequencies (Smart Card Interface Mode) ....................... 500
Table 15.8 Register Set Values and SCK Pin ........................................................................... 500
Table 15.9 Smart Card Mode Operating State and Interrupt Sources....................................... 507
Table 16.1 SCIF Pins................................................................................................................ 515
Table 16.2 SCIF Registers ........................................................................................................ 516
Table 16.3 SCSMR Settings ..................................................................................................... 528
Table 16.4 Bit Rates and SCBRR Settings ............................................................................... 528
Table 16.5 Maximum Bit Rates for Various Frequencies with Baud Rate Generator

                (Asynchronous Mode) ............................................................................................ 532
Table 16.6 Maximum Bit Rates with External Clock Input (Asynchronous Mode)................. 533
Table 16.7 SCSMR Settings and SCIF Communication Formats ............................................ 537
Table 16.8 SCSCR Settings and SCIF Clock Source Selection................................................ 538
Table 16.9 Serial Communication Formats .............................................................................. 538
Table 16.10 SCIF Interrupt Sources ........................................................................................... 550
Table 17.1 IrDA Pins................................................................................................................ 559
Table 17.2 IrDA Registers ........................................................................................................ 560
Table 18.1 List of Multiplexed Pins ......................................................................................... 565
Table 18.2 Pin Function Controller Registers........................................................................... 569

                                                                                          Rev. 5.00, 09/03, page xli of xliv
Table 19.1 Port A Register ....................................................................................................... 587
Table 19.2 Port A Data Register (PADR) Read/Write Operations ........................................... 588
Table 19.3 Port B Register........................................................................................................ 589
Table 19.4 Port B Data Register (PBDR) Read/Write Operations ........................................... 590
Table 19.5 Port C Register........................................................................................................ 591
Table 19.6 Port C Data Register (PCDR) Read/Write Operations ........................................... 592
Table 19.7 Port D Register ....................................................................................................... 593
Table 19.8 Port D Data Register (PDDR) Read/Write Operations ........................................... 594
Table 19.9 Port E Register........................................................................................................ 595
Table 19.10 Port E Data Register (PEDR) Read/Write Operations ............................................ 596
Table 19.11 Port F Register ........................................................................................................ 597
Table 19.12 Port F Data Register (PFDR) Read/Write Operations ............................................ 598
Table 19.13 Port G Register ....................................................................................................... 599
Table 19.14 Port G Data Register (PGDR) Read/Write Operations ........................................... 600
Table 19.15 Port H Register ....................................................................................................... 601
Table 19.16 Port H Data Register (PHDR) Read/Write Operations ........................................... 602
Table 19.17 Port J Register......................................................................................................... 603
Table 19.18 Port J Data Register (PJDR) Read/Write Operations.............................................. 604
Table 19.19 Port K Register ....................................................................................................... 605
Table 19.20 Port K Data Register (PKDR) Read/Write Operations ........................................... 606
Table 19.21 Port L Register ........................................................................................................ 607
Table 19.22 Port L Data Register (PLDR) Read/Write Operation ............................................. 608
Table 19.23 SC Port Register ..................................................................................................... 609
Table 19.24 Read/Write Operation of the SC Port Data Register (SCPDR) .............................. 611
Table 20.1 A/D Converter Pins................................................................................................. 615
Table 20.2 A/D Converter Registers......................................................................................... 616
Table 20.3 Analog Input Channels and A/D Data Registers .................................................... 617
Table 20.4 A/D Conversion Time (Single Mode)..................................................................... 630
Table 20.5 Analog Input Pin Ratings........................................................................................ 634
Table 20.6 Relationship between Access Size and Read Data ................................................. 634
Table 21.1 D/A Converter Pins................................................................................................. 636
Table 21.2 D/A Converter Registers......................................................................................... 636
Table 22.1 UDI Registers ......................................................................................................... 643
Table 22.2 UDI Commands ...................................................................................................... 644
Table 22.3 Pins of this LSI and Boundary Scan Register Bits.................................................. 645
Table 22.4 Reset Configuration ................................................................................................ 652
Table 23.1 Absolute Maximum Ratings ................................................................................... 657
Table 23.2 DC Characteristics .................................................................................................. 659
Table 23.3 Permitted Output Current Values............................................................................ 662
Table 23.4 Operating Frequency Range ................................................................................... 663
Table 23.5 Clock Timing .......................................................................................................... 664
Table 23.6 Control Signal Timing ............................................................................................ 670
Table 23.7 Bus Timing ............................................................................................................. 673

Rev. 5.00, 09/03, page xlii of xliv
Table 23.8 Peripheral Module Signal Timing........................................................................... 706
Table 23.9 UDI-Related Pin Timing......................................................................................... 709
Table 23.10 A/D Converter Characteristics................................................................................ 713
Table 23.11 D/A Converter Characteristics................................................................................ 713
Table A.1 Pin States during Resets, Power-Down States, and Bus-Released State................. 715
Table A.2 Pin Specifications ................................................................................................... 719
Table A.3 Pin States (Ordinary Memory/Little Endian).......................................................... 725
Table A.4 Pin States (Ordinary Memory/Big Endian)............................................................. 727
Table A.5 Pin States (Burst ROM/Little Endian) .................................................................... 729
Table A.6 Pin States (Burst ROM/Big Endian) ....................................................................... 731
Table A.7 Pin States (Synchronous DRAM/Little Endian) ..................................................... 733
Table A.8 Pin States (Synchronous DRAM/Big Endian) ........................................................ 734
Table A.9 Pin States (PCMCIA/Little Endian)........................................................................ 735
Table A.10 Pin States (PCMCIA/Big Endian) .......................................................................... 737
Table B.1 Memory-Mapped Control Registers ....................................................................... 739
Table B.2 Register Bits ........................................................................................................... 745
Table C.1 SH7709S Models.................................................................................................... 757

                                                                                         Rev. 5.00, 09/03, page xliii of xliv
Rev. 5.00, 09/03, page xliv of xliv
             Section 1 Overview and Pin Functions

1.1 SH7709S Features

This LSI is a single-chip RISC microprocessor that integrates a Renesas Technology-original
RISC-type SuperHTM architecture CPU as its core that has an on-chip multiplier, cache memory,
and a memory management unit (MMU) as well as peripheral functions required for system
configuration such as a timer, a realtime clock, an interrupt controller, and a serial communication
interface. This LSI includes data protection, virtual memory, and other functions provided by
incorporating an MMU into a SuperH Series microprocessor (SH-1 or SH-2).
High-speed data transfers can be performed by an on-chip direct memory access controller
(DMAC) and an external memory access support function enables direct connection to different
types of memory. The SH7709S microprocessor also supports an infrared communication
function, an A/D converter, and a D/A converter.
A powerful built-in power management function keeps power consumption low, even during high-
speed operation. This LSI can run at six times the frequency of the system bus operating speed,
making it optimum for electrical devices such as PDAs that require both high speed and low
power.
The features of this LSI is listed in table 1.1. The specifications are shown in table 1.2.
Note: SuperH is a trademark of Renesas Technology, Corp.

                                                                                          Rev. 5.00, 09/03, page 1 of 760
Table 1.1 SH7709S Features

Item             Features

CPU               Original Renesas Technology SuperH architecture
                  Object code level with SH-1, SH-2, and SH-3 Series

                  32-bit internal data bus

                  General-register files
                      Sixteen 32-bit general registers (eight 32-bit shadow registers)

                  Eight 32-bit control registers

                      Four 32-bit system registers
                  RISC-type instruction set

                  Instruction length: 16-bit fixed length for improved code efficiency

                  Load-store architecture
                  Delayed branch instructions

                  Instruction set based on C language

                  Instruction execution time: one instruction/cycle for basic instructions
                  Logical address space: 4 Gbytes

                  Space identifier ASID: 8 bits, 256 logical address space

                  Five-stage pipeline

Clock pulse       Clock mode: An input clock can be selected from the external input (EXTAL

generator (CPG)  or CKIO) or crystal oscillator.

                  Three types of clocks generated:

                  CPU clock: 124 times the input clock, maximum 200 MHz

                  Bus clock: 14 times the input clock, maximum 66.67 MHz
                  Peripheral clock: 1/44 times the input clock, maximum 33.34 MHz

                  Power-down modes:

                  Sleep mode
                  Standby mode

                  Module standby mode

                  One-channel watchdog timer

Memory            4 Gbytes of address space, 256 address spaces (ASID 8 bits)
management       Page unit sharing
unit (MMU)       Supports multiple page sizes: 1, 4 kbytes

                  128-entry, 4-way set associative TLB

                  Supports software selection of replacement method and random-replacement
                     algorithms

Rev. 5.00, 09/03, page 2 of 760
Item              Features

Cache memory 16-kbyte cache, mixed instruction/data

                   256 entries, 4-way set associative, 16-byte block length

                   Write-back, write-through, LRU replacement algorithm
                   1-stage write-back buffer

                   Maximum 2 ways of the cache can be locked

Interrupt          23 external interrupt pins (NMI, IRQ5IRQ0, PINT15 to PINT0)

controller (INTC) On-chip peripheral interrupts: set priority levels for each module

User break         2 break channels

controller (UBC) Addresses, data values, type of access, and data size can all be set as break

                  conditions

                   Supports a sequential break function

Bus state          Physical address space divided into six areas (area 0, areas 2 to 6), each a

controller (BSC)  maximum of 64 Mbytes, with the following features settable for each area:

                   Bus size (8, 16, or 32 bits)

                   Number of wait cycles (also supports a hardware wait function)

                   Setting the type of space enables direct connection to SRAM,
                      Synchronous DRAM, and burst ROM

                   Supports PCMCIA interface (2 channels)

                   Outputs chip select signal (CS0, CS2CS6) for corresponding area

                   Synchronous DRAM refresh function

                   Programmable refresh interval

                   Support self-refresh mode

                   Synchronous DRAM burst access function

                   Usable as either big or little endian machine

User-debugging E10A emulator support
Interface (UDI) JTAG-compliant

                   Realtime branch address trace
                   1-kB on-chip RAM for fast emulation program execution

Timer (TMU)       3-channel auto-reload-type 32-bit timer

                   Input capture function

Realtime clock    6 types of counter input clocks can be selected
(RTC)             Maximum resolution: 2 MHz
                   Built-in clock, calendar functions, and alarm functions
                   On-chip 32-kHz crystal oscillator circuit with a maximum resolution (interrupt

                      cycle) of 1/256 second

                                                                   Rev. 5.00, 09/03, page 3 of 760
Item                Features

Serial communi-            Asynchronous mode or clock synchronous mode can be selected
                            Full-duplex communication
cation interface 0         Supports smart card interface
(SCI0/SCI)

                    

Serial communi-            16-byte FIFO for transmission/reception
                            DMA can be transferred
cation interface 1         IrDA: interface based on 1.0
(SCI1/IrDA)
                    

Serial communi-            16-byte FIFO for transmission/reception
cation interface 2         DMA can be transferred
(SCI2/SCIF)                 Hardware flow control

                        

Direct memory              4 channels
                            Burst mode and cycle-steal mode
access controller          Data transfer size: 8-/16-/32-bit and 16-byte
(DMAC)

                    

I/O port             Twelve 8-bit ports

A/D converter       10 bits 4 LSB, 8 channels
(ADC)                Conversion time: 16 s

                     Input range: 0AVcc (max. 3.6 V)

D/A converter       8 bits 4 LSB, 2 channels
(DAC)                Conversion time: 10 s

                     Output range: 0AVcc (max. 3.6 V)

Product lineup                Power Supply Voltage
                                                              Operating

                    Abbr.     I/O  Internal Frequency Model Name                        Package

                    SH7709S 3.30.3 V 2.00.15 V* 200 MHz HD6417709SHF200B 208-pin plastic
                                                                                                                     HQFP (FP-208E)

                                   1.90.15 V 167 MHz HD6417709SF167B 208-pin plastic
                                                                                                      LQFP (FP-208C)

                                                                         HD6417709SBP167B 240-pin CSP
                                                                                                        (BP-240A)

                                   1.8+0.25 V 133 MHz HD6417709SF133B 208-pin plastic

                                   1.80.15 V                                           LQFP (FP-208C)

                                                                         HD6417709SBP133B 240-pin CSP
                                                                                                        (BP-240A)

                                   1.7+0.25 V 100 MHz HD6417709SF100B 208-pin plastic

                                   1.70.15 V                                           LQFP (FP-208C)

                                                                         HD6417709SBP100B 240-pin CSP
                                                                                                        (BP-240A)

                    Note: * 2.0 (+0.15, 0.1) V when an IRL or IRLS interrupt is used.

Rev. 5.00, 09/03, page 4 of 760
Table 1.2 Characteristics

Item                  Characteristics

Power supply voltage   I/O: 3.3 0.3 V
                          Internal: 2.0 0.15 V (200 MHz model)*, 1.90.15 V (167 MHz model),
                          1.8 (+0.25, 0.15) V (133 MHz model), 1.7(+0.25, 0.15) V (100 MHz
                          model)

Operating frequency    Internal frequency: maximum 200 MHz(200 MHz model), 167 MHz
                          (167 MHz model) 133.34 MHz (133 MHz model), 100 MHz (100 MHz
                          model); external frequency: maximum 66.67 MHz

Process                0.25-m CMOS/5-layer metal

Note: * 2.0 (+0.15, 0.1) V when an IRL or IRLS interrupt is used.

                                                                    Rev. 5.00, 09/03, page 5 of 760
1.2 Block Diagram

          MMU                     I bus 1                      SH-3
           TLB                                          L bus  CPU
           CCN
         CACHE                                                 UBC                         SCI
                                                                                           TMU
                          BRIDGE                               AUD                         RTC

                                                                         Peripheral bus 1

             UDI                  I bus 2                       BSC                        IrDA
            INTC                                                                           SCIF
         CPG/WDT                                               DMAC      Peripheral bus 2  ADC
                                                                CMT                        DAC

                        External bus                           I/O port
                          interface

Legend:

ADC:     A/D converter                         INTC:           Interrupt controller
                                               IrDA:           Serial communicatiion interface (with IrDA)
AUD:     Advanced user debugger                MMU:            Memory management unit
                                               RTC:            Realtime clock
BSC:     Bus state controller                  SCI:            Serial communication interface (with smart card interface)
                                               SCIF:           Serial communication interface (with FIFO)
CACHE: Cache memory                            TLB:            Address translation buffer
                                               TMU:            Timer unit
CCN:     Cache memory controller               UBC:            User break controller

CMT:     Compare match timer

CPG/WDT: Clock pulse generator/watchdog timer

CPU:     Central processing unit

DAC:     D/A converter

DMAC: Direct memory access controller

UDI:     User debugging interface

                                           Figure 1.1 Block Diagram

Rev. 5.00, 09/03, page 6 of 760
1.3 Pin Description

1.3.1 Pin Assignment

                            156 EXTAL  155 XTAL  VCC  VSS      VSS     151 AUDCK/PTH[6]  150 VCC-PLL2           148 VSS-PLL2                                          145 VCC-PLL1             143 IRLS0/PTF[0]/PINT[8]  142 IRLS1/PTF[1]/PINT[9]  141 IRLS2/PTF[2]/PINT[10]  140 IRLS3/PTF[3]/PINT[11]  139 TCK/PTF[4]/PINT[12]  138 TDI/PTF[5]/PINT[13]  137 TMS/PTF[6]/PINT[14]  136 TRST/PTF[7]/PINT[15]  135 AUDATA[0]/PTG[0]  VCC         133 AUDATA[1]/PTG[1]  VSS         131 AUDATA[2]/PTG[2]  130 AUDATA[3]/PTG[3]  129 PTG[4]/CKIO2  128 ASEBRKAK/PTG[5]  127 ASEMD0/PTG[6]  126 IOIS16/PTG[7]  125 ADTRG/PTH[5]  124 RESETM  123 WAIT  122 BREQ  121 BACK  120 TDO/PTE[0]  119 PTE[1]  118 RAS3U/PTE[2]  117 PTE[3]  116 PTE[6]  115 DACK1/PTD[7]  114 DACK0/PTD[5]  113 PTJ[5]  112 PTJ[4]  VCCQ 110 CASU/PTJ[3]  VSSQ 108 CASL/PTJ[2]  107 PTJ[1]  106 RAS3L/PTJ[0]  105 CKE/PTK[5]
                                                                                            149 CAP2               147 VSS-PLL1                                          144 MD0
                                                 154  153      152                                                    146 CAP1                                                                                                                                                                                                                                                                                                      134                               132                                                                                                                                                                                                                                                                                                                                111                   109

STATUS0/PTJ[6]         157                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         104  CE2B/PTE[5]

STATUS1/PTJ[7]         158                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         103  CE2A/PTE[4]

TCLK/PTH[7]            159                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         102  CS6/CE1B

IRQOUT                 160                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         101  CS5/CE1A/PTK[3]

VSSQ                   161                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         100  CS4/PTK[2]
CKIO
                       162                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         99   CS3/PTK[1]
VCCQ
TxD0/SCPT[0]           163                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         98   CS2/PTK[0]

SCK0/SCPT[1]           164                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         97   VCCQ

TxD1/SCPT[2]           165                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         96   CS0/MCS0

SCK1/SCPT[3]           166                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         95   VSSQ

TxD2/SCPT[4]           167                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         94   AUDSYNC/PTE[7]

SCK2/SCPT[5]           168                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         93   RD/WR

RTS2/SCPT[6]           169                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         92   WE3/DQMUU/ICIOWR/PTK[7]

RxD0/SCPT[0]           170                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         91   WE2/DQMUL/ICIORD/PTK[6]

RxD1/SCPT[2]           171                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         90   WE1/DOMLU/WE

VSS                    172                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         89   WE0/DQMLL

RXD2/SCPT[4]           173                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         88   RD

VCC                    174                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         87   BS/PTK[4]

CTS2/IRQ5/SCPT[7]      175                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         86   A25

MCS[7]/PTC[7]/PINT[7]  176                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         85   VCCQ

MCS[6]/PTC[6]/PINT[6]  177                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         84   A24

MCS[5]/PTC[5]/PINT[5]  178                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         83   VSSQ

MCS[4]/PTC[4]/PINT[4]  179                                                                                                                                                                                                                                                                                                                                                                                    SH7709S                                                                                                                                                                                                                                                                                                                                                                                                                                                                              82   A23
                                                                                                                                                                                                                                                                                                                                                                                                              FP-208C
VSSQ                   180                                                                                                                                                                                                                                                                                                                                                                                    FP-208E                                                                                                                                                                                                                                                                                                                                                                                                                                                                              81   VCC
                                                                                                                                                                                                                                                                                                                                                                                                              (Top view)
WAKEUP/PTD[3]          181                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         80   A22

VCCQ                   182                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         79   VSS

RESETOUT/PTD[2]        183                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         78   A21

MCS[3]/PTC[3]/PINT[3]  184                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         77   A20

MCS[2]/PTC[2]/PINT[2]  185                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         76   A19

MCS[1]/PTC[1]/PINT[1]  186                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         75   A18

MCS[0]/PTC[0]/PINT[0]  187                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         74   A17

DRAK0/PTD[1]           188                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         73   A16

DRAK1/PTD[0]           189                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         72   A15

DREQ0/PTD[4]           190                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         71   VCCQ

DREQ1/PTD[6]           191                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         70   A14

RESETP                 192                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         69   VSSQ

CA                     193                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         68   A13

MD3                    194                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         67   A12

MD4                    195                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         66   A11

MD5                    196                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         65   A10

AVSS                   197                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         64   A9

AN[0]/PTL[0]           198                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         63   A8

AN[1]/PTL[1]           199                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         62   A7

AN[2]/PTL[2]           200                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         61   A6

AN[3]/PTL[3]           201                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         60   A5

AN[4]/PTL[4]           202                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         59   VCCQ

AN[5]/PTL[5]           203                                     INDEX MARK                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          58   A4

AVCC                   204                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         57   VSSQ

AN[6]/DA[1]/PTL[6]     205                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         56   A3

AN[7]/DA[0]/PTL[7]     206                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         55   A2

AVSS                   207                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         54   A1

                       208                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         53   A0

                            1          2         3    4        5       6                 7    8                 9                 10                11                12           13          14                        15                        16                         17                         18                       19                       20                       21                        22                    23          24                    25          26                    27                    28                29                   30                 31                 32                33          34        35        36        37              38          39                40          41          42                43                44          45          46   47               48   49               50          51                52

                            MD1        MD2       VCC-RTCXTAL2  EXTAL2  VSS-RTC           NMI  IRQ0/IRL0/PTH[0]  IRQ1/IRL1/PTH[1]  IRQ2/IRL2/PTH[2]  IRQ3/IRL3/PTH[3]  IRQ4/PTH[4]  D31/PTB[7]  D30/PTB[6]                D29/PTB[5]                D28/PTB[4]                 D27/PTB[3]                 D26/PTB[2]               VSSQ                     D25/PTB[1]               VCCQ                      D24/PTB[0]            D23/PTA[7]  D22/PTA[6]            D21/PTA[5]  D20/PTA[4]            VSS                   D19/PTA[3]        VCC                  D18/PTA[2]         D17/PTA[1]         D16/PTA[0]        VSSQ        D15       VCCQ      D14       D13             D12         D11               D10         D9          D8                D7                D6          VSSQ        D5   VCCQ             D4   D3               D2          D1                D0

                                                                       Figure 1.2 Pin Assignment (FP-208C, FP-208E)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               Rev. 5.00, 09/03, page 7 of 760
    A B CD E F GH J K L MN P R T U VW

19                                                                 19

18                                                                 18

17                                                                 17

16                                                                 16

15                                                                 15

14                                                                 14

13                                                                 13

12                                                                 12

11                               SH7709S                           11

10                               BP-240A                           10

9                                (Top view)                        9

8                                                                  8

7                                                                  7

6                                                                  6

5                                                                  5

4                                                                  4

3                                                                  3

2                                                                  2

1                                                                  1

    A B CD E F GH J K L MN P R T U VW

    Note: The pin area enclosed in broken lines is an inner view.
                    Figure 1.3 Pin Assignment (BP-240A)

Rev. 5.00, 09/03, page 8 of 760
1.3.2 Pin Function

Table 1.3 SH7709S Pin Function

    Number of Pins

FP-208C

FP-208E BP-240A Pin Name              I/O  Description
                                           Clock mode setting
1        D2         MD1               I    Clock mode setting
                                           RTC power supply (*3)
2        C2         MD2               I    On-chip RTC crystal oscillator pin
                                           On-chip RTC crystal oscillator
3        E2         Vcc-RTC*1         --   pin*6
                                           RTC power supply (0 V)
4        D1         XTAL2             O    Nonmaskable interrupt request
                                           External interrupt request/input
5        D3         EXTAL2            I    port H
                                           External interrupt request/input
6        E1         Vss-RTC*1         --   port H
                                           External interrupt request/input
7        C3         NMI               I    port H
                                           External interrupt request/input
8        E3         IRQ0/IRL0/PTH[0]  I    port H
                                           External interrupt request/input
9        E4         IRQ1/IRL1/PTH[1]  I    port H
                                           Data bus / input/output port B
10       F1         IRQ2/IRL2/PTH[2]  I    Data bus / input/output port B
                                           Data bus / input/output port B
11       F2         IRQ3/IRL3/PTH[3]  I    Data bus / input/output port B
                                           Data bus / input/output port B
12       F3         IRQ4/PTH[4]       I    Data bus / input/output port B
                                           Input/output power supply (0 V)
13       F4         D31/PTB[7]        I/O  Data bus / input/output port B
                                           Input/output power supply (3.3 V)
14       G1         D30/PTB[6]        I/O  Data bus / input/output port B
                                           Data bus / input/output port A
15       G2         D29/PTB[5]        I/O  Data bus / input/output port A
                                           Data bus / input/output port A
16       G3         D28/PTB[4]        I/O  Data bus / input/output port A

17       G4         D27/PTB[3]        I/O     Rev. 5.00, 09/03, page 9 of 760

18       H1         D26/PTB[2]        I/O

19       H2         VssQ              --

20       H3         D25/PTB[1]        I/O

21       H4         VccQ              --

22       J1         D24/PTB[0]        I/O

23       J2         D23/PTA[7]        I/O

24       J4         D22/PTA[6]        I/O

25       J3         D21/PTA[5]        I/O

26       K2         D20/PTA[4]        I/O
    Number of Pins

FP-208C  BP-240A    Pin Name      I/O  Description
FP-208E             Vss
                    Vss
27       K3         D19/PTA[3]    --   Power supply (0 V)
                    Vcc
--       K4         Vcc           --   Power supply (0 V)
                    D18/PTA[2]
28       K1         D17/PTA[1]    I/O  Data bus / input/output port A
                    D16/PTA[0]
29       L3         VssQ          --   Power supply (1.9 V/1.8 V*3)
                    D15
--       L4         VccQ          --   Power supply (*3)
                    D14
30       L2         D13           I/O  Data bus / input/output port A
                    D12
31       L1         D11           I/O  Data bus / input/output port A
                    D10
32       M4         D9            I/O  Data bus / input/output port A
                    D8
33       M3         D7            --   Input/output power supply (0 V)
                    D6
34       M2         VssQ          I/O  Data bus
                    D5
35       M1         VccQ          --   Input/output power supply (3.3 V)
                    D4
36       N4         D3            I/O  Data bus
                    D2
37       N3         D1            I/O  Data bus
                    D0
38       N2         A0            I/O  Data bus
                    A1
39       N1         A2            I/O  Data bus
                    A3
40       P4                       I/O  Data bus

41       P3                       I/O  Data bus

42       P2                       I/O  Data bus

43       P1                       I/O  Data bus

44       R4                       I/O  Data bus

45       R3                       --   Input/output power supply (0 V)

46       T4                       I/O  Data bus

47       R1                       --   Input/output power supply (3.3 V)

48       T3                       I/O  Data bus

49       T1                       I/O  Data bus

50       R2                       I/O  Data bus

51       U2                       I/O  Data bus

52       T2                       I/O  Data bus

53       V4                       O    Address bus

54       V3                       O    Address bus

55       V5                       O    Address bus

56       W4                       O    Address bus

Rev. 5.00, 09/03, page 10 of 760
    Number of Pins

FP-208C  BP-240A    Pin Name  I/O  Description
FP-208E             VssQ
                    A4
57       U4         VccQ      --   Input/output power supply (0 V)
                    A5
58       W5         A6        O    Address bus
                    A7
59       U3         A8        --   Input/output power supply (3.3 V)
                    A9
60       U5         A10       O    Address bus
                    A11
61       T5         A12       O    Address bus
                    A13
62       W6         VssQ      O    Address bus
                    A14
63       V6         VccQ      O    Address bus
                    A15
64       U6         A16       O    Address bus
                    A17
65       T6         A18       O    Address bus
                    A19
66       W7         A20       O    Address bus
                    A21
67       V7         Vss       O    Address bus
                    Vss
68       U7         A22       O    Address bus
                    Vcc
69       T7         Vcc       --   Input/output power supply (0 V)
                    A23
70       W8         VssQ      O    Address bus
                    A24
71       V8         VccQ      --   Input/output power supply (3.3 V)
                    A25
72       U8                   O    Address bus

73       T8                   O    Address bus

74       W9                   O    Address bus

75       V9                   O    Address bus

76       T9                   O    Address bus

77       U9                   O    Address bus

78       V10                  O    Address bus

79       U10                  --   Power supply (0 V)

--       T10                  O    Power supply (0 V)

80       W10                  O    Address bus

81       U11                  --   Power supply (*3)

--       T11                  --   Power supply (*3)

82       V11                  O    Address bus

83       W11                  --   Input/output power supply (0 V)

84       T12                  O    Address bus

85       U12                  --   Input/output power supply (3.3 V)

86       V12                  O    Address bus

                                   Rev. 5.00, 09/03, page 11 of 760
     Number of Pins

FP-208C  BP-240A     Pin Name         I/O       Description
FP-208E              BS/PTK[4]        O / I/O
                                                Bus cycle start signal / input/output
87       W12                                    port K

88       T13         RD               O         Read strobe

89       U13         WE0/DQMLL        O         D7D0 select signal / DQM
                                                (SDRAM)
90       V13         WE1/DQMLU/WE     O
                                                D15D8 select signal / DQM
91       W13         WE2/DQMUL/ICIORD/ O / I/O  (SDRAM)
                     PTK[6]
                                                D23D16 select signal / DQM
92       T14         WE3/DQMUU/ICIOWR/ O / I/O  (SDRAM) / PCMCIA I/O read /
                     PTK[7]                     input/output port K

93       U14         RD/WR            O         D31D24 select signal / DQM
                     AUDSYNC/PTE[7]   O / I/O   (SDRAM) / PCMCIA I/O write /
94       V14                                    input/output port K

95       W14         VssQ             --        Read/write

96       T15         CS0/MCS[0]       O         AUD synchronous / input/output
                                                port E
97       U15         VccQ             --
                     CS2/PTK[0]       O / I/O   Input/output power supply (0 V)
98       T16         CS3/PTK[1]       O / I/O
                     CS4/PTK[2]       O / I/O   Chip select 0/mask ROM chip
99       W15         CS5/CE1A/PTK[3]  O / I/O   select 0

100      U16                                    Input/output power supply (3.3 V)

101      W16                                    Chip select 2 / input/output port K

102      V15         CS6/CE1B         O         Chip select 3 / input/output port K

103      V17         CE2A/PTE[4]      O / I/O   Chip select 4 / input/output port K

104      V16         CE2B/PTE[5]      O / I/O   Chip select 5/CE1 (area 5
                                                PCMCIA) / input/output port K
105      T18         CKE/PTK[5]       O / I/O
                                                Chip select 6/CE1 (area 6
                                                PCMCIA)

                                                CE2 (area 5 PCMCIA) /
                                                input/output port E

                                                CE2 (area 6 PCMCIA) /
                                                input/output port E

                                                CK enable (SDRAM) / input/output
                                                port K

Rev. 5.00, 09/03, page 12 of 760
     Number of Pins

FP-208C  BP-240A     Pin Name         I/O      Description
FP-208E              RAS3L/PTJ[0]     O / I/O
                                               Lower 32 M / 64 Mbytes address
106      U18                          O / I/O  (SDRAM) RAS / input/output port J
                                      O / I/O  Input/output port J*5
107      U19         PTJ[1]                    Lower 32 M / 64 Mbytes address
                                      --       (SDRAM) CAS / input/output port J
108      R18         CASL/PTJ[2]      O / I/O  Input/output power supply (0 V)
                                               Lower 32 Mbytes address
109      T19         VssQ             --       (SDRAM) CAS / input/output port J
                                      I/O      Input/output power supply (3.3 V)
110      T17         CASU/PTJ[3]      I/O      Input/output port J
                                      O / I/O  Input/output port J
111      R19         VccQ                      DMA acknowledge 0 / input/output
                                      O / I/O  port D
112      U17         PTJ[4]                    DMA acknowledge 1 / input/output
                                      I/O      port D
113      R17         PTJ[5]           I/O      Input/output port E
                                      O / I/O  Input/output port E
114      R16         DACK0/PTD[5]              Upper 32 Mbytes address
                                      I/O      (SDRAM) RAS / input/output port
115      P19         DACK1/PTD[7]     O / I/O  E
                                               Input/output port E
116      P18         PTE[6]           O        Test data output / input/output
                                      I        port E
117      P17         PTE[3]           I        Bus acknowledge
                                      I        Bus request
118      P16         RAS3U/PTE[2]     I        Hardware wait request
                                      I        Manual reset request
119      N19         PTE[1]           I        Analog trigger / input port H
                                      O/I      IOIS16 (PCMCIA) / input port G
120      N18         TDO/PTE[0]                ASE mode*4 / input port G
                                      I        ASE break acknowledge / input
121      N17         BACK                      port G
                                               Input port G / clock output
122      N16         BREQ

123      M19         WAIT

124      M18         RESETM

125      M17         ADTRG/PTH[5]

126      M16         IOIS16/PTG[7]

127      L19         ASEMD0/PTG[6]

128      L18         ASEBRKAK/PTG[5]

129      L16         PTG[4]/CK102

                                               Rev. 5.00, 09/03, page 13 of 760
     Number of Pins

FP-208C  BP-240A     Pin Name              I/O      Description
FP-208E              AUDATA[3]/PTG[3]      I/O / I
                     AUDATA[2]/PTG[2]      I/O/I    AUD data / input port G
130      L17         Vss                   --       AUD data / input port G
                     Vss                   --       Power supply (0 V)
131      K18         AUDATA[1]/PTG[1]      I/O / I  Power supply (0 V)
                     Vcc                   --       AUD data / input port G
132      K17         Vcc                   --       Power supply (*3)
                     AUDATA[0]/PTG[0]      I/O / I  Power supply (*3)
--       K16         TRST/PTF[7]/PINT[15]  I        AUD data / input port G
                                                    Test reset / input port F / port
133      K19                                        interrupt
                                                    Test mode switch / input port F /
134      J17                                        port interrupt
                                                    Test data input / input port F / port
--       J16                                        interrupt
                                                    Test clock / input port F / port
135      J18                                        interrupt
                                                    External interrupt request / input
136      J19                                        port F / port interrupt
                                                    External interrupt request / input
137      H16         TMS/PTF[6]/PINT[14] I          port F / port interrupt
                                                    External interrupt request / input
138      H17         TDI/PTF[5]/PINT[13] I          port F / port interrupt
                                                    External interrupt request / input
139      H18         TCK/PTF[4]/PNT[12] I           port F / port interrupt
                                                    Clock mode setting
140      H19         IRLS3/PTF[3]/         I        PLL1 power supply (*3)
                                                    PLL1 external capacitance pin
                     PINT[11]                       PLL1 power supply (0 V)
                                                    PLL2 power supply (0 V)
141      G16         IRLS2/PTF[2]/         I        PLL2 external capacitance pin
                                                    PLL2 power supply (*3)
                     PINT[10]                       AUD clock / input port H
                                                    Power supply (0 V)
142      G17         IRLS1/PTF[1]/PINT[9] I         Power supply (0 V)

143      G18         IRLS0/PTF[0]/PINT[8] I

144      G19         MD0                   I

145      F16         Vcc-PLL1*2            --

146      F17         CAP1                  --

147      F18         Vss-PLL1*2            --

148      F19         Vss-PLL2*2            --

149      E16         CAP2                  --

150      E17         Vcc-PLL2*2            --

151      D16         AUDCK/PTH[6]          I

152      E19         Vss                   --

153      D17         Vss                   --

Rev. 5.00, 09/03, page 14 of 760
     Number of Pins

FP-208C  BP-240A     Pin Name        I/O      Description
FP-208E              Vss             --
                     Vcc             --       Power supply (0 V)
--       D19         Vcc             --       Power supply (*3)
                     XTAL            O        Power supply (*3)
154      E18         EXTAL           I        Clock oscillator pin
                                              External clock / crystal oscillator
--       C19                         O / I/O  pin
                                              Processor status / input/output
155      C18                         O / I/O  port J
                                              Processor status / input/output
156      D18                         I/O      port J
                                              TMU or RTC clock input/output /
157      B16         STATUS0/PTJ[6]  O        input/output port H
                                     --       Interrupt request notification
158      B17         STATUS1/PTJ[7]  I/O      Input/output power supply (0 V)
                                     --       System clock input/output
159      B15         TCLK/PTH[7]     O        Power supply (3.3 V)
                                     I/O      Transmit data 0 / SCI output port
160      A16         IRQOUT                   Serial clock 0 / SCI input/output
                                     O        port
161      C16         VssQ            I/O      Transmit data 1 / SCI output port
                                              Serial clock 1 / SCI input/output
162      A15         CKIO            O        port
                                     I/O      Transmit data 2 / SCI output port
163      C17         VccQ                     Serial clock 2 / SCI input/output
                                     O / I/O  port
164      C15         TxD0/SCPT[0]             Transmit request 2 / SCI
                                     I        input/output port
165      D15         SCK0/SCPT[1]    I        Transmit data 0 / SCI output port
                                     --       Transmit data 1 / SCI output port
166      A14         TxD1/SCPT[2]    --       Power supply (0 V)
                                     I        Power supply (0 V)
167      B14         SCK1/SCPT[3]    --       Transmit data 2 / SCI output port
                                     --       Power supply (*3)
168      C14         TxD2/SCPT[4]             Power supply (*3)

169      D14         SCK2/SCPT[5]

170      A13         RTS2/SCPT[6]

171      B13         RxD0/SCPT[0]

172      C13         RxD1/SCPT[2]

173      D13         Vss

--       A12         Vss

174      B12         RxD2/SCPT[4]

175      C12         Vcc

--       D12         Vcc

                                              Rev. 5.00, 09/03, page 15 of 760
     Number of Pins

FP-208C  BP-240A     Pin Name         I/O      Description
FP-208E

176      A11         CTS2/IRQ5/SCPT[7] I       Transmit clear 2 / external interrupt
                                               request / SCI input port

177      B11         MCS[7]/PTC[7]/PINT[7] O / I/O / I Mask ROM chip select /
                                                                      input/output port C / port interrupt

178      D11         MCS[6]/PTC[6]/PINT[6] O / I/O / I Mask ROM chip select /
                                                                      input/output port C / port interrupt

179      C11         MCS[5]/PTC[5]/PINT[5] O / I/O / I Mask ROM chip select /
                                                                      input/output port C / port interrupt

180      B10         MCS[4]/PTC[4]/PINT[4] O / I/O / I Mask ROM chip select /
                                                                      input/output port C / port interrupt

181      C10         VssQ             --       Input/output power supply (0 V)

182      D10         WAKEUP/PTD[3]    O / I/O  Standby mode interrupt request
                                               notification / input/output port D

183      A10         VccQ             --       Input/output power supply (3.3 V)

184      C9          RESETOUT/PTD[2]  O / I/O Reset output / input/output port D

185      D9          MCS[3]/PTC[3]/PINT[3] O / I/O / I Mask ROM chip select /
                                                                      input/output port C / port interrupt

186      B9          MCS[2]/PTC[2]/PINT[2] O / I/O / I Mask ROM chip select /
                                                                      input/output port C / port interrupt

187      A9          MCS[1]/PTC[1]/PINT[1] O / I/O / I Mask ROM chip select /
                                                                      input/output port C / port interrupt

188      D8          MCS[0]/PTC[0]/PINT[0] O / I/O / I Mask ROM chip select /
                                                                      input/output port C / port interrupt

189      C8          DRAK0/PTD[1]     O / I/O  DMA request acknowledge /
                                               input/output port D

190      B8          DRAK1/PTD[0]     O / I/O  DMA request acknowledge /
                                               input/output port D

191      A8          DREQ0/PTD[4]     I        DMA request / input port D

192      D7          DREQ1/PTD[6]     I        DMA request / input port D

193      C7          RESETP           I        Power-on reset request

194      B7          CA               I        Chip activate (hardware standby

                                               request signal)

195      A7          MD3              I        Area 0 bus width setting

196      D6          MD4              I        Area 0 bus width setting

197      C6          MD5              I        Endian setting

Rev. 5.00, 09/03, page 16 of 760
     Number of Pins

FP-208C  BP-240A     Pin Name            I/O  Description
FP-208E

198      B6          AVss                --   Analog power supply (0 V)

199      A6          AN[0]/PTL[0]        I    A/D converter input / input port L

200      D5          AN[1]/PTL[1]        I    A/D converter input / input port L

201      C5          AN[2]/PTL[2]        I    A/D converter input / input port L

202      D4          AN[3]/PTL[3]        I    A/D converter input / input port L

203      A5          AN[4]/PTL[4]        I    A/D converter input / input port L

204      C4          AN[5]/PTL[5]        I    A/D converter input / input port L

205      A4          AVcc                --   Analog power supply (3.3 V)

206      B5          AN[6]/DA[1]/PTL[6]  I    A/D converter input /
                                              D/A converter output / input port L

207      B3          AN[7]/DA[0]/PTL[7]  I    A/D converter input /
                                              D/A converter output / input port L

208      B4          AVss                --   Analog power supply (0 V)

Notes: 1. Must be connected to the power supply even when the RTC is not used.

          2. Except in hardware standby mode, all of the power supply pins must be connected to
               the system power supply. (Supply power constantly.) In hardware standby mode, power
               must be supplied at least to VCC RTC and VSS RTC. If power is not being supplied to
               any of the power supply pins other than VCC RTC and VSS RTC, hold the CA pin low.

          3. 2.0 V for the 200 MHz model, 1.9 V for the 167 MHz model, 1.8 V for the 133 MHz
               model, 1.7 V for the 100 MHz model.

          4. When this LSI is used on the user system alone, without an emulator and the UDI, hold
               this pin at high level. When this pin is low or open, RESETP may be masked (see
               section 22, User Debugging Interface (UDI)).

          5. B2, B1, C1, U1, V1, W1, V2, W2, W3, W17, W18, W19, V18, V19, B19, A19, B18, A18,
               A17, A3, A2, and A1 are NC pins. Do not connect anything to these pins.

          6. If EXTAL2 is not used, pull this pin up to the Vcc-RTC level.

                                              Rev. 5.00, 09/03, page 17 of 760
Rev. 5.00, 09/03, page 18 of 760
                           Section 2 CPU

2.1 Register Configuration

2.1.1 Privileged Mode and Banks

Processor Modes: There are two processor modes: user mode and privileged mode. The
SH7709S normally operates in user mode, and enters privileged mode when an exception occurs
or an interrupt is accepted. There are three kinds of registers--general registers, system registers,
and control registers--and the registers that can be accessed differ in the two processor modes.

General Registers: There are 16 general registers, designated R0 to R15. General registers R0 to
R7 are banked registers which are switched by a processor mode change. In privileged mode, the
register bank bit (RB) in the status register (SR) defines which banked register set is accessed as
general registers, and which set is accessed only through the load control register (LDC) and store
control register (STC) instructions.

When the RB bit is 1, the 16 registers comprising BANK1 general registers R0_BANK1
R7_BANK1 and non-banked general registers R8R15 function as the general register set, with
the 8 registers comprising BANK0 general registers R0_BANK0R7_BANK0 accessed only by
the LDC/STC instructions.

When the RB bit is 0, BANK0 general registers R0_BANK0R7_BANK0 and nonbanked general
registers R8R15 function as the general register set, with BANK1 general registers R0_BANK1
R7_BANK1 accessed only by the LDC/STC instructions. In user mode, the 16 registers
comprising bank 0 general registers R0_BANK0R7_BANK0 and non-banked registers R8R15
can be accessed as general registers R0R15, and bank 1 general registers R0_BANK1
R7_BANK1 cannot be accessed.

Control Registers: Control registers comprise the global base register (GBR) and status register
(SR) which can be accessed in both processor modes, and the saved status register (SSR), saved
program counter (SPC), and vector base register (VBR) which can only be accessed in privileged
mode. Some bits of the status register (such as the RB bit) can only be accessed in privileged
mode.

System Registers: System registers comprise the multiply and accumulate registers
(MACL/MACH), the procedure register (PR), and the program counter (PC). Access to these
registers does not depend on the processor mode.

The register configuration in each mode is shown in figures 2.1 and 2.2.

Switching between user mode and privileged mode is controlled by the processor mode bit (MD)
in the status register.

                                                                                         Rev. 5.00, 09/03, page 19 of 760
                                  31                 0

                                      R0_BANK0*1 *2
                                      R1_BANK0*2
                                      R2_BANK0*2
                                      R3_BANK0*2
                                      R4_BANK0*2
                                      R5_BANK0*2
                                      R6_BANK0*2
                                      R7_BANK0*2

                                      R8

                                      R9

                                      R10

                                      R11

                                      R12

                                      R13

                                      R14

                                      R15

                                      SR

                                       GBR
                                      MACH
                                      MACL

                                        PR

                                                     PC
                                  User mode register configuration

Notes: 1. R0 functions as an index register in the indexed register-indirect addressing
                mode and indexed GBR-indirect addressing mode.

           2. Banked register.

                       Figure 2.1 User Mode Register Configuration

Rev. 5.00, 09/03, page 20 of 760
31                 0 31                   0

    R0_BANK1*1 *2          R0_BANK0*1 *3

    R1_BANK1*2             R1_BANK0*3

    R2_BANK1*2             R2_BANK0*3

    R3_BANK1*2             R3_BANK0*3

    R4_BANK1*2             R4_BANK0*3

    R5_BANK1*2             R5_BANK0*3

    R6_BANK1*2             R6_BANK0*3

    R7_BANK1*2             R7_BANK0*3

    R8                     R8

    R9                     R9

    R10                    R10

    R11                    R11

    R12                    R12

    R13                    R13

    R14                    R14

    R15                    R15

             SR            SR
            SSR
                            SSR                       Notes: 1. R0 functions as an index
            GBR                                                     register in the indexed
          MACH              GBR                                     register-indirect addressing
           MACL            MACH                                     mode and indexed GBR-
                           MACL                                     indirect addressing mode.
             PR
            VBR              PR

             PC                   VBR                 2. Banked register
            SPC                                           When the RB bit of the SR
                                   PC                     register is 1, the register can
    R0_BANK0*1 *3                 SPC                     be accessed for general use.
     R1_BANK0*3                                           When the RB bit is 0, it can
     R2_BANK0*3            R0_BANK1*1 *2                  only be accessed with the
     R3_BANK0*3             R1_BANK1*2                    LDC/STC instruction.
     R4_BANK0*3             R2_BANK1*2
     R5_BANK0*3             R3_BANK1*2                3. Banked register
     R6_BANK0*3             R4_BANK1*2                    When the RB bit of the SR
     R7_BANK0*3             R5_BANK1*2                    register is 0, the register can
                            R6_BANK1*2                    be accessed for general use.
a. Privileged mode          R7_BANK1*2                    When the RB bit is 1, it can
   register configuration                                 only be accessed with the
   (RB = 1)                                               LDC/STC instruction.

                           b. Privileged mode
                              register configuration
                              (RB = 0)

         Figure 2.2 Privileged Mode Register Configuration

                                                      Rev. 5.00, 09/03, page 21 of 760
Register values after a reset are shown in table 2.1.

Table 2.1 Initial Register Values

Type                              Registers            Initial Value*

General registers                 R0 to R15            Undefined

Control registers                 SR                   MD bit = 1, RB bit = 1, BL bit = 1,
                                                       I3I0 = 1111 (H'F), reserved bits =
                                                       0, others undefined

                                  GBR, SSR, SPC        Undefined

                                  VBR                  H'00000000

System registers                  MACH, MACL, PR       Undefined

                                  PC                   H'A0000000

Note: * Register values are initialized at power-on reset or manual reset.

2.1.2 General Registers

There are 16 general registers, designated R0 to R15 (figure 2.3). General registers R0 to R7 are
banked registers, with a different R0R7 register bank (R0_BANK0R7_BANK0 or
R0_BANK1R7_BANK1) being accessed according to the processor mode. For details, see
figures 2.1 and 2.2.

The general register configuration is shown in figure 2.3.

      31                             General Registers
                                  0
                     R0*1 *2
                       R1*2          Notes:
                       R2*2
                       R3*2          1. R0 functions as an index register in the indexed
                       R4*2              register-indirect addressing mode and indexed
                       R5*2              GBR-indirect addressing mode. In some instructions,
                       R6*2              only R0 can be used as the source register or
                       R7*2              destination register.

                        R8           2. R0R7 are banked registers.
                                         In privileged mode, SR.RB specifies which banked
                        R9               registers are accessed as general registers
                                         (R0_BANK0-R7_BANK0 or R0_BANK1-R7_BANK1).
                       R10

                       R11

                       R12

                       R13

                       R14

                       R15

                                  Figure 2.3 General Registers

Rev. 5.00, 09/03, page 22 of 760
2.1.3 System Registers

System registers can be accessed by the LDS and STS instructions. When an exception occurs, the
contents of the program counter (PC) are saved in the saved program counter (SPC). The SPC
contents are restored to the PC by the RTE instruction used at the end of the exception handling.
There are four system registers, as follows.

Multiply and accumulate high register (MACH)
Multiply and accumulate low register (MACL)
Procedure register (PR)
Program counter (PC)

The system register configuration is shown in figure 2.4.

31                       System Registers
                MACH  0
                MACL
                             Multiply and Accumulate High and Low Registers
31                           (MACH/L)
                  PR         Store the results of multiply-and-accumulate operations.

31                    0 Procedure Register (PR)
                  PC         Stores the return address for exiting a subroutine
                             procedure.

                      0
                             Program Counter (PC)
                             Indicates the address four addresses (two instructions)
                             ahead of the currently executing instruction. Initialized
                             to H'A0000000 by a reset.

                      Figure 2.4 System Registers

2.1.4 Control Registers

Control registers can be accessed in privileged mode using the LDC and STC instructions. The
GBR register can also be accessed in user mode. There are five control registers, as follows:

Status register (SR)
Saved status register (SSR)
Saved program counter (SPC)
Global base register (GBR)
Vector base register (VBR)

                      Rev. 5.00, 09/03, page 23 of 760
31                                0 Saved Status Register (SSR)

    SSR                           Stores current SR value at time of exception to
                                  indicate processor status in return to instruction

                                  stream from exception handler.

31                                0 Saved Program Counter (SPC)

    SPC                           Stores current PC value at time of exception to

                                  indicate return address at completion of exception

                                  handling.

31                                0 Global Base Register (GBR)

    GBR                           Stores base address of GBR-indirect
                                  addressing mode. The GBR-indirect addressing mode

                                  is used for on-chip supporting module register area

                                  data transfers and logic operations.

                                  The GBR register can also be accessed in user mode.

                                  Its contents are undefined after a reset.

31                                0 Vector Base Register (VBR)

    VBR                           Stores base address of exception handling vector area.

                                  Initialized to H'0000000 by a reset.

31 30 29 28 27                    13 12 11 10 9 8 7               3 1 0 Status

0 MD RB BL 0----------------------0 CL 0 0 M Q I3 I2 I1 I0 0 0 S T register
                                                                                                             (SR)

            MD: Processor operation mode bit: Indicates the processor operation mode as follows:
                   MD =1: Privileged mode; MD = 0: User mode
                   MD is set to 1 on generation of an exception or interrupt , and is initialized to 1 by a reset.

            RB: Register bank bit: Determines the bank of general registers R0R7 used in processing mode.
                   RB = 1: R0_BANK1-R7_BANK1 and R8-R15 are general registers, and R0_BANK0-
                   R7_BANK0 can be accessed by LDC/STC instructions.
                   RB = 0: R0_BANK0-R7_BANK0 and R8-R15 are general registers, and R0_BANK1-
                   R7_BANK1 can be accessed by LDC/STC instructions.
                   RB is set to 1 on generation of an exception or interrupt , and is initialized to 1 by a reset.

             BL: Block bit
                   BL = 1: Exceptions and interrupts are suppressed. See section 4, Exception
                   Handling, for details.
                   BL = 0: Exceptions and interrupts are accepted.
                   BL is set to 1 on generation of an exception or interrupt , and is initialized to 1 by a reset.

             CL: Cache lock bit
                   When set to 1, the cache lock function can be used.

M and Q bits: Used by the DIV0S/U and DIV1 instructions.
    I3-I0 bits: Interrupt mask bits: 4-bit field indicating the interrupt request mask level.
                   I3-I0 do not change to the interrupt acceptance level when an interrupt is generated.
                   Initialized to B'1111 by a reset.
           S bit: Used by the MAC instruction.
           T bit: Used by the MOVT, CMP/cond, TAS, TST, BT, BF, SETT, CLRT, and DT instructions to
                   indicate true (1) or false (0).
                   Used by the ADDV/C, SUBV/C, DIV0U/S, DIV1, NEGC, SHAR/L, SHLR/L, ROTR/L, and
                   ROTCR/L instructions to indicate a carry, borrow, overflow, or underflow.
         0 bits: These bits always read 0, and the write value should always be 0.

Note: The M, Q, S, and T bits can be set or cleared by special instructions in user mode.
        Their values are undefined after a reset. All other bits can be read or written in privileged mode.

    Figure 2.5 Register Set Overview, Control Registers

Rev. 5.00, 09/03, page 24 of 760
2.2 Data Formats

2.2.1 Data Format in Registers
Register operands are always longwords (32 bits, figure 2.6). When a memory operand is only a
byte (8 bits) or a word (16 bits), it is sign-extended into a longword when loaded into a register.

               31                                    0

                                Longword

                      Figure 2.6 Longword

2.2.2 Data Format in Memory

Memory data formats are classified into bytes, words, and longwords. Memory can be accessed in
8-bit byte, 16-bit word, or 32-bit longword form. A memory operand less than 32 bits in length is
sign-extended before being stored in a register.

A word operand must be accessed starting from a word boundary (even address of a 2-byte unit:
address 2n), and a longword operand starting from a longword boundary (even address of a 4-byte
unit: address 4n). An address error will result if this rule is not observed. A byte operand can be
accessed from any address.

Big-endian or little-endian byte order can be selected for the data format. The endian mode should
be set with the MD5 external pin in a power-on reset. Big-endian mode is selected when the MD5
pin is low, and little-endian when high. The endian mode cannot be changed dynamically. Bit
positions are numbered left to right from most-significant to least-significant. Thus, in a 32-bit
longword, the leftmost bit, bit 31, is the most significant bit and the rightmost bit, bit 0, is the least
significant bit.

The data format in memory is shown in figure 2.7.

               Address A + 1 Address A + 3 Address A + 10 Address A + 8

               Address A Address A + 2 Address A + 11 Address A + 9
                  31 23 15 7 0 31 23 15 7 0

Address A Byte0 Byte1 Byte2 Byte3 Byte3 Byte2 Byte1 Byte0            Address A + 8
                                                                     Address A + 4
Address A + 4  Word0  Word1               Word1  Word0               Address A

Address A + 8  Longword                   Longword

               Big-endian mode            Little-endian mode

                   Figure 2.7 Data Format in Memory

                                                 Rev. 5.00, 09/03, page 25 of 760
2.3 Instruction Features

2.3.1 Execution Environment

Data Length: The SH7709S instruction set is implemented with fixed-length 16-bit wide
instructions executed in a pipelined sequence with single-cycle execution for most instructions.
All operations are executed in 32-bit longword units. Memory can be accessed in 8-bit byte, 16-bit
word, or 32-bit longword units, with byte or word units sign-extended into 32-bit longwords.
Literals are sign-extended in arithmetic operations (MOV, ADD, and CMP/EQ instructions) and
zero-extended in logical operations (TST, AND, OR, and XOR instructions).

Load/Store Architecture: The SH7709S features a load-store architecture in which basic
operations are executed in registers. Operations requiring memory access are executed in registers
following register loading, except for bit-manipulation operations such as logical AND functions,
which are executed directly in memory.

Delayed Branching: Unconditional branching is implemented as delayed branch operations.
Pipeline disruptions due to branching are minimized by the execution of the instruction following
the delayed branch instruction prior to branching. Conditional branch instructions are of two
kinds, delayed and normal.

BRA  TRGET

ADD  R1, R0 ;ADD is executed prior to branching to TRGET

Rev. 5.00, 09/03, page 26 of 760
T bit: The T bit in the status register (SR) is used to indicate the result of compare operations, and
is read as a TRUE/FALSE condition determining if a conditional branch is taken or not. To
improve processing speed, the T bit logic state is modified only by specific operations. An
example of how the T bit may be used in a sequence of operations is shown below.

ADD     #1, R0  ;T bit not modified by ADD operation
CMP/EQ  R1, R0  ;T bit set to 1 when R0 = 0
BT      TRGET   ;branch taken to TRGET when T bit = 1 (R0 = 0)

Literals: Byte-length literals are inserted directly into the instruction code as immediate data. To
maintain the 16-bit fixed-length instruction code, word or longword literals are stored in a table in
main memory rather than inserted directly into the instruction code. The memory table is accessed
by the MOV instruction using PC-relative addressing with displacement, as follows:

MOV.W @(disp, PC), R0

Absolute Addresses: As with word and longword literals, absolute addresses must also be stored
in a table in main memory. The value of the absolute address is transferred to a register and the
operand access is specified by indexed register-indirect addressing, with the absolute address
loaded (like word and longword immediate data) during instruction execution.

16-Bit and 32-Bit Displacements: In the same way, 16-bit and 32-bit displacements also must be
stored in a table in main memory. Exactly like absolute addresses, the displacement value is
transferred to a register and the operand access is specified by indexed register-indirect addressing,
loading the displacement (like word and longword immediate data) during instruction execution.

                       Rev. 5.00, 09/03, page 27 of 760
2.3.2 Addressing Modes

Addressing modes and effective address calculation methods are shown in table 2.2.

Table 2.2 Addressing Modes and Effective Addresses

Addressing Instruction

Mode            Format Effective Address Calculation Method            Calculation Formula

Register direct Rn      Effective address is register Rn. (Operand is --
                        register Rn contents.)

Register        @Rn     Effective address is register Rn contents.     Rn
indirect
                                  Rn                Rn

Register        @Rn+    Effective address is register Rn contents. A   Rn
                        constant is added to Rn after instruction      After instruction
indirect with           execution: 1 for a byte operand, 2 for a word  execution
                        operand, 4 for a longword operand.             Byte: Rn + 1  Rn
post-increment                                                         Word: Rn + 2  Rn
                                                                       Longword: Rn + 4  Rn
                                  Rn                Rn

                                      Rn + 1/2/4 +

                                  1/2/4

Register        @Rn    Effective address is register Rn contents,     Byte: Rn 1  Rn
                        decremented by a constant beforehand: 1 for    Word: Rn 2  Rn
indirect with           a byte operand, 2 for a word operand, 4 for a  Longword: Rn 4  Rn
                        longword operand.
pre-decrement                                                          (Instruction executed
                                                                       with Rn after
                                  Rn                Rn - 1/2/4         calculation)
                                      Rn - 1/2/4 -

                                  1/2/4

Rev. 5.00, 09/03, page 28 of 760
Addressing Instruction

Mode               Format Effective Address Calculation Method                Calculation Formula

Register           @(disp:4,  Effective address is register Rn contents with  Byte: Rn + disp
indirect with      Rn)        4-bit displacement disp added. After disp is
displacement                  zero-extended, it is multiplied by 1 (byte), 2  Word: Rn + disp 2
                              (word), or 4 (longword), according to the       Longword: Rn + disp
                              operand size.                                   4

                              Rn

                              disp                   +         Rn
                                                        + disp 1/2/4
                              (zero-extended)

                                               

                              1/2/4

Indexed            @(R0, Rn) Effective address is sum of register Rn and      Rn + R0

register indirect             R0 contents.

                              Rn

                                                  +     Rn + R0

                              R0

GBR indirect       @(disp:8,  Effective address is register GBR contents      Byte: GBR + disp
with               GBR)       with 8-bit displacement disp added. After
displacement                  disp is zero-extended, it is multiplied by 1    Word: GBR + disp 2
                              (byte), 2 (word), or 4 (longword), according    Longword: GBR + disp
                              to the operand size.                            4

                              GBR

                              disp                   +       GBR
                                                        + disp 1/2/4
                              (zero-extended)

                                               

Indexed GBR @(R0,                     1/2/4

indirect           GBR)       Effective address is sum of register GBR and GBR + R0
                              R0 contents.

                              GBR

                                                  +     GBR + R0

                              R0

                                                        Rev. 5.00, 09/03, page 29 of 760
Addressing Instruction

Mode          Format Effective Address Calculation Method                           Calculation Formula

PC-relative   @(disp:8,  Effective address is register PC contents                  Word: PC + disp 2
with          PC)        with 8-bit displacement disp added. After
displacement             disp is zero-extended, it is multiplied by 2               Longword:
                         (word), or 4 (longword), according to the                  PC & H'FFFF FFFC +
                         operand size. With a longword operand, the                 disp 4
                         lower 2 bits of PC are masked.

                                  PC

                                                     (for longword)
                                                  &

                          H'FFFFFFFC                            PC + disp 2
                                                        +               or

                                disp                          PC&H'FFFFFFFC
                         (zero-extended)                           + disp 4

                                                  x

PC-relative disp:8                2/4                                               PC + disp 2

                         Effective address is register PC contents
                         with 8-bit displacement disp added after
                         being sign-extended and multiplied by 2.

                                  PC

                                  disp                     +         PC + disp 2

                         (sign-extended)

                                          

              disp:12              2                                                PC + disp 2

                         Effective address is register PC contents
                         with 12-bit displacement disp added after
                         being sign-extended and multiplied by 2.

                                  PC

                                  disp                     +         PC + disp 2

                         (sign-extended)

                                          

                                  2

Rev. 5.00, 09/03, page 30 of 760
Addressing   Instruction                                             Calculation Formula
Mode         Format Effective Address Calculation Method             PC + Rn

PC-relative  Rn      Effective address is sum of register PC and

                     Rn contents.

                         PC

                                   +  PC + R0

                         R0

Immediate    #imm:8  8-bit immediate data imm of TST, AND, OR, --
                     or XOR instruction is zero-extended.

             #imm:8  8-bit immediate data imm of MOV, ADD, or --
                     CMP/EQ instruction is sign-extended.

             #imm:8  8-bit immediate data imm of TRAPA               --

                     instruction is zero-extended and multiplied by

                     4.

Note:  For the addressing modes below that use a displacement (disp), the assembler descriptions
       in this manual show the value before scaling (1, 2, or 4) is performed according to the
       operand size. This is done to clarify the operation of the IC. Refer to the relevant assembler
       notation rules for the actual assembler descriptions.

       @ (disp:4, Rn) ; Register indirect with displacement

       @ (disp:8, Rn) ; GBR indirect with displacement

       @ (disp:8, PC) ; PC-relative with displacement

       disp:8, disp:12; PC-relative

                                                        Rev. 5.00, 09/03, page 31 of 760
2.3.3 Instruction Formats

Table 2.3 explains the meaning of instruction formats and source and destination operands. The
meaning of the operands depends on the operation code. The following symbols are used.

xxxx: Operation code

mmmm: Source register

nnnn: Destination register

iiii:        Immediate data

dddd: Displacement

Table 2.3 Instruction Formats

Instruction Format                            0  Source               Destination       Instruction
0 format 15                  xxxx xxxx           Operand              Operand           Example
                                                                                        NOP
                  xxxx xxxx                   0  --                   --
                             xxxx xxxx                                                  MOVT Rn
n format 15                                      --                   nnnn: register
                  xxxx nnnn                                                             STS
                                                                      direct            MACH,Rn
                                                                                        STC.L
m format 15                       0              Control register or  nnnn: register    SR,@Rn
                                                 system register      direct
             xxxx mmmm xxxx xxxx                 Control register or                    LDC
                                                 system register      nnnn: register    Rm,SR
                                                                      indirect with
                                                 mmmm: register       pre-decrement     LDC.L
                                                 direct                                 @Rm+,SR
                                                                      Control register
                                                 mmmm: register       or system         JMP @Rm
                                                 indirect with post-  register
                                                 increment                              BRAF Rm
                                                 mmmm: register       Control register
                                                 indirect             or system
                                                 mmmm: PC-            register
                                                 relative using Rm
                                                                      --

                                                                      --

Rev. 5.00, 09/03, page 32 of 760
Instruction Format       Source                                               Destination        Instruction
                         Operand                                              Operand            Example

nm format 15             0 mmmm: register                                     nnnn: register     ADD Rm,Rn
                                                                              direct
              xxxx nnnn mmmm xxxx direct

md format 15                                             mmmm: register       nnnn: register     MOV.L
                   xxxx                                  indirect             indirect           Rm,@Rn
                                                                              MACH,MACL          MAC.W
nd4 format 15                                            mmmm: register                          @Rm+,@Rn+
                   xxxx                                  indirect with post-  nnnn: register
                                                         increment            direct             MOV.L
                                                         (multiply-and-                          @Rm+,Rn
                                                         accumulate           nnnn: register     MOV.L
                                                         operation)           indirect with      Rm,@Rn
                                                         nnnn: * register     pre-decrement      MOV.L
                                                         indirect with post-  nnnn: indexed      Rm,@(R0,Rn)
                                                         increment            register indirect  MOV.B
                                                         (multiply-and-       R0 (register       @(disp,Rm),R0
                                                         accumulate           direct)            MOV.B
                                                         operation)                              R0,@(disp,Rn)
                                                                              nnnndddd:
                                                         mmmm: register       register indirect
                                                         indirect with post-  with
                                                         increment            displacement

                                                         mmmm: register
                                                         direct

                                                         mmmm: register
                                                         direct

                                                     0 mmmmdddd:
                         xxxx mmmm dddd register indirect

                                                         with displacement

                                                     0 R0 (register
                         xxxx nnnn dddd direct)

                                                                              Rev. 5.00, 09/03, page 33 of 760
Instruction Format                        Source                    Destination     Instruction
                                          Operand                   Operand         Example
                                                                                    MOV.L
nmd       15                              0 mmmm: register          nnnndddd:       Rm,@(disp,Rn)
format                                                              register
               xxxx nnnn mmmm dddd direct                           indirect with   MOV.L
                                                                    displacement    @(disp,Rm),Rn

                                          mmmmdddd:                 nnnn: register  MOV.L
                                                                                    @(disp,GBR),R
                                          register indirect direct                  0
                                                                                    MOV.L
                                          with displacement                         R0,@(disp,GBR
                                                                                    )
d format  15                                     0 dddddddd: GBR    R0 (register
             xxxx              dddd dddd indirect with              direct)         MOVA
                         xxxx                                                       @(disp,PC),R0
                                                     displacement
                                                                                    BF label
                                          R0 (register              dddddddd:
                                          direct)                   GBR indirect    BRA label
                                                                    with            (label = disp +
                                                                    displacement    PC)
                                                                                    MOV.L
                                          dddddddd:                 R0 (register    @(disp,PC),Rn
                                          PC-relative with          direct)
                                          displacement                              AND.B
                                                                                    #imm,
                                          dddddddd:                 --              @(R0,GBR)
                                                                                    AND
                                          PC-relative                               #imm,R0
                                                                                    TRAPA #imm
d12 format 15                             0 dddddddddddd: --                        ADD
                                                                                    #imm,Rn
               xxxx dddd dddd dddd PC-relative

nd8 format 15            nnnn  dddd          0 dddddddd:            nnnn: register
                   xxxx  xxxx   iiii  dddd PC-relative with         direct

i format 15                                      displacement       Indexed GBR
                   xxxx                                             indirect
                                             0 iiiiiiii: immediate
                                      iiii

                                          iiiiiiii: immediate       R0 (register
                                                                    direct)

                                          iiiiiiii: immediate --

ni format 15                              0 iiiiiiii: immediate     nnnn: register
                                                                    direct
               xxxx nnnn i i i i i i i i

Note: * In a multiply-and-accumulate instruction, nnnn is the source register.

Rev. 5.00, 09/03, page 34 of 760
2.4 Instruction Set

2.4.1 Instruction Set Classified by Function

The SH7709S instruction set includes 68 basic instruction types, as listed in table 2.4.

Table 2.4 Classification of Instructions

Classification Types  Operation  Function                                  No. of
Data transfer 5       Code       Data transfer                             Instructions
                      MOV        Effective address transfer                39
Arithmetic  21        MOVA       T bit transfer
                      MOVT       Swap of upper and lower bytes             33
                      SWAP       Extraction of middle of linked registers
operations            XTRCT      Binary addition
                      ADD        Binary addition with carry
                      ADDC       Binary addition with overflow check
                      ADDV       Comparison
                      CMP/cond   Division
                      DIV1       Initialization of signed division
                      DIV0S      Initialization of unsigned division
                      DIV0U      Signed double-precision multiplication
                      DMULS      Unsigned double-precision multiplication
                      DMULU      Decrement and test
                      DT         Sign extension
                      EXTS       Zero extension
                      EXTU       Multiply-and-accumulate operation,
                      MAC        double-precision multiply-and-accumulate
                                 operation

                                              Rev. 5.00, 09/03, page 35 of 760
                      Operation                                             No. of
                                                                            Instructions
Classification Types  Code        Function                                  33

Arithmetic  21        MUL         Double-precision multiplication (32 32  14
                                  bits)
operations                                                                  16

(cont)                MULS        Signed multiplication (16 16 bits)

                      MULU        Unsigned multiplication (16 16 bits)

                      NEG         Negation

                      NEGC        Negation with borrow

                      SUB         Binary subtraction

                      SUBC        Binary subtraction with borrow

                      SUBV        Binary subtraction with underflow check

Logic       6         AND         Logical AND

operations            NOT         Bit inversion

                      OR          Logical OR

                      TAS         Memory test and bit set

                      TST         Logical AND and T bit set

                      XOR         Exclusive OR

Shift       12        ROTL        One-bit left rotation

                      ROTR        One-bit right rotation

                      ROTCL One-bit left rotation with T bit

                      ROTCR One-bit right rotation with T bit

                      SHAL        One-bit arithmetic left shift

                      SHAR        One-bit arithmetic right shift

                      SHLL        One-bit logical left shift

                      SHLLn       n-bit logical left shift

                      SHLR        One-bit logical right shift

                      SHLRn n-bit logical right shift

                      SHAD        Dynamic arithmetic shift

                      SHLD        Dynamic logical shift

Rev. 5.00, 09/03, page 36 of 760
                    Operation                                           No. of
                                                                        Instructions
Classification Types Code      Function                                 11

Branch   9          BF         Conditional branch, delayed conditional  75
                               branch (T = 0)
                                                                        188
                    BT         Conditional branch, delayed conditional

                               branch (T = 1)

                    BRA        Unconditional branch

                    BRAF       Unconditional branch

                    BSR        Branch to subroutine procedure

                    BSRF       Branch to subroutine procedure

                    JMP        Unconditional branch

                    JSR        Branch to subroutine procedure

                    RTS        Return from subroutine procedure

System   15         CLRMAC MAC register clear
control
                    CLRT       Clear T bit

                    CLRS       Clear S bit

                    LDC        Load to control register

                    LDS        Load to system register

                    LDTLB      Load PTE to TLB

                    NOP        No operation

                    PREF       Prefetch data to cache

                    RTE        Return from exception handling

                    SETS       Set S bit

                    SETT       Set T bit

                    SLEEP Shift to power-down mode

                    STC        Store from control register

                    STS        Store from system register

                    TRAPA Trap exception handling

         Total: 68

                                                            Rev. 5.00, 09/03, page 37 of 760
Table 2.5 lists the SH7709S instruction code formats.

Table 2.5 Instruction Code Format

Item         Format               Explanation

Instruction  OP.Sz SRC,DEST       OP: Operation code
mnemonic                          Sz: Size
                                  SRC: Source
                                  DEST: Destination
                                  Rm: Source register
                                  Rn: Destination register
                                  imm: Immediate data
                                  disp: Displacement

Instruction  MSB  LSB             mmmm: Source register
code                              nnnn: Destination register

                                              0000: R0
                                              0001: R1

                                                  ...........
                                              1111: R15
                                  iiii: Immediate data
                                  dddd: Displacement*

Operation    ,                    Direction of transfer
summary      (xx)                 Memory operand
             M/Q/T                Flag bits in SR
             &                    Logical AND of each bit
             |                    Logical OR of each bit
             ^                    Exclusive OR of each bit
             ~                    Logical NOT of each bit
             <>n             n-bit shift

Privileged                        Indicates whether privileged mode applies
mode

Execution                         Value when no wait states are inserted
cycles
                                  The execution cycles listed in the table are minimums. The
                                  actual number of cycles may be increased in cases such as
                                  the followsing:

                                  1. When contention occurs between instruction fetches and
                                      data access

                                  2. When the destination register of the load instruction
                                      (memory  register) and the register used by the next
                                      instruction are the same

T bit                             Value of T bit after instruction is executed

                                  --: No change

Note: * Scaling (1, 2, 4) is performed according to the instruction operand size.

Rev. 5.00, 09/03, page 38 of 760
Table 2.6 lists the SH7709S data transfer instructions

Table 2.6 Data Transfer Instructions

                                                              Privileged

Instruction          Operation              Code              Mode        Cycles T Bit
MOV #imm,Rn
                     imm  Sign extension    1110nnnniiiiiiii  --          1  --
MOV.W @(disp,PC),Rn   Rn

MOV.L @(disp,PC),Rn  (disp 2 + PC)  Sign  1001nnnndddddddd  --          1  --
MOV Rm,Rn            extension  Rn
MOV.B Rm,@Rn
MOV.W Rm,@Rn         (disp 4 + PC)  Rn    1101nnnndddddddd  --          1  --
MOV.L Rm,@Rn
MOV.B @Rm,Rn         Rm  Rn                 0110nnnnmmmm0011  --          1  --

MOV.W @Rm,Rn         Rm  (Rn)               0010nnnnmmmm0000  --          1  --

MOV.L @Rm,Rn         Rm  (Rn)               0010nnnnmmmm0001  --          1  --
MOV.B Rm,@Rn
MOV.W Rm,@Rn        Rm  (Rn)               0010nnnnmmmm0010  --          1  --
MOV.L Rm,@Rn
MOV.B @Rm+,Rn        (Rm)  Sign extension   0110nnnnmmmm0000  --          1  --
                      Rn
MOV.W @Rm+,Rn
                     (Rm)  Sign extension   0110nnnnmmmm0001  --          1  --
MOV.L @Rm+,Rn         Rn
MOV.B R0,@(disp,Rn)
MOV.W R0,@(disp,Rn)  (Rm)  Rn               0110nnnnmmmm0010  --          1  --
MOV.L Rm,@(disp,Rn)
MOV.B @(disp,Rm),R0  Rn1  Rn, Rm  (Rn) 0010nnnnmmmm0100      --          1  --

MOV.W @(disp,Rm),R0  Rn2  Rn, Rm  (Rn) 0010nnnnmmmm0101      --          1  --

MOV.L @(disp,Rm),Rn  Rn4  Rn, Rm  (Rn) 0010nnnnmmmm0110      --          1  --
MOV.B Rm,@(R0,Rn)
                     (Rm)  Sign extension   0110nnnnmmmm0100  --          1  --
                      Rn, Rm + 1  Rm

                     (Rm)  Sign extension   0110nnnnmmmm0101  --          1  --
                      Rn, Rm + 2  Rm

                     (Rm)  Rn,Rm + 4  Rm 0110nnnnmmmm0110     --          1  --

                     R0  (disp + Rn)        10000000nnnndddd  --          1  --

                     R0  (disp 2 + Rn)    10000001nnnndddd  --          1  --

                     Rm  (disp 4 + Rn)    0001nnnnmmmmdddd  --          1  --

                     (disp + Rm)  Sign      10000100mmmmdddd  --          1  --
                     extension  R0

                     (disp 2 + Rm)  Sign  10000101mmmmdddd  --          1  --
                     extension  R0

                     (disp 4 + Rm)  Rn    0101nnnnmmmmdddd  --          1  --

                     Rm  (R0 + Rn)          0000nnnnmmmm0100  --          1  --

                                                        Rev. 5.00, 09/03, page 39 of 760
                                                                               Privileged

Instruction        Operation                                 Code              Mode        Cycles T Bit
                                                             0000nnnnmmmm0101
MOV.W Rm,@(R0,Rn)  Rm  (R0 + Rn)                             0000nnnnmmmm0110  --          1  --
                                                             0000nnnnmmmm1100
MOV.L Rm,@(R0,Rn)  Rm  (R0 + Rn)                                               --          1  --
                                                             0000nnnnmmmm1101
MOV.B @(R0,Rm),Rn  (R0 + Rm)  Sign                                             --          1  --
                   extension  Rn                             0000nnnnmmmm1110
                                                             11000000dddddddd
MOV.W @(R0,Rm),Rn  (R0 + Rm)  Sign                           11000001dddddddd  --          1  --
                   extension  Rn                             11000010dddddddd
                                                             11000100dddddddd
MOV.L @(R0,Rm),Rn  (R0 + Rm)  Rn                                               --          1  --
                                                             11000101dddddddd
MOV.B R0,@(disp,GBR) R0  (disp + GBR)                                          --          1  --
                                                             11000110dddddddd
MOV.W R0,@(disp,GBR) R0  (disp 2 + GBR)                    11000111dddddddd  --          1  --
                                                             0000nnnn00101001
MOV.L R0,@(disp,GBR) R0  (disp 4 + GBR)                    0110nnnnmmmm1000  --          1  --

MOV.B @(disp,GBR),R0 (disp + GBR)  Sign                      0110nnnnmmmm1001  --          1  --
                                         extension  R0
                                                             0010nnnnmmmm1101
MOV.W @(disp,GBR),R0 (disp 2 + GBR)                                          --          1  --
                                         Sign extension  R0

MOV.L @(disp,GBR),R0 (disp 4 + GBR)  R0                                      --          1  --

MOVA @(disp,PC),R0 disp 4 + PC  R0                                           --          1  --

MOVT Rn            T  Rn                                                       --          1  --

SWAP.B Rm,Rn       Rm  Swap the bottom                                         --          1  --
                   two bytes  Rn

SWAP.W Rm,Rn       Rm  Swap two                                                --          1  --
                   consecutive words  Rn

XTRCT Rm,Rn        Rm: Middle 32 bits of                                       --          1  --
                   Rn  Rn

Rev. 5.00, 09/03, page 40 of 760
Table 2.7 lists the SH7709S arithmetic instructions.

Table 2.7 Arithmetic Instructions

                                                          Privileged

Instruction     Operation               Code              Mode        Cycles T Bit
                Rn + Rm  Rn             0011nnnnmmmm1100
ADD    Rm,Rn    Rn + imm  Rn            0111nnnniiiiiiii  --          1  --
                Rn + Rm + T  Rn,        0011nnnnmmmm1110
ADD    #imm,Rn  Carry  T                0011nnnnmmmm1111  --          1  --
                Rn + Rm  Rn,            10001000iiiiiiii
ADDC Rm,Rn      Overflow  T             0011nnnnmmmm0000  --          1  Carry
                If R0 = imm, 1  T       0011nnnnmmmm0010
ADDV Rm,Rn                              0011nnnnmmmm0011  --          1  Overflow
                If Rn = Rm, 1  T        0011nnnnmmmm0110
CMP/EQ #imm,R0                          0011nnnnmmmm0111  --          1  Comparison
                If Rn  Rm with          0100nnnn00010001
                unsigned data, 1  T     0100nnnn00010101                 result
                If Rn  Rm with signed   0010nnnnmmmm1100
CMP/EQ Rm,Rn    data, 1  T              0011nnnnmmmm0100  --          1  Comparison
                If Rn > Rm with         0010nnnnmmmm0111
                unsigned data, 1  T     0000000000011001                 result
                If Rn > Rm with signed
CMP/HS Rm,Rn    data, 1  T                                --          1  Comparison
                If Rn  0, 1  T
                                                                         result
                If Rn > 0, 1  T
CMP/GE Rm,Rn                                              --          1  Comparison
                If Rn and Rm have an
                equivalent byte, 1  T                                    result
                Single-step division
CMP/HI Rm,Rn    (Rn/Rm)                                   --          1  Comparison
                MSB of Rn  Q, MSB
                of Rm  M, M ^ Q  T                                       result
                0  M/Q/T
CMP/GT Rm,Rn                                              --          1  Comparison

                                                                         result

CMP/PZ Rn                                                 --          1  Comparison

                                                                         result

CMP/PL Rn                                                 --          1  Comparison

                                                                         result

CMP/STR Rm,Rn                                             --          1  Comparison

                                                                         result

DIV1 Rm,Rn                                                --          1  Calculation

                                                                         result

DIV0S Rm,Rn                                               --          1  Calculation

                                                                         result

DIV0U                                                     --          1  0

                                                          Rev. 5.00, 09/03, page 41 of 760
                                                             Privileged

Instruction      Operation                 Code              Mode        Cycles T Bit
DMULS.L Rm,Rn
                 Signed operation of       0011nnnnmmmm1101  --          2(to 5)* --

                 Rn Rm  MACH,

                 MACL 32 32  64 bits

DMULU.L Rm,Rn    Unsigned operation of 0011nnnnmmmm0101      --          2(to 5)* --
                 Rn Rm  MACH,
                 MACL 32 32  64 bits

DT  Rn           Rn 1  Rn, if Rn =       0100nnnn00010000  --          1  Comparison
                 0, 1  T, else 0  T
                                                                            result

EXTS.B Rm,Rn     A byte in Rm is sign-     0110nnnnmmmm1110  --          1  --
                 extended  Rn

EXTS.W Rm,Rn     A word in Rm is sign-     0110nnnnmmmm1111  --          1  --
                 extended  Rn

EXTU.B Rm,Rn     A byte in Rm is zero-     0110nnnnmmmm1100  --          1  --
                 extended  Rn

EXTU.W Rm,Rn     A word in Rm is zero-     0110nnnnmmmm1101  --          1  --
                 extended  Rn

MAC.L @Rm+,@Rn+  Signed operation of (Rn)  0000nnnnmmmm1111  --          2(to 5)* --
                  (Rm) + MAC  MAC,
                 Rn + 4  Rn,
                 Rm + 4  Rm,
                 32 32 + 64  64 bits

MAC.W @Rm+,@Rn+  Signed operation of (Rn)  0100nnnnmmmm1111  --          2(to 5)* --
                  (Rm) + MAC  MAC,
                 Rn + 2  Rn,
                 Rm + 2  Rm,
                 16 16 + 64  64 bits

MUL.L Rm,Rn      Rn Rm  MACL,            0000nnnnmmmm0111  --          2(to 5)* --
MULS.W Rm,Rn     32 32  32 bits
MULU.W Rm,Rn
                 Signed operation of Rn    0010nnnnmmmm1111  --          1(to 3)* --
                  Rm  MACL,
                 16 16  32 bits

                 Unsigned operation of     0010nnnnmmmm1110  --          1(to 3)* --
                 Rn Rm  MACL,
                 16 16  32 bits

Rev. 5.00, 09/03, page 42 of 760
                                 Privileged

Instruction  Operation     Code  Mode           Cycles T Bit

NEG Rm,Rn    0Rm  Rn      0110nnnnmmmm1011 --  1  --

NEGC Rm,Rn   0RmT  Rn,   0110nnnnmmmm1010 --  1  Borrow
             Borrow  T

SUB Rm,Rn    RnRm  Rn     0011nnnnmmmm1000 --  1  --

SUBC Rm,Rn   RnRmT  Rn,  0011nnnnmmmm1010 --  1  Borrow
             Borrow  T

SUBV Rm,Rn   RnRm  Rn,    0011nnnnmmmm1011 --  1  Underflow
             Underflow  T

Note: * The normal number of execution cycles is shown. The value in parentheses is the number
           of cycles required in case of contention with the preceding or following instruction.

                                 Rev. 5.00, 09/03, page 43 of 760
Table 2.8 lists the SH7709S logic operation instructions.

Table 2.8 Logic Operation Instructions

                                                                  Privileged

Instruction           Operation                 Code              Mode        Cycles T Bit
AND Rm,Rn                                       0010nnnnmmmm1001
AND #imm,R0           Rn & Rm  Rn               11001001iiiiiiii  --          1  --
AND.B #imm,@(R0,GBR)  R0 & imm  R0              11001101iiiiiiii
                      (R0 + GBR) & imm                            --          1  --
NOT Rm,Rn             (R0 + GBR)                0110nnnnmmmm0111
OR Rm,Rn                                        0010nnnnmmmm1011  --          3  --
OR #imm,R0            ~Rm  Rn                   11001011iiiiiiii
OR.B #imm,@(R0,GBR)   Rn | Rm  Rn               11001111iiiiiiii  --          1  --
                      R0 | imm  R0
TAS.B @Rn             (R0 + GBR) | imm          0100nnnn00011011  --          1  --
                      (R0 + GBR)
TST Rm,Rn                                       0010nnnnmmmm1000  --          1  --
                      If (Rn) is 0, 1  T;
TST #imm,R0           1  MSB of (Rn)            11001000iiiiiiii  --          3  --
                      Rn & Rm; if the result
TST.B #imm,@(R0,GBR)  is 0, 1  T                11001100iiiiiiii  --          3  Test
                      R0 & imm; if the result
XOR Rm,Rn             is 0, 1  T                0010nnnnmmmm1010                 result
XOR #imm,R0           (R0 + GBR) & imm;         11001010iiiiiiii
XOR.B #imm,@(R0,GBR)  if the result is 0, 1  T  11001110iiiiiiii  --          1  Test
                      Rn ^ Rm  Rn
                      R0 ^ imm  R0                                               result
                      (R0 + GBR) ^ imm
                      (R0 + GBR)                                  --          1  Test

                                                                                 result

                                                                  --          3  Test

                                                                                 result

                                                                  --          1  --

                                                                  --          1  --

                                                                  --          3  --

Rev. 5.00, 09/03, page 44 of 760
Table 2.9 lists the SH7709S shift instructions.

Table 2.9 Shift Instructions

                                                                   Privileged

Instruction  Operation                           Code              Mode        Cycles T Bit
ROTL Rn                                          0100nnnn00000100
ROTR Rn      T  Rn  MSB                          0100nnnn00000101  --          1  MSB
ROTCL Rn     LSB  Rn  T                          0100nnnn00100100
ROTCR Rn     T  Rn  T                            0100nnnn00100101  --          1  LSB
SHAD Rm,Rn   T  Rn  T                            0100nnnnmmmm1100
             Rn  0: Rn << Rm  Rn                                   --          1  MSB
             Rn < 0: Rn >> Rm
             [MSB  Rn]                                             --          1  LSB
             T  Rn  0
             MSB  Rn  T                                            --          1  --
             Rn  0: Rn << Rm  Rn
SHAL  Rn     Rn < 0: Rn >> Rm                    0100nnnn00100000 --           1  MSB
SHAR  Rn     [0  Rn]                             0100nnnn00100001 --
SHLD  Rm,Rn  T  Rn  0                            0100nnnnmmmm1101 --           1  LSB
             0  Rn  T
             Rn << 2  Rn                                                       1  --
             Rn >> 2  Rn
SHLL Rn      Rn << 8  Rn                         0100nnnn00000000 --           1  MSB
SHLR Rn      Rn >> 8  Rn                         0100nnnn00000001 --
SHLL2 Rn     Rn << 16  Rn                        0100nnnn00001000 --           1  LSB
SHLR2 Rn     Rn >> 16  Rn                        0100nnnn00001001 --
SHLL8 Rn                                         0100nnnn00011000 --           1  --
SHLR8 Rn                                         0100nnnn00011001 --
SHLL16 Rn                                        0100nnnn00101000 --           1  --
SHLR16 Rn                                        0100nnnn00101001 --
                                                                               1  --

                                                                               1  --

                                                                               1  --

                                                                               1  --

                                                 Rev. 5.00, 09/03, page 45 of 760
Table 2.10 lists the SH7709S branch instructions.
Table 2.10 Branch Instructions

                                                              Privileged

Instruction  Operation                      Code              Mode        Cycles T Bit
                                            10001011dddddddd
BF   label   If T = 0, disp 2 + PC  PC;   10001111dddddddd  --          3/1* --

             if T = 1, nop                  10001001dddddddd

BF/S label   Delayed branch, if T = 0,      10001101dddddddd  --          2/1* --
             disp 2 + PC  PC;
             if T = 1, nop                  1010dddddddddddd
                                            0000mmmm00100011
BT   label   if T = 1,                      1011dddddddddddd  --          3/1* --
                                            0000mmmm00000011
             disp 2 + PC  PC;             0100mmmm00101011
                                            0100mmmm00001011
             if T = 0, nop                  0000000000001011

BT/S label   Delayed branch,                                  --          2/1* --
             If T = 1, disp 2 + PC  PC;
             if T = 0, nop

BRA label    Delayed branch,                                  --          2  --
             disp 2 + PC  PC

BRAF Rm      Delayed branch,                                  --          2  --
             Rm + PC  PC

BSR label    Delayed branch, PC  PR,                          --          2  --
             disp 2 + PC  PC

BSRF Rm      Delayed branch, PC  PR,                          --          2  --
             Rm + PC  PC

JMP @Rm      Delayed branch, Rm  PC                           --          2  --

JSR @Rm      Delayed branch, PC  PR,                          --          2  --
             Rm  PC

RTS          Delayed branch, PR  PC                           --          2  --

Note: * One state when there is no branch.

Rev. 5.00, 09/03, page 46 of 760
Table 2.11 lists the SH7709S system control instructions.

Table 2.11 System Control Instructions

                                                             Privileged

Instruction         Operation              Code              Mode        Cycles T Bit
CLRMAC                                     0000000000101000
CLRS                0  MACH, MACL          0000000001001000  --          1  --
CLRT                0S                     0000000000001000
LDC Rm,SR           0T                     0100mmmm00001110  --          1  --
LDC Rm,GBR          Rm  SR                 0100mmmm00011110
LDC Rm,VBR          Rm  GBR                0100mmmm00101110  --          1  0
LDC Rm,SSR          Rm  VBR                0100mmmm00111110
LDC Rm,SPC          Rm  SSR                0100mmmm01001110              5  LSB
LDC Rm,R0_BANK      Rm  SPC                0100mmmm10001110
LDC Rm,R1_BANK      Rm  R0_BANK            0100mmmm10011110  --          3  --
LDC Rm,R2_BANK      Rm  R1_BANK            0100mmmm10101110
LDC Rm,R3_BANK      Rm  R2_BANK            0100mmmm10111110              3  --
LDC Rm,R4_BANK      Rm  R3_BANK            0100mmmm11001110
LDC Rm,R5_BANK      Rm  R4_BANK            0100mmmm11011110              3  --
LDC Rm,R6_BANK      Rm  R5_BANK            0100mmmm11101110
LDC Rm,R7_BANK      Rm  R6_BANK            0100mmmm11111110              3  --
LDC.L @Rm+,SR       Rm  R7_BANK            0100mmmm00000111
LDC.L @Rm+,GBR      (Rm)  SR, Rm + 4  Rm   0100mmmm00010111              3  --
LDC.L @Rm+,VBR      (Rm)  GBR, Rm + 4  Rm  0100mmmm00100111
LDC.L @Rm+,SSR      (Rm)  VBR, Rm + 4  Rm  0100mmmm00110111              3  --
LDC.L @Rm+,SPC      (Rm)  SSR, Rm + 4  Rm  0100mmmm01000111
LDC.L @Rm+,         (Rm)  SPC, Rm + 4  Rm  0100mmmm10000111              3  --
                    (Rm)  R0_BANK,
           R0_BANK  Rm + 4  Rm                                           3  --
LDC.L @Rm+,         (Rm)  R1_BANK,
                    Rm + 4  Rm                                           3  --
           R1_BANK  (Rm)  R2_BANK,
LDC.L @Rm+,         Rm + 4  Rm                                           3  --
                    (Rm)  R3_BANK,
           R2_BANK  Rm + 4  Rm                                           3  --
LDC.L @Rm+,         (Rm)  R4_BANK,
                    Rm + 4  Rm                                           3  --
           R3_BANK  (Rm)  R5_BANK,
LDC.L @Rm+,         Rm + 4  Rm                                           7  LSB

           R4_BANK                                           --          5  --
LDC.L @Rm+,
                                                                         5  --
           R5_BANK
                                                                         5  --

                                                                         5  --

                                                                         5  --

                                           0100mmmm10010111              5  --

                                           0100mmmm10100111              5  --

                                           0100mmmm10110111              5  --

                                           0100mmmm11000111              5  --

                                           0100mmmm11010111              5  --

                                                           Rev. 5.00, 09/03, page 47 of 760
                                                                Privileged

Instruction         Operation             Code                  Mode        Cycles T Bit

LDC.L @Rm+,         (Rm)  R6_BANK,        0100mmmm11100111                  5   --
           R6_BANK  Rm + 4  Rm

LDC.L @Rm+,         (Rm)  R7_BANK,        0100mmmm11110111                  5   --
           R7_BANK  Rm + 4  Rm

LDS Rm,MACH         Rm  MACH              0100mmmm00001010      --          1   --

LDS Rm,MACL         Rm  MACL              0100mmmm00011010      --          1   --

LDS Rm,PR           Rm  PR                0100mmmm00101010      --          1   --

LDS.L @Rm+,MACH (Rm)  MACH, Rm + 4  Rm 0100mmmm00000110         --          1   --

LDS.L @Rm+,MACL (Rm)  MACL, Rm + 4  Rm 0100mmmm00010110         --          1   --

LDS.L @Rm+,PR       (Rm)  PR, Rm + 4  Rm  0100mmmm00100110      --          1   --

LDTLB               PTEH/PTEL  TLB        0000000000111000                  1   --

NOP                 No operation          0000000000001001      --          1   --

PREF @Rm            (Rm)  cache           0000mmmm10000011      --          2   --

RTE                 Delayed branch,       0000000000101011                  4   --

                    SSR  SR, SPC  PC

SETS                1S                    0000000001011000      --          1   --

SETT                1T                    0000000000011000      --          1   1

SLEEP               Sleep                 0000000000011011                  4*  --

STC SR,Rn           SR  Rn                0000nnnn00000010                  1   --

STC GBR,Rn          GBR  Rn               0000nnnn00010010      --          1   --

STC VBR,Rn          VBR  Rn               0000nnnn00100010                  1   --

STC SSR,Rn          SSR  Rn               0000nnnn00110010                  1   --

STC SPC,Rn          SPC  Rn               0000nnnn01000010                  1   --

STC R0_BANK,Rn R0_BANK Rn                 0000nnnn10000010                  1   --

STC R1_BANK,Rn R1_BANK Rn                 0000nnnn10010010                  1   --

STC R2_BANK,Rn R2_BANK Rn                 0000nnnn10100010                  1   --

STC R3_BANK,Rn R3_BANK Rn                 0000nnnn10110010                  1   --

STC R4_BANK,Rn R4_BANK Rn                 0000nnnn11000010                  1   --

STC R5_BANK,Rn R5_BANK Rn                 0000nnnn11010010                  1   --

STC R6_BANK,Rn R6_BANK Rn                 0000nnnn11100010                  1   --

STC R7_BANK,Rn R7_BANK Rn                 0000nnnn11110010                  1   --

STC.L SR,@Rn       Rn4  Rn, SR  (Rn)    0100nnnn00000011                  2   --

STC.L GBR,@Rn      Rn4  Rn, GBR  (Rn)   0100nnnn00010011      --          2   --

STC.L VBR,@Rn      Rn4  Rn, VBR  (Rn)   0100nnnn00100011                  2   --

Note: * The number of cycles until the sleep state is entered.

Rev. 5.00, 09/03, page 48 of 760
                                            Privileged

Instruction      Operation            Code  Mode            Cycles T Bit

STC.L SSR,@Rn   Rn4  Rn, SSR  (Rn)  0100nnnn00110011      2  --

STC.L SPC,@Rn   Rn4  Rn, SPC  (Rn)  0100nnnn01000011      2  --

STC.L R0_BANK,   Rn4  Rn, R0_BANK  (Rn) 0100nnnn10000011   2  --
           @Rn

STC.L R1_BANK,   Rn4  Rn, R1_BANK  (Rn) 0100nnnn10010011   2  --
           @Rn

STC.L R2_BANK,   Rn4  Rn, R2_BANK  (Rn) 0100nnnn10100011   2  --
           @Rn

STC.L R3_BANK,   Rn4  Rn, R3_BANK  (Rn) 0100nnnn10110011   2  --
           @Rn

STC.L R4_BANK,   Rn4  Rn, R4_BANK  (Rn) 0100nnnn11000011   2  --
           @Rn

STC.L R5_BANK,   Rn4  Rn, R5_BANK  (Rn) 0100nnnn11010011   2  --
           @Rn

STC.L R6_BANK,   Rn4  Rn, R6_BANK  (Rn) 0100nnnn11100011   2  --
           @Rn

STC.L R7_BANK,   Rn4  Rn, R7_BANK  (Rn) 0100nnnn11110011   2  --
           @Rn

STS MACH,Rn      MACH  Rn             0000nnnn00001010 --   1  --

STS MACL,Rn      MACL  Rn             0000nnnn00011010 --   1  --

STS PR,Rn        PR  Rn               0000nnnn00101010 --   1  --

STS.L MACH,@Rn Rn4  Rn, MACH  (Rn)  0100nnnn00000010 --   1  --

STS.L MACL,@Rn Rn4  Rn, MACL  (Rn)  0100nnnn00010010 --   1  --

STS.L PR,@Rn    Rn4  Rn, PR  (Rn)   0100nnnn00100010 --   1  --

TRAPA #imm       PC  SPC, SR  SSR,    11000011iiiiiiii --   8  --
                 imm  TRA

Notes: 1. The table shows the minimum number of execution cycles. The actual number of
               instruction execution cycles will increase in cases such as the following:
                When there is contention between an instruction fetch and data access
                When the destination register in a load (memory-to-register) instruction is also used
                   by the next instruction

          2. With the addressing modes using displacement (disp) listed below, the assembler
               descriptions in this manual show the value before scaling (1, 2, or 4) is performed.
               This is done to clarify the operation of the chip. For the actual assembler descriptions,
               refer to the individual assembler notation rules.

               @ (disp:4, Rn) ; Register-indirect with displacement
               @ (disp:8, Rn) ; GBR-indirect with displacement
               @ (disp:8, PC) ; PC-relative with displacement

               disp:8, disp:12 ; PC-relative

                                            Rev. 5.00, 09/03, page 49 of 760
2.4.2 Instruction Code Map

Table 2.12 shows the instruction code map.

Table 2.12 Instruction Code Map

Instruction Code          Fx: 0000          Fx: 0001       Fx: 0010      Fx: 0011 to 1111
                           MD: 00            MD: 01         MD: 10             MD: 11
MSB  LSB

0000 Rn Fx 0000

0000 Rn Fx 0001

0000 Rn 00MD 0010 STC SR,Rn         STC GBR,Rn        STC VBR,Rn     STC SSR,Rn

0000 Rn 01MD 0010 STC SPC,Rn

0000 Rn 10MD 0010 STC R0_BANK,Rn STC R1_BANK,Rn STC R2_BANK,Rn STC R3_BANK,Rn

0000 Rn 11MD 0010 STC R4_BANK,Rn STC R5_BANK,Rn STC R6_BANK,Rn STC R7_BANK,Rn

0000 Rm 00MD 0011 BSRF Rm                             BRAF Rm

0000 Rn 10MD 0011 PREF @Rn

0000 Rn Rm 01MD MOV.B Rm,@(R0,Rn) MOV.W Rm,@(R0,Rn) MOV.L Rm,@(R0,Rn) MUL.L Rm,Rn

0000 0000 00MD 1000 CLRT            SETT              CLRMAC         LDTLB

0000 0000 01MD 1000 CLRS            SETS

0000 0000 Fx 1001 NOP               DIV0U

0000 0000 Fx 1010

0000 0000 Fx 1011 RTS               SLEEP             RTE

0000 Rn Fx 1000

0000 Rn Fx 1001                                       MOVT Rn

0000 Rn Fx 1010 STS MACH,Rn         STS MACL,Rn       STS PR,Rn

0000 Rn Fx 1011

0000 Rn Rm 11MD MOV.B @(R0,Rm),Rn MOV.W @(R0,Rm),Rn MOV.L @(R0,Rm),Rn MAC.L @Rm+,@Rn+

0001 Rn Rm disp MOV.L Rm,@(disp:4,Rn)

0010 Rn Rm 00MD MOV.B Rm,@Rn        MOV.W Rm,@Rn      MOV.L Rm,@Rn

0010 Rn Rm 01MD MOV.B Rm,@-Rn       MOV.W Rm,@-Rn     MOV.L Rm,@-Rn  DIV0S Rm,Rn

0010 Rn Rm 10MD TST Rm,Rn           AND Rm,Rn         XOR Rm,Rn      OR     Rm,Rn

0010 Rn Rm 11MD CMP/STR Rm,Rn       XTRCT Rm,Rn       MULU.W Rm,Rn   MULSW Rm,Rn

0011 Rn Rm 00MD CMP/EQ Rm,Rn                          CMP/HS Rm,Rn   CMP/GE Rm,Rn

0011 Rn Rm 01MD DIV1 Rm,Rn          DMULU.LRm,Rn      CMP/HI Rm,Rn   CMP/GT Rm,Rn

0011 Rn Rm 10MD SUB Rm,Rn                             SUBC Rm,Rn     SUBV Rm,Rn

0011 Rn Rm 11MD ADD Rm,Rn           DMULS.L Rm,Rn     ADDC Rm,Rn     ADDV Rm,Rn

Rev. 5.00, 09/03, page 50 of 760
Instruction Code      Fx: 0000         Fx: 0001  Fx: 0010       Fx: 0011 to 1111
                       MD: 00           MD: 01    MD: 10              MD: 11
MSB      LSB

0100 Rn Fx 0000 SHLL Rn           DT   Rn        SHAL Rn

0100 Rn Fx 0001 SHLR Rn           CMP/PZ Rn      SHAR Rn

0100 Rn Fx 0010 STS.L MACH,@-Rn STS.L MACL,@-Rn STS.L PR,@-Rn

0100 Rn 00MD 0011 STC.L SR,@-Rn   STC.L GBR,@-Rn STC.L VBR,@-Rn STC.L SSR,@-Rn

0100 Rn 01MD 0011 STC.L SPC,@-Rn

0100 Rn 10MD 0011 STC.L R0_BANK,@-Rn STC.L R1_BANK,@-Rn STC.L R2_BANK,@-Rn STC.L R3_BANK,@-Rn

0100 Rn 11MD 0011 STC.L R4_BANK,@-Rn STC.L R5_BANK,@-Rn STC.L R6_BANK,@-Rn STC.L R7_BANK,@-Rn

0100 Rn Fx 0100 ROTL Rn                          ROTCL Rn

0100 Rn Fx 0101 ROTR Rn           CMP/PL Rn      ROTCR Rn

0100 Rm Fx 0110 LDS.L @Rm+,MACH LDS.L @Rm+,MACL LDS.L @Rm+,PR

0100 Rm 00MD 0111 LDC.L @Rm+,SR LDC.L @Rm+,GBR LDC.L @Rm+,VBR LDC.L @Rm+,SSR

0100 Rm 01MD 0111 LDC.L @Rm+,SPC

0100 Rm 10MD 0111 LDC.L @Rm+,R0_BANK LDC.L @Rm+,R1_BANK LDC.L @Rm+,R2_BANK LDC.L @Rm+,R3_BANK

0100 Rm 11MD 0111 LDC.L @Rm+,R4_BANK LDC.L @Rm+,R5_BANK LDC.L @Rm+,R6_BANK LDC.L @Rm+,R7_BANK

0100 Rn Fx 1000 SHLL2 Rn          SHLL8 Rn       SHLL16 Rn

0100 Rn Fx 1001 SHLR2 Rn          SHLR8 Rn       SHLR16 Rn

0100 Rm Fx 1010 LDS Rm,MACH LDS Rm,MACL          LDS Rm,PR

0100 Rm/ Fx 1011 JSR  @Rm         TAS.B @Rn      JMP @Rm
         Rn

0100 Rn Rm 1100 SHAD Rm,Rn

0100 Rn Rm 1101 SHLD Rm,Rn

0100 Rm 00MD 1110 LDC Rm,SR       LDC Rm,GBR     LDC Rm,VBR     LDC Rm,SSR

0100 Rm 01MD 1110 LDC Rm,SPC

0100 Rm 10MD 1110 LDC Rm,R0_BANK LDC Rm,R1_BANK LDC Rm,R2_BANK LDC Rm,R3_BANK

0100 Rm 11MD 1110 LDC Rm,R4_BANK LDC Rm,R5_BANK LDC Rm,R6_BANK LDC Rm,R7_BANK

0100 Rn Rm 1111 MAC.W @Rm+,@Rn+

0101 Rn Rm disp MOV.L @(disp:4,Rm),Rn

0110 Rn Rm 00MD MOV.B @Rm,Rn      MOV.W @Rm,Rn   MOV.L @Rm,Rn   MOV Rm,Rn

0110 Rn Rm 01MD MOV.B @Rm+,Rn MOV.W @Rm+,Rn      MOV.L @Rm+,Rn  NOT Rm,Rn

0110 Rn Rm 10MD SWAP.B Rm,Rn      SWAP.W Rm,Rn   NEGC Rm,Rn     NEG Rm,Rn

0110 Rn Rm 11MD EXTU.B Rm,Rn      EXTU.W Rm,Rn   EXTS.B Rm,Rn   EXTS.W Rm,Rn

0111 Rn  imm ADD      #imm:8,Rn

                                                 Rev. 5.00, 09/03, page 51 of 760
Instruction Code         Fx: 0000                    Fx: 0001                      Fx: 0010      Fx: 0011 to 1111
                          MD: 00                      MD: 01                        MD: 10             MD: 11
MSB            LSB
                                                                        MOV.L
1000 00MD Rn disp MOV.B                              MOV.W               R0,@(disp:8,GBR)
                                   R0,@(disp:4,Rn)    R0,@(disp:4,Rn)
                                                                        MOV.L
1000 01MD Rm disp MOV.B                              MOV.W               @(disp:8,GBR),R0
                                   @(disp:4,Rm),R0    @(disp:4,Rm),R0
                                                                        XOR #imm:8,R0
1000 10MD imm/disp CMP/EQ #imm:8,R0 BT               label:8            XOR.B                BF    label:8
                                                                                             BF/S  label:8
1000 11MD imm/disp                                   BT/S label:8        #imm:8,@(R0,GBR)

1001 Rn  disp MOV.W @(DISP:8,PC),RN

1010     disp       BRA  label:12

1011     disp       BSR  label:12

1100 00MD imm/disp MOV.B                             MOV.W                                   TRAPA #imm:8
                                   R0,@(disp:8,GBR)   R0,@(disp:8,GBR)

1100 01MD disp MOV.B                                 MOV.W                                   MOVA
                                   @(disp:8,GBR),R0   @(disp:8,GBR),R0                        @(disp:8,PC),R0

1100 10MD imm TST #imm:8,R0 AND #imm:8,R0                                                    OR    #imm:8,R0

1100 11MD imm       TST.B                            AND.B                                   OR.B
                     #imm:8,@(R0,GBR)                 #imm:8,@(R0,GBR)                        #imm:8,@(R0,GBR)

1101 Rn  disp MOV.L @(disp:8,PC),Rn

1110 Rn  imm MOV #imm:8,Rn

1111 ************

Note: See the SH-3/SH-3E/SH3-DSP Programming Manual for details.

Rev. 5.00, 09/03, page 52 of 760
2.5 Processor States and Processor Modes

2.5.1 Processor States
The SH7709S has five processor states: the reset state, exception-handling state, bus-released
state, program execution state, and power-down state.
Reset State: In this state the CPU is reset. The CPU enters the power-on reset state if the RESETP
pin is low, or the manual reset state if the RESETM pin is low. See section 4, Exception Handling,
for more information on resets.
In the power-on reset state, the internal states of the CPU and the on-chip supporting module
registers are initialized. In the manual reset state, the internal states of the CPU and registers of on-
chip supporting modules other than the bus state controller (BSC) are initialized. Refer to the
register configurations in the relevant sections for further details.
Exception-Handling State: This is a transient state during which the CPU's processor state flow
is altered by a reset, general exception, or interrupt exception handling.
In the case of a reset, the CPU branches to address H'A0000000 and starts executing the user-
coded exception handling program.
In the case of a general exception or interrupt, the program counter (PC) contents are saved in the
saved program counter (SPC) and the status register (SR) contents are saved in the saved status
register (SSR). The CPU branches to the start address of the user-coded exception service routine
found from the sum of the contents of the vector base address and the vector offset. See section 4,
Exception Processing, for more information on resets, general exceptions, and interrupts.
Program Execution State: In this state the CPU executes program instructions in sequence.
Power-Down State: In the power-down state, CPU operation halts and power consumption is
reduced. There are two modes in the power-down state: sleep mode, and standby mode. See
section 8, Power-Down Modes, for more information.
Bus-Released State: In this state the CPU has released the bus to a device that requested it.
Transitions between the states are shown in figure 2.8.

                                                                                         Rev. 5.00, 09/03, page 53 of 760
From any state when                                                                                From any state but hardware standby
RESETP = 0                                                                                         mode when RESETM = 0

                         Power-on reset       RESETP = 0                                           Manual reset
                               state                                                                    state

                                                                                                                     Reset state

                                  RESETP = 1                                                       RESETM = 1

                                         Exception-handling state

Interrupt                stateBBususrereqquuceeBlessuttascrlaernearcqaEieunnecxteesctrerputpiot n  End of exception
           Bus-released                                                                            transition
                                                                                                   processing

                                                                                                                                        Interrupt

                         Bus request     Program execution state

Bus      Bus                             SLEEP                                                     SLEEP
request  request                       instruction                                                  instruction
         clearance                  with STBY                                                          with STBY
                                  bit cleared                                                            bit set

            Sleep mode            Hardware standby mode*                                                             Standby mode
CA = 1,RESETP=0                                                                                                                     Power-down state

Note: * The hardware standby mode is entered when the CA pin goes low from any state.

                                Figure 2.8 Processor State Transitions

2.5.2 Processor Modes

There are two processor modes: privileged mode and user mode. The processor mode is
determined by the processor mode bit (MD) in the status register (SR). User mode is selected
when the MD bit is 0, and privileged mode when the MD bit is 1. When the reset state or
exception state is entered, the MD bit is set to 1. When exception handling ends, the MD bit is
cleared to 0 and user mode is entered. There are certain registers and bits which can only be
accessed in privileged mode.

Rev. 5.00, 09/03, page 54 of 760
        Section 3 Memory Management Unit (MMU)

3.1 Overview

3.1.1 Features

The SH7709S has an on-chip memory management unit (MMU) that implements address
translation. The SH7709S features a resident translation look-aside buffer (TLB) that caches
information for user-created address translation tables located in external memory. It enables high-
speed translation of virtual addresses into physical addresses. Address translation uses the paging
system and supports two page sizes (1 kbytes and 4 kbytes). The access right to virtual address
space can be set for privileged and user modes to provide memory protection.

3.1.2 Role of MMU

The MMU is a feature designed to make efficient use of physical memory. As shown in figure 3.1,
if a process is smaller in size than the physical memory, the entire process can be mapped onto
physical memory. However, if the process increases in size to the extent that it no longer fits into
physical memory, it becomes necessary to partition the process and to map those parts requiring
execution onto memory as occasion demands ((1)). Having the process itself consider this
mapping onto physical memory would impose a large burden on the process. To lighten this
burden, the idea of virtual memory was born as a means of performing en bloc mapping onto
physical memory ((2)). In a virtual memory system, substantially more virtual memory than
physical memory is provided, and the process is mapped onto this virtual memory. Thus a process
only has to consider operation in virtual memory. Mapping from virtual memory to physical
memory is handled by the MMU. The MMU is normally controlled by the operating system,
switching physical memory to allow the virtual memory required by a process to be mapped onto
physical memory in a smooth fashion. Switching of physical memory is carried out via secondary
storage, etc.

The virtual memory system that came into being in this way is particularly effective in a time-
sharing system (TSS) in which a number of processes are running simultaneously ((3)). If
processes running in a TSS had to take mapping onto virtual memory into consideration while
running, it would not be possible to increase efficiency. Virtual memory is thus used to reduce this
load on the individual processes and so improve efficiency ((4)). In the virtual memory system,
virtual memory is allocated to each process. The task of the MMU is to perform efficient mapping
of these virtual memory areas onto physical memory. It also has a memory protection feature that
prevents one process from inadvertently accessing another process's physical memory.

When address translation from virtual memory to physical memory is performed using the MMU,
it may occur that the relevant translation information is not recorded in the MMU, with the result
that one process may inadvertently access the virtual memory allocated to another process. In this

                                                                                         Rev. 5.00, 09/03, page 55 of 760
case, the MMU will generate an exception, change the physical memory mapping, and record the
new address translation information.
Although the functions of the MMU could also be implemented by software alone, the need for
translation to be performed by software each time a process accesses physical memory would
result in poor efficiency. For this reason, a buffer for address translation (translation look-aside
buffer: TLB) is provided in hardware to hold frequently used address translation information. The
TLB can be described as a cache for storing address translation information. Unlike cache
memory, however, if address translation fails, that is, if an exception is generated, switching of
address translation information is normally performed by software. This makes it possible for
memory management to be performed flexibly by software.
The MMU has two methods of mapping from virtual memory to physical memory: a paging
method using fixed-length address translation, and a segment method using variable-length
address translation. With the paging method, the unit of translation is a fixed-size address space
(usually of 1 to 64 kbytes) called a page. This LSI uses the paging method.
In the following text, the SH7709S address space in virtual memory is referred to as virtual
address space, and address space in physical memory as physical memory space.

Rev. 5.00, 09/03, page 56 of 760
                                                     Virtual
                                                     memory

                     Process 1            Process 1           MMU  Physical
                                                                   memory
           Physical             Physical
           memory               memory

Process 1

                                (1)                                (2)

                     Process 1            Process 1  Virtual
                                          Process 2  memory

                                                              MMU

                                Physical                           Physical
                                memory                             memory

                     Process 2

                     Process 3            Process 3

                                (3)                                (4)

                     Figure 3.1 MMU Functions

                                                     Rev. 5.00, 09/03, page 57 of 760
3.1.3 SH7709S MMU

Virtual Address Space: The SH7709S uses 32-bit virtual addresses to access a 4-Gbyte virtual
address space that is divided into several areas. Address space mapping is shown in figure 3.2.
Privileged Mode

    In privileged mode, there are five areas, P0P4. The P0 and P3 areas are mapped onto physical
    address space in page units, in accordance with address translation table information. Write-
    back or write-through can be selected for write access by means of a cache control register
    (CCR) setting.
    Mapping of the P1 area is fixed in physical address space (H'00000000 to H'1FFFFFFF). In
    the P1 area, setting a virtual address MSB (bit 31) to 0 generates the corresponding physical
    address. P1 area accesses can be cached, and the cache control register (CCR) is set to indicate
    whether to cache or not. Write-back or write-through mode can be selected.
    Mapping of the P2 area is fixed in physical address space (H'00000000 to H'1FFFFFFF). In the
    P2 area, setting the top three virtual address bits (bits 31, 30, and 29) to 0 generates the
    corresponding physical address. P2 area access cannot be cached.
    The P1 and P2 areas are not mapped by the address translation table, so the TLB is not used
    and no exceptions such as TLB misses occur. Initialization of MMU control registers,
    exception handling routines, and the like should be located in the P1 and P2 areas. Routines
    that require high-speed processing should be placed in the P1 area, since it can be cached.
    Some peripheral module control registers are located in area 1 of the physical address space.
    When the physical address space is not used for address translation, these registers should be
    located in the P2 area. When address translation is to be used, set no caching.
    The P4 area is used for mapping peripheral module register addresses, etc.
User Mode
    In user mode, 2 Gbytes of the virtual address space from H'00000000 to H'7FFFFFFF (area
    U0) can be accessed. U0 is mapped onto physical address space in page units, in accordance
    with address translation table information.

Rev. 5.00, 09/03, page 58 of 760
H'00000000                                       H'00000000

            2-Gbyte virtual space,                             2-Gbyte virtual space,

            cacheable                   Area P0                cacheable                   Area U0

            (write-back/write-through)                         (write-back/write-through)

H'80000000  0.5-Gbyte fixed physical               H'80000000
                 space, cacheable       Area P1

            (write-back/write-through)

H'A0000000  0.5-Gbyte fixed
            physical space,
            non-cacheable               Area P2

                                                               Address error

H'C0000000   0.5-Gbyte virtual space,
                      cacheable
                                        Area P3
            (write-back/write-through)

H'E0000000  0.5-Gbyte control space,    Area P4
H'FFFFFFFF        non-cacheable                    H'FFFFFFFF

            Privileged mode                                    User mode

            Figure 3.2 Virtual Address Space Mapping

Physical Address Space: The SH7709S supports a 32-bit physical address space, but the upper 3
bits are actually ignored and treated as a shadow. See section 10, Bus State Controller (BSC), for
details.

Address Translation: When the MMU is enabled, the virtual address space is divided into units
called pages. Physical addresses are translated in page units. Address translation tables in external
memory hold information such as the physical address that corresponds to the virtual address and
memory protection codes. When an access to an area other than P4 occurs, if the accessed virtual
address belongs to area P1 or P2 there is no TLB access and the physical address is uniquely
defined. If it belongs to area P0, P3, or U0, the TLB is searched by virtual address and, if that
virtual address is registered in the TLB, the access hits the TLB. The corresponding physical
address and the page control information are read from the TLB and the physical address is
determined.

                                                               Rev. 5.00, 09/03, page 59 of 760
If the virtual address is not registered in the TLB, a TLB miss exception occurs and processing
will shift to the TLB miss handler. In the TLB miss handler, the TLB address translation table in
external memory is searched and the corresponding physical address and the page control
information are registered in the TLB. After returning from the handler, the instruction that caused
the TLB miss is re-executed. When the MMU is enabled, address translation information that
results in a physical address space of H'80000000H'FFFFFFFF should not be registered in the
TLB.

When the MMU is disabled, the virtual address is used directly as the physical address. As the
SH7709S supports a 29-bit address space as the physical address space, the top 3 bits of the
physical address are ignored, and constitute a shadow space (see section 10, Bus State Controller
(BSC)). For example, addresses H'00001000 in the P0 area, H'80001000 in the P1 area,
H'A0001000 in the P2 area, and H'C0001000 in the P3 area are all mapped onto the same physical
address. When access to these addresses is performed with the cache enabled, an address with the
top 3 bits of the physical address masked to 0 is stored in the cache address array to ensure data
congruity.

Single Virtual Memory Mode and Multiple Virtual Memory Mode: There are two virtual
memory modes: single virtual memory mode and multiple virtual memory mode. In single virtual
memory mode, multiple processes run in parallel using the virtual address space exclusively and
the physical address corresponding to a given virtual address is specified uniquely. In multiple
virtual memory mode, multiple processes run in parallel sharing the virtual address space, so a
given virtual address may be translated into different physical addresses depending on the process.
Single or multiple virtual mode is selected by a value set in the MMU control register (MMUCR).
In terms of operation, the only difference between single virtual memory mode and multiple
virtual memory mode is in the TLB address comparison method (see section 3.3.3, TLB Address
Comparison).

Address Space Identifier (ASID): In multiple virtual memory mode, the address space identifier
(ASID) is used to differentiate between processes running in parallel and sharing virtual address
space. The ASID is 8 bits in length and can be set by software setting of the ASID of the currently
running process in the page table entry register high (PTEH) within the MMU. When the process
is switched using the ASID, the TLB does not have to be purged.

In single virtual memory mode, the ASID is used to provide memory protection for processes
running simultaneously and using the virtual address space exclusively (see section 3.4.2, MMU
Software Management).

Rev. 5.00, 09/03, page 60 of 760
3.1.4 Register Configuration

A register that has an undefined initial value must be initialized by software. Table 3.1 shows the
configuration of the MMU control registers.

Table 3.1 Register Configuration

Name                           Abbreviation R/W Size        Initial    Address
                                                            Value*1    H'FFFFFFF0
Page table entry register high PTEH   R/W Longword                     H'FFFFFFF4
                                                            Undefined  H'FFFFFFF8
Page table entry register low  PTEL   R/W Longword          Undefined  H'FFFFFFFC
                                                            Undefined  H'FFFFFFE0
Translation table base register TTB   R/W Longword          Undefined
                                                            *2
TLB exception address register TEA    R/W Longword

MMU control register           MMUCR  R/W Longword

Notes: 1. Initialized by a power-on reset or manual reset.
          2. SV bit: undefined
               Other bits: 0

3.2 Register Description

There are five registers for MMU processing. These registers are located in address space area P4
and can only be accessed from privileged mode by specifying the address.

1. The page table entry register high (PTEH) register residing at address H'FFFFFFF0, which
    consists of a virtual page number (VPN) and ASID. The VPN set is the VPN of the virtual
    address at which the exception is generated in case of an MMU exception or address error
    exception. When the page size is 4 kbytes, the VPN is the upper 20 bits of the virtual address,
    but in this case the upper 22 bits of the virtual address are set. The VPN can also be modified
    by software. As the ASID, software sets the number of the currently executing process. The
    VPN and ASID are recorded in the TLB by the LDTLB instruction.

2. The page table entry register low (PTEL) register residing at address H'FFFFFFF4, and used to
    store the physical page number and page management information to be recorded in the TLB
    by the LDTLB instruction. The contents of this register are only modified in response to a
    software command. (Refer to section 3.4.3, MMU Instruction (LDTLB), and section 3.5,
    MMU Exceptions.)

3. The translation table base register (TTB) residing at address H'FFFFFFF8, which points to the
    base address of the current page table. The hardware does not set any value in TTB
    automatically. TTB is available to software for general purposes.

4. The TLB exception address register (TEA) residing at address H'FFFFFFFC, which stores the
    virtual address corresponding to a TLB or address error exception. This value remains valid
    until the next exception or interrupt.

                                                                                         Rev. 5.00, 09/03, page 61 of 760
5. The MMU control register (MMUCR) residing at address H'FFFFFFE0, which makes the
    MMU settings described in figure 3.3. Any program that modifies MMUCR should reside in
    the P1 or P2 area.

The MMU registers are shown in figure 3.3.

31                                            10 7        0

                                  VPN         0     ASID

31 29 28                          PPN  PTEH
000                                            10 9 8 7 6 4 3 2 1 0
                                                    0 V* 0 PR* SZ* C* D* SH* 0
31
                                       PTEL
                                                                                    0

                                        TTB

                                       TTB

31                                                        0

          Virtual address causing TLB-related
                or address error exception

                                       TEA

31                                            8 7 6543 2 1 0

                                  0           SV 00 RC 0 TF IX AT

                                       MMUCR

  0: Reserved bits. Always read as 0. Writing is ignored. However, 0 should also be
       specified in a write to MMUCR only.

SV: Single virtual memory mode bit. 0: Multiple virtual memory mode
                                                    1: Single virtual memory mode

RC: A 2-bit random counter, automatically updated by hardware according to the
       following rules in the event of an MMU exception. When a TLB miss exception
       occurs, all TLB entry ways corresponding to the virtual address at which the
       exception occurred are checked, and if all ways are valid, 1 is added to RC; if
       there is one or more invalid way, they are set by priority from way 0, in the order:
       way 0, way 1, way 2, way 3. In the event of an MMU exception other than a TLB
       miss exception, the way which caused the exception is set in RC.

TF: TLB flush bit. Write 1 to flush the TLB (clear all valid bits of the TLB to 0). Always
       reads 0.

IX: Index mode bit. When 0, VPN bits 16-12 are used as the TLB index number.
       When 1, the value obtained by EX-ORing ASID bits 4-0 in PTEH and VPN bits
       16-12 are used as the TLB index number.

AT: Address translation bit. Enables/disables the MMU.
       0: MMU disabled
       1: MMU enabled

Note: * Refer to section 3.3, TLB Functions.

          Figure 3.3 MMU Register Contents

Rev. 5.00, 09/03, page 62 of 760
3.3 TLB Functions

3.3.1 Configuration of the TLB

The TLB caches address translation table information located in the external memory. The address
translation table stores the physical page number translated from the virtual page number and the
control information for the page, which is the unit of address translation. Figure 3.4 shows the
overall TLB configuration. The TLB is 4-way set associative with 128 entries. There are 32 entries
for each way. Figure 3.5 shows the configuration of virtual addresses and TLB entries.

          Ways 0-3                                     Ways 0-3

Entry 0   VPN(31-17) VPN(11-10) ASID(7-0) V  Entry 0 PPN(28-10) PR(1-0) SZ C D SH
Entry 1                                      Entry 1

Entry 31                                     Entry 31

          Address array                                Data array

          Figure 3.4 Overall Configuration of the TLB

                                                       Rev. 5.00, 09/03, page 63 of 760
         31                                       10 9                    0

                                  VPN                             Offset

                                  Virtual address (1-kbyte page)

         31                                12 11                          0

                                  VPN                             Offset

                                  Virtual address (4-kbyte page)

(15)         (2)                  (8) (1)         (19)                    (2) (1) (1) (1) (1)
                                                  PPN                     PR SZ C SH D
VPN (3117) VPN (1110) ASID V

                                       TLB entry

Legend:

VPN: Virtual page number. Top 22 bits of virtual address for a 1-kbyte page, or top 20 bits of
         virtual address for a 4-kbyte page. Since VPN bits 16-12 are used as the index number, they
         are not stored in the TLB entry.

ASID: Address space identifier. Indicates the process that can access a virtual page. In single
         virtual memory mode and user mode, or in multiple virtual memory mode, if the SH bit is 0,
         the address is compared with the ASID in PTEH when address comparison is performed.

  SH: Share status bit
         0 = Page not shared between processes
         1 = Page shared between processes

   SZ: Page-size bit
         0 = 1-kbyte page
         1 = 4-kbyte page

     V: Valid bit. Indicates whether entry is valid.
         0 = Invalid
         1 = Valid
         Cleared to 0 by a power-on reset. Not affected by a manual reset.

PPN: Physical page number. Top 29 bits of physical address. PPN bits 11-10 are not used in case
         of a 4-kbyte page. Attention must be paid to the synonym problem in case of a 1-kbyte page
         (see section 3.4.4, Avoiding Synonym Problems).

  PR: Set the most significant bit to 0.
         Protection key field. 2-bit field encoded to define the access rights to the page.
         00: Reading only is possible in privileged mode.
         01: Reading/writing is possible in privileged mode.
         10: Reading only is possible in privileged/user mode.
         11: Reading/writing is possible in privileged/user mode.

    C: Cacheable bit. Indicates whether the page is cacheable.
         0: Non-cacheable
         1: Cacheable

    D: Dirty bit. Indicates whether the page has been written to.
         0 = Not written to
         1 = Written to

         Figure 3.5 Virtual Address and TLB Structure

Rev. 5.00, 09/03, page 64 of 760
3.3.2 TLB Indexing

The TLB uses a 4-way set associative scheme, so entries must be selected by index. VPN bits 16
to 12 and ASID bits 4 to 0 in PTEH are used as the index number regardless of the page size. The
index number can be generated in two different ways depending on the setting of the IX bit in
MMUCR.

1. When IX = 0, VPN bits 1612 alone are used as the index number
2. When IX = 1, VPN bits 1612 are EX-ORed with ASID bits 40 to generate a 5-bit index

    number

The second method is used to prevent lowered TLB efficiency that results when multiple
processes run simultaneously in the same virtual address space (multiple virtual memory) and a
specific entry is selected by generating an index number for each process. Figures 3.6 and 3.7
show the indexing schemes.

Virtual address                                                 PTEH register
31
                 17 16 12 11                   0                31              10 7              0

                                                                    VPN                   0 ASID

                                                  Exclusive-OR                 ASID(4-0)

Index

                                                  Ways 0-3

0 VPN(31-17) VPN(11-10) ASID(7-0) V PPN(28-10) PR(1-0) SZ C D SH

31                                                                  Data array
                                Address array

                 Figure 3.6 TLB Indexing (IX = 1)

                                                                    Rev. 5.00, 09/03, page 65 of 760
Virtual address

31               17 16 12 11                   0

    Index

                                                  Ways 0-3

0 VPN(31-17) VPN(11-10) ASID(7-0) V PPN(28-10) PR(1-0) SZ C D SH

31                                                          Data array
                                Address array

                 Figure 3.7 TLB Indexing (IX = 0)

3.3.3 TLB Address Comparison

The results of address comparison determine whether a specific virtual page number is registered
in the TLB. The virtual page number of the virtual address that accesses external memory is
compared to the virtual page number of the indexed TLB entry. The ASID within the PTEH is
compared to the ASID of the indexed TLB entry. All four ways are searched simultaneously. If the
compared values match, and the indexed TLB entry is valid (V bit = 1), the hit is registered.

It is necessary to have software ensure that TLB hits do not occur simultaneously in more than one
way, as hardware operation is not guaranteed if this occurs. For example, if there are two identical
TLB entries with the same VPN and a setting is made such that a TLB hit is made only by a
process with ASID = H'FF when one is in the shared state (SH = 1) and the other in the non-shared
state (SH = 0), then if the ASID in PTEH is set to H'FF, there is a possibility of simultaneous TLB
hits in both these ways. It is therefore necessary to ensure that this kind of setting is not made by
software.

The object compared varies depending on the page management information (SZ, SH) in the TLB
entry. It also varies depending on whether the system supports multiple virtual memory or single
virtual memory.

The page-size information determines whether VPN (1110) is compared. VPN (1110) is
compared for 1-kbyte pages (SZ = 0) but not for 4-kbyte pages (SZ = 1).

Rev. 5.00, 09/03, page 66 of 760
The sharing information (SH) determines whether the PTEH.ASID and the ASID in the TLB entry
are compared. ASIDs are compared when there is no sharing between processes (SH = 0) but not
when there is sharing (SH = 1).

When single virtual memory is supported (MMUCR.SV = 1) and privileged mode is engaged
(SR.MD = 1), all process resources can be accessed. This means that ASIDs are not compared
when single virtual memory is supported and privileged mode is engaged. The objects of address
comparison are shown in figure 3.8.

SH = 1 or       No

(SR.MD = 1 and

MMUCR.SV = 1)?

Yes

                No (4 kbytes)                        No (4 kbytes)

SZ = 0?                         SZ = 0?

Yes (1 kbyte)                   Yes (1 kbyte)

Bits compared:  Bits compared:  Bits compared:       Bits compared:
VPN (31-17)     VPN (31-17)                          VPN (31-17)
VPN (11-10)                     VPN (31-17)          ASID (7-0)
                                VPN (11-10)
                                ASID (7-0)

           Figure 3.8 Objects of Address Comparison

                                Rev. 5.00, 09/03, page 67 of 760
3.3.4 Page Management Information

In addition to the SH and SZ bits, the page management information of TLB entries also includes
D, C, and PR bits.

The D bit of a TLB entry indicates whether the page is dirty (i.e., has been written to). If the D bit
is 0, an attempt to write to the page results in an initial page write exception. For physical page
swapping between secondary memory and main memory, for example, pages are controlled so that
a dirty page is paged out of main memory only after that page is written back to secondary
memory.

The C bit in the entry indicates whether the referenced page resides in a cacheable or non-
cacheable area of memory. When the control register in area 1 is mapped, set the C bit to 0. The
PR field specifies the access rights for the page in privileged and user modes and is used to protect
memory. Attempts at nonpermitted accesses result in TLB protection violation exceptions.

Access states designated by the D, C, and PR bits are shown in table 3.2.

Table 3.2 Access States Designated by D, C, and PR Bits

                     Privileged Mode                                       User Mode

       Reading                    Writing              Reading             Writing

D bit 0 Permitted                 Initial page write   Permitted           Initial page write
                                  exception                                exception

       1 Permitted                Permitted            Permitted           Permitted

C bit  0 Permitted                Permitted            Permitted           Permitted
               (no caching)       (no caching)         (no caching)        (no caching)

       1 Permitted                Permitted            Permitted           Permitted
                                                       (with caching)      (with caching)
       (with caching) (with caching)

PR bit 00 Permitted               TLB protection       TLB protection      TLB protection
                                  violation exception  violation           violation exception
                                                       exception

       01 Permitted               Permitted            TLB protection      TLB protection
                                                       violation           violation exception
                                                       exception

       10 Permitted               TLB protection       Permitted           TLB protection
       11 Permitted               violation exception                      violation exception

                                  Permitted            Permitted           Permitted

Rev. 5.00, 09/03, page 68 of 760
3.4 MMU Functions

3.4.1 MMU Hardware Management

There are two kinds of MMU hardware management as follows:

1. The MMU decodes the virtual address accessed by a process and performs address translation
    by controlling the TLB in accordance with the MMUCR settings.

2. In address translation, the MMU receives page management information from the TLB, and
    determines the MMU exception and whether the cache is to be accessed (using the C bit). For
    details of the determination method and the hardware processing, see section 3.5, MMU
    Exceptions.

3.4.2 MMU Software Management

There are three kinds of MMU software management, as follows.

1. MMU register setting. MMUCR setting, in particular, should be performed in areas P1 and P2
    for which address translation is not performed. Also, since SV and IX bit changes constitute
    address translation system changes, in this case, TLB flushing should be performed by
    simultaneously writing 1 to the TF bit also. Since MMU exceptions are not generated in the
    MMU disabled state with the AT bit cleared to 0, use in the disabled state must be avoided
    with software that does not use the MMU.

2. TLB entry recording, deletion, and reading. TLB entry recording can be done in two ways by
    using the LDTLB instruction, or by writing directly to the memory-mapped TLB. For TLB
    entry deletion and reading, the memory allocation TLB can be accessed. See section 3.4.3,
    MMU Instruction (LDTLB), for details of the LDTLB instruction, and section 3.6,
    Configuration of Memory-Mapped TLB, for details of the memory-mapped TLB.

3. MMU exception processing. When an MMU exception is generated, it is handled on the basis
    of information set from the hardware side. See section 3.5, MMU Exceptions, for details.

When single virtual memory mode is used, it is possible to create a state in which physical
memory access is enabled in the privileged mode only by clearing the share status bit (SH) to 0 to
specify recording of all TLB entries. This strengthens inter-process memory protection, and
enables special access levels to be created in the privileged mode only.

Recording a 1-kbyte page TLB entry may result in a synonym problem. See section 3.4.4,
Avoiding Synonym Problems.

                                                                                         Rev. 5.00, 09/03, page 69 of 760
3.4.3 MMU Instruction (LDTLB)
The load TLB instruction (LDTLB) is used to record TLB entries. When the IX bit in MMUCR is
0, the LDTLB instruction changes the TLB entry in the way specified by the RC bit in MMUCR
to the value specified by PTEH and PTEL, using VPN bits 1612 specified in PTEH as the index
number. When the IX bit in MMUCR is 1, the EX-OR of VPN bits 1612 specified in PTEH and
ASID bits 40 in PTEH are used as the index number.
Figure 3.9 shows the case where the IX bit in MMUCR is 0.
When an MMU exception occurs, the virtual page number of the virtual address that caused the
exception is set in PTEH by hardware. The way is set in the RC bit of MMUCR for each
exception (see figure 3.3). Consequently, if the LDTLB instruction is issued after setting only
PTEL in the MMU exception handling routine, TLB entry recording is possible. Any TLB entry
can be updated by software rewriting of PTEH and the RC bits in MMUCR.
As the LDTLB instruction changes address translation information, there is a risk of destroying
address translation information if this instruction is issued in the P0, U0, or P3 area. Make sure,
therefore, that this instruction is issued in the P1 or P2 area. Also, an instruction associated with an
access to the P0, U0, or P3 area (such as the RTE instruction) should be issued at least two
instructions after the LDTLB instruction.

Rev. 5.00, 09/03, page 70 of 760
    MMUCR        9                     0
     31
              0      SV 0 0 RC 0 TF IX AT

       Index                        Way selection

PTEH register                                      PTEL register

    31           17  12 10 8        0              312928 10                  0

        VPN          VPN 0 ASID                    000 PPN 0 V 0 PR SZ C D SH 0

                     Write                                        Write

                                           Ways 0 to 3

0 VPN(31-17) VPN(11-10) ASID(7-0) V PPN(28-10) PR(1-0) SZ C D SH

31

                     Address array                                Data array

                     Figure 3.9 Operation of LDTLB Instruction

                                                        Rev. 5.00, 09/03, page 71 of 760
3.4.4 Avoiding Synonym Problems

When a 1-kbyte page is recorded in a TLB entry, a synonym problem may arise. If a number of
virtual addresses are mapped onto a single physical address, the same physical address data will be
recorded in a number of cache entries, and it will not be possible to guarantee data congruity. The
reason why this problem only occurs when using a 1-kbyte page is explained below with reference
to figure 3.10.

To achieve high-speed operation of the SH7709S cache, an index number is created using virtual
address bits 114. When a 4-kbyte page is used, virtual address bits 114 are included in the
offset, and since they are not subject to address translation, they are the same as physical address
bits 114. In cache-based address comparison and recording in the address array, since the cache
tag address is a physical address, physical address bits 2810 are recorded.

When a 1-kbyte page is used, also, a cache index number is created using virtual address bits 11-4.
However, in case of a 1-kbyte page, virtual address bit (11, 10) is subject to address translation
and therefore may not be the same as physical address bit (11, 10). Consequently, the physical
address is recorded in a different entry from that of the index number indicated by the physical
address in the cache address array.

For example, assume that, with 1-kbyte page TLB entries, TLB entries for which the following
translation has been performed are recorded in two TLBs:

Virtual address 1 H'00000000  physical address H'00000400
Virtual address 2 H'00000400  physical address H'00000400

Virtual address 1 is recorded in cache entry H'00, and virtual address 2 in cache entry H'C0. Since
two virtual addresses are recorded in different cache entries despite the fact that the physical
addresses are the same, memory inconsistency will occur as soon as a write is performed to either
virtual address. Therefore, when recording a 1-kbyte TLB entry, if the physical address is the same
as a physical address already used in another TLB entry, it should be recorded in such a way that
physical address bit (11, 10) is the same.

Note:  In readiness for the future expansion of the SuperH RISC engine family, we recommend
       that, when multiple sets of address translation information are mapped onto the same
       physical area of memory, you set the VPN numbers so that each VPN [20:10] is equal to
       the others. We also recommend that you do not map multiple sets of address-translation
       information that include 1- and 4-kbyte pages to a single physical area.

Rev. 5.00, 09/03, page 72 of 760
When using a 4-kbyte page

Virtual address

31                12 11 10             0
                            Offset
          VPN

Physical address               Virtual address (11-4)

31 29 28          12 11 10             0               Cache address
                            Offset                           array
000       PPN

                            Physical address (28-10)

When using a 1-kbyte page

Virtual address

31                11 10 9           0

          VPN               Offset

Physical address            Virtual address (11-4)

31 29 28          11 10 9           0                  Cache address
                                                             array
000       PPN               Offset

                            Physical address (28-10)

                  Figure 3.10 Synonym Problem

                                          Rev. 5.00, 09/03, page 73 of 760
3.5 MMU Exceptions

There are four MMU exceptions: TLB miss, TLB protection violation, TLB invalid, and initial
page write.

3.5.1 TLB Miss Exception

A TLB miss results when the virtual address and the address array of the selected TLB entry are
compared and no match is found. TLB miss exception processing includes both hardware and
software operations.

Hardware Operations: In a TLB miss, the SH7709S hardware executes a set of prescribed
operations, as follows:

1. The VPN field of the virtual address causing the exception is written to the PTEH register.
2. The virtual address causing the exception is written to the TEA register.
3. Either exception code H'040 for a load access, or H'060 for a store access, is written to the

    EXPEVT register.
4. The PC value indicating the address of the instruction in which the exception occurred is

    written to the save program counter (SPC). If the exception occurred in a delay slot, the PC
    value indicating the address of the related delayed branch instruction is written to the SPC.
5. The contents of the status register (SR) at the time of the exception are written to the save
    status register (SSR).
6. The mode (MD) bit in SR is set to 1 to place the SH7709S in the privileged mode.
7. The block (BL) bit in SR is set to 1 to mask any further exception requests.
8. The register bank (RB) bit in SR is set to 1.
9. The random counter (RC) field in the MMU control register (MMUCR) is incremented by 1
    when all ways are checked for the TLB entry corresponding to the logical address at which the
    exception occurred, and all ways are valid. If one or more ways are invalid, those ways are set
    in RC in prioritized order from way 0 through way 1, way 2, and way 3.
10. Execution branches to the address obtained by adding the value of the VBR contents and
    H'00000400 to invoke the user-written TLB miss exception handler.

Software (TLB Miss Handler) Operations: The software searches the page tables in external
memory and allocates the required page table entry. Upon retrieving the required page table entry,
software must execute the following operations:

1. Write the value of the physical page number (PPN) field and the protection key (PR), page size
    (SZ), cacheable (C), dirty (D), share status (SH), and valid (V) bits of the page table entry
    recorded in the address translation table in the external memory into the PTEL register in the
    SH7709S.

Rev. 5.00, 09/03, page 74 of 760
2. If using software for way selection for entry replacement, write the desired value to the RC
    field in MMUCR.

3. Issue the LDTLB instruction to load the contents of PTEH and PTEL into the TLB.
4. Issue the return from exception handler (RTE) instruction to terminate the handler routine and

    return to the instruction stream.

3.5.2 TLB Protection Violation Exception

A TLB protection violation exception results when the virtual address and the address array of the
selected TLB entry are compared and a valid entry is found to match, but the type of access is not
permitted by the access rights specified in the PR field. TLB protection violation exception
processing includes both hardware and software operations.

Hardware Operations: In a TLB protection violation exception, the SH7709S hardware executes
a set of prescribed operations, as follows:

1. The VPN field of the virtual address causing the exception is written to the PTEH register.
2. The virtual address causing the exception is written to the TEA register.
3. Either exception code H'0A0 for a load access, or H'0C0 for a store access, is written to the

    EXPEVT register.
4. The PC value indicating the address of the instruction in which the exception occurred is

    written into SPC (if the exception occurred in a delay slot, the PC value indicating the address
    of the related delayed branch instruction is written into SPC).
5. The contents of SR at the time of the exception are written to SSR.
6. The MD bit in SR is set to 1 to place the SH7709S in the privileged mode.
7. The BL bit in SR is set to 1 to mask any further exception requests.
8. The register bank (RB) bit in SR is set to 1.
9. The way that generated the exception is set in the RC field in MMUCR.
10. Execution branches to the address obtained by adding the value of the VBR contents and
    H'00000100 to invoke the TLB protection violation exception handler.

Software (TLB Protection Violation Handler) Operations: Software resolves the TLB
protection violation and issues the RTE (return from exception handler) instruction to terminate
the handler and return to the instruction stream.

                                                                                         Rev. 5.00, 09/03, page 75 of 760
3.5.3 TLB Invalid Exception

A TLB invalid exception results when the virtual address is compared to a selected TLB entry
address array and a match is found but the entry is not valid (the V bit is 0). TLB invalid exception
processing includes both hardware and software operations.

Hardware Operations: In a TLB invalid exception, the SH7709S hardware executes a set of
prescribed operations, as follows:

1. The VPN number of the virtual address causing the exception is written to the PTEH register.
2. The virtual address causing the exception is written to the TEA register.
3. The way number causing the exception is written to RC in MMUCR.
4. Either exception code H'040 for a load access, or H'060 for a store access, is written to the

    EXPEVT register.
5. The PC value indicating the address of the instruction in which the exception occurred is

    written to the SPC. If the exception occurred in a delay slot, the PC value indicating the
    address of the delayed branch instruction is written to the SPC.
6. The contents of SR at the time of the exception are written into SSR.
7. The mode (MD) bit in SR is set to 1 to place the SH7709S in the privileged mode.
8. The block (BL) bit in SR is set to 1 to mask any further exception requests.
9. The register bank (RB) bit in SR is set to 1.
10. Execution branches to the address obtained by adding the value of the VBR contents and
    H'00000100, and the TLB protection violation exception handler starts.

Software (TLB Invalid Exception Handler) Operations: The software searches the page tables
in external memory and assigns the required page table entry. Upon retrieving the required page
table entry, software must execute the following operations:

1. Write the values of the physical page number (PPN) field and the values of the protection key
    (PR), page size (SZ), cacheable (C), dirty (D), share status (SH), and valid (V) bits of the page
    table entry recorded in the external memory to the PTEL register.

2. If using software for way selection for entry replacement, write the desired value to the RC
    field in MMUCR.

3. Issue the LDTLB instruction to load the contents of PTEH and PTEL into the TLB.
4. Issue the RTE instruction to terminate the handler and return to the instruction stream. The

    RTE instruction should be issued after two LDTLB instructions.

Rev. 5.00, 09/03, page 76 of 760
3.5.4 Initial Page Write Exception

An initial page write exception results in a write access when the virtual address and the address
array of the selected TLB entry are compared and a valid entry with the appropriate access rights
is found to match, but the D (dirty) bit of the entry is 0 (the page has not been written to). Initial
page write exception processing includes both hardware and software operations.

Hardware Operations: In an initial page write exception, the SH7709S hardware executes a set
of prescribed operations, as follows:

1. The VPN field of the virtual address causing the exception is written to the PTEH register.
2. The virtual address causing the exception is written to the TEA register.
3. Exception code H'080 is written to the EXPEVT register.
4. The PC value indicating the address of the instruction in which the exception occurred is

    written to the SPC. If the exception occurred in a delay slot, the PC value indicating the
    address of the related delayed branch instruction is written to the SPC.
5. The contents of SR at the time of the exception are written to SSR.
6. The MD bit in SR is set to 1 to place the SH7709S in the privileged mode.
7. The BL bit in SR is set to 1 to mask any further exception requests.
8. The register bank (RB) bit in SR is set to 1.
9. The way that caused the exception is set in the RC field in MMUCR.
10. Execution branches to the address obtained by adding the value of the VBR contents and
    H'00000100 to invoke the user-written initial page write exception handler.

Software (Initial Page Write Handler) Operations: The software must execute the following
operations:

1. Retrieve the required page table entry from external memory.
2. Set the D bit of the page table entry in the external memory to 1.
3. Write the value of the PPN field and the PR, SZ, C, D, SH, and V bits of the page table entry

    in the external memory to the PTEL register.
4. If using software for way selection for entry replacement, write the desired value to the RC

    field in MMUCR.
5. Issue the LDTLB instruction to load the contents of PTEH and PTEL into the TLB.
6. Issue the RTE instruction to terminate the handler and return to the instruction stream. The

    RTE instruction should be issued after two LDTLB instructions.

Figure 3.11 shows the flowchart for MMU exceptions.

                                                                                         Rev. 5.00, 09/03, page 77 of 760
                                               Start

                                                   SH = 0
                                  No and (MMUCR.SV = 0

                                              or SR.MD = 0)?

No            VPNs match?                              Yes

                             No                  VPNs
                Yes                            and ASIDs

                                                 match?
                                                        Yes

TLB miss                                         V = 1?        No
exception
                                                        Yes                        TLB invalid
                User mode                                                           exception
                                                 User or
                                               privileged?    Privileged mode

                    PR check                                            PR check
              00/01 10
                                      11                      01/11 00/10
                W                           W
                       R/W?                                  W                    W
                                  R/W?                            R/W?  R/W?
                           R
                                      R                       R         R
                                      No

                                               D = 1?

TLB protection                                 Yes
    violation
   exception                                                                    TLB protection
                                                                                    violation

Initial page  No (noncacheable)                C = 1?         Yes (cacheable)
    write
                Memory                                                    Cache
exception        access                                                  access

              Figure 3.11 MMU Exception Generation Flowchart

Rev. 5.00, 09/03, page 78 of 760
3.5.5  Processing Flow in Event of MMU Exception (Same Processing Flow for Address
       Error)

Figure 3.12 shows the MMU exception signals in the instruction fetch mode.

       IF ID EX MA WB

       ID EX MA WB                        Handler transition
                                          processing
       ID EX MA WB
                                        EX MA WB
                              NOP

                                   NOP

       MMU exception handler  IF ID

        : Exception source stage

   IF = Instruction fetch
   ID = Instruction decode
  EX = Instruction execution
  MA = Memory access
WB = Write back
NOP = No operation

                 Figure 3.12 MMU Exception Signals in Instruction Fetch

                                   Rev. 5.00, 09/03, page 79 of 760
Figure 3.13 shows the MMU exception signals in the data access mode.

       IF ID EX MA WB

       IF ID EX MA WB

       IF ID EX MA WB

                                  ID EX MA WB                         Handler transition
                                         ID EX MA WB                  processing
                                                 ID EX MA WB

                                             NOP

                                                  NOP

       MMU exception handler                 IF ID EX MA WB

       : Exception source stage

       : Stage cancellation for instruction
        that has begun execution

   IF  = Instruction fetch
   ID  = Instruction decode
  EX   = Instruction execution
  MA   = Memory access
WB    = Write back
NOP    = No operation

       Figure 3.13 MMU Exception Signals in Data Access

3.6 Configuration of Memory-Mapped TLB

To allow the management of TLB operations by software, the MOV instruction can be used, in the
privileged mode, to read and write TLB contents. The TLB is mapped to the P4 area of the virtual
address space. The TLB address array (VPN, V bit, and ASID) is mapped to H'F2000000 to
H'F2FFFFFF, and the TLB data array (PPN, PR, SZ, CD, S, and H bits) is mapped to H'F3000000
to H'F3FFFFFF. It is also possible to access the V bits in the address array from the data array.
Only longword access is possible, for both the address and data arrays.

3.6.1 Address Array

The address array is mapped to H'F2000000 to H'F2FFFFFF. To access the address array, the 32-
bit address field (for read/write access) and 32-bit data field (for write access) must be specified.
The address field has the information that selects the entry to be accessed; the data field specifies
the VPN, the V bit, and the ASID to be written to the address array (figure 3.14 (1)).

Rev. 5.00, 09/03, page 80 of 760
In the address field, specify VPN in bits 16-12 as the index address that selects the entry, W in bits
9-8 to select the way, and H'F2 in bits 31-24 to indicate access to the address array. Selection of
the index address depends on the MMUCR.IX setting.
The following 2 types of operations on the address array are possible.
(1) Address Array Read

    Reads VPN, V bit, and ASID from the entry that corresponds to the entry address and way that
    were specified in the address field.
(2) Address Array Write
    Writes the data set in the data field to the entry that corresponds to the entry address and way
    that were specified in the address field.

3.6.2 Data Array
The data array is assigned to H'F3000000 to H'F3FFFFFF. To access a data array, the 32-bit
address field (for read/write operations), and 32-bit data field (for write operations) must be
specified. These are specified in the general register. The address section specifies information for
selecting the entry to be accessed; the data section specifies the longword data to be written to the
data array (figure 3.14 (2)).
In the address section, specify the entry address for selecting the entry (bits 1612), W for
selecting the way (bits 98: 00 is way 0, 01 is way 1, 10 is way 2, 11 is way 3), and H'F3 to
indicate data array access (bits 3124). The IX bit in MMUCR indicates whether an EX-OR is
taken of the entry address and ASID.
Both reading and writing use the longword of the data array specified by the index address and
way number. The access size of the data array is fixed at longword.

                                                                                         Rev. 5.00, 09/03, page 81 of 760
(1) TLB Address Array Access

Read access

               31                 24 23       17 16 12 11 10 9 8 7 6             0

Address field      11110010 *                 * VPN * * W 0 *                    *

               31                             17 16 12 11 10 9 8 7               0
Data field
                                  VPN         0              0 VPN 0 V     ASID

Write access

               31                 24 23       17 16 12 11 10 9 8 7 6             0

Address field      11110010 *                 * VPN * * W 0 *                    *

               31                             17 16 12 11 10 9 8 7               0
Data field
                                  VPN         *              * VPN * V     ASID

               VPN: Virtual page number                      ASID: Address space identifier

                   V: Valid bit                              * : Don't care bit

               W: Way (00: Way 0, 01: Way 1, 10: Way 2, 11: Way 3)

(2) TLB Data Array Access
Read/write access

               31                 24 23       17 16 12 11 10 9 8 7               0

Address field      11110011 *                 * VPN * * W *                      *

               31 29 28                  PPN                 10 9 8 7 6 5 4 3 2 1 0
Data field 000                                                   X V X PR SZ C D SH X

               PPN:    Physical page number                  V: Valid bit
                 PR:
                   C:  Protection key field                  SZ: Page-size bit
                 SH:
                       Cacheable bit                         D: Dirty bit
               VPN:
                   X:  Share status bit                      * : Don't care bit
                  W:
                       Virtual page number

                       0 for read, don't care bit for write

                       Way (00: Way 0, 01: Way 1, 10: Way 2, 11: Way 3)

Figure 3.14 Specifying Address and Data for Memory-Mapped TLB Access

Rev. 5.00, 09/03, page 82 of 760
3.6.3 Usage Examples

Invalidating Specific Entries: Specific TLB entries can be invalidated by writing 0 to the entry's
V bit. When the A bit is 1, the VPN and ASID specified by the write data is compared to the VPN
and ASID within the TLB entry selected by the entry address and data is written to the matching
way. If no match is found, there is no operation. R0 specifies the write data and R1 specifies the
address.

; R0=H'1547 381C R1=H'F201 3000
; MMUCR.IX=0
; VPN(3117)=B'0001 0101 0100 011 VPN(1110)=B'10 ASID=B'0001 1100
; corresponding entry association is made from the entry selected by
; the VPN(1612)=B'1 0011 index, the V bit of the hit way is cleared to
; 0,achieving invalidation.
MOV.L R0,@R1

Reading the Data of a Specific Entry: This example reads the data section of a specific TLB
entry. The bit order indicated in the data field in figure 3.14 (2) is read. R0 specifies the address
and the data section of a selected entry is read to R1.

; R1=H'F300 4300      VPN(16-12)=B'00100  Way 3
MOV.L @R0,R1

3.7 Usage Note

The operations listed below must only be performed when the TLB is disabled or in the P1 or P2
area. Any subsequent operation that accesses the P0, P3, or U0 area must take place two or more
instructions after any of the below operations.

1. Change SR.MD or SR.BL
2. Execute the LDTLB instruction
3. Write to the memory-mapped TLB
4. Change MMUCR.

                                                 Rev. 5.00, 09/03, page 83 of 760
Rev. 5.00, 09/03, page 84 of 760
                          Section 4 Exception Handling

4.1 Overview

4.1.1 Features

Exception handling is separate from normal program processing, and is performed by a routine
separate from the normal program. In response to an exception handling request due to abnormal
termination of the executing instruction, control is passed to a user-written exception handler.
However, in response to an interrupt request, normal program execution continues until the end of
the executing instruction. Here, all exceptions other than resets and interrupts will be called
general exceptions. There are thus three types of exceptions: resets, general exceptions, and
interrupts.

4.1.2 Register Configuration

Table 4.1 lists the registers used for exception handling. A register with an undefined initial value
should be initialized by software.

Table 4.1 Register Configuration

Register                  Abbr. R/W Size  Initial Value   Address

TRAPA exception register TRA      R/W Longword Undefined  H'FFFFFFD0

Exception event register  EXPEVT R/W Longword Power-on reset: H'000 H'FFFFFFD4
                                                                   Manual reset: H'020*1

Interrupt event register  INTEVT R/W Longword Undefined   H'FFFFFFD8

Interrupt event register2 INTEVT2 R Longword Undefined    H'04000000
                                                          (H'A4000000)*2

Notes: 1. H'000 is set in a power-on reset, and H'020 in a manual reset.
          2. When address translation by the MMU does not apply, the address in parentheses
               should be used.

4.2 Exception Handling Function

4.2.1 Exception Handling Flow

In exception handling, the contents of the program counter (PC) and status register (SR) are saved
in the saved program counter (SPC) and saved status register (SSR), respectively, and execution of
the exception handler is invoked from a vector address. The return from exception handler (RTE)
instruction is issued by the exception handler routine on completion of the routine, restoring the

                                                                                         Rev. 5.00, 09/03, page 85 of 760
contents of PC and SR to return to the processor state at the point of interruption and the address
where the exception occurred.

A basic exception handling sequence consists of the following operations:

1. The contents of PC and SR are saved in SPC and SSR, respectively.
2. The block (BL) bit in SR is set to 1, masking any subsequent exceptions.
3. The mode (MD) bit in SR is set to 1 to place the SH7709S in privileged mode.
4. The register bank (RB) bit in SR is set to 1.
5. An exception code identifying the exception event is written to bits 110 of the exception

    event (EXPEVT) or interrupt event (INTEVT or INTEVT2) register.
6. Instruction execution jumps to the designated exception vector address to invoke the handler

    routine.

4.2.2 Exception Vector Addresses

The reset vector address is fixed at H'A0000000. The other three events are assigned offsets from
the vector base address by software. Translation look-aside buffer (TLB) miss exceptions have an
offset from the vector base address of H'00000400. The vector address offset for general exception
events other than TLB miss exceptions is H'00000100. The interrupt vector address offset is
H'00000600. The vector base address is loaded into the vector base register (VBR) by software.
The vector base address should reside in P1 or P2 fixed physical address space. Figure 4.1 shows
the relationship between the vector base address, the vector offset, and the vector table.

VBR                               + Vector offset

(Vector base address)

                                  H'A000 0000

                                                                                              Vector table

                                           Figure 4.1 Vector Table

In table 4.2, exceptions and their vector addresses are listed by exception type, instruction
completion state, relative acceptance priority, relative order of occurrence within an instruction
execution sequence and vector address for exceptions and their vector addresses.

Rev. 5.00, 09/03, page 86 of 760
Table 4.2 Exception Event Vectors

Exception Current                                Exception Vector      Vector
                                                                       Offset
Type       Instruction Exception Event      Priority*1 Order  Address

Reset      Aborted Power-on reset           1    --           H'A00000000 --

                   Manual reset             1    --           H'A00000000 --

                   UDI reset                1    --           H'A00000000 --

General Aborted CPU address error 2              1            --       H'00000100
                                                                       H'00000400
exception and retried (instruction access)

events             TLB miss                 2    2            --

                   TLB invalid              2    3            --       H'00000100

                   (instruction access)

                   TLB protection           2    4            --       H'00000100

                   violation (instruction

                   access)

                   General illegal          2    5            --       H'00000100

                   instruction exception

                   Illegal slot instruction 2    5            --       H'00000100

                   exception

                   CPU address error 2           6            --       H'00000100

                   (data access)

                   TLB miss (data access 2       7            --       H'00000400

                   not in repeat loop)

                   TLB invalid (data        2    8            --       H'00000100

                   access)

                   TLB protection           2    9            --       H'00000100

                   violation (data access)

                   Initial page write       2    10           --       H'00000100

           Completed Unconditional trap     2    5            --       H'00000100
                                                                       H'00000100
                   (TRAPA instruction)

                   User breakpoint trap 2        n*2          --

                   DMA address error 2           --           --       H'00000100

General Completed Nonmaskable interrupt 3        --           --       H'00000600
                                                                       H'00000600
interrupt          External hardware        4*3  --           --
requests                                                               H'00000600
                   interrupt

                   UDI interrupt            4*3  --           --

Notes: 1. Priorities are indicated from high to low, 1 being the highest and 4 the lowest.

          2. The user defines the break point traps. 1 is a break point before instruction execution
               and 11 is a break point after instruction execution. For an operand break point, use 11.

          3. Use software to specify relative priorities of external hardware interrupts and peripheral
               module interrupts (see section 6, Interrupt Controller (INTC)).

                                                      Rev. 5.00, 09/03, page 87 of 760
4.2.3 Acceptance of Exceptions
Processor resets and interrupts are asynchronous events unrelated to the instruction stream. All
exception events are prioritized to establish an acceptance order whenever two or more exception
events occur simultaneously.
All general exception events occur in a relative order in the execution sequence of an instruction
(i.e. execution order), but are handled at priority level 2 in instruction-stream order (i.e. program
order), where an exception detected in a preceding instruction is accepted prior to an exception
detected in a subsequent instruction.
Three general exception events (reserved instruction code exception, unconditional trap, and slot
illegal instruction exception) are detected in the decode stage (ID stage) of different instructions
and are mutually exclusive events in the instruction pipeline. They have the same execution
priority. Figure 4.2 shows the order of general exception acceptance.

Rev. 5.00, 09/03, page 88 of 760
Pipeline Sequence:

Instruction n       IF         ID EX MA WB
                                                 TLB miss (data access)
Instruction n + 1
                               IF ID EX MA WB
Instruction n + 2              TLB miss (instruction access)
Detection Order:
                                        IF ID EX MA WB
                                                  RIE (reserved instruction exception)

TLB miss (instruction n+1)

TLB miss (instruction n) and general illegal instruction exception (instruction n + 2)
= simultaneous detection

Handling Order:                Program Order:
TLB miss (instruction n)                1

Re-execution of instruction n

TLB miss (instruction n + 1)
                                                                  2

Re-execution of instruction n + 1

RIE (instruction n + 2)        3

            IF = Instruction fetch
            ID = Instruction decode
            EX = Instruction execution
            MA = Memory access
            WB = Write back

                  Figure 4.2 Example of Acceptance Order of General Exceptions

All exceptions other than a reset are detected in the pipeline ID stage, and accepted at instruction
boundaries. However, an exception is not accepted between a delayed branch instruction and the
delay slot. A re-execution type exception detected in a delay slot is accepted before execution of
the delayed branch instruction. A completion type exception detected in a delayed branch

                                                                                         Rev. 5.00, 09/03, page 89 of 760
instruction or delay slot is accepted after execution of the delayed branch instruction. The delay
slot here refers either to the next instruction after a delayed unconditional branch instruction or to
the next instruction when a delayed conditional branch instruction is true.

4.2.4 Exception Codes

Table 4.3 lists the exception codes written to the EXPEVT register (for reset or general
exceptions) or the INTEVT and INTEVT2 registers (for general interrupt requests) to identify
each specific exception event.

Table 4.3 Exception Codes

Exception Type              Exception Event                         Exception Code
Reset                       Power-on reset                          H'000
General exception events    Manual reset                            H'020
                            UDI reset                               H'000
General interrupt requests  TLB miss/invalid (read)                 H'040
                            TLB miss/invalid (write)                H'060
                            Initial page write                      H'080
                            TLB protection violation (read)         H'0A0
                            TLB protection violation (write)        H'0C0
                            CPU address error (read)                H'0E0
                            CPU address error (write)               H'100
                            Unconditional trap (TRAPA instruction)  H'160
                            Illegal general instruction exception   H'180
                            Illegal slot instruction exception      H'1A0
                            User breakpoint trap                    H'1E0
                            DMA address error                       H'5C0
                            Nonmaskable interrupt                   H'1C0
                            UDI interrupt                           H'5E0
                            External hardware interrupts:
                                                                    H'200
                                  IRL3IRL0 = 0000                  H'220
                                  IRL3IRL0 = 0001

Rev. 5.00, 09/03, page 90 of 760
Exception Type              Exception Event                       Exception Code
                            External hardware interrupts (cont):
General interrupt requests                                        H'240
(cont)                             IRL3IRL0 = 0010               H'260
                                   IRL3IRL0 = 0011               H'280
                                   IRL3IRL0 = 0100               H'2A0
                                   IRL3IRL0 = 0101               H'2C0
                                   IRL3IRL0 = 0110               H'2E0
                                   IRL3IRL0 = 0111               H'300
                                   IRL3IRL0 = 1000               H'320
                                   IRL3IRL0 = 1001               H'340
                                   IRL3IRL0 = 1010               H'360
                                   IRL3IRL0 = 1011               H'380
                                   IRL3IRL0 = 1100               H'3A0
                                   IRL3IRL0 = 1101               H'3C0
                                   IRL3IRL0 = 1110

4.2.5 Exception Request Masks

When the BL bit in SR is 0, exceptions and interrupts are accepted.

If a general exception event occurs when the BL bit in SR is 1, the CPU's internal registers are set
to their post-reset state, other module registers retain their contents prior to the general exception,
and a branch is made to the same address (H'A0000000) as for a reset.

If a general interrupt occurs when BL = 1, the request is masked (held pending) and not accepted
until the BL bit is cleared to 0 by software. For reentrant exception handling, SPC and SSR must
be saved and the BL bit in SR cleared to 0.

4.2.6 Returning from Exception Handling

The RTE instruction is used to return from exception handling. When RTE is executed, the SPC
value is set in PC, and the SSR value in SR, and the return from exception handling is performed
by branching to the SPC address.

If SPC and SSR have been saved in external memory, set the BL bit in SR to 1, then restore SPC
and SSR, and issue an RTE instruction.

                            Rev. 5.00, 09/03, page 91 of 760
4.3 Register Descriptions

There are four registers related to exception handling. These are peripheral module registers, and
therefore reside in area P4. They can be accessed by specifying the address in privileged mode
only.

1. The exception event register (EXPEVT) resides at address H'FFFFFFD4, and contains a 12-bit
    exception code. The exception code set in EXPEVT is that for a reset or general exception
    event. The exception code is set automatically by hardware when an exception occurs.
    EXPEVT can also be modified by software.

2. The interrupt event register (INTEVT) resides at address H'FFFFFFD8, and contains a 12-bit
    interrupt exception code or a code indicating the interrupt priority. Which is set when an
    interrupt occurs depends on the interrupt source (see tables 6.4 and 6.5). The exception code or
    interrupt priority code is set automatically by hardware when an exception occurs. INTEVT
    can also be modified by software.

3. Interrupt event register 2 (INTEVT2) resides at address H'04000000, and contains a 12-bit
    exception code. The exception code set in INTEVT2 is that for an interrupt request. The
    exception code is set automatically by hardware when an exception occurs.

4. The TRAPA exception register (TRA) resides at address H'FFFFFFD0, and contains 8-bit
    immediate data (imm) for the TRAPA instruction. TRA is set automatically by hardware when
    a TRAPA instruction is executed. TRA can also be modified by software.

The bit configurations of the EXPEVT, INTEVT, INTEVT2, and TRA registers are shown in
figure 4.3.

EXPEVT, INTEVT, and INTEVT2 registers           TRA register
                                                31
31  11                            0             0             9  20

0   0 Exception code                                          0 imm 00

0: Reserved bits, always read as 0
imm: 8-bit immediate data in TRAPA instruction

Figure 4.3 Bit Configurations of EXPEVT, INTEVT, INTEVT2, and TRA Registers

Rev. 5.00, 09/03, page 92 of 760
4.4 Exception Handling Operation

4.4.1 Reset
The reset sequence is used to power up or restart the SH7709S from the initialization state. The
RESETP and RESETM signals are sampled every clock cycle, and in the case of a power-on reset,
all processing being executed (excluding the RTC) is suspended, all unfinished events are
canceled, and reset processing is executed immediately. In the case of a manual reset, however,
reset processing is executed after completion of any memory access being executed. The reset
sequence consists of the following operations:
1. The MD bit in SR is set to 1 to place the SH7709S in privileged mode.
2. The BL bit in SR is set to 1, masking any subsequent exceptions (except the NMI interrupt

    when the BLMSK bit is 1).
3. The RB bit in SR is set to 1.
4. An encoded value of H'000 in a power-on reset or H'020 in a manual reset is written to bits 11

    0 of the EXPEVT register to identify the exception event.
5. Instruction execution jumps to the user-written exception handler at address H'A0000000.

4.4.2 Interrupts
An interrupt handling request is accepted on completion of the current instruction. The interrupt
acceptance sequence consists of the following operations:
1. The contents of PC and SR are saved to SPC and SSR, respectively.
2. The BL bit in SR is set to 1, masking any subsequent exceptions (except the NMI interrupt

    when the BLMSK bit is 1).
3. The MD bit in SR is set to 1 to place the SH7709S in privileged mode.
4. The RB bit in SR is set to 1.
5. An encoded value identifying the exception event is written to bits 110 of the INTEVT and

    INTEVT2 registers.
6. Instruction execution jumps to the vector location designated by the sum of the value of the

    contents of the vector base register (VBR) and H'00000600 to invoke the exception handler.

                                                                                         Rev. 5.00, 09/03, page 93 of 760
4.4.3 General Exceptions

When the SH7709S encounters any exception condition other than a reset or interrupt request, it
executes the following operations:

1. The contents of PC and SR are saved to SPC and SSR, respectively.
2. The BL bit in SR is set to 1, masking any subsequent exceptions (except the NMI interrupt

    when the BLMSK bit is 1).
3. The MD bit in SR is set to 1 to place the SH7709S in privileged mode.
4. The RB bit in SR is set to 1.
5. Instruction execution jumps to the vector location designated by either the sum of the vector

    base address and offset H'00000400 in the vector table in a TLB miss trap, or by the sum of the
    vector base address and offset H'00000100 for exceptions other than TLB miss traps, to invoke
    the exception handler.

4.5 Individual Exception Operations

This section describes the conditions for specific exception handling, and this LSI operations.

4.5.1 Resets

Power-On Reset
     Conditions: RESETP low
     Operations: EXPEVT set to H'000, VBR and SR initialized, branch to PC = H'A0000000.
        Initialization sets the VBR register to H'0000000. In SR, the MD, RB and BL bits are set to
        1 and the interrupt mask bits (I3 to I0) are set to B'1111. The CPU and on-chip peripheral
        modules are initialized. See the register descriptions in the relevant sections for details. A
        power-on reset must always be performed when powering on. A low level is output from
        the RESETOUT pin, and a high level is output from the STATUS0 and STATUS1 pins.

Manual Reset
     Conditions: RESETM low
     Operations: EXPEVT set to H'020, VBR and SR initialized, branch to PC = H'A0000000.
        Initialization sets the VBR register to H'0000000. In SR, the MD, RB, and BL bits are set
        to 1 and the interrupt mask bits (I3 to I0) are set to B'1111. The CPU and on-chip
        peripheral modules are initialized. See the register descriptions in the relevant sections for
        details. A low level is output from the RESETOUT pin, and a high level is output from the
        STATUS0 and STATUS1 pins.

Rev. 5.00, 09/03, page 94 of 760
UDI Reset
     Conditions: UDI reset command input (see section 22.4.3, UDI Reset)
     Operations: EXPEVT set to H'000, VBR and SR initialized, branch to PC = H'A0000000.
        Initialization sets the VBR register to H'0000000. In SR, the MD, RB and BL bits are set to
        1 and the interrupt mask bits (I3 to I0) are set to B'1111. The CPU and on-chip peripheral
        modules are initialized. See the register descriptions in the relevant sections for details.

Table 4.4 Types of Reset

Type      Conditions for Transition  CPU           Internal State
          to Reset State             Initialized
Power-on  RESETP = Low               Initialized  On-Chip Peripheral Modules
reset
          RESETM = Low               Initialized  (See register configuration in
Manual                                            relevant sections)
reset     UDI reset command input

UDI
reset

4.5.2 General Exceptions

TLB miss exception
     Conditions: Comparison of TLB addresses shows no address match.
     Operations: The virtual address (32 bits) that caused the exception is set in TEA and the
        corresponding virtual page number (22 bits) is set in PTEH (3110). The ASID of PTEH
        indicates the ASID at the time the exception occurred. If all ways are valid, 1 is added to
        the RC bit in MMUCR. If there is one or more invalid way, they are set by priority starting
        with way 0.
    PC and SR of the instruction that generated the exception are saved to SPC and SSR,
    respectively. If the exception occurred during a read, H'040 is set in EXPEVT; if the exception
    occurred during a write, H'060 is set in EXPEVT. The BL, MD and RB bits in SR are set to 1
    and a branch occurs to PC = VBR + H'0400.
    To speed up TLB miss processing, the offset differs from other exceptions.

                                                  Rev. 5.00, 09/03, page 95 of 760
TLB invalid exception
     Conditions: Comparison of TLB addresses shows address match but the TLB entry valid
        bit (V) is 0.

     Operations: The virtual address (32 bits) that caused the exception is set in TEA and the
        corresponding virtual page number (22 bits) is set in PTEH (3110). The ASID of PTEH
        indicates the ASID at the time the exception occurred. The way that generated the
        exception is set in the RC bits in MMUCR.

    PC and SR of the instruction that generated the exception are saved to SPC and SSR,
    respectively. If the exception occurred during a read, H'040 is set in EXPEVT; if the exception
    occurred during a write, H'060 is set in EXPEVT. The BL, MD, and RB bits in SR are set to 1
    and a branch occurs to PC = VBR + H'0100.

Initial page write exception
     Conditions: A hit occurred to the TLB for a store access, but the TLB entry data bit (D) is
        0.
        This occurs for initial writes to the page registered by the load.

     Operations: The virtual address (32 bits) that caused the exception is set in TEA and the
        corresponding virtual page number (22 bits) is set in PTEH (3110). The ASID of PTEH
        indicates the ASID at the time the exception occurred. The way that generated the
        exception is set in the RC bit in MMUCR.

    PC and SR of the instruction that generated the exception are saved to SPC and SSR,
    respectively. H'080 is set in EXPEVT. The BL, MD, and RB bits in SR are set to 1 and a
    branch occurs to PC = VBR + H'0100.

TLB protection exception

Conditions: When a hit access violates the TLB protection information (PR bits) shown
    below:

PR  Privileged mode         User mode

00  Only read enabled No access

01  Read/write enabled No access

10  Only read enabled Only read enabled

11  Read/write enabled Read/write enabled

     Operations: The virtual address (32 bits) that caused the exception is set in TEA and the
        corresponding virtual page number (22 bits) is set in PTEH (3110). The ASID of PTEH
        indicates the ASID at the time the exception occurred. The way that generated the
        exception is set in the RC bits in MMUCR.

    PC and SR of the instruction that generated the exception are saved to SPC and SSR,
    respectively. If the exception occurred during a read, H'0A0 is set in EXPEVT; if the exception
    occurred during a write, H'0C0 is set in EXPEVT. The BL, MD, and RB bits in SR are set to 1
    and a branch occurs to PC = VBR + H'0100.

Rev. 5.00, 09/03, page 96 of 760
CPU address error
     Conditions:
        a. Instruction fetch from odd address (4n + 1, 4n + 3)
        b. Word data accessed from addresses other than word boundaries (4n + 1, 4n + 3)
        c. Longword accessed from addresses other than longword boundaries (4n + 1, 4n + 2,
             4n + 3)
        d. Virtual space accessed in user mode in the area H'80000000 to H'FFFFFFFF
     Operations: The virtual address (32 bits) that caused the exception is set in TEA. PC and
        SR of the instruction that generated the exception are saved to SPC and SSR, respectively.
        If the exception occurred during a read, H'0E0 is set in EXPEVT; if the exception occurred
        during a write, H'100 is set in EXPEVT. The BL, MD, and RB bits in SR are set to 1 and a
        branch occurs to PC = VBR + H'0100. See section 3.5.5, Processing Flow in Event of
        MMU Exception, for more information.

Unconditional trap
     Conditions: TRAPA instruction executed
     Operations: The exception is a processing-completion type, so PC of the instruction after
        the TRAPA instruction is saved to SPC. SR from the time when the TRAPA instruction
        was executing is saved to SSR. The 8-bit immediate value in the TRAPA instruction is
        quadrupled and set in TRA (90). H'160 is set in EXPEVT. The BL, MD, and RB bits in
        SR are set to 1 and a branch occurs to PC = VBR + H'0100.

Illegal general instruction exception
     Conditions:
        a. When undefined code not in a delay slot is decoded
             Delay branch instructions: JMP, JSR, BRA, BRAF, BSR, BSRF, RTS, RTE, BT/S,
             BF/S
             Undefined instruction: H'Fxxx
        b. When a privileged instruction not in a delay slot is decoded in user mode
             Privileged instructions: LDC, STC, RTE, LDTLB, SLEEP; Instructions that access
             GBR with LDC/STC are not privileged instructions and therefore do not apply.
     Operations: PC and SR of the instruction that generated this instruction are saved to SPC
        and SSR, respectively. H'180 is set in EXPEVT. The BL, MD, and RB bits in SR are set to
        1 and a branch occurs to PC = VBR + H'100. When an undefined code other than H'Fxxx is
        decoded, operation cannot be guaranteed.

                                                                                         Rev. 5.00, 09/03, page 97 of 760
Illegal slot instruction
     Conditions:
        a. When undefined code in a delay slot is decoded
             Delay branch instructions: JMP, JSR, BRA, BRAF, BSR, BSRF, RTS, RTE, BT/S,
             BF/S
        b. When an instruction that rewrites PC in a delay slot is decoded
             Instructions that rewrite PC: JMP, JSR, BRA, BRAF, BSR, BSRF, RTS, RTE, BT, BF,
             BT/S, BF/S, TRAPA, LDC Rm, SR, LDC.L @Rm+, SR
        c. When a privileged instruction in a delay slot is decoded in user mode
             Privileged instructions: LDC, STC, RTE, LDTLB, SLEEP; Instructions that access
             GBR with LDC/STC are not privileged instructions and therefore do not apply.
     Operations: PC of the immediately preceding delay branch instruction is saved to SPC. SR
        of the instruction that generated the exception is saved to SSR. H'1A0 is set in EXPEVT.
        The BL, MD, and RB bits in SR are set to 1 and a branch occurs to PC = VBR + H'0100.
        When an undefined instruction other than H'Fxxx is decoded, operation cannot be
        guaranteed.

User break point trap
     Conditions: When a break condition set in the user break controller is satisfied
     Operations: When a post-execution break occurs, PC of the instruction immediately after
        the instruction that set the break point is set in SPC. If a pre-execution break occurs, PC of
        the instruction that set the break point is set in SPC. SR when the break occurs is set in
        SSR. H'1E0 is set in EXPEVT. The BL, MD, and RB bits in SR are set to 1 and a branch
        occurs to PC = VBR + H'0100. See section 7, User Break Controller, for more information.

DMA address error
     Conditions:
        a. Word data accessed from addresses other than word boundaries (4n + 1, 4n + 3)
        b. Longword accessed from addresses other than longword boundaries (4n + 1, 4n + 2,
             4n + 3)
     Operations: PC of the instruction immediately after the instruction executed before the
        exception occurs is saved to SPC. SR when the exception occurs is saved to SSR. H'5C0 is
        set in EXPEVT. The BL, MD, and RB bits in SR are set to 1 and a branch occurs to PC =
        VBR + H'0100.

Rev. 5.00, 09/03, page 98 of 760
4.5.3 Interrupts

1. NMI
    -- Conditions: NMI pin edge detection
    -- Operations: PC after the instruction that receives the interrupt is saved to SPC, and SR at
        the point the interrupt is accepted is saved to SSR. H'01C0 is set to INTEVT and
        INTEVT2. The BL, MD, and RB bits of the SR are set to 1 and a branch occurs to PC =
        VBR + H'0600. This interrupt is not masked by SR.IMASK and is accepted with top
        priority when the BL bit in SR is 0. When the BL bit is 1, the interrupt is masked. See
        section 6, Interrupt Controller (INTC), for more information.

2. IRL Interrupts
    -- Conditions: The value of the interrupt mask bits in SR is lower than the IRL3IRL0 level
        and the BL bit in SR is 0. The interrupt is accepted at an instruction boundary.
    -- Operations: The PC value after the instruction at which the interrupt is accepted is saved to
        SPC. SR at the time the interrupt is accepted is saved to SSR. The code corresponding to
        the IRL3IRL0 level is set in INTEVT and INTEVT2. The corresponding code is given as
        H'200 + [IRL3IRL0] H'20. See table 6.5, for the corresponding codes. The BL, MD, and
        RB bits in SR are set to 1 and a branch occurs to VBR + H'0600. The received level is not
        set in SR.IMASK. See section 6, Interrupt Controller (INTC), for more information.

3. IRQ Pin Interrupts
    -- Conditions: The IRQ pin is asserted, SR.IMASK is lower than the IRQ priority level, and
        the BL bit in SR is 0. The interrupt is accepted at an instruction boundary.
    -- Operations: The PC value after the instruction at which the interrupt is accepted is saved to
        SPC. SR at the point the interrupt is accepted is saved to SSR. The code corresponding to
        the interrupt source is set in INTEVT and INTEVT2. The BL, MD, and RB bits in SR are
        set to 1 and a branch occurs to VBR + H'0600. The received level is not set in the interrupt
        mask bits in SR. See section 6, Interrupt Controller (INTC), for more information.

4. PINT Pin Interrupts
    -- Conditions: The PINT pin is asserted, the interrupt mask bits in SR. is lower than the PINT
        priority level, and the BL bit in SR is 0. The interrupt is accepted at an instruction
        boundary.
    -- Operations: The PC value after the instruction at which the interrupt is accepted is saved to
        SPC. SR at the point the interrupt is accepted is saved to SSR. The code corresponding to
        the interrupt source is set in INTEVT and INTEVT2. The BL, MD, and RB bits of SR are
        set to 1 and a branch occurs to VBR + H'0600. The received level is not set in the interrupt
        mask bits in SR. See section 6, Interrupt Controller (INTC), for more information.

                                                                                         Rev. 5.00, 09/03, page 99 of 760
5. On-Chip Peripheral Interrupts
    -- Conditions: The interrupt mask bits in SR are lower than the on-chip module (TMU, RTC,
        SCI, IrDA, SCIF, A/D, DMAC, WDT, REF) interrupt level and the BL bit in SR is 0. The
        interrupt is accepted at an instruction boundary.
    -- Operations: The PC value after the instruction at which the interrupt is accepted is saved to
        SPC. SR at the point the interrupt is accepted is saved to SSR. The code corresponding to
        the interrupt source is set in INTEVT and INTEVT2. The BL, MD, and RB bits in SR are
        set to 1 and a branch occurs to VBR + H'0600. See section 6, Interrupt Controller (INTC),
        for more information.

6. UDI Interrupt
    -- Conditions: An UDI interrupt command is input (see section 22.4.4, UDI Interrupt),
        SR.IMASK is lower than 15, and the BL bit in SR is 0. The interrupt is accepted at an
        instruction boundary.
    -- Operations: The PC value after the instruction that accepts the interrupt is saved to SPC.
        SR at the point the interrupt is accepted is saved to SSR. H'5E0 is set to INTEVT and
        INTEVT2. The BL, MD, and RB bits in SR are set to 1 and a branch occurs to VBR +
        H'0600. See section 6, Interrupt Controller (INTC), for more information.

4.6 Cautions

Return from exception handling
     Check the BL bit in SR with software. When SPC and SSR have been saved to external
        memory, set the BL bit in SR to 1 before restoring them.
     Issue an RTE instruction, which sets SPC in PC and SSR in SR, and causes a branch to the
        SPC address, and return from exception handling.

Operation when exception or interrupt occurs while SR.BL = 1
     Interrupt: Acceptance is suppressed until the BL bit in SR is cleared to 0. If there is an
        interrupt request and the reception conditions are satisfied, the interrupt is accepted after
        the execution of the instruction that clears the BL bit in SR to 0. In sleep or standby mode,
        however, the interrupt will be accepted even when the BL bit in SR is 1.
     Exception: No user break point trap will occur even when the break conditions are met.
        When one of the other exceptions occurs, a branch is made to the fixed address of the reset
        (H'A0000000). In this case, the values of the EXPEVT, SPC, and SSR registers are
        undefined. Differently from general reset processing, the RESETOUT pin is not asserted,
        and reset status is output from the STATUS0 and STATUS1 pins.

Rev. 5.00, 09/03, page 100 of 760
SPC when exception occurs: The PC saved to SPC when an exception occurs is as shown
    below:
     Re-executing-type exceptions: PC of the instruction that caused the exception is set in SPC
        and re-executed after return from exception handling. If the exception occurred in a delay
        slot, however, PC of the immediately prior delayed branch instruction is set in SPC. If the
        condition of the conditional delayed branch instruction is not satisfied, the delay slot PC is
        set in SPC.
     Completed-type exceptions and interrupts: PC of the instruction after the one that caused
        the exception is set in SPC. If the exception was caused by a conditional delayed branch
        instruction, however, the branch destination PC is set in SPC. If the condition of the
        conditional delayed branch instruction is not satisfied, the delay slot PC is set in SPC.

Initial register values after reset
     Undefined registers
        R0_BANK0/1R7_BANK0/1, R8R15, GBR, SPC, SSR, MACH, MACL, PR
     Initialized registers
        VBR = H'00000000
        SR.MD = 1, SR.BL = 1, SR.RB = 1, SR.I3SR.I0 = H'F. Other SR bits are undefined.
        PC = H'A0000000

Ensure that an exception is not generated at an RTE instruction delay slot, as operation is not
    guaranteed in this case.

When the BL bit in the SR register is set to 1, ensure that a TLB-related exception or address
    error does not occur at an LDC instruction that updates the SR register and the following
    instruction. This will be identified as the occurrence of multiple exceptions, and may initiate
    reset processing.

                                                                                       Rev. 5.00, 09/03, page 101 of 760
Rev. 5.00, 09/03, page 102 of 760
                                Section 5 Cache

5.1 Overview

5.1.1 Features

The cache specifications are listed in table 5.1.

Table 5.1 Cache Specifications

Parameter           Specification
Capacity            16 kbytes
Structure           Instruction/data mixed, 4-way set associative
Locking             Way 2 and way 3 are lockable
Line size           16 bytes
Number of entries   256 entries/way
Write system        P0, P1, P3, U0: Write-back/write-through selectable
Replacement method  Least-recently-used (LRU) algorithm

5.1.2 Cache Structure

The cache mixes data and instructions and uses a 4-way set associative system. It is composed of
four ways (banks), each of which is divided into an address section and a data section. Each of the
address and data sections is divided into 256 entries. The data section of the entry is called a line.
Each line consists of 16 bytes (4 bytes 4). The data capacity per way is 4 kbytes (16 bytes 256
entries), with a total of 16 kbytes in the cache as a whole (4 ways). Figure 5.1 shows the cache
structure.

                                                   Rev. 5.00, 09/03, page 103 of 760
Address array (ways 0-3)                        Data array (ways 0-3)          LRU

Entry 0 V U Tag address             0 LW0  LW1  LW2             LW3        0
Entry 1                             1                                      1

        .                           .                                      .
        .                           .                                      .
        .                           .                                      .
        .                           .                                      .
        .                           .                                      .
        .                           .                                      .

Entry 255                           255                                    255
              24 (1 + 1 + 22) bits                      128 (32 4) bits          6 bits

                                              LW0-LW3: Longword data 0-3

                                    Figure 5.1 Cache Structure

Address Array: The V bit indicates whether the entry data is valid. When the V bit is 1, data is
valid; when 0, data is not valid. The U bit indicates whether the entry has been written to in write-
back mode. When the U bit is 1, the entry has been written to; when 0, it has not. The address tag
holds the physical address used in the external memory access. It is composed of 22 bits (address
bits 3110) used for comparison during cache searches.

In the SH7709S, the top three of 32 physical address bits are used as shadow bits (see section 10,
Bus State Controller (BSC)), and therefore in a normal replace operation the top three bits of the
tag address are cleared to 0.

The V and U bits are initialized to 0 by a power-on reset, but are not initialized by a manual reset.
The tag address is not initialized by either a power-on or manual reset.

Data Array: Holds a 16-byte instruction or data. Entries are registered in the cache in line units
(16 bytes). The data array is not initialized by a power-on or manual reset.

LRU: With the 4-way set associative system, up to four instructions or data with the same entry
address (address bits 114) can be registered in the cache. When an entry is registered, the LRU
shows which of the four ways it is recorded in. There are six LRU bits, controlled by hardware. A
least-recently-used (LRU) algorithm is used to select the way.

The way that is to be replaced on a cache miss is determined by the 6-bit LRU. Table 5.2 shows
the correspondence between the LRU bits and the way to be replaced when the cache-lock
function is not used (when the cache-lock function is used, refer to section 5.2.2, Cache Control
Register 2 (CCR2)). If a bit pattern other than those listed in table 5.2 is set in the LRU bits by
software, the cache will not function correctly. When modifying the LRU bits by software, set one
of the patterns listed in table 5.2.

Rev. 5.00, 09/03, page 104 of 760
The LRU bits are initialized to 000000 by a power-on reset, but are not initialized by a manual
reset.

Table 5.2 LRU and Way Replacement (When the cache lock function is not used)

LRU (50)                                               Way to be Replaced
000000, 000100, 010100, 100000, 110000, 110100          3
000001, 000011, 001011, 100001, 101001, 101011          2
000110, 000111, 001111, 010110, 011110, 011111          1
111000, 111001, 111011, 111100, 111110, 111111          0

5.1.3 Register Configuration

Table 5.3 shows details of the cache control register.

Table 5.3 Register Configuration

Register                Abbr.     R/W Initial Value Address                 Access Size

Cache control register  CCR       R/W H'00000000 H'FFFFFFEC 32-bit

Cache control register 2 CCR2     R/W H'00000000 H'040000B0 32-bit
                                                                  (H'A40000B0)*

Note: * When address translation by the MMU does not apply, the address in parentheses should
           be used.

5.2 Register Description

5.2.1 Cache Control Register (CCR)

The cache is enabled or disabled using the CE bit of the cache control register (CCR). CCR also
has a CF bit (which invalidates all cache entries), and a WT and CB bits (which select either write-
through mode or write-back mode). Programs that change the contents of the CCR register should
be placed in address space that is not cached. When updating the contents of the CCR register,
always set bits 4 to 0. Figure 5.2 shows the configuration of the CCR register.

                                                        Rev. 5.00, 09/03, page 105 of 760
31                                 6 5 43 21 0

    ........................                                         CF CB WT CE

:   Reserved bits. Always 0 when reading. Data written here is also always 0.

CF: Cache flush bit. Writing 1 flushes all cache entries (clears the V, U, and LRU bits of all
            cache entries to 0). Always reads 0. Write-back to external memory is not performed when
            the cache is flushed.

CB: Write-back/write-through switchover bit. Indicates the cache's operating mode for area P1.
            1 = write-back mode, 0 = write-through mode.

WT: Write-through bit. Indicates the cache's operating mode for area P0, U0, and P3.
            1 = write-through mode, 0 = write-back mode.

CE: Cache enable bit. Indicates whether the cache function is used.
            1 = cache used, 0 = cache not used.

    Figure 5.2 CCR Register Configuration

5.2.2 Cache Control Register 2 (CCR2)

CCR2 is used to control the cache-lock function and is valid only in cache locking mode. Cache
locking mode means that the cache lock bit (bit 12) in SR (status register) is set to 1. The cache-
lock function is invalid in non-cache locking mode (the cache-lock bit is 0).

When a prefetch instruction (PREF) is executed in cache locking mode and a cache miss occurs,
one line size of data pointed to by Rn is brought to cache according to the setting of bits 9 and 8
(W3LOAD and W3LOCK) and bits 1 and 0 (W2LOAD and W2LOCK) in CCR2. Table 5.4
shows the relationship between the bit setting and way to be replaced when a prefetch instruction
is executed. When a prefetch instruction is executed and there is a cache hit, new data is not
fetched and an entry which has already been valid is retained. For example, when the cache-lock,
W3LOAD, and W3LOCK bits are set to 1 and a prefetch instruction is executed while one line
size of data pointed to by Rn is already in way 0, a cache hit occurs and data is not fetched to way
3.

When cache is accessed by means of instructions except for a prefetch instruction in cache locking
mode, a way that is replaced by the W3LOCK and W2LOCK bits is restricted. Table 5.5 shows
the relationship between the bit setting of CCR2 and way to be replaced.

The program which modifies the contents of CCR2 must be placed in an address space which does
not cache.

Figure 5.3 shows the configuration of CCR2.

CCR2 is a write-only register; if read, an undefined value will be returned.

Rev. 5.00, 09/03, page 106 of 760
   31                                     9 87       21 0

                                           W3 W3      W2 W2
                                          LOAD LOCK  LOAD LOCK

   W2LOCK: Way 2 lock bit. W2LOAD: Way 2 load bit.
   When W2LOCK = 1 & W2LOAD = 1 & SR, CL = 1, the prefetched data will always be
   loaded into Way2. In all other conditions the prefetched data will be loaded into the way
   pointed by LRU.

   W3LOCK: Way 3 lock bit. W3LOAD: Way 3 load bit.
   When W3LOCK = 1 & W3LOAD = 1 & SR, CL = 1, the prefetched data will always be
   loaded into Way3. In all other conditions the prefetched data will be loaded into the way
   pointed by LRU.

   Note: W2LOAD and W3LOAD should not be set to high at the same time.

   --: Reserved bits.

             Figure 5.3 CCR2 Register Configuration

Whenever CCR2 bit 8 (W3LOCK) or bit 0 (W2LOCK) is high the cache is locked. The locked
data will not be overwritten unless W3LOCK bit and W2LOCK bit are reset or the PREF
condition during DSP mode matched. During cache locking mode, the LRU in table 5.2 will be
replaced by tables 5.4 to 5.8.

Table 5.4 Way Replacement when PREF Instruction Ended Up in a Cache Miss

DSP bit W3LOAD W3LOCK W2LOAD              W2LOCK  Way to be replaced
                                          *       Depends on LRU (table 5.2)
0      *  *  *                            0       Depends on LRU (table 5.2)
                                          1       Depends on LRU (table 5.6)
1      *  0  *                            0       Depends on LRU (table 5.7)
                                          1       Depends on LRU (table 5.8)
1      *  0  0                            1       Way 2
                                          *       Way 3
1      0  1  *

1      0  1  0

1      0  *  1

1      1  1  0

*: Don't care
Do not set as W3LOAD=1 and also W2LOAD=1

                                                     Rev. 5.00, 09/03, page 107 of 760
Table 5.5 Way Replacement when Instructions Except for PREF Instruction Ended Up in
                a Cache Miss

DSP bit W3LOAD W3LOCK W2LOAD              W2LOCK  Way to be replaced
                                          *       Depends on LRU (table 5.2)
0  *  *                            *      0       Depends on LRU (table 5.2)
                                          1       Depends on LRU (table 5.6)
1  *  0                            *      0       Depends on LRU (table 5.7)
                                          1       Depends on LRU (table 5.8)
1  *  0                            *

1  *  1                            *

1  *  1                            *

*: Don't care
Do not set as W3LOAD=1 and also W2LOAD=1

Table 5.6 LRU and Way Replacement (when W2LOCK=1)                Way to be Replaced
                                                                 3
LRU (50)                                                        1
000000, 000001, 000100, 010100, 100000, 100001, 110000, 110100   0
000011, 000110, 000111, 001011, 001111, 010110, 011110, 011111
101001, 101011, 111000, 111001, 111011, 111100, 111110, 111111

Table 5.7 LRU and Way Replacement (when W3LOCK=1)                Way to be Replaced
                                                                 2
LRU (50)                                                        1
000000, 000001, 000011, 001011, 100000, 100001, 101001, 101011   0
000100, 000110, 000111, 001111, 010100, 010110, 011110, 011111
110000, 110100, 111000, 111001, 111011, 111100, 111110, 111111

Table 5.8 LRU and Way Replacement (when W2LOCK=1 and W3LOCK=1)

LRU (50)                                                        Way to be Replaced
                                                                 1
000000, 000001, 000011, 000100, 000110, 000111, 001011, 001111,
010100, 010110, 011110, 011111                                   0

100000, 100001, 101001, 101011, 110000, 110100, 111000, 111001,
111011, 111100, 111110, 111111

Rev. 5.00, 09/03, page 108 of 760
5.3 Cache Operation

5.3.1 Searching the Cache
If the cache is enabled, whenever instructions or data in memory are accessed the cache will be
searched to see if the desired instruction or data is in the cache. Figure 5.4 illustrates the method
by which the cache is searched. The cache is a physical cache and holds physical addresses in its
address section.
Entries are selected using bits 114 of the address (virtual) of the access to memory and the
address tag of that entry is read. In parallel to reading of the address tag, the virtual address is
translated to a physical address in the MMU. The physical address after translation and the
physical address read from the address section are compared. The address comparison uses all four
ways. When the comparison shows a match and the selected entry is valid (V = 1), a cache hit
occurs. When the comparison does not show a match or the selected entry is not valid (V = 0), a
cache miss occurs. Figure 5.4 shows a hit on way 1.

                                                                                       Rev. 5.00, 09/03, page 109 of 760
Virtual address

31               12 11    4 3 210

         Entry selection             Longword (LW) selection
                                   Ways 0-3
                                                                       Ways 0-3

    MMU          0 V U Tag address  LW0 LW1 LW2 LW3
                 1

                           255

     Physical address
                                 CMP0 CMP1 CMP2 CMP3

                                     Hit signal 1
    CMP0: Comparison circuit 0
    CMP1: Comparison circuit 1
    CMP2: Comparison circuit 2
    CMP3: Comparison circuit 3

                         Figure 5.4 Cache Search Scheme (Normal Mode)

Rev. 5.00, 09/03, page 110 of 760
5.3.2 Read Access

Read Hit: In a read access, instructions and data are transferred from the cache to the CPU. The
transfer unit is 32 bits. The LRU is updated.

Read Miss: An external bus cycle starts and the entry is updated. The way replaced is the one
least recently used. Entries are updated in 16-byte units. When the desired instruction or data that
caused the miss is loaded from external memory to the cache, the instruction or data is transferred
to the CPU in parallel with being loaded to the cache. When it is loaded in the cache, the U bit is
cleared to 0 and the V bit is set to 1.

5.3.3 Prefetch Operation

Prefetch Hit: The LRU will be updated to correctly indicate the latest way to have been hit. Other
contents of the cache will remain unchanged. Neither instructions nor data are transferred to the
CPU.

Prefetch Miss: Neither instructions nor data are transferred to the CPU, and way replacement
takes place as shown in table 5.4. All other action is the same as for a read miss.

5.3.4 Write Access

Write Hit: In a write access in the write-back mode, the data is written to the cache and the U bit
of the entry written is set to 1. Writing occurs only to the cache; no external memory write cycle is
issued. In the write-through mode, the data is written to the cache and an external memory write
cycle is issued.

Write Miss: In the write-back mode, an external write cycle starts when a write miss occurs, and
the entry is updated. The way to be replaced is shown in table 5.5. When the U bit of the entry to
be replaced is 1, the cache fill cycle starts after the entry is transferred to the write-back buffer.
The write-back unit is 16 bytes. Data is written to the cache and the U bit is set to 1. After the
cache completes its fill cycle, the write-back buffer writes back the entry to the memory. In the
write-through mode, no write to cache occurs in a write miss; the write is only to the external
memory.

5.3.5 Write-Back Buffer

When the U bit of the entry to be replaced in the write-back mode is 1, it must be written back to
the external memory. To increase performance, the entry to be replaced is first transferred to the
write-back buffer and fetching of new entries to the cache takes priority over writing back to the
external memory. During the write back cycles, the cache can be accessed. The write-back buffer
can hold one line of the cache data (16 bytes) and its physical address. Figure 5.5 shows the
configuration of the write-back buffer.

                                                                                       Rev. 5.00, 09/03, page 111 of 760
                     PA (31-4) Longword 0 Longword 1 Longword 2 Longword 3

                     PA (31-4): Physical address written to external memory
                       Longword 0-3: The line of cache data to be written to

                                             external memory

                              Figure 5.5 Write-Back Buffer Configuration

5.3.6 Coherency of Cache and External Memory

Use software to ensure coherency between the cache and the external memory. When memory
shared by this LSI and another device is placed in an address space to be cached, the memory
allocation cache is manipulated if necessary and a write back should be performed by invalidating
the entry. This is also applied to memory shared by the CPU and DMAC in this LSI.

5.4 Memory-Mapped Cache

To allow software management of the cache, cache contents can be read and written by means of
MOV instructions in the privileged mode. The cache is mapped onto the P4 area in virtual address
space. The address array is mapped onto addresses H'F0000000 to H'F0FFFFFF, and the data
array onto addresses H'F1000000 to H'F1FFFFFF. Only longword can be used as the access size
for the address array and data array, and instruction fetches cannot be performed.

5.4.1 Address Array

The address array is mapped to H'F0000000 to H'F0FFFFFF. The 32-bit address field (for
read/write accessed) and 32-bit data field (for write access) must be specified to access an element
of the address array. The address field specifies information that selects the entry to be accessed;
the data field specifies the tag address, V bit, U bit, and LRU bits to be written to the address array
(figure 5.6 (1)).

In the address field, specify the entry's address in bits 11-4 to select the entry, W in bits 13-12 to
select the way, the A bit (bit 3) to specify an associative operation, and H'F0 in bits 31-24 to
indicate access to the address array. Settings for the W bits (13-12) are as follows: 00 is way 0, 01
is way 1, 10 is way 2, and 11 is way 3.

In the data field, specify the tag address in bits 31-10, LRU in bits 9-4, U bit in bit 1, and V bit in
bit 0. The upper 3 bits (bit 31-29) of the tag address must always be 0.

Rev. 5.00, 09/03, page 112 of 760
The following three operations on the address array are possible.

(1) Address Array Read
Reads the tag address, LRU, U bit, and V bit from the entry that corresponds to the entry address
and w`ay that were specified in the address field. No associative operation will be performed,
regardless of the value of the associative bit (the A bit).

(2) Address Array Write (without Associative Operation)
Writes the tag address, LRU, U bit, and V bit specified in the data field to the entry that
corresponds to the entry address and way that were specified in the address field. The associative
bit (A bit) of the address field must be set to 0. An attempt to write to a cache line for which both
the U bit and V bit are set results in a write-back for that cache line. The tag address, LRU, U bit,
and V bit specified in the data field are then written. Note that, when a 0 is written to the V bit, a 0
should always be written to the U bit of the same entry, too.

(3) Address Array Write (with Associative Operation)
The associative bit (A bit) in the address field indicates whether the addresses are compared
during writing. With the A bit set to 1, all 4 ways for the entry specified in the address field will be
compared to the tag address specified in the data field for a match. The values of the U bit and V
bit specified in the data field will be written to the way that has a hit. However, the tag address and
the LRU will not be changed. If no way receives a hit, writing does not take place and the result is
no operation.

This operation is used to invalidate the address specification for a cache. Write back will take
place when the U bit of the entry that received a hit is 1. Note that, when a 0 is written to the V bit,
a 0 should always be written to the U bit of the same entry, too.

5.4.2 Data Array

The address array is mapped to H'F1000000 to H'F1FFFFFF. To access an element of the data
array, the 32-bit address field (for read/write access) and 32-bit data field (for write access) must
be specified. The address field specifies the information that selects the entry to be accessed; the
data field specifies the longword data to be written to the data array.

In the address field, specify the entry's address in bits 11-4, L in bits 3-2 to indicate the longword's
position within a line (which consists of 16 bytes), W in bits 13-12 to select the way, and H'F1 in
bits 31-24 to indicate access to the data array. The L bits (3-2) specification is in the following
form: 00 is longword 0, 01 is longword 1, 10 is longword 2, and 11 is longword 3. Settings for the
W bits (13-12) are as follows: 00 is way 0, 01 is way 1, 10 is way 2, and 11 is way 3. Since access
is not allowed crossing longword boundaries, always set 00 in bits 1-0 of the address field.

                                                                                       Rev. 5.00, 09/03, page 113 of 760
The following two operations on the data array are possible. Note that these operations will not
change the information in the address array.

(1) Data Array Read
Reads the data at the position selected by the L bits (3-2) of the address field from the entry that
corresponds to the entry address and way that were specified in the address field.

(2) Data Array Write
Writes the longword data set in the data field into the entry that corresponds to the entry address
and way that were specified in the address field. The longword data will be written to the entry at
the position selected by the L bits (3-2) of the address field.

1. Address array access
    Address specification

Read access

31        24           23          14      13 12     11         4       3     2         0

1111 0000                  *............*     W          Entry address  0* * *

Write access

31        24           23          14      13 12     11         4       3     2         0

1111 0000                  *............*     W          Entry address  A* * *

Data specification (both read and write accesses)

31 30 29                                             10 9       4       3     2      1  0

0 0 0 Address tag (28-10)                                  LRU             XX        UV

2. Data array access (both read and write accesses)

Address specification

31        24           23          14      13 12     11         4       3        21     0

1111 0001                  *............*     W          Entry address     L         00

Data specification

31                                                                                      0

                                           Longword

X: 0 for read, don't care for write
*: Don't care bit

     Figure 5.6 Specifying Address and Data for Memory-Mapped Cache Access

Rev. 5.00, 09/03, page 114 of 760
5.4.3 Examples of Usage

(1) Invalidating a Specific Entry
A specific cache entry can be invalidated by accessing the allocated memory cache and writing a 0
to the entry's U and V bits. The A bit is cleared to 0, and an address is specified for the entry
address and the way. If the U bit of the way of the entry in question was set to 1, the entry is
written back and the V and U bits specified by the write data are written to.

In the following example, the write data is specified in R0 and the address is specified in R1.

   ; R0 = H'0000 0000 LRU = H'000, U = 0, V = 0
   ; R1 = H'F000 1080, Way = 1, Entry = H'08, A = 0
   ;

         MOV.L R0, @R1

To invalidate all entries and ways, write 0 to the following addresses.

         Addresses
              F000 0000
              F000 0010
              F000 0020
                     :
              F000 3FF0

This involves a total of 1,024 writes.

The above operation should be performed using a non-cacheable area.

(2) Invalidating a Specific Address
A specific address can be invalidated by writing a 0 to the entry's U and V bits. When the A bit is
1, the tag address specified by the write data is compared to the tag address within the cache
selected by the entry address. If the tag addresses match, data is written to the memory at that
address. If no match is found, no operation is carried out. If the entry's U bit is 1 at that time, the
entry is written back.

   ; R0 = H'0110 0010; Tag address = B'0000 0001 0001 0000 0000 00, U = 0,
   V=0
   ; R1 = H'F000 0088; Address array access, Entry = H'08, A = 1
   ;

         MOV.L R0, @R1

                                                                                       Rev. 5.00, 09/03, page 115 of 760
In the following example, an address (32-bit) to be purged is specified in R0.

   MOV.L #H'00000FF0, R1 ;

   AND R0, R1                      ; The entry address is fetched.

   MOV.L #H'F0000008, R2 ;

   OR R1, R2                       ; The start is set to H'F0 and the A bit

                                   to 1.

   MOV.L #H'1FFFFC00, R3 ;

   AND R0, R3                      ; The tag address is fetched. U = V = 0.

   MOV.L R3, @R2                   ; Associative purge.

The above operation should be performed using a non-cacheable area.

(3) Reading Data from a Specific Entry
This example reads the data section of a specific entry. The longword in the data field of the data
array in figure 5.6 is read to the register.

; R0 = H'F100 004C; Data array access, Entry = H'04,

; Way = 0, Longword address = 3

;

   MOV.L R0, @R1  ; Longword 3 is read.

Rev. 5.00, 09/03, page 116 of 760
             Section 6 Interrupt Controller (INTC)

6.1 Overview

The interrupt controller (INTC) ascertains the priority of interrupt sources and controls interrupt
requests to the CPU. The INTC registers set the order of priority of each interrupt, allowing the
user to process interrupt requests according to the user-set priority.
6.1.1 Features
The INTC has the following features:
16 levels of interrupt priority can be set: By setting the five interrupt-priority registers, the

    priorities of on-chip peripheral module, IRQ, and PINT interrupts can be selected from 16
    levels for individual request sources.
NMI noise canceler function: An NMI input-level bit indicates the NMI pin state. By reading
    this bit in the interrupt exception service routine, the pin state can be checked, enabling it to be
    used as a noise canceler.
External devices can be notified that an interrupt has been received (IRQOUT): When the
    SH7709S has released the bus, the external bus master can be notified that an external
    interrupt, an on-chip peripheral module interrupt, or a memory refresh request has occurred,
    enabling the bus to be requested.

                                                                                       Rev. 5.00, 09/03, page 117 of 760
6.1.2 Block Diagram
Figure 6.1 shows a block diagram of the INTC.

              IRQOUT       4 Input/output

                    NMI    4           control
            IRL3IRL0
       IRLS3IRLS0         6
          IRQ0IRQ5
      PINT0PINT15         16                                                   Interrupt
                                                                                 request
                 DMAC     (Interrupt request)                        Com-
                    IrDA  (Interrupt request)                       parator         SR
                   SCIF   (Interrupt request)                                   3210
                     SCI  (Interrupt request)            Priority
                   ADC                                  identifier                       CPU

                   TMU    (Interrupt request)
                    RTC
                   WDT    (Interrupt request)
                    REF   (Interrupt request)
                          (Interrupt request)
                     UDI  (Interrupt request/

                            refresh request)
                          (Interrupt request)

                                       ICR              IPR

                                                        IPRAIPRE

                                                                       Bus      Internal bus
                                                                    interface
Legend
                                                                          INTC
TMU     : Timer unit

RTC     : Realtime clock unit

SCI     : Serial communication interface

IrDA    : Serial communication interface (with IrDA)

SCIF    : Serial communication interface (with FIFO)

WDT     : Watchdog timer

REF     : Refresh requests in the bus state controller

ICR     : Interrupt control register

IPRAIPRE : Interrupt priority registers A-E

SR      : Status register

DMAC : Direct memory access controller

ADC     : Analog-to-digital converter

UDI     : User-debugging interface

                               Figure 6.1 Block Diagram of INTC

Rev. 5.00, 09/03, page 118 of 760
6.1.3 Pin Configuration

Table 6.1 shows the INTC pin configuration.

Table 6.1 INTC Pins

Name                       Abbreviation      I/O Description
Nonmaskable interrupt
input pin                  NMI               I  Input of interrupt request signal, not
Interrupt input pins
                                                maskable by the interrupt mask bits in
Port interrupt input pins
                                                SR.
Bus request output pin
                           IRQ5IRQ0         I  Input of interrupt request signals,

                           IRL3IRL0            maskable by the interrupt mask bits in

                           IRLS3-IRLS0          SR.

                           PINT0PINT15 I       Input of port interrupt request signals,
                                                maskable by the interrupt mask bits in
                                                SR.

                           IRQOUT            O  Output of signal that notifies external

                                                devices that an interrupt source or

                                                memory refresh has occurred

                                                     Rev. 5.00, 09/03, page 119 of 760
6.1.4 Register Configuration

The INTC has the 12 registers listed in table 6.2.

Table 6.2 INTC Registers

Name                               Abbr.  R/W       Initial Value*1 Address  Access
Interrupt control register 0       ICR0   R/W                                Size
                                                    *2    H'FFFFFEE0
                                                                             16

Interrupt control register 1       ICR1   R/W H'0000      H'04000010 16
                                                          (H'A4000010)*3

Interrupt control register 2       ICR2   R/W H'0000      H'04000012 16
                                                          (H'A4000012)*3

PINT interrupt enable register PINTER R/W H'0000          H'04000014 16
                                                          (H'A4000014)*3

Interrupt priority register A      IPRA   R/W H'0000      H'FFFFFEE2 16

Interrupt priority register B      IPRB   R/W H'0000      H'FFFFFEE4 16

Interrupt priority register C      IPRC   R/W H'0000      H'04000016 16
                                                          (H'A4000016)*3

Interrupt priority register D      IPRD   R/W H'0000      H'04000018 16
                                                          (H'A4000018)*3

Interrupt priority register E      IPRE   R/W H'0000      H'0400001A 16
                                                          (H'A400001A)*3

Interrupt request register 0       IRR0   R/W H'00        H'04000004 8
                                                          (H'A4000004)*3

Interrupt request register 1       IRR1   R         H'00  H'04000006 8
                                                          (H'A4000006)*3

Interrupt request register 2       IRR2   R         H'00  H'04000008 8
                                                          (H'A4000008)*3

Notes: 1. Initialized by a power-on or manual reset.
          2. H'8000 when the NMI pin is high, H'0000 when the NMI pin is low.
          3. When address translation by the MMU does not apply, the address in parentheses
               should be used.

Rev. 5.00, 09/03, page 120 of 760
6.2 Interrupt Sources

There are five types of interrupt sources: NMI, IRQ, IRL,PINT, and on-chip peripheral modules.
Each interrupt has a priority level (016), with 0 the lowest and 16 the highest. Priority level 0
masks an interrupt.

6.2.1 NMI Interrupt

The NMI interrupt has the highest priority level of 16. When the BLMSK bit in the interrupt
control register (ICR1) is 1 or the BL bit in the status register (SR) is 0, NMI interrupts are
accepted when the MAI bit in the ICR1 register is 0. NMI interrupts are edge-detected. In sleep or
standby mode, the interrupt is accepted regardless of the BL setting. The NMI edge select bit
(NMIE) in the interrupt control register 0 (ICR0) is used to select either rising or falling edge
detection. When the NMIE bit in the ICR0 register is changed, an NMI interrupt is not detected for
20 cycles after changing ICR0. NMIE to avoid a false detection of NMI. NMI interrupt exception
handling does not affect the interrupt mask level bits (I3I0) in the status register (SR).

When the BL bit is land the BLMSK bit in the ICR1 register is set to 1 and only NMI interrupts
are accepted, the SPC register and SSR register are updated by the NMI interrupt handler, making
it impossible to return to the original processing from exception handling initiated prior to the
NMI interrupt. Use should therefore be restricted to cases where return is not necessary.

It is possible to wake the chip up from the standby state with an NMI interrupt (except when the
MAI bit in the ICR1 register is set to 1).

6.2.2 IRQ Interrupts

IRQ interrupts are input by level or edge from pins IRQ0IRQ5. The priority level can be set by
interrupt priority registers CD (IPRCIPRD) in a range from 0 to 15.

When using edge-sensing for IRQ interrupts, clear the interrupt source by having software read 1
from the corresponding bit in IRR0, then write 0 to the bit.

When the ICR1 register is rewritten, IRQ interrupts may be mistakenly detected, depending on the
pin states. To prevent this, rewrite the register while interrupts are masked, then release the mask
after clearing the illegal interrupt by writing 0 to interrupt request register 0 (IRR0).

Edge input interrupt detection requires input of a pulse width of more than two cycles on a
peripheral clock (P) basis.

The interrupt mask bits (I3I0) in the status register (SR) are not affected by IRQ interrupt
handling.

                                                                                       Rev. 5.00, 09/03, page 121 of 760
Interrupts IRQ4IRQ0 can wake the chip up from the standby state when the relevant interrupt
level is higher than the setting of I3I0 in the SR register (but only when the RTC 32-kHz
oscillator is used).

If the IRQ edge is input immediately before the CPU enters the standby mode (during the period
between when the CPU executes a SLEEP instruction and when STATUS0 becomes high level),
the interrupt may not be detected. However, the interrupt will be accepted correctly if the IRQ
edge is re-input after the CPU has entered the standby mode (when STATUS0 is high level). In
addition, the interrupt may not be detected if the IRQ edge is input during frequency change
processing (WDT count).

6.2.3 IRL Interrupts

IRL interrupts are input by level at pins IRL3IRL0 and IRLS3IRLS0. IRLS3IRLS0 are
enabled when the IRQLVL bit and IRLSEN bit in interrupt control register 1 (ICR1) are both 1.
The priority level is the higher level indicated by pins IRL3IRL0 and IRLS3IRLS0. An IRL3
IRL0/IRLS3IRLS0 value of 0 (0000) indicates the highest-level interrupt request (interrupt
priority level 15). A value of 15 (1111) indicates no interrupt request (interrupt priority level 0).
Figure 6.2 shows an example of IRL interrupt connection. Table 6.3 shows IRL/IRLS pins and
interrupt levels.

                                     SH7709S

Interrupt  Priority           4      IRL3 to IRL0
request    encoder   IRL3 to IRL0

Interrupt  Priority             4    IRLS3 to IRLS0
request    encoder   IRLS3 to IRLS0

                           Figure 6.2 Example of IRL Interrupt Connection
Rev. 5.00, 09/03, page 122 of 760
Table 6.3 IRL3IRL0/IRLS3IRLS0 Pins and Interrupt Levels

IRL3/  IRL2/  IRL1/  IRL0/  Interrupt Priority Level       Interrupt Request
IRLS3  IRLS2  IRLS1  IRLS0  15                             Level 15 interrupt request
0      0      0      0      14                             Level 14 interrupt request
0      0      0      1      13                             Level 13 interrupt request
0      0      1      0      12                             Level 12 interrupt request
0      0      1      1      11                             Level 11 interrupt request
0      1      0      0      10                             Level 10 interrupt request
0      1      0      1      9                              Level 9 interrupt request
0      1      1      0      8                              Level 8 interrupt request
0      1      1      1      7                              Level 7 interrupt request
1      0      0      0      6                              Level 6 interrupt request
1      0      0      1      5                              Level 5 interrupt request
1      0      1      0      4                              Level 4 interrupt request
1      0      1      1      3                              Level 3 interrupt request
1      1      0      0      2                              Level 2 interrupt request
1      1      0      1      1                              Level 1 interrupt request
1      1      1      0      0                              No interrupt request
1      1      1      1

A noise-cancellation feature is built in, and the IRL interrupt is not detected unless the levels
sampled at every peripheral module clock cycle remain unchanged for two consecutive cycles, so
that no transient level on the IRL/IRLS pin change is detected. In standby mode, as the peripheral
clock is stopped, noise cancellation is performed using the 32-kHz clock for the RTC instead.
Therefore when the RTC is not used, interruption by means of IRL interrupts cannot be performed
in standby mode.

The priority level of the IRL interrupt must not be lowered until the interrupt is accepted and
interrupt handling starts. Correct operation cannot be guaranteed if the level is not maintained.
However, the priority level can be changed to a higher one.

The interrupt mask bits (I3I0) in the status register (SR) are not affected by IRL/IRLS interrupt
handling.

When the interrupt level of the IRL interrupt is higher than the level set by the I3-I0 bits in the SR,
the IRL interrupt can be used to recover from standby mode (however, this only applies when the
RTC is used for 32-kHz oscillator).

                            Rev. 5.00, 09/03, page 123 of 760
6.2.4 PINT Interrupts

PINT interrupts are input by level from pins PINT0PINT15. The priority level can be set by
interrupt priority register D (IPRD) in a range from 0 to 15, in groups of PINT0PINT7 and
PINT8PINT15.

The PINT0/1 interrupt level should be held until the interrupt is accepted and interrupt handling is
started. Correct operation cannot be guaranteed if the level is not maintained.

The interrupt mask bits (I3I0) in the status register (SR) are not affected by PINT interrupt
handling.

PINT0/1 interrupts can wake the chip up from the standby state when the relevant interrupt level is
higher than the setting of I3I0 in the SR register (but only when the RTC 32-kHz oscillator is
used).

6.2.5 On-Chip Peripheral Module Interrupts

On-chip peripheral module interrupts are generated by the following ten modules:

Timer unit (TMU)
Realtime clock (RTC)
Serial communication interfaces (SCI, IrDA, SCIF)
Bus state controller (BSC)
Watchdog timer (WDT)
Direct memory access controller (DMAC)
Analog-to-digital converter (ADC)
User-debugging interface (UDI)

Not every interrupt source is assigned a different interrupt vector. Sources are reflected in the
interrupt event registers (INTEVT and INTEVT2). It is easy to identify sources by using the value
of the INTEVT or INTEVT2 register as a branch offset.

A priority level (from 0 to 15) can be set for each module except UDI by writing to interrupt
priority registers A, B, and E (IPRA, IPRB, and IPRE). The priority level of the UDI interrupt is
15 (fixed).

The interrupt mask bits (I3I0) in the status register are not affected by on-chip peripheral module
interrupt handling.

TMU and RTC interrupts can wake the chip up from the standby state when the relevant interrupt
level is higher than the setting of I3I0 in the SR register (but only when the RTC 32-kHz
oscillator is used).

Rev. 5.00, 09/03, page 124 of 760
6.2.6 Interrupt Exception Handling and Priority
Tables 6.4 and 6.5 list the codes for the interrupt event registers (INTEVT and INTEVT2), and the
order of interrupt priority. Each interrupt source is assigned a unique code. The start address of the
interrupt service routine is common to each interrupt source. This is why, for instance, the value of
INTEVT or INTEVT2 is used as offset at the start of the interrupt service routine and branched to
in order to identify the interrupt source.
The priority of the on-chip peripheral module, IRQ, and PINT interrupts is set within priority
levels 015 as required by using interrupt priority registers AE (IPRAIPRE). The priority of the
on-chip peripheral module, IRQ, and PINT interrupts is set to 0 by a reset.
When the priorities of multiple interrupt sources are set to the same level and such interrupts are
generated simultaneously, they are handled according to the default order shown in tables 6.4 and
6.5.

                                                                                       Rev. 5.00, 09/03, page 125 of 760
Table 6.4 Interrupt Exception Handling Sources and Priority (IRQ Mode)

                                          Interrupt                 Priority
                                                                    within IPR Default
                      INTEVT Code         Priority   IPR (Bit       Setting Unit Priority
                      (INTEVT2 Code)
Interrupt Source                          (Initial Value) Numbers)
NMI
UDI                   H'1C0 (H'1C0)       16         --             --        High
IRQ IRQ0
                      H'5E0 (H'5E0)       15         --             --
            IRQ1      H'2003C0* (H'600)  015 (0)
            IRQ2      H'2003C0* (H'620)  015 (0)   IPRC (30) --
            IRQ3      H'2003C0* (H'640)  015 (0)
            IRQ4      H'2003C0* (H'660)  015 (0)   IPRC (74) --
            IRQ5      H'2003C0* (H'680)  015 (0)
PINT PINT07          H'2003C0* (H'6A0)  015 (0)   IPRC (118) --
            PINT815  H'2003C0* (H'700)  015 (0)
DMAC DEI0             H'2003C0* (H'720)  015 (0)   IPRC (1512) --
            DEI1      H'2003C0* (H'800)  015 (0)
            DEI2      H'2003C0* (H'820)             IPRD (30) --
            DEI3      H'2003C0* (H'840)  015 (0)
IrDA ERI1             H'2003C0* (H'860)             IPRD (74) --
            RXI1      H'2003C0* (H'880)  015 (0)
            BRI1      H'2003C0* (H'8A0)             IPRD (1512) --
            TXI1      H'2003C0* (H'8C0)  015 (0)
SCIF ERI2             H'2003C0* (H'8E0)             IPRD (118) --
            RXI2      H'2003C0* (H'900)
            BRI2      H'2003C0* (H'920)             IPRE (1512) High
            TXI2      H'2003C0* (H'940)
ADC ADI               H'2003C0* (H'960)                                 Low
TMU0 TUNI0            H'2003C0* (H'980)             IPRE (118) High
TMU1 TUNI1
TMU2 TUNI2                                           IPRE (74)     Low
            TICPI2                                                  High

                                                                         Low
                                                     IPRE (30) --

                      H'400 (H'400)       015 (0)   IPRA (1512) --

                      H'420 (H'420)       015 (0)   IPRA (118) --

                      H'440 (H'440)       015 (0)   IPRA (74) High

                      H'460 (H'460)                                 Low       Low

Rev. 5.00, 09/03, page 126 of 760
                                  Interrupt                 Priority
                                                            within IPR Default
                  INTEVT Code     Priority   IPR (Bit       Setting Unit Priority
                  (INTEVT2 Code)
Interrupt Source                  (Initial Value) Numbers)

RTC ATI           H'480 (H'480)   015 (0)   IPRA (30) High                     High

PRI               H'4A0 (H'4A0)

CUI               H'4C0 (H'4C0)                             Low

SCI ERI           H'4E0 (H'4E0)   015 (0)   IPRB (74) High

RXI               H'500 (H'500)

TXI               H'520 (H'520)

TEI               H'540 (H'540)                             Low

WDT ITI           H'560 (H'560)   015 (0)   IPRB (1512) --

REF RCMI          H'580 (H'580)   015 (0)   IPRB (118) High

ROVI              H'5A0 (H'5A0)                             Low                  Low

Note: * The code corresponding to an interrupt level shown in table 6.6 is set.

                                             Rev. 5.00, 09/03, page 127 of 760
Table 6.5 Interrupt Exception Handling Sources and Priority (IRL Mode)

                                       Interrupt                 Priority
                                                                 within IPR Default
                  INTEVT Code          Priority   IPR (Bit       Setting Unit Priority
                  (INTEVT2 Code)
Interrupt Source                       (Initial Value) Numbers)

NMI               H'1C0 (H'1C0)        16         --             --     High

UDI               H'5E0 (H'5E0)        15         --             --

IRL IRL(3:0)*2 = 0000 H'200 (H'200)    15         --             --

     IRL(3:0)*2 = 0001 H'220 (H'220)   14         --             --

     IRL(3:0)*2 = 0010 H'240 (H'240)   13         --             --

     IRL(3:0)*2 = 0011 H'260 (H'260)   12         --             --

     IRL(3:0)*2 = 0100 H'280 (H'280)   11         --             --

     IRL(3:0)*2 = 0101 H'2A0 (H'2A0)   10         --             --

     IRL(3:0)*2 = 0110 H'2C0 (H'2C0)   9          --             --

     IRL(3:0)*2 = 0111 H'2E0 (H'2E0)   8          --             --

     IRL(3:0)*2 = 1000 H'300 (H'300)   7          --             --

     IRL(3:0)*2 = 1001 H'320 (H'320)   6          --             --

     IRL(3:0)*2 = 1010 H'340 (H'340)   5          --             --

     IRL(3:0)*2 = 1011 H'360 (H'360)   4          --             --

     IRL(3:0)*2 = 1100 H'380 (H'380)   3          --             --

     IRL(3:0)*2 = 1101 H'3A0 (H'3A0)   2          --             --

     IRL(3:0)*2 = 1110 H'3C0 (H'3C0)   1          --             --

IRQ IRQ4          H'2003C0*1 (H'680) 015 (0)    IPRD (30) --

     IRQ5         H'2003C0*1 (H'6A0) 015 (0)    IPRD (74) --

PINT PINT07      H'2003C0*1 (H'700) 015 (0)    IPRD (1512) --

     PINT815     H'2003C0*1 (H'720) 015 (0)    IPRD (118) --

DMAC DEI0         H'2003C0*1 (H'800) 015 (0)    IPRE (1512) High

     DEI1         H'2003C0*1 (H'820)

     DEI2         H'2003C0*1 (H'840)

     DEI3         H'2003C0*1 (H'860)                            Low

IrDA ERI1         H'2003C0*1 (H'880) 015 (0)    IPRE (118) High

     RXI1         H'2003C0*1 (H'8A0)

     BRI1         H'2003C0*1 (H'8C0)

     TXI1         H'2003C0*1 (H'8E0)                            Low    Low

Rev. 5.00, 09/03, page 128 of 760
                                       Interrupt                 Priority
                                                                 within IPR Default
                  INTEVT Code          Priority   IPR (Bit       Setting Unit Priority
                  (INTEVT2 Code)
Interrupt Source                       (Initial Value) Numbers)
SCIF ERI2
                  H'2003C0*1 (H'900) 015 (0)    IPRE (74)     High  High
          RXI2
          BRI2    H'2003C0*1 (H'920)
          TXI2
ADC ADI           H'2003C0*1 (H'940)

                  H'2003C0*1 (H'960)                            Low
                                                                 --
                  H'2003C0*1 (H'980) 015 (0)    IPRE (30)

TMU0 TUNI0        H'400 (H'400)        015 (0)   IPRA (1512) --

TMU1 TUNI1        H'420 (H'420)        015 (0)   IPRA (118) --

TMU2 TUNI2        H'440 (H'440)        015 (0)   IPRA (74) High

TICPI2            H'460 (H'460)                                  Low

RTC ATI           H'480 (H'480)        015 (0)   IPRA (30) High

PRI               H'4A0 (H'4A0)

CUI               H'4C0 (H'4C0)                                  Low

SCI ERI           H'4E0 (H'4E0)        015 (0)   IPRB (74) High

RXI               H'500 (H'500)

TXI               H'520 (H'520)

TEI               H'540 (H'540)                                  Low

WDT ITI           H'560 (H'560)        015 (0)   IPRB (1512) --

REF RCMI          H'580 (H'580)        015 (0)   IPRB (118) High

ROVI              H'5A0 (H'5A0)                                  Low   Low

Notes: 1. The code corresponding to an interrupt level shown in table 6.6 is set.

          2. When IRLS3IRLS0 are enabled, IRL is the higher level of IRL3IRL0 and IRLS3
               IRLS0.

                                                  Rev. 5.00, 09/03, page 129 of 760
Table 6.6 Interrupt Levels and INTEVT Codes

Interrupt level  INTEVT Code
15               H'200
14               H'220
13               H'240
12               H'260
11               H'280
10               H'2A0
9                H'2C0
8                H'2E0
7                H'300
6                H'320
5                H'340
4                H'360
3                H'380
2                H'3A0
1                H'3C0

Rev. 5.00, 09/03, page 130 of 760
6.3 INTC Registers

6.3.1 Interrupt Priority Registers A to E (IPRAIPRE)

Interrupt priority registers A to E (IPRA to IPRE) are 16-bit readable/writable registers in which
priority levels from 0 to 15 are set for on-chip peripheral module, IRQ, and PINT interrupts. These
registers are initialized to H'0000 by a power-on reset or manual reset, but are not initialized in
standby mode.

          Bit: 15        14  13                      12  11           10  9              8

      Initial value: 0   0   0                       0   0            0   0              0

          R/W: R/W R/W R/W R/W R/W R/W R/W R/W

          Bit: 7         6   5                       4   3            2   1              0

      Initial value: 0   0   0                       0   0            0   0              0

          R/W: R/W R/W R/W R/W R/W R/W R/W R/W

Table 6.7 lists the relationship between the interrupt sources and the IPRA--IPRE bits.

Table 6.7 Interrupt Request Sources and IPRAIPRE

Register  Bits 15 to 12      Bits 11 to 8                Bits 7 to 4      Bits 3 to 0
                                                                          RTC
IPRA      TMU0               TMU1                        TMU2             Reserved*
                                                                          IRQ0
IPRB      WDT                REF                         SCI0             IRQ4
                                                                          ADC
IPRC      IRQ3               IRQ2                        IRQ1

IPRD      PINT0 to PINT7 PINT8 to PINT15 IRQ5

IPRE      DMAC               IrDA                        SCIF

Note: * Always read as 0. Only 0 should be written.

As shown in table 6.7, on-chip peripheral module, IRQ, or PINT interrupts are assigned to four 4-
bit groups in each register. These 4-bit groups (bits 15 to 12, bits 11 to 8, bits 7 to 4, and bits 3 to
0) are set with values from H'0 (0000) to H'F (1111). Setting H'0 means priority level 0 (masking
is requested); H'F is priority level 15 (the highest level). A reset initializes IPRAIPRE to H'0000.

                                                               Rev. 5.00, 09/03, page 131 of 760
6.3.2 Interrupt Control Register 0 (ICR0)

ICR0 is a register that sets the input signal detection mode of external interrupt input pin NMI, and
indicates the input signal level at the NMI pin. This register is initialized to H'0000 or H'8000 by a
power-on reset or manual reset, but is not initialized in standby mode.

              Bit: 15  14              13  12               11  10           9              8

              NMIL     --              --  --               --  --           --  NMIE

Initial value: 0/1*                0   0   0                0             0  0              0

              R/W: R   R               R   R                R             R  R   R/W

              Bit: 7               6   5   4                3             2  1              0

              --       --              --  --               --  --           --             --

Initial value: 0                   0   0   0                0             0  0              0

              R/W: R   R               R   R                R             R  R              R

Note: * 1 when NMI input is high, 0 when NMI input is low.

Bit 15--NMI Input Level (NMIL): Sets the level of the signal input at the NMI pin. This bit can
be read to determine the NMI pin level. This bit cannot be modified.

Bit 15: NMIL  Description
0             NMI input level is low
1             NMI input level is high

Bit 8--NMI Edge Select (NMIE): Selects whether the falling or rising edge of the interrupt
request signal at the NMI pin is detected.

Bit 8: NMIE   Description
0             Interrupt request is detected on falling edge of NMI input
1             Interrupt request is detected on rising edge of NMI input

Bits 14 to 9 and 7 to 0--Reserved: These bits are always read as 0. The write value should
always be 0.

Rev. 5.00, 09/03, page 132 of 760
6.3.3 Interrupt Control Register 1 (ICR1)

ICR1 is a 16-bit register that specifies the detection mode for external interrupt input pins IRQ0 to
IRQ5 individually: rising edge, falling edge, or low level. This register is initialized to H'4000 by a
power-on reset or manual reset, but is not initialized in standby mode.

             Bit: 15        14   13        12            11            10     9    8

             MAI IRQLVL BLMSK IRLSEN IRQ51S IRQ50S IRQ41S IRQ40S

   Initial value: 0         1    0         0             0             0      0    0

             R/W: R/W       R/W  R/W       RW            R/W       R/W        R/W  R/W

             Bit: 7         6    5         4             3             2      1    0

             IRQ31S IRQ30S IRQ21S IRQ20S IRQ11S IRQ10S IRQ01S IRQ00S

   Initial value: 0         0    0         0             0             0      0    0

             R/W: R/W R/W R/W R/W R/W R/W R/W R/W

Bit 15--Mask All Interrupts (MAI): When set to 1, all interrupt requests are masked while a
low level is being input to the NMI pin. Masks NMI interrupts in standby mode.

Bit 15: MAI  Description                                                         (Initial value)
0            All interrupt requests are not masked when NMI pin is low level
1            All interrupt requests are masked when NMI pin is low level

Bit 14--Interrupt Request Level Detect (IRQLVL): Selects whether the IRQ3IRQ0 pins are
used as four independent interrupt pins or as 15-level interrupt pins encoded as IRL3IRL0.

Bit 14: IRQLVL Description

0            Used as four independent interrupt request pins IRQ3IRQ0

1            Used as 15-level interrupt pins encoded as IRL3IRL0                (Initial value)

Bit 13--BL Bit Mask (BLMSK): Specifies whether NMI interrupts are masked when the BL bit
in the SR register is 1.

Bit 13: BLMSK Description

0            NMI interrupts are masked when BL bit is 1                          (Initial value)

1            NMI interrupts are accepted regardless of BL bit setting

                                                         Rev. 5.00, 09/03, page 133 of 760
Bit 12--IRLS Enable (IRLSEN): Enables pins IRLS3IRLS0. This bit is valid only when the
IRQLVL bit is 1.

Bit 12: IRLSEN Description

0              Pins IRLS3IRLS0 disabled     (Initial value)

1              Pins IRLS3IRLS0 enabled

Bits 11 and 10--IRQ5 Sense Select (IRQ51S, IRQ50S): Select whether the interrupt signal to
the IRQ5 pin is detected at the rising edge, at the falling edge, or at the low level.

Bit 11: IRQ51S Bit 10: IRQ50S Description

0              0                   An interrupt request is detected at IRQ5 input falling edge

                                             (Initial value)

               1                   An interrupt request is detected at IRQ5 input rising edge

1              0                   An interrupt request is detected at IRQ5 input low level

               1                   Reserved

Bits 9 and 8--IRQ4 Sense Select (IRQ41S, IRQ40S): Select whether the interrupt signal to the
IRQ4 pin is detected at the rising edge, at the falling edge, or at the low level.

Bit 9: IRQ41S  Bit 8: IRQ40S       Description
0              0                   An interrupt request is detected at IRQ4 input falling edge

1              1                                                                                      (Initial value)
               0                   An interrupt request is detected at IRQ4 input rising edge
               1                   An interrupt request is detected at IRQ4 input low level
                                   Reserved

Bits 7 and 6--IRQ3 Sense Select (IRQ31S, IRQ30S): Select whether the interrupt signal to the
IRQ3 pin is detected at the rising edge, at the falling edge, or at the low level.

Bit 7: IRQ31S  Bit 6: IRQ30S       Description
0              0                   An interrupt request is detected at IRQ3 input falling edge

1              1                                                                                      (Initial value)
               0                   An interrupt request is detected at IRQ3 input rising edge
               1                   An interrupt request is detected at IRQ3 input low level
                                   Reserved

Rev. 5.00, 09/03, page 134 of 760
Bits 5 and 4--IRQ2 Sense Select (IRQ21S, IRQ20S): Select whether the interrupt signal to the
IRQ2 pin is detected at the rising edge, at the falling edge, or at the low level.

Bit 5: IRQ21S  Bit 4: IRQ20S  Description
0&n