The X 86 Microprocessors: Architecture, Programming and Interfacing (8086 to Pentium) 2nd Edition by Pearson

Book description

This second edition of The x86 Microprocessors has been revised to present the hardware and software aspects of the subject in a logical and concise manner. Designed for an undergraduate course on the 16-bit microprocessor and Pentium processor, the book provides a detailed analysis of the x86 family architecture while laying equal emphasis on its programming and interfacing attributes. The book also covers 8051 Microcontroller and its applications completely.

About The Author –

Lyla B. Das is an Associate Professor, the Department of Electronics Engineering, National Institute of Technology Calicut (NITC), Kerala. She has a diverse mix of industrial, teaching and research experience spanning more than 30 years. As a young graduate specializing in Electronics and Communications from the College of Engineering, Trivandrum, she joined Kelton Controls as Deputy Engineer in 1981. She joined NITC (then Regional Engineering College, Calicut) as a lecturer in 1985 and proceeded to complete her master’s degree in digital communications from the same college. Over the years, she was successively elevated as Assistant Professor and then Associate Professor, a position which she currently holds.
Keen to actively seek and impart knowledge, Lyla B. Das currently teaches courses on microprocessors, microcontrollers, digital system design using VHDL and system design using embedded processors at the undergraduate as well as postgraduate level. She has presented research papers in conferences of national and international stature and has worked on numerous projects based on microprocessors and microcontrollers. An avid reader of contemporary research material, she keeps herself abreast of the current trends in her chosen field and guides students in their M.Tech. research theses. The first edition of this book, The x86 Microprocessors, was her maiden venture as author and it was published to wide acclaim in 2010. Her second book, The Embedded Systems – An Integrated Approach, was published in 2012.
Lyla B. Das has worked on various projects funded by the Ministry of Human Resource Development (MHRD) in thrust areas of growth including the setting up of an embedded systems laboratory in 2005–2008. She has delivered expert lectures on image compression using wavelets, advanced microprocessors and microcontrollers, FPGA-based systems and embedded systems at several engineering colleges across India. As a dedicated academician, she continues to be very active in the work involving processors, embedded systems and computer architecture.

