Download The intel microprocessors 8th edition by barry b brey and more Thesis Design and Analysis of Algorithms in PDF only on Docsity!
THE INTEL MICROPROCESSORS
80486, Pentium, Pentium Pro Processor,
Pentium II, Pentium III, Pentium 4, and Core
with 64-Bit Extensions
Architecture, Programming, and Interfacing
Eighth Edition
BARRY B. BREY
Upper Saddle River, New Jersey
Columbus, Ohio
This text is dedicated to my progenies, Brenda (the programmer) and Gary (the veterinarian technician), and to my constant four-legged companions: Romy, Sassy, Sir Elton, Eye Envy, and Baby Hooter.
iii
This page intentionally left blank
the personal computer system buses (AGP, ISA, PCI, PCI Express, USB, serial ports, and parallel
port). Through these systems, a practical approach to microprocessor interfacing can be learned.
APPROACH
Because the Intel family of microprocessors is quite diverse, this text initially concentrates on
real mode programming, which is compatible with all versions of the Intel family of micro-
processors. Instructions for each family member, which include the 80386, 80486, Pentium,
Pentium Pro, Pentium II, Pentium III, and Pentium 4 processors, are compared and contrasted
with those for the 8086/8088 microprocessors. This entire series of microprocessors is very sim-
ilar, which allows more advanced versions and their instructions to be learned with the basic
8086/8088. Please note that the 8086/8088 are still used in embedded systems along with their
updated counterparts, the 80186/80188 and 80386EX embedded microprocessor.
This text also explains the programming and operation of the numeric coprocessor, MMX
extension, and the SIMD extension, which function in a system to provide access to floating-
point calculations that are important in control systems, video graphics, and computer-aided
design (CAD) applications. The numeric coprocessor allows a program to access complex
arithmetic operations that are otherwise difficult to achieve with normal microprocessor pro-
gramming. The MMX and SIMD instructions allow both integer and floating-point data to be
manipulated in parallel at very high speed.
This text also describes the pin-outs and function of the 8086–80486 and all versions of the
Pentium microprocessor. First, interfacing is explained using the 8086/8088 with some of the
more common peripheral components. After explaining the basics, a more advanced emphasis is
placed on the 80186/80188, 80386, 80486, and Pentium through Pentium 4 microprocessors.
Coverage of the 80286, because of its similarity to the 8086 and 80386, is minimized so the
80386, 80486, and Pentium versions can be covered in complete detail.
Through this approach, the operation of the microprocessor and programming with the
advanced family members, along with interfacing all family members, provides a working and
practical background of the Intel family of microprocessors. Upon completing a course using
this text, you will be able to:
1. Develop software to control an application interface microprocessor. Generally, the software
developed will also function on all versions of the microprocessor. This software also
includes DOS-based and Windows-based applications. The main emphasis is on developing
inline assembly and C++ mixed language programs in the Windows environment.
2. Program using MFC controls, handlers, and functions to use the keyboard, video display
system, and disk memory in assembly language and C++.
3. Develop software that uses macro sequences, procedures, conditional assembly, and flow
control assembler directives that are linked to a Visual C++ program.
4. Develop software for code conversions using lookup tables and algorithms.
5. Program the numeric coprocessor to solve complex equations.
6. Develop software for the MMX and SIMD extensions.
7. Explain the differences between the family members and highlight the features of each member.
8. Describe and use real and protected mode operation of the microprocessor.
9. Interface memory and I/O systems to the microprocessor.
10. Provide a detailed and comprehensive comparison of all family members and their software
and hardware interfaces.
11. Explain the function of the real-time operating system in an embedded application.
12. Explain the operation of disk and video systems.
13. Interface small systems to the ISA, PCI, serial ports, parallel port, and USB bus in a personal
computer system.
vi PREFACE
CONTENT OVERVIEW
Chapter 1 introduces the Intel family of microprocessors with an emphasis on the microprocessor-
based computer system: its history, operation, and the methods used to store data in a
microprocessor-based system. Number systems and conversions are also included. Chapter 2
explores the programming model of the microprocessor and system architecture. Both real and
protected mode operations are explained.
Once an understanding of the basic machine is grasped, Chapters 3 through 6 explain how
each instruction functions with the Intel family of microprocessors. As instructions are
explained, simple applications are presented to illustrate the operation of the instructions and
develop basic programming concepts.
Chapter 7 introduces the use of Visual C/C++ Express with the inline assembler and sepa-
rate assembly language programming modules. It also explains how to configure Visual C++
Express for use with assembly language applications.
After the basis for programming is developed, Chapter 8 provides applications using the
Visual C++ Express with the inline assembler program. These applications include programming
using the keyboard and mouse through message handlers in the Windows environment. Disk
files are explained using the File class, as well as keyboard and video operations on a personal
computer system through Windows. This chapter provides the tools required to develop virtually
any program on a personal computer system through the Windows environment.
Chapter 9 introduces the 8086/8088 family as a basis for learning basic memory and I/O
interfacing, which follow in later chapters. This chapter shows the buffered system as well as the
system timing.
Chapter 10 explains memory interface using both integrated decoders and programmable
logic devices using VHDL. The 8-, 16-, 32-, and 64-bit memory systems are provided so the
8086–80486 and the Pentium through Pentium 4 microprocessors can be interfaced to memory.
Chapter 11 provides a detailed look at basic I/O interfacing, including PIAs, timers, the
16550 UART, and ADC/DAC. It also describes the interface of both DC and stepper motors.
Once these basic I/O components and their interface to the microprocessor are understood,
Chapters 12 and 13 provide detail on advanced I/O techniques that include interrupts and direct
memory access (DMA). Applications include a printer interface, real-time clock, disk memory,
and video systems.
Chapter 14 details the operation and programming for the 8087–Pentium 4 family of arith-
metic coprocessors, as well as MMX and SIMD instructions. Today few applications function
efficiently without the power of the arithmetic coprocessor. Remember that all Intel micro-
processors since the 80486 contain a coprocessor; since the Pentium, an MMX unit; and since
the Pentium II, an SIMD unit.
Chapter 15 shows how to interface small systems to the personal computer through the use
of the parallel port, serial ports, and the ISA, and PCI bus interfaces.
Chapters 16 and 17 cover the advanced 80186/80188–80486 microprocessors and explore
their differences with the 8086/8088, as well as their enhancements and features. Cache memory,
interleaved memory, and burst memory are described with the 80386 and 80486 microproces-
sors. Chapter 16 also covers real-time operating systems (RTOS), and Chapter 17 also describes
memory management and memory paging.
Chapter 18 details the Pentium and Pentium Pro microprocessors. These microprocessors
are based upon the original 8086/8088.
Chapter 19 introduces the Pentium II, Pentium III, Pentium 4, and Core2 microprocessors.
It covers some of the new features, package styles, and the instructions that are added to the orig-
inal instruction set.
Appendices are included to enhance the text. Appendix A provides an abbreviated listing
of the DOS INT 21H function calls because the use of DOS has waned. It also details the use of
PREFACE vii
BRIEF CONTENTS
CHAPTER 17 THE 80386 AND 80486 MICROPROCESSORS 677
CHAPTER 18 THE PENTIUM AND PENTIUM PRO MICROPROCESSORS 729
CHAPTER 19 THE PENTIUM II, PENTIUM III, PENTIUM 4, AND CORE2 MICROPROCESSORS 759
x BRIEF CONTENTS
Basic Rules and Simple Programs 224; What Cannot Be Used from MASM Inside
Converting from Binary to ASCII 272; Converting from ASCII to Binary 274;
11–7 Summary 446 11–8 Questions and Problems 448
CHAPTER 12 INTERRUPTS 451
Introduction/Chapter Objectives 451 12–1 Basic Interrupt Processing 451 The Purpose of Interrupts 451; Interrupts 452; Interrupt Instructions: BOUND, INTO, INT, INT 3, and IRET 455; The Operation of a Real Mode Interrupt 455; Operation of a Protected Mode Interrupt 456; Interrupt Flag Bits 457; Storing an Interrupt Vector in the Vector Table 458 12–2 Hardware Interrupts 459 INTR and 461; The 82C55 Keyboard Interrupt 462 12–3 Expanding the Interrupt Structure 465 Using the 74ALS244 to Expand Interrupts 465; Daisy-Chained Interrupt 466 12–4 8259A Programmable Interrupt Controller 468 General Description of the 8259A 468; Connecting a Single 8259A 469; Cascading Multiple 8259As 469; Programming the 8259A 469; 8259A Programming Example 475 12–5 Interrupt Examples 481 Real-Time Clock 482; Interrupt-Processed Keyboard 484 12–6 Summary 487 12–7 Questions and Problems 488
CHAPTER 13 DIRECT MEMORY ACCESS AND DMA-CONTROLLED I/O 490
Introduction/Chapter Objectives 490 13–1 Basic DMA Operation 490 Basic DMA Definitions 491 13–2 The 8237 DMA Controller 492 Pin Definitions 492; Internal Registers 494; Software Commands 497; Programming the Address and Count Registers 498; The 8237 Connected to the 80X86 Microprocessor 498; Memory-to-Memory Transfer with the 8237 499; DMA-Processed Printer Interface 504 13–3 Shared-Bus Operation 506 Types of Buses Defined 507; The Bus Arbiter 509; Pin Definitions 509 13–4 Disk Memory Systems 513 Floppy Disk Memory 513; Pen Drives 517; Hard Disk Memory 518; Optical Disk Memory 521 13–5 Video Displays 522 Video Signals 522; The TTL RGB Monitor 523; The Analog RGB Monitor 524 13–6 Summary 529 13–7 Questions and Problems 529
CHAPTER 14 THE ARITHMETIC COPROCESSOR, MMX, AND SIMD TECHNOLOGIES 531
Introduction/Chapter Objectives 531 14–1 Data Formats for the Arithmetic Coprocessor 532 Signed Integers 532; Binary-Coded Decimal (BCD) 533; Floating-Point 533 14–2 The 80X87 Architecture 536 Internal Structure of the 80X87 536 14–3 Instruction Set 541 Data Transfer Instructions 541; Arithmetic Instructions 543; Comparison Instructions 544; Transcendental Operations 545; Constant Operations 546; Coprocessor Control Instructions 546; Coprocessor Instructions 548 14–4 Programming with the Arithmetic Coprocessor 565 Calculating the Area of a Circle 565; Finding the Resonant Frequency 566; Finding the Roots Using the Quadratic Equation 566; Using a Memory Array to Store Results 567; Converting a Single-Precision Floating-Point Number to a String 568
INTA
CONTENTS xv
Floating-Point Data 582; The Instruction Set 583; The Control/Status Register 584;
- CHAPTER 1 INTRODUCTION TO THE MICROPROCESSOR AND COMPUTER
- CHAPTER 2 THE MICROPROCESSOR AND ITS ARCHITECTURE
- CHAPTER 3 ADDRESSING MODES
- CHAPTER 4 DATA MOVEMENT INSTRUCTIONS
- CHAPTER 5 ARITHMETIC AND LOGIC INSTRUCTIONS
- CHAPTER 6 PROGRAM CONTROL INSTRUCTIONS
- CHAPTER 7 USING ASSEMBLY LANGUAGE WITH C/C++
- CHAPTER 8 PROGRAMMING THE MICROPROCESSOR
- CHAPTER 9 8086/8088 HARDWARE SPECIFICATIONS
- CHAPTER 10 MEMORY INTERFACE
- CHAPTER 11 BASIC I/O INTERFACE
- CHAPTER 12 INTERRUPTS
- CHAPTER 13 DIRECT MEMORY ACCESS AND DMA-CONTROLLED I/O
- CHAPTER 14 THE ARITHMETIC COPROCESSOR, MMX, AND SIMD TECHNOLOGIES
- CHAPTER 15 BUS INTERFACE
- CHAPTER 16 THE 80185, 80188, AND 80286 MICROPROCESSORS
- CHAPTER 1 INTRODUCTION TO THE MICROPROCESSOR AND COMPUTER
- Introduction/Chapter Objectives
- 1–1 A Historical Background
- The Microprocessor Age 5; The Modern Microprocessor
- 1–2 The Microprocessor-Based Personal Computer System
- The Memory and I/O System 17; The Microprocessor
- 1–3 Number Systems
- Binary-Coded Hexadecimal Digits 29; Positional Notation 30; Conversion to Decimal 31; Conversion from Decimal 32;
- 1–4 Computer Data Formats
- Word-Sized Data 40; Doubleword-Sized Data 41; Real Numbers ASCII and Unicode Data 35; BCD (Binary-Coded Decimal) Data 37; Byte-Sized Data 38;
- 1–5 Summary
- 1–6 Questions and Problems
- CHAPTER 2 THE MICROPROCESSOR AND ITS ARCHITECTURE
- Introduction/Chapter Objectives
- 2–1 Internal Microprocessor Architecture
- The Programming Model 52; Multipurpose Registers
- 2–2 Real Mode Memory Addressing
- Segment and Offset Addressing Scheme Allows Relocation Segments and Offsets 58; Default Segment and Offset Registers 60;
- 2–3 Introduction to Protected Mode Memory Addressing
- Selectors and Descriptors 63; Program-Invisible Registers
- 2–4 Memory Paging
- Paging Registers 69; The Page Directory and Page Table
- 2–5 Flat Mode Memory
- 2–6 Summary
- 2–7 Questions and Problems
- CHAPTER 3 ADDRESSING MODES
- Introduction/Chapter Objectives
- 3–1 Data-Addressing Modes
- Scaled-Index Addressing 98; RIP Relative Addressing 99; Data Structures Register Relative Addressing 93; Base Relative-Plus-Index Addressing 96;
- 3–2 Program Memory-Addressing Modes
- Indirect Program Memory Addressing Direct Program Memory Addressing 100; Relative Program Memory Addressing 101;
- 3–3 Stack Memory-Addressing Modes
- 3–4 Summary
- 3–5 Questions and Problems
- CHAPTER 4 DATA MOVEMENT INSTRUCTIONS
- Introduction/Chapter Objectives
- 4–1 MOV Revisited
- Machine Language 112; The 64-Bit Mode for the Pentium 4 and Core2
- 4–2 PUSH/POP
- PUSH 122; POP 124; Initializing the Stack
- 4–3 Load-Effective Address
- LEA 127; LDS, LES, LFS, LGS, and LSS
- 4–4 String Data Transfers
- INS 135; OUTS The Direction Flag 130; DI and SI 130; LODS 130; STOS 131; MOVS 133;
- 4–5 Miscellaneous Data Transfer Instructions
- MOVSX and MOVZX 140; BSWAP 140; CMOV XCHG 137; LANF and SAHF 137; XLAT 138; IN and OUT 138;
- 4–6 Segment Override Prefix
- 4–7 Assembler Detail
- Directives 143; Memory Organization 147; A Sample Program
- 4–8 Summary
- 4–9 Questions and Problems
- CHAPTER 5 ARITHMETIC AND LOGIC INSTRUCTIONS
- Introduction/Chapter Objectives
- 5–1 Addition, Subtraction, and Comparison
- Addition 157; Subtraction 162; Comparison
- 5–2 Multiplication and Division
- Multiplication 166; Division
- 5–3 BCD and ASCII Arithmetic
- BCD Arithmetic 172; ASCII Arithmetic
- 5–4 Basic Logic Instructions
- AND 175; OR 176; Test and Bit Test Instructions 180; NOT and NEG
- 5–5 Shift and Rotate
- Shift 182; Rotate 184; Bit Scan Instructions
- 5–6 String Comparisons
- SCAS 186; CMPS
- 5–7 Summary
- 5–8 Questions and Problems
- CHAPTER 6 PROGRAM CONTROL INSTRUCTIONS
- Introduction/Chapter Objectives
- 6–1 The Jump Group
- Unconditional Jump (JMP) 193; Conditional Jumps and Conditional Sets 198; LOOP
- 6–2 Controlling the Flow of the Program
- WHILE Loops 205; REPEAT-UNTIL Loops
- 6–3 Procedures
- CALL 209; RET
- 6–4 Introduction to Interrupts
- Interrupts in the Personal Computer 216; 64-Bit Mode Interrupts Interrupt Vectors 213; Interrupt Instructions 214; Interrupt Control 215;
- 6–5 Machine Control and Miscellaneous Instructions
- LOCK Prefix 218; ESC 218; BOUND 218; ENTER and LEAVE Controlling the Carry Flag Bit 217; WAIT 217; HLT 217; NOP 217;
- 6–6 Summary
- 6–7 Questions and Problems
- CHAPTER 7 USING ASSEMBLY LANGUAGE WITH C/C++
- Introduction/Chapter Objectives
- 7–1 Using Assembly Language with C++ for 16-Bit DOS Applications
- An Example of a Mixed-Language Program an _asm Block 226; Using Character Strings 226; Using Data Structures 227;
- 7–2 Using Assembly Language with Visual C/C++ for 32-Bit Applications
- Directly Addressing I/O Ports 233; Developing a Visual C++ Application for Windows An Example that Uses Console I/O to Access the Keyboard and Display 231;
- 7–3 Mixed Assembly and C++ Objects
- Instructions to C/C++ Programs Linking Assembly Language with Visual C++ 242; Adding New Assembly Language
- 7–4 Summary
- 7–5 Questions and Problems
- CHAPTER 8 PROGRAMMING THE MICROPROCESSOR
- Introduction/Chapter Objectives
- 8–1 Modular Programming
- The Assembler and Linker 251; PUBLIC and EXTRN 253; Libraries 254; Macros
- 8–2 Using the Keyboard and Video Display
- The Mouse Reading the Keyboard 259; Using the Video Display 265; Using a Timer in a Program 267;
- 8–3 Data Conversions
- Conversions 276; An Example Program Using a Lookup Table Displaying and Reading Hexadecimal Data 274; Using Lookup Tables for Data
- 8–4 Disk Files
- Random Access Files Disk Organization 280; File Names 281; Sequential Access Files 282;
- 8–5 Example Programs
- Time/Date Display Program 294; Numeric Sort Program 295; Data Encryption
- 8–6 Summary
- 8–7 Questions and Problems
- CHAPTER 9 8086/8088 HARDWARE SPECIFICATIONS
- Introduction/Chapter Objectives
- 9–1 Pin-Outs and the Pin Functions
- Pin Connections The Pin-Out 303; Power Supply Requirements 303; DC Characteristics 303;
- 9–2 Clock Generator (8284A)
- The 8284A Clock Generator 307; Operation of the 8284A
- 9–3 Bus Buffering and Latching
- Demultiplexing the Buses 310; The Buffered System
- 9–4 Bus Timing
- Basic Bus Operation 315; Timing in General 315; Read Timing 316; Write Timing
- 14–5 Introduction to MMX Technology
- Data Types 570; Instruction Set
- 14–6 Introduction to SSE Technology
- Programming Examples 584; Optimization
- 14–7 Summary
- 14–8 Questions and Problems
- CHAPTER 15 BUS INTERFACE
- Introduction/Chapter Objectives
- 15–1 The ISA Bus
- CHAPTER 16 THE 80186, 80188, AND 80286 MICROPROCESSORS xvi CONTENTS
- Introduction/Chapter Objectives
- 16–1 80186/80188 Architecture
- Features 629; Pin-Out 631; DC Operating Characteristics 634; 80186/80188 Timing Versions of the 80186/80188 628; 80186 Basic Block Diagram 628; 80186/80188 Basic
- 16–2 Programming the 80186/80188 Enhancements
- Timers 643; DMA Controller 649; Chip Selection Unit Peripheral Control Block 637; Interrupts in the 80186/80188 638; Interrupt Controller 638;
- 16–3 80C188EB Example Interface
- 16–4 Real-Time Operating Systems (RTOS)
- A Threaded System What Is a Real-Time Operating System (RTOS)? 662; An Example System 663;
- 16–5 Introduction to the
- Hardware Features 670; Additional Instructions 672; The Virtual Memory Machine
- 16–6 Summary
- 16–7 Questions and Problems
- CHAPTER 17 THE 80386 AND 80486 MICROPROCESSORS
- Introduction/Chapter Objectives
- 17–1 Introduction to the 80386 Microprocessor
- Signals 688; Timing 689; Wait States The Memory System 681; The Input/Output System 687; Memory and I/O Control
- 17–2 Special 80386 Registers
- Control Registers 692; Debug and Test Registers
- 17–3 80386 Memory Management
- Descriptors and Selectors 695; Descriptor Tables 698; The Task State Segment (TSS)
- 17–4 Moving to Protected Mode
- Bus Input Interface 598; The 16-Bit ISA Bus Evolution of the ISA Bus 593; The 8-Bit ISA Bus Output Interface 593; The 8-Bit ISA
- 15–2 The Peripheral Component Interconnect (PCI) Bus
- Configuration Space 605; BIOS for PCI 607; PCI Interface 610; PCI Express Bus The PCI Bus Pin-Out 603; The PCI Address/Data Connections 603;
- 15–3 The Parallel Printer Interface (LPT)
- Port Details 612; Using the Parallel Port Without ECP Support
- 15–4 The Serial COM Ports
- Communication Control
- 15–5 The Universal Serial Bus (USB)
- Software for the USBN9604/3 The Connector 617; USB Data 617; USB Commands 618; The USB Bus Node 620;
- 15–6 Accelerated Graphics Port (AGP)
- 15–7 Summary
- 15–8 Questions and Problems
- 17–5 Virtual 8086 Mode
- 17–6 The Memory Paging Mechanism
- The Page Directory 714 The Page Table
- 17–7 Introduction to the 80486 Microprocessor
- Basic 80486 Architecture 722; 80486 Memory System Pin-Out of the 80486DX and 80486SX Microprocessors 718; Pin Definitions 718;
- 17–8 Summary
- 17–9 Questions and Problems
- CHAPTER 18 THE PENTIUM AND PENTIUM PRO MICROPROCESSORS
- Introduction/Chapter Objectives
- 18–1 Introduction to the Pentium Microprocessor
- Branch Prediction Logic 738; Cache Structure 738; Superscalar Architecture The Memory System 734; Input/Output System 735; System Timing 735;
- 18–2 Special Pentium Registers
- Control Registers 738; EFLAG Register 739; Built-In Self-Test (BIST)
- 18–3 Pentium Memory Management
- Paging Unit 740; Memory-Management Mode
- 18–4 New Pentium Instructions
- 18–5 Introduction to the Pentium Pro Microprocessor
- Input/Output System 755; System Timing Internal Structure of the Pentium Pro 748; Pin Connections 750; The Memory System 754;
- 18–6 Special Pentium Pro Features
- Control Register
- 18–7 Summary
- 18–8 Questions and Problems
- CHAPTER 19 THE PENTIUM II, PENTIUM III, PENTIUM 4, AND CORE2 MICROPROCESSORS
- Introduction/Chapter Objectives
- 19–1 Introduction to the Pentium II Microprocessor
- The Memory System 765; Input/Output System 767; System Timing
- 19–2 Pentium II Software Changes
- FXSAVE and FXRSTOR Instructions CPUID Instruction 768; SYSENTER and SYSEXIT Instructions 769;
- 19–3 The Pentium III
- Chip Sets 770; Bus 771; Pin-Out
- 19–4 The Pentium 4 and Core2
- Performance-Monitoring Registers 780; 64-Bit Extension Technology Multiple Core Technology 776; CPUID 776; Model-Specific Registers 779;
- 19–5 Summary
- 19–6 Questions and Problems
- APPENDIX A: THE ASSEMBLER, VISUAL C++, AND DOS
- The Assembler
- Assembler Memory Models
- Selected DOS Function Calls
- Using Visual C++
- Create a Dialog Application
- APPENDIX B: INSTRUCTION SET SUMMARY
- Instruction Set Summary
- SIMD Instruction Set Summary
- Data Movement Instructions
- Arithmetic Instructions
- Logic Instructions
- Comparison Instructions
- Data Conversion Instructions
- APPENDIX C: FLAG-BIT CHANGES
- AND PROBLEMS APPENDIX D: ANSWERS TO SELECTED EVEN-NUMBERED QUESTIONS
- INDEX
INTRODUCTION
This chapter provides an overview of the Intel family of microprocessors. Included is a discus-
sion of the history of computers and the function of the microprocessor in the microprocessor-
based computer system. Also introduced are terms and jargon used in the computer field, so
that computerese is understood and applied when discussing microprocessors and computers.
The block diagram and a description of the function of each block detail the operation of
a computer system. Blocks, in the block diagram, show how the memory and input/output (I/O)
system of the personal computer interconnect. Detailed is the way data are stored in the mem-
ory so each data type can be used as software is developed. Numeric data are stored as integers,
floating-point, and binary-coded decimal (BCD); alphanumeric data are stored by using the
ASCII ( American Standard Code for Information Interchange ) code and the Unicode.
CHAPTER OBJECTIVES
Upon completion of this chapter, you will be able to:
1. Converse by using appropriate computer terminology such as bit, byte, data, real memory
system, protected mode memory system, Windows, DOS, I/O, and so forth.
2. Briefly detail the history of the computer and list applications performed by computer
systems.
3. Provide an overview of the various 80X86 and Pentium family members.
4. Draw the block diagram of a computer system and explain the purpose of each block.
5. Describe the function of the microprocessor and detail its basic operation.
6. Define the contents of the memory system in the personal computer.
7. Convert between binary, decimal, and hexadecimal numbers.
8. Differentiate and represent numeric and alphabetic information as integers, floating-point,
BCD, and ASCII data.
CHAPTER 1
Introduction to the Microprocessor
and Computer