You are previewing Microprocessor Theory and Applications with 68000/68020 and Pentium.
O'Reilly logo
Microprocessor Theory and Applications with 68000/68020 and Pentium

Book Description

A self-contained introduction to microprocessor theory and applications

This book presents the fundamental concepts of assembly language programming and system design associated with typical microprocessors, such as the Motorola MC68000/68020 and Intel? Pentium?. It begins with an overview of microprocessors--including anexplanation of terms, the evolution of the microprocessor, and typical applications--and goes on to systematically cover:

  • Microcomputer architecture

  • Microprocessor memory organization

  • Microprocessor Input/Output (I/O)

  • Microprocessor programming concepts

  • Assembly language programming with the 68000

  • 68000 hardware and interfacing

  • Assembly language programming with the 68020

  • 68020 hardware and interfacing

  • Assembly language programming with Pentium

  • Pentium hardware and interfacing

  • The author assumes a background in basic digital logic, and all chapters conclude with a Questions and Problems section, with selected answers provided at the back of the book. Microprocessor Theory and Applications with 68000/68020 and Pentium is an ideal textbook for undergraduate- and graduate-level courses in electrical engineering, computer engineering, and computer science. (An instructor's manual is available upon request.) It is also appropriate for practitioners in microprocessor system design who are looking for simplified explanations and clear examples on the subject. Additionally, the accompanying CD-ROM, which contains step-by-step procedures for installing and using Ide 68k21 (68000/68020) and MASM32 / Olly Debugger (Pentium) software, provides valuable simulation results via screen shots.

    Table of Contents

    1. Cover Page
    2. Title Page
    3. Copyright
    4. Dedication
    5. Contents
    6. PREFACE
    7. CREDITS
    8. 1: INTRODUCTION TO MICROPROCESSORS
      1. 1.1 Explanation of Terms
      2. 1.2 Microprocessor Data Types
      3. 1.3 Evolution of the Microprocessor
      4. 1.4 Typical Features of 32-bit and 64-bit Microprocessors
      5. 1.5 Microprocessor-based System Design Concepts
      6. 1.6 Typical Microprocessor Applications
    9. 2: MICROCOMPUTER ARCHITECTURE
      1. 2.1 Basic Blocks of a Microcomputer
      2. 2.2 Typical Microcomputer Architecture
      3. 2.3 Single-Chip Microprocessor
      4. 2.4 Program Execution by Conventional Microprocessors
      5. 2.5 Program Execution by typical 32-bit Microprocessors
      6. 2.6 Scalar and Superscalar Microprocessors
      7. 2.7 RISC vs. CISC
      8. Questions and Problems
    10. 3: MICROPROCESSOR MEMORY ORGANIZATION
      1. 3.1 Introduction
      2. 3.2 Main memory
      3. 3.3 Microprocessor on-chip memory management unit and cache
      4. Questions and Problems
    11. 4: MICROPROCESSOR INPUT/OUTPUT
      1. 4.1 Introduction
      2. 4.2 Simple I/O Devices
      3. 4.3 Programmed I/O
      4. 4.4 Unconditional and Conditional Programmed I/O
      5. 4.5 Interrupt I/O
      6. 4.6 Direct Memory Access (DMA)
      7. 4.7 Summary of I/O
      8. Questions and Problems
    12. 5: MICROPROCESSOR PROGRAMMING CONCEPTS
      1. 5.1 Microcomputer Programming Languages
      2. 5.2 Machine Language
      3. 5.3 Assembly Language
      4. 5.4 High-Level Language
      5. 5.5 Choosing a programming language
      6. 5.6 Flowcharts
      7. Questions and Problems
    13. 6: ASSEMBLY LANGUAGE PROGRAMMING WITH THE 68000
      1. 6.1 Introduction
      2. 6.2 68000 Registers
      3. 6.3 68000 Memory Addressing
      4. 6.4 Assembly Language Programming with the 68000
      5. 6.5 68000 Addressing Modes
      6. 6.6 68000 Instruction Set
      7. 6.7 68000 Delay Routine
      8. Questions and Problems
    14. 7: 68000 HARDWARE AND INTERFACING
      1. 7.1 68000 Pins And Signals
      2. 7.2 68000 Clock and Reset Signals
      3. 7.4 68000 Memory Interface
      4. 7.5 68000 I/O
      5. 7.6 68000 Exception Handling
      6. 7.7 68000/2732/6116/6821-Based Microcomputer
      7. 7.8 Multiprocessing with the 68000 Using the TAS Instruction and the Signal
      8. Questions and Problems
    15. 8: ASSEMBLY LANGUAGE PROGRAMMING WITH THE 68020
      1. 8.1 Introduction
      2. 8.2 68020 Functional Characteristics
      3. 8.3 68020 Registers
      4. 8.4 68020 Data Types, Organization, and CPU Space Cycle
      5. 8.5 68020 Addressing Modes
      6. 8.6 68020 Instructions
      7. Questions and Problems
    16. 9: 68020 HARDWARE AND INTERFACING
      1. 9.1 Introduction
      2. 9.2 68020 System Design
      3. 9.3 68020 Exception processing
      4. 9.4 68020-based Voltmeter
      5. 9.5 Interfacing a 68020-Based Microcomputer to a Hexadecimal Keyboard and a Seven-Segment Display
      6. Questions and Problems
    17. 10: ASSEMBLY LANGUAGE PROGRAMMING WITH THE PENTIUM: PART 1
      1. 10.1 Introduction
      2. 10.2 Pentium Registers
      3. 10.3 Modes of Operation
      4. 10.4 Pentium data Organization
      5. 10.5 Assembly Language Programming with the Pentium
      6. 10.6 Pentium Addressing Modes
      7. 10.7 Pentium Instructions
      8. Questions and Problems
    18. 11: ASSEMBLY LANGUAGE PROGRAMMING WITH THE PENTIUM: PART 2
      1. 11.1 Logic, Bit Manipulation, Set on condition, Shift, and Rotate Instructions
      2. 11.2 String Instructions
      3. 11.3 Unconditional Transfer Instructions
      4. 11.4 Conditional Branch Instructions
      5. 11.5 Iteration Control Instructions
      6. 11.6 Interrupt Instructions
      7. 11.7 Processor Control Instructions
      8. 11.8 Pentium Delay routine
      9. Questions and Problems
    19. 12: PENTIUM HARDWARE AND INTERFACING
      1. 12.1 Pentium Pins and Signals
      2. 12.2 Pentium READ and WRITE Timing Diagrams
      3. 12.3 Pentium's interface to memory and I/O
      4. 12.4 Pentium-based voltmeter
      5. 12.5 Interfacing a Pentium-based Microcomputer to a Hexadecimal Keyboard and a Seven Segment Display
      6. Questions and Problems
    20. APPENDIX A: ANSWERS TO SELECTED PROBLEMS
    21. APPENDIX B: GLOSSARY
    22. APPENDIX C: MOTOROLA 68000 AND SUPPORT CHIPS
    23. APPENDIX D: 68000 EXECUTION TIMES
      1. D.1 INTRODUCTION
      2. D.2 OPERAND EFFECTIVE ADDRESS CALCULATION TIMING
      3. D.3 MOVE INSTRUCTION EXECUTION TIMES
      4. D.4 STANDARD INSTRUCTION EXECUTION TIMES
      5. D.5 IMMEDIATE INSTRUCTION EXECUTION TIMES
      6. D.6 SINGLE OPERAND INSTRUCTION EXECUTION TIMES
      7. D.7 SHIFT/ROTATE INSTRUCTION EXECUTION TIMES
      8. D.12 MISCELLANEOUS INSTRUCTION EXECUTION TIMES
      9. D.13 EXCEPTION PROCESSING EXECUTION TIMES
    24. APPENDIX E: 68000/SELECTED 68020 INSTRUCTION SET
    25. APPENDIX F: PENTIUM INSTRUCTION FORMAT AND TIMING
      1. F.1. INTEGER INSTRUCTION FORMAT AND TIMING
    26. APPENDIX G: PENTIUM INSTRUCTION SET IN REAL MODE (SELECTED)
    27. APPENDIX H: PENTIUM PINOUT AND PIN DESCRIPTIONS
      1. H.1. Pentiumâ„¢ Processor Pinout
      2. H.2. Design Notes
      3. H.3. Quick Pin Reference
      4. H.4. PIN REFERENCE TABLES
      5. H.5. Pin Grouping According To Function
      6. H.6. Output Pin Grouping According To When Driven
    28. BIBLIOGRAPHY
    29. INDEX