E0C88 CORE CPU MANUAL NOTICE No Part of This Material May Be Reproduced Or Duplicated in Any Form Or by Any Means Without the Written Permission of Seiko Epson

E0C88 CORE CPU MANUAL NOTICE No Part of This Material May Be Reproduced Or Duplicated in Any Form Or by Any Means Without the Written Permission of Seiko Epson

<p>MF658-04 </p><p>CMOS 8-BIT SINGLE CHIP MICROCOMPUTER </p><p><strong>E0C88 Family </strong></p><p><strong>E0C88 CORE CPU MANUAL </strong></p><p><strong>NOTICE </strong></p><p>No part of this material may be reproduced or duplicated in any form or by any means without the written permission of Seiko Epson. Seiko Epson reserves the right to make changes to this material without notice. Seiko Epson does not assume any liability of any kind arising out of any inaccuracies contained in this material or due to its application or use in any product or circuit and, further, there is no representation that this material is applicable to products requiring high level reliability, such as medical products. Moreover, no license to any intellectual property rights is granted by implication or otherwise, and there is no representation or warranty that anything made in accordance with this material will be free from any patent or copyright infringement of a third party. This material or portions thereof may contain technology or the subject relating to strategic products under the control of the Foreign Exchange and Foreign Trade Control Law of Japan and may require an export license from the Ministry of International Trade and Industry or other approval from another government agency. Please note that "E0C" is the new name for the old product "SMC". If "SMC" appears in other manuals understand that it now reads "E0C". </p><p>© <strong>SEIKO EPSON CORPORATION&nbsp;</strong>1999 All rights reserved. </p><p><strong>CONTENTS </strong></p><p><strong>E0C88 Core CPU Manual </strong></p><p><strong>PREFACE </strong></p><p>This manual explains the architecture, operation and instruction of the core CPU E0C88 of the CMOS 8-bit single chip microcomputer E0C88 Family. Also, since the memory configuration and the peripheral circuit configuration is different for each device of the E0C88 Family, you should refer to the respective manuals for specific details other than the basic functions. </p><p><strong>CONTENTS </strong></p><p><strong>1 OUTLINE ____________________________________________________&nbsp;1 </strong></p><p><em>1.1 Features &nbsp; .................................................................................................................... 1 1.2 Instruction &nbsp; Set Features ........................................................................................... 1 1.3 Block &nbsp; Diagram ......................................................................................................... &nbsp; 1 1.4 Input-Output &nbsp; Signal .................................................................................................. 2 </em></p><p><strong>2 ARCHITECTURE&nbsp;______________________________________________ 4 </strong></p><p><em>2.1 Address &nbsp; Space and CPU Model ............................................................................... 4 2.2 ALU &nbsp; and Register s . ................................................................................................... 5 </em></p><p><em>2.2.1 ALU ................................................................................................................. 5 2.2.2 Register configuration .................................................................................... 5 2.2.3 Flags ............................................................................................................... 6 2.2.4 Complimentary operation and overflow ......................................................... 8 2.2.5 Decimal operation and unpack operation ..................................................... 10 2.2.6 Multiplication and division ............................................................................ 11 </em></p><p><em>2.3 Program &nbsp; Memory .................................................................................................... 12 </em></p><p><em>2.3.1 Configuration of the program memory .......................................................... 12 2.3.2 PC (Program counter) and CB (Code bank register) ................................... 13 2.3.3 Bank managemen t . ......................................................................................... 14 2.3.4 Branch instruction ......................................................................................... 14 </em></p><p><em>2.4 Data &nbsp; Memory ........................................................................................................... 17 </em></p><p><em>2.4.1 Data memory configuratio n . .......................................................................... 17 2.4.2 Page registers EP, XP, Y P . ............................................................................ 18 2.4.3 Stac k . .............................................................................................................. 18 2.4.4 Memory mapped I/O ...................................................................................... 20 </em></p><p><strong>3 CPU&nbsp;OPERATION AND PROCESSING STATUS ____________________ 21 </strong></p><p><em>3.1 Timing &nbsp; Generator and Bus Contro l . ........................................................................ 21 </em></p><p><em>3.1.1 Bus cycle ........................................................................................................ 21 3.1.2 Wait state ....................................................................................................... 22 </em></p><p><em>3.2 Outline &nbsp; of Processing Statuses ................................................................................ 23 3.3 Reset &nbsp; Statu s . ............................................................................................................. 24 3.4 Program &nbsp; Execution Status ....................................................................................... 25 3.5 Exception &nbsp; Processing Status ................................................................................... 25 </em></p><p><em>3.5.1 Exception processing types and priorit y . ....................................................... 26 3.5.2 Exception processing factor and vectors ....................................................... 27 3.5.3 Interrupts ....................................................................................................... 27 3.5.4 Exception processing sequence ..................................................................... 28 </em></p><p><strong>E0C88 CORE CPU MANUAL </strong></p><p><strong>EPSON </strong></p><p><strong>i</strong></p><p><strong>CONTENTS </strong></p><p><em>3.6 Bus &nbsp; Authority Release Status ................................................................................... 31 3.7 Standby &nbsp; Status ......................................................................................................... 33 </em></p><p><em>3.7.1 HALT status ................................................................................................... 33 3.7.2 SLEEP status ................................................................................................. 34 </em></p><p><strong>4 INSTRUCTION&nbsp;SETS ___________________________________________ 35 </strong></p><p><em>4.1 Addressing &nbsp; Mode ..................................................................................................... 35 4.2 Instruction &nbsp; Format .................................................................................................. &nbsp; 39 4.3 Instruction &nbsp; Set Lis t . .................................................................................................. 40 </em></p><p><em>4.3.1 Function classification .................................................................................. 40 4.3.2 Symbol meanings ........................................................................................... 41 4.3.3 Instruction list by functions ........................................................................... 42 </em></p><p><em>4.4 Detailed &nbsp; Explanation of Instructions ...................................................................... 59 </em></p><p><strong>APPENDIX A&nbsp;Operation Code Map ________________________________&nbsp;195 </strong><br><strong>B Instruction List by Addressing Mode&nbsp;___________________ 198 C Instruction Index ___________________________________&nbsp;210 </strong></p><p><em>White </em></p><p><strong>ii </strong></p><p><strong>EPSON </strong></p><p><strong>E0C88 CORE CPU MANUAL </strong></p><p><strong>1 OUTLINE </strong></p><p><strong>1 OUTLINE </strong></p><p>The E0C88 is the core CPU of the 8-bit single chip microcomputer E0C88 Family that utilizes original EPSON architecture. It has a maximum 16M bytes address space and high speed, abundant instruction sets. It handles a wide range of operating voltages and features low power consumption. In addition, it has adopted a unified architecture and a peripheral circuit interface for its memory mapped I/O mode to flexibly meet future expansion of the E0C88 Family. </p><p></p><ul style="display: flex;"><li style="flex:1"><strong>1.1 Features </strong></li><li style="flex:1"><strong>1.2 Instruction&nbsp;Set Features </strong></li></ul><p></p><p></p><ul style="display: flex;"><li style="flex:1">The E0C88 boasts the below features. </li><li style="flex:1">(1) It adopts high efficiency machine cycle plus </li></ul><p>high speed and abundant instruction sets. <br>(2) Memory management can be done easily by 12 types of addressing modes. <br>(3) It has effective 16 bit operation functions including address calculation. <br>(4) It includes powerful decimal operation functions such as a decimal operation mode and pack/unpack instruction. </p><p><strong>Address space </strong></p><p>Maximum 16M bytes </p><p><strong>Instruction cycle Instruction set </strong></p><p>1–15 cycles (1 cycle = 2 clocks) </p><p>608 types </p><p><strong>Register configuration </strong></p><p>Data registers Index registers <br>23</p><p>(One is used as a data register) </p><p>Program counter Stack pointer System condition flag Customize condition flag </p><p>(5) It supports the realization of various types of special service microcomputers through customized flag instructions. <br>(6) It is composed of an instruction system that enables relocatable programming, thus permitting easy development of software libraries. </p><p><strong>Exception processing factors&nbsp;</strong>Reset, zero division and </p><p>interrupt </p><p><strong>Exception processing vectors&nbsp;</strong>Maximum 128 vectors <strong>Standby function </strong></p><p>HALT/SLEEP </p><p><strong>1.3 Block&nbsp;Diagram </strong></p><p><strong>Peripheral circuit interface </strong></p><p>Memory mapped I/O system </p><p>Figure 1.3.1 shows the E0C88 block diagram. </p><p></p><ul style="display: flex;"><li style="flex:1">B</li><li style="flex:1">A</li></ul><p></p><ul style="display: flex;"><li style="flex:1">H</li><li style="flex:1">L</li></ul><p></p><ul style="display: flex;"><li style="flex:1">TEMP 1 </li><li style="flex:1">TEMP 0 </li></ul><p>I X </p><p>I Y </p><p>8-b it&nbsp;Sing le&nbsp;Chip Mic&nbsp;ro c o m p ute r </p><p>ALU </p><p><strong>Core CPU E0C88 </strong></p><p>S P </p><ul style="display: flex;"><li style="flex:1">P C </li><li style="flex:1">S C </li><li style="flex:1">TEMP 2 </li></ul><p></p><ul style="display: flex;"><li style="flex:1">BR </li><li style="flex:1">LR </li></ul><p></p><p>Micro Instruction <br>Instruction Decoder <br>Instruction Register </p><p>EP XP YP <br>CC </p><p>System Clock </p><p>CB NB </p><p>Code Address Generator </p><ul style="display: flex;"><li style="flex:1">Power </li><li style="flex:1">Timing </li><li style="flex:1">Bus </li><li style="flex:1">System </li></ul><p>Controler <br>Interrupt Controler Controler <br>Status <br>Supply Generator Controler </p><p>To ROM, RAM and Peripheral Circuits </p><p><em>Fig. 1.3.1 </em><br><em>E0C88 block diagram </em></p><p><strong>E0C88 CORE CPU MANUAL </strong></p><p><strong>EPSON </strong></p><p><strong>1</strong></p><p><strong>1 OUTLINE </strong></p><p><strong>1.4 Input-Output&nbsp;Signal </strong></p><p>Tables 1.4.1 (a) and 1.4.1 (b) show the input/output signals between the E0C88 and the peripheral circuits. </p><p><em>Table 1.4.1(a) Input/output signal list (1) </em></p><p>Type </p><p>Power </p><p>Name </p><p>Power </p><p>Signal name&nbsp;I/O </p><p>Function </p><p>VDD VSS </p><p>CLK PK <br>II<br>Inputs the + side power. </p><ul style="display: flex;"><li style="flex:1">Ground </li><li style="flex:1">Inputs the - side power (GND). </li></ul><p></p><ul style="display: flex;"><li style="flex:1">Clock </li><li style="flex:1">Clock input </li></ul><p>Clock output </p><ul style="display: flex;"><li style="flex:1">I</li><li style="flex:1">Inputs the system clock from the peripheral circuit. </li></ul><p></p><ul style="display: flex;"><li style="flex:1">O</li><li style="flex:1">Outputs the two phase divided signals to be generated from the system clock </li></ul><p></p><ul style="display: flex;"><li style="flex:1">PL </li><li style="flex:1">input to the CLK terminal as following phase. </li></ul><p>CLK PK PL <br>1 cycle </p><p></p><ul style="display: flex;"><li style="flex:1">Address bus&nbsp;Address bus </li><li style="flex:1">A00–A23 </li></ul><p>D0–D7 WAIT </p><ul style="display: flex;"><li style="flex:1">O</li><li style="flex:1">A 24-bit address bus. </li></ul><p>Data bus Bus control signal <br>Data bus Wait <br>I/O An&nbsp;8-bit bidirectional data bus. </p><ul style="display: flex;"><li style="flex:1">I</li><li style="flex:1">Controls the wait state insertion for the access time extension during </li></ul><p>memory access. This control will become valid with LOW level input. </p><ul style="display: flex;"><li style="flex:1">A memory (and peripheral circuit) read signal. </li><li style="flex:1">Read </li><li style="flex:1">RD </li><li style="flex:1">O</li></ul><p>OO<br>It shifts to LOW level during readout. </p><ul style="display: flex;"><li style="flex:1">Write </li><li style="flex:1">WR </li><li style="flex:1">A memory (and peripheral circuit) write signal. </li></ul><p>It shifts to LOW level during writing. <br>Read interrupt vector address Reset </p><ul style="display: flex;"><li style="flex:1">RDIV </li><li style="flex:1">An interrupt vector address read signal. </li></ul><p>It shifts to LOW level during readout of the vector address. A LOW level input shifts the CPU into the reset status. Sets the CPU operation mode by means of the peripheral circuit. <br>LOW: Minimum&nbsp;mode </p><ul style="display: flex;"><li style="flex:1">System </li><li style="flex:1">SR </li><li style="flex:1">I</li></ul><p></p><ul style="display: flex;"><li style="flex:1">I</li><li style="flex:1">control signal&nbsp;Mode setting </li><li style="flex:1">MODE </li></ul><p>HIGH: Maximum mode </p><ul style="display: flex;"><li style="flex:1">Customize </li><li style="flex:1">F0–F3 </li></ul><p>USLP </p><ul style="display: flex;"><li style="flex:1">I</li><li style="flex:1">A status signal input by a peripheral circuit. </li></ul><p>condition flag Micro sleep <br>The meaning of the signal differs depending on the peripheral circuit. The USLP is set to HIGH level 1 cycle prior to the CPU's entry into the SLEEP status as a result of the SLP (SLEEP) instruction. The peripheral circuit controls the oscillation stop based on this signal. This is the bus authority request signal when the peripheral circuit makes a DMA transmission. LOW level input to this terminal causes the CPU to release bus. The address bus, data bus and read/write signal shift to the high impedance status. <br>O<br>Bus authority request </p><ul style="display: flex;"><li style="flex:1">BREQ </li><li style="flex:1">I</li></ul><p>Bus authority acknowledge </p><ul style="display: flex;"><li style="flex:1">BACK </li><li style="flex:1">O</li></ul><p>I<br>This is response signal that indicates a bus authorization has been released to the peripheral circuit. It shifts to LOW level when bus authorization has been released. <br>Stack pointer page </p><ul style="display: flex;"><li style="flex:1">SPP0–SPP7 </li><li style="flex:1">This is a page address of the stack pointer that is specified by the peripheral </li></ul><p>circuit. When the stack pointer accesses the memory, this address is output to the page section (AD16–AD23) of the address bus. </p><p>Refer to Chapter 3, "CPU OPERATION AND PROCESSING STATUSES" for the timing of each signal and related information. </p><p><strong>2</strong></p><p><strong>EPSON </strong></p><p><strong>E0C88 CORE CPU MANUAL </strong></p><p><strong>1 OUTLINE </strong></p><p><em>Table 1.4.1(b) Input/output signal list (2) </em></p><p>Type </p><p>Interrupt signal </p><p>Name </p><p>Non-maskable interrupt </p><p>Signal name&nbsp;I/O </p><p>Function </p><p></p><ul style="display: flex;"><li style="flex:1">NMI </li><li style="flex:1">I</li></ul><p>IIII<br>This is an interrupt signal not permitting masking by the software. The input is sensed at the falling edge. </p><ul style="display: flex;"><li style="flex:1">Interrupt </li><li style="flex:1">IRQ3 </li></ul><p>IRQ2 IRQ1 IMASK <br>This is an interrupt signal permitting masking by the software. </p><ul style="display: flex;"><li style="flex:1">request 3 </li><li style="flex:1">The interrupt priority is level 3 and the input is sensed at a LOW level. </li></ul><p>This is an interrupt signal permitting masking by the software. The interrupt priority is level 2 and the input is sensed at a LOW level. This is an interrupt signal permitting masking by the software. The interrupt priority is level 1 and the input is sensed at a LOW level. This is an interrupt mask signal input by the peripheral circuit. When the page section, etc. of the stack pointer configured on the peripheral circuit section is accessed, LOW level is input to this terminal and the below interrupt is masked. <br>Interrupt request 2 Interrupt request 1 Interrupt mask </p><p>NMI, IRQ3, IRQ2, IRQ1 </p><ul style="display: flex;"><li style="flex:1">Interrupt </li><li style="flex:1">IACK </li><li style="flex:1">O</li><li style="flex:1">This is a response signal that indicates that an interrupt request has been </li></ul><p>received. It shifts to LOW level when an interrupt has been received. The peripheral circuit receives this signal and holds the vector address. This signal also shifts to LOW level when exceptional processing is executed by reset and zero division. acknowledge </p><ul style="display: flex;"><li style="flex:1">Interrupt flag </li><li style="flex:1">I0F </li><li style="flex:1">O</li></ul><p>O<br>A status of the interrupt flag (I0, I1) in the system condition flag (SC) </p><ul style="display: flex;"><li style="flex:1">is output. </li><li style="flex:1">I1F </li></ul><p>Status signal&nbsp;First operation code fetch signal </p><ul style="display: flex;"><li style="flex:1">SYNC </li><li style="flex:1">This is a signal that becomes active when the CPU fetches the first operation </li></ul><p>code. It shifts to HIGH level during the bus cycle of the first operation code fetch. The interrupt is sampled at the rising edge of this signal. This is a signal that becomes low level when the CPU shifts into the following status: </p><ul style="display: flex;"><li style="flex:1">Stop signal </li><li style="flex:1">STOP </li><li style="flex:1">O</li></ul><p>• CPU stops by HALT instruction • CPU stops by SLP instruction • The bus authorization has been released by LOW level input to the BREQ terminal. <br>Data bus status&nbsp;DBS0 <br>DBS1 </p><ul style="display: flex;"><li style="flex:1">O</li><li style="flex:1">This is a 2 bit status signal that indicates the data bus status as follows. </li></ul><p></p><ul style="display: flex;"><li style="flex:1">DSB1 DSB0 </li><li style="flex:1">State </li></ul><p>High impedance Interrupt vector address read Memory write <br>0011<br>010</p><ul style="display: flex;"><li style="flex:1">1</li><li style="flex:1">Memory read </li></ul><p></p><p>Note: Input/output&nbsp;signals may differ from the above table, for example, a peripheral circuit signal may be added by each device of the E0C88 Family. </p><p><strong>E0C88 CORE CPU MANUAL </strong></p><p><strong>EPSON </strong></p><p><strong>3</strong></p><p><strong>2 ARCHITECTURE </strong></p><p><strong>2 ARCHITECTURE </strong></p><p>The E0C88 has a maximum 16M bytes address space and can thus respond to large scale applications. Here we will explain such points as this address space and memory control as well as the configuration of the registers. <br>The program memory is managed by dividing the bank for each 32K bytes and the data memory into one page for each 64K bytes. </p><p><em>See "2.3 Program Memory" and "2.4 Data Memory". </em></p><p>Note: The&nbsp;memory configuration varies for the respective devices of the E0C88 Family. Refer to the manual for each device. </p><p><strong>2.1 Address&nbsp;Space and CPU Model </strong></p><p>CPU models of the four types MODEL0 to MODEL3 are set in the E0C88 according to the size of the address space and whether or not there is a multiplication/division instruction. The differences in each model are as shown in Table 2.1.1 and have been designed to permit selection according to the microcomputer service and the scope of the application as per Table 2.1.1. </p><p><em>Table 2.1.1 CPU model </em></p><p></p><ul style="display: flex;"><li style="flex:1">CPU </li><li style="flex:1">Address </li></ul><p>space <br>Multiplication division instruction </p><p>Not available Available </p><p>model </p><p>MODEL0 MODEL1 MODEL2 MODEL3 <br>64K bytes 64K bytes 16M bytes 16M bytes <br>Not available Available </p><p>Either the minimum mode that makes the programming field a maximum 64K bytes or the maximum mode that makes it a maximum 8M bytes for MODEL2 and MODEL3 can be selected, depending on the MODE terminal setting of CPU. Figure 2.1.1 shows the memory map concept for each CPU model. </p><p><em>Table 2.1.2 Setting of the operation mode (MODEL2/3) </em></p><p></p><ul style="display: flex;"><li style="flex:1">MODE </li><li style="flex:1">Operation mode </li></ul><p></p><p>Minimum mode Maximum mode </p><p>Programming area </p><p>Maximum 64K bytes Maximum 8M bytes <br>01</p><p></p><ul style="display: flex;"><li style="flex:1">MODEL0/1 </li><li style="flex:1">MODEL2/3(minimum mode) </li><li style="flex:1">MODEL2/3(maximum mode) </li></ul><p></p><ul style="display: flex;"><li style="flex:1">ROM </li><li style="flex:1">RAM, peripheral I/O </li><li style="flex:1">ROM </li><li style="flex:1">RAM, peripheral I/O </li><li style="flex:1">ROM </li><li style="flex:1">RAM, peripheral I/O </li></ul><p></p>

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    224 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us