The X86 Microprocessors: Architecture and Programming (8086 to Pentium), 1st Edition

Book description

The X86 Microprocessors: Architecture and Programming (8086 to Pentium) is designed for an undergraduate course on 16-bit microprocessors and Pentium.

About The Author –
Lyla B. Das is Associate Professor, Department of Electronics Engineering, National Institute of Technology Calicut (NITC), Kerala. She has a diverse mix of industrial, teaching and research experience spanning about 30 years. As a young graduate specializing in Electronics and Communications from the College of Engineering, Trivandrum, Lyla B. Das joined Keltron Controls as Deputy Engineer in 1981. Four years later, she joined NITC (then Regional Engineering College, Calicut) as lecturer 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 andinternational stature and has worked on numerous projects based on microprocessors and microcontrollers, such as microprocessor-based voting machines and microcontroller-based rail track switching system. 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.
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 Kerala.

Book Contents –
0. Basics of Computer Systems
1. The Architecture of 8086
2. Programming Concepts – I
3. Programming Concepts – II
4. Programming Concepts – III
5. Programming Concepts – IV
6. The Hardware Structure of 8086
7. Memory and I/O Decoding
8. The Interrupt Structure of 8086
9. Peripheral Interfacing – I
10. Peripheral Interfacing – II
11. Peripheral Interfacing – III
12. Semiconductor Memory Devices
13. Multiprocessor Configurations
14. 80186 – The Embedded Microprocessor
15. The 80286 and 80386 Processors
16. The Pentium Processor
17. The x86 Based Personal Computer
Appendix A, Appendix B, Appendix C, Appendix D, Appendix E, Bibliography, Index

