Introduction to Microprocessors and Microcomputer-Based Applications |
|
Evolution of the Microprocessor |
|
Microprocessor Data Types |
|
Unsigned and Signed Binary Types |
|
BCD (Binary Coded Decimal) Numbers |
|
ASCII |
|
Floating-Point Numbers |
|
Microcomputer Hardware |
|
The System Bus |
|
The Microprocessor |
|
Memory Organization |
|
Input/Output (I/O) |
|
Microcomputer System Software and Programming Concepts |
|
System Software |
|
Programming Concepts |
|
Typical Microcomputer Addressing Modes and Instructions |
|
Introduction |
|
Addressing Modes |
|
Instruction Types |
|
Basic Features of Microcomputer Development Systems |
|
System Development Flowchart |
|
Software Development |
|
Hardware Development |
|
Typical Microprocessors |
|
Typical Practical Applications |
|
Personal Workstations |
|
Fault-Tolerant Systems |
|
Real-Time Controllers |
|
Robotics |
|
Embedded Control |
|
Questions and Problems |
|
Intel 8085 |
|
Introduction |
|
Register Architecture |
|
Memory Addressing |
|
8085 Addressing Modes |
|
8085 Instruction Set |
|
Timing Methods |
|
8085 Pins and Signals |
|
8085 Instruction Timing and Execution |
|
Basic System Timing |
|
8085 Memory Read I/O Read |
|
8085 Memory Write and I/O Write |
|
8085 Input/Output (I/O) |
|
8085 Programmed I/O |
|
8085 Interrupt System |
|
8085 DMA |
|
8085 SID and SOD Lines |
|
8085-Based System Design |
|
Questions and Problems |
|
Intel 8086 |
|
Introduction |
|
8086 Architecture |
|
8086 Addressing Modes |
|
Addressing Modes for Accessing Immediate and Register Data (Register and Immediate Modes) |
|
Addressing Modes for Accessing Data in Memory (Memory Modes) |
|
Addressing Modes for Accessing I/O Ports (I/O Modes) |
|
Relative Addressing Mode |
|
Implied Addressing Mode |
|
8086 Instruction Set |
|
8086 Assembler-Dependent Instructions |
|
ASM-86 Assembler Directives |
|
Segment and Ends |
|
Assume Directive |
|
DUP Directive |
|
System Design Using the 8086 |
|
Pins and Signals |
|
8086 Basic System Concepts |
|
Interfacing with Memories |
|
8086 Programmed I/O |
|
8086-Based Microcomputer |
|
8086 Interrupt System |
|
Predefined Interrupts (0 to 4) |
|
User-Defined Software Interrupts |
|
User-Defined Hardware |
|
8086 DMA |
|
Questions and Problems |
|
Intel 80186/80286/80386 |
|
Intel 80186 and 80286 |
|
Intel 80186 |
|
Intel 80286 |
|
Intel 80386 |
|
Basic 80386 Programming Model |
|
80386 Instruction Set |
|
Memory Organization |
|
I/O Space |
|
80386 Interrupts |
|
80386 Reset and Initialization |
|
Testability |
|
Debugging |
|
80386 Pins and Signals |
|
80386 Bus Transfer Technique |
|
80386 Read and Write Cycles |
|
80386 Modes |
|
80386 System Design |
|
80386 Memory Interface |
|
80386 I/O |
|
Coprocessor Interface |
|
Coprocessor Hardware Concepts |
|
Coprocessor Registers |
|
Coprocessor Instructions |
|
Questions and Problems |
|
Motorola MC68000 |
|
Introduction |
|
68000 Programming Model |
|
68000 Addressing Structure |
|
68000 Addressing Modes |
|
Register Direct Addressing |
|
Address Register Indirect Addressing |
|
Absolute Addressing |
|
Program Counter Relative Addressing |
|
Immediate Data Addressing Mode |
|
Implied Addressing |
|
68000 Instruction Set |
|
Data Movement Instructions |
|
Arithmetic Instructions |
|
Logical Instructions |
|
Shift and Rotate Instructions |
|
Bit Manipulation Instructions |
|
Binary-Coded Decimal Instructions |
|
Program Control Instructions |
|
System Control Instructions |
|
68000 Stacks |
|
68000 Pins and Signals |
|
Synchronous and Asynchronous Control Lines |
|
System Control Lines |
|
Interrupt Control Lines |
|
DMA Control Lines |
|
Status Lines |
|
68000 System Diagram |
|
Timing Diagrams |
|
68000 Memory Interface |
|
68000 Programmed I/O |
|
68000-6821 Interface |
|
Motorola 68000-6821 Interface |
|
68000/2716/6116/6821-Based Microcomputer |
|
68000 Interrupt I/O |
|
External Interrupts |
|
Internal Interrupts |
|
68000 Exception Map |
|
68000 Interrupt Address Vector |
|
An Example of Autovector and Nonautovector Interrupts |
|
68000 DMA |
|
68000 Exception Handling |
|
Multiprocessing with the 68000 Using the TAS Instruction and as Signal |
|
Questions and Problems |
|
Motorola MC68020 |
|
Introduction |
|
Programming Model |
|
Data Types, Organization, and CPU Space Cycle |
|
MC68020 Addressing Modes |
|
68020 Instructions |
|
68020 Advanced Instructions |
|
MC68020 Cache/Pipelined Architecture and Operation |
|
MC68020 Virtual Memory |
|
MC68020 Coprocessor Interface |
|
MC68020 Pins and Signals |
|
MC68020 Timing Diagrams |
|
Exception Processing |
|
MC68020 System Design |
|
Questions and Problems |
|
Motorola MC68030/MC68040, Intel 80486, and Pentium Microprocessors |
|
Motorola MC68030 |
|
MC68030 Block Diagram |
|
MC68030 Programming Model |
|
MC68030 Data Types, Addressing Modes, and Instructions |
|
MC68030 Cache |
|
68030 Pins and Signals |
|
MC68030 Read and Write Timing Diagrams |
|
MC68030 On-Chip Memory Management Units |
|
MC68040 |
|
Introduction |
|
Register Architecture/Addressing Modes |
|
Instruction Set/Data Types |
|
68040 Processor Block Diagram |
|
68040 Memory Management |
|
Discussion and Conclusion |
|
Intel 80486 Microprocessor |
|
Intel 80486/80386 Comparison |
|
Special Features of the 80486 |
|
80486 New Instructions Beyond Those of the 80386 |
|
Intel Pentium Microprocessor |
|
Pentium Processor Block Diagram |
|
Pentium Registers |
|
Pentium Addressing Modes and Instructions |
|
Pentium Vs. 80486 Basic Differences in Registers, Paging, Stack Operations, and Exceptions |
|
Input/Output |
|
Applications with the Pentium |
|
Questions and Problems |
|
RISC Microprocessors: Intel 80960, Motorola MC88100, and PowerPC |
|
Basics of RISC |
|
Intel 80960 |
|
Introduction |
|
Key Performance Features |
|
80960SA/SB Registers |
|
Data Types and Addresses |
|
80960SA/SB Instruction Set |
|
80960SA/SB Pins and Signals |
|
Basic Read and Write |
|
80960SA/SB-Based Microcomputer |
|
Motorola MC88100 RISC Microprocessor |
|
88100/88200 Interface |
|
88100 Registers |
|
88100 Data Types, Addressing Modes, and Instructions |
|
88100 Pins and Signals |
|
88100 Exception Processing |
|
IBM/Motorola PowerPC |
|
PowerPC 601 Block Diagram |
|
Byte and Bit Ordering |
|
PowerPC Registers and Programming Model |
|
PowerPC 601 Memory Addressing: Effective Address Calculation |
|
PowerPC 601 Typical Instructions |
|
PowerPC 601 Exception Model |
|
601 System Interface |
|
PowerPC 601 Vs. Alpha 21064 |
|
Questions and Problems |
|
Peripheral Interfacing |
|
Keyboard Interface |
|
Basics of Keyboard and Display Interface to a Microprocessor |
|
8086 Keyboard Interface |
|
DMA Controllers |
|
Printer Interface |
|
LRC7040 Printer Interface Using Direct Microcomputer Control |
|
LRC7040 Printer Interface to a Microcomputer Using the 8295 Printer Controller Chip |
|
CRT (Cathode Ray Tube) Controller and Graphics Controller Chips |
|
CRT Fundamentals |
|
Intel 8275 CRT Controller |
|
Intel 82786 Graphics Controller |
|
Coprocessors |
|
Intel 8087 |
|
Intel 80287 |
|
Intel 80387 |
|
Questions and Problems |
|
Design Problems |
|
Design Problem No. 1 |
|
Problem Statement |
|
Objective |
|
Operation |
|
Hardware |
|
Software |
|
Design Problem No. 2 |
|
Display Scroller Using the Intel 8086 |
|
Design Problem No. 3 |
|
Problem Statement |
|
Solution No. 1 |
|
Solution No. 2 |
|
Questions and Problems |
|
Appendices |
|
HP 64000 |
|
Motorola MC68000 and Support Chips-Data Sheets |
|
Intel 8085, 8086, and Support Chips-Data Sheets |
|
MC68000 Instruction Execution Times |
|
8086 Instruction Set Reference Data |
|
Glossary |
|
Bibliography |
|