Pentium™ Processor

Pentium™ Processor

Optimization Tools

1st Edition - October 28, 1994

Write a review

  • Author: Michael L. Schmit
  • eBook ISBN: 9781483214252

Purchase options

Purchase options
DRM-free (EPub, Mobi, PDF)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order

Description

Pentium Processor Optimization Tools covers advanced program optimization techniques for the Intel 80x86 family of chips, including the Pentium. The book starts by providing a review and history of the optimization tool. The text then discusses the 80x86 programming language; Pentium and its tools; and the superscalar Pentium programming. The operation of the floating-point unit; techniques for including assembly language routines in C or C++ programs; and the protected-mode programming are also considered. The book further tackles optimizations and code alignment; as well as the background and technical capabilities of the PowerPC vs. the Pentium and their future technical directions. Computer programmers and students taking related courses will find the book invaluable.

Table of Contents


  • Introduction

    Who Is This Book For

    What Is on the Disk

    Why Learn Assembly Language for the Pentium

    How to Proceed

    Acknowledgments

    I Review and Historical Context

    1 Number Systems

    Hex

    Signed Numbers

    Numeric Overflow

    Data Sizes

    Little Endian vs. Big Endian

    2 What is Assembly

    Introduction

    Tools and Terminology

    What Are Compilers, Interpreters and Assemblers

    3 The 8086 Family History and Architecture

    Compatibility Lessons

    Math Co-processors

    The 80286

    32-bit 80386

    RISCy 80486

    The 80586

    The Competition

    The P6

    II 80x86 Family Background

    4 8086 Architecture and Instruction Set

    8088 Architecture

    The 8088 Instruction Set

    Program Control and Branching

    Flag Manipulations

    BCD Instructions

    String Instructions

    Interrupts

    Miscellaneous Instructions

    Flag Summary

    5 Writing Beginning Programs

    What Do All Those Statements Mean

    Labels and Identifiers

    Procedures

    @Data

    Defining Data Items

    Using DOS System Functions

    The END Directive

    Memory Models

    6 Assembly Tools

    Editing

    Assembling

    Linking

    Debugging

    DEBUG32

    7 The Instruction Set Evolves: The 186 to the 386

    The Lost Brother, the 80186

    The 80286

    The 80386

    New 386 Addressing Modes

    New 386 Instructions

    Protected Mode

    III Introduction to Pentium and Tools

    8 The 80486 and Pentium

    Pentium

    Bigger Cache

    New Pentium Instructions

    Summary

    9 Superscalar Programming

    Dual Integer Pipelines

    Branch Prediction Logic

    Optimized Cycle Times

    10 Integer and Floating-Point Pipeline Operation

    The Memory Cache

    Pipelines

    Address Generation Interlock AGI)

    Paired Pipelines

    486 Pipeline Delays

    Pentium Pipeline Delays

    Pentium Floating-Point Pipeline

    FPU Pipeline Delays

    Concurrent Integer and FPU Processing

    11 Using the Pentium Optimizer Program

    How It Works

    Address Generation Interlocks

    ICE

    12 Timing with a Software Timer

    Built-in Pentium Timer

    Software Timer

    Timer Software Function Reference

    Percent Speed Changes

    IV Superscalar Pentium Programming

    13 Optimization Warm-Ups

    String Instruction Optimizations

    14 String Search and Translate

    String Search

    String Translations

    Atomic Programming

    Coding Challenge

    Reality Check

    Case-Independent String Searching

    Case-Independent String Scan

    Case-Independent String Compare

    Conclusions

    15 Checksums and Extended Precision Addition

    Step 1

    Step 2

    Step 3

    Step 4

    Step 5

    Step 6

    Coming Completely Undone

    Summary

    False Steps

    Extended Precision Addition

    V Advanced Topics

    16 Floating-Point Math

    FPU Matrix Optimizations

    Which Array Declaration Is Best

    Optimizing with Assembly

    17 Interfacing to C

    Inline Assembly

    Inline Assembly Example

    Linking Separate Modules

    Calling Conventions

    Full C-to-Assembly Templates

    Examples of Calling Assembly Routines from C

    Using the Extended PROC directive

    Fastcall

    Fastcall Registers

    Timing C Code

    18 Protected-Mode Programming

    Introduction to Protected Mode

    DPMI, DOS Protected-Mode Interface

    Protected-Mode Segments

    Converting Code to Protected Mode

    Mixed 16-Bit and 32-Bit Protected-Mode Programming

    Full Segment Definitions

    Protected Mode Timing

    32-bit Protected-Mode Code Template

    Large Data Segments

    Timing 32-Bit Code

    Cloaking Developers Toolkit

    19 Final Notes and Optimizations

    Speed vs. Code Size

    LEA, the Multi-purpose Instruction

    Code and Data Alignment

    Local Stack Variables

    Measuring and Correcting the Data Misalignment Penalty

    Code Alignment

    Further Reading

    Where We've Been

    VI PowerPC vs. Pentium 20

    20. Power PC VS. PENTIUM

    What Is RISC

    What Is CISC

    What Is RISC, Really

    Which Is Better, RISC or CISC

    Is the Pentium RISC or CISC

    Superscalar Processors

    Superscalar Techniques and Terminology

    What Is in the PowerPC

    Is the PowerPC Less Expensive

    Future Processor Designs

    Appendices

    A Instruction Set Reference

    Part I

    Part II

    B Optimization Cross-Reference by Instruction

    C Optimization Guidelines by CPU

    8088

    286

    386

    486

    Pentium

    D Simple Instructions for Pentium Pairing

    E Instruction Pairing Rules for Pentium

    F Single-Byte Instructions

    Pairable One-byte Instructions

    Non-pairable One-byte Instructions

    Prefix Bytes

    G Quick Reference for Important Instruction Timings

    Important Combinations for the Pentium

    H Undocumented Pentium Registers

    I Debug32 Command Summary

    New Instructions

    J Improving Performance

    Other Pentium-class Machines

    K Glossary of Terms

    L Products Mentioned

    Index


Product details

  • No. of pages: 406
  • Language: English
  • Copyright: © Academic Press 1994
  • Published: October 28, 1994
  • Imprint: Academic Press
  • eBook ISBN: 9781483214252

About the Author

Michael L. Schmit

Ratings and Reviews

Write a review

There are currently no reviews for "Pentium™ Processor"