Table of contents

  1. Cover
  2. The X86 Microprocessors
  3. Copyright
  4. Contents (1/2)
  5. Contents (2/2)
  6. Preface
  7. About the Author
  8. 0 Basics of Computer Systems
    1. 0.1 A Brief History of Microprocessors
    2. 0.2 Basics of Computer Architecture
    3. 0.3 Computer Languages
    4. 0.4 RISC and CISC Architectures
    5. 0.5 Number Systems
    6. 0.6 Number Format Conversions (1/2)
    7. 0.6 Number Format Conversions (2/2)
    8. 0.7 Computer Arithmetic (1/2)
    9. 0.7 Computer Arithmetic (2/2)
    10. 0.8 Units of Memory Capacity
    11. 0.9 The 8085 Microprocessor (1/4)
    12. 0.9 The 8085 Microprocessor (2/4)
    13. 0.9 The 8085 Microprocessor (3/4)
    14. 0.9 The 8085 Microprocessor (4/4)
    15. Key Points of this Chapter
    16. Questions
    17. Exercise
  9. 1 The Architecture of 8086
    1. 1.1 Internal Block Diagram of the 8086
    2. 1.2 The Execution Unit
    3. 1.3 Bus Interface Unit
    4. 1.4 Addressing Modes
    5. Key Points of this Chapter
    6. Questions
    7. Exercise
  10. 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. Exercise
  11. 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
    12. Key Points of this Chapter
    13. Questions
    14. Exercise
  12. 4 Programming Concepts – III
    1. 4.1 String Instructions
    2. 4.2 Procedures (1/2)
    3. 4.2 Procedures (2/2)
    4. 4.3 Macros
    5. 4.4 Number Format Conversions
    6. 4.5 ASCII Operations
    7. 4.6 Conversions for Computations and Display/Entry
    8. 4.7 Signed Number Arithmetic (1/2)
    9. 4.7 Signed Number Arithmetic (2/2)
    10. 4.8 Programming Using High Level Language Constructs
    11. Key Points of this Chapter
    12. Questions
    13. Exercise
  13. 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. Exercise
  14. 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. Exercise
  15. 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. Exercise
  16. 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 (1/2)
    8. 8.7 BIOS 10H Functions (2/2)
    9. 8.8 Addressing Video Memory Directly
    10. 8.9 Keyboard Interfacing
    11. 8.10 Hooking an Interrupt (1/2)
    12. 8.10 Hooking an Interrupt (2/2)
    13. Key Points of this Chapter
    14. Questions
    15. Exercise
  17. 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. Exercise
  18. 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. Exercise
  19. 11 Peripheral Interfacing – III
    1. 11.1 Serial Communication Principles
    2. 11.2 Simplex, Half Duplex and Full Duplex Communication
    3. 11.3 The Programmable Serial Communication Interface (1/3)
    4. 11.3 The Programmable Serial Communication Interface (2/3)
    5. 11.3 The Programmable Serial Communication Interface (3/3)
    6. 11.4 Internal Reset on Power Up
    7. 11.5 Direct Memory Access
    8. 11.6 The DMA Controller – 8237 (1/2)
    9. 11.6 The DMA Controller – 8237 (2/2)
    10. 11.7 DMA and IBM-PC
    11. 11.8 PCI Based Computers
    12. Key Points of this Chapter
    13. Questions
    14. Exercise
  20. 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. Exercise
  21. 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 Co-Processor 8087 (1/3)
    7. 13.6 The Arithmetic Co-Processor 8087 (2/3)
    8. 13.6 The Arithmetic Co-Processor 8087 (3/3)
    9. Key Points of this Chapter
    10. Questions
    11. Exercise
  22. 14 80186 – The Embedded Microprocessor
    1. 14.1 Additions in the Instruction Set
    2. 14.2 Instruction Set Enhancements
    3. 14.3 Block Diagram of the 80186
    4. 14.4 Programming the Timer Unit
    5. 14.5 Programming
    6. Key Points of this Chapter
    7. Questions
    8. Exercise
  23. 15 The 80286 and 80386 Processors
    1. 15.1 The 80286 Processor
    2. 15.2 The 80386
    3. 15.3 Internal Architecture
    4. 15.4 Programming Enhancements
    5. 15.5 Hardware Features of 80386
    6. 15.6 Virtual Memory
    7. 15.7 Memory Management Unit (1/2)
    8. 15.7 Memory Management Unit (2/2)
    9. 15.8 Converting a Logical Address to a Physical Address
    10. 15.9 Calculating the size of the Logical Address Space
    11. 15.10 Protection (1/2)
    12. 15.10 Protection (2/2)
    13. 15.11 Multi Tasking
    14. 15.12 Interrupts of 80386
    15. 15.13 Privileged Instructions
    16. 15.14 Conclusion
    17. Key Points of this Chapter
    18. Questions
    19. Exercise
  24. 16 The Pentium Processor
    1. 16.1 The Enhanced Features of 80486
    2. 16.2 Data Alignment
    3. 16.3 The Pentium Processor
    4. 16.4 Pentium Pro
    5. 16.5 Pentium-II And Pentium-III
    6. 16.6 Pentium-IV
    7. 16.7 Latest Trends in Microprocessor Design
    8. 16.8 Multi-Core Technology and Intel
    9. 16.9 Mobile Processors
    10. 16.10 Legacy Support
    11. Key Points of this Chapter
    12. Questions
    13. Exercise
  25. 17 The x86 Based Personal Computer
    1. 17.1 The Modern PC
    2. 17.2 The Mother Board
    3. 17.3 Chipset
    4. 17.4 Transfer Speed
    5. 17.5 Expansion Buses
    6. 17.6 ATA
    7. 17.7 Memory – SIMM and DIMM
    8. 17.8 System BIOS
    9. 17.9 New Motherboards
    10. 17.10 Other I/O Devices
    11. 17.11 PS/2
    12. 17.12 Form Factors
    13. 17.13 Laptops
    14. Key Points of this Chapter
    15. Questions
    16. Exercise
  26. Appendix A (1/3)
  27. Appendix A (2/3)
  28. Appendix A (3/3)
  29. Appendix B (1/2)
  30. Appendix B (2/2)
  31. Appendix C (1/2)
  32. Appendix C (2/2)
  33. Appendix D (1/2)
  34. Appendix D (2/2)
  35. Appendix E (1/2)
  36. Appendix E (2/2)
  37. Bibliography
  38. Index (1/2)
  39. Index (2/2)

Product information

  • Title: The X86 Microprocessors: Architecture and Programming (8086 to Pentium), 1st Edition
  • Author(s): Lyla B. Das
  • Release date: May 2024
  • Publisher(s): Pearson India
  • ISBN: 9781282663169