Table of contents

  1. Cover (1/3)
  2. Cover (2/3)
  3. Cover (3/3)
  4. Contents (1/2)
  5. Contents (2/2)
  6. Preface
  7. Acknowledgements
  8. About the Author
  9. Part - I: The x86 Microprocessors
    1. 0. Basics of Computer Systems
      1. 0.1 | A Brief History of Microprocessors
      2. 0.2 | Basics of Computer Architecture (1/2)
      3. 0.2 | Basics of Computer Architecture (2/2)
      4. 0.3 | Computer Languages
      5. 0.4 | RISC and CISC Architectures
      6. 0.5 | Number Systems
      7. 0.6 | Number Format Conversions (1/2)
      8. 0.6 | Number Format Conversions (2/2)
      9. 0.7 | Computer Arithmetic (1/2)
      10. 0.7 | Computer Arithmetic (2/2)
      11. 0.8 | Units of Memory Capacity
      12. 0.9 | The 8085 Microprocessor (1/4)
      13. 0.9 | The 8085 Microprocessor (2/4)
      14. 0.9 | The 8085 Microprocessor (3/4)
      15. 0.9 | The 8085 Microprocessor (4/4)
      16. Key Points of this chapter
      17. Questions
      18. Exercises
    2. 1. The Architecture of 8086
      1. 1.1 | Internal Block Diagram of the 8086
      2. 1.2 | Execution Unit (1/2)
      3. 1.2 | Execution Unit (2/2)
      4. 1.3 | Bus Interface Unit (1/2)
      5. 1.3 | Bus Interface Unit (2/2)
      6. 1.4 | Addressing Modes
      7. Key Points of this Chapter
      8. Questions
      9. Exercises
    3. 2. Programming Concepts-I
      1. 2.1 | The Assembly Process
      2. 2.2 | Assemblers for x86
      3. 2.3 | Memory Models (1/3)
      4. 2.3 | Memory Models (2/3)
      5. 2.3 | Memory Models (3/3)
      6. 2.4 | Instruction Design (1/2)
      7. 2.4 | Instruction Design (2/2)
      8. Key Points of this chapter
      9. Questions
      10. Exercises
    4. 3. Programming Concepts-II
      1. 3.1 | Approaches to Programming
      2. 3.2 | Data Transfer Instructions (1/2)
      3. 3.2 | Data Transfer Instructions (2/2)
      4. 3.3 | Branch Instructions (1/2)
      5. 3.3 | Branch Instructions (2/2)
      6. 3.4 | Arithmetic Instructions (1/4)
      7. 3.4 | Arithmetic Instructions (2/4)
      8. 3.4 | Arithmetic Instructions (3/4)
      9. 3.4 | Arithmetic Instructions (4/4)
      10. 3.5 | Logical Instructions
      11. 3.6 | Shift and Rotate Instructions (1/2)
      12. 3.6 | Shift and Rotate Instructions (2/2)
      13. Key Points of this chapter
      14. Questions
      15. Exercises
    5. 4. Programming Concepts-III
      1. 4.1 | String Instructions
      2. 4.2 | Procedures (1/3)
      3. 4.2 | Procedures (2/3)
      4. 4.2 | Procedures (3/3)
      5. 4.3 | Macros
      6. 4.4 | Number Format Conversions
      7. 4.5 | ASCII Operations
      8. 4.6 | Conversions for Computations and Display/Entry
      9. 4.7 | Signed Number Arithmetic (1/2)
      10. 4.7 | Signed Number Arithmetic (2/2)
      11. 4.8 | Programming Using High Level Language Constructs
      12. Key Points of this chapter
      13. Questions
      14. Exercises
    6. 5. Programming Concepts-IV
      1. 5.1 | Input / Output Programming
      2. 5.2 | I/O Instructions
      3. 5.3 | Modular Programming (1/2)
      4. 5.3 | Modular Programming (2/2)
      5. 5.4 | Programming in C with Assembly Modules
      6. Key Points of this chapter
      7. Questions
      8. Exercises
    7. 6. The Hardware Structure of 8086
      1. 6.1 | Pin Configuration
      2. 6.2 | Clock
      3. 6.3 | Other Processor Activities
      4. 6.4 | Maximum Mode
      5. 6.5 | Instruction Cycle
      6. Key Points of this chapter
      7. Questions
      8. Exercises
    8. 7. Memory and I/O Decoding
      1. 7.1 | Memory Device Pins
      2. 7.2 | Memory Address Decoding (1/2)
      3. 7.2 | Memory Address Decoding (2/2)
      4. 7.3 | Memory Banks
      5. 7.4 | I/O Address Decoding (1/2)
      6. 7.4 | I/O Address Decoding (2/2)
      7. Key Points of this chapter
      8. Questions
      9. Exercises
    9. 8. The Interrupt Structure of 8086
      1. 8.1 | Interrupts of 8086
      2. 8.2 | Dedicated Interrupt Types
      3. 8.3 | Software Interrupts
      4. 8.4 | Hardware Interrupts
      5. 8.5 | Priority of Interrupts
      6. 8.6 | Interrupt type allocation for Current PCs
      7. 8.7 | BIOS 10H Functions
      8. 8.8 | Addressing Video Memory Directly
      9. 8.9 | Keyboard Interfacing
      10. 8.10 | Hooking an Interrupt (1/2)
      11. 8.10 | Hooking an Interrupt (2/2)
      12. Key Points of this chapter
      13. Questions
      14. Exercises
    10. 9. Peripheral Interfacing-I
      1. 9.1 | Trainer Kit
      2. 9.2 | Programmable Peripheral Interface (PPI)-8255A
      3. 9.3 | Modes of Operation
      4. 9.4 | Mode 0
      5. 9.5 | Mode 1 (1/2)
      6. 9.5 | Mode 1 (2/2)
      7. 9.6 | Mode 2 (Strobed Bidirectional Bus I/O)
      8. 9.7 | Centronics Printer Interface
      9. 9.8 | Interfacing an Analog to Digital Converter to the 8086
      10. 9.9 | Interfacing to a Digital to Analog Converter
      11. 9.10 | Interfacing Liquid Crystal Displays to the 8086
      12. 9.11 | Interfacing a Stepper Motor to the 8086 (1/2)
      13. 9.11 | Interfacing a Stepper Motor to the 8086 (2/2)
      14. 9.12 | Hex Keyboard Interfacing
      15. 9.13 | Interfacing Led Displays (1/2)
      16. 9.13 | Interfacing Led Displays (2/2)
      17. Key Points of this chapter
      18. Questions
      19. Exercises
    11. 10. Peripheral Interfacing-II
      1. 10.1 | The Programmable Interval Timer 8253/8254
      2. 10.2 | The Programmable Keyboard Display Interface – 8279 (1/3)
      3. 10.2 | The Programmable Keyboard Display Interface – 8279 (2/3)
      4. 10.2 | The Programmable Keyboard Display Interface – 8279 (3/3)
      5. 10.3 | The Programmable Interrupt Controller (PIC) 8259 (1/3)
      6. 10.3 | The Programmable Interrupt Controller (PIC) 8259 (2/3)
      7. 10.3 | The Programmable Interrupt Controller (PIC) 8259 (3/3)
      8. 10.4 | Cascade Mode
      9. Key Points of this chapter
      10. Questions
      11. Exercises
    12. 11. Peripheral Interfacing-III
      1. 11.1 | Serial Communication Principles
      2. 11.2 | Simplex, Half Duplex and Full Duplex Communication (1/2)
      3. 11.2 | Simplex, Half Duplex and Full Duplex Communication (2/2)
      4. 11.3 | The Programmable Serial Communication Interface (1/3)
      5. 11.3 | The Programmable Serial Communication Interface (2/3)
      6. 11.3 | The Programmable Serial Communication Interface (3/3)
      7. 11.4 | Internal Reset on Power Up
      8. 11.5 | Direct Memory Access
      9. 11.6 | The DMA Controller – 8237 (1/2)
      10. 11.6 | The DMA Controller – 8237 (2/2)
      11. 11.7 | DMA and IBM-PC
      12. 11.8 | PCI Based Computers
      13. Key Points of this chapter
      14. Questions
      15. Exercises
    13. 12. Semiconductor Memory Devices
      1. 12.1 | Semiconductor Memory
      2. 12.2 | Dynamic RAM
      3. 12.3 | Synchronous DRAM (SDRAM)
      4. 12.4 | ROM (Read Only Memory)
      5. 12.5 | Cache Memory
      6. 12.6 | Mapping Techniques
      7. 12.7 | Cache and the x86 Family
      8. Key Points of this chapter
      9. Questions
      10. Exercises
    14. 13. Multiprocessor Configurations
      1. 13.1 | Multiprocessor Systems
      2. 13.2 | Multiprocessing Using 8086
      3. 13.3 | The 8086 and 8089 in a Tightly Coupled Configuration
      4. 13.4 | Loosely Coupled Configurations and Bus Arbitration
      5. 13.5 | Bus Arbitration Using the 8289 Bus Arbiter IC
      6. 13.6 | The Arithmetic Coprocessor 8087 (1/3)
      7. 13.6 | The Arithmetic Coprocessor 8087 (2/3)
      8. 13.6 | The Arithmetic Coprocessor 8087 (3/3)
      9. Key Points of this chapter
      10. Questions
      11. Exercises
    15. 14. Advanced Processors - 80286 to Pentium
      1. 14.1 | The 80286 Processor
      2. 14.2 | The 80386
      3. 14.3 | Internal Architecture
      4. 14.4 | Programming Enhancements
      5. 14.5 | Hardware Features of 80386
      6. 14.6 | Virtual Memory
      7. 14.7 | Memory Management Unit (1/2)
      8. 14.7 | Memory Management Unit (2/2)
      9. 14.8 | Converting a Logical Address to a Physical Address
      10. 14.9 | Calculating the Size of the Logical Address Space
      11. 14.10 | Protection (1/2)
      12. 14.10 | Protection (2/2)
      13. 14.11 | Multi Tasking
      14. 14.12 | Interrupts of 80386
      15. 14.13 | Privileged Instructions
      16. 14.14 | Enhanced Features of 80486
      17. 14.15 | Data Alignment
      18. 14.16 | The Pentium Processor
      19. Key Points of this chapter
      20. Questions
      21. Exercises
    16. 15. Microarchitectural Techniques of Advanced Processors
      1. 15.1 | Enhancing Performance – Why Pipelining?
      2. 15.2 | Replication – The Superscalar Concept (1/4)
      3. 15.2 | Replication – The Superscalar Concept (2/4)
      4. 15.2 | Replication – The Superscalar Concept (3/4)
      5. 15.2 | Replication – The Superscalar Concept (4/4)
      6. 15.3 | Pentium Pro (P6) Architecture
      7. 15.4 | VLIW Architecture
      8. Key Points of this chapter
      9. Questions
      10. Exercises
    17. 16. Multicore Processors
      1. 16.1 | Multicore Processing – The Concepts
      2. 16.2 | Major Issues in Multicore Processing
      3. 16.3 | The x86-based Chip Multiprocessors (1/2)
      4. 16.3 | The x86-based Chip Multiprocessors (2/2)
      5. 16.4 | Conclusion
      6. Key Points of this chapter
      7. Questions
      8. Exercises
    18. 17. Beyond Pentium - More Advanced Processors
      1. 17.1 | Processors Based on the P6 Microarchitecture
      2. 17.2 | Features of Pentium Pro
      3. 17.3 | Pentium-II and Pentium-III
      4. 17.4 | Streaming SIMD Extensions (SSE)
      5. 17.5 | Pentium-IV
      6. 17.6 | The Continued Dominance of x86
      7. 17.7 | ‘Core’ Microarchitecture
      8. 17.8 | Multicore Processors
      9. 17.9 | Nehalem Microarchitecture
      10. 17.10 | Sandy Bridge and IvyBridge
      11. 17.11 | Fourth-Generation Core Processor Family
      12. 17.12 | Important Technological Features in IA Processors
      13. 17.13 | Nanometer Technology
      14. 17.14 | Difference Between Core i3, i5 and i7 Processors
      15. Key Points of this chapter
      16. Questions
      17. Exercises
    19. 18. Atom SoC-Intel's High-End Embedded Processor
      1. 18.1 | History of Intel’s Embedded Processors
      2. 18.2 | The Bonnell Microarchitecture
      3. 18.3 | The Atom SoC (1/2)
      4. 18.3 | The Atom SoC (2/2)
      5. 18.4 | Power Reduction Techniques in Processors
      6. 18.5 | Advanced Power and Configuration Interface
      7. 18.6 | The Silver Mont Micro Architecture
      8. Key Points of this chapter
      9. Questions
      10. Exercises
  10. Part - II: The 8051 Microcontroller
    1. 19. The 8051 Microcontroller: The Programmer's Perspective
      1. 19.1 | History and Family Details of 8051
      2. 19.2 | 8051: The Programmer’s Perspective
      3. 19.3 | Assembly Language Programming (1/2)
      4. 19.3 | Assembly Language Programming (2/2)
      5. 19.4 | Internal RAM
      6. 19.5 | The 8051 Stack
      7. 19.6 | Processor Status Word (PSW)
      8. 19.7 | Assembler Directives
      9. 19.8 | Storing Data in Code Memory (ROM)
      10. 19.9 | The Instruction Set of 8051 (1/3)
      11. 19.9 | The Instruction Set of 8051 (2/3)
      12. 19.9 | The Instruction Set of 8051 (3/3)
      13. 19.10 | Port Programming (1/2)
      14. 19.10 | Port Programming (2/2)
      15. 19.11 | Subroutines (Procedures)
      16. 19.12 | Delay Loops
      17. Key Points of this chapter
      18. Questions
      19. Exercises
    2. 20. Programming the Peripherals of 8051
      1. 20.1 | Pin Configuration of 8051
      2. 20.2 | Programming the Internal Peripherals
      3. 20.3 | Timers of 8051 (1/3)
      4. 20.3 | Timers of 8051 (2/3)
      5. 20.3 | Timers of 8051 (3/3)
      6. 20.4 | Counter Programming
      7. 20.5 | Interrupts of 8051 (1/2)
      8. 20.5 | Interrupts of 8051 (2/2)
      9. 20.6 | Serial Communication (1/2)
      10. 20.6 | Serial Communication (2/2)
      11. Key Points of this chapter
      12. Questions
      13. Exercises
    3. 21. Interfacing External Peripherals to the 8051
      1. 21.1 | Interfacing ADCs and DACs to 8051
      2. 21.2 | Interfacing a Digital to Analog Converter (DAC) to 8051
      3. 21.3 | Interfacing with LCD Displays
      4. 21.4 | Interfacing with Light Emitting Diode Displays
      5. 21.5 | Hex Keyboard Interfacing
      6. 21.6 | Stepper Motor Interfacing
      7. 21.7 | DC Motor Interfacing
      8. Key Points of this chapter
      9. Questions
  11. Appendix A: 8086 16-bit HMOS Microprocessor 8086/8086-2/8086-1 (1/3)
  12. Appendix A: 8086 16-bit HMOS Microprocessor 8086/8086-2/8086-1 (2/3)
  13. Appendix A: 8086 16-bit HMOS Microprocessor 8086/8086-2/8086-1 (3/3)
  14. Appendix B: Use of DOS and Debug Commands for MASM (1/2)
  15. Appendix B: Use of DOS and Debug Commands for MASM (2/2)
  16. Appendix C: Instruction Set and Instruction Timing of 8086 (1/2)
  17. Appendix C: Instruction Set and Instruction Timing of 8086 (2/2)
  18. Appendix D: List of DOS and BIOS Functions (1/2)
  19. Appendix D: List of DOS and BIOS Functions (2/2)
  20. Appendix E: 80x87 Instruction Set (x87 — Pentium) (1/2)
  21. Appendix E: 80x87 Instruction Set (x87 — Pentium) (2/2)
  22. Appendix F: The Instruction Set of 8051 (1/2)
  23. Appendix F: The Instruction Set of 8051 (2/2)
  24. Appendix G: Using the Keil μ Vision 4 Tools for 8051 (1/2)
  25. Appendix G: Using the Keil μ Vision 4 Tools for 8051 (2/2)
  26. Bibliography
  27. Index (1/4)
  28. Index (2/4)
  29. Index (3/4)
  30. Index (4/4)

Product information

  • Title: The X 86 Microprocessors: Architecture, Programming and Interfacing (8086 to Pentium) 2nd Edition by Pearson
  • Author(s): Lyla B. Das
  • Release date: May 2024
  • Publisher(s): Pearson India
  • ISBN: 9781322128481