diff options
Diffstat (limited to 'spec/MC68000UM.txt')
-rw-r--r-- | spec/MC68000UM.txt | 10789 |
1 files changed, 10789 insertions, 0 deletions
diff --git a/spec/MC68000UM.txt b/spec/MC68000UM.txt new file mode 100644 index 0000000..f1f479a --- /dev/null +++ b/spec/MC68000UM.txt @@ -0,0 +1,10789 @@ + Freescale Semiconductor, Inc. + + + + + µ MOTOROLA + + M68000 + 8-/16-/32-Bit + Microprocessors User’s Manual +Freescale Semiconductor, Inc... + + + + + Ninth Edition + + + + + Motorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or guarantee regarding + the suitability of its products for any particular purpose, nor does Motorola assume any liability arising out of the application or use of any product or circuit, and + specifically disclaims any and all liability, including without limitation consequential or incidental damages. "Typical" parameters can and do vary in different + applications. All operating parameters, including "Typicals" must be validated for each customer application by customer's technical experts. Motorola does not + convey any license under its patent rights nor the rights of others. Motorola products are not designed, intended, or authorized for use as components in systems + intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Motorola + product could create a situation where personal injury or death may occur. Should Buyer purchase or use Motorola products for any such unintended or + unauthorized application, Buyer shall indemnify and hold Motorola and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, + costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such + unintended or unauthorized use, even if such claim alleges that Motorola was negligent regarding the design or manufacture of the part. Motorola and µ are + registered trademarks of Motorola, Inc. Motorola, Inc. is an Equal Opportunity/Affirmative Action Employer. + + + ©MOTOROLA INC., 1993 + + + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + TABLE OF CONTENTS + Paragraph Page + Number Title Number + + Section 1 + Overview + 1.1 MC68000..................................................................................................... 1-1 +Freescale Semiconductor, Inc... + + + + + 1.2 MC68008..................................................................................................... 1-2 + 1.3 MC68010..................................................................................................... 1-2 + 1.4 MC68HC000................................................................................................ 1-2 + 1.5 MC68HC001................................................................................................ 1-3 + 1.6 MC68EC000 ................................................................................................ 1-3 + + Section 2 + Introduction + 2.1 Programmer's Model ................................................................................... 2-1 + 2.1.1 User's Programmer's Model .................................................................... 2-1 + 2.1.2 Supervisor Programmer's Model ............................................................. 2-2 + 2.1.3 Status Register ........................................................................................ 2-3 + 2.2 Data Types and Addressing Modes ............................................................ 2-3 + 2.3 Data Organization In Registers ................................................................... 2-5 + 2.3.1 Data Registers ......................................................................................... 2-5 + 2.3.2 Address Registers ................................................................................... 2-6 + 2.4 Data Organization In Memory ..................................................................... 2-6 + 2.5 Instruction Set Summary ............................................................................. 2-8 + + Section 3 + Signal Description + 3.1 Address Bus ................................................................................................ 3-3 + 3.2 Data Bus...................................................................................................... 3-4 + 3.3 Asynchronous Bus Control.......................................................................... 3-4 + 3.4 Bus Arbitration Control ................................................................................ 3-5 + 3.5 Interrupt Control .......................................................................................... 3-6 + 3.6 System Control............................................................................................ 3-7 + 3.7 M6800 Peripheral Control ........................................................................... 3-8 + 3.8 Processor Function Codes .......................................................................... 3-8 + 3.9 Clock ........................................................................................................... 3-9 + 3.10 Power Supply .............................................................................................. 3-9 + 3.11 Signal Summary ......................................................................................... 3-10 + + + MOTOROLA M68000 USER’S MANUAL vii + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + TABLE OF CONTENTS (Continued) + Paragraph Page + Number Title Number + + Section 4 + 8-Bit Bus Operations + 4.1 Data Transfer Operations............................................................................. 4-1 + 4.1.1 Read Operations ...................................................................................... 4-1 + 4.1.2 Write Cycle ............................................................................................... 4-3 + 4.1.3 Read-Modify-Write Cycle.......................................................................... 4-5 + 4.2 Other Bus Operations............................................................................... 4-8 + + Section 5 +Freescale Semiconductor, Inc... + + + + + 16-Bit Bus Operations + 5.1 Data Transfer Operations............................................................................ 5-1 + 5.1.1 Read Operations ..................................................................................... 5-1 + 5.1.2 Write Cycle .............................................................................................. 5-4 + 5.1.3 Read-Modify-Write Cycle......................................................................... 5-7 + 5.1.4 CPU Space Cycle.................................................................................... 5-9 + 5.2 Bus Arbitration .......................................................................................... 5-11 + 5.2.1 Requesting The Bus .............................................................................. 5-14 + 5.2.2 Receiving The Bus Grant ...................................................................... 5-15 + 5.2.3 Acknowledgment of Mastership (3-Wire Arbitration Only)..................... 5-15 + 5.3 Bus Arbitration Control .............................................................................. 5-15 + 5.4 Bus Error and Halt Operation .................................................................... 5-23 + 5.4.1 Bus Error Operation .............................................................................. 5-24 + 5.4.2 Retrying The Bus Cycle......................................................................... 5-26 + 5.4.3 Halt Operation ....................................................................................... 5-27 + 5.4.4 Double Bus Fault ................................................................................... 5-28 + 5.5 Reset Operation ........................................................................................ 5-29 + 5.6 The Relationship of DTACK, BERR, and HALT ......................................... 5-30 + 5.7 Asynchronous Operation .......................................................................... 5-32 + 5.8 Synchronous Operation ............................................................................ 5-35 + + Section 6 + Exception Processing + 6.1 Privilege Modes............................................................................................ 6-1 + 6.1.1 Supervisor Mode ...................................................................................... 6-2 + 6.1.2 User Mode ................................................................................................ 6-2 + 6.1.3 Privilege Mode Changes .......................................................................... 6-2 + 6.1.4 Reference Classification........................................................................... 6-3 + 6.2 Exception Processing................................................................................... 6-4 + 6.2.1 Exception Vectors .................................................................................... 6-4 + 6.2.2 Kinds Of Exceptions ................................................................................. 6-5 + 6.2.3 Multiple Exceptions................................................................................... 6-8 + + + viii M68000 USER’S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + TABLE OF CONTENTS (Continued) + Paragraph Page + Number Title Number + + Section 6 + Exception Processing + 6.2.4 Exception Stack Frames.......................................................................... 6-9 + 6.2.5 Exception Processing Sequence ............................................................ 6-11 + 6.3 Processing of Specific Exceptions ............................................................. 6-11 + 6.3.1 Reset ...................................................................................................... 6-11 + 6.3.2 Interrupts ................................................................................................ 6-12 + 6.3.3 Uninitialized Interrupt .............................................................................. 6-13 +Freescale Semiconductor, Inc... + + + + + 6.3.4 Spurious Interrupt ................................................................................... 6-13 + 6.3.5 Instruction Traps ..................................................................................... 6-13 + 6.3.6 Illegal and Unimplemented Instructions .................................................. 6-14 + 6.3.7 Privilege Violations ................................................................................. 6-15 + 6.3.8 Tracing .................................................................................................... 6-15 + 6.3.9 Bus Errors ............................................................................................... 6-16 + 6.3.9.1 Bus Error ............................................................................................. 6-16 + 6.3.9.2 Bus Error (MC68010) .......................................................................... 6-17 + 6.3.10 Address Error ......................................................................................... 6-19 + 6.4 Return From Exception (MC68010) ........................................................... 6-20 + + + Section 7 + 8-Bit Instruction Timing + 7.1 Operand Effective Address Calculation Times............................................ 7-1 + 7.2 Move Instruction Execution Times .............................................................. 7-2 + 7.3 Standard Instruction Execution Times......................................................... 7-3 + 7.4 Immediate Instruction Execution Times ...................................................... 7-4 + 7.5 Single Operand Instruction Execution Times .............................................. 7-5 + 7.6 Shift/Rotate Instruction Execution Times .................................................... 7-6 + 7.7 Bit Manipulation Instruction Execution Times ............................................. 7-7 + 7.8 Conditional Instruction Execution Times ..................................................... 7-7 + 7.9 JMP, JSR, LEA, PEA, and MOVEM Instruction Execution Times............... 7-8 + 7.10 Multiprecision Instruction Execution Times ................................................. 7-8 + 7.11 Miscellaneous Instruction Execution Times ................................................ 7-9 + 7.12 Exception Processing Instruction Execution Times ................................... 7-10 + + + + + MOTOROLA M68000 USER’S MANUAL ix + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + TABLE OF CONTENTS (Continued) + Paragraph Page + Number Title Number + + Section 8 + 16-Bit Instruction Timing + 8.1 Operand Effective Address Calculation Times ........................................... 8-1 + 8.2 Move Instruction Execution Times .............................................................. 8-2 + 8.3 Standard Instruction Execution Times ........................................................ 8-3 + 8.4 Immediate Instruction Execution Times ...................................................... 8-4 + 8.5 Single Operand Instruction Execution Times .............................................. 8-5 + 8.6 Shift/Rotate Instruction Execution Times .................................................... 8-6 +Freescale Semiconductor, Inc... + + + + + 8.7 Bit Manipulation Instruction Execution Times ............................................. 8-7 + 8.8 Conditional Instruction Execution Times ..................................................... 8-7 + 8.9 JMP, JSR, LEA, PEA, and MOVEM Instruction Execution Times .............. 8-8 + 8.10 Multiprecision Instruction Execution Times ................................................. 8-8 + 8.11 Miscellaneous Instruction Execution Times ................................................ 8-9 + 8.12 Exception Processing Instruction Execution Times .................................. 8-10 + + + Section 9 + MC68010 Instruction Timing + 9.1 Operand Effective Address Calculation Times ........................................... 9-2 + 9.2 Move Instruction Execution Times .............................................................. 9-2 + 9.3 Standard Instruction Execution Times ........................................................ 9-4 + 9.4 Immediate Instruction Execution Times ...................................................... 9-6 + 9.5 Single Operand Instruction Execution Times .............................................. 9-6 + 9.6 Shift/Rotate Instruction Execution Times .................................................... 9-8 + 9.7 Bit Manipulation Instruction Execution Times ............................................. 9-9 + 9.8 Conditional Instruction Execution Times ..................................................... 9-9 + 9.9 JMP, JSR, LEA, PEA, and MOVEM Instruction Execution Times ............ 9-10 + 9.10 Multiprecision Instruction Execution Times ............................................... 9-11 + 9.11 Miscellaneous Instruction Execution Times .............................................. 9-11 + 9.12 Exception Processing Instruction Execution Times .................................. 9-13 + + + Section 10 + Electrical and Thermal Characteristics + 10.1 Maximum Ratings ..................................................................................... 10-1 + 10.2 Thermal Characteristics ............................................................................ 10-1 + 10.3 Power Considerations ............................................................................... 10-2 + 10.4 CMOS Considerations .............................................................................. 10-4 + 10.5 AC Electrical Specifications Definitions..................................................... 10-5 + 10.6 MC68000/68008/68010 DC Electrical Characteristics .............................. 10-7 + 10.7 DC Electrical Characteristics .................................................................... 10-8 + 10.8 AC Electrical Specifications—Clock Timing .............................................. 10-8 + + x M68000 USER’S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + TABLE OF CONTENTS (Continued) + Paragraph Page + Number Title Number + + Section 10 + Electrical and Thermal Characteristics + 10.9 MC68008 AC Electrical Specifications—Clock Timing ............................. 10-9 + 10.10 AC Electrical Specifications—Read and Write Cycles ............................ 10-10 + 10.11 AC Electrical Specifications—MC68000 To M6800 Peripheral............... 10-15 + 10.12 AC Electrical Specifications—Bus Arbitration .........................................10-17 + 10.13 MC68EC000 DC Electrical Spec ifications.............................................. 10-23 + 10.14 MC68EC000 AC Electrical Specifications—Read and Write .................. 10-24 +Freescale Semiconductor, Inc... + + + + + 10.15 MC68EC000 AC Electrical Specifications—Bus Arbitration .................... 10-28 + + + Section 11 + Ordering Information and Mechanical Data + 11.1 Pin Assignments........................................................................................ 11-1 + 11.2 Package Dimensions ................................................................................ 11-7 + + + Appendix A + MC68010 Loop Mode Operation + + + Appendix B + M6800 Peripheral Interface + B.1 Data Transfer Operation............................................................................. B-1 + B.2 Interrupt Interface Operation ...................................................................... B-4 + + + + + MOTOROLA M68000 USER’S MANUAL xi + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + LIST OF ILLUSTRATIONS + Figure Page + Number Title Number + + 2-1 User Programmer's Model ................................................................................... 2-2 + 2-2 Supervisor Programmer's Model Supplement ..................................................... 2-2 + 2-3 Supervisor Programmer's Model Supplement (MC68010) .................................. 2-3 + 2-4 Status Register .................................................................................................... 2-3 +Freescale Semiconductor, Inc... + + + + + 2-5 Word Organization In Memory ............................................................................. 2-6 + 2-6 Data Organization In Memory .............................................................................. 2-7 + 2-7 Memory Data Organization (MC68008) ............................................................... 2-3 + + 3-1 Input and Output Signals (MC68000, MC68HC000, MC68010) .......................... 3-1 + 3-2 Input and Output Signals ( MC68HC001) ............................................................ 3-2 + 3-3 Input and Output Signals (MC68EC000) ............................................................. 3-2 + 3-4 Input and Output Signals (MC68008 48-Pin Version) .......................................... 3-3 + 3-5 Input and Output Signals (MC68008 52-Pin Version) .......................................... 3-3 + + 4-1 Byte Read-Cycle Flowchart.................................................................................. 4-2 + 4-2 Read and Write-Cycle Timing Diagram................................................................ 4-2 + 4-3 Byte Write-Cycle Flowchart .................................................................................. 4-4 + 4-4 Write-Cycle Timing Diagram ................................................................................ 4-4 + 4-5 Read-Modify-Write Cycle Flowchart .................................................................... 4-6 + 4-6 Read-Modify-Write Cycle Timing Diagram........................................................... 4-7 + + 5-1 Word Read-Cycle Flowchart ................................................................................ 5-2 + 5-2 Byte Read-Cycle Flowchart.................................................................................. 5-2 + 5-3 Read and Write-Cycle Timing Diagram................................................................ 5-3 + 5-4 Word and Byte Read-Cycle Timing Diagram ....................................................... 5-3 + 5-5 Word Write-Cycle Flowchart ................................................................................ 5-5 + 5-6 Byte Write-Cycle Flowchart .................................................................................. 5-5 + 5-7 Word and Byte Write-Cycle Timing Diagram ....................................................... 5-6 + 5-8 Read-Modify-Write Cycle Flowchart .................................................................... 5-7 + 5-9 Read-Modify-Write Cycle Timing Diagram........................................................... 5-8 + 5-10 CPU Space Address Encoding ............................................................................ 5-9 + 5-11 Interrupt Acknowledge Cycle Timing Diagram ................................................... 5-10 + 5-12 Breakpoint Acknowledge Cycle Timing Diagram ............................................... 5-11 + 5-13 3-Wire Bus Arbitration Flowchart + (NA to 48-Pin MC68008 and MC68EC000 ........................................................ 5-12 + 5-14 2-Wire Bus Arbitration Cycle Flowchart ............................................................. 5-13 + + + + xii M68000 USER’S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + LIST OF ILLUSTRATIONS (Continued) + Figure Page + Number Title Number + + 5-15 3-Wire Bus Arbitration Timing Diagram + (NA to 48-Pin MC68008 and MC68EC000 ........................................................ 5-13 + 5-16 2-Wire Bus Arbitration Timing Diagram.............................................................. 5-14 + 5-17 External Asynchronous Signal Synchronization ................................................. 5-16 + 5-18 Bus Arbitration Unit State Diagrams................................................................... 5-17 + 5-19 3-Wire Bus Arbitration Timing Diagram—Processor Active ...............................5-18 + 5-20 3-Wire Bus Arbitration Timing Diagram—Bus Active ......................................... 5-19 + 5-21 3-Wire Bus Arbitration Timing Diagram—Special Case ................................ ..... 5-20 + 5-22 2-Wire Bus Arbitration Timing Diagram—Processor Active ...............................5-21 +Freescale Semiconductor, Inc... + + + + + 5-23 2-Wire Bus Arbitration Timing Diagram—Bus Active ......................................... 5-22 + 5-24 2-Wire Bus Arbitration Timing Diagram—Special Case ................................ ..... 5-23 + 5-25 Bus Error Timing Diagram ..................................................................................5-24 + 5-26 Delayed Bus Error Timing Diagram (MC68010)................................................. 5-25 + 5-27 Retry Bus Cycle Timing Diagram ....................................................................... 5-26 + 5-28 Delayed Retry Bus Cycle Timing Diagram ......................................................... 5-27 + 5-29 Halt Operation Timing Diagram.......................................................................... 5-28 + 5-30 Reset Operation Timing Diagram....................................................................... 5-29 + 5-31 Fully Asynchronous Read Cycle ........................................................................ 5-32 + 5-32 Fully Asynchronous Write Cycle......................................................................... 5-33 + 5-33 Pseudo-Asynchronous Read Cycle ................................................................... 5-34 + 5-34 Pseudo-Asynchronous Write Cycle.................................................................... 5-35 + 5-35 Synchronous Read Cycle................................................................................... 5-37 + 5-36 Synchronous Write Cycle ................................................................................... 5-38 + 5-37 Input Synchronizers ........................................................................................... 5-38 + + 6-1 Exception Vector Format...................................................................................... 6-4 + 6-2 Peripheral Vector Number Format ....................................................................... 6-5 + 6-3 Address Translated from 8-Bit Vector Number ................................................... 6-5 + 6-4 Exception Vector Address Calculation (MC68010) .............................................. 6-5 + 6-5 Group 1 and 2 Exception Stack Frame .............................................................. 6-10 + 6-6 MC68010 Stack Frame ...................................................................................... 6-10 + 6-7 Supervisor Stack Order for Bus or Address Error Exception ............................. 6-17 + 6-8 Exception Stack Order (Bus and Address Error) ............................................... 6-18 + 6-9 Special Status Word Format .............................................................................. 6-19 + + 10-1 MC68000 Power Dissipation (P D) vs Ambient Temperature (TA) ..................... 10-3 + 10-2 Drive Levels and Test Points for AC Specifications ........................................... 10-6 + 10-3 Clock Input Timing Diagram ............................................................................... 10-9 + 10-4 Read Cycle Timing Diagram ............................................................................ 10-13 + 10-5 Write Cycle Timing Diagram............................................................................. 10-14 + 10-6 MC68000 to M6800 Peripheral Timing Diagram (Best Case) .......................... 10-16 + + + + MOTOROLA M68000 USER’S MANUAL xiii + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + LIST OF ILLUSTRATIONS (Concluded) + Figure Page + Number Title Number + + 10-7 Bus Arbitration Timing...................................................................................... 10-18 + 10-8 Bus Arbitration Timing...................................................................................... 10-19 + 10-9 Bus Arbitration Timing—Idle Bus Case ............................................................ 10-20 + 10-10 Bus Arbitration Timing—Active Bus Case........................................................ 10-21 + 10-11 Bus Arbitration Timing—Multiple Bus Request ................................................ 10-22 + 10-12 MC68EC000 Read Cycle Timing Diagram ...................................................... 10-26 + 10-13 MC68EC000 Write Cycle Timing Diagram....................................................... 10-27 + 10-14 MC68EC000 Bus Arbitration Timing Diagram ................................................. 10-29 +Freescale Semiconductor, Inc... + + + + + 11-1 64-Pin Dual In Line ............................................................................................ 11-2 + 11-2 68-Lead Pin Grid Array ...................................................................................... 11-3 + 11-3 68-Lead Quad Pack ........................................................................................... 11-4 + 11-4 52-Lead Quad Pack ........................................................................................... 11-5 + 11-5 48-Pin Dual In Line ............................................................................................ 11-6 + 11-6 64-Lead Quad Flat Pack .................................................................................... 11-7 + 11-7 Case 740-03—L Suffix ....................................................................................... 11-8 + 11-8 Case 767-02—P Suffix ...................................................................................... 11-9 + 11-9 Case 746-01—LC Suffix .................................................................................. 11-10 + 11-10 Case — Suffix ...................................................................................................... 11- + 11-11 Case 765A-05—RC Suffix ............................................................................... 11-12 + 11-12 Case 778-02—FN Suffix .................................................................................. 11-13 + 11-13 Case 779-02—FN Suffix .................................................................................. 11-14 + 11-14 Case 847-01—FC Suffix .................................................................................. 11-15 + 11-15 Case 840B-01—FU Suffix................................................................................ 11-16 + + A-1 DBcc Loop Mode Program Example................................................................... A-1 + + B-1 M6800 Data Transfer Flowchart ......................................................................... B-1 + B-2 Example External VMA Circuit ............................................................................ B-2 + B-3 External VMA Timing .......................................................................................... B-2 + B-4 M6800 Peripheral Timing—Best Case................................................................ B-3 + B-5 M6800 Peripheral Timing—Worst Case ............................................................. B-3 + B-6 Autovector Operation Timing Diagram................................................................ B-5 + + + + + xiv M68000 USER’S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + LIST OF TABLES + Table Page + Number Title Number + + 2-1 Data Addressing Modes ....................................................................................... 2-4 + + 2-2 Instruction Set Summary .................................................................................... 2-11 +Freescale Semiconductor, Inc... + + + + + 3-1 Data Strobe Control of Data Bus.......................................................................... 3-5 + 3-2 Data Strobe Control of Data Bus (MC68008)....................................................... 3-5 + 3-3 Function Code Output .......................................................................................... 3-9 + 3-4 Signal Summary ................................................................................................. 3-10 + + 5-1 DTACK, BERR, and HALT Assertion Results ..................................................... 5-31 + + 6-1 Reference Classification....................................................................................... 6-3 + 6-2 Exception Vector Assignment .............................................................................. 6-7 + 6-3 Exception Grouping and Priority........................................................................... 6-9 + 6-4 MC68010 Format Code...................................................................................... 6-11 + + 7-1 Effective Address Calculation Times.................................................................... 7-2 + 7-2 Move Byte Instruction Execution Times ............................................................... 7-2 + 7-3 Move Word Instruction Execution Times.............................................................. 7-3 + 7-4 Move Long Instruction Execution Times .............................................................. 7-3 + 7-5 Standard Instruction Execution Times.................................................................. 7-4 + 7-6 Immediate Instruction Execution Times ............................................................... 7-5 + 7-7 Single Operand Instruction Execution Times ....................................................... 7-6 + 7-8 Shift/Rotate Instruction Execution Times ............................................................. 7-6 + 7-9 Bit Manipulation Instruction Execution Times ...................................................... 7-7 + 7-10 Conditional Instruction Execution Times .............................................................. 7-7 + 7-11 JMP, JSR, LEA, PEA, and MOVEM Instruction Execution Times........................ 7-8 + 7-12 Multiprecision Instruction Execution Times .......................................................... 7-9 + 7-13 Miscellaneous Instruction Execution Times ....................................................... 7-10 + 7-14 Move Peripheral Instruction Execution Times .................................................... 7-10 + 7-15 Exception Processing Instruction Execution Times ........................................... 7-11 + + 8-1 Effective Address Calculation Times.................................................................... 8-2 + 8-2 Move Byte Instruction Execution Times ............................................................... 8-2 + 8-3 Move Word Instruction Execution Times.............................................................. 8-3 + 8-4 Move Long Instruction Execution Times .............................................................. 8-3 + + + + MOTOROLA M68000 USER’S MANUAL xv + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + LIST OF TABLES (Concluded) + Table Page + Number Title Number + + 8-5 Standard Instruction Execution Times ................................................................. 8-4 + 8-6 Immediate Instruction Execution Times ............................................................... 8-5 + 8-7 Single Operand Instruction Execution Times ....................................................... 8-6 + 8-8 Shift/Rotate Instruction Execution Times ............................................................. 8-6 + 8-9 Bit Manipulation Instruction Execution Times ...................................................... 8-7 + 8-10 Conditional Instruction Execution Times .............................................................. 8-7 + 8-11 JMP, JSR, LEA, PEA, and MOVEM Instruction Execution Times ....................... 8-8 + 8-12 Multiprecision Instruction Execution Times .......................................................... 8-9 + 8-13 Miscellaneous Instruction Execution Times ....................................................... 8-10 +Freescale Semiconductor, Inc... + + + + + 8-14 Move Peripheral Instruction Execution Times.................................................... 8-10 + 8-15 Exception Processing Instruction Execution Times ........................................... 8-11 + + 9-1 Effective Address Calculation Times ................................................................... 9-2 + 9-2 Move Byte and Word Instruction Execution Times .............................................. 9-3 + 9-3 Move Byte and Word Instruction Loop Mode Execution Times ........................... 9-3 + 9-4 Move Long Instruction Execution Times .............................................................. 9-4 + 9-5 Move Long Instruction Loop Mode Execution Times ........................................... 9-4 + 9-6 Standard Instruction Execution Times ................................................................. 9-5 + 9-7 Standard Instruction Loop Mode Execution Times .............................................. 9-5 + 9-8 Immediate Instruction Execution Times ............................................................... 9-6 + 9-9 Single Operand Instruction Execution Times ....................................................... 9-7 + 9-10 Clear Instruction Execution Times ....................................................................... 9-7 + 9-11 Single Operand Instruction Loop Mode Execution Times .................................... 9-8 + 9-12 Shift/Rotate Instruction Execution Times ............................................................. 9-8 + 9-13 Shift/Rotate Instruction Loop Mode Execution Times .......................................... 9-9 + 9-14 Bit Manipulation Instruction Execution Times ...................................................... 9-9 + 9-15 Conditional Instruction Execution Times ............................................................ 9-10 + 9-16 JMP, JSR, LEA, PEA, and MOVEM Instruction Execution Times ..................... 9-10 + 9-17 Multiprecision Instruction Execution Times ........................................................ 9-11 + 9-18 Miscellaneous Instruction Execution Times ....................................................... 9-12 + 9-19 Exception Processing Instruction Execution Times ........................................... 9-13 + + 10-1 Power Dissipation and Junction Temperature vs Temperature + (θJC = θJA) ........................................................................................................ 10-4 + 10-2 Power Dissipation and Junction Temperature vs Temperature + (θJC = θJC ) ........................................................................................................ 10-4 + + A-1 MC68010 Loop Mode Instructions ...................................................................... A-3 + + + + + xvi M68000 USER’S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + SECTION 1 + OVERVIEW + This manual includes hardware details and programming information for the MC68000, + the MC68HC000, the MC68HC001, the MC68008, the MC68010, and the MC68EC000. + For ease of reading, the name M68000 MPUs will be used when referring to all + processors. Refer to M68000PM/AD, M68000 Programmer's Reference Manual, for + detailed information on the MC68000 instruction set. +Freescale Semiconductor, Inc... + + + + + The six microprocessors are very similar. They all contain the following features + + • 16 32-Bit Data and Address Registers + • 16-Mbyte Direct Addressing Range + • Program Counter + • 6 Powerful Instruction Types + • Operations on Five Main Data Types + • Memory-Mapped Input/Output (I/O) + • 14 Addressing Modes + The following processors contain additional features: + • MC68010 + —Virtual Memory/Machine Support + —High-Performance Looping Instructions + • MC68HC001/MC68EC000 + —Statically Selectable 8- or 16-Bit Data Bus + • MC68HC000/MC68EC000/MC68HC001 + —Low-Power + All the processors are basically the same with the exception of the MC68008. The + MC68008 differs from the others in that the data bus size is eight bits, and the address + range is smaller. The MC68010 has a few additional instructions and instructions that + operate differently than the corresponding instructions of the other devices. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 1-1 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 1.1 MC68000 + The MC68000 is the first implementation of the M68000 16/-32 bit microprocessor + architecture. The MC68000 has a 16-bit data bus and 24-bit address bus while the full + architecture provides for 32-bit address and data buses. It is completely code-compatible + with the MC68008 8-bit data bus implementation of the M68000 and is upward code + compatible with the MC68010 virtual extensions and the MC68020 32-bit implementation + of the architecture. Any user-mode programs using the MC68000 instruction set will run + unchanged on the MC68008, MC68010, MC68020, MC68030, and MC68040. This is + possible because the user programming model is identical for all processors and the + instruction sets are proper subsets of the complete architecture. + + 1.2 MC68008 + The MC68008 is a member of the M68000 family of advanced microprocessors. This +Freescale Semiconductor, Inc... + + + + + device allows the design of cost-effective systems using 8-bit data buses while providing + the benefits of a 32-bit microprocessor architecture. The performance of the MC68008 is + greater than any 8-bit microprocessor and superior to several 16-bit microprocessors. + + The MC68008 is available as a 48-pin dual-in-line package (plastic or ceramic) and 52-pin + plastic leaded chip carrier. The additional four pins of the 52-pin package allow for + additional signals: A20, A21, BGACK, and IPL2. The 48-pin version supports a 20-bit + address that provides a 1-Mbyte address space; the 52-pin version supports a 22-bit + address that extends the address space to 4 Mbytes. The 48-pin MC68008 contains a + simple two-wire arbitration circuit; the 52-pin MC68008 contains a full three-wire MC68000 + bus arbitration control. Both versions are designed to work with daisy-chained networks, + priority encoded networks, or a combination of these techniques. + + A system implementation based on an 8-bit data bus reduces system cost in comparison + to 16-bit systems due to a more effective use of components and byte-wide memories and + peripherals. In addition, the nonmultiplexed address and data buses eliminate the need for + external demultiplexers, further simplifying the system. + + The large nonsegmented linear address space of the MC68008 allows large modular + programs to be developed and executed efficiently. A large linear address space allows + program segment sizes to be determined by the application rather than forcing the + designer to adopt an arbitrary segment size without regard to the application's individual + requirements. + + + 1.3 MC68010 + The MC68010 utilizes VLSI technology and is a fully implemented 16-bit microprocessor + with 32-bit registers, a rich basic instruction set, and versatile addressing modes. The + vector base register (VBR) allows the vector table to be dynamically relocated + + + + + 1-2 M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 1.4 MC68HC000 + The primary benefit of the MC68HC000 is reduced power consumption. The device + dissipates an order of magnitude less power than the HMOS MC68000. + + The MC68HC000 is an implementation of the M68000 16/-32 bit microprocessor + architecture. The MC68HC000 has a 16-bit data bus implementation of the MC68000 and + is upward code-compatible with the MC68010 virtual extensions and the MC68020 32-bit + implementation of the architecture. + + + 1.5 MC68HC001 + The MC68HC001 provides a functional extension to the MC68HC000 HCMOS 16-/32-bit + microprocessor with the addition of statically selectable 8- or 16-bit data bus operation. +Freescale Semiconductor, Inc... + + + + + The MC68HC001 is object-code compatible with the MC68HC000, and code written for + the MC68HC001 can be migrated without modification to any member of the M68000 + Family. + + + 1.6 MC68EC000 + The MC68EC000 is an economical high-performance embedded controller designed to + suit the needs of the cost-sensitive embedded controller market. The HCMOS + MC68EC000 has an internal 32-bit architecture that is supported by a statically selectable + 8- or 16-bit data bus. This architecture provides a fast and efficient processing device that + can satisfy the requirements of sophisticated applications based on high-level languages. + + The MC68EC000 is object-code compatible with the MC68000, and code written for the + MC68EC000 can be migrated without modification to any member of the M68000 Family. + The MC68EC000 brings the performance level of the M68000 Family to cost levels + previously associated with 8-bit microprocessors. The MC68EC000 benefits from the rich + M68000 instruction set and its related high code density with low memory bandwidth + requirements. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 1-3 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + SECTION 2 + INTRODUCTION + The section provide a brief introduction to the M68000 microprocessors (MPUs). + Detailed information on the programming model, data types, addressing modes, data + organization and instruction set can be found in M68000PM/AD, M68000 Programmer's + Reference Manual. All the processors are identical from the programmer's viewpoint, + except that the MC68000 can directly access 16 Mbytes (24-bit address) and the +Freescale Semiconductor, Inc... + + + + + MC68008 can directly access 1 Mbyte (20-bit address on 48-pin version or 22-bit + address on 52-pin version). The MC68010, which also uses a 24-bit address, has much + in common with the other devices; however, it supports additional instructions and + registers and provides full virtual machine/memory capability. Unless noted, all + information pertains to all the M68000 MPUs. + + + 2.1 PROGRAMMER'S MODEL + All the microprocessors executes instructions in one of two modes—user mode or + supervisor mode. The user mode provides the execution environment for the majority of + application programs. The supervisor mode, which allows some additional instructions + and privileges, is used by the operating system and other system software. + + 2.1.1 User' Programmer's Model + The user programmer's model (see Figure 2-1) is common to all M68000 MPUs. The + user programmer's model, contains 16, 32-bit, general-purpose registers (D0–D7, A0– + A7), a 32-bit program counter, and an 8-bit condition code register. The first eight + registers (D0–D7) are used as data registers for byte (8-bit), word (16-bit), and long-word + (32-bit) operations. The second set of seven registers (A0–A6) and the user stack pointer + (USP) can be used as software stack pointers and base address registers. In addition, + the address registers can be used for word and long-word operations. All of the 16 + registers can be used as index registers. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSOR USER’S MANUAL 2-1 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 31 16 15 8 7 0 + D0 + D1 + D2 + D3 EIGHT + D4 DATA + REGISTERS + D5 + D6 + D7 + + + 31 16 15 0 + A0 + A1 + A2 +Freescale Semiconductor, Inc... + + + + + SEVEN + A3 ADDRESS + A4 REGISTERS + + A5 + A6 + + A7 USER STACK + (USP) POINTER + 31 0 + PC PROGRAM + COUNTER + 7 0 + STATUS + CCR + REGISTER + + + Figure 2-1. User Programmer's Model + (MC68000/MC68HC000/MC68008/MC68010) + + 2.1.2 Supervisor Programmer's Model + The supervisor programmer's model consists of supplementary registers used in the + supervisor mode. The M68000 MPUs contain identical supervisor mode register + resources, which are shown in Figure 2-2, including the status register (high-order byte) + and the supervisor stack pointer (SSP/A7'). + + 31 16 15 0 + A7' SUPERVISOR STACK + (SSP) POINTER + 15 8 7 0 + CCR SR STATUS REGISTER + + + + Figure 2-2. Supervisor Programmer's Model Supplement + + The supervisor programmer's model supplement of the MC68010 is shown in Figure 2- + 3. In addition to the supervisor stack pointer and status register, it includes the vector + base register (VRB) and the alternate function code registers (AFC).The VBR is used to + determine the location of the exception vector table in memory to support multiple vector + + + 2-2 M68000 8-/16-/32-BIT MICROPROCESSOR USER’S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + tables. The SFC and DFC registers allow the supervisor to access user data space or + emulate CPU space cycles. + + 31 16 15 0 + A7' SUPERVISOR STACK + (SSP) POINTER + 15 8 7 0 + CCR SR STATUS REGISTER + 31 0 + VBR VECTOR BASE REGISTER + 2 0 + SFC ALTERNATE FUNCTION + DFC CODE REGISTERS +Freescale Semiconductor, Inc... + + + + + Figure 2-3. Supervisor Programmer's Model Supplement + (MC68010) + + 2.1.3 Status Register + The status register (SR),contains the interrupt mask (eight levels available) and the + following condition codes: overflow (V), zero (Z), negative (N), carry (C), and extend (X). + Additional status bits indicate that the processor is in the trace (T) mode and/or in the + supervisor (S) state (see Figure 2-4). Bits 5, 6, 7, 11, 12, and 14 are undefined and + reserved for future expansion + + SYSTEM BYTE USER BYTE + + + + 15 13 10 8 4 0 + T S I2 I1 I0 X N Z V C + + TRACE MODE EXTEND + NEGATIVE + SUPERVISOR CONDITION + STATE ZERO + CODES + OVERFLOW + INTERRUPT + MASK CARRY + + + + Figure 2-4. Status Register + + + 2.2 DATA TYPES AND ADDRESSING MODES + The five basic data types supported are as follows: + + 1. Bits + 2. Binary-Coded-Decimal (BCD) Digits (4 Bits) + 3. Bytes (8 Bits) + 4. Words (16 Bits) + 5. Long Words (32 Bits) + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSOR USER’S MANUAL 2-3 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + In addition, operations on other data types, such as memory addresses, status word + data, etc., are provided in the instruction set. + + The 14 flexible addressing modes, shown in Table 2-1, include six basic types: + 1. Register Direct + 2. Register Indirect + 3. Absolute + 4. Immediate + 5. Program Counter Relative + 6. Implied + The register indirect addressing modes provide postincrementing, predecrementing, + offsetting, and indexing capabilities. The program counter relative mode also supports +Freescale Semiconductor, Inc... + + + + + indexing and offsetting. For detail information on addressing modes refer to + M68000PM/AD, M68000 Programmer Reference Manual. + + + + + 2-4 M68000 8-/16-/32-BIT MICROPROCESSOR USER’S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 2-1. Data Addressing Modes + Mode Generation Syntax + Register Direct Addressing + Data Register Direct EA=Dn Dn + Address Register Direct EA=An An + Absolute Data Addressing + Absolute Short EA = (Next Word) (xxx).W + Absolute Long EA = (Next Two Words) (xxx).L + Program Counter Relative + Addressing EA = (PC)+d16 (d16,PC) + Relative with Offset EA = (PC)+d8 (d8,PC,Xn) + Relative with Index and Offset + Register Indirect Addressing + Register Indirect EA = (An) (An) + Postincrement Register Indirect EA = (An), An ← An+N (An)+ +Freescale Semiconductor, Inc... + + + + + Predecrement Register Indirect An ¯ An–N, EA=(An) -(An) + Register Indirect with Offset EA = (An)+d16 (d16,An) + Indexed Register Indirect with Offset EA = (An)+(Xn)+d8 (d8,An,Xn) + Immediate Data Addressing + Immediate DATA = Next Word(s) #<data> + Quick Immediate Inherent Data + Implied Addressing 1 + Implied Register EA = SR, USP, SSP, PC, SR,USP,SSP,PC, + VBR, SFC, DFC VBR, SFC,DFC + NOTES: 1. The VBR, SFC, and DFC apply to the MC68010 only + EA = Effective Address + Dn = Data Register + An = Address Register + () = Contents of + PC = Program Counter + d8 = 8-Bit Offset (Displacement) + d16 = 16-Bit Offset (Displacement) + N = 1 for byte, 2 for word, and 4 for long word. If An is the stack pointer and + the operand size is byte, N = 2 to keep the stack pointer on a word boundary. + ¯ = Replaces + Xn = Address or Data Register used as Index Register + SR = Status Register + USP = User Stack Pointer + SSP = Supervisor Stack Pointer + CP = Program Counter + VBR = Vector Base Register + + + + 2.3 DATA ORGANIZATION IN REGISTERS + The eight data registers support data operands of 1, 8, 16, or 32 bits. The seven address + registers and the active stack pointer support address operands of 32 bits. + + 2.3.1 Data Registers + Each data register is 32 bits wide. Byte operands occupy the low-order 8 bits, word + operands the low-order 16 bits, and long-word operands, the entire 32 bits. The least + significant bit is addressed as bit zero; the most significant bit is addressed as bit 31. + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSOR USER’S MANUAL 2-5 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + When a data register is used as either a source or a destination operand, only the + appropriate low-order portion is changed; the remaining high-order portion is neither + used nor changed. + + 2.3.2 Address Registers + Each address register (and the stack pointer) is 32 bits wide and holds a full, 32-bit + address. Address registers do not support byte-sized operands. Therefore, when an + address register is used as a source operand, either the low-order word or the entire + long-word operand is used, depending upon the operation size. When an address + register is used as the destination operand, the entire register is affected, regardless of + the operation size. If the operation size is word, operands are sign-extended to 32 bits + before the operation is performed. +Freescale Semiconductor, Inc... + + + + + 2.4 DATA ORGANIZATION IN MEMORY + Bytes are individually addressable. As shown in Figure 2-5, the high-order byte of a + word has the same address as the word. The low-order byte has an odd address, one + count higher. Instructions and multibyte data are accessed only on word (even byte) + boundaries. If a long-word operand is located at address n (n even), then the second + word of that operand is located at address n+2. + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + ADDRESS WORD 0 + $000000 BYTE 000000 BYTE 000001 + WORD 1 + $000002 BYTE 000002 BYTE 000003 + + + + + WORD 7FFFFF + $FFFFFE + BYTE FFFFFE BYTE FFFFFE + + + + Figure 2-5. Word Organization in Memory + + The data types supported by the M68000 MPUs are bit data, integer data of 8, 16, and + 32 bits, 32-bit addresses, and binary-coded-decimal data. Each data type is stored in + memory as shown in Figure 2-6. The numbers indicate the order of accessing the data + from the processor. For the MC68008 with its 8-bit bus, the appearance of data in + memory is identical to the all the M68000 MPUs. The organization of data in the memory + of the MC68008 is shown in Figure 2-7. + + + + + 2-6 M68000 8-/16-/32-BIT MICROPROCESSOR USER’S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + BIT DATA + 1 BYTE = 8 BITS + 7 6 5 4 3 2 1 0 + + + + INTEGER DATA + 1 BYTE = 8 BITS + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + + MSB BYTE 0 LSB BYTE 1 + + BYTE 2 BYTE 3 + + 1 WORD = 16 BITS + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + + MSB WORD 0 LSB +Freescale Semiconductor, Inc... + + + + + WORD 1 + + WORD 2 + + EVEN BYTE ODD BYTE + + 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 + 1 LONG WORD = 32 BITS + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + MSB HIGH ORDER + LONG WORD 0 + LOW ORDER LSB + + LONG WORD 1 + + + + LONG WORD 2 + + + ADDRESSES + 1 ADDRESS = 32 BITS + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + MSB HIGH ORDER + ADDRESS 0 + LOW ORDER LSB + + + ADDRESS 1 + + + + ADDRESS 2 + + + MSB = MOST SIGNIFICANT BIT + LSB = LEAST SIGNIFICANT BIT + DECIMAL DATA + 2 BINARY-CODED-DECIMAL DIGITS = 1 BYTE + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + MSD + BCD 0 BCD 1 BCD 2 BCD 3 + LSD + + BCD 4 BCD 5 BCD 6 BCD 7 + + MSD = MOST SIGNIFICANT DIGIT + LSD = LEAST SIGNIFICANT DIGIT + + + Figure 2-6. Data Organization in Memory + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSOR USER’S MANUAL 2-7 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + BIT DATA 1 BYTE = 8 BITS + 7 6 5 4 3 2 1 0 + + + + + INTEGER DATA 1 BYTE = 8 BITS + 7 6 5 4 3 2 1 0 + + BYTE 0 LOWER ADDRESSES + + BYTE 1 + + BYTE 2 + + BYTE 3 HIGHER ADDRESSES + + + 1 WORD = 2 BYTES = 16 BITS + + BYTE 0 (MS BYTE) LOWER ADDRESSES +Freescale Semiconductor, Inc... + + + + + WORD 0 + BYTE 1 (LS BYTE) + + BYTE 0 (MS BYTE) + WORD 1 + BYTE 1 (LS BYTE) HIGHER ADDRESSES + + + 1 LONG WORD = 2 WORDS = 4 BYTES = 32 BITS + + BYTE 0 LOWER ADDRESSES + HIGH-ORDER + WORD + BYTE 1 + LONG WORD 0 + BYTE 2 + LOW-ORDER + WORD + BYTE 3 + + BYTE 0 + HIGH-ORDER + WORD + BYTE 1 + LONG WORD 1 + BYTE 2 + LOW-ORDER + WORD + BYTE 3 HIGHER ADDRESSES + + + + Figure 2-7. Memory Data Organization of the MC68008 + + + 2.5 INSTRUCTION SET SUMMARY + Table 2-2 provides an alphabetized listing of the M68000 instruction set listed by + opcode, operation, and syntax. In the syntax descriptions, the left operand is the source + operand, and the right operand is the destination operand. The following list contains the + notations used in Table 2-2. + + + + + 2-8 M68000 8-/16-/32-BIT MICROPROCESSOR USER’S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Notation for operands: + + PC — Program counter + SR — Status register + V— Overflow condition code + Immediate Data —Immediate data from the instruction + Source — Source contents + Destination —Destination contents + Vector —Location of exception vector + Positive infinity + +inf — + Negative infinity + –inf — + <fmt> —Operand data format: byte (B), word (W), long (L), single + (S), double (D), extended (X), or packed (P). + FPm — One of eight floating-point data registers (always +Freescale Semiconductor, Inc... + + + + + specifies the source register) + FPn — One of eight floating-point data registers (always + specifies the destination register) + + Notation for subfields and qualifiers: + <bit> of <operand> — Selects a single bit of the operand + <ea>{offset:width} — Selects a bit field + (<operand>) — The contents of the referenced location + <operand>10 — The operand is binary-coded decimal, operations are + performed in decimal + (<address register>) — The register indirect operator + –(<address register>) — Indicates that the operand register points to the memory + (<address register>)+ — Location of the instruction operand—the optional mode + qualifiers are –, +, (d), and (d, ix) + #xxx or #<data> — Immediate data that follows the instruction word(s) + + Notations for operations that have two operands, written <operand> <op> <operand>, + where <op> is one of the following: + + → — The source operand is moved to the destination operand + ↔ — The two operands are exchanged + + — The operands are added + – — The destination operand is subtracted from the source + operand + ×— The operands are multiplied + ÷— The source operand is divided by the destination + operand + <— Relational test, true if source operand is less than + destination operand + >— Relational test, true if source operand is greater than + destination operand + V— Logical OR + ⊕— Logical exclusive OR + Λ— Logical AND + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSOR USER’S MANUAL 2-9 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + shifted by, rotated by — The source operand is shifted or rotated by the number of + positions specified by the second operand + + Notation for single-operand operations: + ~<operand> — The operand is logically complemented + <operand>sign-extended — The operand is sign-extended, all bits of the upper + portion are made equal to the high-order bit of the lower + portion + <operand>tested — The operand is compared to zero and the condition + codes are set appropriately + + Notation for other operations: + TRAP — Equivalent to Format/Offset Word → (SSP); SSP–2 → + SSP; PC → (SSP); SSP–4 → SSP; SR → (SSP); +Freescale Semiconductor, Inc... + + + + + SSP–2 → SSP; (vector) → PC + STOP — Enter the stopped state, waiting for interrupts + If <condition> then — The condition is tested. If true, the operations after "then" + <operations> else are performed. If the condition is false and the optional + <operations> "else" clause is present, the operations after "else" are + performed. If the condition is false and else is omitted, the + instruction performs no operation. Refer to the Bcc + instruction description as an example. + + + + + 2-10 M68000 8-/16-/32-BIT MICROPROCESSOR USER’S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 2-2. Instruction Set Summary (Sheet 1 of 4) + Opcode Operation Syntax + ABCD Source10 + Destination10 + X → Destination ABCD Dy,Dx + ABCD –(Ay), –(Ax) + ADD Source + Destination → Destination ADD <ea>,Dn + ADD Dn,<ea> + ADDA Source + Destination → Destination ADDA <ea>,An + ADDI Immediate Data + Destination → Destination ADDI # <data>,<ea> + ADDQ Immediate Data + Destination → Destination ADDQ # <data>,<ea> + ADDX Source + Destination + X → Destination ADDX Dy, Dx + ADDX –(Ay), –(Ax) + AND Source Λ Destination → Destination AND <ea>,Dn + AND Dn,<ea> +Freescale Semiconductor, Inc... + + + + + ANDI Immediate Data Λ Destination → Destination ANDI # <data>, <ea> + ANDI to CCR Source Λ CCR → CCR ANDI # <data>, CCR + ANDI to SR If supervisor state ANDI # <data>, SR + then Source Λ SR → SR + else TRAP + ASL, ASR Destination Shifted by <count> → Destination ASd Dx,Dy + ASd # <data>,Dy + ASd <ea> + Bcc If (condition true) then PC + d → PC Bcc <label> + BCHG ~ (<number> of Destination) → Z; BCHG Dn,<ea> + ~ (<number> of Destination) → <bit number> of Destination BCHG # <data>,<ea> + BCLR ~ (<bit number> of Destination) → Z; BCLR Dn,<ea> + 0 → <bit number> of Destination BCLR # <data>,<ea> + BKPT Run breakpoint acknowledge cycle; BKPT # <data> + TRAP as illegal instruction + BRA PC + d → PC BRA <label> + BSET ~ (<bit number> of Destination) → Z; BSET Dn,<ea> + 1 → <bit number> of Destination BSET # <data>,<ea> + BSR SP – 4 → SP; PC → (SP); PC + d → PC BSR <label> + BTST – (<bit number> of Destination) → Z; BTST Dn,<ea> + BTST # <data>,<ea> + CHK If Dn < 0 or Dn > Source then TRAP CHK <ea>,Dn + CLR 0 → Destination CLR <ea> + CMP Destination—Source → cc CMP <ea>,Dn + CMPA Destination—Source CMPA <ea>,An + CMPI Destination —Immediate Data CMPI # <data>,<ea> + CMPM Destination—Source → cc CMPM (Ay)+, (Ax)+ + DBcc If condition false then (Dn – 1 → Dn; DBcc Dn,<label> + If Dn ≠ –1 then PC + d → PC) + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSOR USER’S MANUAL 2-11 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 2-2. Instruction Set Summary (Sheet 2 of 4) + Opcode Operation Syntax + DIVS Destination/Source → Destination DIVS.W <ea>,Dn 32/16 → 16r:16q + DIVU Destination/Source → Destination DIVU.W <ea>,Dn 32/16 → 16r:16q + EOR Source ⊕ Destination → Destination EOR Dn,<ea> + EORI Immediate Data ⊕ Destination → Destination EORI # <data>,<ea> + EORI to CCR Source ⊕ CCR → CCR EORI # <data>,CCR + EORI to SR If supervisor state EORI # <data>,SR + then Source ⊕SR → SR + else TRAP + EXG Rx ↔ Ry EXG Dx,Dy + EXG Ax,Ay + EXG Dx,Ay +Freescale Semiconductor, Inc... + + + + + EXG Ay,Dx + EXT Destination Sign-Extended → Destination EXT.W Dn extend byte to word + EXT.L Dn extend word to long word + ILLEGAL SSP – 2 → SSP; Vector Offset → (SSP); ILLEGAL + SSP – 4 → SSP; PC → (SSP); + SSP – 2 → SSP; SR → (SSP); + Illegal Instruction Vector Address → PC + JMP Destination Address → PC JMP <ea> + JSR SP – 4 → SP; PC → (SP) JSR <ea> + Destination Address → PC + LEA <ea> → An LEA <ea>,An + LINK SP – 4 → SP; An → (SP) LINK An, # <displacement> + SP → An, SP + d → SP + LSL,LSR Destination Shifted by <count> → Destination LSd1 Dx,Dy + LSd1 # <data>,Dy + LSd1 <ea> + MOVE Source → Destination MOVE <ea>,<ea> + MOVEA Source → Destination MOVEA <ea>,An + MOVE from CCR → Destination MOVE CCR,<ea> + CCR + MOVE to Source → CCR MOVE <ea>,CCR + CCR + MOVE from SR → Destination MOVE SR,<ea> + SR If supervisor state + then SR → Destination + else TRAP (MC68010 only) + MOVE to SR If supervisor state MOVE <ea>,SR + then Source → SR + else TRAP + + + + + 2-12 M68000 8-/16-/32-BIT MICROPROCESSOR USER’S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 2-2. Instruction Set Summary (Sheet 3 of 4) + Opcode Operation Syntax + MOVE USP If supervisor state MOVE USP,An + then USP → An or An → USP MOVE An,USP + else TRAP + MOVEC If supervisor state MOVEC Rc,Rn + then Rc → Rn or Rn → Rc MOVEC Rn,Rc + else TRAP + MOVEM Registers → Destination MOVEM register list,<ea> + Source → Registers MOVEM <ea>,register list + MOVEP Source → Destination MOVEP Dx,(d,Ay) + MOVEP (d,Ay),Dx + MOVEQ Immediate Data → Destination MOVEQ # <data>,Dn + MOVES If supervisor state MOVES Rn,<ea> +Freescale Semiconductor, Inc... + + + + + then Rn → Destination [DFC] or Source [SFC] → Rn MOVES <ea>,Rn + else TRAP + MULS Source × Destination → Destination MULS.W <ea>,Dn 16 x 16 → 32 + MULU Source × Destination → Destination MULU.W <ea>,Dn 16 x 16 → 32 + NBCD 0 – (Destination10) – X → Destination NBCD <ea> + NEG 0 – (Destination) → Destination NEG <ea> + NEGX 0 – (Destination) – X → Destination NEGX <ea> + NOP None NOP + NOT ~Destination → Destination NOT <ea> + OR Source V Destination → Destination OR <ea>,Dn + OR Dn,<ea> + ORI Immediate Data V Destination → Destination ORI # <data>,<ea> + ORI to CCR Source V CCR → CCR ORI # <data>,CCR + ORI to SR If supervisor state ORI # <data>,SR + then Source V SR → SR + else TRAP + PEA Sp – 4 → SP; <ea> → (SP) PEA <ea> + RESET If supervisor state RESET + then Assert RESET Line + else TRAP + ROL, ROR Destination Rotated by <count> → Destination ROd1 Rx,Dy + ROd1 # <data>,Dy + ROd1 <ea> + ROXL, Destination Rotated with X by <count> → Destination ROXd1 Dx,Dy + ROXR ROXd1 # <data>,Dy + ROXd1 <ea> + RTD (SP) → PC; SP + 4 + d → SP RTD #<displacement> + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSOR USER’S MANUAL 2-13 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + Table 2-2. Instruction Set Summary (Sheet 4 of 4) + Opcode Operation Syntax + RTE If supervisor state RTE + then (SP) → SR; SP + 2 → SP; (SP) → PC; + SP + 4 → SP; + restore state and deallocate stack according to (SP) + else TRAP + RTR (SP) → CCR; SP + 2 → SP; RTR + (SP) → PC; SP + 4 → SP + RTS (SP) → PC; SP + 4 → SP RTS + SBCD Destination10 – Source10 – X → Destination SBCD Dx,Dy + SBCD –(Ax),–(Ay) + Scc If condition true Scc <ea> + then 1s → Destination +Freescale Semiconductor, Inc... + + + + + else 0s → Destination + STOP If supervisor state STOP # <data> + then Immediate Data → SR; STOP + else TRAP + SUB Destination – Source → Destination SUB <ea>,Dn + SUB Dn,<ea> + SUBA Destination – Source → Destination SUBA <ea>,An + SUBI Destination – Immediate Data → Destination SUBI # <data>,<ea> + SUBQ Destination – Immediate Data → Destination SUBQ # <data>,<ea> + SUBX Destination – Source – X → Destination SUBX Dx,Dy + SUBX –(Ax),–(Ay) + SWAP Register [31:16] ↔ Register [15:0] SWAP Dn + TAS Destination Tested → Condition Codes; 1 → bit 7 of TAS <ea> + Destination + TRAP SSP – 2 → SSP; Format/Offset → (SSP); TRAP # <vector> + SSP – 4 → SSP; PC → (SSP); SSP–2 → SSP; + SR → (SSP); Vector Address → PC + TRAPV If V then TRAP TRAPV + TST Destination Tested → Condition Codes TST <ea> + UNLK An → SP; (SP) → An; SP + 4 → SP UNLK An + NOTE: d is direction, L or R. + + + + + 2-14 M68000 8-/16-/32-BIT MICROPROCESSOR USER’S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + SECTION 3 + SIGNAL DESCRIPTION + This section contains descriptions of the input and output signals. The input and output + signals can be functionally organized into the groups shown in Figure 3-1 (for the + MC68000, the MC68HC000 and the MC68010), Figure 3-2 ( for the MC68HC001), Figure + 3-3 (for the MC68EC000), Figure 3-4 (for the MC68008, 48-pin version), and Figure 3-5 + (for the MC68008, 52-pin version). The following paragraphs provide brief descriptions of +Freescale Semiconductor, Inc... + + + + + the signals and references (where applicable) to other paragraphs that contain more + information about the signals. + + NOTE + The terms assertion and negation are used extensively in this + manual to avoid confusion when describing a mixture of + "active-low" and "active-high" signals. The term assert or + assertion is used to indicate that a signal is active or true, + independently of whether that level is represented by a high or + low voltage. The term negate or negation is used to indicate + that a signal is inactive or false. + + + VCC(2) + ADDRESS + GND(2) BUS A23–A1 + CLK + DATA BUS D15–D0 + + AS + R/W ASYNCHRONOUS + FC0 UDS BUS + PROCESSOR FC1 LDS CONTROL + STATUS + FC2 DTACK + + E BR + MC6800 BUS + PERIPHERAL VMA BG ARBITRATION + CONTROL VPA BGACK CONTROL + + BERR IPL0 + SYSTEM INTERRUPT + RESET IPL1 + CONTROL CONTROL + HALT IPL2 + + + + + Figure 3-1. Input and Output Signals + (MC68000, MC68HC000 and MC68010) + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 3-1 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + VCC(2) + ADDRESS + GND(2) BUS A23–A0 + CLK + DATA BUS D15–D0 + + AS + R/W ASYNCHRONOUS + FC0 UDS BUS + PROCESSOR FC1 LDS CONTROL + STATUS + FC2 DTACK + + E BR + MC6800 BUS + PERIPHERAL VMA BG ARBITRATION + CONTROL VPA BGACK CONTROL + + BERR IPL0 + RESET IPL1 INTERRUPT +Freescale Semiconductor, Inc... + + + + + SYSTEM + CONTROL + CONTROL HALT IPL2 + MODE + + + + + Figure 3-2. Input and Output Signals + (MC68HC001) + + + VCC(2) + ADDRESS + GND(2) BUS A23–A0 + CLK + DATA BUS D15–D0 + + AS + R/W ASYNCHRONOUS + FC0 UDS BUS + PROCESSOR FC1 LDS CONTROL + STATUS MC68EC000 + FC2 DTACK + + BR BUS + BG ARBITRATION + CONTROL + + + BERR IPL0 + SYSTEM RESET IPL1 INTERRUPT + CONTROL HALT IPL2 CONTROL + MODE AVEC + + + + + Figure 3-3. Input and Output Signals + (MC68EC000) + + + + + 3-2 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + V CC(2) + ADDRESS + GND(2) BUS A19–A0 + CLK + DATA BUS D7–D0 + + FC0 + PROCESSOR FC1 AS + STATUS + FC2 R/W ASYNCHRONOUS + DS BUS + MC6808 CONTROL + DTACK + + MC6800 E + PERIPHERAL VPA BR BUS + CONTROL ARBITRATION + BG + CONTROL + BERR + SYSTEM + RESET IPL2/IPL0 + CONTROL INTERRUPT + HALT +Freescale Semiconductor, Inc... + + + + + IPL1 CONTROL + + + + Figure 3-4. Input and Output Signals (MC68008, 48-Pin Version) + + + VCC + ADDRESS + GND(2) BUS A21–A0 + CLK + DATA BUS D7–D0 + + FC0 AS + PROCESSOR FC1 ASYNCHRONOUS + R/W + STATUS BUS + FC2 DS + CONTROL + MC68008 DTACK + + + E BR BUS + MC6800 + PERIPHERAL VPA BG ARBITRATION + CONTROL BGACK CONTROL + + BERR + SYSTEM IPL0 + RESET IPL1 INTERRUPT + CONTROL + HALT CONTROL + IPL2 + + + + Figure 3-5. Input and Output Signals (MC68008, 52-Pin Version) + + + 3.1 ADDRESS BUS (A23–A1) + This 23-bit, unidirectional, three-state bus is capable of addressing 16 Mbytes of data. + This bus provides the address for bus operation during all cycles except interrupt + acknowledge cycles and breakpoint cycles. During interrupt acknowledge cycles, address + lines A1, A2, and A3 provide the level number of the interrupt being acknowledged, and + address lines A23–A4 are driven to logic high. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 3-3 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Address Bus (A23–A0) + This 24-bit, unidirectional, three-state bus is capable of addressing 16 Mbytes of data. + This bus provides the address for bus operation during all cycles except interrupt + acknowledge cycles and breakpoint cycles. During interrupt acknowledge cycles, + address lines A1, A2, and A3 provide the level number of the interrupt being + acknowledged, and address lines A23–A4 and A0 are driven to logic high. In 16-Bit + mode, A0 is always driven high. + + MC68008 Address Bus + The unidirectional, three-state buses in the two versions of the MC68008 differ from + each other and from the other processor bus only in the number of address lines and + the addressing range. The 20-bit address (A19–A0) of the 48-pin version provides a 1- + Mbyte address space; the 52-pin version supports a 22-bit address (A21–A0), extending +Freescale Semiconductor, Inc... + + + + + the address space to 4 Mbytes. During an interrupt acknowledge cycle, the interrupt + level number is placed on lines A1, A2, and A3. Lines A0 and A4 through the most + significant address line are driven to logic high. + + + 3.2 DATA BUS (D15–D0; MC68008: D7–D0) + This bidirectional, three-state bus is the general-purpose data path. It is 16 bits wide in the + all the processors except the MC68008 which is 8 bits wide. The bus can transfer and + accept data of either word or byte length. During an interrupt acknowledge cycle, the + external device supplies the vector number on data lines D7–D0. The MC68EC000 and + MC68HC001 use D7–D0 in 8-bit mode, and D15–D8 are undefined. + + + 3.3 ASYNCHRONOUS BUS CONTROL + Asynchronous data transfers are controlled by the following signals: address strobe, + read/write, upper and lower data strobes, and data transfer acknowledge. These signals + are described in the following paragraphs. + + Address Strobe ( AS). + This three-state signal indicates that the information on the address bus is a valid + address. + + Read/Write (R/ W). + This three-state signal defines the data bus transfer as a read or write cycle. The R/W + signal relates to the data strobe signals described in the following paragraphs. + + Upper And Lower Data Strobes ( UDS, LDS). + These three-state signals and R/W control the flow of data on the data bus. Table 3-1 + lists the combinations of these signals and the corresponding data on the bus. When + the R/W line is high, the processor reads from the data bus. When the R/W line is low, + the processor drives the data bus. In 8-bit mode, UDS is always forced high and the + LDS signal is used. + + + + + 3-4 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 3-1. Data Strobe Control of Data Bus + UDS LDS R/ W D8–D15 D0–D7 + High High — No Valid Data No Valid Data + Low Low High Valid Data Bits Valid Data Bits + 15–8 7–0 + High Low High No Valid Data Valid Data Bits + 7–0 + Low High High Valid Data Bus No Valid Data + 15–8 + Low Low Low Valid Data Bits Valid Data Bits + 15–8 7–0 + High Low Low Valid Data Bits Valid Data Bits + 7–0* 7–0 +Freescale Semiconductor, Inc... + + + + + Low High Low Valid Data Bits Valid Data Bits + 15–8 15–8* + *These conditions are a result of current implementation and may not appear + on future devices. + + Data Strobe ( DS ) (MC68008) + This three-state signal and R/W control the flow of data on the data bus of the + MC68008. Table 3-2 lists the combinations of these signals and the corresponding data + on the bus. When the R/W line is high, the processor reads from the data bus. When + the R/W line is low, the processor drives the data bus. + + Table 3-2. Data Strobe Control + of Data Bus (MC68008) + DS R/ W D0–D7 + 1 — No Valid Data + 0 1 Valid Data Bits 7–0 (Read Cycle) + 0 0 Valid Data Bits 7–0 (Write Cycle) + + + Data Transfer Acknowledge (DTACK ). + This input signal indicates the completion of the data transfer. When the processor + recognizes DTACK during a read cycle, data is latched, and the bus cycle is terminated. + When DTACK is recognized during a write cycle, the bus cycle is terminated. + + 3.4 BUS ARBITRATION CONTROL + The bus request, bus grant, and bus grant acknowledge signals form a bus arbitration + circuit to determine which device becomes the bus master device. In the 48-pin version of + the MC68008 and MC68EC000, no pin is available for the bus grant acknowledge signal; + this microprocessor uses a two-wire bus arbitration scheme. All M68000 processors can + use two-wire bus arbitration. + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 3-5 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Bus Request ( BR). + This input can be wire-ORed with bus request signals from all other devices that could + be bus masters. This signal indicates to the processor that some other device needs to + become the bus master. Bus requests can be issued at any time during a cycle or + between cycles. + + Bus Grant (BG). + This output signal indicates to all other potential bus master devices that the processor + will relinquish bus control at the end of the current bus cycle. + + Bus Grant Acknowledge ( BGACK). + This input indicates that some other device has become the bus master. This signal + should not be asserted until the following conditions are met: +Freescale Semiconductor, Inc... + + + + + 1. A bus grant has been received. + 2. Address strobe is inactive, which indicates that the microprocessor is not using the + bus. + 3. Data transfer acknowledge is inactive, which indicates that neither memory nor + peripherals are using the bus. + 4. Bus grant acknowledge is inactive, which indicates that no other device is still + claiming bus mastership. + + The 48-pin version of the MC68008 has no pin available for the bus grant acknowledge + signal and uses a two-wire bus arbitration scheme instead. If another device in a system + supplies a bus grant acknowledge signal, the bus request input signal to the processor + should be asserted when either the bus request or the bus grant acknowledge from that + device is asserted. + + 3.5 INTERRUPT CONTROL (IPL0 , IPL1 , IPL2) + These input signals indicate the encoded priority level of the device requesting an + interrupt. Level seven, which cannot be masked, has the highest priority; level zero + indicates that no interrupts are requested. IPL0 is the least significant bit of the encoded + level, and IPL2 is the most significant bit. For each interrupt request, these signals must + remain asserted until the processor signals interrupt acknowledge (FC2–FC0 and A19– + A16 high) for that request to ensure that the interrupt is recognized. + + NOTE + The 48-pin version of the MC68008 has only two interrupt + control signals: IPL0/IPL2 and IPL1. IPL0/IPL2 is internally + connected to both IPL0 and IPL2, which provides four interrupt + priority levels: levels 0, 2, 5, and 7. In all other respects, the + interrupt priority levels in this version of the MC68008 are + identical to those levels in the other microprocessors described + in this manual. + + + + + 3-6 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 3.6 SYSTEM CONTROL + The system control inputs are used to reset the processor, to halt the processor, and to + signal a bus error to the processor. The outputs reset the external devices in the system + and signal a processor error halt to those devices. The three system control signals are + described in the following paragraphs. + + Bus Error ( BERR) + This input signal indicates a problem in the current bus cycle. The problem may be the + following: + + 1. No response from a device. + 2. No interrupt vector number returned. + 3. An illegal access request rejected by a memory management unit. +Freescale Semiconductor, Inc... + + + + + 4. Some other application-dependent error. + + Either the processor retries the bus cycle or performs exception processing, as + determined by interaction between the bus error signal and the halt signal. + + Reset ( RESET ) + The external assertion of this bidirectional signal along with the assertion of HALT starts + a system initialization sequence by resetting the processor. The processor assertion of + RESET (from executing a RESET instruction) resets all external devices of a system + without affecting the internal state of the processor. To reset both the processor and the + external devices, the RESET and HALT input signals must be asserted at the same + time. + + Halt (HALT ) + An input to this bidirectional signal causes the processor to stop bus activity at the + completion of the current bus cycle. This operation places all control signals in the + inactive state and places all three-state lines in the high-impedance state (refer to Table + 3-4). + + When the processor has stopped executing instructions (in the case of a double bus + fault condition, for example), the HALT line is driven by the processor to indicate the + condition to external devices. + + Mode (MODE) (MC68HC001/68EC000) + The MODE input selects between the 8-bit and 16-bit operating modes. If this input is + grounded at reset, the processor will come out of reset in the 8-bit mode. If this input is + tied high or floating at reset, the processor will come out of reset in the 16-bit mode. + This input should be changed only at reset and must be stable two clocks after RESET + is negated. Changing this input during normal operation may produce unpredictable + results. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 3-7 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 3.7 M6800 PERIPHERAL CONTROL + These control signals are used to interface the asynchronous M68000 processors with the + synchronous M6800 peripheral devices. These signals are described in the following + paragraphs. + + Enable (E) + This signal is the standard enable signal common to all M6800 Family peripheral + devices. A single period of clock E consists of 10 MC68000 clock periods (six clocks + low, four clocks high). This signal is generated by an internal ring counter that may + come up in any state. (At power-on, it is impossible to guarantee phase relationship of E + to CLK.) The E signal is a free-running clock that runs regardless of the state of the + MPU bus. + + Valid Peripheral Address (VPA ) +Freescale Semiconductor, Inc... + + + + + This input signal indicates that the device or memory area addressed is an M6800 + Family device or a memory area assigned to M6800 Family devices and that data + transfer should be synchronized with the E signal. This input also indicates that the + processor should use automatic vectoring for an interrupt. Refer to Appendix B M6800 + Peripheral Interface. + + Valid Memory Address ( VMA) + This output signal indicates to M6800 peripheral devices that the address on the + address bus is valid and that the processor is synchronized to the E signal. This signal + only responds to a VPA input that identifies an M6800 Family device. + + The MC68008 does not supply a VMA signal. This signal can be produced by a + transistor-to-transistor logic (TTL) circuit; an example is described in Appendix B + M6800 Peripheral Interface. + + 3.8 PROCESSOR FUNCTION CODES (FC0, FC1, FC2) + These function code outputs indicate the mode (user or supervisor) and the address + space type currently being accessed, as shown in Table 3-3. The function code outputs + are valid whenever AS is active. + + + + + 3-8 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 3-3. Function Code Outputs + Function Code Output + FC2 FC1 FC0 Address Space Type + Low Low Low (Undefined, Reserved) + Low Low High User Data + Low High Low User Program + Low High High (Undefined, Reserved) + High Low Low (Undefined, Reserved) + High Low High Supervisor Data + High High Low Supervisor Program + High High High CPU Space +Freescale Semiconductor, Inc... + + + + + 3.9 CLOCK (CLK) + The clock input is a TTL-compatible signal that is internally buffered for development of + the internal clocks needed by the processor. This clock signal is a constant frequency + square wave that requires no stretching or shaping. The clock input should not be gated + off at any time, and the clock signal must conform to minimum and maximum pulse-width + times listed in Section 10 Electrical Characteristics. + + 3.10 POWER SUPPLY (V CC and GND) + Power is supplied to the processor using these connections. The positive output of the + power supply is connected to the VCC pins and ground is connected to the GND pins. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 3-9 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + 3.11 SIGNAL SUMMARY + Table 3-4 summarizes the signals discussed in the preceding paragraphs. + + Table 3-4. Signal Summary + Hi-Z + Signal Name Mnemonic Input/Output Active State On HALT On Bus + Relinquish + Address Bus A0–A23 Output High Yes Yes + Data Bus D0–D15 Input/Output High Yes Yes + Address Strobe AS Output Low No Yes + Read/Write R/ W Output Read-High No Yes +Freescale Semiconductor, Inc... + + + + + Write-Low + Data Strobe DS Output Low No Yes + Upper and Lower Data Strobes UDS, LDS Output Low No Yes + Data Transfer Acknowledge DTACK Input Low No No + Bus Request BR Input Low No No + Bus Grant BG Output Low No No + Bus Grant Acknowledge BGACK Input Low No No + Interrupt Priority Level IPL 0, IPL 1, Input Low No No + IPL 2 + Bus Error BERR Input Low No No + Mode MODE Input High — — + Reset RESET Input/Output Low No* No* + Halt HALT Input/Output Low No* No* + Enable E Output High No No + Valid Memory Address VMA Output Low No Yes + Valid Peripheral Address VPA Input Low No No + Function Code Output FC0, FC1, Output High No Yes + FC2 + Clock CLK Input High No No + Power Input VCC Input — — — + Ground GND Input — — — + *Open drain. + + + + + 3-10 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + SECTION 4 + 8-BIT BUS OPERATION + The following paragraphs describe control signal and bus operation for 8-bit operation + during data transfer operations, bus arbitration, bus error and halt conditions, and reset + operation. The 8-bit bus operations devices are the MC68008, MC68HC001 in 8-bit mode, + and MC68EC000 in 8-bit mode. The MC68HC001 and MC68EC000 select 8-bit mode by + grounding mode during reset. +Freescale Semiconductor, Inc... + + + + + 4.1 DATA TRANSFER OPERATIONS + Transfer of data between devices involves the following signals: + 1. Address bus A0 through highest numbered address line + 2. Data bus D0 through D7 + 3. Control signals + + The address and data buses are separate parallel buses used to transfer data using an + asynchronous bus structure. In all cases, the bus master must deskew all signals it issues + at both the start and end of a bus cycle. In addition, the bus master must deskew the + acknowledge and data signals from the slave device. For the MC68HC001 and + MC68EC000, UDS is held negated and D15–D8 are undefined in 8-bit mode. + + The following paragraphs describe the read, write, read-modify-write, and CPU space + cycles. The indivisible read-modify-write cycle implements interlocked multiprocessor + communications. A CPU space cycle is a special processor cycle. + + 4.1.1 Read Cycle + During a read cycle, the processor receives one byte of data from the memory or from a + peripheral device. When the data is received, the processor internally positions the byte + appropriately. + + The 8-bit operation must perform two or four read cycles to access a word or long word, + asserting the data strobe to read a single byte during each cycle. The address bus in 8-bit + operation includes A0, which selects the appropriate byte for each read cycle. Figure 4-1 + and 4-2 illustrate the byte read-cycle operation. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 4-1 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + BUS MASTER SLAVE + ADDRESS THE DEVICE + + 1) SET R/W TO READ + 2) PLACE FUNCTION CODE ON FC2–FC0 + 3) PLACE ADDRESS ON A23-A0 + 4) ASSERT ADDRESS STROBE (AS) + 5) ASSERT LOWER DATA STROBE (LDS) + (DS ON MC68008) INPUT THE DATA + + 1) DECODE ADDRESS + 2) PLACE DATA ON D7–D0 + 3) ASSERT DATA TRANSFER + ACKNOWLEDGE (DTACK) + ACQUIRE THE DATA + + 1) LATCH DATA + 2) NEGATE LDS (DS FOR MC68008) + 3) NEGATE AS + + TERMINATE THE CYCLE +Freescale Semiconductor, Inc... + + + + + 1) REMOVE DATA FROM D7–D0 + 2) NEGATE DTACK + + + START NEXT CYCLE + + + + Figure 4-1. Byte Read-Cycle Flowchart + + + S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 w w w w S5 S6 S7 + CLK + + + FC2–FC0 + + + A23–A0 + + + AS + + (DS) LDS + + + R/W + + + DTACK + + D7–D0 + + + READ WRITE 2 WAIT STATE READ + + + Figure 4-2. Read and Write-Cycle Timing Diagram + + + + + 4-2 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + A bus cycle consists of eight states. The various signals are asserted during specific + states of a read cycle, as follows: + + STATE 0 The read cycle starts in state 0 (S0). The processor places valid function + codes on FC0–FC2 and drives R/W high to identify a read cycle. + + STATE 1 Entering state 1 (S1), the processor drives a valid address on the address + bus. + + STATE 2 On the rising edge of state 2 (S2), the processor asserts AS and LDS, + or DS. + + STATE 3 During state 3 (S3), no bus signals are altered. +Freescale Semiconductor, Inc... + + + + + STATE 4 During state 4 (S4), the processor waits for a cycle termination signal + (DTACK or BERR) or VPA, an M6800 peripheral signal. When VPA is + asserted during S4, the cycle becomes a peripheral cycle (refer to + Appendix B M6800 Peripheral Interface). If neither termination signal is + asserted before the falling edge at the end of S4, the processor inserts wait + states (full clock cycles) until either DTACK or BERR is asserted. + + STATE 5 During state 5 (S5), no bus signals are altered. + + STATE 6 During state 6 (S6), data from the device is driven onto the data bus. + + STATE 7 On the falling edge of the clock entering state 7 (S7), the processor latches + data from the addressed device and negates A S and L D S, or DS. At + the rising edge of S7, the processor places the address bus in the high- + impedance state. The device negates DTACK or BERR at this time. + + NOTE + During an active bus cycle, VPA and BERR are sampled on + every falling edge of the clock beginning with S4, and data is + latched on the falling edge of S6 during a read cycle. The bus + cycle terminates in S7, except when BERR is asserted in the + absence of DTACK. In that case, the bus cycle terminates one + clock cycle later in S9. + + 4.1.2 Write Cycle + During a write cycle, the processor sends bytes of data to the memory or peripheral + device. Figures 4-3 and 4-4 illustrate the write-cycle operation + + The 8-bit operation performs two write cycles for a word write operation, issuing the data + strobe signal during each cycle. The address bus includes the A0 bit to select the desired + byte. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 4-3 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + BUS MASTER SLAVE + ADDRESS THE DEVICE + + 1) PLACE FUNCTION CODE ON FC2–FC0 + 2) PLACE ADDRESS ON A23–A0 + 3) ASSERT ADDRESS STROBE (AS) + 4) SET R/W TO WRITE + 5) PLACE DATA ON D0–D7 + 6) ASSERT LOWER DATA STROBE (LDS) INPUT THE DATA + OR DS + 1) DECODE ADDRESS + 2) STORE DATA ON D7–D0 + 3) ASSERT DATA TRANSFER + ACKNOWLEDGE (DTACK) + TERMINATE OUTPUT TRANSFER + + 1) NEGATE LDS OR DS + 2) NEGATE AS + 3) REMOVE DATA FROM D7-D0 + 4) SET R/W TO READ + TERMINATE THE CYCLE +Freescale Semiconductor, Inc... + + + + + 1) NEGATE DTACK + + + + START NEXT CYCLE + + + + Figure 4-3. Byte Write-Cycle Flowchart + + + S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7 + CLK + + FC2–FC0 + + A23–A0 + + + AS + + + LDS + + R/W + + + DTACK + + D7–D0 + + + ODD BYTE WRITE ODD BYTE WRITE EVEN BYTE WRITE + + + Figure 4-4. Write-Cycle Timing Diagram + + + + + 4-4 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + The descriptions of the eight states of a write cycle are as follows: + + STATE 0 The write cycle starts in S0. The processor places valid function codes on + FC2–FC0 and drives R/W high (if a preceding write cycle has left R/W low). + + STATE 1 Entering S1, the processor drives a valid address on the address bus. + + STATE 2 On the rising edge of S2, the processor asserts AS and drives R/W low. + + STATE 3 During S3, the data bus is driven out of the high-impedance state as the + data to be written is placed on the bus. + + STATE 4 At the rising edge of S4, the processor asserts L D S, or D S. The + processor waits for a cycle termination signal (DTACK or BERR) or VPA, an +Freescale Semiconductor, Inc... + + + + + M6800 peripheral signal. When VPA is asserted during S4, the cycle + becomes a peripheral cycle (refer to Appendix B M6800 Peripheral + Interface). If neither termination signal is asserted before the falling + edge at the end of S4, the processor inserts wait states (full clock cycles) + until either DTACK or BERR is asserted. + + STATE 5 During S5, no bus signals are altered. + + STATE 6 During S6, no bus signals are altered. + + STATE 7 On the falling edge of the clock entering S7, the processor negates AS, + LDS, and DS. As the clock rises at the end of S7, the processor places + the address and data buses in the high-impedance state, and drives R/W + high. The device negates DTACK or BERR at this time. + + 4.1.3 Read-Modify-Write Cycle. + The read-modify-write cycle performs a read operation, modifies the data in the arithmetic + logic unit, and writes the data back to the same address. The address strobe ( AS) remains + asserted throughout the entire cycle, making the cycle indivisible. The test and set (TAS) + instruction uses this cycle to provide a signaling capability without deadlock between + processors in a multiprocessing environment. The TAS instruction (the only instruction + that uses the read-modify-write cycle) only operates on bytes. Thus, all read-modify-write + cycles are byte operations. Figure 4-5 and 4-6 illustrate the read-modify-write cycle + operation. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 4-5 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + BUS MASTER SLAVE + ADDRESS THE DEVICE + 1) SET R/W TO READ + 2) PLACE FUNCTION CODE ON FC2–FC0 + 3) PLACE ADDRESS ON A23–A0 + 4) ASSERT ADDRESS STROBE (AS) + 5) ASSERT LOWER DATA STROBE (LDS) INPUT THE DATA + (DS ON MC68008) + 1) DECODE ADDRESS + 2) PLACE DATA ON D7–D0 + 3) ASSERT DATA TRANSFER + ACKNOWLEDGE (DTACK) + ACQUIRE THE DATA + + 1) LATCH DATA + 1) NEGATE LDS OR DS + 2) START DATA MODIFICATION TERMINATE THE CYCLE + + 1) REMOVE DATA FROM D7–D0 + 2) NEGATE DTACK +Freescale Semiconductor, Inc... + + + + + START OUTPUT TRANSFER + 1) SET R/W TO WRITE + 2) PLACE DATA ON D7–D0 + 3) ASSERT LOWER DATA STROBE (LDS) + (DS ON MC68008) INPUT THE DATA + + 1) STORE DATA ON D7–D0 + 2) ASSERT DATA TRANSFER + TERMINATE OUTPUT TRANSFER ACKNOWLEDGE (DTACK) + + 1) NEGATE DS OR LDS + 2) NEGATE AS + 3) REMOVE DATA FROM D7–D0 + 4) SET R/W TO READ + TERMINATE THE CYCLE + + 1) NEGATE DTACK + + START NEXT CYCLE + + + + Figure 4-5. Read-Modify-Write Cycle Flowchart + + + + + 4-6 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15 S16 S17 S18 S19 + CLK + + + FC2–FC0 + + A23–A0 + + + AS + + + DS OR LDS + + R/W + + + DTACK + + D7–D0 +Freescale Semiconductor, Inc... + + + + + INDIVISIBLE CYCLE + + + Figure 4-6. Read-Modify-Write Cycle Timing Diagram + + The descriptions of the read-modify-write cycle states are as follows: + STATE 0 The read cycle starts in S0. The processor places valid function codes on + FC2–FC0 and drives R/W high to identify a read cycle. + + STATE 1 Entering S1, the processor drives a valid address on the address bus. + + STATE 2 On the rising edge of S2, the processor asserts AS and LDS, or DS. + + STATE 3 During S3, no bus signals are altered. + + STATE 4 During S4, the processor waits for a cycle termination signal (DTACK or + BERR) or VPA, an M6800 peripheral signal. When VPA is asserted during + S4, the cycle becomes a peripheral cycle (refer to Appendix B M6800 + Peripheral Interface). If neither termination signal is asserted before the + falling edge at the end of S4, the processor inserts wait states (full clock + cycles) until either DTACK or BERR is asserted. + + STATE 5 During S5, no bus signals are altered. + + STATE 6 During S6, data from the device are driven onto the data bus. + + STATE 7 On the falling edge of the clock entering S7, the processor accepts data + from the device and negates L D S , and D S. The device negates + DTACK or BERR at this time. + + STATES 8–11 + The bus signals are unaltered during S8–S11, during which the arithmetic + logic unit makes appropriate modifications to the data. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 4-7 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + STATE 12 The write portion of the cycle starts in S12. The valid function codes on + FC2–FC0, the address bus lines, AS, and R/W remain unaltered. + + STATE 13 During S13, no bus signals are altered. + + STATE 14 On the rising edge of S14, the processor drives R/W low. + + STATE 15 During S15, the data bus is driven out of the high-impedance state as the + data to be written are placed on the bus. + + STATE 16 At the rising edge of S16, the processor asserts L D S or DS. The + processor waits for DTACK or BERR or VPA, an M6800 peripheral signal. + When VPA is asserted during S16, the cycle becomes a peripheral cycle + (refer to Appendix B M6800 Peripheral Interface). If neither termination +Freescale Semiconductor, Inc... + + + + + signal is asserted before the falling edge at the close of S16, the processor + inserts wait states (full clock cycles) until either DTACK or BERR is asserted. + + STATE 17 During S17, no bus signals are altered. + + STATE 18 During S18, no bus signals are altered. + + STATE 19 On the falling edge of the clock entering S19, the processor negates AS, + L D S , and DS. As the clock rises at the end of S19, the processor + places the address and data buses in the high-impedance state, and drives + R/W high. The device negates DTACK or BERR at this time. + + + 4.2 OTHER BUS OPERATIONS + Refer to Section 5 16-Bit Bus Operations for information on the following items: + + • CPU Space Cycle + • Bus Arbitration + — Bus Request + — Bus Grant + — Bus Acknowledgment + • Bus Control + • Bus Errors and Halt Operations + • Reset Operations + • Asynchronous Operations + • Synchronous Operations + + + + + 4-8 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + SECTION 5 + 16-BIT BUS OPERATION + The following paragraphs describe control signal and bus operation for 16-bit bus + operations during data transfer operations, bus arbitration, bus error and halt conditions, + and reset operation. The 16-bit bus operation devices are the MC68000, MC68HC000, + MC68010, and the MC68HC001 and MC68EC000 in 16-bit mode. The MC68HC001 and + MC68EC000 select 16-bit mode by pulling mode high or leave it floating during reset. +Freescale Semiconductor, Inc... + + + + + 5.1 DATA TRANSFER OPERATIONS + Transfer of data between devices involves the following signals: + 1. Address bus A1 through highest numbered address line + 2. Data bus D0 through D15 + 3. Control signals + + The address and data buses are separate parallel buses used to transfer data using an + asynchronous bus structure. In all cases, the bus master must deskew all signals it issues + at both the start and end of a bus cycle. In addition, the bus master must deskew the + acknowledge and data signals from the slave device. + + The following paragraphs describe the read, write, read-modify-write, and CPU space + cycles. The indivisible read-modify-write cycle implements interlocked multiprocessor + communications. A CPU space cycle is a special processor cycle. + + 5.1.1 Read Cycle + During a read cycle, the processor receives either one or two bytes of data from the + memory or from a peripheral device. If the instruction specifies a word or long-word + operation, the MC68000, MC68HC000, MC68HC001, MC68EC000, or MC68010 + processor reads both upper and lower bytes simultaneously by asserting both upper and + lower data strobes. When the instruction specifies byte operation, the processor uses the + internal A0 bit to determine which byte to read and issues the appropriate data strobe. + When A0 equals zero, the upper data strobe is issued; when A0 equals one, the lower + data strobe is issued. When the data is received, the processor internally positions the + byte appropriately. + + The word read-cycle flowchart is shown in Figure 5-1 and the byte read-cycle flowchart is + shown in Figure 5-2. The read and write cycle timing is shown in Figure 5-3 and the word + and byte read-cycle timing diagram is shown in Figure 5-4. + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-1 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + BUS MASTER SLAVE + ADDRESS THE DEVICE + 1) SET R/W TO READ + 2) PLACE FUNCTION CODE ON FC2–FC0 + 3) PLACE ADDRESS ON A23–A1 + 4) ASSERT ADDRESS STROBE (AS) + 5) ASSERT UPPER DATA STROBE (UDS) INPUT THE DATA + AND LOWER DATA STROBE (LDS) + 1) DECODE ADDRESS + 2) PLACE DATA ON D15–D0 + 3) ASSERT DATA TRANSFER + ACKNOWLEDGE (DTACK) + ACQUIRE THE DATA + + 1) LATCH DATA + 2) NEGATE UDS AND LDS + 3) NEGATE AS + + TERMINATE THE CYCLE +Freescale Semiconductor, Inc... + + + + + 1) REMOVE DATA FROM D15–D0 + 2) NEGATE DTACK + + + START NEXT CYCLE + + + + Figure 5-1. Word Read-Cycle Flowchart + + + BUS MASTER SLAVE + ADDRESS THE DEVICE + + 1) SET R/W TO READ + 2) PLACE FUNCTION CODE ON FC2–FC0 + 3) PLACE ADDRESS ON A23-A1 + 4) ASSERT ADDRESS STROBE (AS) + 5) ASSERT UPPER DATA STROBE (UDS) + OR LOWER DATA STROBE (LDS) INPUT THE DATA + (BASED ON INTERNAL A0) + 1) DECODE ADDRESS + 2) PLACE DATA ON D7–D0 OR D15–D8 + (BASED ON UDS OR LDS) + 3) ASSERT DATA TRANSFER + ACQUIRE THE DATA ACKNOWLEDGE (DTACK) + + 1) LATCH DATA + 2) NEGATE UDS AND LDS + 3) NEGATE AS + + TERMINATE THE CYCLE + + 1) REMOVE DATA FROM D7–D0 + OR D15–D8 + 2) NEGATE DTACK + + START NEXT CYCLE + + + + Figure 5-2. Byte Read-Cycle Flowchart + + + + + 5-2 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 w w w w S5 S6 S7 + CLK + + + FC2–FC0 + + + A23–A1 + + + AS + + + UDS + + + LDS + + + R/W +Freescale Semiconductor, Inc... + + + + + DTACK + + + D15–D8 + + + D7–D0 + + + READ WRITE 2 WAIT STATE READ + + + Figure 5-3. Read and Write-Cycle Timing Diagram + + + S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7 + CLK + + + FC2–FC0 + + + A23–A1 + + + A0 * + + AS + + + UDS + + + LDS + + R/W + + DTACK + + + D15–D8 + + + D7–D0 + + + READ WRITE READ + *Internal Signal Only + + Figure 5-4. Word and Byte Read-Cycle Timing Diagram + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-3 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + A bus cycle consists of eight states. The various signals are asserted during specific + states of a read cycle, as follows: + + STATE 0 The read cycle starts in state 0 (S0). The processor places valid function + codes on FC0–FC2 and drives R/W high to identify a read cycle. + + STATE 1 Entering state 1 (S1), the processor drives a valid address on the address + bus. + + STATE 2 On the rising edge of state 2 (S2), the processor asserts AS and UDS, LDS, + or DS. + + STATE 3 During state 3 (S3), no bus signals are altered. +Freescale Semiconductor, Inc... + + + + + STATE 4 During state 4 (S4), the processor waits for a cycle termination signal + (DTACK or BERR) or VPA, an M6800 peripheral signal. When VPA is + asserted during S4, the cycle becomes a peripheral cycle (refer to + Appendix B M6800 Peripheral Interface). If neither termination signal is + asserted before the falling edge at the end of S4, the processor inserts wait + states (full clock cycles) until either DTACK or BERR is asserted. + + STATE 5 During state 5 (S5), no bus signals are altered. + + STATE 6 During state 6 (S6), data from the device is driven onto the data bus. + + STATE 7 On the falling edge of the clock entering state 7 (S7), the processor latches + data from the addressed device and negates AS, U D S, and LDS. At + the rising edge of S7, the processor places the address bus in the high- + impedance state. The device negates DTACK or BERR at this time. + + NOTE + During an active bus cycle, VPA and BERR are sampled on + every falling edge of the clock beginning with S4, and data is + latched on the falling edge of S6 during a read cycle. The bus + cycle terminates in S7, except when BERR is asserted in the + absence of DTACK. In that case, the bus cycle terminates one + clock cycle later in S9. + + 5.1.2 Write Cycle + During a write cycle, the processor sends bytes of data to the memory or peripheral + device. If the instruction specifies a word operation, the processor issues both UDS and + LDS and writes both bytes. When the instruction specifies a byte operation, the processor + uses the internal A0 bit to determine which byte to write and issues the appropriate data + strobe. When the A0 bit equals zero, UDS is asserted; when the A0 bit equals one, LDS is + asserted. + + + + + 5-4 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + The word and byte write-cycle timing diagram and flowcharts in Figures 5-5, 5-6, and 5-7 + applies directly to the MC68000, the MC68HC000, the MC68HC001 (in 16-bit mode), the + MC68EC000 (in 16-bit mode), and the MC68010. + + BUS MASTER SLAVE + ADDRESS THE DEVICE + + 1) PLACE FUNCTION CODE ON FC2–FC0 + 2) PLACE ADDRESS ON A23–A1 + 3) ASSERT ADDRESS STROBE (AS) + 4) SET R/W TO WRITE + 5) PLACE DATA ON D15–D0 INPUT THE DATA + 6) ASSERT UPPER DATA STROBE (UDS) + AND LOWER DATA STROBE (LDS) 1) DECODE ADDRESS + 2) STORE DATA ON D15–D0 + 3) ASSERT DATA TRANSFER + ACKNOWLEDGE (DTACK) +Freescale Semiconductor, Inc... + + + + + TERMINATE OUTPUT TRANSFER + + + 1) NEGATE UDS AND LDS + 2) NEGATE AS + 3) REMOVE DATA FROM D15–D0 + 4) SET R/W TO READ + TERMINATE THE CYCLE + + + 1) NEGATE DTACK + + + START NEXT CYCLE + + + + Figure 5-5. Word Write-Cycle Flowchart + + + BUS MASTER SLAVE + ADDRESS THE DEVICE + + 1) PLACE FUNCTION CODE ON FC2–FC0 + 2) PLACE ADDRESS ON A23–A1 + 3) ASSERT ADDRESS STROBE (AS) + 4) SET R/W TO WRITE + 5) PLACE DATA ON D0–D7 OR D15–D8 + (ACCORDING TO INTERNAL A0) INPUT THE DATA + 6) ASSERT UPPER DATA STROBE (UDS) + OR LOWER DATA STROBE (LDS) 1) DECODE ADDRESS + (BASED ON INTERNAL A0) 2) STORE DATA ON D7–D0 IF LDS IS + ASSERTED. STORE DATA ON D15–D8 + IF UDS IS ASSERTED + TERMINATE OUTPUT TRANSFER 3) ASSERT DATA TRANSFER + ACKNOWLEDGE (DTACK) + 1) NEGATE UDS AND LDS + 2) NEGATE AS + 3) REMOVE DATA FROM D7-D0 OR + D15-D8 + 4) SET R/W TO READ TERMINATE THE CYCLE + + 1) NEGATE DTACK + + + + START NEXT CYCLE + + + + Figure 5-6. Byte Write-Cycle Flowchart + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-5 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7 + CLK + + FC2–FC0 + + A23–A1 + + + A0* + + + AS + + + UDS + + + LDS + + R/W +Freescale Semiconductor, Inc... + + + + + DTACK + + + D15–D8 + + + D7–D0 + *INTERNAL SIGNAL ONLY + WORD WRITE ODD BYTE WRITE EVEN BYTE WRITE + + + Figure 5-7. Word and Byte Write-Cycle Timing Diagram + + The descriptions of the eight states of a write cycle are as follows: + STATE 0 The write cycle starts in S0. The processor places valid function codes on + FC2–FC0 and drives R/W high (if a preceding write cycle has left R/W low). + + STATE 1 Entering S1, the processor drives a valid address on the address bus. + + STATE 2 On the rising edge of S2, the processor asserts AS and drives R/W low. + + STATE 3 During S3, the data bus is driven out of the high-impedance state as the + data to be written is placed on the bus. + + STATE 4 At the rising edge of S4, the processor asserts U D S , or LDS. The + processor waits for a cycle termination signal (DTACK or BERR) or VPA, an + M6800 peripheral signal. When VPA is asserted during S4, the cycle + becomes a peripheral cycle (refer to Appendix B M6800 Peripheral + Interface. If neither termination signal is asserted before the falling + edge at the end of S4, the processor inserts wait states (full clock cycles) + until either DTACK or BERR is asserted. + + STATE 5 During S5, no bus signals are altered. + + STATE 6 During S6, no bus signals are altered. + + + + 5-6 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + STATE 7 On the falling edge of the clock entering S7, the processor negates AS, + UDS, or LDS. As the clock rises at the end of S7, the processor places + the address and data buses in the high-impedance state, and drives R/W + high. The device negates DTACK or BERR at this time. + + 5.1.3 Read-Modify-Write Cycle. + The read-modify-write cycle performs a read operation, modifies the data in the arithmetic + logic unit, and writes the data back to the same address. The address strobe ( AS) remains + asserted throughout the entire cycle, making the cycle indivisible. The test and set (TAS) + instruction uses this cycle to provide a signaling capability without deadlock between + processors in a multiprocessing environment. The TAS instruction (the only instruction + that uses the read-modify-write cycle) only operates on bytes. Thus, all read-modify-write + cycles are byte operations. The read-modify-write flowchart shown in Figure 5-8 and the +Freescale Semiconductor, Inc... + + + + + timing diagram in Figure 5-9, applies to the MC68000, the MC68HC000, the MC68HC001 + (in 16-bit mode), the MC68EC000 (in 16-bit mode), and the MC68010. + + BUS MASTER SLAVE + ADDRESS THE DEVICE + 1) SET R/W TO READ + 2) PLACE FUNCTION CODE ON FC2–FC0 + 3) PLACE ADDRESS ON A23–A1 + 4) ASSERT ADDRESS STROBE (AS) + 5) ASSERT UPPER DATA STROBE (UDS) INPUT THE DATA + OR LOWER DATA STROBE (LDS) + 1) DECODE ADDRESS + 2) PLACE DATA ON D7–D0 OR D15–D0 + 3) ASSERT DATA TRANSFER + ACKNOWLEDGE (DTACK) + ACQUIRE THE DATA + + 1) LATCH DATA + 1) NEGATE UDS AND LDS + 2) START DATA MODIFICATION TERMINATE THE CYCLE + + 1) REMOVE DATA FROM D7–D0 + OR D15–D8 + START OUTPUT TRANSFER 2) NEGATE DTACK + + 1) SET R/W TO WRITE + 2) PLACE DATA ON D7–D0 OR D15–D8 + 3) ASSERT UPPER DATA STROBE (UDS) + OR LOWER DATA STROBE (LDS) INPUT THE DATA + + 1) STORE DATA ON D7–D0 OR D15–D8 + 2) ASSERT DATA TRANSFER + TERMINATE OUTPUT TRANSFER ACKNOWLEDGE (DTACK) + + 1) NEGATE UDS OR LDS + 2) NEGATE AS + 3) REMOVE DATA FROM D7–D0 OR + D15–D8 + TERMINATE THE CYCLE + 4) SET R/W TO READ + 1) NEGATE DTACK + + START NEXT CYCLE + + + Figure 5-8. Read-Modify-Write Cycle Flowchart + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-7 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15 S16 S17 S18 S19 + CLK + + + A23–A1 + + + AS + + + UDS OR LDS + + R/W + + + DTACK + + D15–D8 + + + FC2–FC0 +Freescale Semiconductor, Inc... + + + + + INDIVISIBLE CYCLE + + + Figure 5-9. Read-Modify-Write Cycle Timing Diagram + + The descriptions of the read-modify-write cycle states are as follows: + STATE 0 The read cycle starts in S0. The processor places valid function codes on + FC2–FC0 and drives R/W high to identify a read cycle. + + STATE 1 Entering S1, the processor drives a valid address on the address bus. + + STATE 2 On the rising edge of S2, the processor asserts AS and UDS, or LDS. + + STATE 3 During S3, no bus signals are altered. + + STATE 4 During S4, the processor waits for a cycle termination signal (DTACK or + BERR) or VPA, an M6800 peripheral signal. When VPA is asserted during + S4, the cycle becomes a peripheral cycle (refer to Appendix B M6800 + Peripheral Interface). If neither termination signal is asserted before the + falling edge at the end of S4, the processor inserts wait states (full clock + cycles) until either DTACK or BERR is asserted. + + STATE 5 During S5, no bus signals are altered. + + STATE 6 During S6, data from the device are driven onto the data bus. + + STATE 7 On the falling edge of the clock entering S7, the processor accepts data + from the device and negates U D S , and LDS. The device negates + DTACK or BERR at this time. + + STATES 8–11 + The bus signals are unaltered during S8–S11, during which the arithmetic + logic unit makes appropriate modifications to the data. + + + + + 5-8 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + STATE 12 The write portion of the cycle starts in S12. The valid function codes on + FC2–FC0, the address bus lines, AS, and R/W remain unaltered. + + STATE 13 During S13, no bus signals are altered. + + STATE 14 On the rising edge of S14, the processor drives R/W low. + + STATE 15 During S15, the data bus is driven out of the high-impedance state as the + data to be written are placed on the bus. + + STATE 16 At the rising edge of S16, the processor asserts U D S or L D S . The + processor waits for DTACK or BERR or VPA, an M6800 peripheral signal. + When VPA is asserted during S16, the cycle becomes a peripheral cycle + (refer to Appendix B M6800 Peripheral Interface). If neither termination +Freescale Semiconductor, Inc... + + + + + signal is asserted before the falling edge at the close of S16, the processor + inserts wait states (full clock cycles) until either DTACK or BERR is asserted. + + STATE 17 During S17, no bus signals are altered. + + STATE 18 During S18, no bus signals are altered. + + STATE 19 On the falling edge of the clock entering S19, the processor negates AS, + UDS, and LDS. As the clock rises at the end of S19, the processor + places the address and data buses in the high-impedance state, and drives + R/W high. The device negates DTACK or BERR at this time. + + 5.1.4 CPU Space Cycle + A CPU space cycle, indicated when the function codes are all high, is a special processor + cycle. Bits A16–A19 of the address bus identify eight types of CPU space cycles. Only the + interrupt acknowledge cycle, in which A16–A19 are high, applies to all the + microprocessors described in this manual. The MC68010 defines an additional type of + CPU space cycle, the breakpoint acknowledge cycle, in which A16–A19 are all low. Other + configurations of A16–A19 are reserved by Motorola to define other types of CPU cycles + used in other M68000 Family microprocessors. Figure 5-10 shows the encoding of CPU + space addresses. + + FUNCTION ADDRESS BUS + CODE + 2 0 31 23 19 16 0 + BREAKPOINT 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + ACKNOWLEDGE + (MC68010 only) + 31 3 1 0 + INTERRUPT 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 LEVEL 1 + ACKNOWLEDGE + + + CPU SPACE + TYPE FIELD + + + Figure 5-10. CPU Space Address Encoding + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-9 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + The interrupt acknowledge cycle places the level of the interrupt being acknowledged on + address bits A3–A1 and drives all other address lines high. The interrupt acknowledge + cycle reads a vector number when the interrupting device places a vector number on the + data bus and asserts DTACK to acknowledge the cycle. + + The timing diagram for an interrupt acknowledge cycle is shown in Figure 5-11. + Alternately, the interrupt acknowledge cycle can be autovectored. The interrupt + acknowledge cycle is the same, except the interrupting device asserts VPA instead of + DTACK. For an autovectored interrupt, the vector number used is $18 plus the interrupt + level. This is generated internally by the microprocessor when VPA (or AVEC) is asserted + on an interrupt acknowledge cycle. DTACK and V P A (A V E C) should never be + simultaneously asserted. +Freescale Semiconductor, Inc... + + + + + IPL2–IPL0 VALID INTERNALLY + IPL2–IPL0 SAMPLED + IPL2–IPL0 TRANSITION + + S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 w w w w S5 S6 + CLK + + FC2–FC0 + + + A23–A4 + + + A3–A1 + + + AS + + + UDS* + + + LDS + + + R/W + + + DTACK + + + D15–D8 + + + D7–D0 + + + IPL2–IPL0 + + LAST BUS CYCLE OF INSTRUCTION STACK IACK CYCLE STACK AND + (READ OR WRITE) PCL (VECTOR NUMBER VECTOR + (SSP) ACQUISITION) FETCH + + + * Although a vector number is one byte, both data strobes are asserted due to the microcode used for exception processing. The processor does not + recognize anything on data lines D8 through D15 at this time. + + + Figure 5-11. Interrupt Acknowledge Cycle Timing Diagram + + + + 5-10 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + The breakpoint acknowledge cycle is performed by the MC68010 to provide an indication + to hardware that a software breakpoint is being executed when the processor executes a + breakpoint (BKPT) instruction. The processor neither accepts nor sends data during this + cycle, which is otherwise similar to a read cycle. The cycle is terminated by either DTACK, + BERR, or as an M6800 peripheral cycle when V P A is asserted, and the processor + continues illegal instruction exception processing. Figure 5-12 illustrates the timing + diagram for the breakpoint acknowledge cycle. + + S0 S2 S4 S6 S0 S2 S4 S6 S0 S2 S4 S6 + CLK + + FC2–FC0 + + A23–A1 +Freescale Semiconductor, Inc... + + + + + AS + + UDS + + LDS + + + R/W + + DTACK + + D15–D8 + + D7–D0 + + WORD READ BREAKPOINT STACK PC LOW + CYCLE + + + Figure 5-12. Breakpoint Acknowledge Cycle Timing Diagram + + + 5.2 BUS ARBITRATION + Bus arbitration is a technique used by bus master devices to request, to be granted, and + to acknowledge bus mastership. Bus arbitration consists of the following: + 1. Asserting a bus mastership request + 2. Receiving a grant indicating that the bus is available at the end of the current cycle + 3. Acknowledging that mastership has been assumed + + There are two ways to arbitrate the bus, 3-wire and 2-wire bus arbitration. The MC68000, + MC68HC000, MC68EC000, MC68HC001, MC68008, and MC68010 can do 2-wire bus + arbitration. The MC68000, MC68HC000, MC68HC001, and MC68010 can do 3-wire bus + arbitration. Figures 5-13 and 5-15 show 3-wire bus arbitration and Figures 5-14 and 5-16 + show 2-wire bus arbitration. Bus arbitration on all microprocessors, except the 48-pin + MC68008 and MC68EC000, BGACK must be pulled high for 2-wire bus arbitration. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-11 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + PROCESSOR REQUESTING DEVICE + REQUEST THE BUS + + 1) ASSERT BUS REQUEST (BR) + + + GRANT BUS ARBITRATION + + 1) ASSERT BUS GRANT (BG) + + + ACKNOWLEDGE BUS MASTERSHIP + 1) EXTERNAL ARBITRATION DETER- + MINES NEXT BUS MASTER + 2) NEXT BUS MASTER WAITS FOR + CURRENT CYCLE TO COMPLETE + 3) NEXT BUS MASTER ASSERTS BUS + GRANT ACKNOWLEDGE (BGACK) + TERMINATE ARBITRATION TO BECOME NEW MASTER + 4) BUS MASTER NEGATES BR +Freescale Semiconductor, Inc... + + + + + 1) NEGATE BG (AND WAIT FOR BGACK + TO BE NEGATED) + OPERATE AS BUS MASTER + 1) PERFORM DATA TRANSFERS (READ + AND WRITE CYCLES) ACCORDING + TO THE SAME RULES THE PRO- + CESSOR USES + + + + + RELEASE BUS MASTERSHIP + + 1) NEGATE BGACK + REARBITRATE OR RESUME + PROCESSOR OPERATION + + + + Figure 5-13. 3-Wire Bus Arbitration Cycle Flowchart + (Not Applicable to 48-Pin MC68008 or MC68EC000) + + + + + 5-12 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + PROCESSOR REQUESTING DEVICE + REQUEST THE BUS + + 1) ASSERT BUS REQUEST (BR) + + GRANT BUS ARBITRATION + + 1) ASSERT BUS GRANT (BG) + + OPERATE AS BUS MASTER + + 1) EXTERNAL ARBITRATION DETER- + MINES NEXT BUS MASTER + 2) NEXT BUS MASTER WAITS FOR + CURRENT CYCLE TO COMPLETE + + + + + ACKNOWLEDGE RELEASE OF RELEASE BUS MASTERSHIP + BUS MASTERSHIP +Freescale Semiconductor, Inc... + + + + + 1) NEGATE BUS REQUEST (BR) + 1) NEGATE BUS GRANT (BG) + + + + + REARBITRATE OR RESUME + PROCESSOR OPERATION + + + + Figure 5-14. 2-Wire Bus Arbitration Cycle Flowchart + + + CLK + + FC2–FC0 + + A23–A1 + + AS + + LDS/ UDS + + R/W + + DTACK + + D15–D0 + + + BR + + BG + + BGACK + + PROCESSOR DMA DEVICE PROCESSOR DMA DEVICE + + + Figure 5-15. 3-Wire Bus Arbitration Timing Diagram + (Not Applicable to 48-Pin MC68008 or MC68EC000) + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-13 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + S0 S2 S4 S6 S0 S2 S4 S6 S0 S2 S4 S6 S0 S2 S4 S6 + CLK + + FC2–FC0 + + A19–A0 + + AS + + + DS + + R/W + + + DTACK + + D7–D0 +Freescale Semiconductor, Inc... + + + + + BR + + BG + + PROCESSOR DMA DEVICE PROCESSOR DMA DEVICE + + + Figure 5-16. 2-Wire Bus Arbitration Timing Diagram + + The timing diagram in Figure 5-15 shows that the bus request is negated at the time that + an acknowledge is asserted. This type of operation applies to a system consisting of a + processor and one other device capable of becoming bus master. In systems having + several devices that can be bus masters, bus request lines from these devices can be + wire-ORed at the processor, and more than one bus request signal could occur. + + The bus grant signal is negated a few clock cycles after the assertion of the bus grant + acknowledge signal. However, if bus requests are pending, the processor reasserts bus + grant for another request a few clock cycles after bus grant (for the previous request) is + negated. In response to this additional assertion of bus grant, external arbitration circuitry + selects the next bus master before the current bus master has completed the bus activity. + + The timing diagram in Figure 5-15 also applies to a system consisting of a processor and + one other device capable of becoming bus master. Since the 48-pin version of the + MC68008 and the MC68EC000 does not recognize a bus grant acknowledge signal, this + processor does not negate bus grant until the current bus master has completed the bus + activity. + + 5.2.1 Requesting The Bus + External devices capable of becoming bus masters assert BR to request the bus. This + signal can be wire-ORed (not necessarily constructed from open-collector devices) from + any of the devices in the system that can become bus master. The processor, which is at + a lower bus priority level than the external devices, relinquishes the bus after it completes + the current bus cycle. + + The bus grant acknowledge signal on all the processors except the 48-pin MC68008 and + MC68EC000 helps to prevent the bus arbitration circuitry from responding to noise on the + + 5-14 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + bus request signal. When no acknowledge is received before the bus request signal is + negated, the processor continues the use of the bus. + + 5.2.2 Receiving The Bus Grant + The processor asserts BG as soon as possible. Normally, this process immediately follows + internal synchronization, except when the processor has made an internal decision to + execute the next bus cycle but has not yet asserted AS for that cycle. In this case, BG is + delayed until AS is asserted to indicate to external devices that a bus cycle is in progress. + + BG can be routed through a daisy-chained network or through a specific priority-encoded + network. Any method of external arbitration that observes the protocol can be used. + + 5.2.3 Acknowledgment Of Mastership (3-Wire Bus Arbitration Only) +Freescale Semiconductor, Inc... + + + + + Upon receiving BG, the requesting device waits until AS, DTACK, and BGACK are negated + before asserting BGACK. The negation of AS indicates that the previous bus master has + completed its cycle. (No device is allowed to assume bus mastership while AS is + asserted.) The negation of BGACK indicates that the previous master has released the + bus. The negation of DTACK indicates that the previous slave has terminated the + connection to the previous master. (In some applications, DTACK might not be included in + this function; general-purpose devices would be connected using AS only.) When BGACK + is asserted, the asserting device is bus master until it negates BGACK. BGACK should not + be negated until after the bus cycle(s) is complete. A device relinquishes control of the bus + by negating BGACK. + + The bus request from the granted device should be negated after BGACK is asserted. If + another bus request is pending, BG is reasserted within a few clocks, as described in 5.3 + Bus Arbitration Control. The processor does not perform any external bus cycles before + reasserting BG. + + + 5.3 BUS ARBITRATION CONTROL + All asynchronous bus arbitration signals to the processor are synchronized before being + used internally. As shown in Figure 5-17, synchronization requires a maximum of one + cycle of the system clock, assuming that the asynchronous input setup time (#47, defined + in Section 10 Electrical Characteristic) has been met. The input asynchronous signal is + sampled on the falling edge of the clock and is valid internally after the next falling edge. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-15 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + INTERNAL SIGNAL VALID + + + EXTERNAL SIGNAL SAMPLED + + + + + CLK + + + + + BR (EXTERNAL) + + + + 47 +Freescale Semiconductor, Inc... + + + + + BR (iNTERNAL) + + + + + Figure 5-17. External Asynchronous Signal Synchronization + + Bus arbitration control is implemented with a finite-state machine. State diagram (a) in + Figure 5-18 applies to all processors using 3-wire bus arbitration and state diagram (b) + applies to processors using 2-wire bus arbitration, in which BGACK is permanently + negated internally or externally. The same finite-state machine is used, but it is effectively + a two-state machine because BGACK is always negated. + + In Figure 5-18, input signals R and A are the internally synchronized versions of BR and + BGACK. The BG output is shown as G, and the internal three-state control signal is shown + as T. If T is true, the address, data, and control buses are placed in the high-impedance + state when AS is negated. All signals are shown in positive logic (active high), regardless + of their true active voltage level. State changes (valid outputs) occur on the next rising + edge of the clock after the internal signal is valid. + + A timing diagram of the bus arbitration sequence during a processor bus cycle is shown in + Figure 5-19. The bus arbitration timing while the bus is inactive (e.g., the processor is + performing internal operations for a multiply instruction) is shown in Figure 5-20. + + When a bus request is made after the MPU has begun a bus cycle and before AS has + been asserted (S0), the special sequence shown in Figure 5-21 applies. Instead of being + asserted on the next rising edge of clock, BG is delayed until the second rising edge + following its internal assertion. + + + + + 5-16 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + RA + + + + 1 GT 1 + RA XA + RA + + + GT RA GT + + RA + + RA R+A + XX + RX + GT + + XA + + GT RA GT +Freescale Semiconductor, Inc... + + + + + RA + RA + + RA XX + GT + + + RA + + (a) 3-Wire Bus Arbitration + R + + + + + R GT + R + STATE 0 + + + R GT + GT + STATE 4 + STATE 1 + + X + GT X + STATE 3 + + GT + STATE 2 R + + + (b) 2-Wire Bus Arbitration + R + Notes: + 1. State machine will not change if + R = Bus Request Internal the bus is S0 or S1. Refer to + A = Bus Grant Acknowledge Internal BUS ARBITRATION CONTROL. 5.2.3. + G = Bus Grant 2. The address bus will be placed in + T = Three-state Control to Bus Control Logic the high-impedance state if T is + X = Don't Care asserted and AS is negated. + + + Figure 5-18. Bus Arbitration Unit State Diagrams + + Figures 5-19, 5-20, and 5-21 applies to all processors using 3-wire bus arbitration. Figures + 5-22, 5-23, and 5-24 applies to all processors using 2-wire bus arbitration. + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-17 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + BUS THREE-STATED BUS RELEASED FROM THREE STATE AND + BG ASSERTED PROCESSOR STARTS NEXT BUS CYCLE + BR VALID INTERNAL BGACK NEGATED INTERNAL + BR SAMPLED BGACK SAMPLED + BR ASSERTED BGACK NEGATED + + + CLK + S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 + BR + + + BG + + + BGACK + + FC2–FC0 + + + A23–A1 +Freescale Semiconductor, Inc... + + + + + AS + + + UDS + + + LDS + + + R/W + + + DTACK + + + D15–D0 + + PROCESSOR ALTERNATE BUS MASTER PROCESSOR + + + Figure 5-19. 3-Wire Bus Arbitration Timing Diagram—Processor Active + + + + + 5-18 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + BUS RELEASED FROM THREE STATE AND PROCESSOR STARTS NEXT BUS CYCLE + BGACK NEGATED + BG ASSERTED AND BUS THREE STATED + BR VALID INTERNAL + BR SAMPLED + BR ASSERTED + + + CLK + S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 + BR + + + BG + + + BGACK + + FC2–FC0 +Freescale Semiconductor, Inc... + + + + + A23–A1 + + + AS + + + UDS + + + LDS + + + R/W + + + DTACK + + + D15–D0 + BUS + PROCESSOR INACTIVE ALTERNATE BUS MASTER PROCESSOR + + + + Figure 5-20. 3-Wire Bus Arbitration Timing Diagram—Bus Inactive + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-19 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + BUS THREE-STATED BUS RELEASED FROM THREE STATE AND + BG ASSERTED PROCESSOR STARTS NEXT BUS CYCLE + BR VALID INTERNAL BGACK NEGATED INTERNAL + BR SAMPLED BGACK SAMPLED + BR ASSERTED BGACK NEGATED + + + CLK + S0 S2 S4 S6 S0 S2 S4 S6 S0 + + BR + + + BG + + + BGACK + + FC2–FC0 +Freescale Semiconductor, Inc... + + + + + A23–A1 + + + AS + + + UDS + + + LDS + + + R/W + + + DTACK + + + D15–D0 + + PROCESSOR ALTERNATE BUS MASTER PROCESSOR + + + Figure 5-21. 3-Wire Bus Arbitration Timing Diagram—Special Case + + + + + 5-20 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + BUS THREE-STATED BUS RELEASED FROM THREE STATE AND + BG ASSERTED PROCESSOR STARTS NEXT BUS CYCLE + BR VALID INTERNAL BR NEGATED INTERNAL + BR SAMPLED BR SAMPLED + BR ASSERTED BR NEGATED + + + CLK + S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 + BR + + + BG + + + BGACK + + FC2–FC0 +Freescale Semiconductor, Inc... + + + + + A23–A1 + + + AS + + + UDS + + + LDS + + + R/W + + + DTACK + + + D15–D0 + + PROCESSOR ALTERNATE BUS MASTER PROCESSOR + + + + Figure 5-22. 2-Wire Bus Arbitration Timing Diagram—Processor Active + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-21 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + BUS RELEASED FROM THREE STATE AND PROCESSOR STARTS NEXT BUS CYCLE + BR NEGATED + BG ASSERTED AND BUS THREE STATED + BR VALID INTERNAL + BR SAMPLED + BR ASSERTED + + + CLK + S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 + BR + + + BG + + + BGACK + + FC2–FC0 +Freescale Semiconductor, Inc... + + + + + A23–A1 + + + AS + + UDS + + + LDS + + + R/W + + + DTACK + + + D15–D0 + BUS + PROCESSOR ALTERNATE BUS MASTER PROCESSOR + INACTIVE + + + Figure 5-23. 2-Wire Bus Arbitration Timing Diagram—Bus Inactive + + + + + 5-22 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + BUS THREE-STATED BUS RELEASED FROM THREE STATE AND + BG ASSERTED PROCESSOR STARTS NEXT BUS CYCLE + BR VALID INTERNAL BR NEGATED INTERNAL + BR SAMPLED BR SAMPLED + BR ASSERTED BR NEGATED + + + CLK + S0 S2 S4 S6 S0 S2 S4 S6 S0 + + BR + + + BG + + + BGACK + + FC2–FC0 +Freescale Semiconductor, Inc... + + + + + A23–A1 + + + AS + + + UDS + + + LDS + + + R/W + + + DTACK + + + D15–D0 + + PROCESSOR ALTERNATE BUS MASTER PROCESSOR + + + + Figure 5-24. 2-Wire Bus Arbitration Timing Diagram—Special Case + + + 5.4. BUS ERROR AND HALT OPERATION + In a bus architecture that requires a handshake from an external device, such as the + asynchronous bus used in the M68000 Family, the handshake may not always occur. A + bus error input is provided to terminate a bus cycle in error when the expected signal is + not asserted. Different systems and different devices within the same system require + different maximum-response times. External circuitry can be provided to assert the bus + error signal after the appropriate delay following the assertion of address strobe. + + In a virtual memory system, the bus error signal can be used to indicate either a page fault + or a bus timeout. An external memory management unit asserts bus error when the page + that contains the required data is not resident in memory. The processor suspends + execution of the current instruction while the page is loaded into memory. The MC68010 + pushes enough information on the stack to be able to resume execution of the instruction + following return from the bus error exception handler. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-23 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + The MC68010 also differs from the other microprocessors described in this manual + regarding bus errors. The MC68010 can detect a late bus error signal asserted within one + clock cycle after the assertion of data transfer acknowledge. When receiving a bus error + signal, the processor can either initiate a bus error exception sequence or try running the + cycle again. + + 5.4.1 Bus Error Operation + In all the microprocessors described in this manual, a bus error is recognized when + DTACK and HALT are negated and BERR is asserted. In the MC68010, a late bus error is + also recognized when HALT is negated, and DTACK and BERR are asserted within one + clock cycle. + + When the bus error condition is recognized, the current bus cycle is terminated in S9 for a +Freescale Semiconductor, Inc... + + + + + read cycle, a write cycle, or the read portion of a read-modify-write cycle. For the write + portion of a read-modify-write cycle, the current bus cycle is terminated in S21. As long as + BERR remains asserted, the data and address buses are in the high-impedance state. + Figure 5-25 shows the timing for the normal bus error, and Figure 5-26 shows the timing + for the MC68010 late bus error. + + S0 S2 S4 w w w w S6 S8 + CLK + + FC2–FC0 + + + A23–A1 + + + AS + + LDS/UDS + + R/W + + DTACK + + + D15–D0 + + BERR + + HALT + INITIATE RESPONSE BUS ERROR INITIATE BUS + READ FAILURE DETECTION ERROR STACKING + + + Figure 5-25. Bus Error Timing Diagram + + + + + 5-24 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + S0 S2 S4 S6 + CLK + + FC2–FC0 + + + A23–A1 + + + AS + + + UDS/LDS + + + R/W + + DTACK + + D15–D0 +Freescale Semiconductor, Inc... + + + + + BERR + + HALT + BUS ERROR INITIATE BUS + READ CYCLE DETECTION ERROR STACKING + + + Figure 5-26. Delayed Bus Error Timing Diagram (MC68010) + + After the aborted bus cycle is terminated and BERR is negated, the processor enters + exception processing for the bus error exception. During the exception processing + sequence, the following information is placed on the supervisor stack: + 1. Status register + 2. Program counter (two words, which may be up to five words past the instruction + being executed) + 3. Error information + + The first two items are identical to the information stacked by any other exception. The + error information differs for the MC68010. The MC68000, MC68HC000, MC68HC001, + MC68EC000, and MC68008 stack bus error information to help determine and to correct + the error. The MC68010 stacks the frame format and the vector offset followed by 22 + words of internal register information. The return from exception (RTE) instruction restores + the internal register information so that the MC68010 can continue execution of the + instruction after the error handler routine completes. + + After the processor has placed the required information on the stack, the bus error + exception vector is read from vector table entry 2 (offset $08) and placed in the program + counter. The processor resumes execution at the address in the vector, which is the first + instruction in the bus error handler routine. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-25 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + NOTE + In the MC68010, if a read-modify-write operation terminates in + a bus error, the processor reruns the entire read-modify-write + operation when the RTE instruction at the end of the bus error + handler returns control to the instruction in error. The + processor reruns the entire operation whether the error + occurred during the read or write portion. + + 5.4.2 Retrying The Bus Cycle + The assertion of the bus error signal during a bus cycle in which HALT is also asserted by + an external device initiates a retry operation. Figure 5-27 is a timing diagram of the retry + operation. The delayed BERR signal in the MC68010 also initiates a retry operation when + HALT is asserted by an external device. Figure 5-28 shows the timing of the delayed +Freescale Semiconductor, Inc... + + + + + operation. + + S0 S2 S4 S6 S8 S0 S2 S4 S6 + CLK + + + FC2-FC0 + + + A23–A1 + + + AS + + + LDS/UDS + + R/W + + DTACK + + D15–D0 + + + BERR + ≥ 1 CLOCK PERIOD + HALT + + READ HALT RETRY + + + Figure 5-27. Retry Bus Cycle Timing Diagram + + + + + 5-26 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + S0 S2 S4 S6 S0 S2 S4 S6 + CLK + + + FC2–FC0 + + + A23–A1 + + + AS + + UDS + + LDS + + + R/W + + DTACK +Freescale Semiconductor, Inc... + + + + + D0–D15 + + + BERR + + HALT + + + READ HALT RETRY + + + + Figure 5-28. Delayed Retry Bus Cycle Timing Diagram + + The processor terminates the bus cycle, then puts the address and data lines in the high- + impedance state. The processor remains in this state until HALT is negated. Then the + processor retries the preceding cycle using the same function codes, address, and data + (for a write operation). BERR should be negated at least one clock cycle before HALT is + negated. + + NOTE + To guarantee that the entire read-modify-write cycle runs + correctly and that the write portion of the operation is + performed without negating the address strobe, the processor + does not retry a read-modify-write cycle. When a bus error + occurs during a read-modify-write operation, a bus error + operation is performed whether or not HALT is asserted. + + 5.4.3 Halt Operation ( HALT) + HALT performs a halt/run/single-step operation similar to the halt operation of an + MC68000. When HALT is asserted by an external device, the processor halts and remains + halted as long as the signal remains asserted, as shown in Figure 5-29. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-27 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + S0 S2 S4 S6 S0 S2 S4 S6 + CLK + + + FC2–FC0 + + + A23–A1 + + + AS + + UDS + + LDS + + + R/W + + DTACK +Freescale Semiconductor, Inc... + + + + + D0–D15 + + + BERR + + HALT + + + READ HALT RETRY + + + + Figure 5-29. Halt Operation Timing Diagram + + While the processor is halted, the address bus and the data bus signals are placed in the + high-impedance state. Bus arbitration is performed as usual. Should a bus error occur + while HALT is asserted, the processor performs the retry operation previously described. + + The single-step mode is derived from correctly timed transitions of HALT. HALT is negated + to allow the processor to begin a bus cycle, then asserted to enter the halt mode when the + cycle completes. The single-step mode proceeds through a program one bus cycle at a + time for debugging purposes. The halt operation and the hardware trace capability allow + tracing of either bus cycles or instructions one at a time. These capabilities and a software + debugging package provide total debugging flexibility. + + 5.4.4 Double Bus Fault + When a bus error exception occurs, the processor begins exception processing by + stacking information on the supervisor stack. If another bus error occurs during exception + processing (i.e., before execution of another instruction begins) the processor halts and + asserts HALT. This is called a double bus fault. Only an external reset operation can + restart a processor halted due to a double bus fault. + + A retry operation does not initiate exception processing; a bus error during a retry + operation does not cause a double bus fault. The processor can continue to retry a bus + cycle indefinitely if external hardware requests. + + + + + 5-28 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + A double bus fault occurs during a reset operation when a bus error occurs while the + processor is reading the vector table (before the first instruction is executed). The reset + operation is described in the following paragraph. + + + 5.5 RESET OPERATION + RESET is asserted externally for the initial processor reset. Subsequently, the signal can + be asserted either externally or internally (executing a RESET instruction). For proper + external reset operation, HALT must also be asserted. + + When RESET and HALT are driven by an external device, the entire system, including the + processor, is reset. Resetting the processor initializes the internal state. The processor + reads the reset vector table entry (address $00000) and loads the contents into the + supervisor stack pointer (SSP). Next, the processor loads the contents of address $00004 +Freescale Semiconductor, Inc... + + + + + (vector table entry 1) into the program counter. Then the processor initializes the interrupt + level in the status register to a value of seven. In the MC68010, the processor also clears + the vector base register to $00000. No other register is affected by the reset sequence. + Figure 5-30 shows the timing of the reset operation. + + + + CLK + + + + 5 VOLTS + + VCC + T ≥ 100 MILLISECONDS + RESET + + + HALT + + T < 4 CLOCKS 1 + BUS CYCLES + 2 3 4 5 6 + + NOTES: + 1. Internal start-up time 4. PC High read in here Bus State Unknown: + 2. SSP high read in here 5. PC Low read in here + 3. SSP low read in here 6. First instruction fetched here All Control Signals Inactive. + Data Bus in Read Mode: + + + Figure 5-30. Reset Operation Timing Diagram + + The RESET instruction causes the processor to assert RESET for 124 clock periods to + reset the external devices of the system. The internal state of the processor is not + affected. Neither the status register nor any of the internal registers is affected by an + internal reset operation. All external devices in the system should be reset at the + completion of the RESET instruction. + + For the initial reset, RESET and HALT must be asserted for at least 100 ms. For a + subsequent external reset, asserting these signals for 10 clock cycles or longer resets the + processor. However, an external reset signal that is asserted while the processor is + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-29 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + executing a reset instruction is ignored. Since the processor asserts the RESET signal for + 124 clock cycles during execution of a reset instruction, an external reset should assert + RESET for at least 132 clock periods. + + + 5.6 THE RELATIONSHIP OF DTACK , BERR, AND HALT + To properly control termination of a bus cycle for a retry or a bus error condition, DTACK, + BERR, and HALT should be asserted and negated on the rising edge of the processor + clock. This relationship assures that when two signals are asserted simultaneously, the + required setup time (specification #47, Section 9 Electrical Characteristics) for both of + them is met during the same bus state. External circuitry should be designed to + incorporate this precaution. A related specification, #48, can be ignored when DTACK, + BERR, and HALT are asserted and negated on the rising edge of the processor clock. +Freescale Semiconductor, Inc... + + + + + The possible bus cycle termination can be summarized as follows (case numbers refer to + Table 5-5). + + Normal Termination: DTACK is asserted. BERR and HALT remain negated (case 1). + + Halt Termination: HALT is asserted coincident with or preceding DTACK, and + BERR remains negated (case 2). + + Bus Error Termination: BERR is asserted in lieu of, coincident with, or preceding + DTACK (case 3). In the MC68010, the late bus error also, + BERR is asserted following DTACK (case 4). HALT remains + negated and BERR is negated coincident with or after DTACK. + + Retry Termination: HALT and BERR asserted in lieu of, coincident with, or before + DTACK (case 5). In the MC68010, the late retry also, BERR + and HALT are asserted following DTACK (case 6). BERR is + negated coincident with or after DTACK. HALT must be held at + least one cycle after BERR. + + Table 5-1 shows the details of the resulting bus cycle termination in the M68000 + microprocessors for various combinations of signal sequences. + + + + + 5-30 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + Table 5-1. DTACK, BERR , and HALT Assertion Results + Asserted on + Case Control Rising Edge MC68000/MC68HC000/001 MC68010 Results + No. Signal of State EC000/MC68008 Results + N N+2 + 1 DTACK A S Normal cycle terminate and continue. Normal cycle terminate and continue. + BERR NA NA + HALT NA X + 2 DTACK A S Normal cycle terminate and halt. Normal cycle terminate and halt. + BERR NA NA Continue when HALT negated. Continue when HALT negated. + HALT A/S S + 3 DTACK X X Terminate and take bus error trap. Terminate and take bus error trap. + BERR A S + HALT NA NA +Freescale Semiconductor, Inc... + + + + + 4 DTACK A S Normal cycle terminate and continue. Terminate and take bus error trap. + BERR NA A + HALT NA NA + 5 DTACK X X Terminate and retry when HALT Terminate and retry when HALT + BERR A S removed. removed. + HALT A/S S + 6 DTACK A S Normal cycle terminate and continue. Terminate and retry when HALT + BERR NA A removed. + HALT NA A + LEGEND: + N — The number of the current even bus state (e.g., S4, S6, etc.) + A — Signal asserted in this bus state + NA — Signal not asserted in this bus state + X — Don't care + S — Signal asserted in preceding bus state and remains asserted in this state + + NOTE: All operations are subject to relevant setup and hold times. + + The negation of BERR and HALT under several conditions is shown in Table 5-6. (DTACK + is assumed to be negated normally in all cases; for reliable operation, both DTACK and + BERR should be negated when address strobe is negated). + + EXAMPLE A: + A system uses a watchdog timer to terminate accesses to unused address space. The + timer asserts BERR after timeout (case 3). + + EXAMPLE B: + A system uses error detection on random-access memory (RAM) contents. The system + designer may: + 1. Delay DTACK until the data is verified. If data is invalid, return BERR and HALT + simultaneously to retry the error cycle (case 5). + 2. Delay DTACK until the data is verified. If data is invalid, return BERR at the same + time as DTACK (case 3). + 3. For an MC68010, return DTACK before data verification. If data is invalid, assert + BERR and HALT to retry the error cycle (case 6). + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-31 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 4. For an MC68010, return DTACK before data verification. If data is invalid, assert + BERR on the next clock cycle (case 4). + + Table 5-6. BERR and HALT Negation Results + Conditions of Negated on Rising + Edge of State + Termination in + Table 4-4 Control Signal N N+2 Results—Next Cycle + Bus Error BERR • or • Takes bus error trap. + HALT • or • + Rerun BERR • or • Illegal sequence; usually traps to vector number 0. + HALT • + Rerun BERR • Reruns the bus cycle. + HALT • +Freescale Semiconductor, Inc... + + + + + Normal BERR • May lengthen next cycle. + HALT • or • + Normal BERR • If next cycle is started, it will be terminated as a bus + HALT • or none error. + • = Signal is negated in this bus state. + + + + 5.7 ASYNCHRONOUS OPERATION + To achieve clock frequency independence at a system level, the bus can be operated in + an asynchronous manner. Asynchronous bus operation uses the bus handshake signals + to control the transfer of data. The handshake signals are AS, UDS, LDS, DS (MC68008 + only), DTACK, BERR, HALT, AVEC (MC68EC000 only), and VPA (only for M6800 + peripheral cycles). AS indicates the start of the bus cycle, and UDS, LDS, and DS signal + valid data for a write cycle. After placing the requested data on the data bus (read cycle) + or latching the data (write cycle), the slave device (memory or peripheral) asserts DTACK + to terminate the bus cycle. If no device responds or if the access is invalid, external control + logic asserts BERR, or BERR and HALT, to abort or retry the cycle. Figure 5-31 shows the + use of the bus handshake signals in a fully asynchronous read cycle. Figure 5-32 shows a + fully asynchronous write cycle. + + ADDR + + + AS + + R/W + + + UDS/LDS + + + DATA + + + DTACK + + + Figure 5-31. Fully Asynchronous Read Cycle + + + + + 5-32 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + ADDR + + AS + + + R/W + + UDS/LDS + + + DATA + + + DTACK + + + Figure 5-32. Fully Asynchronous Write Cycle + + In the asynchronous mode, the accessed device operates independently of the frequency +Freescale Semiconductor, Inc... + + + + + and phase of the system clock. For example, the MC68681 dual universal asynchronous + receiver/transmitter (DUART) does not require any clock-related information from the bus + master during a bus transfer. Asynchronous devices are designed to operate correctly + with processors at any clock frequency when relevant timing requirements are observed. + + A device can use a clock at the same frequency as the system clock (e.g., 8, 10, or 12.5, + 16, and 20MHz), but without a defined phase relationship to the system clock. This mode + of operation is pseudo-asynchronous; it increases performance by observing timing + parameters related to the system clock frequency without being completely synchronous + with that clock. A memory array designed to operate with a particular frequency processor + but not driven by the processor clock is a common example of a pseudo-asynchronous + device. + + The designer of a fully asynchronous system can make no assumptions about address + setup time, which could be used to improve performance. With the system clock frequency + known, the slave device can be designed to decode the address bus before recognizing + an address strobe. Parameter #11 (refer to Section 10 Electrical Characteristics) + specifies the minimum time before address strobe during which the address is valid. + + In a pseudo-asynchronous system, timing specifications allow DTACK to be asserted for a + read cycle before the data from a slave device is valid. The length of time that DTACK + may precede data is specified as parameter #31. This parameter must be met to ensure + the validity of the data latched into the processor. No maximum time is specified from the + assertion of AS to the assertion of DTACK. During this unlimited time, the processor + inserts wait cycles in one-clock-period increments until DTACK is recognized. Figure 5-33 + shows the important timing parameters for a pseudo-asynchronous read cycle. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-33 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + ADDR + + 11 + + AS + + 17 + + + R/W + + + + UDS/LDS + 28 + 29 + + DATA +Freescale Semiconductor, Inc... + + + + + 31 + + DTACK + + + + Figure 5-33. Pseudo-Asynchronous Read Cycle + + During a write cycle, after the processor asserts AS but before driving the data bus, the + processor drives R/W low. Parameter #55 specifies the minimum time between the + transition of R/W and the driving of the data bus, which is effectively the maximum turnoff + time for any device driving the data bus. + + After the processor places valid data on the bus, it asserts the data strobe signal(s). A + data setup time, similar to the address setup time previously discussed, can be used to + improve performance. Parameter #29 is the minimum time a slave device can accept valid + data before recognizing a data strobe. The slave device asserts DTACK after it accepts + the data. Parameter #25 is the minimum time after negation of the strobes during which + the valid data remains on the address bus. Parameter #28 is the maximum time between + the negation of the strobes by the processor and the negation of DTACK by the slave + device. If DTACK remains asserted past the time specified by parameter #28, the + processor may recognize it as being asserted early in the next bus cycle and may + terminate that cycle prematurely. Figure 5-34 shows the important timing specifications for + a pseudo-asynchronous write cycle. + + + + + 5-34 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + ADDR + + 11 + + AS + + 20A + + R/W + + 22 + + UDS/LDS + 28 + 55 26 + 29 + + DATA +Freescale Semiconductor, Inc... + + + + + DTACK + + + + Figure 5-34. Pseudo-Asynchronous Write Cycle + + In the MC68010, the BERR signal can be delayed after the assertion of DTACK. + Specification #48 is the maximum time between assertion of DTACK and assertion of + BERR. If this maximum delay is exceeded, operation of the processor may be erratic. + + + 5.8 SYNCHRONOUS OPERATION + In some systems, external devices use the system clock to generate DTACK and other + asynchronous input signals. This synchronous operation provides a closely coupled + design with maximum performance, appropriate for frequently accessed parts of the + system. For example, memory can operate in the synchronous mode, but peripheral + devices operate asynchronously. For a synchronous device, the designer uses explicit + timing information shown in Section 10 Electrical Characteristics. These specifications + define the state of all bus signals relative to a specific state of the processor clock. + + The standard M68000 bus cycle consists of four clock periods (eight bus cycle states) + and, optionally, an integral number of clock cycles inserted as wait states. Wait states are + inserted as required to allow sufficient response time for the external device. The following + state-by-state description of the bus cycle differs from those descriptions in 5.1.1 READ + CYCLE and 5.1.2 WRITE CYCLE by including information about the important timing + parameters that apply in the bus cycle states. + + STATE 0 The bus cycle starts in S0, during which the clock is high. At the rising edge + of S0, the function code for the access is driven externally. Parameter #6A + defines the delay from this rising edge until the function codes are valid. + Also, the R/W signal is driven high; parameter #18 defines the delay from + the same rising edge to the transition of R/W . The minimum value for + parameter #18 applies to a read cycle preceded by a write cycle; this value + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-35 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + is the maximum hold time for a low on R/W beyond the initiation of the read + cycle. + + STATE 1 Entering S1, a low period of the clock, the address of the accessed device + is driven externally with an assertion delay defined by parameter #6. + + STATE 2 On the rising edge of S2, a high period of the clock, AS is asserted. During + a read cycle, UDS, LDS, and/or DS is also asserted at this time. Parameter + #9 defines the assertion delay for these signals. For a write cycle, the R/W + signal is driven low with a delay defined by parameter #20. + + STATE 3 On the falling edge of the clock entering S3, the data bus is driven out of + the high-impedance state with the data being written to the accessed + device (in a write cycle). Parameter #23 specifies the data assertion delay. +Freescale Semiconductor, Inc... + + + + + In a read cycle, no signal is altered in S3. + + STATE 4 Entering the high clock period of S4, UDS, LDS, and/or DS is asserted + (during a write cycle) on the rising edge of the clock. As in S2 for a read + cycle, parameter #9 defines the assertion delay from the rising edge of S4 + for UDS, LDS, and/or DS. In a read cycle, no signal is altered by the + processor during S4. + + Until the falling edge of the clock at the end of S4 (beginning of S5), no + response from any external device except RESET is acknowledged by the + processor. If either DTACK or BERR is asserted before the falling edge of + S4 and satisfies the input setup time defined by parameter #47, the + processor enters S5 and the bus cycle continues. If either DTACK or BERR + is asserted but without meeting the setup time defined by parameter #47, + the processor may recognize the signal and continue the bus cycle; the + result is unpredictable. If neither DTACK nor BERR is asserted before the + next rise of clock, the bus cycle remains in S4, and wait states (complete + clock cycles) are inserted until one of the bus cycle termination is met. + + STATE 5 S5 is a low period of the clock, during which the processor does not alter + any signal. + + STATE 6 S6 is a high period of the clock, during which data for a read operation is + set up relative to the falling edge (entering S7). Parameter #27 defines the + minimum period by which the data must precede the falling edge. For a + write operation, the processor changes no signal during S6. + + STATE 7 On the falling edge of the clock entering S7, the processor latches data + and negates AS and UDS, LDS, and/or DS during a read cycle. The hold + time for these strobes from this falling edge is specified by parameter #12. + The hold time for data relative to the negation of AS and UDS, LDS, and/or + DS is specified by parameter #29. For a write cycle, only AS and UDS, LDS, + and/or DS are negated; timing parameter #12 also applies. + + + + + 5-36 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + On the rising edge of the clock, at the end of S7 (which may be the start of + S0 for the next bus cycle), the processor places the address bus in the + high-impedance state. During a write cycle, the processor also places the + data bus in the high-impedance state and drives R/W high. External logic + circuitry should respond to the negation of the AS and UDS, LDS, and/or DS + by negating DTACK and/or BERR. Parameter #28 is the hold time for + DTACK, and parameter #30 is the hold time for BERR. + + Figure 5-35 shows a synchronous read cycle and the important timing parameters that + apply. The timing for a synchronous read cycle, including relevant timing parameters, is + shown in Figure 5-36. + + S0 S1 S2 S3 S4 S5 S6 S7 S0 +Freescale Semiconductor, Inc... + + + + + CLOCK + 6 + + ADDR + + 9 + + AS + + + + UDS/LDS + 18 + + + R/W + 47 + + + DTACK + + 27 + + DATA + + + + Figure 5-35. Synchronous Read Cycle + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-37 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + S0 S1 S2 S3 S4 S5 S6 S7 S0 + + CLOCK + + 6 9 + . + + + + + ADDR + + + AS + + + UDS/LDS + + 18 + + + R/W + 47 +Freescale Semiconductor, Inc... + + + + + DTACK + + 23 53 + + DATA + + + Figure 5-36. Synchronous Write Cycle + + A key consideration when designing in a synchronous environment is the timing for the + assertion of DTACK and BERR by an external device. To properly use external inputs, the + processor must synchronize these signals to the internal clock. The processor must + sample the external signal, which has no defined phase relationship to the CPU clock, + which may be changing at sampling time, and must determine whether to consider the + signal high or low during the succeeding clock period. Successful synchronization requires + that the internal machine receives a valid logic level (not a metastable signal), whether the + input is high, low, or in transition. Metastable signals propagating through synchronous + machines can produce unpredictable operation. + + Figure 5-37 is a conceptual representation of the input synchronizers used by the M68000 + Family processors. The input latches allow the input to propagate through to the output + when E is high. When low, E latches the input. The three latches require one cycle of CLK + to synchronize an external signal. The high-gain characteristics of the devices comprising + the latches quickly resolve a marginal signal into a valid state. + + + EXT D Q D Q D Q INT + SIGNAL SIGNAL + + + + G G G + + + CLK + CLK + + + Figure 5-37. Input Synchronizers + + + 5-38 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Parameter #47 of Section 10 Electrical Characteristics is the asynchronous input setup + time. Signals that meet parameter #47 are guaranteed to be recognized at the next falling + edge of the system clock. However, signals that do not meet parameter #47 are not + guaranteed to be recognized. In addition, if DTACK is recognized on a falling edge, valid + data is latched into the processor (during a read cycle) on the next falling edge, provided + the data meets the setup time required (parameter #27). When parameter #27 has been + met, parameter #31 may be ignored. If DTACK is asserted with the required setup time + before the falling edge of S4, no wait states are incurred, and the bus cycle runs at its + maximum speed of four clock periods. + + The late BERR in an MC68010 that is operating in a synchronous mode must meet setup + time parameter #27A. That is, when BERR is asserted after DTACK, BERR must be + asserted before the falling edge of the clock, one clock cycle after DTACK is recognized. + Violating this requirement may cause the MC68010 to operate erratically. +Freescale Semiconductor, Inc... + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 5-39 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + SECTION 6 + EXCEPTION PROCESSING + This section describes operations of the processor outside the normal processing + associated with the execution of instructions. The functions of the bits in the supervisor + portion of the status register are described: the supervisor/user bit, the trace enable bit, + and the interrupt priority mask. Finally, the sequence of memory references and actions + taken by the processor for exception conditions are described in detail. +Freescale Semiconductor, Inc... + + + + + The processor is always in one of three processing states: normal, exception, or halted. + The normal processing state is associated with instruction execution; the memory + references are to fetch instructions and operands and to store results. A special case of + the normal state is the stopped state, resulting from execution of a STOP instruction. In + this state, no further memory references are made. + + An additional, special case of the normal state is the loop mode of the MC68010, + optionally entered when a test condition, decrement, and branch (DBcc) instruction is + executed. In the loop mode, only operand fetches occur. See Appendix A MC68010 + Loop Mode Operation. + + The exception processing state is associated with interrupts, trap instructions, tracing, and + other exceptional conditions. The exception may be internally generated by an instruction + or by an unusual condition arising during the execution of an instruction. Externally, + exception processing can be forced by an interrupt, by a bus error, or by a reset. + Exception processing provides an efficient context switch so that the processor can + handle unusual conditions. + + The halted processing state is an indication of catastrophic hardware failure. For example, + if during the exception processing of a bus error another bus error occurs, the processor + assumes the system is unusable and halts. Only an external reset can restart a halted + processor. Note that a processor in the stopped state is not in the halted state, nor vice + versa. + + + 6.1 PRIVILEGE MODES + The processor operates in one of two levels of privilege: the supervisor mode or the user + mode. The privilege mode determines which operations are legal. The mode is optionally + used by an external memory management device to control and translate accesses. The + mode is also used to choose between the supervisor stack pointer (SSP) and the user + stack pointer (USP) in instruction references. + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 6-1 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + The privilege mode is a mechanism for providing security in a computer system. Programs + should access only their own code and data areas and should be restricted from + accessing information that they do not need and must not modify. The operating system + executes in the supervisor mode, allowing it to access all resources required to perform + the overhead tasks for the user mode programs. Most programs execute in user mode, in + which the accesses are controlled and the effects on other parts of the system are limited. + + 6.1.1 Supervisor Mode + The supervisor mode has the higher level of privilege. The mode of the processor is + determined by the S bit of the status register; if the S bit is set, the processor is in the + supervisor mode. All instructions can be executed in the supervisor mode. The bus cycles + generated by instructions executed in the supervisor mode are classified as supervisor + references. While the processor is in the supervisor mode, those instructions that use +Freescale Semiconductor, Inc... + + + + + either the system stack pointer implicitly or address register seven explicitly access the + SSP. + + 6.1.2 User Mode + The user mode has the lower level of privilege. If the S bit of the status register is clear, + the processor is executing instructions in the user mode. + + Most instructions execute identically in either mode. However, some instructions having + important system effects are designated privileged. For example, user programs are not + permitted to execute the STOP instruction or the RESET instruction. To ensure that a user + program cannot enter the supervisor mode except in a controlled manner, the instructions + that modify the entire status register are privileged. To aid in debugging systems software, + the move to user stack pointer (MOVE to USP) and move from user stack pointer (MOVE + from USP) instructions are privileged. + + NOTE + To implement virtual machine concepts in the MC68010, the + move from status register (MOVE from SR), move to/from + control register (MOVEC), and move alternate address space + (MOVES) instructions are also privileged. + + The bus cycles generated by an instruction executed in user mode are classified as user + references. Classifying a bus cycle as a user reference allows an external memory + management device to translate the addresses of and control access to protected portions + of the address space. While the processor is in the user mode, those instructions that use + either the system stack pointer implicitly or address register seven explicitly access the + USP. + + 6.1.3 Privilege Mode Changes + Once the processor is in the user mode and executing instructions, only exception + processing can change the privilege mode. During exception processing, the current state + of the S bit of the status register is saved, and the S bit is set, putting the processor in the + + 6-2 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + supervisor mode. Therefore, when instruction execution resumes at the address specified + to process the exception, the processor is in the supervisor privilege mode. + + NOTE + The transition from supervisor to user mode can be + accomplished by any of four instructions: return from exception + (RTE) (MC68010 only), move to status register (MOVE to SR), + AND immediate to status register (ANDI to SR), and exclusive + OR immediate to status register (EORI to SR). The RTE + instruction in the MC68010 fetches the new status register and + program counter from the supervisor stack and loads each into + its respective register. Next, it begins the instruction fetch at + the new program counter address in the privilege mode +Freescale Semiconductor, Inc... + + + + + determined by the S bit of the new contents of the status + register. + + The MOVE to SR, ANDI to SR, and EORI to SR instructions fetch all operands in the + supervisor mode, perform the appropriate update to the status register, and then fetch the + next instruction at the next sequential program counter address in the privilege mode + determined by the new S bit. + + 6.1.4 Reference Classification + When the processor makes a reference, it classifies the reference according to the + encoding of the three function code output lines. This classification allows external + translation of addresses, control of access, and differentiation of special processor states, + such as CPU space (used by interrupt acknowledge cycles). Table 6-1 lists the + classification of references. + + Table 6-1. Reference Classification + Function Code Output + FC2 FC1 FC0 Address Space + 0 0 0 (Undefined, Reserved)* + 0 0 1 User Data + 0 1 0 User Program + 0 1 1 (Undefined, Reserved)* + 1 0 0 (Undefined, Reserved)* + 1 0 1 Supervisor Data + 1 1 0 Supervisor Program + 1 1 1 CPU Space + *Address space 3 is reserved for user definition, while 0 and + 4 are reserved for future use by Motorola. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 6-3 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 6.2 EXCEPTION PROCESSING + The processing of an exception occurs in four steps, with variations for different exception + causes: + 1. Make a temporary copy of the status register and set the status register for + exception processing. + 2. Obtain the exception vector. + 3. Save the current processor context. + 4. Obtain a new context and resume instruction processing. + + 6.2.1 Exception Vectors + An exception vector is a memory location from which the processor fetches the address of + a routine to handle an exception. Each exception type requires a handler routine and a +Freescale Semiconductor, Inc... + + + + + unique vector. All exception vectors are two words in length (see Figure 6-1), except for + the reset vector, which is four words long. All exception vectors reside in the supervisor + data space, except for the reset vector, which is in the supervisor program space. A vector + number is an 8-bit number that is multiplied by four to obtain the offset of an exception + vector. Vector numbers are generated internally or externally, depending on the cause of + the exception. For interrupts, during the interrupt acknowledge bus cycle, a peripheral + provides an 8-bit vector number (see Figure 6-2) to the processor on data bus lines D7– + D0. + + The processor forms the vector offset by left-shifting the vector number two bit positions + and zero-filling the upper-order bits to obtain a 32-bit long-word vector offset. In the + MC68000, the MC68HC000, MC68HC001, MC68EC000, and the MC68008, this offset is + used as the absolute address to obtain the exception vector itself, which is shown in + Figure 6-3. + + NOTE + In the MC68010, the vector offset is added to the 32-bit vector + base register (VBR) to obtain the 32-bit absolute address of + the exception vector (see Figure 6-4). Since the VBR is set to + zero upon reset, the MC68010 functions identically to the + MC68000, MC68HC000, MC68HC001, MC68EC000, and + MC68008 until the VBR is changed via the move control + register MOVEC instruction. + + + EVEN BYTE (A0=0) EVEN BYTE (A0=0) + + + WORD 0 NEW PROGRAM COUNTER (HIGH) A1=0 + + + WORD 1 NEW PROGRAM COUNTER (LOW) A1=1 + + + + Figure 6-1. Exception Vector Format + + + + 6-4 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + D15 D8 D7 D0 + IGNORED v7 v6 v5 v4 v3 v2 v1 v0 + + Where: + v7 is the MSB of the vector number + v0 is the LSB of the vector number + + Figure 6-2. Peripheral Vector Number Format + + + + A31 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 + ALL ZEROES v7 v6 v5 v4 v3 v2 v1 v0 0 0 +Freescale Semiconductor, Inc... + + + + + Figure 6-3. Address Translated from 8-Bit Vector Number + (MC68000, MC68HC000, MC68HC001, MC68EC000, and MC68008) + + + + + 31 0 + + CONTENTS OF VECTOR BASE REGISTER + + 31 10 0 + + ALL ZEROES v7 v6 v5 v4 v3 v2 v1 v0 0 0 + + + EXCEPTION VECTOR + ADDRESS + + + Figure 6-4. Exception Vector Address Calculation (MC68010) + + The actual address on the address bus is truncated to the number of address bits + available on the bus of the particular implementation of the M68000 architecture. In all + processors except the MC68008, this is 24 address bits. (A0 is implicitly encoded in the + data strobes.) In the MC68008, the address is 20 or 22 bits in length. The memory map for + exception vectors is shown in Table 6-2. + + The vector table, Table 6-2, is 512 words long (1024 bytes), starting at address 0 + (decimal) and proceeding through address 1023 (decimal). The vector table provides 255 + unique vectors, some of which are reserved for trap and other system function vectors. Of + the 255, 192 are reserved for user interrupt vectors. However, the first 64 entries are not + protected, so user interrupt vectors may overlap at the discretion of the systems designer. + + 6.2.2 Kinds of Exceptions + Exceptions can be generated by either internal or external causes. The externally + generated exceptions are the interrupts, the bus error, and reset. The interrupts are + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 6-5 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + requests from peripheral devices for processor action; the bus error and reset inputs are + used for access control and processor restart. The internal exceptions are generated by + instructions, address errors, or tracing. The trap (TRAP), trap on overflow (TRAPV), check + register against bounds (CHK), and divide (DIV) instructions can generate exceptions as + part of their instruction execution. In addition, illegal instructions, word fetches from odd + addresses, and privilege violations cause exceptions. Tracing is similar to a very high + priority, internally generated interrupt following each instruction. +Freescale Semiconductor, Inc... + + + + + 6-6 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 6-2. Exception Vector Assignment + Vectors Numbers Address + Hex Decimal Dec Hex Space 6 Assignment + 0 0 0 000 SP Reset: Initial SSP2 + 1 1 4 004 SP Reset: Initial PC 2 + 2 2 8 008 SD Bus Error + 3 3 12 00C SD Address Error + 4 4 16 010 SD Illegal Instruction + 5 5 20 014 SD Zero Divide + 6 6 24 018 SD CHK Instruction + 7 7 28 01C SD TRAPV Instruction + 8 8 32 020 SD Privilege Violation + 9 9 36 024 SD Trace +Freescale Semiconductor, Inc... + + + + + A 10 40 028 SD Line 1010 Emulator + B 11 44 02C SD Line 1111 Emulator + C 121 48 030 SD (Unassigned, Reserved) + D 131 52 034 SD (Unassigned, Reserved) + E 14 56 038 SD Format Error 5 + F 15 60 03C SD Uninitialized Interrupt Vector + 10–17 16–231 64 040 SD (Unassigned, Reserved) + 92 05C — + 18 24 96 060 SD Spurious Interrupt 3 + 19 25 100 064 SD Level 1 Interrupt Autovector + 1A 26 104 068 SD Level 2 Interrupt Autovector + 1B 27 108 06C SD Level 3 Interrupt Autovector + 1C 28 112 070 SD Level 4 Interrupt Autovector + 1D 29 116 074 SD Level 5 Interrupt Autovector + 1E 30 120 078 SD Level 6 Interrupt Autovector + 1F 31 124 07C SD Level 7 Interrupt Autovector + 20–2F 32–47 128 080 SD TRAP Instruction Vectors4 + 188 0BC — + 30–3F 48–631 192 0C0 SD (Unassigned, Reserved) + 255 0FF — + 40–FF 64–255 256 100 SD User Interrupt Vectors + 1020 3FC — + NOTES: + 1. Vector numbers 12, 13, 16–23, and 48–63 are reserved for future + enhancements by Motorola. No user peripheral devices should be + assigned these numbers. + 2. Reset vector (0) requires four words, unlike the other vectors which only + require two words, and is located in the supervisor program space. + 3. The spurious interrupt vector is taken when there is a bus error + indication during interrupt processing. + 4. TRAP #n uses vector number 32+ n. + 5. MC68010 only. This vector is unassigned, reserved on the MC68000 + and MC68008. + 6. SP denotes supervisor program space, and SD denotes + supervisor data space. + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 6-7 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 6.2.3 Multiple Exceptions + These paragraphs describe the processing that occurs when multiple exceptions arise + simultaneously. Exceptions can be grouped by their occurrence and priority. The group 0 + exceptions are reset, bus error, and address error. These exceptions cause the instruction + currently being executed to abort and the exception processing to commence within two + clock cycles. The group 1 exceptions are trace and interrupt, privilege violations, and + illegal instructions. Trace and interrupt exceptions allow the current instruction to execute + to completion, but pre-empt the execution of the next instruction by forcing exception + processing to occur. A privilege-violating instruction or an illegal instruction is detected + when it is the next instruction to be executed. The group 2 exceptions occur as part of the + normal processing of instructions. The TRAP, TRAPV, CHK, and zero divide exceptions + are in this group. For these exceptions, the normal execution of an instruction may lead to + exception processing. +Freescale Semiconductor, Inc... + + + + + Group 0 exceptions have highest priority, whereas group 2 exceptions have lowest + priority. Within group 0, reset has highest priority, followed by address error and then bus + error. Within group 1, trace has priority over external interrupts, which in turn takes priority + over illegal instruction and privilege violation. Since only one instruction can be executed + at a time, no priority relationship applies within group 2. + + The priority relationship between two exceptions determines which is taken, or taken first, + if the conditions for both arise simultaneously. Therefore, if a bus error occurs during a + TRAP instruction, the bus error takes precedence, and the TRAP instruction processing is + aborted. In another example, if an interrupt request occurs during the execution of an + instruction while the T bit is asserted, the trace exception has priority and is processed + first. Before instruction execution resumes, however, the interrupt exception is also + processed, and instruction processing finally commences in the interrupt handler routine. + A summary of exception grouping and priority is given in Table 6-3. + + As a general rule, the lower the priority of an exception, the sooner the handler routine for + that exception executes. For example, if simultaneous trap, trace, and interrupt exceptions + are pending, the exception processing for the trap occurs first, followed immediately by + exception processing for the trace and then for the interrupt. When the processor resumes + normal instruction execution, it is in the interrupt handler, which returns to the trace + handler, which returns to the trap execution handler. This rule does not apply to the reset + exception; its handler is executed first even though it has the highest priority, because the + reset operation clears all other exceptions. + + + + + 6-8 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + Table 6-3. Exception Grouping and Priority + Group Exception Processing + 0 Reset Exception Processing Begins within Two Clock Cycles + Address Error + Bus Error + 1 Trace Exception Processing Begins before the Next Instruction + Interrupt + Illegal + Privilege + 2 TRAP, TRAPV, Exception Processing Is Started by Normal Instruction Execution + CHK + Zero Divide +Freescale Semiconductor, Inc... + + + + + 6.2.4 Exception Stack Frames + Exception processing saves the most volatile portion of the current processor context on + the top of the supervisor stack. This context is organized in a format called the exception + stack frame. Although this information varies with the particular processor and type of + exception, it always includes the status register and program counter of the processor + when the exception occurred. + + The amount and type of information saved on the stack are determined by the processor + type and exception type. Exceptions are grouped by type according to priority of the + exception. + + Of the group 0 exceptions, the reset exception does not stack any information. The + information stacked by a bus error or address error exception in the MC68000, + MC68HC000, MC68HC001, MC68EC000, or MC68008 is described in 6.3.9.1 Bus Error + and shown in Figure 6-7. + + The MC68000, MC68HC000, MC68HC001, MC68EC000, and MC68008 group 1 and 2 + exception stack frame is shown in Figure 6-5. Only the program counter and status + register are saved. The program counter points to the next instruction to be executed after + exception processing. + + The MC68010 exception stack frame is shown in Figure 5-6. The number of words + actually stacked depends on the exception type. Group 0 exceptions (except reset) stack + 29 words and group 1 and 2 exceptions stack four words. To support generic exception + handlers, the processor also places the vector offset in the exception stack frame. The + format code field allows the return from exception (RTE) instruction to identify what + information is on the stack so that it can be properly restored. Table 6-4 lists the MC68010 + format codes. Although some formats are specific to a particular M68000 Family + processor, the format 0000 is always legal and indicates that just the first four words of the + frame are present. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 6-9 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + EVEN BYTE ODD BYTE + 7 0 7 0 + 15 0 HIGHER + ADDRESS + SSP STATUS REGISTER + + PROGRAM COUNTER HIGH + + PROGRAM COUNTER LOW + + + + + Figure 6-5. Group 1 and 2 Exception Stack Frame + (MC68000, MC68HC000, MC68HC001, MC68EC000, and MC68008) +Freescale Semiconductor, Inc... + + + + + 15 0 HIGHER + ADDRESS + SP STATUS REGISTER + + PROGRAM COUNTER HIGH + + PROGRAM COUNTER LOW + + FORMAT VECTOR OFFSET + + + OTHER INFORMATION + + DEPENDING ON EXCEPTION + + + + + Figure 6-6. MC68010 Stack Frame + + + + + 6-10 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + Table 6-4. MC68010 Format Codes + Format Code Stacked Information + 0000 Short Format (4 Words) + 1000 Long Format (29 Words) + All Others Unassigned, Reserved + + + + 6.2.5 Exception Processing Sequence + In the first step of exception processing, an internal copy is made of the status register. + After the copy is made, the S bit of the status register is set, putting the processor into the + supervisor mode. Also, the T bit is cleared, which allows the exception handler to execute + unhindered by tracing. For the reset and interrupt exceptions, the interrupt priority mask is +Freescale Semiconductor, Inc... + + + + + also updated appropriately. + + In the second step, the vector number of the exception is determined. For interrupts, the + vector number is obtained by a processor bus cycle classified as an interrupt acknowledge + cycle. For all other exceptions, internal logic provides the vector number. This vector + number is then used to calculate the address of the exception vector. + + The third step, except for the reset exception, is to save the current processor status. (The + reset exception does not save the context and skips this step.) The current program + counter value and the saved copy of the status register are stacked using the SSP. The + stacked program counter value usually points to the next unexecuted instruction. + However, for bus error and address error, the value stacked for the program counter is + unpredictable and may be incremented from the address of the instruction that caused the + error. Group 1 and 2 exceptions use a short format exception stack frame (format = 0000 + on the MC68010). Additional information defining the current context is stacked for the bus + error and address error exceptions. + + The last step is the same for all exceptions. The new program counter value is fetched + from the exception vector. The processor then resumes instruction execution. The + instruction at the address in the exception vector is fetched, and normal instruction + decoding and execution is started. + + + 6.3 PROCESSING OF SPECIFIC EXCEPTIONS + The exceptions are classified according to their sources, and each type is processed + differently. The following paragraphs describe in detail the types of exceptions and the + processing of each type. + + 6.3.1 Reset + The reset exception corresponds to the highest exception level. The processing of the + reset exception is performed for system initiation and recovery from catastrophic failure. + Any processing in progress at the time of the reset is aborted and cannot be recovered. + The processor is forced into the supervisor state, and the trace state is forced off. The + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 6-11 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + interrupt priority mask is set at level 7. In the MC68010, the VBR is forced to zero. The + vector number is internally generated to reference the reset exception vector at location 0 + in the supervisor program space. Because no assumptions can be made about the validity + of register contents, in particular the SSP, neither the program counter nor the status + register is saved. The address in the first two words of the reset exception vector is + fetched as the initial SSP, and the address in the last two words of the reset exception + vector is fetched as the initial program counter. Finally, instruction execution is started at + the address in the program counter. The initial program counter should point to the power- + up/restart code. + + The RESET instruction does not cause a reset exception; it asserts the RESET signal to + reset external devices, which allows the software to reset the system to a known state and + continue processing with the next instruction. +Freescale Semiconductor, Inc... + + + + + 6.3.2 Interrupts + Seven levels of interrupt priorities are provided, numbered from 1–7. All seven levels are + available except for the 48-pin version for the MC68008. + + NOTE + The MC68008 48-pin version supports only three interrupt + levels: 2, 5, and 7. Level 7 has the highest priority. + + Devices can be chained externally within interrupt priority levels, allowing an unlimited + number of peripheral devices to interrupt the processor. The status register contains a 3- + bit mask indicating the current interrupt priority, and interrupts are inhibited for all priority + levels less than or equal to the current priority. + + An interrupt request is made to the processor by encoding the interrupt request levels 1–7 + on the three interrupt request lines; all lines negated indicates no interrupt request. + Interrupt requests arriving at the processor do not force immediate exception processing, + but the requests are made pending. Pending interrupts are detected between instruction + executions. If the priority of the pending interrupt is lower than or equal to the current + processor priority, execution continues with the next instruction, and the interrupt + exception processing is postponed until the priority of the pending interrupt becomes + greater than the current processor priority. + + If the priority of the pending interrupt is greater than the current processor priority, the + exception processing sequence is started. A copy of the status register is saved; the + privilege mode is set to supervisor mode; tracing is suppressed; and the processor priority + level is set to the level of the interrupt being acknowledged. The processor fetches the + vector number from the interrupting device by executing an interrupt acknowledge cycle, + which displays the level number of the interrupt being acknowledged on the address bus. + If external logic requests an automatic vector, the processor internally generates a vector + number corresponding to the interrupt level number. If external logic indicates a bus error, + the interrupt is considered spurious, and the generated vector number references the + spurious interrupt vector. The processor then proceeds with the usual exception + processing, saving the format/offset word (MC68010 only), program counter, and status + + 6-12 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + register on the supervisor stack. The offset value in the format/offset word on the + MC68010 is the vector number multiplied by four. The format is all zeros. The saved value + of the program counter is the address of the instruction that would have been executed + had the interrupt not been taken. The appropriate interrupt vector is fetched and loaded + into the program counter, and normal instruction execution commences in the interrupt + handling routine. Priority level 7 is a special case. Level 7 interrupts cannot be inhibited by + the interrupt priority mask, thus providing a "nonmaskable interrupt" capability. An interrupt + is generated each time the interrupt request level changes from some lower level to level + 7. A level 7 interrupt may still be caused by the level comparison if the request level is a 7 + and the processor priority is set to a lower level by an instruction. + + 6.3.3 Uninitialized Interrupt + An interrupting device provides an M68000 interrupt vector number and asserts data +Freescale Semiconductor, Inc... + + + + + transfer acknowledge (DTACK), or asserts valid peripheral address (VPA), or auto vector + (AVEC), or bus error (BERR) during an interrupt acknowledge cycle by the MC68000. If + the vector register has not been initialized, the responding M68000 Family peripheral + provides vector number 15, the uninitialized interrupt vector. This response conforms to a + uniform way to recover from a programming error. + + 6.3.4 Spurious Interrupt + During the interrupt acknowledge cycle, if no device responds by asserting DTACK or + AVEC, VPA, BERR should be asserted to terminate the vector acquisition. The processor + separates the processing of this error from bus error by forming a short format exception + stack and fetching the spurious interrupt vector instead of the bus error vector. The + processor then proceeds with the usual exception processing. + + 6.3.5 Instruction Traps + Traps are exceptions caused by instructions; they occur when a processor recognizes an + abnormal condition during instruction execution or when an instruction is executed that + normally traps during execution. + + Exception processing for traps is straightforward. The status register is copied; the + supervisor mode is entered; and tracing is turned off. The vector number is internally + generated; for the TRAP instruction, part of the vector number comes from the instruction + itself. The format/offset word (MC68010 only), the program counter, and the copy of the + status register are saved on the supervisor stack. The offset value in the format/offset + word on the MC68010 is the vector number multiplied by four. The saved value of the + program counter is the address of the instruction following the instruction that generated + the trap. Finally, instruction execution commences at the address in the exception vector. + + Some instructions are used specifically to generate traps. The TRAP instruction always + forces an exception and is useful for implementing system calls for user programs. The + TRAPV and CHK instructions force an exception if the user program detects a run-time + error, which may be an arithmetic overflow or a subscript out of bounds. + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 6-13 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + A signed divide (DIVS) or unsigned divide (DIVU) instruction forces an exception if a + division operation is attempted with a divisor of zero. + + 6.3.6 Illegal and Unimplemented Instructions + Illegal instruction is the term used to refer to any of the word bit patterns that do not match + the bit pattern of the first word of a legal M68000 instruction. If such an instruction is + fetched, an illegal instruction exception occurs. Motorola reserves the right to define + instructions using the opcodes of any of the illegal instructions. Three bit patterns always + force an illegal instruction trap on all M68000-Family-compatible microprocessors. The + patterns are: $4AFA, $4AFB, and $4AFC. Two of the patterns, $4AFA and $4AFB, are + reserved for Motorola system products. The third pattern, $4AFC, is reserved for customer + use (as the take illegal instruction trap (ILLEGAL) instruction). +Freescale Semiconductor, Inc... + + + + + NOTE + In addition to the previously defined illegal instruction opcodes, + the MC68010 defines eight breakpoint (BKPT) instructions with + the bit patterns $4848–$484F. These instructions cause the + processor to enter illegal instruction exception processing as + usual. However, a breakpoint acknowledge bus cycle, in which + the function code lines (FC2–FC0) are high and the address + lines are all low, is also executed before the stacking + operations are performed. The processor does not accept or + send any data during this cycle. Whether the breakpoint + acknowledge cycle is terminated with a DTACK, BERR, or VPA + signal, the processor continues with the illegal instruction + processing. The purpose of this cycle is to provide a software + breakpoint that signals to external hardware when it is + executed. + + Word patterns with bits 15–12 equaling 1010 or 1111 are distinguished as unimplemented + instructions, and separate exception vectors are assigned to these patterns to permit + efficient emulation. Opcodes beginning with bit patterns equaling 1111 (line F) are + implemented in the MC68020 and beyond as coprocessor instructions. These separate + vectors allow the operating system to emulate unimplemented instructions in software. + + Exception processing for illegal instructions is similar to that for traps. After the instruction + is fetched and decoding is attempted, the processor determines that execution of an illegal + instruction is being attempted and starts exception processing. The exception stack frame + for group 2 is then pushed on the supervisor stack, and the illegal instruction vector is + fetched. + + + + + 6-14 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + 6.3.7 Privilege Violations + To provide system security, various instructions are privileged. An attempt to execute one + of the privileged instructions while in the user mode causes an exception. The privileged + instructions are as follows: + + AND Immediate to SR MOVE USP + EOR Immediate to SR OR Immediate to SR + MOVE to SR (68010 only) RESET + MOVE from SR (68010 only) RTE + MOVEC (68010 only) STOP + MOVES (68010 only) + + Exception processing for privilege violations is nearly identical to that for illegal +Freescale Semiconductor, Inc... + + + + + instructions. After the instruction is fetched and decoded and the processor determines + that a privilege violation is being attempted, the processor starts exception processing. + The status register is copied; the supervisor mode is entered; and tracing is turned off. + The vector number is generated to reference the privilege violation vector, and the current + program counter and the copy of the status register are saved on the supervisor stack. If + the processor is an MC68010, the format/offset word is also saved. The saved value of + the program counter is the address of the first word of the instruction causing the privilege + violation. Finally, instruction execution commences at the address in the privilege violation + exception vector. + + 6.3.8 Tracing + To aid in program development, the M68000 Family includes a facility to allow tracing + following each instruction. When tracing is enabled, an exception is forced after each + instruction is executed. Thus, a debugging program can monitor the execution of the + program under test. + + The trace facility is controlled by the T bit in the supervisor portion of the status register. If + the T bit is cleared (off), tracing is disabled and instruction execution proceeds from + instruction to instruction as normal. If the T bit is set (on) at the beginning of the execution + of an instruction, a trace exception is generated after the instruction is completed. If the + instruction is not executed because an interrupt is taken or because the instruction is + illegal or privileged, the trace exception does not occur. The trace exception also does not + occur if the instruction is aborted by a reset, bus error, or address error exception. If the + instruction is executed and an interrupt is pending on completion, the trace exception is + processed before the interrupt exception. During the execution of the instruction, if an + exception is forced by that instruction, the exception processing for the instruction + exception occurs before that of the trace exception. + + As an extreme illustration of these rules, consider the arrival of an interrupt during the + execution of a TRAP instruction while tracing is enabled. First, the trap exception is + processed, then the trace exception, and finally the interrupt exception. Instruction + execution resumes in the interrupt handler routine. + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 6-15 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + After the execution of the instruction is complete and before the start of the next + instruction, exception processing for a trace begins. A copy is made of the status register. + The transition to supervisor mode is made, and the T bit of the status register is turned off, + disabling further tracing. The vector number is generated to reference the trace exception + vector, and the current program counter and the copy of the status register are saved on + the supervisor stack. On the MC68010, the format/offset word is also saved on the + supervisor stack. The saved value of the program counter is the address of the next + instruction. Instruction execution commences at the address contained in the trace + exception vector. + + 6.3.9 Bus Error + A bus error exception occurs when the external logic requests that a bus error be + processed by an exception. The current bus cycle is aborted. The current processor +Freescale Semiconductor, Inc... + + + + + activity, whether instruction or exception processing, is terminated, and the processor + immediately begins exception processing. The bus error facility is identical on the all + processors; however, the stack frame produced on the MC68010 contains more + information. The larger stack frame supports instruction continuation, which supports + virtual memory on the MC68010 processor. + + 6.3.9.1 BUS ERROR. Exception processing for a bus error follows the usual sequence of + steps. The status register is copied, the supervisor mode is entered, and tracing is turned + off. The vector number is generated to refer to the bus error vector. Since the processor is + fetching the instruction or an operand when the error occurs, the context of the processor + is more detailed. To save more of this context, additional information is saved on the + supervisor stack. The program counter and the copy of the status register are saved. The + value saved for the program counter is advanced 2–10 bytes beyond the address of the + first word of the instruction that made the reference causing the bus error. If the bus error + occurred during the fetch of the next instruction, the saved program counter has a value in + the vicinity of the current instruction, even if the current instruction is a branch, a jump, or + a return instruction. In addition to the usual information, the processor saves its internal + copy of the first word of the instruction being processed and the address being accessed + by the aborted bus cycle. Specific information about the access is also saved: type of + access (read or write), processor activity (processing an instruction), and function code + outputs when the bus error occurred. The processor is processing an instruction if it is in + the normal state or processing a group 2 exception; the processor is not processing an + instruction if it is processing a group 0 or a group 1 exception. Figure 6-7 illustrates how + this information is organized on the supervisor stack. If a bus error occurs during the last + step of exception processing, while either reading the exception vector or fetching the + instruction, the value of the program counter is the address of the exception vector. + Although this information is not generally sufficient to effect full recovery from the bus + error, it does allow software diagnosis. Finally, the processor commences instruction + processing at the address in the vector. It is the responsibility of the error handler routine + to clean up the stack and determine where to continue execution. + + If a bus error occurs during the exception processing for a bus error, an address error, or + a reset, the processor halts and all processing ceases. This halt simplifies the detection of + a catastrophic system failure, since the processor removes itself from the system to + + 6-16 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + protect memory contents from erroneous accesses. Only an external reset operation can + restart a halted processor. + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + + LOWER ADDRESS R/W I/N FUNCTION CODE + + HIGH + ACCESS ADDRESS + LOW + + INSTRUCTION REGISTER + + STATUS REGISTER + + HIGH + PROGRAM COUNTER + LOW +Freescale Semiconductor, Inc... + + + + + R/W (Read/Write): Write=0, Read=1. I/N (Instruction/Not): Instruction=0, Not=1 + + + Figure 6-7. Supervisor Stack Order for Bus or Address Error Exception + + 6.3.9.2 BUS ERROR (MC68010). Exception processing for a bus error follows a slightly + different sequence than the sequence for group 1 and 2 exceptions. In addition to the four + steps executed during exception processing for all other exceptions, 22 words of + additional information are placed on the stack. This additional information describes the + internal state of the processor at the time of the bus error and is reloaded by the RTE + instruction to continue the instruction that caused the error. Figure 6-8 shows the order of + the stacked information. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 6-17 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + + SP STATUS REGISTER + + PROGRAM COUNTER (HIGH) + + PROGRAM COUNTER (LOW) + + 1000 VECTOR OFFSET + + SPECIAL STATUS WORD + + FAULT ADDRESS (HIGH) + + FAULT ADDRESS (LOW) + + UNUSED, RESERVED + + DATA OUTPUT BUFFER +Freescale Semiconductor, Inc... + + + + + UNUSED, RESERVED + + DATA INPUT BUFFER + + UNUSED, RESERVED + + INSTRUCTION INPUT BUFFER + + + VERSION + NUMBER + + + INTERNAL INFORMATION, 16 WORDS + + + NOTE: The stack pointer is decremented by 29 words, although only 26 + words of information are actually written to memory. The three + additional words are reserved for future use by Motorola. + . + + + + + Figure 6-8. Exception Stack Order (Bus and Address Error) + + The value of the saved program counter does not necessarily point to the instruction that + was executing when the bus error occurred, but may be advanced by as many as five + words. This incrementing is caused by the prefetch mechanism on the MC68010 that + always fetches a new instruction word as each previously fetched instruction word is used. + However, enough information is placed on the stack for the bus error exception handler to + determine why the bus fault occurred. This additional information includes the address + being accessed, the function codes for the access, whether it was a read or a write + access, and the internal register included in the transfer. The fault address can be used by + an operating system to determine what virtual memory location is needed so that the + requested data can be brought into physical memory. The RTE instruction is used to + reload the internal state of the processor at the time of the fault. The faulted bus cycle is + then rerun, and the suspended instruction is completed. If the faulted bus cycle is a read- + modify-write, the entire cycle is rerun, whether the fault occurred during the read or the + write operation. + + An alternate method of handling a bus error is to complete the faulted access in software. + Using this method requires the special status word, the instruction input buffer, the data + input buffer, and the data output buffer image. The format of the special status word is + + + 6-18 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + shown in Figure 6-9. If the bus cycle is a read, the data at the fault address should be + written to the images of the data input buffer, instruction input buffer, or both according to + the data fetch (DF) and instruction fetch (IF) bits. * In addition, for read-modify-write cycles, + the status register image must be properly set to reflect the read data if the fault occurred + during the read portion of the cycle and the write operation (i.e., setting the most + significant bit of the memory location) must also be performed. These operations are + required because the entire read-modify-write cycle is assumed to have been completed + by software. Once the cycle has been completed by software, the rerun (RR) bit in the + special status word is set to indicate to the processor that it should not rerun the cycle + when the RTE instruction is executed. If the RR bit is set when an RTE instruction + executes, the MC68010 reads all the information from the stack, as usual. + + 15 14 13 12 11 10 9 8 7 3 2 0 + RR * IF DF RM HB BY RW * FC2–FC0 +Freescale Semiconductor, Inc... + + + + + RR — Rerun flag; 0=processor rerun (default), 1=software rerun + IF — Instruction fetch to the instruction input buffer + DF — Data fetch to the data input buffer + RM — Read-modify-write cycle + HB — High-byte transfer from the data output buffer or to the data input buffer + BY — Byte-transfer flag; HB selects the high or low byte of the transfer register. If BY is clear, the transfer is word. + RW — Read/write flag; 0=write, 1=read + FC — The function code used during the faulted access + * — These bits are reserved for future use by Motorola and will be zero when written by the MC68010. + + Figure 6-9. Special Status Word Format + + + 6.3.10 Address Error + An address error exception occurs when the processor attempts to access a word or long- + word operand or an instruction at an odd address. An address error is similar to an + internally generated bus error. The bus cycle is aborted, and the processor ceases current + processing and begins exception processing. The exception processing sequence is the + same as that for a bus error, including the information to be stacked, except that the + vector number refers to the address error vector. Likewise, if an address error occurs + during the exception processing for a bus error, address error, or reset, the processor is + halted. + + On the MC68010, the address error exception stacks the same information stacked by a + bus error exception. Therefore, the RTE instruction can be used to continue execution of + the suspended instruction. However, if the RR flag is not set, the fault address is used + when the cycle is retried, and another address error exception occurs. Therefore, the user + must be certain that the proper corrections have been made to the stack image and user + registers before attempting to continue the instruction. With proper software handling, the + address error exception handler could emulate word or long-word accesses to odd + addresses if desired. + + * If the faulted access was a byte operation, the data should be moved from or to the least significant byte of + the data output or input buffer images, unless the high-byte transfer (HB) bit is set. This condition occurs if a + MOVEP instruction caused the fault during transfer of bits 8–15 of a word or long word or bits 24–31 of a + long word. + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 6-19 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 6.4 RETURN FROM EXCEPTION (MC68010) + In addition to returning from any exception handler routine on the MC68010, the RTE + instruction resumes the execution of a suspended instruction by returning to the normal + processing state after restoring all of the temporary register and control information stored + during a bus error. For the RTE instruction to execute properly, the stack must contain + valid and accessible data. The RTE instruction checks for data validity in two ways. First, + the format/offset word is checked for a valid stack format code. Second, if the format code + indicates the long stack format, the validity of the long stack data is checked as it is loaded + into the processor. In addition, the data is checked for accessibility when the processor + starts reading the long data. Because of these checks, the RTE instruction executes as + follows: + 1. Determine the stack format. This step is the same for any stack format and consists + of reading the status register, program counter, and format/offset word. If the format +Freescale Semiconductor, Inc... + + + + + code indicates a short stack format, execution continues at the new program counter + address. If the format code is not an MC68010-defined stack format code, exception + processing starts for a format error. + 2. Determine data validity. For a long-stack format, the MC68010 begins to read the + remaining stack data, checking for validity of the data. The only word checked for + validity is the first of the 16 internal information words (SP + 26) shown in Figure 5-8. + This word contains a processor version number (in bits 10–13) and proprietary + internal information that must match the version number of the MC68010 attempting + to read the data. This validity check is used to ensure that the data is properly + interpreted by the RTE instruction. If the version number is incorrect for this + processor, the RTE instruction is aborted and exception processing begins for a + format error exception. Since the stack pointer is not updated until the RTE + instruction has successfully read all the stack data, a format error occurring at this + point does not stack new data over the previous bus error stack information. + 3. Determine data accessibility. If the long-stack data is valid, the MC68010 performs a + read from the last word (SP + 56) of the long stack to determine data accessibility. If + this read is terminated normally, the processor assumes that the remaining words on + the stack frame are also accessible. If a bus error is signaled before or during this + read, a bus error exception is taken. After this read, the processor must be able to + load the remaining data without receiving a bus error; therefore, if a bus error occurs + on any of the remaining stack reads, the error becomes a double bus fault, and the + MC68010 enters the halted state. + + + + + 6-20 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + SECTION 7 + 8-BIT INSTRUCTION EXECUTION TIMES + This section contains listings of the instruction execution times in terms of external clock + (CLK) periods for the MC68008 and MC68HC001/MC68EC000 in 8-bit mode. In this data, + it is assumed that both memory read and write cycles consist of four clock periods. A + longer memory cycle causes the generation of wait states that must be added to the total + instruction times. +Freescale Semiconductor, Inc... + + + + + The number of bus read and write cycles for each instruction is also included with the + timing data. This data is shown as + + n(r/w) + + where: + + n is the total number of clock periods + r is the number of read cycles + w is the number of write cycles + + For example, a timing number shown as 18(3/1) means that 18 clock periods are required + to execute the instruction. Of the 18 clock periods, 12 are used for the three read cycles + (four periods per cycle). Four additional clock periods are used for the single write cycle, + for a total of 16 clock periods. The bus is idle for two clock periods during which the + processor completes the internal operations required for the instruction. + + NOTE + The total number of clock periods (n) includes instruction fetch + and all applicable operand fetches and stores. + + + 7.1 OPERAND EFFECTIVE ADDRESS CALCULATION TIMES + Table 7-1 lists the numbers of clock periods required to compute the effective addresses + for instructions. The totals include fetching any extension words, computing the address, + and fetching the memory operand. The total number of clock periods, the number of read + cycles, and the number of write cycles (zero for all effective address calculations) are + shown in the previously described format. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 7-1 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + Table 7-1. Effective Address Calculation Times + Addressing Mode Byte Word Long + Register + Dn Data Register Direct 0(0/0) 0(0/0) 0(0/0) + An Address Register Direct 0(0/0) 0(0/0) 0(0/0) + Memory + (An) Address Register Indirect 4(1/0) 8(2/0) 16(4/0) + (An)+ Address Register Indirect with Postincrement 4(1/0) 8(2/0) 16(4/0) + –(An) Address Register Indirect with Predecrement 6(1/0) 10(2/0) 18(4/0) + (d 16, An) Address Register Indirect with Displacement 12(3/0) 16(4/0) 24(6/0) + (d 8, An, Xn)* Address Register Indirect with Index 14(3/0) 18(4/0) 26(6/0) + (xxx).W Absolute Short 12(3/0) 16(4/0) 24(6/0) +Freescale Semiconductor, Inc... + + + + + (xxx).L Absolute Long 20(5/0) 24(6/0) 32(8/0) + (d 16, PC) Program Counter Indirect with Displacement 12(3/0) 16(3/0) 24(6/0) + (d 8, PC, Xn)* Program Counter Indirect with Index 14(3/0) 18(4/0) 26(6/0) + #<data> Immediate 8(2/0) 8(2/0) 16(4/0) + *The size of the index register (Xn) does not affect execution time. + + + + 7.2 MOVE INSTRUCTION EXECUTION TIMES + Tables 7-2, 7-3, and 7-4 list the numbers of clock periods for the move instructions. The + totals include instruction fetch, operand reads, and operand writes. The total number of + clock periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. + + Table 7-2. Move Byte Instruction Execution Times + Destination + Source Dn An (An) (An)+ –(An) (d16, An) (d8, An, Xn)* (xxx).W (xxx).L + Dn 8(2/0) 8(2/0) 12(2/1) 12(2/1) 12(2/1) 20(4/1) 22(4/1) 20(4/1) 28(6/1) + An 8(2/0) 8(2/0) 12(2/1) 12(2/1) 12(2/1) 20(4/1) 22(4/1) 20(4/1) 28(6/1) + (An) 12(3/0) 12(3/0) 16(3/1) 16(3/1) 16(3/1) 24(5/1) 26(5/1) 24(5/1) 32(7/1) + (An)+ 12(3/0) 12(3/0) 16(3/1) 16(3/1) 16(3/1) 24(5/1) 26(5/1) 24(5/1) 32(7/1) + –(An) 14(3/0) 14(3/0) 18(3/1) 18(3/1) 18(3/1) 26(5/1) 28(5/1) 26(5/1) 34(7/1) + (d 16, An) 20(5/0) 20(5/0) 24(5/1) 24(5/1) 24(5/1) 32(7/1) 34(7/1) 32(7/1) 40(9/1) + (d 8, An, Xn)* 22(5/0) 22(5/0) 26(5/1) 26(5/1) 26(5/1) 34(7/1) 36(7/1) 34(7/1) 42(9/1) + (xxx).W 20(5/0) 20(5/0) 24(5/1) 24(5/1) 24(5/1) 32(7/1) 34(7/1) 32(7/1) 40(9/1) + (xxx).L 28(7/0) 28(7/0) 32(7/1) 32(7/1) 32(7/1) 40(9/1) 42(9/1) 40(9/1) 48(11/1) + (d 16, PC) 20(5/0) 20(5/0) 24(5/1) 24(5/1) 24(5/1) 32(7/1) 34(7/1) 32(7/1) 40(9/1) + (d 8, PC, Xn)* 22(5/0) 22(5/0) 26(5/1) 26(5/1) 26(5/1) 34(7/1) 36(7/1) 34(7/1) 42(9/1) + #<data> 16(4/0) 16(4/0) 20(4/1) 20(4/1) 20(4/1) 28(6/1) 30(6/1) 28(6/1) 36(8/1) + *The size of the index register (Xn) does not affect execution time. + + + + + 7-2 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + Table 7-3. Move Word Instruction Execution Times + Destination + Source Dn An (An) (An)+ –(An) (d16, An) (d8, An, Xn)* (xxx).W (xxx).L + Dn 8(2/0) 8(2/0) 16(2/2) 16(2/2) 16(2/2) 24(4/2) 26(4/2) 24(4/2) 32(6/2) + An 8(2/0) 8(2/0) 16(2/2) 16(2/2) 16(2/2) 24(4/2) 26(4/2) 24(4/2) 32(6/2) + (An) 16(4/0) 16(4/0) 24(4/2) 24(4/2) 24(4/2) 32(6/2) 34(6/2) 32(6/2) 40(8/2) + (An)+ 16(4/0) 16(4/0) 24(4/2) 24(4/2) 24(4/2) 32(6/2) 34(6/2) 32(6/2) 40(8/2) + –(An) 18(4/0) 18(4/0) 26(4/2) 26(4/2) 26(4/2) 34(6/2) 32(6/2) 34(6/2) 42(8/2) + (d 16, An) 24(6/0) 24(6/0) 32(6/2) 32(6/2) 32(6/2) 40(8/2) 42(8/2) 40(8/2) 48(10/2) + (d 8, An, Xn)* 26(6/0) 26(6/0) 34(6/2) 34(6/2) 34(6/2) 42(8/2) 44(8/2) 42(8/2) 50(10/2) + (xxx).W 24(6/0) 24(6/0) 32(6/2) 32(6/2) 32(6/2) 40(8/2) 42(8/2) 40(8/2) 48(10/2) + (xxx).L 32(8/0) 32(8/0) 40(8/2) 40(8/2) 40(8/2) 48(10/2) 50(10/2) 48(10/2) 56(12/2) +Freescale Semiconductor, Inc... + + + + + (d 16, PC) 24(6/0) 24(6/0) 32(6/2) 32(6/2) 32(6/2) 40(8/2) 42(8/2) 40(8/2) 48(10/2) + (d 8, PC, Xn)* 26(6/0) 26(6/0) 34(6/2) 34(6/2) 34(6/2) 42(8/2) 44(8/2) 42(8/2) 50(10/2) + #<data> 16(4/0) 16(4/0) 24(4/2) 24(4/2) 24(4/2) 32(6/2) 34(6/2) 32(6/2) 40(8/2) + *The size of the index register (Xn) does not affect execution time. + + + Table 7-4. Move Long Instruction Execution Times + Destination + Source Dn An (An) (An)+ –(An) (d16, An) (d8, An, Xn)* (xxx).W (xxx).L + Dn 8(2/0) 8(2/0) 24(2/4) 24(2/4) 24(2/4) 32(4/4) 34(4/4) 32(4/4) 40(6/4) + An 8(2/0) 8(2/0) 24(2/4) 24(2/4) 24(2/4) 32(4/4) 34(4/4) 32(4/4) 40(6/4) + (An) 24(6/0) 24(6/0) 40(6/4) 40(6/4) 40(6/4) 48(8/4) 50(8/4) 48(8/4) 56(10/4) + (An)+ 24(6/0) 24(6/0) 40(6/4) 40(6/4) 40(6/4) 48(8/4) 50(8/4) 48(8/4) 56(10/4) + –(An) 26(6/0) 26(6/0) 42(6/4) 42(6/4) 42(6/4) 50(8/4) 52(8/4) 50(8/4) 58(10/4) + (d 16, An) 32(8/0) 32(8/0) 48(8/4) 48(8/4) 48(8/4) 56(10/4) 58(10/4) 56(10/4) 64(12/4) + (d 8, An, Xn)* 34(8/0) 34(8/0) 50(8/4) 50(8/4) 50(8/4) 58(10/4) 60(10/4) 58(10/4) 66(12/4) + (xxx).W 32(8/0) 32(8/0) 48(8/4) 48(8/4) 48(8/4) 56(10/4) 58(10/4) 56(10/4) 64(12/4) + (xxx).L 40(10/0) 40(10/0) 56(10/4) 56(10/4) 56(10/4) 64(12/4) 66(12/4) 64(12/4) 72(14/4) + (d 16, PC) 32(8/0) 32(8/0) 48(8/4) 48(8/4) 48(8/4) 56(10/4) 58(10/4) 56(10/4) 64(12/4) + (d 8, PC, Xn)* 34(8/0) 34(8/0) 50(8/4) 50(8/4) 50(8/4) 58(10/4) 60(10/4) 58(10/4) 66(12/4) + #<data> 24(6/0) 24(6/0) 40(6/4) 40(6/4) 40(6/4) 48(8/4) 50(8/4) 48(8/4) 56(10/4) + *The size of the index register (Xn) does not affect execution time. + + + + 7.3 STANDARD INSTRUCTION EXECUTION TIMES + The numbers of clock periods shown in Table 7-5 indicate the times required to perform + the operations, store the results, and read the next instruction. The total number of clock + periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. The number of clock periods, the number of read cycles, and + the number of write cycles, respectively, must be added to those of the effective address + calculation where indicated by a plus sign (+). + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 7-3 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + In Table 7-5, the following notation applies: + An — Address register operand + Dn — Data register operand + ea — An operand specified by an effective address + M — Memory effective address operand + + Table 7-5. Standard Instruction Execution Times + Instruction Size op<ea>, An op<ea>, Dn op Dn, <M> + ADD/ADDA Byte — 8(2/0)+ 12(2/1)+ + Word 12(2/0)+ 8(2/0)+ 16(2/2)+ + Long 10(2/0)+** 10(2/0)+** 24(2/4)+ + AND Byte — 8(2/0)+ 12(2/1)+ +Freescale Semiconductor, Inc... + + + + + Word — 8(2/0)+ 16(2/2)+ + Long — 10(2/0)+** 24(2/4)+ + CMP/CMPA Byte — 8(2/0)+ — + Word 10(2/0)+ 8(2/0)+ — + Long 10(2/0)+ 10(2/0)+ — + DIVS — — 162(2/0)+* — + DIVU — — 144(2/0)+* — + EOR Byte, — 8(2/0)+*** 12(2/1)+ + Word, — 8(2/0)+*** 16(2/2)+ + Long — 12(2/0)+*** 24(2/4)+ + MULS — — 74(2/0)+* — + MULU — — 74(2/0)+* — + OR Byte, — 8(2/0)+ 12(2/1)+ + Word — 8(2/0)+ 16(2/2)+ + Long — 10(2/0)+** 24(2/4)+ + SUB Byte, 8(2/0)+ 12(2/1)+ + Word 12(2/0)+ 8(2/0)+ 16(2/2)+ + Long 10(2/0)+** 10(2/0)+** 24(2/4)+ + + Add effective address calculation time. + * Indicates maximum base value added to word effective address time + ** The base time of 10 clock periods is increased to 12 if the effective address mode is + register direct or immediate (effective address time should also be added). + *** Only available effective address mode is data register direct. + DIVS, DIVU — The divide algorithm used by the MC68008 provides less than 10% difference + between the best- and worst-case timings. + MULS, MULU — The multiply algorithm requires 42+2n clocks where n is defined as: + MULS: n = tag the <ea> with a zero as the MSB; n is the resultant number of 10 + or 01 patterns in the 17-bit source; i.e., worst case happens when the source + is $5555. + MULU: n = the number of ones in the <ea> + + + + + 7.4 IMMEDIATE INSTRUCTION EXECUTION TIMES + The numbers of clock periods shown in Table 7-6 include the times to fetch immediate + operands, perform the operations, store the results, and read the next operation. The total + number of clock periods, the number of read cycles, and the number of write cycles are + + + 7-4 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + shown in the previously described format. The number of clock periods, the number of + read cycles, and the number of write cycles, respectively, must be added to those of the + effective address calculation where indicated by a plus sign (+). + + In Table 7-6, the following notation applies: + # — Immediate operand + Dn — Data register operand + An — Address register operand + M — Memory operand + + Table 7-6. Immediate Instruction Execution Times + Instruction Size op #, Dn op #, An op #, M +Freescale Semiconductor, Inc... + + + + + ADDI Byte 16(4/0) — 20(4/1)+ + Word 16(4/0) — 24(4/2)+ + Long 28(6/0) — 40(6/4)+ + + ADDQ Byte 8(2/0) — 12(2/1)+ + Word 8(2/0) 12(2/0) 16(2/2)+ + Long 12(2/0) 12(2/0) 24(2/4)+ + ANDI Byte 16(4/0) — 20(4/1)+ + Word 16(4/0) — 24(4/2)+ + Long 28(6/0) — 40(6/4)+ + CMPI Byte 16(4/0) — 16(4/0) + Word 16(4/0) — 16(4/0) + Long 26(6/0) — 24(6/0) + EORI Byte 16(4/0) — 20(4/1)+ + Word 16(4/0) — 24(4/2)+ + Long 28(6/0) — 40(6/4)+ + MOVEQ Long 8(2/0) — — + ORI Byte 16(4/0) — 20(4/1)+ + Word 16(4/0) — 24(4/2)+ + Long 28(6/0) — 40(6/4)+ + SUBI Byte 16(4/0) — 12(2/1)+ + Word 16(4/0) — 16(2/2)+ + Long 28(6/0) — 24(2/4)+ + SUBQ Byte 8(2/0) — 20(4/1)+ + Word 8(2/0) 12(2/0) 24(4/2)+ + Long 12(2/0) 12(2/0) 40(6/4)+ + +Add effective address calculation time. + + + + 7.5 SINGLE OPERAND INSTRUCTION EXECUTION TIMES + Table 7-7 lists the timing data for the single operand instructions. The total number of + clock periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. The number of clock periods, the number of read cycles, and + the number of write cycles, respectively, must be added to those of the effective address + calculation where indicated by a plus sign (+). + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 7-5 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 7-7. Single Operand Instruction + Execution Times + Instruction Size Register Memory + CLR Byte 8(2/0) 12(2/1)+ + Word 8(2/0) 16(2/2)+ + Long 10(2/0) 24(2/4)+ + NBCD Byte 10(2/0) 12(2/1)+ + NEG Byte 8(2/0) 12(2/1)+ + Word 8(2/0) 16(2/2)+ + Long 10(2/0) 24(2/4)+ + NEGX Byte 8(2/0) 12(2/1)+ + Word 8(2/0) 16(2/2)+ + Long 10(2/0) 24(2/4)+ + NOT Byte 8(2/0) 12(2/1)+ + Word 8(2/0) 16(2/2)+ +Freescale Semiconductor, Inc... + + + + + Long 10(2/0) 24(2/4)+ + Scc Byte, False 8(2/0) 12(2/1)+ + Byte, True 10(2/0) 12(2/1)+ + TAS Byte 8(2/0) 14(2/1)+ + TST Byte 8(2/0) 8(2/0)+ + Word 8(2/0) 8(2/0)+ + Long 8(2/0) 8(2/0)+ + +Add effective address calculation time. + + + + 7.6 SHIFT/ROTATE INSTRUCTION EXECUTION TIMES + Table 7-8 lists the timing data for the shift and rotate instructions. The total number of + clock periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. The number of clock periods, the number of read cycles, and + the number of write cycles, respectively, must be added to those of the effective address + calculation where indicated by a plus sign (+). + + Table 7-8. Shift/Rotate Instruction Execution Times + Instruction Size Register Memory + ASR, ASL Byte 10+2n (2/0) — + Word 10+2n (2/0) 16(2/2)+ + Long 12+n2 (2/0) — + LSR, LSL Byte 10+2n (2/0) — + Word 10+2n (2/0) 16(2/2)+ + Long 12+n2 (2/0) — + ROR, ROL Byte 10+2n (2/0) — + Word 10+2n (2/0) 16(2/2)+ + Long 12+n2 (2/0) — + ROXR, ROXL Byte 10+2n (2/0) — + Word 10+2n (2/0) 16(2/2)+ + Long 12+n2 (2/0) — + +Add effective address calculation time for word operands. + n is the shift count. + + + + + 7-6 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 7.7 BIT MANIPULATION INSTRUCTION EXECUTION TIMES + Table 7-9 lists the timing data for the bit manipulation instructions. The total number of + clock periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. The number of clock periods, the number of read cycles, and + the number of write cycles, respectively, must be added to those of the effective address + calculation where indicated by a plus sign (+). + + Table 7-9. Bit Manipulation Instruction Execution Times + Dynamic Static + Instruction Size Register Memory Register Memory + BCHG Byte — 12(2/1)+ — 20(4/1)+ + Long 12(2/0)* — 20(4/0)* — +Freescale Semiconductor, Inc... + + + + + BCLR Byte — 12(2/1)+ — 20(4/1)+ + Long 14(2/0)* — 22(4/0)* — + BSET Byte — 12(2/1)+ — 20(4/1)+ + Long 12(2/0)* — 20(4/0)* — + BTST Byte — 8(2/0)+ — 16(4/0)+ + Long 10(2/0) 18(4/0) — + +Add effective address calculation time. + * Indicates maximum value; data addressing mode only. + + + + 7.8 CONDITIONAL INSTRUCTION EXECUTION TIMES + Table 7-10 lists the timing data for the conditional instructions. The total number of clock + periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. The number of clock periods, the number of read cycles, and + the number of write cycles, respectively, must be added to those of the effective address + calculation where indicated by a plus sign (+). + + Table 7-10. Conditional Instruction Execution Times + Trap or Branch Trap or Branch + Instruction Displacement Taken Not Taken + Bcc Byte 18(4/0) 12(2/0) + Word 18(4/0) 20(4/0) + BRA Byte 18(4/0) — + Word 18(4/0) — + BSR Byte 34(4/4) — + Word 34(4/4) — + DBcc CC True — 20(4/0) + CC False 18(4/0) 26(6/0) + CHK — 68(8/6)+* 14(2/0) + TRAP — 62(8/6) — + TRAPV — 66(10/6) 8(2/0) + +Add effective address calculation time for word operand. + * Indicates maximum base value. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 7-7 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 7.9 JMP, JSR, LEA, PEA, AND MOVEM INSTRUCTION + EXECUTION TIMES + Table 7-11 lists the timing data for the jump (JMP), jump to subroutine (JSR), load + effective address (LEA), push effective address (PEA), and move multiple registers + (MOVEM) instructions. The total number of clock periods, the number of read cycles, and + the number of write cycles are shown in the previously described format. + + Table 7-11. JMP, JSR, LEA, PEA, and MOVEM Instruction Execution Times + Instruction Size (An) (An)+ –(An) (d 16 ,An) (d 8,An,Xn)+ (xxx).W (xxx).L (d 16 PC) (d 8, PC, Xn)* + + JMP — 16 (4/0) — — 18 (4/0) 22 (4/0) 18 (4/0) 24 (6/0) 18 (4/0) 22 (4/0) + + JSR — 32 (4/4) — — 34 (4/4) 38 (4/4) 34 (4/4) 40 (6/4) 34 (4/4) 32 (4/4) +Freescale Semiconductor, Inc... + + + + + LEA — 8(2/0) — — 16 (4/0) 20 (4/0) 16 (4/0) 24 (6/0) 16 (4/0) 20 (4/0) + + PEA — 24 (2/4) — — 32 (4/4) 36 (4/4) 32 (4/4) 40 (6/4) 32 (4/4) 36 (4/4) + + MOVEM Word 24+8n 24+8n — 32+8n 34+8n 32+8n 40+8n 32+8n 34+8n + M→R (6+2n/0) (6+2n/0) (8+2n/0) (8+2n/0) (10+n/0) (10+2n/0) (8+2n/0) (8+2n/0) + + Long 24+16n 24+16n — 32+16n 34+16n 32+16n 40+16n 32+16n 34+16n + (6+4n/0) (6+4n/0) (8+4n/0) (8+4n/0) (8+4n/0) (8+4n/0) (8+4n/0) (8+4n/0) + + MOVEM Word 16+8n — 16+8n 24+8n 26+8n 24+8n 32+8n — — + R→M (4/2n) — (4/2n) (6/2n) (6/2n) (6/2n) (8/2n) — — + + Long 16+16n — 16+16n 24+16n 26+16n 24+16n 32+16n — — + (4/4n) — (4/4n) (6/4n) (8/4n) (6/4n) — — + + n is the number of registers to move. + *The size of the index register (Xn) does not affect the instruction's execution time. + + + 7.10 MULTIPRECISION INSTRUCTION EXECUTION TIMES + Table 7-12 lists the timing data for multiprecision instructions. The numbers of clock + periods include the times to fetch both operands, perform the operations, store the results, + and read the next instructions. The total number of clock periods, the number of read + cycles, and the number of write cycles are shown in the previously described format. + + The following notation applies in Table 7-12: + Dn — Data register operand + M — Memory operand + + + + + 7-8 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + Table 7-12. Multiprecision Instruction + Execution Times + Instruction Size op Dn, Dn op M, M + ADDX Byte 8(2/0) 22(4/1) + Word 8(2/0) 50(6/2) + Long 12(2/0) 58(10/4) + CMPM Byte, — 16(4/0) + Word — 24(6/0) + Long — 40(10/0) + SUBX Byte, \ 8(2/0) 22(4/1) + Word 8(2/0) 50(6/2) + Long 12(2/0) 58(10/4) + ABCD Byte 10(2/0) 20(4/1) +Freescale Semiconductor, Inc... + + + + + SBCD Byte 10(2/0) 20(4/1) + + + + + 7.11 MISCELLANEOUS INSTRUCTION EXECUTION TIMES + Tables 7-13 and 7-14 list the timing data for miscellaneous instructions. The total number + of clock periods, the number of read cycles, and the number of write cycles are shown in + the previously described format. The number of clock periods, the number of read cycles, + and the number of write cycles, respectively, must be added to those of the effective + address calculation where indicated by a plus sign (+). + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 7-9 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + Table 7-13. Miscellaneous Instruction Execution Times + Instruction Register Memory + ANDI to CCR 32(6/0) — + ANDI to SR 32(6/0) — + EORI to CCR 32(6/0) — + EORI to SR 32(6/0) — + EXG 10(2/0) — + EXT 8(2/0) — + LINK 32(4/4) — + MOVE to CCR 18(4/0) 18(4/0)+ + MOVE to SR 18(4/0) 18(4/0)+ +Freescale Semiconductor, Inc... + + + + + MOVE from SR 10(2/0) 16(2/2)+ + MOVE to USP 8(2/0) — + MOVE from USP 8(2/0) — + NOP 8(2/0) — + ORI to CCR 32(6/0) — + ORI to SR 32(6/0) — + RESET 136(2/0) — + RTE 40(10/0) — + RTR 40(10/0) — + RTS 32(8/0) — + STOP 4(0/0) — + SWAP 8(2/0) — + TRAPV (No Trap) 8(2/0) — + UNLK 24(6/0) — + +Add effective address calculation time for word operand. + + + Table 7-14. Move Peripheral Instruction Execution Times + Instruction Size Register → Memory Memory → Register + MOVEP Word 24(4/2) 24(6/0) + Long 32(4/4) 32(8/0) + +Add effective address calculation time. + + + + 7.12 EXCEPTION PROCESSING EXECUTION TIMES + Table 7-15 lists the timing data for exception processing. The numbers of clock periods + include the times for all stacking, the vector fetch, and the fetch of the first instruction of + the handler routine. The total number of clock periods, the number of read cycles, and the + number of write cycles are shown in the previously described format. The number of clock + + + 7-10 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + periods, the number of read cycles, and the number of write cycles, respectively, must be + added to those of the effective address calculation where indicated by a plus sign (+). + + Table 7-15. Exception Processing + Execution Times + Exception Periods + Address Error 94(8/14) + Bus Error 94(8/14) + CHK Instruction 68(8/6)+ + Divide by Zero 66(8/6)+ + Interrupt 72(9/6)* +Freescale Semiconductor, Inc... + + + + + Illegal Instruction 62(8/6) + Privilege Violation 62(8/6) + RESET ** 64(12/0) + Trace 62(8/6) + TRAP Instruction 62(8/6) + TRAPV Instruction 66(10/6) + + Add effective address calculation time. + ** Indicates the time from when RESET and HALT are first + sampled as negated to when instruction execution starts. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 7-11 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + SECTION 8 + 16-BIT INSTRUCTION + EXECUTION TIMES + This section contains listings of the instruction execution times in terms of external clock + (CLK) periods for the MC68000, MC68HC000, MC68HC001, and the MC68EC000 in 16- + bit mode. In this data, it is assumed that both memory read and write cycles consist of four + clock periods. A longer memory cycle causes the generation of wait states that must be +Freescale Semiconductor, Inc... + + + + + added to the total instruction times. + + The number of bus read and write cycles for each instruction is also included with the + timing data. This data is shown as + + n(r/w) + + where: + n is the total number of clock periods + r is the number of read cycles + w is the number of write cycles + + For example, a timing number shown as 18(3/1) means that the total number of clock + periods is 18. Of the 18 clock periods, 12 are used for the three read cycles (four periods + per cycle). Four additional clock periods are used for the single write cycle, for a total of 16 + clock periods. The bus is idle for two clock periods during which the processor completes + the internal operations required for the instruction. + + NOTE + The total number of clock periods (n) includes instruction fetch + and all applicable operand fetches and stores. + + + 8.1 OPERAND EFFECTIVE ADDRESS CALCULATION TIMES + Table 8-1 lists the numbers of clock periods required to compute the effective addresses + for instructions. The total includes fetching any extension words, computing the address, + and fetching the memory operand. The total number of clock periods, the number of read + cycles, and the number of write cycles (zero for all effective address calculations) are + shown in the previously described format. + + + + + MOTOROLA MC68000 8-/16-/32-MICROPROCESSORS USER’S MANUAL 8-1 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + Table 8-1. Effective Address Calculation Times + Addressing Mode Byte, Word Long + Register + Dn Data Register Direct 0(0/0) 0(0/0) + An Address Register Direct 0(0/0) 0(0/0) + Memory + (An) Address Register Indirect 4(1/0) 8(2/0) + (An)+ Address Register Indirect with Postincrement 4(1/0) 8(2/0) + –(An) Address Register Indirect with Predecrement 6(1/0) 10(2/0) + (d 16, An) Address Register Indirect with Displacement 8(2/0) 12(3/0) + (d 8, An, Xn)* Address Register Indirect with Index 10(2/0) 14(3/0) + (xxx).W Absolute Short 8(2/0) 12(3/0) +Freescale Semiconductor, Inc... + + + + + (xxx).L Absolute Long 12(3/0) 16(4/0) + (d 8, PC) Program Counter Indirect with Displacement 8(2/0) 12(3/0) + (d 16, PC, Xn)* Program Counter Indirect with Index 10(2/0) 14(3/0) + #<data> Immediate 4(1/0) 8(2/0) + *The size of the index register (Xn) does not affect execution time. + + + + 8.2 MOVE INSTRUCTION EXECUTION TIMES + Tables 8-2 and 8-3 list the numbers of clock periods for the move instructions. The totals + include instruction fetch, operand reads, and operand writes. The total number of clock + periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. + + Table 8-2. Move Byte and Word Instruction Execution Times + Destination + Source Dn An (An) (An)+ –(An) (d16, An) (d8, An, Xn)* (xxx).W (xxx).L + Dn 4(1/0) 4(1/0) 8(1/1) 8(1/1) 8(1/1) 12(2/1) 14(2/1) 12(2/1) 16(3/1) + An 4(1/0) 4(1/0) 8(1/1) 8(1/1) 8(1/1) 12(2/1) 14(2/1) 12(2/1) 16(3/1) + (An) 8(2/0) 8(2/0) 12(2/1) 12(2/1) 12(2/1) 16(3/1) 18(3/1) 16(3/1) 20(4/1) + (An)+ 8(2/0) 8(2/0) 12(2/1) 12(2/1) 12(2/1) 16(3/1) 18(3/1) 16(3/1) 20(4/1) + –(An) 10(2/0) 10(2/0) 14(2/1) 14(2/1) 14(2/1) 18(3/1) 20(3/1) 18(3/1) 22(4/1) + (d 16, An) 12(3/0) 12(3/0) 16(3/1) 16(3/1) 16(3/1) 20(4/1) 22(4/1) 20(4/1) 24(5/1) + (d 8, An, Xn)* 14(3/0) 14(3/0) 18(3/1) 18(3/1) 18(3/1) 22(4/1) 24(4/1) 22(4/1) 26(5/1) + (xxx).W 12(3/0) 12(3/0) 16(3/1) 16(3/1) 16(3/1) 20(4/1) 22(4/1) 20(4/1) 24(5/1) + (xxx).L 16(4/0) 16(4/0) 20(4/1) 20(4/1) 20(4/1) 24(5/1) 26(5/1) 24(5/1) 28(6/1) + (d 16, PC) 12(3/0) 12(3/0) 16(3/1) 16(3/1) 16(3/1) 20(4/1) 22(4/1) 20(4/1) 24(5/1) + (d 8, PC, Xn)* 14(3/0) 14(3/0) 18(3/1) 18(3/1) 18(3/1) 22(4/1) 24(4/1) 22(4/1) 26(5/1) + #<data> 8(2/0) 8(2/0) 12(2/1) 12(2/1) 12(2/1) 16(3/1) 18(3/1) 16(3/1) 20(4/1) + *The size of the index register (Xn) does not affect execution time. + + + + + 8-2 MC68000 8-/16-/32-MICROPROCESSORS UISER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 8-3. Move Long Instruction Execution Times + Destination + Source Dn An (An) (An)+ –(An) (d16, An) (d8, An, Xn)* (xxx).W (xxx).L + Dn 4(1/0) 4(1/0) 12(1/2) 12(1/2) 12(1/2) 16(2/2) 18(2/2) 16(2/2) 20(3/2) + An 4(1/0) 4(1/0) 12(1/2) 12(1/2) 12(1/2) 16(2/2) 18(2/2) 16(2/2) 20(3/2) + (An) 12(3/0) 12(3/0) 20(3/2) 20(3/2) 20(3/2) 24(4/2) 26(4/2) 24(4/2) 28(5/2) + (An)+ 12(3/0) 12(3/0) 20(3/2) 20(3/2) 20(3/2) 24(4/2) 26(4/2) 24(4/2) 28(5/2) + –(An) 14(3/0) 14(3/0) 22(3/2) 22(3/2) 22(3/2) 26(4/2) 28(4/2) 26(4/2) 30(5/2) + (d 16, An) 16(4/0) 16(4/0) 24(4/2) 24(4/2) 24(4/2) 28(5/2) 30(5/2) 28(5/2) 32(6/2) + (d 8, An, Xn)* 18(4/0) 18(4/0) 26(4/2) 26(4/2) 26(4/2) 30(5/2) 32(5/2) 30(5/2) 34(6/2) + (xxx).W 16(4/0) 16(4/0) 24(4/2) 24(4/2) 24(4/2) 28(5/2) 30(5/2) 28(5/2) 32(6/2) + (xxx).L 20(5/0) 20(5/0) 28(5/2) 28(5/2) 28(5/2) 32(6/2) 34(6/2) 32(6/2) 36(7/2) + (d, PC) 16(4/0) 16(4/0) 24(4/2) 24(4/2) 24(4/2) 28(5/2) 30(5/2) 28(5/2) 32(5/2) +Freescale Semiconductor, Inc... + + + + + (d, PC, Xn)* 18(4/0) 18(4/0) 26(4/2) 26(4/2) 26(4/2) 30(5/2) 32(5/2) 30(5/2) 34(6/2) + #<data> 12(3/0) 12(3/0) 20(3/2) 20(3/2) 20(3/2) 24(4/2) 26(4/2) 24(4/2) 28(5/2) + *The size of the index register (Xn) does not affect execution time. + + + + 8.3 STANDARD INSTRUCTION EXECUTION TIMES + The numbers of clock periods shown in Table 8-4 indicate the times required to perform + the operations, store the results, and read the next instruction. The total number of clock + periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. The number of clock periods, the number of read cycles, and + the number of write cycles, respectively, must be added to those of the effective address + calculation where indicated by a plus sign (+). + + In Table 8-4, the following notation applies: + An — Address register operand + Dn — Data register operand + ea — An operand specified by an effective address + M — Memory effective address operand + + + + + MOTOROLA MC68000 8-/16-/32-MICROPROCESSORS USER’S MANUAL 8-3 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + Table 8-4. Standard Instruction Execution Times + Instruction Size op<ea>, An† op<ea>, Dn op Dn, <M> + ADD/ADDA Byte, Word 8(1/0)+ 4(1/0)+ 8(1/1)+ + Long 6(1/0)+** 6(1/0)+** 12(1/2)+ + AND Byte, Word — 4(1/0)+ 8(1/1)+ + Long — 6(1/0)+** 12(1/2)+ + CMP/CMPA Byte, Word 6(1/0)+ 4(1/0)+ — + Long 6(1/0)+ 6(1/0)+ — + DIVS — — 158(1/0)+* — + DIVU — — 140(1/0)+* — + EOR Byte, Word — 4(1/0)*** 8(1/1)+ +Freescale Semiconductor, Inc... + + + + + Long — 8(1/0)*** 12(1/2)+ + MULS — — 70(1/0)+* — + MULU — — 70(1/0)+* — + OR Byte, Word — 4(1/0)+ 8(1/1)+ + Long — 6(1/0)+** 12(1/2)+ + SUB Byte, Word 8(1/0)+ 4(1/0)+ 8(1/1)+ + Long 6(1/0)+** 6(1/0)+** 12(1/2)+ + Add effective address calculation time. + + + Word or long only + † + Indicates maximum basic value added to word effective address time + * + The base time of six clock periods is increased to eight if the effective address mode is + ** + register direct or immediate (effective address time should also be added). + *** Only available effective address mode is data register direct. + DIVS, DIVU — The divide algorithm used by the MC68000 provides less than 10% difference + between the best- and worst-case timings. + MULS, MULU — The multiply algorithm requires 38+2n clocks where n is defined as: + MULU: n = the number of ones in the <ea> + MULS: n=concatenate the <ea> with a zero as the LSB; n is the resultant number of 10 + or 01 patterns in the 17-bit source; i.e., worst case happens when the source + is $5555. + + + + 8.4 IMMEDIATE INSTRUCTION EXECUTION TIMES + The numbers of clock periods shown in Table 8-5 include the times to fetch immediate + operands, perform the operations, store the results, and read the next operation. The total + number of clock periods, the number of read cycles, and the number of write cycles are + shown in the previously described format. The number of clock periods, the number of + read cycles, and the number of write cycles, respectively, must be added to those of the + effective address calculation where indicated by a plus sign (+). + + In Table 8-5, the following notation applies: + # — Immediate operand + Dn — Data register operand + An — Address register operand + M — Memory operand + + 8-4 MC68000 8-/16-/32-MICROPROCESSORS UISER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 8-5. Immediate Instruction Execution Times + Instruction Size op #, Dn op #, An op #, M + ADDI Byte, Word 8(2/0) — 12(2/1)+ + Long 16(3/0) — 20(3/2)+ + ADDQ Byte, Word 4(1/0) 4(1/0)* 8(1/1)+ + Long 8(1/0) 8(1/0) 12(1/2)+ + ANDI Byte, Word 8(2/0) — 12(2/1)+ + Long 14(3/0) — 20(3/2)+ + CMPI Byte, Word 8(2/0) — 8(2/0)+ + Long 14(3/0) — 12(3/0)+ + EORI Byte, Word 8(2/0) — 12(2/1)+ +Freescale Semiconductor, Inc... + + + + + Long 16(3/0) — 20(3/2)+ + MOVEQ Long 4(1/0) — — + ORI Byte, Word 8(2/0) — 12(2/1)+ + Long 16(3/0) — 20(3/2)+ + SUBI Byte, Word 8(2/0) — 12(2/1)+ + Long 16(3/0) — 20(3/2)+ + SUBQ Byte, Word 4(1/0) 8(1/0)* 8(1/1)+ + Long 8(1/0) 8(1/0) 12(1/2)+ + + + + + 8.5 SINGLE OPERAND INSTRUCTION EXECUTION TIMES + Table 8-6 lists the timing data for the single operand instructions. The total number of + clock periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. The number of clock periods, the number of read cycles, and + the number of write cycles, respectively, must be added to those of the effective address + calculation where indicated by a plus sign (+). + + + + + MOTOROLA MC68000 8-/16-/32-MICROPROCESSORS USER’S MANUAL 8-5 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + Table 8-6. Single Operand Instruction + Execution Times + Instruction Size Register Memory + CLR Byte, Word 4(1/0) 8(1/1)+ + Long 6(1/0) 12(1/2)+ + NBCD Byte 6(1/0) 8(1/1)+ + NEG Byte, Word 4(1/0) 8(1/1)+ + Long 6(1/0) 12(1/2)+ + NEGX Byte, Word 4(1/0) 8(1/1)+ + Long 6(1/0) 12(1/2)+ + NOT Byte, Word 4(1/0) 8(1/1)+ +Freescale Semiconductor, Inc... + + + + + Long 6(1/0) 12(1/2)+ + Scc Byte, False 4(1/0) 8(1/1)+ + Byte, True 6(1/0) 8(1/1)+ + TAS Byte 4(1/0) 14(2/1)+ + TST Byte, Word 4(1/0) 4(1/0)+ + Long 4(1/0) 4(1/0)+ + +Add effective address calculation time. + + + + 8.6 SHIFT/ROTATE INSTRUCTION EXECUTION TIMES + Table 8-7 lists the timing data for the shift and rotate instructions. The total number of + clock periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. The number of clock periods, the number of read cycles, and + the number of write cycles, respectively, must be added to those of the effective address + calculation where indicated by a plus sign (+). + + Table 8-7. Shift/Rotate Instruction Execution Times + Instruction Size Register Memory + ASR, ASL Byte, Word 6+2n (1/0) 8(1/1)+ + Long 8+2n (1/0) — + LSR, LSL Byte, Word 6+2n (1/0) 8(1/1)+ + Long 8+2n (1/0) — + ROR, ROL Byte, Word 6+2n (1/0) 8(1/1)+ + Long 8+2n (1/0) — + ROXR, ROXL Byte, Word 6+2n (1/0) 8(1/1)+ + Long 8+2n (1/0) — + +Add effective address calculation time for word operands. + n is the shift count. + + + + + 8-6 MC68000 8-/16-/32-MICROPROCESSORS UISER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 8.7 BIT MANIPULATION INSTRUCTION EXECUTION TIMES + Table 8-8 lists the timing data for the bit manipulation instructions. The total number of + clock periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. The number of clock periods, the number of read cycles, and + the number of write cycles, respectively, must be added to those of the effective address + calculation where indicated by a plus sign (+). + + Table 8-8. Bit Manipulation Instruction Execution Times + Dynamic Static + Instruction Size Register Memory Register Memory + BCHG Byte — 8(1/1)+ — 12(2/1)+ +Freescale Semiconductor, Inc... + + + + + Long 8(1/0)* — 12(2/0)* — + BCLR Byte — 8(1/1)+ — 12(2/1)+ + Long 10(1/0)* — 14(2/0)* — + BSET Byte — 8(1/1)+ — 12(2/1)+ + Long 8(1/0)* — 12(2/0)* — + BTST Byte — 4(1/0)+ — 8(2/0)+ + Long 6(1/0) — 10(2/0) — + +Add effective address calculation time. + * Indicates maximum value; data addressing mode only. + + + + 8.8 CONDITIONAL INSTRUCTION EXECUTION TIMES + Table 8-9 lists the timing data for the conditional instructions. The total number of clock + periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. + + Table 8-9. Conditional Instruction Execution Times + Branch Branch Not + Instruction Displacement Taken Taken + Bcc Byte 10(2/0) 8(1/0) + Word 10(2/0) 12(2/0) + BRA Byte 10(2/0) — + Word 10(2/0) — + BSR Byte 18(2/2) — + Word 18(2/2) — + DBcc cc true — 12(2/0) + cc false, Count Not Expired 10(2/0) — + cc false, Counter Expired — 14(3/0) + + + + + MOTOROLA MC68000 8-/16-/32-MICROPROCESSORS USER’S MANUAL 8-7 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 8.9 JMP, JSR, LEA, PEA, AND MOVEM INSTRUCTION + EXECUTION TIMES + Table 8-10 lists the timing data for the jump (JMP), jump to subroutine (JSR), load + effective address (LEA), push effective address (PEA), and move multiple registers + (MOVEM) instructions. The total number of clock periods, the number of read cycles, and + the number of write cycles are shown in the previously described format. + + Table 8-10. JMP, JSR, LEA, PEA, and MOVEM Instruction Execution Times + Instruction Size (An) (An)+ –(An) (d 16 ,An) (d 8,An,Xn)+ (xxx).W (xxx).L (d 16 PC) (d 8, PC, Xn)* + + JMP — 8(2/0) — — 10 (2/0) 14 (3/0) 10 (2/0) 12 (3/0) 10 (2/0) 14 (3/0) + + JSR — 16 (2/2) — — 18 (2/2) 22 (2/2) 18 (2/2) 20 (3/2) 18 (2/2) 22 (2/2) +Freescale Semiconductor, Inc... + + + + + LEA — 4(1/0) — — 8(2/0) 12 (2/0) 8(2/0) 12 (3/0) 8(2/0) 12 (2/0) + + PEA — 12 (1/2) — — 16 (2/2) 20 (2/2) 16 (2/2) 20 (3/2) 16 (2/2) 20 (2/2) + + MOVEM Word 12+4n 12+4n — 16+4n 18+4n 16+4n 20+4n 16+4n 18+4n (4+n/0) + M→R (3+n/0) (3+n/0) (4+n/0) (4+n/0) (4+n/0) (5+n/0) (4n/0) + + Long 12+8n 12+8n — 16+8n 18+8n 16+8n 20+8n 16+8n 18+8n + (3+2n/0) (3+n/0) (4+2n/0) (4+2n/0) (4+2n/0) (5+2n/0) (4+2n/0) (4+2n/0) + + MOVEM Word 8+4n — 8+4n 12+4n 14+4n 12+4n 16+4n — — + R→M (2/n) (2/n) (3/n) (3/n) (3/n) (4/n) — — + + Long 8+8n — 8+8n 12+8n 14+8n 12+8n 16+8n — — + (2/2n) — (2/2n) (3/2n) (3/2n) (3/2n) (4/2n) — — + + n is the number of registers to move. + *The size of the index register (Xn) does not affect the instruction's execution time. + + + + 8.10 MULTIPRECISION INSTRUCTION EXECUTION TIMES + Table 8-11 lists the timing data for multiprecision instructions. The number of clock periods + includes the time to fetch both operands, perform the operations, store the results, and + read the next instructions. The total number of clock periods, the number of read cycles, + and the number of write cycles are shown in the previously described format. + + The following notation applies in Table 8-11: + Dn — Data register operand + M — Memory operand + + + + + 8-8 MC68000 8-/16-/32-MICROPROCESSORS UISER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + Table 8-11. Multiprecision Instruction + Execution Times + Instruction Size op Dn, Dn op M, M + ADDX Byte, Word 4(1/0) 18(3/1) + Long 8(1/0) 30(5/2) + CMPM Byte, Word — 12(3/0) + Long — 20(5/0) + SUBX Byte, Word 4(1/0) 18(3/1) + Long 8(1/0) 30(5/2) + ABCD Byte 6(1/0) 18(3/1) + SBCD Byte 6(1/0) 18(3/1) +Freescale Semiconductor, Inc... + + + + + 8.11 MISCELLANEOUS INSTRUCTION EXECUTION TIMES + Tables 8-12 and 8-13 list the timing data for miscellaneous instructions. The total number + of clock periods, the number of read cycles, and the number of write cycles are shown in + the previously described format. The number of clock periods, the number of read cycles, + and the number of write cycles, respectively, must be added to those of the effective + address calculation where indicated by a plus sign (+). + + + + + MOTOROLA MC68000 8-/16-/32-MICROPROCESSORS USER’S MANUAL 8-9 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + Table 8-12. Miscellaneous Instruction Execution Times + Instruction Size Register Memory + ANDI to CCR Byte 20(3/0) — + ANDI to SR Word 20(3/0) — + CHK (No Trap) — 10(1/0)+ — + EORI to CCR Byte 20(3/0) — + EORI to SR Word 20(3/0) — + ORI to CCR Byte 20(3/0) — + ORI to SR Word 20(3/0) — + MOVE from SR — 6(1/0) 8(1/1)+ + MOVE to CCR — 12(1/0) 12(1/0)+ +Freescale Semiconductor, Inc... + + + + + MOVE to SR — 12(2/0) 12(2/0)+ + EXG — 6(1/0) — + EXT Word 4(1/0) — + Long 4(1/0) — + LINK — 16(2/2) — + MOVE from USP — 4(1/0) — + MOVE to USP — 4(1/0) — + NOP — 4(1/0) — + RESET — 132(1/0) — + RTE — 20(5/0) — + RTR — 20(2/0) — + RTS — 16(4/0) — + STOP — 4(0/0) — + SWAP — 4(1/0) — + TRAPV — 4(1/0) — + UNLK — 12(3/0) — + +Add effective address calculation time. + + + Table 8-13. Move Peripheral Instruction Execution Times + Instruction Size Register → Memory Memory → Register + MOVEP Word 16(2/2) 16(4/0) + Long 24(2/4) 24(6/0) + + + + + 8.12 EXCEPTION PROCESSING EXECUTION TIMES + Table 8-14 lists the timing data for exception processing. The numbers of clock periods + include the times for all stacking, the vector fetch, and the fetch of the first instruction of + + 8-10 MC68000 8-/16-/32-MICROPROCESSORS UISER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + the handler routine. The total number of clock periods, the number of read cycles, and the + number of write cycles are shown in the previously described format. The number of clock + periods, the number of read cycles, and the number of write cycles, respectively, must be + added to those of the effective address calculation where indicated by a plus sign (+). + + Table 8-14. Exception Processing + Execution Times + Exception Periods + Address Error 50(4/7) + Bus Error 50(4/7) + CHK Instruction 40(4/3)+ + Divide by Zero 38(4/3)+ +Freescale Semiconductor, Inc... + + + + + Illegal Instruction 34(4/3) + Interrupt 44(5/3)* + Privilege Violation 34(4/3) + RESET ** 40(6/0) + Trace 34(4/3) + TRAP Instruction 34(4/3) + TRAPV Instruction 34(5/3) + + Add effective address calculation time. + * The interrupt acknowledge cycle is assumed to take + four clock periods. + ** Indicates the time from when RESET and HALT are first + sampled as negated to when instruction execution starts. + + + + + MOTOROLA MC68000 8-/16-/32-MICROPROCESSORS USER’S MANUAL 8-11 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + SECTION 9 + MC68010 INSTRUCTION EXECUTION TIMES + This section contains listings of the instruction execution times in terms of external clock + (CLK) periods for the MC68010. In this data, it is assumed that both memory read and + write cycles consist of four clock periods. A longer memory cycle causes the generation of + wait states that must be added to the total instruction times. +Freescale Semiconductor, Inc... + + + + + The number of bus read and write cycles for each instruction is also included with the + timing data. This data is shown as + + n(r/w) + + where: + n is the total number of clock periods + r is the number of read cycles + w is the number of write cycles + + For example, a timing number shown as 18(3/1) means that 18 clock cycles are required + to execute the instruction. Of the 18 clock periods, 12 are used for the three read cycles + (four periods per cycle). Four additional clock periods are used for the single write cycle, + for a total of 16 clock periods. The bus is idle for two clock periods during which the + processor completes the internal operations required for the instructions. + + NOTE + The total number of clock periods (n) includes instruction fetch + and all applicable operand fetches and stores. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 9-1 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 9.1 OPERAND EFFECTIVE ADDRESS CALCULATION TIMES + Table 9-1 lists the numbers of clock periods required to compute the effective addresses + for instructions. The totals include fetching any extension words, computing the address, + and fetching the memory operand. The total number of clock periods, the number of read + cycles, and the number of write cycles (zero for all effective address calculations) are + shown in the previously described format. + + Table 9-1. Effective Address Calculation Times + Byte, Word Long + Addressing Mode Fetch No Fetch Fetch No Fetch + Register + Dn Data Register Direct 0(0/0) — 0(0/0) — +Freescale Semiconductor, Inc... + + + + + An Address Register Direct 0(0/0) — 0(0/0) — + Memory + (An) Address Register Indirect 4(1/0) 2(0/0) 8(2/0) 2(0/0) + (An)+ Address Register Indirect with Postincrement 4(1/0) 4(0/0) 8(2/0) 4(0/0) + –(An) Address Register Indirect with Predecrement 6(1/0) 4(0/0) 10(2/0) 4(0/0) + (d 16, An) Address Register Indirect with Displacement 8(2/0) 4(0/0) 12(3/0) 4(1/0) + (d 8, An, Xn)* Address Register Indirect with Index 10(2/0) 8(1/0) 14(3/0) 8(1/0) + (xxx).W Absolute Short 8(2/0) 4(1/0) 12(3/0) 4(1/0) + (xxx).L Absolute Long 12(3/0) 8(2/0) 16(4/0) 8(2/0) + (d 16, PC) Program Counter Indirect with Displacement 8(2/0) — 12(3/0) — + (d 8, PC, Xn)* Program Counter Indirect with Index 10(2/0) — 14(3/0) — + #<data> Immediate 4(1/0) — 8(2/0) — + *The size of the index register (Xn) does not affect execution time. + + + + 9.2 MOVE INSTRUCTION EXECUTION TIMES + Tables 9-2, 9-3, 9-4, and 9-5 list the numbers of clock periods for the move instructions. + The totals include instruction fetch, operand reads, and operand writes. The total number + of clock periods, the number of read cycles, and the number of write cycles are shown in + the previously described format. + + + + + 9-2 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 9-2. Move Byte and Word Instruction Execution Times + Destination + Source Dn An (An) (An)+ –(An) (d16, An) (d8, An, Xn)* (xxx).W (xxx).L + Dn 4(1/0) 4(1/0) 8(1/1) 8(1/1) 8(1/1) 12(2/1) 14(2/1) 12(2/1) 16(3/1) + An 4(1/0) 4(1/0) 8(1/1) 8(1/1) 8(1/1) 12(2/1) 14(2/1) 12(2/1) 16(3/1) + (An) 8(2/0) 8(2/0) 12(2/1) 12(2/1) 12(2/1) 16(3/1) 18(3/1) 16(3/1) 20(4/1) + (An)+ 8(2/0) 8(2/0) 12(2/1) 12(2/1) 12(2/1) 16(3/1) 18(3/1) 16(3/1) 20(4/1) + –(An) 10(2/0) 10(2/0) 14(2/1) 14(2/1) 14(2/1) 18(3/1) 20(3/1) 18(3/1) 22(4/1) + (d 16, An) 12(3/0) 12(3/0) 16(3/1) 16(3/1) 16(3/1) 20(4/1) 22(4/1) 20(4/1) 24(5/1) + (d 8, An, Xn)* 14(3/0) 14(3/0) 18(3/1) 18(3/1) 18(3/1) 22(4/1) 24(4/1) 22(4/1) 26(5/1) + (xxx).W 12(3/0) 12(3/0) 16(3/1) 16(3/1) 16(3/1) 20(4/1) 22(4/1) 20(4/1) 24(5/1) + (xxx).L 16(4/0) 16(4/0) 20(4/1) 20(4/1) 20(4/1) 24(5/1) 26(5/1) 24(5/1) 28(6/1) + (d 16, PC) 12(3/0) 12(3/0) 16(3/1) 16(3/1) 16(3/1) 20(4/1) 22(4/1) 20(4/1) 24(5/1) +Freescale Semiconductor, Inc... + + + + + (d 8, PC, Xn)* 14(3/0) 14(3/0) 18(3/1) 18(3/1) 18(3/1) 22(4/1) 24(4/1) 22(4/1) 26(5/1) + #<data> 8(2/0) 8(2/0) 12(2/1) 12(2/1) 12(2/1) 16(3/1) 18(3/1) 16(3/1) 20(4/1) + *The size of the index register (Xn) does not affect execution time. + + + Table 9-3. Move Byte and Word Instruction Loop Mode Execution Times + Loop Continued Loop Terminated + Valid Count, cc False Valid count, cc True Expired Count + Destination + Source (An) (An)+ –(An) (An) (An)+ –(An) (An) (An)+ –(An) + Dn 10(0/1) 10(0/1) — 18(2/1) 18(2/1) — 16(2/1) 16(2/1) — + An* 10(0/1) 10(0/1) — 18(2/1) 18(2/1) — 16(2/1) 16(2/1) — + (An) 14(1/1) 14(1/1) 16(1/1) 20(3/1) 20(3/1) 22(3/1) 18(3/1) 18(3/1) 20(3/1) + (An)+ 14(1/1) 14(1/1) 16(1/1) 20(3/1) 20(3/1) 22(3/1) 18(3/1) 18(3/1) 20(3/1) + –(An) 16(1/1) 16(1/1) 18(1/1) 22(3/1) 22(3/1) 24(3/1) 20(3/1) 20(3/1) 22(3/1) + *Word only. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 9-3 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 9-4. Move Long Instruction Execution Times + Destination + Source Dn An (An) (An)+ –(An) (d16, An) (d8, An, Xn)* (xxx).W (xxx).L + Dn 4(1/0) 4(1/0) 12(1/2) 12(1/2) 14(1/2) 16(2/2) 18(2/2) 16(2/2) 20(3/2) + An 4(1/0) 4(1/0) 12(1/2) 12(1/2) 14(1/2) 16(2/2) 18(2/2) 16(2/2) 20(3/2) + (An) 12(3/0) 12(3/0) 20(3/2) 20(3/2) 20(3/2) 24(4/2) 26(4/2) 24(4/2) 28(5/2) + (An)+ 12(3/0) 12(3/0) 20(3/2) 20(3/2) 20(3/2) 24(4/2) 26(4/2) 24(4/2) 28(5/2) + –(An) 14(3/0) 14(3/0) 22(3/2) 22(3/2) 22(3/2) 26(4/2) 28(4/2) 26(4/2) 30(5/2) + (d 16, An) 16(4/0) 16(4/0) 24(4/2) 24(4/2) 24(4/2) 28(5/2) 30(5/2) 28(5/2) 32(6/2) + (d 8, An, Xn)* 18(4/0) 18(4/0) 26(4/2) 26(4/2) 26(4/2) 30(5/2) 32(5/2) 30(5/2) 34(6/2) + (xxx).W 16(4/0) 16(4/0) 24(4/2) 24(4/2) 24(4/2) 28(5/2) 30(5/2) 28(5/2) 32(6/2) + (xxx).L 20(5/0) 20(5/0) 28(5/2) 28(5/2) 28(5/2) 32(6/2) 34(6/2) 32(6/2) 36(7/2) + (d 16, PC) 16(4/0) 16(4/0) 24(4/2) 24(4/2) 24(4/2) 28(5/2) 30(5/2) 28(5/2) 32(5/2) +Freescale Semiconductor, Inc... + + + + + (d 8, PC, Xn)* 18(4/0) 18(4/0) 26(4/2) 26(4/2) 26(4/2) 30(5/2) 32(5/2) 30(5/2) 34(6/2) + #<data> 12(3/0) 12(3/0) 20(3/2) 20(3/2) 20(3/2) 24(4/2) 26(4/2) 24(4/2) 28(5/2) + *The size of the index register (Xn) does not affect execution time. + + + Table 9-5. Move Long Instruction Loop Mode Execution Times + Loop Continued Loop Terminated + Valid Count, cc False Valid count, cc True Expired Count + Destination + Source (An) (An)+ –(An) (An) (An)+ –(An) (An) (An)+ –(An) + Dn 14(0/2) 14(0/2) — 20(2/2) 20(2/2) — 18(2/2) 18(2/2) — + An 14(0/2) 14(0/2) — 20(2/2) 20(2/2) — 18(2/2) 18(2/2) — + (An) 22(2/2) 22(2/2) 24(2/2) 28(4/2) 28(4/2) 30(4/2) 24(4/2) 24(4/2) 26(4/2) + (An)+ 22(2/2) 22(2/2) 24(2/2) 28(4/2) 28(4/2) 30(4/2) 24(4/2) 24(4/2) 26(4/2) + –(An) 24(2/2) 24(2/2) 26(2/2) 30(4/2) 30(4/2) 32(4/2) 26(4/2) 26(4/2) 28(4/2) + + + 9.3 STANDARD INSTRUCTION EXECUTION TIMES + The numbers of clock periods shown in tables 9-6 and 9-7 indicate the times required to + perform the operations, store the results, and read the next instruction. The total number + of clock periods, the number of read cycles, and the number of write cycles are shown in + the previously described format. The number of clock periods, the number of read cycles, + and the number of write cycles, respectively, must be added to those of the effective + address calculation where indicated by a plus sign (+). + + In Tables 9-6 and 9-7, the following notation applies: + An — Address register operand + Sn — Data register operand + ea — An operand specified by an effective address + M — Memory effective address operand + + + + + 9-4 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 9-6. Standard Instruction Execution Times + Instruction Size op<ea>, An*** op<ea>, Dn op Dn, <M> + ADD/ADDA Byte, Word 8(1/0)+ 4(1/0)+ 8(1/1)+ + Long 6(1/0)+ 6(1/0)+ 12(1/2)+ + AND Byte, Word — 4(1/0)+ 8(1/1)+ + Long — 6(1/0)+ 12(1/2)+ + CMP/CMPA Byte, Word 6(1/0)+ 4(1/0)+ — + Long 6(1/0)+ 6(1/0)+ — + DIVS — — 122(1/0)+ — + DIVU — — 108(1/0)+ — + EOR Byte, Word — 4(1/0)** 8(1/1)+ + Long — 6(1/0)** 12(1/2)+ +Freescale Semiconductor, Inc... + + + + + MULS/MULU — — 42(1/0)+* — + — — 40(1/0)* — + OR Byte, Word — 4(1/0)+ 8(1/1)+ + Long — 6(1/0)+ 12(1/2)+ + SUB/SUBA Byte, Word 8(1/0)+ 4(1/0)+ 8(1/1)+ + Long 6(1/0)+ 6(1/0)+ 12(1/2)+ + + Add effective address calculation time. + * Indicates maximum value. + ** Only available address mode is data register direct. + *** Word or long word only. + + Table 9-7 Standard Instruction Loop Mode Execution Times + Loop Continued Loop Terminated + Valid Count cc False Valid Count cc True Expired Count + op<ea>, op<ea>, op Dn, op<ea>, op<ea>, op Dn, op<ea>, op<ea>, op Dn, + Instruction Size An* Dn <ea> An* Dn <ea> An* Dn <ea> + ADD Byte, 18(1/0) 16(1/0) 16(1/1) 24(3/0) 22(3/0) 22(3/1) 22(3/0) 20(3/0) 20(3/1) + Word + Long 22(2/0) 22(2/0) 24(2/2) 28(4/0) 28(4/0) 30(4/2) 26(4/0) 26(4/0) 28(4/2) + AND Byte, — 16(1/0) 16(1/1) — 22(3/0) 22(3/1) — 20(3/0) 20(3/1) + Word + Long — 22(2/0) 24(2/2) — 28(4/0) 30(4/2) — 26(4/0) 28(4/2) + CMP Byte, 12(1/0) 12(1/0) — 18(3/0) 18(3/0) — 16(3/0) 16(4/0) — + Word + Long 18(2/0) 18(2/0) — 24(4/0) 24(4/0) — 20(4/0) 20(4/0) — + EOR Byte, — — 16(1/0) — — 22(3/1) — — 20(3/1) + Word + Long — — 24(2/2) — — 30(4/2) — — 28(4/2) + OR Byte, — 16(1/0) 16(1/0) — 22(3/0) 22(3/1) — 20(3/0) 20(3/1) + Word + Long — 22(2/0) 24(2/2) — 28(4/0) 30(4/2) — 26(4/0) 28(4/2) + SUB Byte, 18(1/0) 16(1/0) 16(1/1) 24(3/0) 22(3/0) 22(3/1) 22(3/0) 20(3/0) 20(3/1) + Word + Long 22(2/0) 20(2/0) 24(2/2) 28(4/0) 26(4/0) 30(4/2) 26(4/0) 24(4/0) 28(4/2) + *Word or long word only. + <ea> may be (An), (An)+, or –(An) only. Add two clock periods to the table value if <ea> is –(An). + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 9-5 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 9.4 IMMEDIATE INSTRUCTION EXECUTION TIMES + The numbers of clock periods shown in Table 9-8 include the times to fetch immediate + operands, perform the operations, store the results, and read the next operation. The total + number of clock periods, the number of read cycles, and the number of write cycles are + shown in the previously described format. The number of clock periods, the number of + read cycles, and the number of write cycles, respectively, must be added to those of the + effective address calculation where indicated by a plus sign (+). + + In Tables 9-8, the following notation applies: + # — Immediate operand + Dn — Data register operand + An — Address register operand + M — Memory operand +Freescale Semiconductor, Inc... + + + + + Table 9-8. Immediate Instruction Execution Times + Instruction Size op #, Dn op #, An op #, M + ADDI Byte, Word 8(2/0) — 12(2/1)+ + Long 14(3/0) — 20(3/2)+ + ADDQ Byte, Word 4(1/0) 4(1/0)* 8(1/2)+ + Long 8(1/0) 8(1/1) 12(1/2)+ + ANDI Byte, Word 8(2/0) — 12(2/1)+ + Long 14(3/0) — 20(3/1)+ + CMPI Byte, Word 8(2/0) — 8(2/0)+ + Long 12(3/0) — 12(3/0)+ + EORI Byte, Word 8(2/0) — 12(2/1)+ + Long 14(3/0) — 20(3/2)+ + MOVEQ Long 4(1/0) — — + ORI Byte, Word 8(2/0) — 12(2/1)+ + Long 14(3/0) — 20(3/2)+ + SUBI Byte, Word 8(2/0) — 12(2/1)+ + Long 14(3/0) — 20(3/2)+ + SUBQ Byte, Word 4(1/0) 4(1/0)* 8(1/1)+ + Long 8(1/0) 8(1/0) 12(1/2)+ + +Add effective address calculation time. + *Word only. + + + 9.5 SINGLE OPERAND INSTRUCTION EXECUTION TIMES + Tables 9-9, 9-10, and 9-11 list the timing data for the single operand instructions. The total + number of clock periods, the number of read cycles, and the number of write cycles are + shown in the previously described format. The number of clock periods, the number of + read cycles, and the number of write cycles, respectively, must be added to those of the + effective address calculation where indicated by a plus sign (+). + + 9-6 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 9-9. Single Operand Instruction + Execution Times + Instruction Size Register Memory + NBCD Byte 6(1/0) 8(1/1)+ + NEG Byte, Word 4(1/0) 8(1/1)+ + Long 6(1/0) 12(1/2)+ + NEGX Byte, Word 4(1/0) 8(1/1)+ + Long 6(1/0) 12(1/2)+ + NOT Byte, Word 4(1/0) 8(1/1)+ + Long 6(1/0) 12(1/2)+ + Scc Byte, False 4(1/0) 8(1/1)+* +Freescale Semiconductor, Inc... + + + + + Byte, True 4(1/0) 8(1/1)+* + TAS Byte 4(1/0) 14(2/1)+* + TST Byte, Word 4(1/0) 4(1/0)+ + Long 4(1/0) 4(1/0)+ + +Add effective address calculation time. + *Use nonfetching effective address calculation time. + + + Table 9-10. Clear Instruction Execution Times + Size Dn An (An) (An)+ –(An) (d 16 , An) (d 8, An, Xn)* (xxx).W (xxx).L + + CLR Byte, Word 4(1/0) — 8(1/1) 8(1/1) 10(1/1) 12(2/1) 16(2/1) 12(2/1) 16(3/1) + Long 6(1/0) — 12(1/2) 12(1/2) 14(1/2) 16(2/2) 20(2/2) 16(2/2) 20(3/2) + *The size of the index register (Xn) does not affect execution time. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 9-7 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 9-11. Single Operand Instruction Loop Mode Execution Times + Loop Continued Loop Terminated + + Valid Count, cc False Valid Count, cc True Expired Count + + Instruction Size (An) (An)+ –(An) (An) (An)+ –(An) (An) (An)+ –(An) + CLR Byte, 10(0/1) 10(0/1) 12(0/1) 18(2/1) 18(2/1) 20(2/0) 16(2/1) 16(2/1) 18(2/1) + Word + Long 14(0/2) 14(0/2) 16(0/2) 22(2/2) 22(2/2) 24(2/2) 20(2/2) 20(2/2) 22(2/2) + NBCD Byte 18(1/1) 18(1/1) 20(1/1) 24(3/1) 24(3/1) 26(3/1) 22(3/1) 22(3/1) 24(3/1) + NEG Byte, 16(1/1) 16(1/1) 18(2/2) 22(3/1) 22(3/1) 24(3/1) 20(3/1) 20(3/1) 22(3/1) + Word + Long 24(2/2) 24(2/2) 26(2/2) 30(4/2) 30(4/2) 32(4/2) 28(4/2) 28(4/2) 30(4/2) + NEGX Byte, 16(1/1) 16(1/1) 18(2/2) 22(3/1) 22(3/1) 24(3/1) 20(3/1) 20(3/1) 22(3/1) + Word +Freescale Semiconductor, Inc... + + + + + Long 24(2/2) 24(2/2) 26(2/2) 30(4/2) 30(4/2) 32(4/2) 28(4/2) 28(4/2) 30(4/2) + NOT Byte, 16(1/1) 16(1/1) 18(2/2) 22(3/1) 22(3/1) 24(3/1) 20(3/1) 20(3/1) 22(3/1) + Word + Long 24(2/2) 24(2/2) 26(2/2) 30(4/2) 30(4/2) 32(4/2) 28(4/2) 28(4/2) 30(4/2) + TST Byte, 12(1/0) 12(1/0) 14(1/0) 18(3/0) 18(3/0) 20(3/0) 16(3/0) 16(3/0) 18(3/0) + Word + Long 18(2/0) 18(2/0) 20(2/0) 24(4/0) 24(4/0) 26(4/0) 20(4/0) 20(4/0) 22(4/0) + + + + + 9.6 SHIFT/ROTATE INSTRUCTION EXECUTION TIMES + Tables 9-12 and 9-13 list the timing data for the shift and rotate instructions. The total + number of clock periods, the number of read cycles, and the number of write cycles are + shown in the previously described format. The number of clock periods, the number of + read cycles, and the number of write cycles, respectively, must be added to those of the + effective address calculation where indicated by a plus sign (+). + + Table 9-12. Shift/Rotate Instruction Execution Times + Instruction Size Register Memory* + ASR, ASL Byte, Word 6+2n (1/0) 8(1/1)+ + Long 8+2n (1/0) — + LSR, LSL Byte, Word 6+2n (1/0) 8(1/1)+ + Long 8+2n (1/0) — + ROR, ROL Byte, Word 6+2n (1/0) 8(1/1)+ + Long 8+2n (1/0) — + ROXR, ROXL Byte, Word 6+2n (1/0) 8(1/1)+ + Long 8+2n (1/0) — + +Add effective address calculation time. + n is the shift or rotate count. + * Word only. + + + + + 9-8 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 9-13. Shift/Rotate Instruction Loop Mode Execution Times + Loop Continued Loop Terminated + + Valid Count cc False Valid Count cc True Expired Count + + Instruction Size (An) (An)+ –(An) (An) (An)+ –(An) (An) (An)+ –(An) + + ASR, ASL Word 18(1/1) 18(1/1) 20(1/1) 24(3/1) 24(3/1) 26(3/1) 22(3/1) 22(3/1) 24(3/1) + LSR, LSL Word 18(1/1) 18(1/1) 20(1/1) 24(3/1) 24(3/1) 26(3/1) 22(3/1) 22(3/1) 24(3/1) + ROR, ROL Word 18(1/1) 18(1/1) 20(1/1) 24(3/1) 24(3/1) 26(3/1) 22(3/1) 22(3/1) 24(3/1) + ROXR, ROXL Word 18(1/1) 18(1/1) 20(1/1) 24(3/1) 24(3/1) 26(3/1) 22(3/1) 22(3/1) 24(3/1) + + + + + 9.7 BIT MANIPULATION INSTRUCTION EXECUTION TIMES +Freescale Semiconductor, Inc... + + + + + Table 9-14 lists the timing data for the bit manipulation instructions. The total number of + clock periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. The number of clock periods, the number of read cycles, and + the number of write cycles, respectively, must be added to those of the effective address + calculation where indicated by a plus sign (+). + + Table 9-14. Bit Manipulation Instruction Execution Times + Dynamic Static + Instruction Size Register Memory Register Memory + BCHG Byte — 8(1/1)+ — 12(2/1)+ + Long 8(1/0)* — 12(2/0)* — + BCLR Byte — 10(1/1)+ — 14(2/1)+ + Long 10(1/0)* — 14(2/0)* — + BSET Byte — 8(1/1)+ — 12(2/1)+ + Long 8(1/0)* — 12(2/0)* — + BTST Byte — 4(1/0)+ — 8(2/0)+ + Long 6(1/0)* — 10(2/0) — + +Add effective address calculation time. + * Indicates maximum value; data addressing mode only. + + + + 9.8 CONDITIONAL INSTRUCTION EXECUTION TIMES + Table 9-15 lists the timing data for the conditional instructions. The total number of clock + periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 9-9 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 9-15. Conditional Instruction Execution Times + Instruction Displacement Branch Taken Branch Not Taken + Bcc Byte 10(2/0) 6(1/0) + Word 10(2/0) 10(2/0) + BRA Byte 10(2/0) — + Word 10(2/0) — + BSR Byte 18(2/2) — + Word 18(2/2) — + DBcc cc true — 10(2/0) + cc false 10(2/0) 16(3/0) +Freescale Semiconductor, Inc... + + + + + 9.9 JMP, JSR, LEA, PEA, AND MOVEM INSTRUCTION + EXECUTION TIMES + Table 9-16 lists the timing data for the jump (JMP), jump to subroutine (JSR), load + effective address (LEA), push effective address (PEA), and move multiple registers + (MOVEM) instructions. The total number of clock periods, the number of read cycles, and + the number of write cycles are shown in the previously described format. + + Table 9-16. JMP, JSR, LEA, PEA, and MOVEM Instruction Execution Times + Instruction Size (An) (An)+ –(An) (d 16 ,An) (d 8,An,Xn)+ (xxx) W (xxx).L (d 8 PC) (d 16 , PC, Xn)* + JMP — 8(2/0) — — 10 (2/0) 14 (3/0) 10 (2/0) 12 (3/0) 10 (2/0) 14 (3/0) + JSR — 16 (2/2) — — 18 (2/2) 22 (2/2) 18 (2/2) 20 (3/2) 18 (2/2) 22 (2/2) + LEA — 4(1/0) — — 8(2/0) 12 (2/0) 8(2/0) 12 (3/0) 8(2/0) 12 (2/0) + PEA — 12 (1/2) — — 16 (2/2) 20 (2/2) 16 (2/2) 20 (3/2) 16 (2/2) 20 (2/2) + MOVEM Word 12+4n 12+4n — 16+4n 18+4n 16+4n 20+4n 16+4n 18+4n + M→R (3+n/0) (3+n/0) — (4+n/0) (4+n/0) (4+n/0) (5+n/0) (4+n/0) (4+n/0) + Long 24+8n 12+8n — 16+8n 18+8n 16+8n 20+8n 16+8n 18+8n + (3+2n/0) (3+2n/0) — (4+2n/0) (4+2n/0) (4+2n/0) (5+2n/0) (4+2n/0) (4+2n/0) + MOVEM Word 8+4n — 8+4n 12+4n 14+4n 12+4n 16+4n — — + R→M (2/n) — (2/n) (3/n) (3/n) (3/n) (4/n) — — + Long 8+8n — 8+8n 12+8n 14+8n 12+8n 16+8n — — + (2/2n) — (2/2n) (3/2n) (3/2n) (3/2n) (4/2n) — — + MOVES Byte/ 18 (3/0) 20 (3/0) 20 (3/0) 20 (4/0) 24 (4/0) 20 (4/0) 24 (5/0) + M→R Word + Long 22 (4/0) 24 (4/0) 24 (4/0) 24 (5/0) 28 (5/0) 24 (5/0) 28 (6/0) + MOVES Byte/ 18 (2/1) 20 (2/1) 20 (2/1) 20 (3/1) 24 (3/1) 20 (3/1) 24 (4/1) + R→M Word + Long 22 (2/2) 24 (2/2) 24 (2/2) 24 (3/2) 28 (3/2) 24 (3/2) 28 (4/2) + + n is the number of registers to move. + *The size of the index register (Xn) does not affect the instruction's execution time. + + + 9.10 MULTIPRECISION INSTRUCTION EXECUTION TIMES + Table 9-17 lists the timing data for multiprecision instructions. The numbers of clock + periods include the times to fetch both operands, perform the operations, store the results, + + + 9-10 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + and read the next instructions. The total number of clock periods, the number of read + cycles, and the number of write cycles are shown in the previously described format. + + The following notation applies in Table 9-17: + + Dn — Data register operand + M — Memory operand + + Table 9-17. Multiprecision Instruction Execution Times + Loop Mode + Nonlooped Continued Terminated + Valid Count, Valid Count, Expired Count + cc False cc True +Freescale Semiconductor, Inc... + + + + + Instruction Size op Dn, Dn op M, M* + ADDX Byte, Word 4(1/0) 18(3/1) 22(2/1) 28(4/1) 26(4/1) + Long 6(1/0) 30(5/2) 32(4/2) 38(6/2) 36(6/2) + CMPM Byte, Word — 12(3/0) 14(2/0) 20(4/0) 18(4/0) + Long — 20(5/0) 24(4/0) 30(6/0) 26(6/0) + SUBX Byte, Word 4(1/) 18(3/1) 22(2/1) 28(4/1) 26(4/1) + Long 6(1/0) 30(5/2) 32(4/2) 38(6/2) 36(6/2) + ABCD Byte 6(1/0) 18(3/1) 24(2/1) 30(4/1) 28(4/1) + SBCD Byte 6(1/0) 18(3/1) 24(2/1) 30(4/1) 28(4/1) + *Source and destination ea are (An)+ for CMPM and –(An) for all others. + + + + 9.11 MISCELLANEOUS INSTRUCTION EXECUTION TIMES + Table 9-18 lists the timing data for miscellaneous instructions. The total number of clock + periods, the number of read cycles, and the number of write cycles are shown in the + previously described format. The number of clock periods, the number of read cycles, and + the number of write cycles, respectively, must be added to those of the effective address + calculation where indicated by a plus sign (+). + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 9-11 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 9-18. Miscellaneous Instruction Execution Times + Register→ Source** → + Instruction Size Register Memory Destination** Register + ANDI to CCR — 16(2/0) — — — + ANDI to SR — 16(2/0) — — — + CHK — 8(1/0)+ — — — + EORI to CCR — 16(2/0) — — — + EORI to SR — 16(2/0) — — — + EXG — 6(1/0) — — — + EXT Word 4(1/0) — — — + Long 4(1/0) — — — +Freescale Semiconductor, Inc... + + + + + LINK — 16(2/2) — — — + MOVE from CCR — 4(1/0) 8(1/1)+* — + MOVE to CCR — 12(2/0) 12(2/0)+ — — + MOVE from SR — 4(1/0) 8(1/1)+* — — + MOVE to SR — 12(2/0) 12(2/0)+ — — + MOVE from USP — 6(1/0) — — — + MOVE to USP — 6(1/0) — — — + MOVEC — — — 10(2/0) 12(2/0) + MOVEP Word — — 16(2/2) 16(4/0) + Long — — 24(2/4) 24(6/0) + NOP — 4(1/0) — — — + ORI to CCR — 16(2/0) — — — + ORI to SR — 16(2/0) — — — + RESET — 130(1/0) — — — + RTD — 16(4/0) — — — + RTE Short 24(6/0) — — — + Long, Retry Read 112(27/10) — — — + Long, Retry Write 112(26/1) — — — + Long, No Retry 110(26/0) — — — + RTR — 20(5/0) — — — + RTS — 16(4/0) — — — + STOP — 4(0/0) — — — + SWAP — 4(1/0) — — — + TRAPV — 4(1/0) — — — + UNLK — 12(3/0) — — — + +Add effective address calculation time. + +Use nonfetching effective address calculation time. + **Source or destination is a memory location for the MOVEP instruction and a control register + for the MOVEC instruction. + + + + 9-12 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 9.12 EXCEPTION PROCESSING EXECUTION TIMES + Table 9-19 lists the timing data for exception processing. The numbers of clock periods + include the times for all stacking, the vector fetch, and the fetch of the first instruction of + the handler routine. The total number of clock periods, the number of read cycles, and the + number of write cycles are shown in the previously described format. The number of clock + periods, the number of read cycles, and the number of write cycles, respectively, must be + added to those of the effective address calculation where indicated by a plus sign (+). + + Table 9-19. Exception Processing + Execution Times + Exception + Address Error 126(4/26) +Freescale Semiconductor, Inc... + + + + + Breakpoint Instruction* 45(5/4) + Bus Error 126(4/26) + CHK Instruction** 44(5/4)+ + Divide By Zero 42(5/4)+ + Illegal Instruction 38(5/4) + Interrupt* 46(5/4) + MOVEC, Illegal Control Register** 46(5/4) + Privilege Violation 38(5/4) + Reset*** 40(6/0) + RTE, Illegal Format 50(7/4) + RTE, Illegal Revision 70(12/4) + Trace 38(4/4) + TRAP Instruction 38(4/4) + TRAPV Instruction 38(5/4) + + Add effective address calculation time. + * The interrupt acknowledge and breakpoint cycles + are assumed to take four clock periods. + ** Indicates maximum value. + *** Indicates the time from when RESET and HALT + are first sampled as negated to when instruction + execution starts. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL 9-13 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + SECTION 10 + ELECTRICAL AND THERMAL CHARACTERISTICS + This section provides information on the maximum rating and thermal characteristics for + the MC68000, MC68HC000, MC68HC001, MC68EC000, MC68008, and MC68010. + + + 10.1 MAXIMUM RATINGS +Freescale Semiconductor, Inc... + + + + + Rating Symbol Value Unit This device contains protective + circuitry against damage due to high + Supply Voltage VCC –0.3 to 7.0 V static voltages or electrical fields; + however, it is advised that normal + Input Voltage Vin –0.3 to 7.0 V precautions be taken to avoid + application of any voltages higher + Maximum Operating TA TL to TH °C than maximum-rated voltages to this + high-impedance circuit. Reliability of + Temperature Range 0 to 70 operation is enhanced if unused + Commerical Extended "C" Grade –40 to 85 inputs are tied to an appropriate + logic voltage level (e.g., either GND + Commerical Extended "I" Grade 0 to 85 or V CC ). + + Storage Temperature Tstg –55 to 150 °C + + + + + 10.2 THERMAL CHARACTERISTICS + Characteristic Symbol Value Symbol Value Rating + Thermal Resistance θ JA θ JC °C/W + Ceramic, Type L/LC 30 15* + Ceramic, Type R/RC 33 15 + Plastic, Type P 30 15* + Plastic, Type FN 45* 25* + *Estimated + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-1 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + 10.3 POWER CONSIDERATIONS + + The average die-junction temperature, TJ, in °C can be obtained from: + + TJ = T A+(PD • θJA) (1) + where: + + TA = Ambient Temperature, °C + θJ + A = Package Thermal Resistance, Junction-to-Ambient, °C/W + PD = PINT + PI/O + PINT = ICC x VCC, Watts — Chip Internal Power + PI/O = Power Dissipation on Input and Output Pins — User Determined +Freescale Semiconductor, Inc... + + + + + For most applications, P I/O<PINT and can be neglected. + + An appropriate relationship between P D and T J (if P I/O is neglected) is: + + PD = K÷(TJ + 273 °C) (2) + Solving Equations (1) and (2) for K gives: + + K = P D • (TA + 273°C) + θ JA • P D2 (3) + where K is a constant pertaining to the particular part. K can be determined from equation + (3) by measuring P D (at thermal equilibrium) for a known TA. Using this value of K, the + values of PD and T J can be obtained by solving Equations (1) and (2) iteratively for any + value of T A. + + The curve shown in Figure 10-1 gives the graphic solution to the above equations for the + specified power dissipation of 1.5 W over the ambient temperature range of -55 °C to 125 + °C using a maximum θ J A of 45 °C/W. Ambient temperature is that of the still air + surrounding the device. Lower values of θJA cause the curve to shift downward slightly; for + instance, for θJA of 40 °/W, the curve is just below 1.4 W at 25 °C. + + The total thermal resistance of a package (θ JA) can be separated into two components, + θJ + C and θCA, representing the barrier to heat flow from the semiconductor junction to the + package (case) surface ( θJC ) and from the case to the outside ambient air (θ CA). These + terms are related by the equation: + θJ + A = θ JC + θCA (4) + θJ + C is device related and cannot be influenced by the user. However, θ CA is user + dependent and can be minimized by such thermal management techniques as heat sinks, + ambient air cooling, and thermal convection. Thus, good thermal management on the part + of the user can significantly reduce θCA so that θ J A approximately equals ; θJC . + Substitution of θJC for θ J A in equation 1 results in a lower semiconductor junction + temperature. + + + + + 10-2 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table 10-1 summarizes maximum power dissipation and average junction temperature + for the curve drawn in Figure 10-1, using the minimum and maximum values of ambient + temperature for different packages and substituting θJC for θ JA (assuming good thermal + management). Table 10-2 provides the maximum power dissipation and average junction + temperature assuming that no thermal management is applied (i.e., still air). + + NOTE + Since the power dissipation curve shown in Figure 10-1 is + negatively sloped, power dissipation declines as ambient + temperature increases. Therefore, maximum power + dissipation occurs at the lowest rated ambient temperature, but + the highest average junction temperature occurs at the + maximum ambient temperature where power dissipation is +Freescale Semiconductor, Inc... + + + + + lowest. + + + + + 2.2 + + + 2.0 + POWER (PD ), WATTS + + + + + 1.8 + + 16.6 + 7 MH + 1.6 z + + 8, 1 + 0, 1 + 1.4 2.5 + MH + z + + 1.2 + + + 1.0 + - 55 - 40 0 25 70 85 110 125 + AMBIENT TEMPERATURE (TA ), C + + + Figure 10-1. MC68000 Power Dissipation (PD ) vs Ambient Temperature (T A) + (Not Applicable to MC68HC000/68HC001/68EC000) + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-3 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + Table 10-1. Power Dissipation and Junction Temperature vs Temperature + (θJ C=θJ A) + Package TA Range θJ PD (W) TJ (°C) PD (W) TJ (°C) + C + (°C/W) @ T A Min. @ T A Min. @ T A Max. @ T A Max. + L/LC 0°C to 70°C 15 1.5 23 1.2 88 + -40°C to 85°C 15 1.7 -14 1.2 103 + 0°C to 85°C 15 1.5 23 1.2 103 + P 0°C to 70°C 15 1.5 23 1.2 88 + R/RC 0°C to 70°C 15 1.5 23 1.2 88 + -40°C to 85°C 15 1.7 -14 1.2 103 + 0°C to 85°C 15 1.5 23 1.2 103 + FN 0°C to 70°C 25 1.5 38 1.2 101 +Freescale Semiconductor, Inc... + + + + + NOTE: Table does not include values for the MC68000 12F. + Does not apply to the MC68HC000, MC68HC001, and MC68EC000. + + + Table 10-2. Power Dissipation and Junction Temperature vs Temperature + (θ J C ≠ θ J C ) + Package TA Range θJ PD (W) TJ (°C) PD (W) TJ (°C) + A + (°C/W) @ T A Min. @ T A Min. @ T A Max. @ T A Max. + L/LC 0°C to 70°C 30 1.5 23 1.2 88 + -40°C to 85°C 30 1.7 -14 1.2 103 + 0°C to 85°C 30 1.5 23 1.2 103 + P 0°C to 70°C 30 1.5 23 1.2 88 + R/RC 0°C to 70°C 33 1.5 23 1.2 88 + -40°C to 85°C 33 1.7 -14 1.2 103 + 0°C to 85°C 33 1.5 23 1.2 103 + FN 0°C to 70°C 40 1.5 38 1.2 101 + NOTE: Table does not include values for the MC68000 12F. + Does not apply to the MC68HC000, MC68HC001, and MC68EC000. + + Values for thermal resistance presented in this manual, unless estimated, were derived + using the procedure described in Motorola Reliability Report 7843 “Thermal Resistance + Measurement Method for MC68XXX Microcomponent Devices”’ and are provided for + design purposes only. Thermal measurements are complex and dependent on procedure + and setup. User-derived values for thermal resistance may differ. + + + 10.4 CMOS CONSIDERATIONS + The MC68HC000, MC68HC001, and MC68EC000, with it significantly lower power + consumption, has other considerations. The CMOS cell is basically composed of two + complementary transistors (a P channel and an N channel), and only one transistor is + turned on while the cell is in the steady state. The active P-channel transistor sources + current when the output is a logic high and presents a high impedance when the output is + logic low. Thus, the overall result is extremely low power consumption because no power + + + + 10-4 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + is lost through the active P-channel transistor. Also, since only one transistor is turned on + during the steady state, power consumption is determined by leakage currents. + + Because the basic CMOS cell is composed of two complementary transistors, a virtual + semiconductor controlled rectifier (SCR) may be formed when an input exceeds the + supply voltage. The SCR that is formed by this high input causes the device to become + latched in a mode that may result in excessive current drain and eventual destruction of + the device. Although the MC68HC000 and MC68EC000 is implemented with input + protection diodes, care should be exercised to ensure that the maximum input voltage + specification is not exceeded. Some systems may require that the CMOS circuitry be + isolated from voltage transients; other may require additional circuitry. + + The MC68HC000 and MC68EC000, implemented in CMOS, is applicable to designs to + which the following considerations are relevant: +Freescale Semiconductor, Inc... + + + + + 1. The MC68HC000 and MC68EC000 completely satisfies the input/output drive + requirements of CMOS logic devices. + 2. The HCMOS MC68HC000 and MC68EC000 provides an order of magnitude + reduction in power dissipation when compared to the HMOS MC68000. However, + the MC68HC000 does not offer a "power-down" mode. + + 10.5 AC ELECTRICAL SPECIFICATION DEFINITIONS + The AC specifications presented consist of output delays, input setup and hold times, and + signal skew times. All signals are specified relative to an appropriate edge of the clock and + possibly to one or more other signals. + + The measurement of the AC specifications is defined by the waveforms shown in Figure + 10-2. To test the parameters guaranteed by Motorola, inputs must be driven to the voltage + levels specified in the figure. Outputs are specified with minimum and/or maximum limits, + as appropriate, and are measured as shown. Inputs are specified with minimum setup and + hold times, and are measured as shown. Finally, the measurement for signal-to-signal + specifications are shown. + + NOTE + The testing levels used to verify conformance to the AC + specifications does not affect the guaranteed DC operation of + the device as specified in the DC electrical characteristics. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-5 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + DRIVE + TO 2.4 V + + + + BCLK 1.5 V 1.5 V + + + DRIVE TO A + 0.5 V B + + 2.0 V 2.0 + VALID VALID + OUTPUTS(1) V + OUTPUT n OUTPUT n+1 + 0.8 V 0.8 V + + + C D + DRIVE TO + 2.4 V 2.0 V 2.0 V + VALID + INPUTS(2) +Freescale Semiconductor, Inc... + + + + + INPUT + DRIVE TO 0.8 V 0.8 V + 0.5 V + + + 2.0 V + RSTI (3) + + + F + E + + 2.0 V + + 0.8 V + + + NOTES: + 1. This output timing is applicable to all parameters specified relative to the rising edge of the clock. + 2. This input timing is applicable to all parameters specified relative to the rising edge of the clock. + 3. This timing is applicable to all parameters specified relative to the negation of the RESET signal. + LEGEND: + A. Maximum output delay specification. + B. Minimum output hold time. + C. Minimum input setup time specification. + D. Minimum input hold time specification. + E. Mode select setup time to RESET negated. + F. Mode select hold time from RESET negated. + + + Figure 10-2. Drive Levels and Test Points for AC Specifications + + + + + 10-6 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + 10.6 MC68000/68008/68010 DC ELECTRICAL CHARACTERISTICS + (V CC=5.0 VDC±5%; GND=0 VDC; TA =T L TO T H) + + Characteristic Symbol Min Max Unit + Input High Voltage VIH 2.0 VCC V + Input Low Voltage VIL GND-0.3 0.8 V + Input Leakage Current BERR , BGACK, BR , DTACK, CLK, IPL0—IPL2, VPA I IN — 2.5 µA + @ 5.25 V HALT, RESET — 20 + Three-State (Off State) Input Current AS , A1—A23, D0—D15, FC0—FC2, I TSI — 20 µA + @ 2.4 V/0.4 V LDS , R/ W, UDS, VMA + Output High Voltage (IOH = –400 µA) E* VOH VCC –0.75 — V + (I OH = -400 µA) AS , A1–A23, BG, D0–D15, + FC0–FC2, LDS , R/ W, UDS, VMA 2.4 2.4 +Freescale Semiconductor, Inc... + + + + + Output Low Voltage VOL V + (IOL= 1.6 mA) HALT — 0.5 + (IOL = 3.2 mA) A1—A23, BG, FC0-FC2 — 0.5 + (IOL = 5.0 mA) RESET — 0.5 + (IOL = 5.3 mA) E, AS , D0—D15, LDS, R/ W, UDS, VMA — 0.5 + Power Dissipation (see POWER CONSIDERATIONS) PD*** — — W + Capacitance (V in=0 V, TA=25°C, Frequency=1 MHz)** Cin — 20.0 pF + Load Capacitance HALT CL — 70 pF + All Others — 130 + *With external pullup resistor of 1.1 Ω. + **Capacitance is periodically sampled rather than 100% tested. + ***During normal operation, instantaneous V CC current requirements may be as high as 1.5 A. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-7 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + 10.7 DC ELECTRICAL CHARACTERISTICS (VCC =5.0 VDC±5%; GND=0 VDC; TA=T L + TO T H) (Applies To All Processors Except The MC68EC000) + + Characteristic Symbol Min Max Unit + Input High Voltage VIH 2.0 VCC V + Input Low Voltage VIL GND-0.3 0.8 V + Input Leakage Current BERR , BGACK, BR , DTACK, CLK, IPL0—IPL2, VPA I IN — 2.5 µA + @ 5.25 V MODE, HALT, RESET — 20 + Three-State (Off State) Input Current AS , A0—A23, D0—D15, I TSI — 20 µA + @ 2.4 V/0.4 V FC0–FC2, LDS , R/ W, UDS, VMA + Output High Voltage E, AS , A0–A23, BG, D0–D15, VOH VCC –0.75 — V + FC0–FC2, LDS , R/ W, UDS, VMA + Output Low Voltage VOL V +Freescale Semiconductor, Inc... + + + + + (IOL = 1.6 mA) HALT — 0.5 + (IOL = 3.2 mA) A0—A23, BG, FC0-FC2 — 0.5 + (IOL = 5.0 mA) RESET — 0.5 + (IOL = 5.3 mA) E, AS , D0—D15, LDS, R/ W, UDS, VMA — 0.5 + Current Dissipation* f = 8 MHz ID — 25 mA + f = 10 MHz — 30 + f = 12.5 MHz — 35 + f = 16.67 MHz — 50 + f = 20 MHz — 70 + Power Dissipation f = 8 MHz PD — 0.13 W + f = 10 MHz 0.16 + f = 12.5 MHz 0.19 + f = 16.67 MHz 0.26 + f = 20 MHz 0.38 + Capacitance (V in = 0 V, T A=25°C, Frequency=1 MHz)** Cin — 20.0 pF + Load Capacitance HALT CL — 70 pF + All Others — 130 + * Current listed are with no loading. + ** Capacitance is periodically sampled rather than 100% tested. + + + 10.8 AC ELECTRICAL SPECIFICATIONS — CLOCK TIMING (See Figure 10-3) + (Applies To All Processors Except The MC68EC000) + + 16.67 MHz + Num Characteristic 8 MHz* 10 MHz* 12.5 MHz* 12F 16 MHz 20 MHZ ** Unit + + Min Max Min Max Min Max Min Max Min Max Min Max + Frequency of Operation 4.0 8.0 4.0 10.0 4.0 12.5 8.0 16.7 8.0 16.7 8.0 20.0 MHz + 1 Cycle Time 125 250 100 250 80 250 60 125 60 125 50 125 ns + 2,3 Clock Pulse Width 55 125 45 125 35 125 27 62.5 27 62.5 21 62.5 ns + (Measured from 1.5 V to 1.5 55 125 45 125 35 125 27 62.5 27 62.5 21 62.5 + V for 12F) + 4,5 Clock Rise and Fall Times — 10 — 10 — 5 — 5 — 5 — 4 ns + — 10 — 10 — 5 — 5 — 5 — 4 + *These specifications represent an improvement over previously published specifications for the 8-, 10-, and 12.5- + MHz MC68000 and are valid only for product bearing date codes of 8827 and later. + **This frequency applies only to MC68HC000 and MC68EC000 parts. + + + + 10-8 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 10.9 MC68008 AC ELECTRICAL SPECIFICATIONS — CLOCK TIMING (See + Figure 10-3) + + Num Characteristic 8 MHz* 10 MHz* Unit + Min Max Min Max + Frequency of Operation 2.0 8.0 2.0 10.0 MHz + 1 Cycle Time 125 500 100 500 ns + 2,3 Clock Pulse Width 55 250 45 250 ns + 4,5 Clock Rise and Fall Times — 10 — 10 ns + *These specifications represent an improvement over previously published specifications for the 8-, and 10-MHz + MC68008 and are valid only for product bearing date codes of 8827 and later +Freescale Semiconductor, Inc... + + + + + 1 + + 2 3 + + 2.0 V + 0.8 V + + 4 5 + + + NOTE: Timing measurements are referenced to and from a low voltage of 0.8 V and a high + voltage of 2.0 V, unless otherwise noted. The voltage swing through this range + should start outside and pass through the range such that the rise or fall will be linear + between 0.8 V and 2.0 V. + . + + + + + Figure 10-3. Clock Input Timing Diagram + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-9 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 10.10 AC ELECTRICAL SPECIFICATIONS — READ AND WRITE CYCLES + (V CC=5.0 VDC±5+; GND=0 V; TA =T L to TH; (see Figures 10-4 and 10-5) (Applies To All + Processors Except The MC68EC000) + + 16.67 MHz + Num Characteristic 8 MHz* 10 MHz* 12.5 MHz* 12F 16 MHz 20 MHz •• Unit + + Min Max Min Max Min Max Min Max Min Max Min Max + 6 Clock Low to Address Valid — 62 — 50 — 50 — 50 30 — 25 ns + 6A Clock High to FC Valid — 62 — 50 — 45 — 45 0 30 0 25 ns + 7 Clock High to Address, Data — 80 — 70 — 60 — 50 50 — 42 ns + Bus High Impedance + (Maximum) + 8 Clock High to Address, FC 0 — 0 — 0 — 0 — 0 — 0 — ns + Invalid (Minimum) +Freescale Semiconductor, Inc... + + + + + 91 Clock High to AS, DS 3 60 3 50 3 40 3 40 3 30 3 25 ns + Asserted + 112 Address Valid to AS, DS 30 — 20 — 15 — 15 — 15 — 10 — ns + Asserted (Read)/AS Asserted + (Write) + 11A2 FC Valid to AS ), DS Asserted 90 — 70 — 60 — 30 — 45 — 40 — ns + (Read)/ AS ) Asserted (Write) + 121 Clock Low to AS, DS Negated — 62 — 50 — 40 — 40 3 30 3 25 ns + 132 AS, DS Negated to Address, 40 — 30 — 20 — 10 — 15 — 10 — ns + FC Invalid + 142 ASand DS Read) Width 270 — 195 — 160 — 120 — 120 — 100 — ns + Asserted + 14A DS Width Asserted (Write) 140 95 80 60 60 — 50 — ns + 152 AS, DS Width Negated 150 — 105 — 65 — 60 — 60 — 50 — ns + 16 Clock High to Control Bus — 80 — 70 — 60 — 50 — 50 — 42 ns + High Impedance + 172 AS, DS Negated to R/W 40 — 30 — 20 — 10 — 15 — 10 — ns + Invalid + 181 Clock High to R/W High 0 55 0 45 0 40 0 40 0 30 0 25 ns + (Read) + 201 Clock High to R/W Low 0 55 0 45 0 40 0 40 0 30 0 25 ns + (Write) + 20A2,6 AS Asserted to R/W Valid — 10 — 10 — 10 — 10 — 10 — 10 ns + (Write) + 212 Address Valid to R/W Low 20 — 0 — 0 — 0 — 0 — 0 — ns + (Write) + 21A2 FC Valid to R/W Low (Write) 60 — 50 — 30 — 20 — 30 — 25 — ns + 222 R/ W Low to DS Asserted 80 — 50 — 30 — 20 — 30 — 25 — ns + (Write) + 23 Clock Low to Data-Out Valid — 62 — 50 — 50 — 550 — 30 — 25 ns + (Write) + 252 AS, DS) Negated to Data-Out 401 — 30 — 20 — 15 — 15 — 10 — ns + Invalid (Write) 0 + + + + + 10-10 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 16.67 MHz + Num Characteristic 8 MHz* 10 MHz* 12.5 MHz* 12F 16 MHz 20 MHz •• Unit + + Min Max Min Max Min Max Min Max Min Max Min Max + 262 Data-Out Valid to DS Asserted 40 — 30 — 20 — 15 — 15 — 10 — ns + (Write) + 275 Data-In Valid to Clock Low 10 — 10 — 10 — 7 — 5 — 5 — ns + (Setup Time on Read) + 27A5 Late BERR Asserted to Clock 45 — 45 — 45 — — — — — — — ns + Low (setup Time) + 282 AS, DS Negated to DTACK 0 2401 0 190 0 150 0 110 0 110 0 95 ns + Negated (Asynchronous Hold) 1 + + 28A AS, DS Negated to Data-In — 187 — 150 — 120 — 110 — 110 — 95 ns + High Impedance + 29 AS, DS Negated to Data-In 0 — 0 — 0 — 0 — 0 — 0 — ns +Freescale Semiconductor, Inc... + + + + + Invalid (Hold Time on Read) + 29A AS, DS Negated to Data-In — 187 — 150 — 120 — 90 — 90 — 75 ns + High Impedance + 30 AS, DS) Negated to BERR 0 — 0 — 0 — 0 — 0 — 0 — ns + Negated + 312,5 DTACK Asserted to Data-In — 90 — 65 — 50 — 40 — 50 — 42 ns + Valid (Setup Time) + 32 HALT) and RESET Input 0 200 0 200 0 200 0 150 — 150 0 150 ns + Transition Time + 33 Clock High to BG Asserted — 62 — 50 — 40 — 40 0 30 0 25 ns + 34 Clock High to BG Negated — 62 — 50 — 40 — 40 0 30 0 25 ns + 35 BR Asserted to BG Asserted 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 Clks + 367 BR Negated toBG Negated 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 Clks + 37 BGACK Asserted to BG 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 Clks + Negated + 37A8 BGACK Asserted to BR 20 1.5 20 1.5 20 1.5 10 1.5 10 1.5 10 1.5 ns + Negated Clks Clks Clks Clks Clks Clks + 38 BG Asserted to Control, — 80 — 70 — 60 — 50 — 50 — 42 ns + Address, Data Bus High + Impedance (AS Negated) + 39 BG Width Negated 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — clks + 40 Clock Low to VMA Asserted — 70 — 70 — 70 — 50 — 50 — 40 ns + 41 Clock Low to E Transition — 5512 — 45 — 35 — 35 — 35 — 30 ns + 42 E Output Rise and Fall Time — 15 — 15 — 15 — 15 — 15 — 12 ns + 43 VMA Asserted to E High 200 — 150 — 90 — 80 — 80 — 60 — ns + 44 AS, DS Negated to VPA 0 120 0 90 0 70 0 50 0 50 0 42 ns + Negated + 45 E Low to Control, Address 30 — 10 — 10 — 10 — 10 — 10 — ns + Bus Invalid (Address Hold + Time) + 46 BGACK Width Low 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — ns + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-11 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 16.67 MHz + Num Characteristic 8 MHz* 10 MHz* 12.5 MHz* 12F 16 MHz 20 MHz •• Unit + + Min Max Min Max Min Max Min Max Min Max Min Max + 475 Asynchronous Input Setup 10 — 10 — 10 — 10 — 5 — 5 — ns + Time + 482, 3 BERR Asserted to DTACK 20 — 20 — 20 — 10 — 10 — 10 — ns + Asserted + 482,3,5 DTACK Asserted to BERR — 80 — 55 — 35 — — — — — — ns + Asserted (MC68010 Only) + 499 AS, DS, Negated to E Low -70 70 -55 55 -45 45 -35 35 -35 35 –30 30 ns + 50 E Width High 450 — 350 — 280 — 220 — 220 — 190 — ns + 51 E Width Low 700 — 550 — 440 — 340 — 340 — 290 — ns + 53 Data-Out Hold from Clock 0 — 0 — 0 — 0 — 0 — 0 — ns +Freescale Semiconductor, Inc... + + + + + High + 54 E Low to Data-Out Invalid 30 — 20 — 15 — 10 — 10 — 5 — ns + 55 R/ W Asserted to Data Bus 30 — 20 — 10 — 0 — 0 — 0 — ns + Impedance Change + 564 HALT ( RESET Pulse Width 10 — 10 — 10 — 10 — 10 — 10 — clks + 57 BGACK Negated to AS, DS , 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — clks + R/ W Driven + 57A BGACK Negated to FC, VMA 1 — 1 — 1 — 1 — 1 — 1 — clks + Driven + 587 BR Negated to AS , DS, R/ W 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — clks + Driven + 58A7 BR Negated to FC, AS Driven 1 — 1 — 1 — 1 — 1 — 1 — clks + *These specifications represent improvement over previously published specifications for the 8-, 10-, and 12.5-MHz + MC68000 and are valid only for product bearing date codes of 8827 and later. + ** This frequency applies only to MC68HC000 and MC68HC001. + + NOTES: + 1. For a loading capacitance of less than or equal to 50 pF, subtract 5 ns from the value given in the maximum + columns. + 2. Actual value depends on clock period. + 3. If #47 is satisfied for both DTACK and BERR , #48 may be ignored. In the absence of DTACK , BERR is an + asynchronous input using the asynchronous input setup time (#47). + 4. For power-up, the MC68000 must be held in the reset state for 100 ms to allow stabilization of on-chip + circuitry. After the system is powered up, #56 refers to the minimum pulse width required to reset the + processor. + 5. If the asynchronous input setup time (#47) requirement is satisfied for DTACK, the DTACK asserted to data + setup time (#31) requirement can be ignored. The data must only satisfy the data-in to clock low setup time + (#27) for the following clock cycle. + 6. When AS and R/W are equally loaded (±20;pc), subtract 5 ns from the values given in these columns. + 7. The processor will negate BG and begin driving the bus again if external arbitration logic negates BR before + asserting BGACK. + 8. The minimum value must be met to guarantee proper operation. If the maximum value is exceeded, BG may + be reasserted. + 9. The falling edge of S6 triggers both the negation of the strobes ( AS and DS ) and the falling edge of E. Either + of these events can occur first, depending upon the loading on each signal. Specification #49 indicates the + absolute maximum skew that will occur between the rising edge of the strobes and the falling edge of E. + 10. 245 ns for the MC68008. + 11. 50 ns for the MC68008 + 12. 50 ns for the MC68008. + + + + + 10-12 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + S0 S1 S2 S3 S4 S5 S6 S7 + + + CLK + + + 6A + + + FC2–FC0 + + 8 + 6 + + + A23–A0 + + 7 12 + + + AS 15 14 +Freescale Semiconductor, Inc... + + + + + 13 11 + + 11A + + + LDS / UDS + 17 9 + 18 + + R/W + + 47 28 + + + DTACK + + 27 29A + 48 29 + 31 + DATA IN + + 47 30 + + BERR / BR + (NOTE 2) + 47 47 + 32 32 + + 56 + HALT / RESET + + 47 + ASYNCHRONOUS + INPUTS + (NOTE 1) + + + NOTES: + 1. Setup time for the asynchronous inputs IPL2–IPL0 and AVEC (#47) guarantees their recognition at the + next falling edge of the clock. + 2. BR need fall at this time only to insure being recognized at the end of the bus cycle. + 3. Timing measurements are referenced to and from a low voltage of 0.8 V and a high voltage of 2.0 V, + unless otherwise noted. The voltage swing through this range should start outside and pass through the + range such that the rise or fall is linear between 0.8 V and 2.0 V. + + + Figure 10-4. Read Cycle Timing Diagram + (A pplies To A ll Processors E xcept The MC68EC 000) + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-13 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + S0 S1 S2 S3 S4 S5 S6 S7 + + + CLK + + + 6A + + + FC2-FC0 + + 8 + 6 + + + A23-A1 + + 7 12 + + + AS 15 14 + 13 +Freescale Semiconductor, Inc... + + + + + 9 + 11 9 + 11A + + 20A + LDS / UDS 14A + 17 20 + 18 21 22 + + R/W + + 21A 47 28 + + 55 + DTACK + 26 + 23 53 + 7 + 48 25 + + DATA OUT + + 47 30 + + BERR / BR + (NOTE 2) + 47 47 + 32 32 + + 56 + HALT / RESET + + 47 + + ASYNCHRONOUS + INPUTS + (NOTE 1) + + NOTES: + 1. Timing measurements are referenced to and from a low voltage of 0.8 V and a high voltage of 2.0 V, + unless otherwise noted. The voltage swing through this range should start outside and pass through the + range such that the rise or fall is linear between 0.8 V and 2.0 V. + 2. Because of loading variations, R/W may be valid after AS even though both are initiated by the rising edge + of S2 (specification #20A). + + + Figure 10-5. Write Cycle Timing Diagram + (A pplies To A ll Processors E xcept The MC68EC 000) + + + + + 10-14 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 10.11 AC ELECTRICAL SPECIFICATIONS—MC68000 TO M6800 + PERIPHERAL (V CC = 5.0 Vdc ±5%; GND=0 Vdc; T A = T L TO T H; refer to figures 10-6) + (Applies To All Processors Except The MC68EC000) + + 16.67 MHz + Num Characteristic 8 MHz* 10 MHz* 12.5 MHz* `12F' 16 MHz 20 MHz •• Unit + + Min Max Min Max Min Max Min Max Min Max Min Max + 121 Clock Low to AS, DS Negated — 62 — 50 — 40 — 40 3 30 3 25 ns + 181 Clock High to R/W High 0 55 0 45 0 40 0 40 0 30 0 25 ns + (Read) + 201 Clock High to R/W Low 0 55 0 45 0 40 0 40 0 30 0 25 ns + (Write) + 23 Clock Low to Data-Out Valid — 62 — 50 — 50 — 50 — 30 — 25 ns + (Write) +Freescale Semiconductor, Inc... + + + + + 27 Data-In Valid to Clock Low 10 — 10 — 10 — 7 — 5 — 5 — ns + (Setup Time on Read) + 29 AS, DS Negated to Data-In 0 — 0 — 0 — 0 — 0 — 0 — ns + Invalid (Hold Time on Read) + 40 Clock Low to VMA Asserted — 70 — 70 — 70 — 50 — 50 — 40 ns + 41 Clock Low to E Transition — 55 — 45 — 35 — 35 — 35 — 30 ns + 42 E Output Rise and Fall Time — 15 — 15 — 15 — 15 — 15 — 12 ns + 43 VMA Asserted to E High 200 — 150 — 90 — 80 — 80 — 60 — ns + 44 AS, DS Negated to VPA 0 120 0 90 0 70 0 50 0 50 0 42 ns + Negated + 45 E Low to Control, Address 30 — 10 — 10 — 10 — 10 — 10 — ns + Bus Invalid (Address Hold + Time) + 47 Asynchronous Input Setup 10 — 10 — 10 — 10 — 10 — 5 — ns + Time + 492 AS, DS, Negated to E Low -70 70 -55 55 -45 45 -35 35 -35 35 –30 30 ns + 50 E Width High 450 — 350 — 280 — 220 — 220 — 190 — ns + 51 E Width Low 700 — 550 — 440 — 340 — 340 — 290 — ns + 54 E Low to Data-Out Invalid 30 — 20 — 15 — 10 — 10 — 5 — ns + *These specifications represent improvement over previously published specifications for the 8-, 10-, and 12.5-MHz + MC68000 and are valid only for product bearing date codes of 8827 and later. + ** This frequency applies only to MC68HC000 and MC68HC001. + + NOTES: 1. For a loading capacitance of less than or equal to 50 pF, subtract 5 ns from the value given in the + maximum columns. + 2. The falling edge of S6 triggers both the negation of the strobes ( AS and DS ) and the falling edge of E. + Either of these events can occur first, depending upon the loading on each signal. Specificaton + #49 indicates the absolute maximum skew that will occur between the rising edge of the strobes and the + falling edge of the E clock. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-15 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + S0 S1 S2 S3 S4 w w w w w w w w w w w w S5 S6 S7 S0 + CLK + 45 + A23-A1 + 41 12 + AS + 41 + 49 + + R/W + 18 18 + 20 + 51 + E 50 + 42 47 44 + 42 + VPA + 40 45 + 43 41 + VMA +Freescale Semiconductor, Inc... + + + + + 54 + + DATA OUT + 23 27 29 + + DATA IN + + + NOTE: This timing diagram is included for those who wish to design their own circuit to generate VMA. It shows the best case + possible attainable + + + Figure 10-6. MC68000 to M6800 Peripheral Timing Diagram (Best Case) + (A pplies To A ll Processors E xcept The MC68EC 000) + + + + + 10-16 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 10.12 AC ELECTRICAL SPECIFICATIONS — BUS ARBITRATION (V CC=5.0 + VDC±5%; GND=0 VDC, T A =T L TO T H; See Figure s 10-7 – 10-11) (Applies To All Processors + Except The MC68EC000) + + 16.67 MHz + Num Characteristic 8 MHz* 10 MHz* 12.5 MHz* 12F 16 MHz 20 MHz •• Unit + + Min Max Min Max Min Max Min Max Min Max Min Max + 7 Clock High to Address, Data — 80 — 70 — 60 — 50 — 50 — 42 ns + Bus High Impedance + (Maximum) + 16 Clock High to Control Bus — 80 — 70 — 60 — 50 — 50 — 42 ns + High Impedance + 33 Clock High to BG Asserted — 62 — 50 — 40 0 40 0 30 0 25 ns + 34 Clock High to BG Negated — 62 — 50 — 40 0 40 0 30 0 25 ns +Freescale Semiconductor, Inc... + + + + + 35 BR Asserted to BG Asserted 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 Clks + 361 BR Negated to BG Negated 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 Clks + 37 BGACK Asserted to BG 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 Clks + Negated + 37A2 BGACK Asserted to BR 20 1.5 20 1.5 20 1.5 10 1.5 10 1.5 10 1.5 Clks/ + Negated Clks Clks Clks Clks Clks Clks ns + 38 BG Asserted to Control, 80 70 60 — 50 — 50 — 42 ns + Address, Data Bus High + Impedance (AS Negated) + 39 BG Width Negated 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — Clks + 46 BGACK Width Low 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — Clks + 47 Asynchronous Input Setup 10 — 10 — 10 — 5 — 5 — 5 — ns + Time + 57 BGACK Negated to AS, DS , 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — Clks + R/ W Driven + 57A BGACK Negated to FC, VMA 1 — 1 — 1 — 1 — 1 — 1 — Clks + Driven + 581 BR Negated to AS , DS, R/ W 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — Clks + Driven + 58A1 BR Negated to FC, VMA 1 — 1 — 1 — 1 — 1 — 1 — Clks + Driven + *These specifications represent improvement over previously published specifications for the 8-, 10-, and 12.5-MHz + MC68000 and are valid only for product bearing date codes of 8827 and later. + ** Applies only to the MC68HC000 and MC68HC001. + NOTES: + 1. Setup time for the synchronous inputs BGACK, IPL0-IPL2 , and VPA guarantees their recognition at the + next falling edge of the clock. + 2. BR need fall at this time only in order to insure being recognized at the end of the bus cycle. + 3. Timing measurements are referenced to and from a low voltage of 0.8 volt and a high voltage of 2.0 volts, + unless otherwise noted. The voltage swing through this range should start outside and pass through the + range such that the rise or fall will be lienar between 0.8 volt and 2.0 volts. + 4. The processor will negate BG and begin driving the bus again if external arbitration logic negates BR before + asserting BGACK. + 5. The minimum value must be met to guarantee proper operation. If the maximum value is exceeded, BG may + be reasserted. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-17 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + STROBES + AND R/W + 37A 36 + + BR + 37 + 46 + BGACK + 35 34 39 + + BG + 33 + 38 + + CLK + + NOTE: Setup time to the clock (#47) for the asynchronous inputs BERR, BGACK, BR, DTACK, IPL2-IPL0, and VPA + guarantees their recognition at the next falling edge of the clock. +Freescale Semiconductor, Inc... + + + + + Figure 10-7. Bus Arbitration Timing + (A pplies To A ll Processors E xcept The MC68EC 000) + + + + + 10-18 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + CLK + + 47 + 33 + + BR + + 35 47 34 + 37A + BG 47 + 37 + 1 46 + BGACK + + 38 57 + + + AS +Freescale Semiconductor, Inc... + + + + + DS + 57A + + VMA + + + R/W + + + + FC2-FC0 + + + + A19-A0 + + + + + D7-D0 + + + + NOTES: Waveform measurements for all inputs and outputs are specified at: logic high 2.0 V, logic low = 0.8 V. + 1. MC68008 52-Pin Version only. + + + Figure 10-8. Bus Arbitration Timing + (A pplies To A ll Processors E xcept The MC68EC 000) + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-19 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + CLK + + 47 + 33 + + BR + + 35 47 34 + 37A + BG 47 + 37 + 1 46 + BGACK + + 38 57 + + + AS +Freescale Semiconductor, Inc... + + + + + DS + 57A + + VMA + + + R/W + + + + FC2-FC0 + + + + A19-A0 + + + + + D7-D0 + + + + NOTES: Waveform measurements for all inputs and outputs are specified at: logic high 2.0 V, logic low = 0.8 V. + 1. MC68008 52-Pin Version only. + + + Figure 10-9. Bus Arbitration Timing — Idle Bus Case + (A pplies To A ll Processors E xcept The MC68EC 000) + + + + + 10-20 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + CLK + + 47 + 33 + + BR + + 35 47 34 + 37A + BG 47 + 37 + 1 46 + BGACK + + 16 57 + + AS +Freescale Semiconductor, Inc... + + + + + DS + 57A + + VMA + + + R/W + + + + FC2-FC0 + 7 + + A19-A0 + + + + + D7-D0 + + + + NOTE: Waveform measurements for all inputs and outputs are specified at: logic high 2.0 V, logic low = 0.8 V. + 1 MC68008 52-Pin Version Only. + + + Figure 10-10. Bus Arbitration Timing — Active Bus Case + (A pplies To A ll Processors E xcept The MC68EC 000) + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-21 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + CLK + + 47 + 33 + + BR + + 35 39 39 36 + + BG + 37 37 + 1 46 46 + BGACK + + 38 58 + + AS +Freescale Semiconductor, Inc... + + + + + DS + 57A + + VMA + + + R/W + + + + FC2-FC0 + + + + A19-A0 + + + + + D7-D0 + + + NOTES: Waveform measurements for all inputs and outputs are specified at: logic high 2.0 V, logic low = 0.8 V. + 1. MC68008 52-Pin Version only. + + + Figure 10-11. Bus Arbitration Timing — Multiple Bus Request + (A pplies To A ll Processors E xcept The MC68EC 000) + + + + + 10-22 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 10.13 MC68EC000 DC ELECTRICAL SPECIFICATIONS (VCC=5.0 VDC ± 5;PC; + GND=0 VDC; TA = T L TO T H) + + Characteristic Symbol Min Max Unit + Input High Voltage VIH 2.0 VCC V + Input Low Voltage VIL GND–0.3 0.8 V + Input Leakage Current BERR, BR , DTACK , CLK, IPL2–IPL0, AVEC I in — 2.5 µA + @5.25 V MODE, HALT, RESET — 20 + Three-State (Off State) Input Current AS, A23–A0, D15–D0, I TSI — 20 µA + @2.4 V/0.4 V FC2–FC0, LDS , R/ W, UDS + Output High Voltage AS, A23–A0, BG, D15–D0, VOH VCC –0.75 — V + (IOH=–400 µA) FC2–FC0, LDS, R/ W, UDS + Output Low Voltage VOL V + (IOL = 1.6 mA) HALT — 0.5 + (IOL = 3.2 mA) A23–A0, BG, FC2–FC0 — 0.5 +Freescale Semiconductor, Inc... + + + + + (IOL = 5.0 mA) RESET — 0.5 + (IOL = 5.3 mA) AS , D15–D0, LDS, R/ W, UDS — 0.5 + Current Dissipation* f=8 MHz ID — 25 mA + f=10 MHz — 30 + f=12.5 MHz — 35 + f=16.67 MHz — 50 + f= 20 MHz — 70 + Power Dissipation f=8 MHz PD — 0.13 W + f=10 MHz — 0.16 + f=12.5 MHz — 0.19 + f=16.67 MHz — 0.26 + f=20 MHz — 0.38 + Capacitance (Vin=0 V, TA=25°C, Frequency=1 MHz)** Cin — 20.0 pF + Load Capacitance HALT CL — 70 pF + All Others — 130 + *Currents listed are with no loading. + ** Capacitance is periodically sampled rather than 100% tested. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-23 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 10.14 MC68EC000 AC ELECTRICAL SPECIFICATIONS — READ AND + WRITE CYCLES (VCC=5.0 VDC ± 5;PC; GND = 0 VDC; TA = T L TO T H; (See Figures + 10-12 and 10-13) + + Num Characteristic 8 MHz 10 MHz 12.5 MHz 16.67 MHz 20 MHz Unit + Min Max Min Max Min Max Min Max Min Max + 6 Clock Low to Address Valid — 35 — 35 — 35 — 30 — 25 ns + 6A Clock High to FC Valid — 35 — 35 — 35 — 30 0 25 ns + 7 Clock High to Address, Data Bus — 55 — 55 — 55 — 50 — 42 ns + High Impedance (Maximum) + 8 Clock High to Address, FC Invalid 0 — 0 — 0 — 0 — 0 — ns + (Minimum) + 91 Clock High to AS , DS Asserted 3 35 3 35 3 35 3 30 3 25 ns +Freescale Semiconductor, Inc... + + + + + 112 Address Valid to AS, DS Asserted 30 — 20 — 15 — 15 — 10 — ns + (Read)/AS Asserted (Write) + 11A2 FC Valid to AS, DS Asserted 45 — 45 — 45 — 45 — 40 — ns + (Read)/ AS Asserted (Write) + 121 Clock Low to AS , DS Negated 3 35 3 35 3 35 3 30 3 25 ns + 132 AS, DS Negated to Address, FC 15 — 15 — 15 — 15 — 10 — ns + Invalid + 142 AS (and DS Read) Width 270 — 195 — 160 — 120 — 100 — ns + Asserted + 14A2 DS Width Asserted (Write) 140 — 95 — 80 — 60 — 50 — ns + 152 AS, DS Width Negated 150 — 105 — 65 — 60 — 50 — ns + 16 Clock High to Control Bus High — 55 — 55 — 55 — 50 — 42 ns + Impedance + 172 AS, DS Negated to R/W Invalid 15 — 15 — 15 — 15 — 10 — ns + 181 Clock High to R/W High (Read) 0 35 0 35 0 35 0 30 0 25 ns + 201 Clock High to R/ W Low (Write) 0 35 0 35 0 35 0 30 0 25 ns + 20A2,6 AS Asserted to R/W Low (Write) — 10 — 10 — 10 — 10 — 10 ns + 212 Address Valid to R/W Low (Write) 0 — 0 — 0 — 0 — 0 — ns + 21A 2 FC Valid to R/W Low (Write) 60 — 50 — 30 — 30 — 25 — ns + 222 R/ W Low to DS Asserted (Write) 80 — 50 — 30 — 30 — 25 — ns + 23 Clock Low to Data-Out Valid — 35 — 35 — 35 — 30 — 25 ns + (Write) + 252 AS, DS Negated to Data-Out 40 — 30 — 20 — 15 — 10 — ns + Invalid (Write) + 262 Data-Out Valid to DS Asserted 40 — 30 — 20 — 15 — 10 — ns + (Write) + 275 Data-In Valid to Clock Low (Setup 5 — 5 — 5 — 5 — 5 — ns + Time on Read) + 282 AS , DS Negated to DTACK 0 110 0 110 0 110 0 110 0 95 ns + Negated (Asynchronous Hold) + 28A Clock High to DTACK Negated 0 110 0 110 0 110 0 110 0 95 ns + + + + + 10-24 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Num Characteristic 8 MHz 10 MHz 12.5 MHz 16.67 MHz 20 MHz Unit + Min Max Min Max Min Max Min Max Min Max + 29 AS, DS Negated to Data-In Invalid 0 — 0 — 0 — 0 — 0 — ns + (Hold Time on Read) + 29A AS, DS Negated to Data-In High — 187 — 150 — 120 — 90 — 75 ns + Impedance + 30 AS, DS Negated to BERR 0 — 0 — 0 — 0 — 0 — ns + Negated + 312, 5 DTACK Asserted to Data-In Valid — 90 — 65 — 50 — 50 — 42 ns + (Setup Time) + 32 HALT and RESET Input Transition 0 150 0 150 0 150 0 150 0 150 ns + Time + 33 Clock High to BG Asserted — 35 — 35 — 35 0 30 0 25 ns +Freescale Semiconductor, Inc... + + + + + 34 Clock High to BG Negated — 35 — 35 — 35 0 30 0 25 ns + 35 BR Asserted to BG Asserted 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 Clks + 367 BR Negated to BG Negated 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 Clks + 38 BG Asserted to Control, Address, — 55 — 55 — 55 — 50 — 42 ns + Data Bus High Impedance (AS + Negated) + 39 BG Width Negated 1.5 1.5 1.5 1.5 1.5 — Clks + 44 AS, DS Negated to VPA Negated 0 55 0 55 0 55 0 50 0 42 ns + 475 Asynchronous Input Setup Time 5 — 5 — 5 — 5 — 5 — ns + 2 + 48 , 3 BERR Asserted to DTACK 20 — 20 — 20 — 10 — 10 — ns + Asserted + 53 Data-Out Hold from Clock High 0 — 0 — 0 — 0 — 0 — ns + 55 R/ W Asserted to Data Bus 30 — 20 — 10 — 0 — 0 — ns + Impedance Change + 564 HALT/RESET Pulse Width 10 — 10 — 10 — 10 — 10 — Clks + 587 BR Negated to AS, DS, R/ W 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — Clks + Driven + 58A7 BR Negated to FC, VMA Driven 1 — 1 — 1 — 1 — 1 — Clks + NOTES:1. For a loading capacitance of less than or equal to 50 pF, subtract 5 ns from the value given in the + maximum columns. + 2. Actual value depends on clock period. + 3.I f #47 is satisfied for both DTACK and BERR , #48 may be ignored. In the absence of DTACK, BERR is an + asynchronous input using the asynchronous input setup time (#47). + 4. For power-up, the MC68EC000 must be held in the reset state for 520 clocks to allow stabilization of on- + chip circuitry. After the system is powered up, #56 refers to the minimum pulse width required to + reset the processor. + 5. If the asynchronous input setup time (#47) requirement is satisfied for DTACK, the DTACK -asserted to data + setup time (#31) requirement can be ignored. The data must only satisfy the data-in to clock low + setup time (#27) for the following clock cycle. + 6. When AS and R/W are equally loaded (±20;pc), subtract 5 ns from the values given in these columns. + 7. The minimum value must be met to guarantee proper operation. If the maximum value is exceeded, + BG may be reasserted. + 8. DS is used in this specification to indicate UDS and LDS . + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-25 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + S0 S1 S2 S3 S4 S5 S6 S7 + + + CLK + + + 6A + + + FC2–FC0 + + 8 + 6 + + + A23–A0 + + 7 12 + + + AS 15 14 +Freescale Semiconductor, Inc... + + + + + 13 11 + + 11A + + + LDS / UDS + 17 9 + 18 + + R/W + + 47 28 + + + DTACK + + 27 + 48 29 + 31 + DATA IN + + 47 30 + + BERR / BR + (NOTE 2) + 47 47 + 32 32 + + 56 + HALT / RESET + + 47 + ASYNCHRONOUS + INPUTS + (NOTE 1) + + + NOTES: + 1. Setup time for the asynchronous inputs IPL2–IPL0 and AVEC (#47) guarantees their recognition at the + next falling edge of the clock. + 2. BR need fall at this time only to insure being recognized at the end of the bus cycle. + 3. Timing measurements are referenced to and from a low voltage of 0.8 V and a high voltage of 2.0 V, + unless otherwise noted. The voltage swing through this range should start outside and pass through the + range such that the rise or fall is linear between 0.8 V and 2.0 V. + + + Figure 10-12. MC68EC000 Read Cycle Timing Diagram + + + 10-26 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + S0 S1 S2 S3 S4 S5 S6 S7 + + + CLK + + + 6A + + + FC2-FC0 + + 8 + 6 + + + A23-A0 + + 7 12 + + + AS 15 14 + 13 9 + 11 9 +Freescale Semiconductor, Inc... + + + + + 11A + + 20A + LDS / UDS 14A + 17 20 + 18 21 22 + + R/W + + 21A 47 28 + + 55 + DTACK + 26 + 23 53 + 7 + 48 25 + + DATA OUT + + 47 30 + + BERR / BR + (NOTE 2) + 47 47 + 32 32 + + 56 + HALT / RESET + + 47 + + ASYNCHRONOUS + INPUTS + (NOTE 1) + + NOTES: + 1. Timing measurements are referenced to and from a low voltage of 0.8 V and a high voltage of 2.0 V, + unless otherwise noted. The voltage swing through this range should start outside and pass through the + range such that the rise or fall is linear between 0.8 V and 2.0 V. + 2. Because of loading variations, R/W may be valid after AS even though both are initiated by the rising edge + of S2 (specification #20A). + + + Figure 10-13. MC68EC000 Write Cycle Timing Diagram + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-27 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 10.15 MC68EC000 AC ELECTRICAL SPECIFICATIONS—BUS + ARBITRATION (VCC=5.0VDC ± 5%; GND=0 VDC; T A = T L TO T H; see Figure 10-14) + Num Characteristic 8 MHz 10 MHz 12.5 MHz 16.67 MHz 20 MHz Unit + + Min Max Min Max Min Max Min Max Min Max + 7 Clock High to Address, Data — 55 — 55 — 55 — 50 — 42 ns + Bus High Impedance + (Maximum) + 16 Clock High to Control Bus High — 55 — 55 — 55 — 50 — 42 ns + Impedance + 33 Clock High to BG Asserted — 35 — 35 — 35 0 30 0 25 ns + 34 Clock High to BG Negated — 35 — 35 — 35 0 30 0 25 ns + 35 BR Asserted to BG Asserted 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 Clks +Freescale Semiconductor, Inc... + + + + + 367 BR Negated to BG Negated 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 1.5 3.5 Clks + 38 BG Asserted to Control, — 55 — 55 — 55 — 50 — 42 ns + Address, Data Bus High + Impedance (AS Negated) + 39 BG Width Negated 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — Clks + 47 Asynchronous Input Setup 5 — 5 — 5 — 5 — 5 — ns + Time + 581 BR Negated to AS , DS, R/ W 1.5 — 1.5 — 1.5 — 1.5 — 1.5 — Clks + Driven + 58A1 BR Negated to FC Driven 1 — 1 — 1 — 1 — 1 — Clks + NOTES: 1.The minimum value must be met to guarantee proper operation. If the maximum value is exceeded, BG may + be reasserted. + 2.DS is used in this specification to indicate UDS and LDS . + + + + + 10-28 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + CLK + + 47 + 33 + + BR 34 + + 35 36 + + BG + 39 + 58 + 38 + + AS + + + DS +Freescale Semiconductor, Inc... + + + + + R/W + 58A + + FC2-FC0 + + + + A19-A0 + + + + + D7-D0 + + + NOTES: Waveform measurements for all inputs and outputs are specified at: logic high 2.0 V, logic low = 0.8 V. + + + Figure 10-14. MC68EC000 Bus Arbitration Timing Diagram + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 10-29 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + SECTION 11 + ORDERING INFORMATION AND MECHANICAL DATA + This section provides pin assignments and package dimensions for the devices described + in this manual. + + + 11.1 PIN ASSIGNMENTS +Freescale Semiconductor, Inc... + + + + + Package 68000 68008 68010 68HC000 68HC001 68EC000 + 64-Pin Dual-In-Line ✔ ✔ ✔ + 68-Terminal Pin Grid Array ✔ ✔ ✔ ✔ + 64-Lead Quad Pack ✔ + 68-Lead Quad Flat Pack ✔ ✔ ✔ ✔ ✔ + 52-Lead Quad ✔ + 48-Pin Dual-In-Line ✔ + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 11-1 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + D4 1 64 D5 + D3 2 63 D6 + D2 3 62 D7 + D1 4 61 D8 + D0 5 60 D9 + AS 6 59 D10 + UDS 7 58 D11 + LDS 8 57 D12 + R/W 9 56 D13 + DTACK 10 55 D14 + BG 11 54 D15 + BGACK 12 53 GND + BR 13 52 A23 +Freescale Semiconductor, Inc... + + + + + VCC 14 51 A22 + CLK 15 MC68000 50 A21 + MC68010 + GND 16 49 VCC + MC68HC000 + HALT 17 48 A20 + RESET 18 47 A19 + VMA 19 46 A18 + E 20 45 A17 + VPA 21 44 A16 + BERR 22 43 A15 + IPL2 23 42 A14 + IPL1 24 41 A13 + IPL0 25 40 A12 + FC2 26 39 A11 + FC1 27 38 A10 + FC0 28 37 A9 + A1 29 36 A8 + A2 30 35 A7 + A3 31 34 A6 + A4 32 33 A5 + + + + Figure 11-1. 64-Pin Dual In Line + + + + + 11-2 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + MC68000/MC68010/MC68HC000 MC68HC001 + + + K K + NC FC2 FC0 A1 A3 A4 A6 A7 A9 NC MODE FC2 FC0 A1 A3 A4 A6 A7 A9 NC + J J + BERR IPL0 FC1 NC A2 A5 A8 A10 A11 A14 BERR IPL0 FC1 NC A2 A5 A8 A10 A11 A14 + H H + E IPL2 IPL1 A13 A12 A16 E IPL2 IPL1 A13 A12 A16 + G G + VMA VPA A15 A17 VMA VPA A15 A17 + F F + HALT RESET (BOTTOM VIEW) A18 A19 HALT RESET (BOTTOM VIEW) A18 A19 + E E + CLK GND VCC A20 CLK GND VCC A20 + D D + BR VCC GND A21 BR VCC GND A21 + C C + BGACK BG R/W D13 A23 A22 BGACK BG R/W D13 A23 A22 + B B + DTACK LDS UDS D0 D3 D6 D9 D11 D14 D15 DTACK LDS UDS D0 D3 D6 D9 D11 D14 D15 +Freescale Semiconductor, Inc... + + + + + A A + NC AS D1 D2 D4 D5 D7 D8 D10 D12 NC AS D1 D2 D4 D5 D7 D8 D10 D12 + + 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 + + + Figure 11-2. 68-Lead Pin Grid Array + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 11-3 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + UDS + LDS + R/W + + + + + D12 + D10 + D11 + AS + + + D2 + + D4 + + D6 + + D8 + D0 + + + + + D9 + D3 + + D5 + D1 + + + + + D7 + 9 68 61 + DTACK 10 1 60 D13 + BG D14 + BGACK D15 + BR GND + VCC GND + CLK A23 + GND A22 + GND A21 + NC 18 MC68000/MC68HC000/MC68010 52 VCC + HALT A20 + RESET A19 + VMA A18 + E A17 + VPA A16 +Freescale Semiconductor, Inc... + + + + + BERR A15 + IPL2 A14 + IPL1 26 44 A13 + 27 35 43 + FC1 + + + + + A6 + IPL0 + FC2 + + + + + A7 + NC + FC0 + + A1 + + + + + A8 + A2 + + + A5 + + + + + A10 + A11 + A12 + A4 + A3 + + + + + A9 + UDS + + + + + GND + LDS + + + + + D12 + D10 + D11 + AS + + + + + D6 + + D8 + D9 + D5 + + D7 + D2 + + D4 + D0 + + + D3 + D1 + + + + + 9 68 61 + R/W 10 1 60 D13 + DTACK D14 + BG D15 + BGACK GND + BR A23 + VCC A22 + CLK A21 + GND VCC + GND 18 MC68EC000 52 A20 + MODE A19 + HALT A18 + RESET A17 + NC A16 + AVEC A15 + BERR A14 + IPL2 A13 + IPL1 26 44 A12 + 27 35 43 + A6 + FC1 + IPL0 + + + + + A7 + GND + FC2 + + + + + A8 + A5 + + + + + A10 + A11 + FC0 + + A1 + + + + + A4 + A0 + + A2 + + + + + A9 + A3 + + + + + Figure 11-3. 68-Lead Quad Pack (1 of 2) + + + + + 11-4 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + UDS + LDS + R/W + + + + + D12 + D10 + D11 + AS + + + D2 + + D4 + + D6 + + D8 + D0 + + + + + D9 + D3 + + D5 + D1 + + + + + D7 + 9 68 61 + DTACK 10 1 60 D13 + BG D14 + BGACK D15 + BR GND + VCC GND + CLK A23 + GND A22 + GND A21 + MODE 18 MC68HC001 52 VCC + HALT A20 + RESET A19 + VMA A18 + E A17 + VPA A16 +Freescale Semiconductor, Inc... + + + + + BERR A15 + IPL2 A14 + IPL1 26 44 A13 + 27 35 43 + FC1 + + + + + A6 + IPL0 + FC2 + + + + + A7 + NC + FC0 + + A1 + + + + + A8 + A2 + + + A5 + + + + + A10 + A11 + A12 + A4 + A3 + + + + + A9 + Figure 11-3. 68-Lead Quad Pack (2 of 2) + FC1 + + IPL0 + FC0 + + FC2 + A6 + + + + + A2 + A1 + A7 + + + + + A3 + A4 + + + + + A0 + A5 + A8 + + + + + 7 52 47 + A9 8 1 46 IPL2 + A10 IPL1 + A11 BERR + A12 VPA + A13 E + A 21 RESET + A14 MC68008 HALT + VCC GND + A15 CLK + GND BR + A16 BGACK + A17 BG + A18 20 34 DTACK + 21 33 + AS + D7 + + + + + D3 + + + D0 + D4 + + + + + R/W + D5 + + + + + D1 + + + + DS + D2 + D6 + A20 + A19 + + + + + Figure 11-4. 52-Lead Quad Pack + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 11-5 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + A3 1 48 A2 + A4 2 47 A1 + A5 3 46 A0 + A6 4 45 FC0 + A7 5 44 FC1 + A8 6 43 FC2 + A9 7 42 IPL2/IPL0 + A10 8 41 IPL1 + A11 9 40 BERR + A12 10 39 VPA + A13 11 38 E + A14 12 MC68008 37 RESET + VCC 13 36 HALT +Freescale Semiconductor, Inc... + + + + + A15 14 35 GND + GND 15 34 CLK + A16 16 33 BR + A17 17 32 BG + A18 18 31 DTACK + A19 19 30 R/W + D7 20 29 DS + D6 21 28 AS + D5 22 27 D0 + D4 23 26 D1 + D3 24 25 D2 + + + + Figure 11-5. 48-Pin Dual In Line + + + + + 11-6 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + GND + UDS + + + + + D10 + D11 + LDS + + AS + + + + + D8 + D9 + D1 + + + + + D7 + D0 + + D2 + D3 + + + + + D6 + D4 + + D5 + 64 49 + R/W 1 48 D12 + D13 + DTACK + D14 + BG + D15 + BR + A23 + VCC + A22 + CLK + A21 + GND + VCC + MODE + MC68EC000 A20 + HALT + A19 + RESET + A18 + AVEC + A17 + BERR + A16 + IPL2 + A15 + IPL1 +Freescale Semiconductor, Inc... + + + + + IPL0 A14 + FC2 33 A13 + 16 + 17A1 32 + + + + + A11 + FC1 + + + + + A12 + FC0 + A0 + + + + A3 + + + A5 + A6 + GND + + + + + A10 + A4 + + + + + A8 + A9 + A2 + + + + + A7 + Figure 11-6. 64-Lead Quad Flat Pack + + + 11.2 PACKAGE DIMENSIONS + Case Package 68000 68008 68010 68HC000 68HC001 68EC000 + 740-03 L Suffix ✔ + 767-02 P Suffix ✔ + 746-01 LC Suffix ✔ ✔ ✔ + 754-01 R and P Suffix ✔ ✔ ✔ + 765A-05 RC Suffix ✔ ✔ ✔ ✔ + 778-02 FN Suffix ✔ + 779-02 FN Suffix ✔ ✔ + 779-01 FN Suffix ✔ ✔ ✔ + 847-01 FC Suffix ✔ + 840B-01 FU Suffix ✔ + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 11-7 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + 64 33 L SUFFIX + 746-03 + + B + + + 1 32 + + A + + + F C + + + N + + + M + J +Freescale Semiconductor, Inc... + + + + + D + T K + G L + + + + NOTES: MILLIMETERS INCHES + 1. DIMENSION -A- IS DATUM. DIM MIN MAX MIN MAX + 2. POSTIONAL TOLERANCE FOR LEADS: A 60.36 61.56 2.376 2.424 + 0.25 (0.010) M T A M B 14.64 15.34 0.576 0.604 + 3. -T- IS SEATING PLANE C 3.05 4.32 0.120 0.160 + 4. DIMENSION "L" TO CENTER OF LEADS D 3.81 0.533 0.015 0.021 + WHEN FORMED PARALLEL. .762 1.397 + F 0.030 0.055 + 5. DIMENSIONING AND TOLERANCING PER + ANSI Y14.5m, 1982. G 2.54 BSC 0.100 BSC + J 0.204 0.330 0.008 0.013 + K 2.54 4.19 0.100 0.165 + L 15.24 BSC 0.600 BSC + M 0 10 0 10 + N 1.016 1.524 0.040 0.060 + + + Figure 11-7. Case 740-03—L Suffix + + + + + 11-8 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + R + A P SUFFIX + 767-02 + + 48 25 + + + B + + + 1 24 + + + + + C L + + + N + + T +Freescale Semiconductor, Inc... + + + + + K M J + H G F D + + + + NOTES: MILLIMETERS INCHES + 1. -R- IS END OF PACKAGE DATUM PLANE DIM MIN MAX MIN MAX + -T- IS BOTH A DATUM AND SEATING PLANE A 61.34 62.10 2.415 2.445 + 2. POSITIONAL TOLERANCE FOR LEADS 1 AND B 13.72 14.22 0.540 0.560 + 48. C 3.94 5.08 0.155 0.200 + 0.51 (0.020) T B M R D 0.36 0.55 0.014 0.022 + POSITIONAL TOLERANCE FOR LEAD F 1.02 1.52 0.040 0.060 + PATTERN; G 2.54 BSC 0.100 BSC + 0.25 (0.020) T B M H 1.79 BSC 0.070 BSC + 3. DIMENSION "A" AND "B" DOES NOT INCLUDE MOLD FLASH, J 0.20 0.38 0.008 0.015 + MAXIMUM MOLD FLASH 0.25 (0.010). K 2.92 3.81 0.115 0.135 + 4. DIMENSION "L" IS TO CENTER OF LEADS WHEN FORMED L + PARALLEL. 15.24 BSC 0.600 BSC + 5. DIMENSIONING AND TOLERANCING PER ANSI Y14.5, 1982. M 0 15 0 15 + 6. CONTROLLING DIMENSION: INCH. N 0.51 1.02 0.020 0.040 + + + Figure 11-8. Case 767-02—P Suffix + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 11-9 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + 64 33 L SUFFIX + 746-01 + + B + + + 1 32 + + A + + + F C + + N + + + + M +Freescale Semiconductor, Inc... + + + + + J + D + T K + G L + + + + NOTES: MILLIMETERS INCHES + 1. DIMENSION -A- IS DATUM. DIM MIN MAX MIN MAX + 2. POSTIONAL TOLERANCE FOR LEADS: A 80.52 82.04 3.170 3.230 + 0.25 (0.010) M T A M B 22.25 22.96 0.876 0.904 + 3. -T- IS SEATING PLANE C 3.05 4.32 0.120 0.160 + 4. DIMENSION "L" TO CENTER OF LEADS D 0.38 0.53 0.015 0.021 + WHEN FORMED PARALLEL. F .76 1.40 0.030 0.055 + 5. DIMENSIONING AND TOLERANCING PER + ANSI Y14.5, 1973. G 2.54 BSC 0.100 BSC + J 0.20 0.33 0.008 0.013 + K 2.54 4.19 0.100 0.165 + L 22.61 23.11 0.890 0.910 + M 0 10 0 10 + N 1.02 1.52 0.040 0.060 + + + Figure 11-9. Case 746-01—LC Suffix + + + + + 11-10 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + 64 33 + P SUFFIX + 754-01 + B + + + 1 32 + + A + + C L + F + + N + + T + + K J +Freescale Semiconductor, Inc... + + + + + M + D G + + + NOTES: + 1. DIMENSIONS A AND B ARE DATUMS. MILLIMETERS INCHES + 2. -T- IS SEATING PLANE. DIM MIN MAX MIN MAX + 3. POSITIONAL TOLERANCE FOR LEADS A 81.16 81.91 3.195 3.225 + (DIMENSION D): B 20.17 20.57 0.790 0.810 + 0.25 (0.010) M T A M B M C 4.83 5.84 0.190 0.230 + D 0.33 0.53 0.013 0.021 + 4. DIMENSION B DOES NOT INCLUDEMOLD FLASH. + 5. DIMENSION L IS TO CENTER OF LEADS WHEN FORMED F 1.27 1.77 0.050 0.070 + PARALLEL. G 2.54 BSC 0.100 BSC + 6. DIMENSIONING AND TOLERANCING PER ANSI Y14.5, 1982. J 0.20 0.38 0.008 0.015 + K 3.05 3.55 0.120 0.140 + L 22.86 BSC 0.9 00 BSC + M 0 15 0 15 + N 0.51 1.02 0.020 0.040 + + + Figure 11-10. Case 754-01—R and P Suffix + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL 11-11 + For More Information On This Product, + Go to: www.freescale.com +Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. + + + + + Figure 11-11. Case 765A-05—RC Suffix + + + + + 11-12 M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + + + + APPENDIX A + MC68010 LOOP MODE OPERATION + In the loop mode of the MC68010, a single instruction is executed repeatedly under + control of the test condition, decrement, and branch (DBcc) instruction without any + instruction fetch bus cycles. The execution of a single-instruction loop without fetching an + instruction provides a highly efficient means of repeating an instruction because the only + bus cycles required are those that read and write the operands. +Freescale Semiconductor, Inc... + + + + + The DBcc instruction uses three operands: a loop counter, a branch condition, and a + branch displacement. When this instruction is executed in the loop mode, the value in the + low-order word of the register specified as the loop counter is decremented by one and + compared to minus one. If the result after decrementing the value is equal to minus one, + the result is placed in the loop counter, and the next instruction in sequence is executed. + Otherwise, the condition code register is checked against the specified branch condition. If + the branch condition is true, the result is discarded, and the next instruction in sequence is + executed. When the count is not equal to minus one and the branch condition is false, the + branch displacement is added to the value in the program counter, and the instruction at + the resulting address is executed. + + Figure A-1 shows the source code of a program fragment containing a loop that executes + in the loop mode in the MC68010. The program moves a block of data at address + SOURCE to a block starting at address DEST. The number of words in the block is + labeled LENGTH. If any word in the block at address SOURCE contains zero, the move + operation stops, and the program performs whatever processing follows this program + fragment. + + LEA SOURCE, A0 Load A Pointer To Source Data + LEA DEST, A1 Load A Pointer To Destination + MOVE.W #LENGTH, D0 Load The Counter Register + LOOP MOVE.W (A0);pl, (A1)+ Loop To Move The Block Of Data + DBEQ D0, LOOP Stop If Data Word Is Zero + + Figure A-1. DBcc Loop Mode Program Example + + The first load effective address (LEA) instruction loads the address labeled SOURCE into + address register A0. The second instruction, also an LEA instruction, loads the address + labeled DEST into address register A1. Next, a move data from source to destination + (MOVE) instruction moves the number of words into data register D0, the loop counter. + The last two instructions, a MOVE and a test equal, decrement, and branch (DBEQ), form + the loop that moves the block of data. The bus activity required to execute these + instructions consists of the following cycles: + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL A-1 + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + 1. Fetch the MOVE instruction. + 2. Fetch the DBEQ instruction. + 3. Read the operand at the address in A0. + 4. Write the operand at the address in A1. + 5. Fetch the displacement word of the DBEQ instruction. + + Of these five bus cycles, only two move the data. However, the MC68010 has a two-word + prefetch queue in addition to the one-word instruction decode register. The loop mode + uses the prefetch queue and the instruction decode register to eliminate the instruction + fetch cycles. The processor places the MOVE instruction in the instruction decode register + and the two words of the DBEQ instruction in the prefetch queue. With no additional + opcode fetches, the processor executes these two instructions as required to move the + entire block or to move all nonzero words that precede a zero. +Freescale Semiconductor, Inc... + + + + + The MC68010 enters the loop mode automatically when the conditions for loop mode + operation are met. Entering the loop mode is transparent to the programmer. The + conditions are that the loop count and branch condition of the DBcc instruction must result + in looping, the branch displacement must be minus four, and the branch must be to a one- + word loop mode instruction preceding the DBcc instruction. The looped instruction and the + first word of the DBcc instruction are each fetched twice when the loop is entered. When + the processor fetches the looped instruction the second time and determines that the + looped instruction is a loop mode instruction, the processor automatically enters the loop + mode, and no more instruction fetches occur until the count is exhausted or the loop + condition is true. + + In addition to the normal termination conditions for the loop, several abnormal conditions + cause the MC68010 to exit the loop mode. These abnormal conditions are as follows: + • Interrupts + • Trace Exceptions + • Reset Operations + • Bus Errors + + Any pending interrupt is taken after each execution of the DBcc instruction, but not after + each execution of the looped instruction. Taking an interrupt exception terminates the loop + mode operation; loop mode operation can be restarted on return from the interrupt + handler. While the T bit is set, a trace exception occurs at the end of both the looped + instruction and the DBcc instruction, making loop mode unavailable while tracing is + enabled. A reset operation aborts all processing, including loop mode processing. A bus + error during loop mode operation is handled the same as during other processing; + however, when the return from exception (RTE) instruction continues execution of the + looped instruction, the three-word loop is not fetched again. + + Table A-1 lists the loop mode instructions of the MC68010. Only one-word versions of + these instructions can operate in the loop mode. One-word instructions use the three + address register indirect modes: (An), (An)+, and –(An). + + + A-2 M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL MOTOROLA + For More Information On This Product, + Go to: www.freescale.com + Freescale Semiconductor, Inc. + + Table A-1. MC68010 Loop Mode Instructions + Opcodes Applicable Addressing Modes + MOVE [BWL] (Ay) to (Ax) + (Ay) to (Ax)+ + (Ay) to –(Ax) + (Ay)+ to (Ax) + (Ay)+ to –(Ax) + –(Ay) to (Ax) + –(Ay) to (Ax)+ + –(Ay) to –(Ax) + Ry to (Ax) + Ry to (Ax)+ + ADD [BWL] (Ay) to Dx + AND [BWL] (Ay)+ to Dx +Freescale Semiconductor, Inc... + + + + + CMP [BWL] –(Ay) to Dx + OR [BWL] + SUB [BWL] + ADDA [WL] (Ay) to Ax + CMPA [WL] –(Ay) to Ax + SUBA [WL] (Ay)+ to Ax + ADD [BWL] Dx to (Ay) + AND [BWL] Dx to (Ay)+ + EOR [BWL] Dx to –(Ay) + OR [BWL] + SUB [BWL] + ABCD [B] –(Ay) to –(Ax) + ADDX [BWL] + SBCD [B] + SUBX [BWL] + CMP [BWL] (Ay)+ to (Ax)+ + CLR [BWL] (Ay) + NEG [BWL] (Ay)+ + NEGX [BWL} –(Ay) + NOT [BWL] + TST [BWL] + NBCD [B] + ASL [W] (Ay) by #1 + ASR [W] (Ay)+ by #1 + LSL [W] –(Ay) by #1 + LSR [W] + ROL [W] + ROR [W] + ROXL [W] + ROXR + NOTE: [B, W, or L] indicate an operand size of byte, word, or long word. + + + + + MOTOROLA M68000 8-/16-/32-BIT MICROPROCESSORS USER’S MANUAL A-3 + For More Information On This Product, + Go to: www.freescale.com + |