80C186XL/80C188XL
Microprocessor
User’s Manual
80C186XL/80C188XL
Microprocessor
User’s Manual
1995
Information in this document is provided solely to enable use of Intel products. Intel assumes no liability whatsoever, including
infringement of any patent or copy righ t, for sale and use of In tel pro du cts exce pt as pr ovid ed in Int el’s Ter ms and Con ditio ns
of Sale for such products.
Intel Corporation makes no warranty for the use of its products and assumes no responsibility for any errors which may appear
in this document nor does it make a commitment to update the information contained herein.
Intel retains the right to make changes to these specifications at any time, without notice.
Contact your local Intel sales office or your distributor to obtain the latest specifications before placing your product order.
MDS is an ordering code only and is not used as a product name or trademark of Intel Corpo rat ion.
Intel Corporation and Intel's FASTPATH are not affiliated with Kinetics, a division of Excelan, Inc. or its FASTPATH trademark
or products.
*Other brands and names are the property of their respective owners.
Additional copies of this document or other Intel literature may be obtained from:
Intel Corporation
Literature Sales
P.O. Box 7641
Mt. Prospect, IL 60056-7641
or call 1-800-879-4683
© INTEL CORPORATION, 1995
CONTENTS
CHAPTER 1
INTRODUCTION
1.1 HOW TO USE THIS MANUAL....................................................................................... 1-2
1.2 RELATED DOCUMENTS.............................................................................................. 1-3
1.3 ELECTRONIC SUPPORT SYSTEMS........................................................................... 1-4
1.3.1 FaxBack Service .......................................................................................................1-4
1.3.2 Bulletin Board System (BBS) ....................................................................................1-5
1.3.2.1 How to Find
1.3.3 CompuServe Forums ................................................................................................1-6
1.3.4 World Wide Web .......................................................................................................1-6
1.4 TECHNICAL SUPPORT................................................................................................ 1-6
1.5 PRODUCT LITERATURE.............................................................................................. 1-7
1.6 TRAINING CLASSES.............................................................. ................................. ..... 1-7
CHAPTER 2
OVERVIEW OF THE 80C186 FAMILY ARCHITECTURE
2.1 ARCHITECTURAL OVERVIEW.................................................................................... 2-1
2.1.1 Execution Unit .............................................................. ...... ................................. ......2-2
2.1.2 Bus Interface Unit .....................................................................................................2-3
2.1.3 General Registers .....................................................................................................2-4
2.1.4 Segment Registers ...................................................................................................2-5
2.1.5 Instruction Pointer .....................................................................................................2-6
2.1.6 Flags .........................................................................................................................2-7
2.1.7 Memory Segmentation ..............................................................................................2-8
2.1.8 Logical Addresses ...................................................................................................2-10
2.1.9 Dynamically Relocatable Code ...............................................................................2-13
2.1.10 Stack Implementation .............................................................................................2-15
2.1.11 Reserved Memory and I/O Space ...........................................................................2-15
2.2 SOFTWARE OVERVIEW............................................................................................ 2-17
2.2.1 Instruction Set .........................................................................................................2-17
2.2.1.1 Data Transfer Instructions .............................................................................2-18
2.2.1.2 Arithmetic Instructions ........................................ .................................. .........2-19
2.2.1.3 Bit Manipulation Instructions .........................................................................2-21
2.2.1.4 String Instructions ..........................................................................................2-22
2.2.1.5 Program Transfer Instructions .......................................................................2-23
2.2.1.6 Processor Control Instructions ......................................................................2-27
2.2.2 Addressing Modes ..................................................................................................2-27
2.2.2.1 Register and Immediate Operand Addressing Modes ...................................2-27
2.2.2.2 Memory Addressing Modes ...........................................................................2-28
2.2.2.3 I/O Port Addressing .......................................................................................2-36
2.2.2.4 Data Types Used in the 80C186 Modular Core Family .................................2-37
Ap
BUILDER Software and Hypertext Documents on the BBS ...1-6
iii
CONTENTS
2.3 INTERRUPTS AND EXCEPTION HANDLING............................................................ 2-39
2.3.1 Interrupt/Exception Processing ...............................................................................2-39
2.3.1.1 Non-Maskable Interrupts ................................................................ ...... .........2-42
2.3.1.2 Maskable Interrupts .......................................................................................2-43
2.3.1.3 Exceptions .....................................................................................................2-43
2.3.2 Software Interrupts ..................................................................................................2-45
2.3.3 Interrupt Latency ......................................... ...... ..... .................................. ...............2-45
2.3.4 Interrupt Response Time ........................................................ ................................2-46
2.3.5 Interrupt and Exception Pri orit y .......................................................... .....................2-46
CHAPTER 3
BUS INTERFACE UNIT
3.1 MULTIPLEXED ADDRESS AND DATA BUS................................................................ 3-1
3.2 ADDRESS AND DATA BUS CONCEPTS..................................................................... 3-1
3.2.1 16-Bit Data Bus .........................................................................................................3-1
3.2.2 8-Bit Data Bus ...........................................................................................................3-5
3.3 MEMORY AND I/O INTERFACES................................................................................. 3-6
3.3.1 16-Bit Bus Memory and I/O Requirements ...............................................................3-7
3.3.2 8-Bit Bus Memory and I/O Requirements ............................... ...... ............................3-7
3.4 BUS CYCLE OPERATION............................................................................................ 3-7
3.4.1 Address/Status Phase ................................................. ...... ................................. ....3-10
3.4.2 Data Phase .............................................................................................................3-13
3.4.3 Wait States ..............................................................................................................3-13
3.4.4 Idle States ...............................................................................................................3-18
3.5 BUS CYCLES.............................................................................................................. 3-20
3.5.1 Read Bus Cycles ....................................................................................................3-20
3.5.1.1 Refresh Bus Cycles .......................................................................................3-22
3.5.2 Write Bus Cycles .....................................................................................................3-22
3.5.3 Interrupt Acknowledg e Bus Cycle .................................................................. ..... ....3-25
3.5.3.1 System Design Considerations .....................................................................3-27
3.5.4 HALT Bus Cycle ......................................................................................................3-28
3.5.5 Temporarily Exiting the HALT Bus State ....................................... ..... .....................3-30
3.5.6 Exiting HALT ...........................................................................................................3-32
3.6 SYSTEM DESIGN ALTERNATIVES.................................................. ......................... 3-33
3.6.1 Buffering the Data Bus ............................................................................................3-34
3.6.2 Synchronizing Software and Hardware Events .......................................................3-36
3.6.3 Using a Locked Bus ................................................................................................3-37
3.6.4 Using the Queue Status Signals .............................................................................3-38
3.7 MULTI-MASTER BUS SYSTEM DESIGNS................................................................. 3-39
3.7.1 Entering Bus HOLD ................... ...... ...... ................................. ................................3-39
3.7.1.1 HOLD Bus Latency ........................................................................................3-40
3.7.1.2 Refresh Operation During a Bus HOLD ........................................................3-41
3.7.2 Exiting HOLD ..........................................................................................................3-43
3.8 BUS CYCLE PRIORITIES........................................................................................... 3-44
iv
CONTENTS
CHAPTER 4
PERIPHERAL CONTROL BLOCK
4.1 PERIPHERAL CONTROL REGISTERS........................................................................ 4-1
4.2 PCB RELOCATION REGISTER.................................................................................... 4-1
4.3 RESERVED LOCATIONS............................................................................................. 4-4
4.4 ACCESSING THE PERIPHERAL CONTROL BLOCK.................................................. 4-4
4.4.1 Bus Cycles ...............................................................................................................4-4
4.4.2 READY Signals and Wait States .............................................................................4-4
4.4.3 F-Bus Operation .......................................................................................................4-5
4.4.3.1 Writing the PCB Relocation Register ...............................................................4-6
4.4.3.2 Accessing the Peripheral Control Registers ....................................................4-6
4.4.3.3 Accessing Reserved Locations .......................................................................4-6
4.5 SETTING THE PCB BASE LOCATION......................................................................... 4-6
4.5.1 Considerations for the 80C187 Math Coprocessor Interface ....................................4-7
CHAPTER 5
CLOCK GENERATION AND POWER MANAGEMENT
5.1 CLOCK GENERATION.................................................................................................. 5-1
5.1.1 Crystal Oscillator .......................................................................................................5-1
5.1.1.1 Oscillator Operation .........................................................................................5-2
5.1.1.2 Selecting Crystals ............................................................................................5-5
5.1.2 Using an External Oscillator ......................................................................................5-6
5.1.3 Output from the Clock Generator ................................. ...... ..... ..................................5-6
5.1.4 Reset and Clock Synchronization .............................................................................5-6
5.2 POWER MANAGEMENT.................................. ...... ................................. ...... ...... ..... ... 5-10
5.2.1 Power-Save Mode ................ ..... ...... .................................. ................................. ....5-11
5.2.1.1 Entering Power-Save Mode ................................................ ..........................5-11
5.2.1.2 Leaving Power-Save Mode ...........................................................................5-13
5.2.1.3 Example Power-Save Initialization Code .......................................................5-13
CHAPTER 6
CHIP-SELECT UNIT
6.1 COMMON METHODS FOR GENERATING CHIP-SELECTS....................................... 6-1
6.2 CHIP-SELECT UNIT FEATURES AND BENEFITS...................................................... 6-1
6.3 CHIP-SELECT UNIT FUNCTIONAL OVERVIEW......................................................... 6-2
6.4 PROGRAMMING........................................................................................................... 6-6
6.4.1 Initialization Sequence ..............................................................................................6-6
6.4.2 Programming the Active Ranges ............................................................................6-12
6.4.2.1 UCS
6.4.2.2 LCS
6.4.2.3 MCS
6.4.2.4 PCS
6.4.3 Bus Wait State and Ready Control .........................................................................6-15
6.4.4 Overlapping Chip-Selects .......................................................................................6-16
Active Range ........................................................................................6-12
Active Range .........................................................................................6-13
Active Range ........................................................................................6-13
Active Range .........................................................................................6-15
v
CONTENTS
6.4.5 Memory or I/O Bus Cycle Decoding ........................................................................6-17
6.4.6 Programming Considerations ..................................................................................6-17
6.5 CHIP-SELECTS AND BUS HOLD............................................................................... 6-18
6.6 EXAMPLES ................................................................................................................. 6-18
6.6.1 Example 1: Typical System Configuration ..............................................................6-18
CHAPTER 7
REFRESH CONTROL UNIT
7.1 THE ROLE OF THE REFRESH CONTROL UNIT......................................................... 7-2
7.2 REFRESH CONTROL UNIT CAPABILITIES........................... ................................. ..... 7-2
7.3 REFRESH CONTROL UNIT OPERATION.............................. ..... ...... ........................... 7-2
7.4 REFRESH ADDRESSES......................................................... ..... ................................. 7-4
7.5 REFRESH BUS CYCLES....................................... ..... .................................. ...... .......... 7-5
7.6 GUIDELINES FOR DESIGNING DRAM CONTROLLERS............................................ 7-5
7.7 PROGRAMMING THE REFRESH CONTROL UNIT..................................................... 7-7
7.7.1 Calculating the Refresh Interval ................................................................................7-7
7.7.2 Refresh Control Unit Registers .................................................................................7-7
7.7.2.1 Refresh Base Address Register ......................................................................7-8
7.7.2.2 Refresh Clock Interval Register .......................................................................7-8
7.7.2.3 Refresh Control Register .................................................................................7-9
7.7.3 Programming Example ...........................................................................................7-10
7.8 REFRESH OPERATION AND BUS HOLD................................... ...... ......................... 7-12
CHAPTER 8
INTERRUPT CONTROL UNIT
8.1 FUNCTIONAL OVERVIEW............................................................................................ 8-1
8.2 MASTER MODE............................................................................................................ 8-2
8.2.1 Generic Functions in Master Mode ...........................................................................8-2
8.2.1.1 Interrupt Masking ............................... .................................. ..... .......................8-3
8.2.1.2 Interrupt Priority ........................................................ ..... ..................................8-3
8.2.1.3 Interrupt Nesting ....................................................... ................................. ......8-4
8.3 FUNCTIONAL OPERATION IN MASTER MODE ......................................................... 8-5
8.3.1 Typical Interrupt Sequence .......................................................................................8-5
8.3.2 Priority Resolution .....................................................................................................8-5
8.3.2.1 Priority Resolution Example ............................................................................8-6
8.3.2.2 Interrupts That Share a Single Source ............................................................8-7
8.3.3 Cascading with External 8259 As ............................................................. .................8-7
8.3.3.1 Special Fully Nested Mode ..............................................................................8-8
8.3.4 Interrupt Acknowledg e Seque nc e ...................................... ..... ..................................8-9
8.3.5 Polling .......................................................................................................................8-9
8.3.6 Edge and Level Triggerin g ................................................. ..... ................................8-10
8.3.7 Additional Latency and Respon se Time ........................................................ ..... ....8-10
vi
CONTENTS
8.4 PROGRAMMING THE INTERRUPT CONTROL UNIT............................................... 8-11
8.4.1 Interrupt Control Registers ................................................. ................................. ....8-12
8.4.2 Interrupt Request Register ........................................... ...... ..... ................................8-16
8.4.3 Interrupt Mask Register ............................... .................................. ..... .....................8-16
8.4.4 Priority Mask Register .............................................................................................8-17
8.4.5 In-Service Register .................................................................................................8-18
8.4.6 Poll and Poll Status Registers .................................................................................8-19
8.4.7 End-of-Interrupt (EOI) Register ...............................................................................8-21
8.4.8 Interrupt Status Register ........................................ ...... ...... ................................. ....8-22
8.5 SLAVE MODE ............................................................................................................. 8-23
8.5.1 Slave Mode Programming ......................................................................................8-25
8.5.1.1 Interrupt Vector Register .............................. ...... .................................. .........8-26
8.5.1.2 End-Of-Interrupt Register ..............................................................................8-27
8.5.1.3 Other Registers .............................................................................................8-28
8.5.2 Interrupt Vectoring in Slave Mode .......................... ...... .................................. ..... ....8-29
8.5.3 Initializing the Interrupt Control Unit for Master Mode .............................................8-30
CHAPTER 9
TIMER/COUNTER UNIT
9.1 FUNCTIONAL OVERVIEW............................................................................................ 9-1
9.2 PROGRAMMING THE TIMER/COUNTER UNIT .......................................................... 9-6
9.2.1 Initialization Sequence ............................................................................................9-11
9.2.2 Clock Sources .........................................................................................................9-12
9.2.3 Counting Modes ......................................................................................................9-12
9.2.3.1 Retriggering ...................................................................................................9-13
9.2.4 Pulsed and Variable Duty Cycle Output ..................................................................9-14
9.2.5 Enabling/Disabling Counters ...................................................................................9-15
9.2.6 Timer Interrupts .......................................................................................................9-16
9.2.7 Programming Considerations ..................................................................................9-16
9.3 TIMING........................................................................................................................ 9-16
9.3.1 Input Setup and Hold Timings .................................................................................9-16
9.3.2 Synchronization and Maximum Frequency ............................. ...... ..........................9-17
9.3.2.1 Timer/Counter Unit Application Examples .....................................................9-17
9.3.3 Real-Time Clock .....................................................................................................9-17
9.3.4 Square-Wave Generator .............................................. ...... ................................. ....9-17
9.3.5 Digital One-Shot ......................................................................................................9-17
CHAPTER 10
DIRECT MEMORY ACCESS UNIT
10.1 FUNCTIONAL OVERVIEW.......................................................................................... 10-1
10.1.1 The DMA Transfer ..................................................................................................10-1
10.1.1.1 DMA Transfer Directions ...............................................................................10-3
10.1.1.2 Byte and Word Transfers ..............................................................................10-3
10.1.2 Source and Destination Pointers ............................................................................10-3
vii
CONTENTS
10.1.3 DMA Requests ........................................................................................................10-3
10.1.4 External Requests ...................................................................................................10-4
10.1.4.1 Source Synchronization ................................................................................10-5
10.1.4.2 Destination Synchronization ..........................................................................10-5
10.1.5 Internal Requests ....................................................................................................10-6
10.1.5.1 Timer 2-Initiated Transfers ............................................................................10-6
10.1.5.2 Unsynchronized Transfe rs .................................................. ..... .....................10-6
10.1.6 DMA Transfer Counts .............................................................................................10-7
10.1.7 Termination and Suspension of DMA Transfers .....................................................10-7
10.1.7.1 Termination at Terminal Count ......................................................................10-7
10.1.7.2 Software Termination ....................................................................................10-7
10.1.7.3 Suspension of DMA During NMI ...................................................................10-7
10.1.7.4 Software Suspension ....................................................................................10-7
10.1.8 DMA Unit Interrupts ................................................................................................10-8
10.1.9 DMA Cycles and the BIU ........................................................................................10-8
10.1.10 The Two-Channel DMA Unit ...................................................................................10-8
10.1.10.1 DMA Channel Arbitration ...............................................................................10-8
10.2 PROGRAMMING THE DMA UNIT ............................................................................ 10-10
10.2.1 DMA Channel Parameters ....................................................................................10-10
10.2.1.1 Programming the Source and Destination Pointers ....................................10-10
10.2.1.2 Selecting Byte or Word Size Transfers ........................................................10-14
10.2.1.3 Selecting the Source of DMA Requests ......................................................10-17
10.2.1.4 Arming the DMA Channel ............................................................................10-18
10.2.1.5 Selecting Channel Synchronization .............................................................10-18
10.2.1.6 Programming the Transfer Count Options ...................................................10-18
10.2.1.7 Generating Interrupts on Terminal Count ....................................... ...... ..... ..10-19
10.2.1.8 Setting the Relative Priority of a Channel ....................................................10-19
10.2.2 Suspension of DMA Transfers ..............................................................................10-20
10.2.3 Initializing the DMA Unit ................................................................................. .......10-20
10.3 HARDWARE CONSIDERATIONS AND THE DMA UNIT ......................................... 10-20
10.3.1 DRQ Pin Timing Requirements .............................................................................10-20
10.3.2 DMA Latency ........................................................................................................10-21
10.3.3 DMA Transfer Rates .............................................................................................10-21
10.3.4 Generating a DMA Acknowledge ..........................................................................10-22
10.4 DMA UNIT EXAMPLES............................................................................................. 10-22
CHAPTER 11
MATH COPROCESSING
11.1 OVERVIEW OF MATH COPROCESSING.................................................................. 11-1
11.2 AVAILABILITY OF MATH COPROCESSING.............................................................. 11-1
11.3 THE 80C187 MATH COPROCESSOR.............................. ...... ..... ............................... 11-2
11.3.1 80C187 Instruction Set ...........................................................................................11-2
11.3.1.1 Data Transfer Instructions .............................................................................11-3
11.3.1.2 Arithmetic Instructions ........................................ ...... ..... ................................11-3
11.3.1.3 Comparison Instructions ................................................................................11-5
viii
CONTENTS
11.3.1.4 Transcendental Instructions ..........................................................................11-5
11.3.1.5 Constant Instructions .....................................................................................11-6
11.3.1.6 Processor Control Instructions ......................................................................11-6
11.3.2 80C187 Data Types ................................................................................................11-7
11.4 MICROPROCESSOR AND COPROCESSOR OPERATION...................................... 11-7
11.4.1 Clocking the 80C187 .............................................................................................11-10
11.4.2 Processor Bus Cycles Accessing the 80C187 ......................................................11-10
11.4.3 System Design Tips ..............................................................................................11-11
11.4.4 Exception Trapping ..................................... .................................. ........................11-13
11.5 EXAMPLE MATH COPROCESSOR ROUTINES...................................................... 11-13
CHAPTER 12
ONCE MODE
12.1 ENTERING/LEAVING ONCE MODE........................................................................... 12-1
APPENDIX A
80C186 INSTRUCTION SET ADDITIONS AND EXTENSIONS
A.1 80C186 INSTRUCTION SET ADDITIONS................................................................... A-1
A.1.1 Data Transfer Instructions ......................................................................................A-1
A.1.2 String Instructions ...................................................................................................A-2
A.1.3 High-Level Instructions ......................................... ...... .................................. ..........A-2
A.2 80C186 INSTRUCTION SET ENHANCEMENTS......................................................... A-8
A.2.1 Data Transfer Instructions ......................................................................................A-8
A.2.2 Arithmetic Instructions .......................... ................................. .................................A-9
A.2.3 Bit Manipulation Instructions ...................................................................................A-9
A.2.3.1 Shift Instructions ................................................. ...... ................................. .....A-9
A.2.3.2 Rotate Instructions .......................................................................................A-10
APPENDIX B
INPUT SYNCHRONIZATION
B.1 WHY SYNCHRONIZERS ARE REQUIRED................................................................. B-1
B.2 ASYNCHRONOUS PINS..................................................................................... ..... .... B-2
APPENDIX C
INSTRUCTION SET DESCRIPTIONS
APPENDIX D
INSTRUCTION SET OPCODES AND CLOCK CYCLES
INDEX
ix
CONTENTS
FIGURES
Figure Page
2-1 Simplified Function al Bloc k Diag ram of the 80C186 Family CPU................................2-2
2-2 Physical Address Generation............................... ..... ...... .................................. ...........2-3
2-3 General Registers ........................................................................................................2-4
2-4 Segment Registers.......................................................................................................2-6
2-5 Processor Status Word ................................................................................................2-9
2-6 Segment Locations in Physical Memory.....................................................................2-10
2-7 Currently Addressable Segments...............................................................................2-11
2-8 Logical and Physical Address ....................................................................................2-12
2-9 Dynamic Code Relocation..........................................................................................2-14
2-10 Stack Operation..........................................................................................................2-16
2-11 Flag Storage Format ..................................................................................................2-19
2-12 Memory Address Computation...................................................................................2-29
2-13 Direct Addressing.......................................................................................................2-30
2-14 Register Indirect Addressing................................................................. ...... ...............2-31
2-15 Based Addressing......................................................................................................2-31
2-16 Accessing a Structure with Based Addressing ...........................................................2-32
2-17 Indexed Addressing....................................................................................................2-33
2-18 Accessing an Array with Indexed Addressing............................................................2-33
2-19 Based Index Addressing ............................................................................................2-34
2-20 Accessing a Stacked Array with Based Index Addressing.........................................2-35
2-21 String Operand...........................................................................................................2-36
2-22 I/O Port Addressing.................................................................... ...... ..........................2-36
2-23 80C186 Modular Core Family Supported Data Types................................................2-38
2-24 Interrupt Control Unit........................... ...... ..... .................................. ..........................2-39
2-25 Interrupt Vector Table........................................... ..... .................................. ...............2-40
2-26 Interrupt Sequence................................................................ ................................. ....2-42
2-27 Interrupt Response Factors........................................................ ................................2-46
2-28 Simultaneous NMI and Exception..............................................................................2-47
2-29 Simultaneous NMI and Single Step Interrupts............................................................2-48
2-30 Simultaneous NMI, Single Step and Maskable Interrupt............................................2-49
3-1 Physical Data Bus Models..................................................................... ...... ...... ...........3-2
3-2 16-Bit Data Bus Byte Transfers....................................................................................3-3
3-3 16-Bit Data Bus Even Word Transfers.........................................................................3-4
3-4 16-Bit Data Bus Odd Word Transfers...........................................................................3-5
3-5 8-Bit Data Bus Word Transfers.....................................................................................3-6
3-6 Typical Bus Cycle.........................................................................................................3-8
3-7 T-State Relation to CLKOUT........................................................................................3-8
3-8 BIU State Diagram ........................ ...... .................................. ..... ..................................3-9
3-9 T-State and Bus Phases............................................................................................3-10
3-10 Address/Status Phase Signal Relationships..............................................................3-11
3-11 Demultiplexing Address Information...........................................................................3-12
3-12 Data Phase Signal Relationships...............................................................................3-14
3-13 Typical Bus Cycle with Wait States............................................................................3-15
3-14 ARDY and SRDY Pin Block Diagram.........................................................................3-15
x
CONTENTS
FIGURES
Figure Page
3-15 Generating a Normally Not-Ready Bus Signal...........................................................3-16
3-16 Generating a Normally Ready Bus Signal..................................................................3-17
3-17 Normally Not-Ready System Timing..........................................................................3-18
3-18 Normally Ready System Timings...............................................................................3-19
3-19 Typical Read Bus Cycle.............................................................................................3-21
3-20 Read-Only Device Interface ....................................................... ...... ..... ...... ...............3-22
3-21 Typical Write Bus Cycle..............................................................................................3-23
3-22 16-Bit Bus Read/Write Device Interface.....................................................................3-24
3-23 Interrupt Acknowledge Bus Cycle.............. ..... .................................. ..........................3-26
3-24 Typical 82C59A Interface...........................................................................................3-27
3-25 HALT Bus Cycle.........................................................................................................3-29
3-26 Returning to HALT After a HOLD/HLDA Bus Exchange............................................3-30
3-27 Returning to HALT After a Refresh Bus Cycle...........................................................3-31
3-28 Returning to HALT After a DMA Bus Cycle........................................... ...... ...............3-32
3-29 Exiting HALT ..............................................................................................................3-33
3-30 DEN and DT/R Timing Relationships.........................................................................3-34
3-31 Buffered AD Bus System............................................................ ................................3-35
3-32 Qualifying DEN with Chip-Selects..............................................................................3-36
3-33 Queue Status Timing................................................. ...... .................................. .........3-39
3-34 Timing Sequence Entering HOLD..............................................................................3-40
3-35 Refresh Request During HOLD..................................................................................3-42
3-36 Latching HLDA ...........................................................................................................3-43
3-37 Exiting HOLD..............................................................................................................3-44
4-1 PCB Relocation Register..............................................................................................4-2
5-1 Clock Generator...........................................................................................................5-1
5-2 Ideal Operation of Pierce Oscillator..............................................................................5-2
5-3 Crystal Connections to Microprocessor........................................................................5-3
5-4 Equations for Crystal Calculations................................................................................5-4
5-5 Simple RC Circuit for Powerup Reset............................................................... ...........5-7
5-6 Cold Reset Waveform..................................................................................................5-8
5-7 Warm Reset Waveform................................................................................................5-9
5-8 Clock Synchronization at Reset..................................................................................5-10
5-9 Power-Save Register .................................................................................. ...............5-12
5-10 Power-Save Clock Transition................................................ ..... ................................5-13
6-1 Common Chip-Select Generation Methods..................................................................6-2
6-2 Chip-Select Block Diagram...........................................................................................6-3
6-3 Chip-Select Relative Timings.......................................................................................6-4
6-4 UCS
6-5 UMCS Register Definition.............................................................................................6-7
6-6 LMCS Register Definition.............................................................................................6-8
6-7 MMCS Register Definition........................................................................... ...... ..... ......6-9
6-8 PACS Register Definition..................................... ..... ...... ...... ................................. ....6-10
6-9 MPCS Register Definition...........................................................................................6-11
6-10 MCS3:0
Reset Configuration.............................................................................................6-5
Active Ranges..............................................................................................6-14
xi
CONTENTS
FIGURES
Figure Page
6-11 Wait State and Ready Control Functions...................................................................6-16
6-12 Using Chip-Selects During HOLD..............................................................................6-18
6-13 Typical System...........................................................................................................6-19
7-1 Refresh Control Unit Block Diagram.............................................................................7-1
7-2 Refresh Control Unit Operation Flow Chart..................................................................7-3
7-3 Refresh Address Formation..........................................................................................7-4
7-4 Suggested DRAM Control Signal Timing Relationships...............................................7-6
7-5 Formula for Calculating Refresh Interval for RFTIME Register....................................7-7
7-6 Refresh Base Address Register...................................................................................7-8
7-7 Refresh Clock Interval Register....................................................................................7-9
7-8 Refresh Control Register............................................................................................7-10
7-9 Regaining Bus Control to Run a DRAM Refresh Bus Cycle.......................................7-13
8-1 Interrupt Control Unit in Master Mode..........................................................................8-2
8-2 Using External 8259A Modules in Cascade Mode.......................................................8-8
8-3 Interrupt Control Unit Latency and Response Time...................................................8-11
8-4 Interrupt Control Register for Internal Sources...........................................................8-13
8-5 Interrupt Control Register for Noncas cad ab le External Pins.................................. ....8-14
8-6 Interrupt Control Register for Cascadabl e Interrupt Pins....................... ...... ...... .........8-15
8-7 Interrupt Request Register............................. .................................. ..........................8-16
8-8 Interrupt Mask Register........................................ ..... .................................. ...............8-17
8-9 Priority Mask Register ................................................................................................8-18
8-10 In-Service Register.....................................................................................................8-19
8-11 Poll Register.................................. .................................. .................................. .........8-20
8-12 Poll Status Register........................................ .................................. ..........................8-21
8-13 End-of-Interrupt Register............................................................................................8-22
8-14 Interrupt Status Register ........................... ................................. ...... ..........................8-23
8-15 Interrupt Control Unit in Slave Mode..........................................................................8-24
8-16 Interrupt Sources in Slave Mode...................................................... ..... .....................8-25
8-17 Interrupt Vector Register (Slave Mode Only)........ ..... ...... .................................. .........8-27
8-18 End-of-Interrupt Register in Slave Mode....................................................................8-28
8-19 Request, Mask, and In-Service Registers..................................................................8-28
8-20 Interrupt Vectoring in Slave Mode.................................................... ..... .....................8-29
8-21 Interrupt Response Time in Slave Mode..................................................... ...... .........8-30
9-1 Timer/Counter Unit Block Diagram...............................................................................9-2
9-2 Counter Element Multip lex in g and Timer I npu t Synchronization............................ ......9-3
9-3 Timers 0 and 1 Flow Chart...........................................................................................9-4
9-4 Timer/Counter Unit Output Modes................................................................................9-6
9-5 Timer 0 and Timer 1 Control Registers........................................................................9-7
9-6 Timer 2 Control Register..............................................................................................9-9
9-7 Timer Count Registers................................................................................................9-10
9-8 Timer Maxcount Compare Registers..........................................................................9-11
9-9 TxOUT Signal Timing.................................................................................................9-15
10-1 Typical DMA Transfer.................................................................................................10-2
10-2 DMA Request Minimum Response Time...................................................................10-4
xii
CONTENTS
FIGURES
Figure Page
10-3 Source-Synchronized Transfers............................................................................. ....10-5
10-4 Destination-Synchronized Transfers..........................................................................10-6
10-5 Two-Channel DMA Module ........................................................................................10-9
10-6 Examples of DMA Priority.........................................................................................10-10
10-7 DMA Source Pointer (High-Order Bits).....................................................................10-11
10-8 DMA Source Pointer (Low-Order Bits).....................................................................10-12
10-9 DMA Destination Pointer (High-Order Bits)..............................................................10-13
10-10 DMA Destination Pointer (Low-Order Bits)...............................................................10-14
10-11 DMA Control Register...............................................................................................10-15
10-12 Transfer Count Register............................................................. ..............................10-19
11-1 80C187-Supported Data Types....................................... ...... ................................. ....11-8
11-2 80C186 Modular Core Family/80C187 System Configuration....................................11-9
11-3 80C187 Configuration with a Partially Buffered Bus.................................................11-12
11-4 80C187 Exception Trapping via Processor Interrupt Pin..........................................11-14
12-1 Entering/Leaving ONCE Mode...................................................................................12-2
A-1 Formal Definition of ENTER........................................................................................A-3
A-2 Variable Access in Nested Procedures.......................................................................A-4
A-3 Stack Frame for Main at Level 1..................................................................................A-4
A-4 Stack Frame for Procedure A at Level 2.....................................................................A-5
A-5 Stack Frame for Procedure B at Level 3 Called from A...............................................A-6
A-6 Stack Frame for Procedure C at Level 3 Called from B..............................................A-7
B-1 Input Synchronization Circuit.......................................................................................B-1
xiii
CONTENTS
TABLES
Table Page
1-1 Comparison of 80C186 Modular Core Family Products...............................................1-2
1-2 Related Documents and Software................................................................................1-3
2-1 Implicit Use of General Registers.................................................................................2-5
2-2 Logical Address Sources............................................................................................2-13
2-3 Data Transfer Instructions..........................................................................................2-18
2-4 Arithmetic Instructions................................................................ ................................2-20
2-5 Arithmetic Interpretation of 8-Bit Numb ers.................................................. ...... ..... ....2-21
2-6 Bit Manipulation Instructions ......................................................................................2-21
2-7 String Instructions.......................................................................................................2-22
2-8 String Instruction Register and Flag Use.......................................... ..... .....................2-23
2-9 Program Transfer Instructions....................................................................................2-25
2-10 Interpretation of Conditional Transfers.......................................................................2-26
2-11 Processor Control Instructions...................................................................................2-27
2-12 Supported Data Types ...............................................................................................2-37
3-1 Bus Cycle Types . .......................................................................................................3-12
3-2 Read Bus Cycle Types.................................................... .................................. .........3-20
3-3 Read Cycle Critical Timing Parameters......................................................................3-20
3-4 Write Bus Cycle Types...............................................................................................3-23
3-5 Write Cycle Critical Timing Paramete rs..................... .................................. ...............3-25
3-6 HALT Bus Cycle Pin States........................................................................................3-29
3-7 Queue Status Signal Decoding..................................................................................3-38
3-8 Signal Condition Entering HOLD................................................................................3-40
4-1 Peripheral Control Block...............................................................................................4-3
5-1 Suggested Values for Inductor L1 in Third Overtone Oscillator Circuit........................5-4
6-1 Chip-Select Unit Registers...........................................................................................6-6
6-2 UCS
6-3 LCS
6-4 MCS
6-5 MCS
6-6 PCS
7-1 Identification of Refresh Bus Cycles.............................................................................7-5
8-1 Default Interrupt Priorities.............................................................................................8-3
8-2 Fixed Interrupt Types ...................................................................................................8-9
8-3 Interrupt Control Unit Registers in Master Mode........................................................8-11
8-4 Interrupt Control Unit Register Comparison...............................................................8-26
8-5 Slave Mode Fixed Interrupt Type Bits........................................................................8-26
9-1 Timer 0 and 1 Clock Sources.....................................................................................9-12
9-2 Timer Retriggering......................................................................................................9-13
11-1 80C187 Data Transfer Instructions.............................................................................11-3
11-2 80C187 Arithmetic Instructions...................................................................................11-4
11-3 80C187 Comparison Instructions...............................................................................11-5
11-4 80C187 Transcendental Instructions..........................................................................11-5
11-5 80C187 Constant Instructions....................................................................................11-6
11-6 80C187 Processor Control Instructions......................................................................11-6
11-7 80C187 I/O Port Assignments..................................................................................11-10
Block Size and Starting Address........................................................................6-12
Active Range......................................................................................................6-13
Active Range.....................................................................................................6-13
Block Size and Start Address Restrictions........................................................6-14
Active Range......................................................................................................6-15
xiv
CONTENTS
TABLES
Table Page
C-1 Instruction Format Variables........................................................................................C-1
C-2 Instruction Operands...................................................................................................C-2
C-3 Flag Bit Functions........................................................................................................C-3
C-4 Instruction Set .............................................................................................................C-4
D-1 Operand Variables ......................................................................................................D-1
D-2 Instruction Set Summary.............................................................................................D-2
D-3 Machine Instruction Decoding Guide...........................................................................D-9
D-4 Mnemonic Encoding Matrix (Left Half) ......................................................................D-20
D-5 Abbreviations for Mnemonic Encoding Matrix...........................................................D-22
xv
CONTENTS
EXAMPLES
Example Page
5-1 Initializing the Power Manag ement Unit for Power-Save Mode............................. ....5-14
6-1 Initializing the Chip-Select Unit...................................................................................6-20
7-1 Initializing the Refresh Control Unit............................................................................7-11
8-1 Initializing the Interrupt Control Unit for Master Mode................................................8-31
9-1 Configuring a Real-Time Clock...................................................................................9-18
9-2 Configuring a Square-Wav e Genera tor......................................................................9-21
9-3 Configuring a Digital One-Shot................................................... ................................9-22
10-1 Initializing the DMA Unit.................................................. .................................. .......10-23
10-2 Timed DMA Transfers ..............................................................................................10-26
11-1 Initialization Sequence for 80C187 Math Coprocessor............................................11-15
11-2 Floating Point Math Routine Using FSINCOS..........................................................11-16
xvi
Introduction
1
CHAPTER 1
INTRODUCTION
The 8086 microprocessor was first introduced in 1978 and g ained rapid support as the microco mputer engine of choice. There are literally millions of 8086/8088-based systems in the world today. The amount of software written for the 8086/8088 is rivaled by no other architecture.
By the early 1980’s, however, it was clear that a replacement for the 8086/8088 was necessary.
An 8086/8088 system required dozens of suppo rt chips to implement even a moder ately com plex
design. Intel recognized the need to integrate commonly used system peripherals onto the same
silicon die as the CPU. In 1982 Intel addressed this need by introducing the 80186/80188 family
of embedded microprocessors. The original 80186/80188 integrated an enhanced 8086/8088
CPU with six commonly used system peripherals. A parallel effort within Intel also gave rise to
the 80286 microprocessor in 1982 . The 802 86 began the trend toward the ver y hig h perfor mance
Intel architecture that today includes the Intel386 , I ntel486 and Pentium microprocessors.
As technology advanced and turned toward small geometry CMOS processes, it became clear
that a new 80186 was needed . In 1987 Intel announced the second generation of the 80186 family:
the 80C186/C188. The 80C186 family is pin co mpatible with the 8 0186 family , while adding an
enhanced feature set. The high-performance CHMOS III process allowed the 80C186 to run at
twice the clock rate of the NMOS 80186, while consuming less than one-fourth the power.
The 80186 family took another major step in 1990 with the introduction of the 80C186EB family.
The 80C186EB heralded man y changes for the 8018 6 family. First, th e enhanced 8086/808 8 CPU
was redesigned as a static, stand-alone module known as the 80C186 Modular Core. Second, the
80186 family peripherals were also redesigned as static modules with standard interfaces. The
goal behind this redesign effort was to give Intel the capability to proliferate the 80186 family
rapidly, in order to provide solutions for an even wider range of customer applications.
The 80C186EB/C188EB was the first product to use the new modular capability. The
80C186EB/C188EB includes a different peripheral set than the original 80186 family. Power
consumption was dramatically reduced as a direct result of the static design, power manag ement
features and advanced CHMOS IV process. The 80C186EB/C188EB has found acceptance in a
wide array of portable equipment ranging from cellular phones to personal organizers.
In 1991 the 80C186 Modular Core family was again extended with the introduction of three new
products: the 80C186XL, the 80C186E A and the 80C186EC. T he 80C186XL/C188XL is a higher performance, lower power replacement for the 80C186/C188. The 80C186EA/C188EA combines the feature set of the 80C186 with new power management features for power-critical
applications. The 80C186EC/C188EC offers the highest level of integration of any of the 80C186
Modular Core family products, with 14 on-chip peripherals (see Table 1-1).
1-1
INTRODUCTION
The 80C186 Modular Core family is the direct result of ten years of Intel development. It offers
the designer the peace of mind of a well-established architecture with the benefits of state-of- theart technology.
Table 1-1. Comparison of 80C186 Modular Core Family Products
Feature 80C186XL 80C186EA 80C186EB 80C186EC
Enhanced 8086 Instruction Set
Low-Power Static Modular CPU
Power-Save (Clock Divide) Mode
Powerdown and Idle Modes
80C187 Interface
ONCE Mode
Interrupt Control Unit 8259
Timer/Counter Unit
Chip-Select Unit Enhanced Enhanced
DMA Unit
Serial Communications Unit
Refresh Control Unit Enhanced Enhanced
Watchdog Timer Unit
I/O Ports 16 Total 22 Total
2 Channel 2 Channel 4 Channel
Compatible
1.1 HOW TO USE THIS MANUAL
This manual uses phrases such as 80C186 Modular Core Family or 80C188 Modular Core , as
well as references to specific products such as 80C188EA. Each phrase refers to a specific set of
80C186 family products. The phrases and the products they refer to are as follows:
80C186 Modular Core Family: This phrase refers to any device that uses the modular
80C186/C188 CPU core architecture. At this time these include the 80C186EA/C188EA,
80C186EB/C188EB, 80C186EC/C188EC and 80C186XL/C188XL.
80C186 Modular Core: Without the word family , this phrase refers only to the 16-bit bus mem-
bers of the 80C186 Modular Core Family.
80C188 Modular Core: This phrase refers to the 8-bit bus products.
80C188EC: A specific product reference refers only to the named device. For example, On the
80C188EC… refers strictly to the 80C188EC and not to any other device.
1-2
INTRODUCTION
Each chapter covers a specific section of the device, beginning with the CPU core. Each peripheral chapter includes programmin g ex amples intend ed to aid in you r under standing of d evice operation. Please read the comments carefully, as not all of the examples include all the code
necessary for a specific application.
This user’s guide is a supplement to the device data sheet. Specific timing values are not discussed in this guide. When designing a system, always consult the most recent version of the device data sheet for up-to-date specifications.
1.2 RELATED DOCUMENTS
The following table lists documents and software that are useful in designing systems that incorporate the 80C186 Modular Core Family. These documents are available throug h Intel Literature.
To order a document, call the number listed for your area in “Product Literature” on page 1-7.
NOTE
If you will be transferring a design from the 80186/80188 or 80C186/80C188
to the 80C186XL/80C188XL, refer to FaxBack Document No. 2132.
Table 1-2. Related Documents and Software
Document/Software Title
Embedded Microprocessors (includes 186 family data sheets) 272396
186 Embedded Microprocessor Line Card 272079
80186/80188 High-Integration 16-Bit Microprocessor Data Sheet 272430
80C186XL/C188XL-20, -12 16-Bit High-Integration Embedded Microprocessor
Data Sheet
80C186EA/80C188EA-20, -12 and 80L186EA/80L188EA-13, -8 (low power
versions) 16-Bit High-Integration Embedded Microprocess or Data Sheet
80C186EB/80C188EB-20, -13 and 80L186EB/80L188EB-13, -8 (low power
versions) 16-Bit High-Integration Embedded Microprocess or Data Sheet
80C186EC/80C188EC-20, -13 and 80L186EC/80L188EC-13, -8 (low power
versions) 16-Bit High-Integration Embedded Microprocess or Data Sheet
80C187 80-Bit Math Coprocessor Data Sheet 270640
Low Voltage Embedded Design 272324
80C186/C188, 80C186XL/C188XL Microprocessor User’s Manual 272164
80C186EA/80C188EA Microprocessor User’s Manual 270950
80C186EB/80C188EB Microprocessor User’s Manual 270830
80C186EC/80C188EC Microprocessor User’s Manual 272047
8086/8088/8087/80186/80188 Programmer’s Pocket Reference Guide 231017
8086/8088 User’s Manual Programmer’s and Hardware Reference Manual 240487
Document
Order No.
272431
272432
272433
272434
1-3
INTRODUCTION
Table 1-2. Related Documents and Software (Continued)
Document/Software Title
Ap
BUILDER Software 272216
80C186EA Hypertext Manual 272275
80C186EB Hypertext Manual 272296
80C186EC Hypertext Manual 272298
80C186XL Hypertext Manual 272630
ZCON - Z80 Code Converter Available on BBS
Document
Order No.
1.3 ELECTRONIC SUPPORT SYSTEMS
Intel’s FaxBack* service and application BBS provide up-to-date technical information. Intel
also maintains several forums on CompuServe and offers a variety of information on the World
Wide Web. These systems are available 24 hours a day, 7 days a week, p roviding technical information whenever you need it.
1.3.1 FaxBack Service
FaxBack is an on-demand publishing system that sends documents to your fax machine. You can
get product announcements, change notifications, product literature, device characteristics, design recommendations, and quality and reliability information from FaxBack 24 hours a day, 7
days a week.
1-800-628-2283 U.S. and Canada
916-356-3105 U.S., Canada, Japan, APac
44(0)1793-496646 Europe
Think of the FaxBack service as a library of technical documents that you can access with your
phone. Just dial the telephone number and respo nd to the system prompts. After you select a document, the system sends a copy to your fax machine.
Each document has an order number and is listed in a subject catalog. The first time you use FaxBack, you should order the appropriate subject catalogs to get a complete list of document order
numbers. Catalogs are updated twice monthly. In addition, d aily update catalogs list the title, status, and order number of each document that has been added, revised, or deleted during the past
eight weeks. To recieve the update for a subject catalog, enter the subject catalog number followed by a zero. For example, for the complete microcontroller and flash catalog, request document number 2; for the daily update to the microcontroller and flash catalog, request document
number 20.
1-4
INTRODUCTION
The following catalogs and information are available at the time of publication:
1. Solutions OEM subscription form
2. Microcontroller and flash catalog
3. Development tools catalog
4. Systems catalog
5. Multimedia catalog
6. Multib us and iRM X
®
software catalog and BBS file listings
7. Microprocessor, PCI, and peripheral catalog
8. Quality and reliability and change notificatio n catalog
9. iAL (Intel Architecture Labs) technology catalog
1.3.2 Bulletin Board System (BBS)
The bulletin board system (BBS) lets you download files to your co mputer. The ap plication BBS
has the latest Ap BUILDER software, hypertext manuals and datasheets, software drivers, firmware upgrades, application notes and utilities, and quality and reliability data.
916-356-3600 U.S., Canada, Japan, APac (up to 19.2 Kbaud)
916-356-7209 U.S., Ca nada, Japan, APac (24 00 baud onl y)
44(0)1793-496340 Europe
The toll-free BBS (available in the U.S. and Canada) offers lists of documents available from
FaxBack, a master list of files available from the application BBS, and a BBS user’s guide. The
BBS file listing is also available from FaxBack (catalog number 6; see page 1-4 for phone numbers and a description of the FaxBack service).
1-800-897-2536 U.S. and Canada only
Any customer with a modem and computer can access the BBS. The system provides automatic
configuration support for 1200 - through 19200-baud modem s. Typical modem settings are 14400
baud, no parity, 8 data bits, and 1 stop bit (14400, N, 8, 1).
To access the BBS, just dial the telephone number and respond to the system prompts. During
your first session, the system asks you to register with the system operator by entering your name
and location. The system operator will set up your access account within 24 hours. At that time,
you can access the files on the BBS.
NOTE
If you encounter any difficulty accessing the high-speed modem, try the
dedicated 2400-baud modem. Use these modem settings: 2400, N, 8, 1.
1-5
INTRODUCTION
1.3.2.1 How to Find ApBUILDER Software and Hypertext Documents on the BBS
The latest Ap BUILDER files and hypertext manuals and data sheets are available first from the
BBS. To access the files, complete these steps:
1. Type F from the BBS Main menu. The BBS displays the Intel Apps Files menu.
2. Type L and press <Enter>. The BBS displays the list of areas and prompts for the area
number.
3. Type 25 and press <Enter> to select Ap BUILDER/Hypertext. The BBS displays several
options: one for Ap BUILDER software and the others for hypertext documents for
specific product families.
4. Type 1 and press <Enter> to list the latest Ap BUILDER files, or type the number of the
appropriate product family sublevel and press <Enter> for a list of available hypertext
manuals and datasheets.
5. Type the file numbers to select the files you wish to download (for ex ample, 1,6 for files 1
and 6 or 3-7 for files 3, 4, 5, 6, and 7) and press <Enter>. The BBS displays the approx-
imate time required to download the selected files and gives you the option to download
them.
1.3.3 CompuServe Forums
The CompuServe forums provide a means for you to gather information, share discoveries, and
debate issues. Type “go intel” for access. For information about CompuServ e access an d service
fees, call CompuServe at 1-800-848-8199 (U.S.) or 614-529-1340 (outside the U.S.).
1.3.4 World Wide Web
Intel offers a variety of information through the World Wide Web (http://www.intel.co m/). Select
“Embedded Design Products” from the Intel home page.
1.4 TECHNICAL SUPPORT
In the U.S. and Canada, technical support representatives are available to answer your questions
between 5 a.m. and 5 p.m. PST. You can also fax your questions to us. (Please include your voice
telephone number and indicate whether you prefer a response by phone or by fax). Outside the
U.S. and Canada, please contact your local distributor.
1-800-628-8686 U.S. and Canada
916-356-7599 U.S. and Canada
916-356-6100 (fax) U.S. and Canada
1-6
INTRODUCTION
1.5 PRODUCT LITERATURE
You can order product literature from the following Intel literature centers.
1-800-468-8118, ext. 283 U.S. and Canada
708-296-9333 U.S. (from overseas)
44(0)1793-431155 Europe (U.K.)
44(0)1793-421333 Germany
44(0)1793-421777 France
81(0)120-47-88-32 Japan (fax only)
1.6 TRAINING CLASSES
In the U.S. and Canada, you can register for training classes through the Intel customer training
center. Classes are held in the U.S.
1-800-234-8806 U.S. and Canada
1-7
Overview of the
80C186 Family
Architecture
2
CHAPTER 2
OVERVIEW OF THE 80C186 FAMILY
ARCHITECTURE
The 80C186 Modular Microprocessor Core shares a common base architecture with the 8086,
8088, 80186, 80188, 80286, Intel386™ and Intel486™ processors. The 80C186 Modular Core
maintains full object-code compatibility with the 8086/8088 family of 16-bit microprocessors,
while adding hardware and software perfo rmance enhancements. Most instructions require fewer
clocks to execute on the 80C186 Modular Core because of hardware enhancements in the Bus
Interface Unit and the Execution Unit. Several addition al instructions simp lify prog ramming an d
reduce code size (see Appendix A, “80C186 Instruction Set Additions and Extensions”).
2.1 ARCHITECTURAL OVERVIEW
The 80C186 Modular Microprocessor Core incorporates two separate processing units: an Execution Unit (EU) and a Bus Interface Unit (BIU). The Execution Unit is functionally identical
among all family members. The Bus Interface Unit is configured for a 16-bit external data bus
for the 80C186 core and an 8-bit external data bus for the 80C188 core. The two units interface
via an instruction prefetch queue.
The Execution Unit executes instructions; the Bus Interface Unit fetches instructions, reads operands and writes results. Whenever the Ex ecution Unit requ ires another opcod e byte, it takes the
byte out of the prefetch queue. The two units can operate independently of one another and are
able, under most circumstances, to overlap instruction fetches and execution.
The 80C186 Modular Core family has a 16-bit Arithmetic Logic Unit (ALU). The Arithmetic
Logic Unit performs 8-bit or 16-bit arithmetic and logical operations. It provides for data movement between registers, memory and I/O space.
The 80C186 Modular Core family CPU allows for high-speed data transfer from one area of
memory to another using string move instructions and between an I/O port and memory using
block I/O instructions. The CPU also provides many conditional branch and control instr uctions.
The 80C186 Modular Core architecture features 14 basic registers grouped as general registers,
segment registers, pointer registers and status and control registers. The four 16-bit general-purpose registers (AX, BX, CX and DX) can be used as operands for most arithmetic operations as
either 8- or 16-bit units. The four 16-bit p ointer registers (SI, DI, BP and SP) can b e used in arithmetic operations and in accessing memory-based variables. Four 16-bit segment registers (CS,
DS, SS and ES) allow simple memory partitioning to aid modular programming. The status and
control registers consist of an Instruction Pointer (IP) and the Pr ocessor Status Word (PSW) register, which contains flag bits. Figure 2-1 is a simplified CPU block diagram.
2-1